PieceOfMind's Advanced Combat Odds

That makes sense. I have been playing Civ forever, but I think I need to take a closer look at the unit promotions. I never thought about that it could work like this. Thank you for your quick replies!
 
By the way, does anyone know where I can find that discussion on combat vs CR? and also, is there a list somewhere that shows how the different promotions really work in terms of affecting the odds?
 
By the way, does anyone know where I can find that discussion on combat vs CR? and also, is there a list somewhere that shows how the different promotions really work in terms of affecting the odds?

All promotions except the combat promotion of the attacker affect the total bonus of the defender.

The break even point between the combat promotion and the city raider promotion would have been at 220% defence bonus for the defender in the case of city raider 1 vs combat 1. Other cases where city raider II is comparable to combat II are exceedingly rare.

In this specific example, the cover promotion would have been best. But of course, the city raider promotion line is more attractive in the long run.
 
Even with this in play, I tend to favor CR1 because I want to build up an army of CR3 maces to go against the longbows later. I don't mind losing an axe or two in the process. Does this make sense, or am I acting based on gut rather than logic?
 
@Emperor Fool:
For what it's worth, I agree. I usually just go for the CR line if the unit is for city attacking, because the long term promo benifit would pay off. Though in this case, if I had an unpromoted Axe, and knew the difference it combat odds, I'd promote this axe with combat, because you're looking at nearly 50% greater survival odds. That's alot...

By the way, does anyone know where I can find that discussion on combat vs CR? and also, is there a list somewhere that shows how the different promotions really work in terms of affecting the odds?

Not exactly what you are asking for, but along the same lines:

PieceofMind's Combat vs Drill Thread: With Graphs
 
As I already mentioned in the last sentence of my previous post, I also prefer the city raider promotions for units dedicated to city attacking. However, I usually just give my siege units this promotion as after they're done with a city, any unit can finish the job. So I use city raider siege units and stack defenders. The stack defenders can also finish off weakened city defenders.

In the very early game, you don't have any siege units, so you'll have to make do with normal units with city raider promotions. However a stack also needs some stack defence units and these need promotions like combat and anti-melee/ranged/mounted promotions. So using the combat axeman so that you can promote it in that direction can be very efficient. It will become a better city attacker (combat + cover or combat II) for these tough city defenders and at the same time can become an excellent stack defender.

Note that both the combat axeman and the city raider axeman are very likely to lose, so talking about which way you'd want to promote them after they've won the battle is quite wishful thinking. ;) These battles are not the typical battles that will get you city raider III units. And if you were to win them and get the city raider III promotion, then even they would regularly lose battles against archers such as these.

I would pick the combat axeman because it has the best chance to weaken the defender for the next attacker (which could be a city raider unit). If it were to win, I'd make it into an excellent stack defender and a good city attacker against these tough archers.
 
I just read this entire thread and it makes me look even more forward to BULL coming out. But I also wanted to randomly note that I arrived at this thread by using the Firefox StumbleUpon extension, which sends you to random websites. Someone added this thread to the Stumble database. :D:goodjob:
 
Yeah pretty much the entire development of this mod is revealed in this thread. Must have taken a while for you to read it all!:O

As for it being in the StumbleUpon thing, I don't know what to say! Cool, I guess...

I'm already using BULL as it already has ACO in it.
 
Yeah pretty much the entire development of this mod is revealed in this thread. Must have taken a while for you to read it all!:O

Well, I had chores I was supposed to do tonight, so procrastinating by reading it all was really not so difficult... ;)

(Yes, they got done too, as it turns out.)
 
What do people think of this?

The defender unit info is now shown before the combat modifiers.



Now when you have are attacking a tile where you have a spy sitting already, you don't have to guess what the defending unit is!

Any feedback on whether something should be changed here? Otherwise I'll release v1.1 soon, with this feature the main addition.
 

Attachments

  • new unit help.jpg
    new unit help.jpg
    89.6 KB · Views: 168
Make the "Archer" text red so it's obvious it's the defending unit. Only thing I can think of.
 
Does it only show when you have a Spy there? I would really like to see this every time. If you're concerned about space, you could make it a separate option or I suppose do as you said originally and only show it under everything detail. I would rather not have that be required, though.

Make the "Archer" text red so it's obvious it's the defending unit. Only thing I can think of.

