and I_TurnNumber >= 0
...will always be true so may as well not be there.
Whether england is local or not this script terminates on first firing. So it could be simplified a bit...
Code:
monitor_event TileSeen IsPositionInRect 212 256 2 2
if I_LocalFaction england
historic_event reached_tirith event/reached_minas_tirith.bik factions { england, }
end_if
terminate_monitor
end_monitor
Hotseat... scripter's bane. You want every faction to see this once, regardless of whether another faction has already seen it. Either you'll need one counter per faction (and per movie) to track if it's been shown to them, or multiple monitors with a "FactionType xxx" condition.
Does AI "seeing" things trigger this event? Not sure but suspect so.
Personally I'd do it this way. Disable it for hotseat and then one monitor per location/movie...
Code:
monitor_event TileSeen IsPositionInRect 212 256 2 2
and FactionIsLocal
if not I_HotseatEnabled
historic_event reached_tirith event/reached_minas_tirith.bik
end_if
terminate_monitor
end_monitor
When the player sees the tile the movie will be shown to all factions (if not hotseat) and as it's not hotseat only the one player faction will see it, and it terminates.
When any AI faction sees it nothing happens; body not executed so not terminated.
In hotseat when any player faction sees it it will terminate without showing the movie.
Credit: yay, famousness!
EDIT:
IsPositionInRect and IsRegionOf only work at the top not inbetween 'if's apparently.
Right. Any condition that has a "trigger requirement" (see the docudemons) cannot be used as an IF, WHILE or monitor_conditions condition.