Okay, this is far from ideal, and there are some consequences, but I'll throw it out there:
Add these triggers to the bottom of export_descr_character_traits.txt:
Edit: needs to be 2 withdrawals, or if you autocalc a battle after an army retreats, the AI general will get no traits.
My custom traits:
Code:
;------------------------------------------
Trait DoubleCombat1
$ Characters family
$ Hidden
$ AntiTraits AntiDoubleCombat1
$
$ Level DoubleCombat1
$ Description DoubleCombat1_desc
$ EffectsDescription DoubleCombat1_effects_desc
$ Threshold 1
$
$ Level DoubleCombat2
$ Description DoubleCombat1_desc
$ EffectsDescription DoubleCombat1_effects_desc
$ Threshold 2
$
$
;------------------------------------------
Trait AntiDoubleCombat1
$ Characters family
$ Hidden
$ AntiTraits DoubleCombat1
$
$ Level AntiDoubleCombat1
$ Description AntiDoubleCombat1_desc
$ EffectsDescription AntiDoubleCombat1_effects_desc
$ Threshold 1
$
$ Level AntiDoubleCombat2
$ Description AntiDoubleCombat1_desc
$ EffectsDescription AntiDoubleCombat1_effects_desc
$ Threshold 2
My additions to RTW/data/text/export_VnVs.txt:
Code:
¬--------------------
{DoubleCombat1} DoubleCombat1
{DoubleCombat1_desc}
Hidden VnV to stop double trait bug
{DoubleCombat1_effects_desc}
No Effects
¬--------------------
{AntiDoubleCombat1} AntiDoubleCombat1
{AntiDoubleCombat1_desc}
Hidden AntiVnV to stop double trait bug
{AntiDoubleCombat1_effects_desc}
No Effects
Add these triggers to the bottom of export_descr_character_traits.txt:
Code:
;------------------------------------------
Trigger Player marks start of battlemap
$ WhenToTest PreBattleWithdrawal
$
$ Condition IsGeneral
$ and Trait DoubleCombat1 < 2
$
$ Affects DoubleCombat1 1 Chance 100
$
;------------------------------------------
Trigger Remove marker after battle
$ WhenToTest PostBattle
$
$ Condition IsGeneral
$ and Trait DoubleCombat1 = 2
$
$ Affects AntiDoubleCombat1 2 Chance 100
$
;------------------------------------------
Trigger Remove marker at end of turn
$ WhenToTest CharacterTurnEnd
$
$ Condition IsGeneral
$ and Trait DoubleCombat1 = 1
$
$ Affects AntiDoubleCombat1 1 Chance 100
$
;------------------------------------------
Trigger Remove marker at end of turn2
$ WhenToTest CharacterTurnEnd
$
$ Condition IsGeneral
$ and Trait DoubleCombat1 = 2
$
$ Affects AntiDoubleCombat1 2 Chance 100
Then add this condition for each battlefield trait (i.e. one that is tested "PostBattle").
Code:
$ and not Trait DoubleCombat1 = 2
In this scheme, the player withdraws twice before fighting a battle (you don't go to the battlemap, you just press withdraw on the popup box). This gives the general the DoubleCombat1 trait at level 2 (one for each withdraw), and marks the coming battle as a battlemap battle. For the first read, the "and not Trait DoubleCombat1 = 2" condition stops the general from getting any traits. This trait is removed at the end of the file. The 2nd read goes as normal, with the general picking up the appropriate traits. This should have no effect on autocalc or AI battles, unless they also do a PreBattleWithdrawal. In which case, that general will get not battlemap traits for that turn.
At the end of turn, the DoubleCombat1 is removed from all characters, as it can only ever be at level 0, 1 or 2.
Edit: Due to a board optimisation, whitespace at the start of a line is removed. To counter this, I've put $ signs at the start of each line. Just delete them, and everything will to formatted correctly.
Bookmarks