Possibly controversial change I plan to make

When combat won, check unit script data.
If empty or not = game turn, heal and set script data to game turn.
Else, if script data = game turn, don't heal.
Tada

Sounds perfect - thanks, I'll do it that way :)
 
@Koshling

It would be perfect to have entire super forts merged not only AI code.
 
Ok, update on this. The analysis was slightly off, and the battlefield promotion are only somewhat contributory but are NOT (by far the main cause).

Firstly - battlefield promotions do NOT heal (directly). However, they can provide strength increases which has a similar effect. I'd still like to defer them to the end of combat, but it isn't the main issue in Faustmouse's game.

If a hero has the 'Retinue' promotion he will get a chance of a full heal for every combat he survives. This isn't the case here, but it would have a similar effect. It's probably too powerful. For my suggested solution see later.

If a player has built the Temple of Ah Cacao (which Faustmouse HAS, and this IS the main issue) then every time ANY of that player's units wins a combat they have a 1 in 4 chance to fully heal. This essentially makes a well fortified strong unit totally invulnerable. It is the main cause of the problem in the save game I have.

I propose to modify BOTH of the above mechanics (Temple Wonder and Retinue promotion) so that they can only operate ONCE in any given game turn on any given unit.

How does that sound to people?

Note - both of these are implemented in Python, which I'm not very familiar with, but I think I can figure out how to do it.

Well spotted and FWIW I totally agree with these fixes to Ah Cacao and Retinue. Not sure how Apprentice(?) Heroic promo works that gives a big chance to survive losing a battle. Ie. do you survive in place and with how many of your hit points left?

I would like battlefield promos to stay as is. It's not the general rushing out to give a promo - it's the unit learning something from the way the battle went. And the only difference it will make to those annoying promos after the unit is dead is it won't tell you about them. You'll still be missing out on them.

Don't you only get battlefield promos when there was a significant risk of you losing? There should be virtually no chance of getting one when your odds of losing are 10% or less. If the chance was say the square of the probability of losing, then you would be (statistically!:crazyeye:) more likely to die before you got one. I think you've established that the problem was really caused more by Ah Cacao.
 
I was about to mention that battlefield promos don't heal the unit (and some further points Yudishtira made as well) but y'all have figured out the real issue. And I do fully back the tweaks planned there.

Nimek made mention of one way the Combat Mod would help with this situation but there's also a few others. For example, Knockback could uproot the fortification defense bonuses being employed by the defenders. Overrun could ignore the fortification bonuses. Stronger S&D. Poisoning attacks from those who would then flee with most of their HP in tact with early withdrawal. Attackers spreading disease to the stack then stepping back and watching it spread to other defenders fortified in the stack. And yes, the default of defenders growing weaker after each battle due to fatigue (though this isn't the BEST example as some defenders may find themselves able to strengthen due to the invigoration of repetitive success and ultimate determination.)

Also, couldn't/shouldn't bombardment units have targeted the fort itself for destruction? Then wait a round thereafter or simply move around these defenders once the ZOC was down?
 
Also, couldn't/shouldn't bombardment units have targeted the fort itself for destruction?

Thats why we need super forts integration. In that modcomp forts acts as city and their defenses can be reduced by siege units
 
Thats why we need super forts integration. In that modcomp forts acts as city and their defenses can be reduced by siege units

Right. Currently you cannot bombard forts (or rather it just counts as field bombard against the units, and can only b done by units with that capability). Also I **have** changed it to do whatever it can in this regard first (archer bombard and field bombard to be precise)
 
Right. Currently you cannot bombard forts (or rather it just counts as field bombard against the units, and can only b done by units with that capability). Also I **have** changed it to do whatever it can in this regard first (archer bombard and field bombard to be precise)

So the Archery Bombardment is working "correctly" now??
 
So the Archery Bombardment is working "correctly" now??

I haven't changed how it works, I've just made the AI stop and use it when it needs to. Obviously that will only apply if its on as a BUG option.
 
I haven't changed how it works, I've just made the AI stop and use it when it needs to. Obviously that will only apply if its on as a BUG option.

Good to know, thx/ .. .. But word of advise it does NOT work correctly, when the AI try to take a city it does the Archery stuff first then just sits there . .
 
Good to know, thx/ .. .. But word of advise it does NOT work correctly, when the AI try to take a city it does the Archery stuff first then just sits there . .

Got a save that illustrates that? Sounds like it needs fixing
 
Well, this has been something of a saga. I'm about to push my final set of changes, but the end result is still not what I was originally expecting.

