Code:
;#####################################################################
;########### Baron Samedi/KK's Sauron & the One Ring script ##########
;#####################The Uruk's Isengard script######################
;#################Part 2.1: Saruman and the One Ring #################
;#####################################################################
;#########################Is Saruman Alive?
declare_counter saruman_alive
monitor_event FactionTurnStart FactionReligion catholic
and not FactionType england
and FactionType france
and I_CompareCounter ring_possession_evil = 1
and I_CharacterExists Saruman
set_counter saruman_alive 1
end_monitor
;########################Choose to keep ring for Saruman or give to Sauron
monitor_event FactionTurnStart FactionReligion catholic
and I_CompareCounter saruman_alive = 1
add_events
event counter keepring_accepted
event counter keepring_declined
end_add_events
historic_event keepring true
set_event_counter keepring_declined 0
end_monitor
;If Accepted, Bring ring to Isengard
monitor_event EventCounter EventCounterType keepring_accepted
and I_EventCounter keepring_accepted = 1
set_counter isengard_ring 1
set_event_counter keepring_accepted 0
set_counter evil_choice 0
end_monitor
;If Declined, Bring ring to Sauron
monitor_event EventCounter EventCounterType keepring_declined
and I_EventCounter keepring_declined = 1
set_event_counter keepring_declined 0
set_counter evil_choice 1
end_monitor
;#########################Isengard Player:Bring Ring to Isengard to become stronger
declare_counter deliver_ring_isengard
monitor_event FactionTurnStart FactionReligion catholic
and FactionType france
and I_CompareCounter isengard_ring = 1
historic_event deliver_ring_isengard
set_counter deliver_ring_isengard 1
point_at_strat_position 164, 189
move_strat_camera 164, 189
terminate_monitor
end_monitor
;#########################Isengard Player:Bring One Ring to Isengard
declare_counter remove_ring_isengard
declare_counter saruman_ring
monitor_event CharacterTurnStart CharacterIsLocal
and FactionReligion catholic
and I_LocalFaction france
and AgentType = named character
and HasAncType relic_ring
and IsRegionOneOf Nan-Curunir_Province
and I_SettlementOwner Nan-Curunir = france
and I_CompareCounter deliver_ring_isengard = 1
add_money france 15000
historic_event saruman_ring_event
increment_kings_purse france 4500
console_command give_ancillary Saruman one_ring
console_command diplomatic_stance france mongols War
console_command diplomatic_stance france egypt War
console_command diplomatic_stance france milan War
console_command diplomatic_stance france sicily War
console_command diplomatic_stance france england War
console_command diplomatic_stance france spain War
console_command diplomatic_stance france venice War
console_command diplomatic_stance france hre War
console_command diplomatic_stance france portugal War
console_command diplomatic_stance france papal_states War
set_faction_standing france mongols -9.9
set_faction_standing france egypt -9.9
set_faction_standing france milan -9.9
set_faction_standing france sicily -9.9
set_faction_standing france england -9.9
set_faction_standing france spain -9.9
set_faction_standing france venice -9.9
set_faction_standing france hre -9.9
set_faction_standing france portugal -9.9
set_faction_standing france papal_states -9
set_counter remove_ring_isengard 1
set_counter saruman_ring 1
ui_flash_stop
terminate_monitor
end_monitor
;#########################Remove the ring from the general once given to Saruman
monitor_event CharacterSelected CharacterIsLocal
and I_CompareCounter remove_ring_isengard = 1
and AgentType = named character
and HasAncType relic_ring
console_command give_trait this Loyal 5
console_command give_trait this Brave 5
console_command remove_ancillary this one_ring
console_command remove_ancillary this gollum
set_counter ring_possession_evil 0
terminate_monitor
end_monitor
;#########################The Nazgul leave Sauron
declare_counter saruman_nazgul
declare_counter saruman_ring
monitor_event CharacterTurnStart I_CompareCounter saruman_ring = 1
and AgentType = named character
and HasAncType relic_ring
if I_TurnNumber < 50
console_command kill_character nazgula
console_command kill_character nazgulc
console_command kill_character nazguld
historic_event nazgul_leave_sauron
set_counter saruman_nazgul 1
end_if
if I_TurnNumber >= 50
and I_TurnNumber < 80
console_command kill_character nazgula
console_command kill_character nazgulc
console_command kill_character nazguld
console_command kill_character nazgulb
historic_event nazgul_leave_sauron
set_counter saruman_nazgul 1
end_if
if I_TurnNumber >= 80
and I_TurnNumber < 120
console_command kill_character nazgula
console_command kill_character nazgulc
console_command kill_character nazguld
console_command kill_character nazgulb
console_command kill_character nazgule
historic_event nazgul_leave_sauron
set_counter saruman_nazgul 1
end_if
if I_TurnNumber >= 120
and I_TurnNumber < 160
console_command kill_character nazgula
console_command kill_character nazgulc
console_command kill_character nazguld
console_command kill_character nazgulb
console_command kill_character nazgule
console_command kill_character nazgulf
historic_event nazgul_leave_sauron
set_counter saruman_nazgul 1
end_if
if I_TurnNumber >= 160
and I_TurnNumber < 200
console_command kill_character nazgula
console_command kill_character nazgulc
console_command kill_character nazguld
console_command kill_character nazgulb
console_command kill_character nazgule
console_command kill_character nazgulf
console_command kill_character nazgulg
historic_event nazgul_leave_sauron
set_counter saruman_nazgul 1
end_if
if I_TurnNumber >= 200
and I_TurnNumber < 250
console_command kill_character nazgula
console_command kill_character nazgulc
console_command kill_character nazguld
console_command kill_character nazgulb
console_command kill_character nazgule
console_command kill_character nazgulf
console_command kill_character nazgulg
console_command kill_character nazgulh
historic_event nazgul_leave_sauron
set_counter saruman_nazgul 1
end_if
if I_TurnNumber >= 250
console_command kill_character nazgula
console_command kill_character nazgulc
console_command kill_character nazguld
console_command kill_character nazgulb
console_command kill_character nazgule
console_command kill_character nazgulf
console_command kill_character nazgulg
console_command kill_character nazgulh
console_command kill_character nazguli
historic_event nazgul_leave_sauron
set_counter saruman_nazgul 1
end_if
terminate_monitor
end_monitor
;#########################The Nazgul join Saruman
declare_counter nazgul_ancs
monitor_event CharacterTurnStart I_CompareCounter saruman_nazgul = 1
and Trait Saruman = 1
and HasAncType relic_ring
spawn_army
faction france
character Nazgula, named character, age 41, x 162, y 188, portrait nazgul1, battle_model witchking, hero_ability Terror_of_the_Witch_King,
traits Witchking 1 , hero_ability12 1 , LoyaltyStarter 1 , GoodCommander 3 , BattleScarred 2 , BattleDread 1 , CaptorDread 1 , GoodAttacker 1 , NightBattleCapable 1
unit Black Numenorians exp 3 armour 1 weapon_lvl 0
end
spawn_army
faction france
character Nazgulc, named character, age 25, x 161, y 188, portrait nazgul4, battle_model mounted_nazgul, hero_ability Terror_of_the_Nazgul
traits Nazgul 1 , hero_ability13 1 , LoyaltyStarter 1 , GoodCommander 2 , BattleScarred 3 , StrategyDread 1 , GoodAttacker 1 , NightBattleCapable 1
unit Black Numenorians exp 3 armour 1 weapon_lvl 0
end
spawn_army
faction france
character Nazguld, named character, age 24, x 160, y 188, portrait nazgul3, battle_model mounted_nazgul, hero_ability Terror_of_the_Nazgul
traits Nazgul 1 , hero_ability13 1 , LoyaltyStarter 1 , GoodCommander 3 , BattleScarred 2, BattleDread 1 , CaptorDread 1 , GoodAttacker 1 , NightBattleCapable 1
unit Black Numenorians exp 3 armour 1 weapon_lvl 0
end
spawn_army
faction france
character Nazgulb, named character, age 32, x 162, y 187, battle_model mounted_nazgul, portrait nazgul2, hero_ability Terror_of_the_Nazgul
traits Nazgul 1 , hero_ability12 1 , LoyaltyStarter 3 , GoodCommander 3 , BattleScarred 2, BattleDread 1 , CaptorDread 1 , GoodAttacker 1 , NightBattleCapable 1
unit Black Numenorians exp 3 armour 1 weapon_lvl 0
end
spawn_army
faction france
character Nazgule, named character, age 30, x 161, y 187, battle_model mounted_nazgul, portrait nazgul5, hero_ability Terror_of_the_Nazgul
traits Nazgul 1 , hero_ability12 1 , LoyaltyStarter 3 , GoodCommander 3 , BattleScarred 1, BattleDread 1 , CaptorDread 1 , GoodAttacker 1 , NightBattleCapable 1
unit Black Numenorians exp 3 armour 1 weapon_lvl 0
end
spawn_army
faction france
character Nazgulf, named character, age 34, x 160, y 187, battle_model mounted_nazgul, portrait nazgul6, hero_ability Terror_of_the_Nazgul
traits Nazgul 1 , hero_ability12 1 , LoyaltyStarter 3 , GoodCommander 3 , BattleScarred 2, BattleDread 1 , CaptorDread 1 , NightBattleCapable 1
unit Black Numenorians exp 3 armour 1 weapon_lvl 0
end
spawn_army
faction france
character Nazgulg, named character, age 38, x 162, y 186, battle_model mounted_nazgul, portrait nazgul7, hero_ability Terror_of_the_Nazgul
traits Nazgul 1 , hero_ability12 1 , LoyaltyStarter 2 , GoodCommander 3 , BattleScarred 2, BattleDread 1 , CaptorDread 1 , GoodAttacker 1 , NightBattleCapable 1
unit Black Numenorians exp 3 armour 1 weapon_lvl 0
end
spawn_army
faction france
character Nazgulh, named character, age 42, x 161, y 186, battle_model mounted_nazgul, portrait nazgul8, hero_ability Terror_of_the_Nazgul
traits Nazgul 1 , hero_ability12 1 , LoyaltyStarter 3 , GoodCommander 3 , BattleScarred 2, BattleDread 1 , CaptorDread 1 , GoodAttacker 1 , NightBattleCapable 1
unit Black Numenorians exp 3 armour 1 weapon_lvl 0
end
spawn_army
faction france
character Nazguli, named character, age 48, x 160, y 186, battle_model mounted_nazgul, portrait nazgul9, hero_ability Terror_of_the_Nazgul
traits Nazgul 1, LoyaltyStarter 3 , GoodCommander 3 , BattleScarred 2, BattleDread 1 , CaptorDread 1 , GoodAttacker 1 , NightBattleCapable 1
unit Black Numenorians exp 3 armour 1 weapon_lvl 0
end
console_command give_ancillary Saruman master_of_nazguls
historic_event nazguls_join_saruman
set_counter nazgul_ancs 1
terminate_monitor
end_monitor
monitor_event CharacterTurnStart I_CompareCounter nazgul_ancs = 1
console_command give_ancillary Nazgula ring_witchking
console_command give_ancillary Nazgula witchkings_flail
console_command give_ancillary Nazgulc ring_nazgul
console_command give_ancillary Nazgulc nazgul_sword
console_command give_ancillary Nazguld ring_nazgul
console_command give_ancillary Nazguld blade_khamul
terminate_monitor
end_monitor
;#########################################################################
;############End of The Uruk's Saruman and the One Ring script############
;#########################################################################