I've changed both of those battles_won/regions_taken conditions to > rather than = it's more reliable, apparently.
It now looks thus:
PHP Code:
; * FORGIVENESS OR RECOGNITION EVENTS
;
declare_counter baktria_battlewon
declare_counter baktria_regionstaken
;
monitor_event PostBattle FactionType f_baktria
and not I_ConflictType Naval
and not I_ConflictType Withdraw
and GeneralFoughtFaction f_seleukid
and WonBattle
inc_counter baktria_battlewon 1
if I_EventCounter ecBaktriaIsAI = 1 ;;; save monitor if Baktria is AI-controlled
terminate_monitor
end_if
if I_CompareCounter baktria_battlewon > 5
terminate_monitor
end_if
end_monitor
;
monitor_event GeneralCaptureSettlement FactionType f_baktria
and TargetFactionType f_seleukid
inc_counter baktria_regionstaken 1
if I_EventCounter ecBaktriaIsAI = 1 ;;; save monitor if Baktria is AI-controlled
terminate_monitor
end_if
if I_CompareCounter baktria_regionstaken > 2
terminate_monitor
end_if
end_monitor
;
monitor_event FactionTurnStart FactionType f_baktria
if I_EventCounter ecBaktriaKingdom = 1
terminate_monitor
end_if
if I_EventCounter ecBaktriaRebellion = 1
and I_CompareCounter baktria_battlewon > 5
and I_CompareCounter baktria_regionstaken > 1
historic_event HE_BAKTRIA_FORGIVEN true factions { f_baktria, }
while I_EventCounter HE_BAKTRIA_FORGIVEN_accepted = 0 ;;; while-loop to pause the script until a decision is made
and I_EventCounter HE_BAKTRIA_FORGIVEN_declined = 0
end_while
if I_EventCounter HE_BAKTRIA_FORGIVEN_accepted = 1
console_command diplomatic_stance f_seleukid f_baktria alliance
set_faction_standing f_baktria f_seleukid 0.5
set_faction_standing f_seleukid f_baktria 0.5
set_event_counter ecBaktriaSatrapy 1
set_event_counter ecBaktriaRebellion 0
set_counter baktria_tributeunpaid 0
set_event_counter HE_PAY_TRIBUTE_TO_SELEUKIDS_declined = 0
end_if
if I_EventCounter HE_PAY_TRIBUTE_TO_SELEUKIDS_declined = 1
set_counter baktria_tributeunpaid 0
set_event_counter HE_PAY_TRIBUTE_TO_SELEUKIDS_declined = 0
end_if
end_if
if I_EventCounter ecBaktriaRebellion = 1
and I_CompareCounter baktria_battlewon > 5
and I_CompareCounter baktria_regionstaken > 2
historic_event HE_BAKTRIA_KINGDOM factions { f_baktria, }
console_command diplomatic_stance f_seleukid f_baktria neutral
set_faction_standing f_baktria f_seleukid 0.0
set_faction_standing f_seleukid f_baktria 0.0
set_event_counter ecBaktriaKingdom 1
set_event_counter ecBaktriaRebellion 0
terminate_monitor
end_if
end_monitor
monitor_event FactionTurnEnd FactionType f_baktria
and I_EventCounter ecBaktriaRebellion = 1
and I_LocalFaction f_baktria
and I_EventCounter ecBaktriaKingdom = 0
and not DiplomaticStanceFromFaction f_seleukid = AtWar
console_command diplomatic_stance f_seleukid f_baktria allied
set_event_counter HE_BAKTRIA_FORGIVEN_accepted = 1
set_event_counter ecBaktriaRebellion 0
set_event_counter ecBaktriaSatrapy 1
end_monitor
monitor_event FactionTurnEnd FactionType f_baktria
and I_EventCounter HE_BAKTRIA_FORGIVEN_accepted = 1
and I_EventCounter ecBaktriaSatrapy = 1
set_event_counter HE_BAKTRIA_FORGIVEN_accepted = 0
end_monitor
Bookmarks