This would not be a trivial change if it's implemented by calling setUnitHelp(). PoM would have to change the parameter list for setUnitHelp(), but since it's an exported function, it would require a new function. This can be done, but I don't know that it's really worth it. Red text is harder to read anyway, so I prefer it for just the numbers. I don't think anyone will confuse it with yellow-for-retreat.
 
Actually, this would be the best way graphically to display it:

X.xx vs Y.yy
Attacking Unit info you add (with the unit text in green, instead of yellow)
Attacking unit modifier stuff
Defending unit info you add (with the unit text in red, instead of yellow)
Defending unit modifier stuff


I think that'll provide the best visual look, and be very clear.

Edit:
This would not be a trivial change if it's implemented by calling setUnitHelp(). PoM would have to change the parameter list for setUnitHelp(), but since it's an exported function, it would require a new function. This can be done, but I don't know that it's really worth it. Red text is harder to read anyway, so I prefer it for just the numbers. I don't think anyone will confuse it with yellow-for-retreat.
If this is true ignore the text color for the unit then, but I think the order above will convey the info fine, and be an intuitive way to display the information.
 
All I did was insert the code...

Code:
szString.append(NEWLINE);
                    setUnitHelp(szString, pDefender, true, true);

as per EF's suggestion. So obviously it shows all the time.

I'm not sure how to make the text red without having to go and do each part separately. EF?

Personally I don't see a problem with it being yellow. The actual colour of the civ (in this case barbarian is grey) is shown anyway so it should always be clear who owns the unit.

I thought that since it looks fairly good it would be worth keeping at every detail setting, or at least from medium and higher. When you hover over the unit, the unit's info disappears so even being able to see the promos rather than having to decipher them from the numbers is nice.
 
You'd need to add a boolean parameter to setUnitHelp() to tell it to use red instead of yellow. But as I said, since it's exported you'd need to create a second function that contains all of the setUnitHelp() code and this new parameter and make the body of the original function merely call the new function with false for that new parameter.

I still prefer it yellow to match the unit hover and for readability.

Can you please post the few lines above and below where you added it so I can easily put this into BULL? Have there been any other changes since 1.0?
 
I still prefer it yellow to match the unit hover and for readability.

Can you please post the few lines above and below where you added it so I can easily put this into BULL? Have there been any other changes since 1.0?

You sure you don't want to see what this looks like first:
X.xx vs Y.yy
Attacking Unit info you add (with the unit text in green, instead of yellow)
Attacking unit modifier stuff
Defending unit info you add (with the unit text in red, instead of yellow)
Defending unit modifier stuff
 
You'd need to add a boolean parameter to setUnitHelp() to tell it to use red instead of yellow. But as I said, since it's exported you'd need to create a second function that contains all of the setUnitHelp() code and this new parameter and make the body of the original function merely call the new function with false for that new parameter.

I still prefer it yellow to match the unit hover and for readability.

Can you please post the few lines above and below where you added it so I can easily put this into BULL? Have there been any other changes since 1.0?

It's at the very end of my code in CvGameTxtMgr.cpp.

i.e.



Code:
if(iDetail<3) {szTempBuffer.Format(SETCOLR L"Press SHIFT for more detail.\n" ENDCOLR,
                                TEXT_COLOR("COLOR_GREY"))
                                ;szString.append(szTempBuffer.GetCString());}

                    [B]szString.append(NEWLINE);
                    setUnitHelp(szString, pDefender, true, true);[/B]



}//if ACO_enabled

That is really the only thing different in v1.1 so far.



You sure you don't want to see what this looks like first:
X.xx vs Y.yy
Attacking Unit info you add (with the unit text in green, instead of yellow)
Attacking unit modifier stuff
Defending unit info you add (with the unit text in red, instead of yellow)
Defending unit modifier stuff

I guess I'd like to see what that looks like but I don't even know where to begin. Well, I think I can work out where I would insert the code for each of those but not what the code would be. :blush:
 
Wouldn't it just be:

szString.append(NEWLINE);
setUnitHelp(szString, pAttacker, true, true);
&
szString.append(NEWLINE);
setUnitHelp(szString, pDefender, true, true);

In the right spots? I mean forget the color changes, it'll be clear by position anyway.
 
Ok here's what it looks like if I did it that way...



I think we'd need to think of a few ways to tidy it up before something like this was implemented.

Anyway, I'm going to be a way for a bit. I might be able to work on this again tomorrow.
 

Attachments

  • another unit help idea.PNG
    another unit help idea.PNG
    41.8 KB · Views: 165
Top Bottom