This may be a solution, but it may get in the way of other scripts that use the additional turmoil. You know about my script in the SSHIP - it already adds turmoil and any other mechanism using this command would have to be intergrated.
As far as 199 monitors are concerned, it may be not so overwhelming, as the monitors for a settlement fire only once a whole turn.
fyi, currrently I've got for each settlement a capture script (perhaps 2-3 firings a turn, who knows):
Code:
;==================================================================================================== ;------------------------------------------------------------------------------ BERGEN After Capture
declare_counter current_name_Bergen ; 0 - Bergvin
set_counter current_name_Bergen 0
set_event_counter Bergen_turns_in_our_realm 500
monitor_event GeneralCaptureSettlement SettlementName Bergen
wait 0.5
log --- Bergen AFTER CAPTURE NAME CHANGE ----------------------------------------
log --- Bergen AFTER CAPTURE REBEL ARMIES SPAWN --------------------------------------
if I_NumberOfSettlements norway > 0 ; faction exists
and I_EventCounter faction_size_small < 1 ; not for small faction
and RandomPercent < 66 ; some randomness is always good, also for armies spawned
and I_EventCounter DifficultyLevel > 2 ; only for H/VH difficulties
and I_EventCounter faction_turn_norway < 1 ; not in core Scandinavian region
and I_EventCounter faction_turn_denmark < 1 ; not in core Scandinavian region
historic_event SETTLEMENT_CAPTURE_REBELLION
spawn_army
faction norway
character random_name, named character, age 38, x 123, y 274
traits CounterOfBattles 5, NaturalMilitarySkill 3 , GoodCommander 1 , Hardened 3 , StrategyDread 2 , Bloodthirsty 2 , Berserker 3 , Paranoia 4
unit NE Bodyguard exp 1 armour 0 weapon_lvl 0
unit Scouts exp 0 armour 0 weapon_lvl 0
unit Viking Raiders exp 0 armour 0 weapon_lvl 0
unit Woodsmen exp 7 armour 0 weapon_lvl 0
unit Woodsmen exp 0 armour 0 weapon_lvl 0
unit Bondir exp 7 armour 0 weapon_lvl 0
unit Bondir exp 1 armour 0 weapon_lvl 0
unit Bondir exp 0 armour 0 weapon_lvl 0
unit Hunters exp 7 armour 0 weapon_lvl 0
unit Hunters exp 0 armour 0 weapon_lvl 0
end
end_if
log --- Bergen AFTER CAPTURE COUNTERS & OTHER EFFECTS --------------------------------
set_event_counter Bergen_turns_in_our_realm 0 ; core Scandinavia, so in the Settlement Unrest script there's 500 pts for both Norway and Denmark
if I_EventCounter faction_turn_norway > 0
set_event_counter Bergen_turns_in_our_realm 20 ; but if FL is weak, then that trigger for 500 pts. won't fire
end_if
if I_EventCounter faction_turn_denmark > 0
set_event_counter Bergen_turns_in_our_realm 20
end_if
if I_EventCounter is_the_player > 0
inc_counter number_settlements_conquered_by_player 1
end_if
log --- Bergen AFTER CAPTURE IMPACT ON PLAYER AGGRESSIVITY REPUTATION ----------------
; (no need to use small faction condition as each of small factions will expand in its legitimate territories)
if I_EventCounter is_the_player > 0 ; only player
and I_EventCounter DifficultyLevel > 3 ; VH difficulty
and I_EventCounter faction_turn_norway < 1 ; expansion in Scandinavia is legitimate for Norway
and I_EventCounter faction_turn_denmark < 1 ; expansion in Scandinavia is legitimate for Denmark
if I_EventCounter FL_is_crowned_ruler > 0 ; crowned FL
inc_event_counter player_aggressivity 3 ; +3
if I_FactionLeaderTrait Intelligent < 8 ; +3 Crowned FL average Intelligence
inc_event_counter player_aggressivity 3 ; cumulative!
if I_FactionLeaderTrait Intelligent < 5 ; +3 Crowned FL low Intelligence
inc_event_counter player_aggressivity 3 ; cumulative!
end_if
end_if
end_if
if I_EventCounter FL_is_crowned_ruler < 1 ; UN-crowned
inc_event_counter player_aggressivity 6 ; +6
if I_FactionLeaderTrait Intelligent < 8 ; +6 UNcrowned FL average Intelligence
inc_event_counter player_aggressivity 6 ; cumulative!
if I_FactionLeaderTrait Intelligent < 5 ; +6 UNcrowned FL low Intelligence
inc_event_counter player_aggressivity 6 ; cumulative!
end_if
end_if
end_if
end_if
end_monitor
and also the turmoil situation firing every turn (so 199 firings)
Code:
;============================================================================================================ ;------------------------------------------------------------------------------ Oslo Turmoil Script section
monitor_event SettlementTurnStart SettlementName Oslo
set_counter Oslo_turmoil_points 0 ; resets turmoil points from the previous turn
; (better to do it now, because they'll stay for the rest of the turn
; so they will be able to be used somehow - no idea yet how)
log --- (A) Oslo Turmoil Points (for the Player) -----------------------------------------
if I_EventCounter is_the_player > 0
and I_EventCounter Oslo_turns_in_our_realm > 4 ; for 4 turns after a conquest this monitor doesn't have any impact on turmoil
; (unless the initial number of Oslo_turns_in_our_realm is set in the Capture script)
; if you'd change this value, change also timing of the info pop-out window for the player at the end of this monitor
; remember that "Oslo_turmoil_points" is set to 0 at the end of each turn (see below)
; while "Oslo_turns_in_our_realm" represents integration of the province and changes based on many conditions (also below)
; The situations impacting on the turmoil may easily be augmented with any other counter.
; The turmoil is translated in this script into unrest at rate: 1 to 1%, but in-game it jumps at 5% incrementals (so 4 means no unrest at all).
; Normal situations' values of "turmoil" counter based on the current list of conditions and numbers:
; - range 0-35;
; + change on the throne: + 10-20
; + player aggressivity: + 4-12-28
; (floor value) home province at the beginning of game for a handful small factions: 4
; (floor value) home province at the beginning of game for average SSHIP faction: 8
; conquered province in an outlying region: 12
; freshly conquered alien province later in the game without crown: 22 + aggressivity
; freshly conquered alien province later in the game with crown: 17 + aggressivity
; freshly conquered alien province after a bad change on the throne: 36 (first turn: +10)
if I_EventCounter FL_policy_protector < 1 ; base unrest value - if no FL policy protector
and I_EventCounter DifficultyLevel > 2 ; Hard or Very Hard difficulty
and I_EventCounter faction_size_small < 1 ;
inc_counter Oslo_turmoil_points 2 ; 2 for factions 4-9 settlements
if I_EventCounter faction_size_medium < 1 ;
inc_counter Oslo_turmoil_points 2 ; 4 for factions 10-19 settlements
if I_EventCounter faction_size_large < 1 ;
inc_counter Oslo_turmoil_points 2 ; 6 for factions 20+ settlements
end_if
end_if
end_if
if I_EventCounter FL_is_crowned_ruler < 1 ; FL is UNcrowned - it will be true for the most of the factions for a long time
inc_counter Oslo_turmoil_points 4 ; 4 for a home province
if I_EventCounter Oslo_turns_in_our_realm < 390
inc_counter Oslo_turmoil_points 1
if I_EventCounter Oslo_turns_in_our_realm < 290 ; many provinces have initial 200, so they will have +2
inc_counter Oslo_turmoil_points 1
if I_EventCounter Oslo_turns_in_our_realm < 190
inc_counter Oslo_turmoil_points 1
if I_EventCounter Oslo_turns_in_our_realm < 90
inc_counter Oslo_turmoil_points 1
if I_EventCounter Oslo_turns_in_our_realm < 30
inc_counter Oslo_turmoil_points 1 ; +5 for a new conquered province
end_if
end_if
end_if
end_if
end_if
end_if
if I_EventCounter Oslo_turns_in_our_realm < 480 ; province not yet integrated into our realm: 0-9
inc_counter Oslo_turmoil_points 1
if I_EventCounter Oslo_turns_in_our_realm < 320
inc_counter Oslo_turmoil_points 1
if I_EventCounter Oslo_turns_in_our_realm < 160
inc_counter Oslo_turmoil_points 1
if I_EventCounter Oslo_turns_in_our_realm < 90
inc_counter Oslo_turmoil_points 1
if I_EventCounter Oslo_turns_in_our_realm < 50
inc_counter Oslo_turmoil_points 1
if I_EventCounter Oslo_turns_in_our_realm < 25
inc_counter Oslo_turmoil_points 1
if I_EventCounter Oslo_turns_in_our_realm < 16
inc_counter Oslo_turmoil_points 1
if I_EventCounter Oslo_turns_in_our_realm < 12
inc_counter Oslo_turmoil_points 1
if I_EventCounter Oslo_turns_in_our_realm < 8 ; right after capture: 9
inc_counter Oslo_turmoil_points 1
end_if
end_if
end_if
end_if
end_if
end_if
end_if
end_if
end_if
if I_FactionLeaderAttribute Authority < 3 ; FL really lacks Authority
and I_EventCounter DifficultyLevel > 3 ; Very Hard difficulty
and I_EventCounter faction_size_small < 1 ; doesn't matter for small factions - everybody knows him
inc_counter Oslo_turmoil_points 3 ; 3+3
if I_EventCounter Oslo_turns_in_our_realm < 300
inc_counter Oslo_turmoil_points 1
if I_EventCounter Oslo_turns_in_our_realm < 200
inc_counter Oslo_turmoil_points 1
if I_EventCounter Oslo_turns_in_our_realm < 100
inc_counter Oslo_turmoil_points 1
end_if
end_if
end_if
end_if
if I_EventCounter FL_weak_on_the_throne > 0 ; weak FL (low authority or weak usurper)
and I_EventCounter faction_size_small < 1 ; doesn't matter for small factions
inc_counter Oslo_turmoil_points 5 ; 5+5
if I_EventCounter Oslo_turns_in_our_realm < 440
inc_counter Oslo_turmoil_points 1
if I_EventCounter Oslo_turns_in_our_realm < 340
inc_counter Oslo_turmoil_points 1
if I_EventCounter Oslo_turns_in_our_realm < 240
inc_counter Oslo_turmoil_points 1
if I_EventCounter Oslo_turns_in_our_realm < 140
inc_counter Oslo_turmoil_points 1
if I_EventCounter Oslo_turns_in_our_realm < 40
inc_counter Oslo_turmoil_points 1
end_if
end_if
end_if
end_if
end_if
end_if
if I_EventCounter FL_player_is_new_this_turn > 0 ; (one-off) shock for the kingdom: FL died
and I_EventCounter faction_size_small < 1 ; doesn't matter for small factions
inc_counter Oslo_turmoil_points 10 ; 10+10
if I_EventCounter Oslo_turns_in_our_realm < 450
inc_counter Oslo_turmoil_points 2
if I_EventCounter Oslo_turns_in_our_realm < 350
inc_counter Oslo_turmoil_points 2
if I_EventCounter Oslo_turns_in_our_realm < 250
inc_counter Oslo_turmoil_points 2
if I_EventCounter Oslo_turns_in_our_realm < 150
inc_counter Oslo_turmoil_points 2
if I_EventCounter Oslo_turns_in_our_realm < 50
inc_counter Oslo_turmoil_points 2
end_if
end_if
end_if
end_if
end_if
end_if
; Player Aggressive Expansion impact
; already taken into account in the mechanism of the increase of counter: only VH difficulty, FL_is_crowned_ruler
if I_EventCounter player_aggressivity > 6 ; (conquest of 1 settlement adds 3-18 aggressivity pts., usually 12)
inc_counter Oslo_turmoil_points 4
if I_EventCounter player_aggressivity > 12
inc_counter Oslo_turmoil_points 8
if I_EventCounter player_aggressivity > 24
inc_counter Oslo_turmoil_points 16 ; cumulative, so levels of turmoi points: 4-12-28
end_if
end_if
end_if
end_if
log --- (B) Oslo Turmoil Points (for AI) -----------------------------------------------
if I_EventCounter is_the_player < 1 ; AI
if I_EventCounter faction_turn_norway < 1 ; not "creator" of this province
and I_EventCounter faction_turn_denmark < 1
and I_EventCounter faction_turn_lithuania < 1 ; pagans have it easier and to make Lithuania life easier
and I_EventCounter faction_size_small < 1 ; not for small factions
inc_counter Oslo_turmoil_points 20
end_if
if I_EventCounter FL_weak_on_the_throne > 0 ; rather unlikely event
inc_counter Oslo_turmoil_points 10
end_if
end_if
log --- (C) Oslo Turmoil Points Translated Into Unrest -----------------------------------------------
; each one replaces the previous - in this way the turmoil in any settlement is set exclusively in the script (not in the in-game engine)
if I_CompareCounter Oslo_turmoil_points > 5
add_settlement_turmoil Oslo 1
if I_CompareCounter Oslo_turmoil_points > 10
add_settlement_turmoil Oslo 2
if I_CompareCounter Oslo_turmoil_points > 15
add_settlement_turmoil Oslo 3
if I_CompareCounter Oslo_turmoil_points > 20
add_settlement_turmoil Oslo 4
if I_CompareCounter Oslo_turmoil_points > 25
add_settlement_turmoil Oslo 5
if I_CompareCounter Oslo_turmoil_points > 30
add_settlement_turmoil Oslo 6
if I_CompareCounter Oslo_turmoil_points > 35
add_settlement_turmoil Oslo 7
if I_CompareCounter Oslo_turmoil_points > 40
add_settlement_turmoil Oslo 8
if I_CompareCounter Oslo_turmoil_points > 45
add_settlement_turmoil Oslo 9
if I_CompareCounter Oslo_turmoil_points > 50
add_settlement_turmoil Oslo 10
if I_CompareCounter Oslo_turmoil_points > 55
add_settlement_turmoil Oslo 11
if I_CompareCounter Oslo_turmoil_points > 60
add_settlement_turmoil Oslo 12
end_if
end_if
end_if
end_if
end_if
end_if
end_if
end_if
end_if
end_if
end_if
end_if
log --- (D) Oslo Integration Process ----------------------------------------
; in the optimal situation: +1, but in special circumstances even +4/turn (Crowned, not-weak, with policy, region is special for this faciton)
; thus full integration 250 - 50 years, but most negative effects phased out after 50-20 years)
if I_EventCounter Oslo_turns_in_our_realm < 500 ; to avoid crash due to amassing too many points
if I_EventCounter FL_weak_on_the_throne < 1 ; natural integration process but not with a Usurper (thus not during a civil war either)
inc_event_counter Oslo_turns_in_our_realm 1
end_if
if I_EventCounter FL_is_crowned_ruler > 0 ; if the owner's faction FL has the crown
inc_event_counter Oslo_turns_in_our_realm 1 ; integration is faster
end_if
if I_EventCounter FL_policy_thinks_of_his_people > 0 ; if FL pursues a conducive policy
inc_event_counter Oslo_turns_in_our_realm 1 ; integration is faster
end_if
if I_EventCounter faction_turn_poland > 0 ; this faction
and I_EventCounter poland7_golden_age_player > 0 ; has special circumstances
and I_EventCounter FL_weak_on_the_throne < 1 ;
inc_event_counter Oslo_turns_in_our_realm 1 ; that allow faster integration
end_if
if I_EventCounter faction_turn_norway > 0 ; this province is a core province of this factiton
and I_EventCounter FL_weak_on_the_throne < 1 ; and the FL is not lacking authority / usurper
set_event_counter Oslo_turns_in_our_realm 500 ; no integration is needed
end_if
if I_EventCounter faction_turn_denmark > 0 ; this province is a core province of this factiton
and I_EventCounter FL_weak_on_the_throne < 1 ; and the FL is not lacking authority / usurper
set_event_counter Oslo_turns_in_our_realm 500 ; no integration is needed
end_if
end_if
log --- (E) Oslo Infos & Counters for the Player ----------------------------------------
if I_EventCounter is_the_player > 0
set_event_counter FL_player_is_new_this_turn 0 ; after unrest is applied: timing is essential so it must be placed here, in every settlement
if I_EventCounter Oslo_turns_in_our_realm > 4
and I_EventCounter Oslo_turns_in_our_realm < 6
historic_event SETTLEMENT_UNREST_NORMAL_RULES_OSLO
end_if
if I_EventCounter Oslo_turns_in_our_realm > 197 ; info for the player (don't use 200 as there's this threshold in the Capture script)
and I_EventCounter Oslo_turns_in_our_realm < 199
historic_event SETTLEMENT_UNREST_INTEGRATED_OSLO
end_if
if I_EventCounter Oslo_turns_in_our_realm > 487 ; info for the player (actually, no negative results already for a couple of turns)
and I_EventCounter Oslo_turns_in_our_realm < 489
historic_event SETTLEMENT_UNREST_INTEGRATED_OSLO
end_if
end_if
end_monitor