First off, even after I fixed the multiple-auto-heals to happen at most once per turn per unit, and regardless of battlefield promotions (which I have left as they were for now, since they didn't eventually make a qualative difference), I found the AI super-stack STILL could not get through the garrisoned fort.

Further detailed stepping through code and following the combat through in the debugger lead me to the conclusion that is was 'legitimate' for the current way combat mechanics work. The most important reason was down to first strikes. Both the main defending units (a warlord commander and a hero) have quite a few first strikes. Most of the attackers have none. Since the defenders are also about twice the strength of the attackers (and in good defensive positions in a fort) the result is that the free rounds they get at the start of EACH combat is enough to reduce the attacker strength so that by the time it gets the occasional round in, its hardly strong enough to do any damage.

I'm not 100% happy with his, but I DO now believe it is 'correct' for the way first strikes are currently meant to operate.

I believe TB is planning to add a concept of 'fatigue' via the combat mod, so that units forced to fight many times in the same turn will suffer a penalty as they go. That would address this issue.

If that is not the case (or we wanted to do something more urgently) I think another reasonable possibility would be to have the first strike rounds only apply once per (stack) attack, instead of once per combat. In reality if you have 20 attackers on one defender they don't form an orderly line and attack one at a time, giving the defender time to prepare for each of them. First strikes generally represent a degree of preparedness on entering the fight, so to me it seems like only having it apply at the start, rather than for each attacker in turn would make sense. The practical effect would be to make first strikes a lot less valuable when defending against larger stacks (because you'd use them up in the initial attacks and not have them when attacked by later units).
 
I deleted the savegame, but if you could upload it for me again, I will change my defenders to units with approximate the same strengh but without firststrikes. Then you can see if the FS are the problem or if it's something else.
 
If that is not the case (or we wanted to do something more urgently) I think another reasonable possibility would be to have the first strike rounds only apply once per (stack) attack, instead of once per combat. In reality if you have 20 attackers on one defender they don't form an orderly line and attack one at a time, giving the defender time to prepare for each of them. First strikes generally represent a degree of preparedness on entering the fight, so to me it seems like only having it apply at the start, rather than for each attacker in turn would make sense. The practical effect would be to make first strikes a lot less valuable when defending against larger stacks (because you'd use them up in the initial attacks and not have them when attacked by later units).

As an adjustment, may I suggest that the 2nd round only gets GUARANTEED first strikes, and third+ round gets none? Getting rid of it alltogether past the first attack is a bit harsh, and wouldn't be obvious at all to the player.

EDIT: As an alternative, maybe you could limit FS to once per combat, up to the FS number per turn. So a unit with 2-3 First Strikes would have guaranteed 1 First Strike for the first two fights, has to roll on the 3rd and never gets a 4th. This may also help balance out first strikes as they are.
 
I'm not sure Koshling, that might neuter FS too much. At that point you'd be better off with just plain combat I - VI promos instead of Drill.

How about loosing 1 (or 2) FS for each attack the unit has suffered? That way a unit built on having a lot of them will slowly weaken but won't suddenly have all of its promos go ineffective.
 
As discussed elsewhere, a far more complex yet rational First Strike mechanism is in the works. Currently its both too powerful and not powerful enough all in many of the wrong ways. There's no way to gradually counter first strikes only be immune which is as you can see a horrendously ridiculously strong ability that is under-evaluated by all accounts. It's too easy to amass a lot of first strikes yet perhaps most disturbing is that there are so many rationales for what a first strike is that it makes it tough to break it down and make it a rational system.

Plans are in place to resolve this but will take me a bit to get setup.

The limitations you're suggesting sound somewhat reasonable... In addition to what you're saying there, I also had an idea of ammo - and the ammo wouldn't (easily/usually) recover in a given game turn making there an ultimate limitation on how many first strikes could be delivered by one unit in a given turn - ends up being very similar actually - but only really applies in distance First Strike rationales. Stealth FS rationales would have other limiting factors and generally would be tough to have apply on defense anyhow and would probably only come into play on the first defense if at all. So yeah, I know things are a little imbalanced with FS right now but eventually it should work out. Sometimes a bigger concept takes some awkward growth stages to reach maturity but must go through them because not everything can be done all at once... kinda like a person going through puberty no? lol.

Anyhow, I agree with your analysis Koshling - be patient with me... my work is eating a lot of my time right now but I'll get there.
 
When combat won, check unit script data.
If empty or not = game turn, heal and set script data to game turn.
Else, if script data = game turn, don't heal.
Tada

Sounds perfect - thanks, I'll do it that way :)
Mind that script data should not be altered directly but the SdToolKit functions used instead (which make sure that you can have multiple values from multiple modules stored in the same script data).

Edit: Never mind. You did that.
 
@KOshling

1 Afer your changes archery units are unable to preform normal attack. Even when I try to move them to enemy unit they use ranged bombardment. Latest svn

2 Off topic. Does AI 'knows' that some minor buildings unlocks very powerfull es stone gatherer -> stone tool maker, knowledge inheritance -> elder council, gamecutter -> jevelery store etc. It is very important to take it in account in choosing rutine.
 
I deleted the savegame, but if you could upload it for me again, I will change my defenders to units with approximate the same strengh but without firststrikes. Then you can see if the FS are the problem or if it's something else.

Here it is.
Edit - bah quota exceeded...hang on...

Edit 2 - ok, now here it is!
 

Attachments

@KOshling

1 Afer your changes archery units are unable to preform normal attack. Even when I try to move them to enemy unit they use ranged bombardment. Latest svn
Whoops! I'll fix that today.

2 Off topic. Does AI 'knows' that some minor buildings unlocks very powerfull es stone gatherer -> stone tool maker, knowledge inheritance -> elder council, gamecutter -> jevelery store etc. It is very important to take it in account in choosing routine.
Yes, it does.
 
Back
Top Bottom