I was playing around with the module system and noticed an oversight. The battle_political_consequences script grabs the faction of the party associated. This works fine for the NPC parties, but it causes problems for the player. The faction of the player party is always player_faction, so this check causes war damage in the name of the player faction (which I don't think is used anywhere) instead of the faction the player is in. It needs to grab the global variable players_kingdom for anything associated with the player's faction.
What this effectively does is make any war damage done by a player (defeating an enemy party, taking a castle, pillaging a village, etc) not count toward the war damage in the various scripts. This is probably a big reason people are having so much trouble making peace, since the faction doesn't consider the damage done even after the player wipes out every army they have.
A quick fix is to just toss in:
(try_begin),
(eq, ":winner_faction", "fac_player_faction"),
(assign, ":winner_faction", "$players_kingdom"),
(try_end),
everywhere that it sets the :winner_faction variable (two places, for some reason - not sure why it has the second place when the variable is set in the start of the script).
This faction confusion may be causing problems in other scripts too, I haven't searched.
What this effectively does is make any war damage done by a player (defeating an enemy party, taking a castle, pillaging a village, etc) not count toward the war damage in the various scripts. This is probably a big reason people are having so much trouble making peace, since the faction doesn't consider the damage done even after the player wipes out every army they have.
A quick fix is to just toss in:
(try_begin),
(eq, ":winner_faction", "fac_player_faction"),
(assign, ":winner_faction", "$players_kingdom"),
(try_end),
everywhere that it sets the :winner_faction variable (two places, for some reason - not sure why it has the second place when the variable is set in the start of the script).
This faction confusion may be causing problems in other scripts too, I haven't searched.