Beaten to the punch while writing this...
campaign_script.txt:
Code:
monitor_event GeneralCaptureSettlement FactionType byzantium
if I_IsFactionAIControlled byzantium
terminate_monitor
end_if
if I_EventCounter byz_owns_italy > 0
terminate_monitor
end_if
campaign_wait 0.1 ;allow time for ownership to change
inc_event_counter test_byz_owns_italy_now 1
end_monitor
monitor_event GiveSettlement TargetFactionType byzantium
if I_IsFactionAIControlled byzantium
terminate_monitor
end_if
if I_EventCounter byz_owns_italy > 0
terminate_monitor
end_if
inc_event_counter test_byz_owns_italy_now 1
end_monitor
monitor_event FactionTurnStart FactionType byzantium
if I_IsFactionAIControlled byzantium
terminate_monitor
end_if
if I_EventCounter byz_owns_italy > 0
terminate_monitor
end_if
inc_event_counter test_byz_owns_italy_now 1
end_monitor
monitor_event EventCounter EventCounterType test_byz_owns_italy_now
if I_SettlementOwner Rome byzantium
and I_SettlementOwner Palermo byzantium
and I_SettlementOwner Naples byzantium
and I_SettlementOwner Florence byzantium
and I_SettlementOwner Bologna byzantium
and I_SettlementOwner Genoa byzantium
and I_SettlementOwner Milan byzantium
and I_SettlementOwner Venice byzantium
historic_event byz_owns_italy factions { byzantium, }
end_if
end_monitor
...at the end, before these lines:
Code:
; keep script unfinised until last monitor termination
wait_monitors
end_script
You'll see a message when byzantium owns all of the settlements listed in the fourth monitor - only the first time they do, not if they later lose some and get them back again. Allows for ownership via capture and diplomacy-give-region, plus a check every turn in case those two don't cover everything (e.g. bribery?).
Only if the player is byzantium. If you want to see the message also when AI is byzantium then remove the red and blue bits. If, in HotSeat, you want all player factions to see it when byzantium is a player then remove the blue bit.
historic_events.txt - add these lines anywhere:
Code:
{BYZ_OWNS_ITALY_TITLE}Byzantium Owns Italy
{BYZ_OWNS_ITALY_BODY}Say what you want here...
Create a picture for the message if you like: data\ui\southern_european\eventpics\byz_owns_italy.tga
If this is for the base campaign game, not a mod, then you'll need to unpack the game etc. first. There are tutorials around about that.
Not save game compatible. Script changes never are.
Originally Posted by
QuintusSertorius
I put in an event_counter called ec_Roman_Reunification, which you might want to use for varying recruitment, such as making particular units available in Italy when it's been restored to the Roman Empire.
historic_event also creates and increments an event counter of the same name as its message. The HE_ROMAN_REUNIFICATION event counter could be used wherever ec_Roman_Reunification is, so ec_Roman_Reunification isn't needed.