PDA

View Full Version : Events, Conditions, & Commands



blitz576
02-05-2005, 19:17
;;;;;;;;;;;;;;;;;;;;; Modding Resource Header ;;;;;;;;;;;;;;;;;;;;;;;;
; Title: Events, Conditions, & Commands
; Posted by: blitz576
; Original author: CA
; Modding area: Scripting (https://forums.totalwar.org/vb/showthread.php?t=46738)/Traits (https://forums.totalwar.org/vb/showthread.php?t=38481)/Ancillaries ( https://forums.totalwar.org/vb/showthread.php?t=38481)
; Summary: This is our most comprehensive list of the syntax that can be used in files such as scripts and the triggers in export_descr_character_traits, export_descr_ancillaries and export_descr_advice. Not all of this syntax works correctly, see the replies in this thread for details (see this thread (https://forums.totalwar.org/vb/showthread.php?t=46877) for details of commands).
;;;;;;;;;;;;;;;;;;;;;



There were three files that came with the demo:
docudemon_events
docudemon_conditions
docudemon_commands
Each containing a list of the respective events, conditions, and commands.

It was found a while back, so I thought I'd refresh some memories.

Triggers, conditions and events
===============================

Triggers are data objects consisting of an event on which to test, a number of
conditions, and a list of effects. These effects can be upon character traits
or upon advice, although this could easily be extended to other domains of
activity such as the world, the empire, diplomacy &c.

The triggers themselves are not encoded in the project - they are read in from
an external file and instantiations of triggers are stored in an array indexed
by their event.

If you wish to add new triggers, consult the list of extant triggers and see if
you are merely redefining a trigger that already exists. You can do this by
examining the advice and VnV spreadsheets. If you are satisfied that this is
indeed a new trigger, ask yourself when the trigger should be tested, and under
what conditions the trigger should fire. If either the condition or the event
is unavailable, request from Guy that they be added to the set.

The conditions are in conditions.txt. This document contains the current set of
events. They are:

---------------------------------------------------
Identifier: PreBattle
Event: When a battle is about to start
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_PRE_BATTLE
Author: Lee
---------------------------------------------------
Identifier: PreBattleWithdrawal
Event: When a battle is about to start but one of the armies withdraws
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_PRE_BATTLE_WITHDRAWAL
Author: Lee
---------------------------------------------------
Identifier: BattleAiCommenced
Event: The battle AI has begun processing
Exports: faction
Class: ET_BATTLE_AI_COMMENCED
Author: Scott
---------------------------------------------------
Identifier: BattleDelayPhaseCommenced
Event: The delay phase has begun
Exports: faction
Class: ET_BATTLE_DELAY_PHASE_COMMENCED
Author: Scott
---------------------------------------------------
Identifier: BattleDeploymentPhaseCommenced
Event: The deployment phase has begun
Exports: faction
Class: ET_BATTLE_DEPLOYMENT_PHASE_COMMENCED
Author: Scott
---------------------------------------------------
Identifier: BattleConflictPhaseCommenced
Event: The conflict phase has begun
Exports: faction
Class: ET_BATTLE_CONFLICT_PHASE_COMMENCED
Author: Scott
---------------------------------------------------
Identifier: BattlePlayerUnitAttacksEnemyUnit
Event: A player unit has attacked one of the enemies units
Exports: infer_attacking_unit, infer_defending_unit, player_unit, enemy_unit
Class: ET_BATTLE_PLAYER_UNIT_ATTACKS_ENEMY_UNIT
Author: Scott
---------------------------------------------------
Identifier: BattleEnemyUnitAttacksPlayerUnit
Event: An enemy unit has attacked one of the players units
Exports: infer_attacking_unit, infer_defending_unit, player_unit, enemy_unit
Class: ET_BATTLE_ENEMY_UNIT_ATTACKS_PLAYER_UNIT
Author: Scott
---------------------------------------------------
Identifier: BattlePlayerAttacksSettlementBuilding
Event: A player unit has attacked a building in the settlement
Exports: infer_attacking_unit, player_unit, building_battle
Class: ET_BATTLE_PLAYER_ATTACKS_SETTLEMENT_BUILDING
Author: Scott
---------------------------------------------------
Identifier: BattleEnemyAttacksSettlementBuilding
Event: An enemy unit has attacked a building in the settlement
Exports: infer_attacking_unit, enemy_unit, building_battle
Class: ET_BATTLE_ENEMY_ATTACKS_SETTLEMENT_BUILDING
Author: Scott
---------------------------------------------------
Identifier: BattleUnitRouts
Event: A unit has routed
Exports: unit
Class: ET_BATTLE_UNIT_ROUTS
Author: Scott
---------------------------------------------------
Identifier: BattlePlayerUnitRouts
Event: One of the player's units has routed
Exports: player_unit
Class: ET_BATTLE_PLAYER_UNIT_ROUTS
Author: Scott
---------------------------------------------------
Identifier: BattleEnemyUnitRouts
Event: One of the enemies' units has routed
Exports: enemy_unit
Class: ET_BATTLE_ENEMY_UNIT_ROUTS
Author: Scott
---------------------------------------------------
Identifier: BattlePlayerSiegeEngineDestroyed
Event: A siege engine belonging to the player has been destroyed
Exports: player_unit
Class: ET_BATTLE_PLAYER_SIEGE_ENGINE_DESTROYED
Author: Scott
---------------------------------------------------
Identifier: BattleEnemySiegeEngineDestroyed
Event: A siege engine belonging to the enemy has been destroyed
Exports: enemy_unit
Class: ET_BATTLE_ENEMY_SIEGE_ENGINE_DESTROYED
Author: Scott
---------------------------------------------------
Identifier: PostBattle
Event: When a battle has finished
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_POST_BATTLE
Author: Lee
---------------------------------------------------
Identifier: BattleArmyRouted
Event: An army has been entrirely routed
Exports: army
Class: ET_BATTLE_ARMY_ROUTED
Author: Scott
---------------------------------------------------
Identifier: BattleGeneralKilled
Event: A general has been killed
Exports: character
Class: ET_BATTLE_GENERAL_KILLED
Author: Scott
---------------------------------------------------
Identifier: BattleGeneralRouted
Event: A general has been routed
Exports: character
Class: ET_BATTLE_GENERAL_ROUTED
Author: Scott
---------------------------------------------------
Identifier: BattleReinforcementsArrive
Event: A reinforcing army has arrived on the battlefield
Exports: army
Class: ET_BATTLE_REINFORCEMENTS_ARRIVE
Author: Scott
---------------------------------------------------
Identifier: BattleSiegeEngineDestroyed
Event: A siege engine has been destroyed
Exports: unit
Class: ET_BATTLE_SIEGE_ENGINE_DESTROYED
Author: Scott
---------------------------------------------------
Identifier: BattleSiegeEngineDocksWall
Event: A siege engine has docked with a wall
Exports: unit
Class: ET_BATTLE_SIEGE_ENGINE_DOCKS_WALL
Author: Scott
---------------------------------------------------
Identifier: BattleGatesAttackedByEngine
Event: An engine has started attacking a gate
Exports: unit
Class: ET_BATTLE_GATES_ATTACKED_BY_ENGINE
Author: Scott
---------------------------------------------------
Identifier: BattleGatesAttackedByPlayerEngine
Event: A player's engine has started attacking a gate
Exports: player_unit
Class: ET_BATTLE_GATES_ATTACKED_BY_PLAYER_ENGINE
Author: Scott
---------------------------------------------------
Identifier: BattleGatesAttackedByEnemyEngine
Event: An enemy's engine has started attacking a gate
Exports: enemy_unit
Class: ET_BATTLE_GATES_ATTACKED_BY_ENEMY_ENGINE
Author: Scott
---------------------------------------------------
Identifier: BattleBattleGatesDestroyedByEngine
Event: An engine has destroyed a gate
Exports: unit
Class: ET_BATTLE_GATES_DESTROYED_BY_ENGINE
Author: Scott
---------------------------------------------------
Identifier: BattleWallsBreachedByEngine
Event: A siege engine has knocked down a wall
Exports: unit
Class: ET_BATTLE_WALLS_BREACHED_BY_ENGINE
Author: Scott
---------------------------------------------------
Identifier: BattleWallsCaptured
Event: A siege engine has knocked down a wall
Exports: unit
Class: ET_BATTLE_WALLS_CAPTURED
Author: Scott
---------------------------------------------------
Identifier: BattleFinished
Event: The battle has finished
Exports: unit
Class: ET_BATTLE_FINISHED
Author: Scott
---------------------------------------------------
Identifier: FactionTurnStart
Event: A Faction has started its turn
Exports: faction
Class: ET_FACTION_TURN_START
Author: Guy
---------------------------------------------------
Identifier: FactionWarDeclared
Event: War has been declared by faction on target_faction
Exports: faction, target_faction
Class: ET_FACTION_WAR_DECLARED
Author: Guy
---------------------------------------------------
Identifier: FactionTurnEnd
Event: A Faction has ended its turn
Exports: faction
Class: ET_FACTION_TURN_END
Author: Guy
---------------------------------------------------
Identifier: HireMercenaries
Event: A General has hired some mercenaries
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_HIRE_MERCENARIES
Author: Guy
---------------------------------------------------
Identifier: GeneralCaptureResidence
Event: A General has captured a residence (fort, watchtower)
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_GENERAL_CAPTURE_RESIDENCE
Author: Lee
---------------------------------------------------
Identifier: GeneralCaptureWonder
Event: A General has captured a wonder
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_GENERAL_CAPTURE_WONDER
Author: Lee
---------------------------------------------------
Identifier: GeneralCaptureSettlement
Event: A General has captured a settlement
Exports: nc_character_record, character_record, faction, region_id, character_type, target_settlement, settlement, rsam
Class: ET_GENERAL_CAPTURE_SETTLEMENT
Author: Guy
---------------------------------------------------
Identifier: LeaderDestroyedFaction
Event: A faction has been destroyed
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_LEADER_DESTROYED_FACTION
Author: Lee
---------------------------------------------------
Identifier: Disaster
Event: A disaster has happened
Exports: event_type
Class: ET_DISASTER
Author: Guy
---------------------------------------------------
Identifier: CharacterDamagedByDisaster
Event: A character has been injured by a disaster
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_CHARACTER_DAMAGED_BY_DISASTER
Author: Lee
---------------------------------------------------
Identifier: GeneralAssaultsResidence
Event: An assault has taken place
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_ASSAULT
Author: Lee
---------------------------------------------------
Identifier: OfferedForAdoption
Event: An adoption has been proposed
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_OFFERED_FOR_ADOPTION
Author: Lee
---------------------------------------------------
Identifier: LesserGeneralOfferedForAdoption
Event: An lesser general adoption has been proposed
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_LESSER_GENERAL_OFFERED_FOR_ADOPTION
Author: Lee
---------------------------------------------------
Identifier: OfferedForMarriage
Event: An marriage offer has been proposed
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_OFFERED_FOR_MARRIAGE
Author: Lee
---------------------------------------------------
Identifier: BrotherAdopted
Event: An brother has been adopted
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_BROTHER_ADOPTED
Author: Lee
---------------------------------------------------
Identifier: BecomesFactionLeader
Event: The character has been made the faction leader
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_BECOMES_FACTION_LEADER
Author: Lee
---------------------------------------------------
Identifier: BecomesFactionLeader
Event: The character has been made the faction heir
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_BECOMES_FACTION_HEIR
Author: Lee
---------------------------------------------------
Identifier: BecomeQuaestor
Event: The character has been made Quaestor
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_BECOME_QUAESTOR
Author: Guy
---------------------------------------------------
Identifier: BecomeAedile
Event: The character has been made Aedile
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_BECOME_AEDILE
Author: Guy
---------------------------------------------------
Identifier: BecomePraetor
Event: The character has been made Praetor
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_BECOME_PRAETOR
Author: Guy
---------------------------------------------------
Identifier: BecomeConsul
Event: The character has been made Consul
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_BECOME_CONSUL
Author: Guy
---------------------------------------------------
Identifier: BecomeCensor
Event: The character has been made Censor
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_BECOME_CENSOR
Author: Guy
---------------------------------------------------
Identifier: BecomePontifexMaximus
Event: The character has been made Pontifex Maximus
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_BECOME_PONTIFEX_MAXIMUS
Author: Guy
---------------------------------------------------
Identifier: CeasedFactionLeader
Event: The character is no longer faction leader
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_CEASED_FACTION_LEADER
Author: Lee
---------------------------------------------------
Identifier: CeasedFactionHeir
Event: The character is no longer faction heir
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_CEASED_FACTION_HEIR
Author: Lee
---------------------------------------------------
Identifier: CeasedQuaestor
Event: The character is no longer Quaestor
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_CEASED_QUAESTOR
Author: Guy
---------------------------------------------------
Identifier: CeasedAedile
Event: The character is no longer Aedile
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_CEASED_AEDILE
Author: Guy
---------------------------------------------------
Identifier: CeasedPraetor
Event: The character is no longer Praetor
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_CEASED_PRAETOR
Author: Guy
---------------------------------------------------
Identifier: CeasedConsul
Event: The character is no longer Consul
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_CEASED_CONSUL
Author: Guy
---------------------------------------------------
Identifier: CeasedCensor
Event: The character is no longer Censor
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_CEASED_CENSOR
Author: Guy
---------------------------------------------------
Identifier: CeasedPontifexMaximus
Event: The character is no longer Pontifex Maximus
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_CEASED_PONTIFEX_MAXIMUS
Author: Guy
---------------------------------------------------
Identifier: UngarrisonedFort
Event: A fort is no longer garrisoned
Exports: faction, fort, region_id
Class: ET_UNGARRISONED_FORT
Author: Lee
---------------------------------------------------
Identifier: LostLegionaryEagle
Event: When a roman general has lost a battle and one of your units was carrying a legionary eagle(first cohort)
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_LOST_LEGIONARY_EAGLE
Author: Lee
---------------------------------------------------
Identifier: CapturedLegionaryEagle
Event: When you have defeated a roman general and one of his units was carrying a legionary eagle(first cohort), you capture it
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_CAPTURED_LEGIONARY_EAGLE
Author: Lee
---------------------------------------------------
Identifier: RecapturedLegionaryEagle
Event: We recaptured the eagle by completing the senate mission by conquering the settlement which holds it
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_RECAPTURED_LEGIONARY_EAGLE
Author: Lee
---------------------------------------------------
Identifier: SenateExposure
Event: The senate has leaked information about you as punishment for failing a mission
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_SENATE_EXPOSURE
Author: Guy
---------------------------------------------------
Identifier: QuaestorInvestigationMinor
Event: The senate has punished you by launching an investigation by the quaestor, probably leading to a minor fine
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_QUAESTOR_INVESTIGATION_MINOR
Author: Guy
---------------------------------------------------
Identifier: QuaestorInvestigation
Event: The senate has punished you by launching an investigation by the quaestor, probably leading to a fine
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_QUAESTOR_INVESTIGATION
Author: Guy
---------------------------------------------------
Identifier: QuaestorInvestigationMajor
Event: The senate has punished you by launching an investigation by the quaestor, probably leading to a major fine
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_QUAESTOR_INVESTIGATION_MAJOR
Author: Guy
---------------------------------------------------
Identifier: PopularSupportForOverthrow
Event: The people of Rome are prepared to support any action against the senate
Exports: faction
Class: ET_POPULAR_SUPPORT_FOR_OVERTHROW
Author: Guy
---------------------------------------------------
Identifier: SenateReadyToOutlawFaction
Event: The senate has had enough of this faction's empire building and grandstanding
Exports: faction
Class: ET_SENATE_READY_TO_OUTLAW_FACTION
Author: Guy
---------------------------------------------------
Identifier: SenateOutlawsFaction
Event: The senate has declared this faction outlaw
Exports: faction
Class: ET_SENATE_OUTLAWS_FACTION
Author: Guy
---------------------------------------------------
Identifier: Birth
Event: A child is born to the faction leader
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_BIRTH
Author: Lee
---------------------------------------------------
Identifier: CharacterComesOfAge
Event: A Character has come of age
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_COMING_OF_AGE
Author: Lee
---------------------------------------------------
Identifier: CharacterMarries
Event: A Character has married
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_MARRIAGE
Author: Lee
---------------------------------------------------
Identifier: CharacterBecomesAFather
Event: A Character has become a father
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_BECOMES_FATHER
Author: Lee
---------------------------------------------------
Identifier: CharacterTurnStart
Event: A Character has started its turn
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_CHARACTER_TURN_START
Author: Guy
---------------------------------------------------
Identifier: CharacterTurnEnd
Event: A Character has finished its turn
Exports: nc_character_record, character_record, faction, region_id, character_type, settlement
Class: ET_CHARACTER_TURN_END
Author: Guy
---------------------------------------------------
Identifier: CharacterTurnEnd
Event: A Character has finished its turn
Exports: nc_character_record, character_record, faction, region_id, character_type, settlement
Class: ET_CHARACTER_TURN_END_IN_SETTLEMENT
Author: Guy
---------------------------------------------------
Identifier: GeneralDevastatesTile
Event: A General and his army has devastated an enemy's fertile land
Exports: nc_character_record, character_record, faction, region_id, character_type, settlement
Class: ET_GENERAL_DEVASTATES_TILE
Author: Lee
---------------------------------------------------
Identifier: SpyMission
Event: A spy mission has completed
Exports: nc_character_record, character_record, faction, region_id, character_type, target_faction, mission_success_level
Class: ET_SPY_MISSION
Author: Lee
---------------------------------------------------
Identifier: LeaderOrderedSpyingMission
Event: A Faction leader has ordered a spying mission
Exports: nc_character_record, character_record, faction, region_id, character_type, target_faction, mission_success_level
Class: ET_LEADER_ORDERED_SPYING_MISSION
Author: Lee
---------------------------------------------------
Identifier: AssassinationMission
Event: An assassination mission has completed
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_ASSASSINATION_MISSION
Author: Lee
---------------------------------------------------
Identifier: LeaderOrderedAssassination
Event: A Faction leader has ordered an assassination mission
Exports: nc_character_record, character_record, faction, region_id, character_type, target_faction, mission_success_level
Class: ET_LEADER_ORDERED_ASSASSINATION_MISSION
Author: Lee
---------------------------------------------------
Identifier: SufferAssassinationAttempt
Event: Someone has had an attempt on their life
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_SUFFER_ASSASSINATION_ATTEMPT
Author: Lee
---------------------------------------------------
Identifier: SabotageMission
Event: A sabotage mission has completed
Exports: nc_character_record, character_record, faction, region_id, character_type, target_faction, mission_success_level
Class: ET_SABOTAGE_MISSION
Author: Lee
---------------------------------------------------
Identifier: LeaderOrderedSabotage
Event: A Faction leader has ordered a sabotage mission
Exports: nc_character_record, character_record, faction, region_id, character_type, target_faction, mission_success_level
Class: ET_LEADER_ORDERED_SABOTAGE_MISSION
Author: Lee
---------------------------------------------------
Identifier: BriberyMission
Event: A bribery mission has completed
Exports: nc_character_record, character_record, faction, region_id, character_type, target_faction, mission_success_level
Class: ET_BRIBERY_MISSION
Author: Lee
---------------------------------------------------
Identifier: LeaderOrderedBribery
Event: A Faction leader has ordered a bribery mission
Exports: nc_character_record, character_record, faction, region_id, character_type, target_faction, mission_success_level
Class: ET_LEADER_ORDERED_BRIBERY_MISSION
Author: Lee
---------------------------------------------------
Identifier: AcceptBribe
Event: Someone has been bribed
Exports: nc_character_record, character_record, faction, region_id, character_type, target_faction, mission_success_level
Class: ET_ACCEPT_BRIBE
Author: Guy
---------------------------------------------------
Identifier: RefuseBribe
Event: Someone has refused a bribe
Exports: nc_character_record, character_record, faction, region_id, character_type, target_faction, mission_success_level
Class: ET_REFUSE_BRIBE
Author: Guy
---------------------------------------------------
Identifier: Insurrection
Event: Insurgence has been provoked
Exports: nc_character_record, character_record, faction, region_id, character_type, target_faction, mission_success_level
Class: ET_INSURRECTION
Author: Guy
---------------------------------------------------
Identifier: DiplomacyMission
Event: A diplomacy mission has completed
Exports: nc_character_record, character_record, faction, region_id, character_type, target_faction, mission_success_level
Class: ET_DIPLOMACY_MISSION
Author: Lee
---------------------------------------------------
Identifier: LeaderOrderedDiplomacy
Event: A Faction leader has ordered a diplomacy mission
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_LEADER_ORDERED_DIPLOMACY_MISSION
Author: Lee
---------------------------------------------------
Identifier: LeaderSenateMissionSuccess
Event: A Senate mission has been completed
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_LEADER_SENATE_MISSION_SUCCESS
Author: Lee
---------------------------------------------------
Identifier: LeaderSenateMissionFailed
Event: A Senate mission has failed
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_LEADER_SENATE_MISSION_FAILED
Author: Lee
---------------------------------------------------
Identifier: SettlementTurnStart
Event: A Settlement is being processed for the start of its faction's turn
Exports: faction, settlement, region_id
Class: ET_SETTLEMENT_TURN_START
Author: Guy
---------------------------------------------------
Identifier: SettlementTurnEnd
Event: A Settlement is being processed for the end of its faction's turn
Exports: faction, settlement, region_id
Class: ET_SETTLEMENT_TURN_END
Author: Guy
---------------------------------------------------
Identifier: UnitTrained
Event: A unit has been trained
Exports: faction, settlement, resource_description, unit_category
Class: ET_UNIT_TRAINED
Author: Lee
---------------------------------------------------
Identifier: GovernorUnitTrained
Event: A unit has been trained
Exports: nc_character_record, character_record, faction, region_id, character_type, settlement, resource_description, unit_category
Class: ET_GOVERNOR_UNIT_TRAINED
Author: Lee
---------------------------------------------------
Identifier: BuildingCompleted
Event: A building has been completed
Exports: faction, settlement, prior_build, advised_build
Class: ET_BUILDING_COMPLETED
Author: Lee
---------------------------------------------------
Identifier: GovernorBuildingCompleted
Event: A building has been completed
Exports: nc_character_record, character_record, faction, region_id, character_type, settlement, prior_build, advised_build
Class: ET_GOVERNOR_BUILDING_COMPLETED
Author: Lee
---------------------------------------------------
Identifier: PlugInCompleted
Event: A plugin has been completed
Exports: faction, settlement, region_id, prior_build, advised_build
Class: ET_PLUG_IN_COMPLETED
Author: Lee
---------------------------------------------------
Identifier: GovernorPlugInCompleted
Event: A plugin has been completed
Exports: nc_character_record, character_record, faction, region_id, character_type, prior_build
Class: ET_GOVERNOR_PLUG_IN_COMPLETED
Author: Lee
---------------------------------------------------
Identifier: AgentCreated
Event: An agent has been trained
Exports: character_record, character_type
Class: ET_AGENT_CREATED
Author: Lee
---------------------------------------------------
Identifier: GovernorAgentCreated
Event: An agent has been trained
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_GOVERNOR_AGENT_CREATED
Author: Lee
---------------------------------------------------
Identifier: BuildingDestroyed
Event: A building has been destroyed
Exports:
Class: ET_BUILDING_DESTROYED
Author: Lee
---------------------------------------------------
Identifier: GovernorBuildingDestroyed
Event: A building has been destroyed
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_GOVERNOR_BUILDING_DESTROYED
Author: Lee
---------------------------------------------------
Identifier: CityRiots
Event: A settlement has rioted
Exports: faction, settlement, region_id
Class: ET_SETTLEMENT_RIOTS
Author: Lee
---------------------------------------------------
Identifier: GovernorCityRiots
Event: A settlement has rioted
Exports: nc_character_record, character_record, faction, region_id, character_type, settlement
Class: ET_GOVERNOR_SETTLEMENT_RIOTS
Author: Lee
---------------------------------------------------
Identifier: CityRebels
Event: A settlement has rebelled
Exports: faction, settlement, region_id
Class: ET_SETTLEMENT_REBELS
Author: Lee
---------------------------------------------------
Identifier: GovernorCityRebels
Event: A settlement has rebelled
Exports: nc_character_record, character_record, faction, region_id, character_type, settlement
Class: ET_GOVERNOR_SETTLEMENT_REBELS
Author: Lee
---------------------------------------------------
Identifier: GovernorThrowGames
Event: Games have been thrown
Exports: nc_character_record, character_record, faction, region_id, character_type, settlement
Class: ET_GOVERNOR_THROW_GAMES
Author: Lee
---------------------------------------------------
Identifier: UngarrisonedSettlement
Event: A settlement is no longer garrisoned
Exports: faction, settlement, region_id
Class: ET_UNGARRISONED_SETTLEMENT
Author: Lee
---------------------------------------------------
Identifier: EnslavePopulation
Event: A settlement has been captured and some of its population has been enslaved
Exports: nc_character_record, character_record, faction, target_faction, region_id, character_type
Class: ET_ENSLAVE_POPULATION
Author: Lee
---------------------------------------------------
Identifier: ExterminatePopulation
Event: A settlement has been captured and some of its population has been decimated
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_EXTERMINATE_POPULATION
Author: Lee
---------------------------------------------------
Identifier: CharacterSelected
Event: The player has selected a character
Exports: nc_character_record, character_record, faction, region_id, character_type, character_action_advice, target_settlement
Class: ET_CHARACTER_SELECTED
Author: Guy
---------------------------------------------------
Identifier: MultiTurnMove
Event: The player has selected a position beyond the character's extents
Exports: nc_character_record, character_record, faction, region_id, character_type
Class: ET_MULTI_TURN_MOVE
Author: Guy
---------------------------------------------------
Identifier: CharacterPanelOpen
Event: The player has opened the panel for the selected character
Exports: character_record, faction, region_id, character_type
Class: ET_CHARACTER_PANEL_OPEN
Author: Guy
---------------------------------------------------
Identifier: SettlementPanelOpen
Event: The player has opened the panel for the selected settlement
Exports: faction, settlement, region_id
Class: ET_SETTLEMENT_PANEL_OPEN
Author: Guy
---------------------------------------------------
Identifier: FinancesPanelOpen
Event: The player has opened his finances panel
Exports: faction
Class: ET_FINANCES_PANEL_OPEN
Author: Guy
---------------------------------------------------
Identifier: FactionSummaryPanelOpen
Event: The player has opened the faction summary panel
Exports: faction
Class: ET_FACTION_SUMMARY_PANEL_OPEN
Author: Guy
---------------------------------------------------
Identifier: FamilyTreePanelOpen
Event: The player has opened the family tree panel
Exports: faction
Class: ET_FAMILY_TREE_PANEL_OPEN
Author: Guy
---------------------------------------------------
Identifier: DiplomaticStandingPanelOpen
Event: The player has opened the diplomatic standing panel
Exports:
Class: ET_DIPLOMATIC_STANDING_PANEL_OPEN
Author: Guy
---------------------------------------------------
Identifier: SenateMissionsPanelOpen
Event: The player has opened the senate missions panel
Exports: faction
Class: ET_SENATE_MISSIONS_PANEL_OPEN
Author: Guy
---------------------------------------------------
Identifier: SenateOfficesPanelOpen
Event: The player has opened the senate offices panel
Exports:
Class: ET_SENATE_OFFICES_PANEL_OPEN
Author: Guy
---------------------------------------------------
Identifier: DiplomacyPanelOpen
Event: The player has opened a diplomacy panel
Exports: faction
Class: ET_DIPLOMACY_PANEL_OPEN
Author: Guy
---------------------------------------------------
Identifier: PreBattlePanelOpen
Event: The player has attacked an army or settlement. The decision panel is now open.
Exports: faction
Class: ET_PRE_BATTLE_PANEL_OPEN
Author: Guy
---------------------------------------------------
Identifier: RecruitmentPanelOpen
Event: The player has opened a recruitment panel
Exports: faction, settlement, region_id
Class: ET_RECRUITMENT_PANEL_OPEN
Author: Guy
---------------------------------------------------
Identifier: ConstructionPanelOpen
Event: The player has opened a construction panel
Exports: faction, settlement, region_id
Class: ET_CONSTRUCTION_PANEL_OPEN
Author: Guy
---------------------------------------------------
Identifier: TradePanelOpen
Event: The player has opened a trade panel
Exports: faction, settlement, region_id
Class: ET_TRADE_PANEL_OPEN
Author: Guy
---------------------------------------------------
Identifier: HireMercenariesPanelOpen
Event: The player has opened a hire mercenaries panel
Exports:
Class: ET_HIRE_MERCENARIES_PANEL_OPEN
Author: Guy
---------------------------------------------------
Identifier: NavalAutoResolvePanelOpen
Event: The naval auto resolve panel has opened
Exports:
Class: ET_NAVAL_AUTO_RESOLVE_PANEL_OPEN
Author: Guy
---------------------------------------------------
Identifier: IncomingMessage
Event: A message has arrived for the player
Exports: event
Class: ET_INCOMING_MESSAGE
Author: Guy
---------------------------------------------------
Identifier: MessageOpen
Event: The player has opened a message
Exports: event
Class: ET_MESSAGE_OPEN
Author: Guy
---------------------------------------------------
Identifier: RequestBuildingAdvice
Event: The player has requested building advice
Exports: faction, settlement, region_id, advised_build
Class: ET_BUILDING_ADVICE
Author: Guy
---------------------------------------------------
Identifier: RequestTrainingAdvice
Event: The player has requested training advice
Exports: faction, settlement, region_id, resource_description
Class: ET_TRAINING_ADVICE
Author: Guy
---------------------------------------------------
Identifier: RequestMercenariesAdvice
Event: The player has requested mercenaries advice
Exports: army
Class: ET_MERCENARIES_ADVICE
Author: Guy
---------------------------------------------------
Identifier: ButtonPressed
Event: The player has clicked on a button
Exports: resource_description
Class: ET_BUTTON_PRESSED
Author: Tom
---------------------------------------------------
Identifier: ShortcutTriggered
Event: The player triggered a keyboard shortcut
Exports: resource_description
Class: ET_SHORTCUT_TRIGGERED
Author: Tom
---------------------------------------------------
Identifier: ScrollOpened
Event: The player opened a scroll
Exports: resource_description
Class: ET_SCROLL_OPENED
Author: Tom
---------------------------------------------------
Identifier: ScrollClosed
Event: The player closed a scroll
Exports: resource_description
Class: ET_SCROLL_CLOSED
Author: Tom
---------------------------------------------------
Identifier: AdviceSupressed
Event: The player has suppressed a piece of advice
Exports: resource_description
Class: ET_ADVICE_SUPPRESSED
Author: Guy
---------------------------------------------------
Identifier: ScrollAdviceRequested
Event: The player has requested advice on a scroll
Exports: resource_description
Class: ET_SCROLL_ADVICE_REQUESTED
Author: Guy
---------------------------------------------------
Identifier: PreBattleScrollAdviceRequested
Event: The player has requested advice on the prebattle scroll
Exports: none
Class: ET_PREBATTLE_SCROLL_ADVICE_REQUESTED
Author: Tom
---------------------------------------------------
Identifier: NavalPreBattleScrollAdviceRequested
Event: The player has requested advice on the naval prebattle scroll
Exports: none
Class: ET_NAVAL_PREBATTLE_SCROLL_ADVICE_REQUESTED
Author: Tom
---------------------------------------------------
Identifier: Idle
Event: The player has remained idle for some time (Not implemented)
Exports:
Class: ET_IDLE
Author: Guy
---------------------------------------------------
Identifier: AbandonShowMe
Event: The player has abandoned a show me scipt
Exports:
Class: ET_ABANDON_SHOW_ME
Author: Guy
---------------------------------------------------
Identifier: DeclineAutomatedSettlementManagement
Event: The player has declined automated settlement management
Exports: faction, settlement, best_finance_option
Class: ET_DECLINE_AUTOMATED_SETTLEMENT_MANAGEMENT
Author: Guy
---------------------------------------------------
Identifier: EscPressed
Event: The escape key has been pressed. This trigger will only fire if the command StealEscKey has been used
Exports: none
Class: ET_ESC_PRESSED
Author: Tom

blitz576
02-05-2005, 19:19
Triggers, conditions and events
===============================

Triggers are data objects consisting of an event on which to test, a number of
conditions, and a list of effects. These effects can be upon character traits
or upon advice, although this could easily be extended to other domains of
activity such as the world, the empire, diplomacy &c.

The triggers themselves are not encoded in the project - they are read in from
an external file and instantiations of triggers are stored in an array indexed
by their event.

If you wish to add new triggers, consult the list of extant triggers and see if
you are merely redefining a trigger that already exists. You can do this by
examining the advice and VnV spreadsheets. If you are satisfied that this is
indeed a new trigger, ask yourself when the trigger should be tested, and under
what conditions the trigger should fire. If either the condition or the event
is unavailable, request from Guy that they be added to the set.

Conditions which take no logic_token in their parameter list can be negated by
prepending them with not, e.g. not WonBattle

The events are in events.txt. This document contains the current set of
conditions. They are:

---------------------------------------------------
Identifier: I_InBattle
Trigger requirements:
Parameters: None
Sample use: InBattle
Description: Are we in battle?
Battle or Strat: Either
Class: IN_BATTLE
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: WonBattle
Trigger requirements: character_record
Parameters: None
Sample use: WonBattle
Description: Did the general win the battle just fought?
Battle or Strat: Either
Class: WON_BATTLE
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: I_WonBattle
Trigger requirements:
Parameters: None
Sample use: I_WonBattle romans_julii
Description: Did the faction win the battle just fought?
Battle or Strat: Either
Class: I_WON_BATTLE
Implemented: No
Author: Guy
---------------------------------------------------
Identifier: Routs
Trigger requirements: character_record
Parameters: None
Sample use: Routs
Description: Did the general's unit rout in the battle just fought?
Battle or Strat: Either
Class: ROUTS
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: Ally_Routs
Trigger requirements: character_record
Parameters: None
Sample use: Ally_Routs
Description: Did any ally's general's units rout in the battle just fought?
Battle or Strat: Either
Class: ALLY_ROUTS
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: GeneralHPLostRatioinBattle
Trigger requirements: character_record
Parameters: logic token, test value
Sample use: GeneralHPLostRatioinBattle > 35.8
Description: Test to see what the HP lost ratio of the prior battle was
Battle or Strat: Either
Class: GENERALS_LOST_HP_RATIO_TEST
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: GeneralNumKillsInBattle
Trigger requirements: character_record
Parameters: logic token, test value
Sample use: GeneralNumKillsInBattle > 4
Description: Test to see how many kills the character scored in the prior battle was
Battle or Strat: Either
Class: GENERAL_ENEMIES_KILLED_TEST
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: GeneralFoughtInCombat
Trigger requirements: character_record
Parameters: None
Sample use: GeneralFoughtInCombat
Description: Test to see if the character entered combat in the prior battle
Battle or Strat: Either
Class: GENERAL_FOUGHT_IN_COMBAT
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: PercentageOfArmyKilled
Trigger requirements: character_record
Parameters: logic token, test value
Sample use: PercentageOfArmyKilled > 35.8
Description: Test to see what percentage of their men they lost in the prior battle
Battle or Strat: Either
Class: PERCENTAGE_OF_ARMY_KILLED_TEST
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: I_PercentageOfArmyKilled
Trigger requirements:
Parameters: alliance_index army_index logic_token percentage
Sample use: I_PercentageOfArmyKilled 1 0 < 50
Description: Tests the percentage of casualties taken by the specified army during this battle
Battle or Strat: Battle
Class: BATTLE_PERCENTAGE_OF_ARMY_KILLED
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: PercentageEnemyKilled
Trigger requirements: character_record
Parameters: logic token, test value
Sample use: PercentageEnemyKilled > 35.8
Description: Test to see what percentage of the enemy was killed in the prior battle
Battle or Strat: Either
Class: PERCENTAGE_OF_ENEMY_KILLED_TEST
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: PercentageBodyguardKilled
Trigger requirements: character_record
Parameters: logic token, test value
Sample use: PercentageBodyguardKilled > 35.8
Description: Test to see what percentage of their bodyguard was killed in the prior battle
Battle or Strat: Either
Class: PERCENTAGE_OF_GENERALS_UNIT_KILLED_TEST
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: PercentageRoutedOffField
Trigger requirements: character_record
Parameters: logic token, test value
Sample use: PercentageRoutedOffField > 35.8
Description: Test to see the percentage of the character's soldiers who routed
Battle or Strat: Either
Class: PERCENTAGE_ROUTED_OFF_FIELD_TEST
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: NumKilledGenerals
Trigger requirements: character_record
Parameters: logic token, test value
Sample use: NumKilledGenerals > 3
Description: Test to see how many generals were killed
Battle or Strat: Either
Class: GENERALS_ARMY_KILLED_GENERALS_TEST
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: PercentageUnitCategory
Trigger requirements: character_record
Parameters: unit category (infantry, cavalry, siege, non_combatant, ship, handler), logic token, test value
Sample use: PercentageUnitCategory handler > 35.8
Description: Test to see what percentage of the army were of a particular category
Battle or Strat: Either
Class: GENERALS_ARMY_PERCENTAGE_OF_UNIT_CATEGORY_TEST
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: NumFriendsInBattle
Trigger requirements: character_record
Parameters: logic token, test value
Sample use: NumFriendsInBattle < 50
Description: Test the number of soldiers and officers in allied armies
Battle or Strat: Either
Class: NUM_FRIENDS_IN_BATTLE_TEST
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: NumEnemiesInBattle
Trigger requirements: character_record
Parameters: logic token, test value
Sample use: NumEnemiesInBattle > 300
Description: Test the number of soldiers and officers in enemy armies
Battle or Strat: Either
Class: NUM_ENEMIES_IN_BATTLE_TEST
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: GeneralFoughtFaction
Trigger requirements: character_record
Parameters: faction type
Sample use: GeneralFoughtFaction romans_julii
Description: Test to see whether the opponent was of a particular faction in the prior battle
Battle or Strat: Either
Class: FOUGHT_FACTION
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: GeneralFoughtCulture
Trigger requirements: character_record
Parameters: culture type (roman, barbarian, carthaginian, greek, egyptian, eastern)
Sample use: GeneralFoughtCulture greek
Description: Test to see whether the opponent was of a particular culture in the prior battle
Battle or Strat: Either
Class: FOUGHT_CULTURE
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: I_ConflictType
Trigger requirements:
Parameters: conflict type (SuccessfulAmbush, FailedAmbush, SuccessfulNightRaid, FailedNightRaid, Normal, Siege, SallyBesieger, Naval, Withdraw)
Sample use: I_ConflictType SuccessfulNightRaid
Description: Test the type of conflict (ambush, siege &c.)
Battle or Strat: Either
Class: BATTLE_CONFLICT_TYPE
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: BattleSuccess
Trigger requirements: character_record
Parameters: success type (close, average, clear, crushing)
Sample use: BattleSuccess = clear, BattleSuccess > close
Description: Test the type of success
Battle or Strat: Either
Class: BATTLE_SUCCESS_TYPE
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: BattleOdds
Trigger requirements: character_record
Parameters: logic token, test value
Sample use: BattleOdds > 5
Description: Test the odds to win i.e. 5 (5:1)
Battle or Strat: Either
Class: BATTLE_ODDS_TEST
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: WasAttacker
Trigger requirements: character_record
Parameters: None
Sample use: WasAttacker
Description: Was the character the aggressor?
Battle or Strat: Either
Class: CHARACTER_WAS_ATTACKER
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: I_BattleAiAttacking
Trigger requirements:
Parameters: logic token
Sample use: I_BattleAiAttacking
Description: Is the enemy ai planning to attack the player?
Battle or Strat: Battle
Class: BATTLE_AI_ATTACKING
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattleAiAttackingSettlement
Trigger requirements:
Parameters: logic token
Sample use: I_BattleAiAttackingSettlement
Description: Is the enemy ai planning to attack the player's settlement?
Battle or Strat: Battle
Class: BATTLE_AI_ATTACKING_SETTLEMENT
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattleAiDefendingSettlement
Trigger requirements:
Parameters: logic token
Sample use: I_BattleAiDefendingSettlement
Description: Is the enemy ai planning to defend it's settlement?
Battle or Strat: Battle
Class: BATTLE_AI_DEFENDING_SETTLEMENT
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattleAiDefendingHill
Trigger requirements:
Parameters: logic token
Sample use: I_BattleAiDefendingHill
Description: Is the enemy ai planning to defend a hill?
Battle or Strat: Battle
Class: BATTLE_AI_DEFENDING_HILL
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattleAiDefendingCrossing
Trigger requirements:
Parameters: logic token
Sample use: I_BattleAiDefendingCrossing
Description: Is the enemy ai planning to defend a crossing?
Battle or Strat: Battle
Class: BATTLE_AI_DEFENDING_CROSSING
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattleAiScouting
Trigger requirements:
Parameters: logic token
Sample use: I_BattleAiScouting
Description: Is the enemy ai planning to scout?
Battle or Strat: Battle
Class: BATTLE_AI_SCOUTING
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattleIsRiverBattle
Trigger requirements:
Parameters: integer
Sample use: I_BattleIsRiverBattle
Description: Is this a river battle?
Battle or Strat: Battle
Class: BATTLE_IS_RIVER_BATTLE
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattleIsSiegeBattle
Trigger requirements:
Parameters: integer
Sample use: I_BattleIsSiegeBattle
Description: Is this a siege battle?
Battle or Strat: Battle
Class: BATTLE_IS_SIEGE_BATTLE
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattleIsSallyOutBattle
Trigger requirements:
Parameters: integer
Sample use: I_BattleIsSallyOutBattle
Description: Is this a sally out battle?
Battle or Strat: Battle
Class: BATTLE_IS_SALLY_OUT_BATTLE
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattleIsFortBattle
Trigger requirements:
Parameters: integer
Sample use: I_BattleIsFortBattle
Description: Is this a fort battle?
Battle or Strat: Battle
Class: BATTLE_IS_FORT_BATTLE
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattleAttackerNumSiegeEngines
Trigger requirements:
Parameters: siege_engine_class (tower, ram, ladder, sap_point)
Sample use: I_BattleAttackerNumSiegeEngines ladder
Description: How many of this engine type are present?
Battle or Strat: Battle
Class: BATTLE_ATTACKER_NUM_SIEGE_ENGINES
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattleAttackerNumArtilleryCanPenetrateWalls
Trigger requirements:
Parameters: logic token, number
Sample use: I_BattleAttackerNumArtilleryCanPenetrateWalls > 5
Description: How many of the attackers artillery can penetrate the siege walls
Battle or Strat: Battle
Class: BATTLE_ATTACKER_NUM_ARTILLERY_CAN_PENETRATE_WALLS
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattleDefenderNumNonMissileUnitsOnWalls
Trigger requirements:
Parameters: logic token, number
Sample use: I_BattleDefenderNumNonMissileUnitsOnWalls > 5
Description: How many of the defenders non-missile units are on the walls
Battle or Strat: Battle
Class: BATTLE_DEFENDER_NUM_NON_MISSILE_UNITS_ON_WALLS
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattleDefenderNumMissileUnitsOnWalls
Trigger requirements:
Parameters: logic token, number
Sample use: I_BattleDefenderNumMissileUnitsOnWalls > 5
Description: How many of the defenders missile units are on the walls
Battle or Strat: Battle
Class: BATTLE_DEFENDER_NUM_MISSILE_UNITS_ON_WALLS
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattleSettlementWallsBreached
Trigger requirements:
Parameters: none
Sample use: I_BattleSettlementWallsBreached
Description: Have the walls of the settlement been breached?
Battle or Strat: Battle
Class: BATTLE_SETTLEMENT_WALLS_BREACHED
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattleSettlementGateDestroyed
Trigger requirements:
Parameters: none
Sample use: I_BattleSettlementGateDestroyed
Description: Has a gate in the settlement been destroyed?
Battle or Strat: Battle
Class: BATTLE_SETTLEMENT_GATE_DESTROYED
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattleSettlementTowerDefence
Trigger requirements:
Parameters: tower defence type (arrow_tower, ballista_tower, none)
Sample use: not I_BattleSettlementTowerDefence arrow_tower
Description: What type of tower defence is this settlement equipped with?
Battle or Strat: Battle
Class: BATTLE_SETTLEMENT_TOWER_DEFENCE
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattleSettlementGateDefence
Trigger requirements:
Parameters: gate defence type (hot_sand, burning_oil, none)
Sample use: not I_BattleSettlementGateDefence hot_sand
Description: What type of gate defence is this settlement equipped with?
Battle or Strat: Battle
Class: BATTLE_SETTLEMENT_GATE_DEFENCE
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattleSettlementFortificationLevel
Trigger requirements:
Parameters: wall level (none, 0, 1, 2, 3, 4)
Sample use: I_BattleSettlementFortificationLevel > 0
Description: What is the fortification level of this settlement?
Battle or Strat: Battle
Class: BATTLE_SETTLEMENT_FORTIFICATION_LEVEL
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: BattleBuildingType
Trigger requirements:
Parameters: building type (ambient, major, wall, tower, gate)
Sample use: BattleBuildingType = wall
Description: What type of building is this?
Battle or Strat: Battle
Class: BATTLE_BUILDING_TYPE
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattleSettlementGateStrength
Trigger requirements:
Parameters: gate strength (0..2)
Sample use: I_BattleSettlementGateStrength > 2
Description: What is the strength of the settlement gates?
Battle or Strat: Battle
Class: BATTLE_SETTLEMENT_GATE_STRENGTH
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattleNumberOfRiverCrossings
Trigger requirements:
Parameters: integer
Sample use: I_BattleNumberOfRiverCrossings > 1
Description: How many river crossings are there on this map?
Battle or Strat: Battle
Class: BATTLE_NUMBER_OF_RIVER_CROSSINGS
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: BattlePlayerUnitClass
Trigger requirements: player_unit
Parameters: unit_class (heavy, light, skirmish, spearmen, missile)
Sample use: BattlePlayerUnitClass = unit_class
Description: What is the class of the player unit?
Battle or Strat: Battle
Class: BATTLE_PLAYER_UNIT_CLASS
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: BattleEnemyUnitClass
Trigger requirements: enemy_unit
Parameters: unit_class (heavy, light, skirmish, spearmen, missile)
Sample use: BattleEnemyUnitClass = unit_class
Description: What is the class of the enemy unit?
Battle or Strat: Battle
Class: BATTLE_ENEMY_UNIT_CLASS
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: BattlePlayerUnitCategory
Trigger requirements: player_unit
Parameters: unit category (infantry, cavalry, siege, non_combatant, ship, handler)
Sample use: BattlePlayerUnitCategory = unit_category
Description: What is the category of the player unit?
Battle or Strat: Battle
Class: BATTLE_PLAYER_UNIT_CATEGORY
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: BattleEnemyUnitCategory
Trigger requirements: enemy_unit
Parameters: unit category (infantry, cavalry, siege, non_combatant, ship, handler)
Sample use: BattleEnemyUnitCategory = unit_category
Description: What is the category of the enemy unit?
Battle or Strat: Battle
Class: BATTLE_ENEMY_UNIT_CATEGORY
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: BattlePlayerUnitSiegeEngineClass
Trigger requirements: player_unit
Parameters: siege engine category (catapult, trebuchet, ballista, scorpion, tower, ram, ladder, sap_point)
Sample use: BattlePlayerUnitSiegeEngineClass = scorpion
Description: What type of siege engine is the player unit?
Battle or Strat: Battle
Class: BATTLE_PLAYER_UNIT_SIEGE_ENGINE_CLASS
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: BattleEnemyUnitSiegeEngineClass
Trigger requirements: enemy_unit
Parameters: siege engine category (catapult, trebuchet, ballista, scorpion, tower, ram, ladder, sap_point)
Sample use: BattleEnemyUnitSiegeEngineClass = scorpion
Description: What type of siege engine is the enemy unit?
Battle or Strat: Battle
Class: BATTLE_ENEMY_UNIT_SIEGE_ENGINE_CLASS
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: BattlePlayerUnitOnWalls
Trigger requirements: player_unit
Parameters: none
Sample use: BattlePlayerUnitOnWalls
Description: Is the player unit on the walls?
Battle or Strat: Battle
Class: BATTLE_PLAYER_UNIT_ON_WALLS
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: BattleEnemyUnitOnWalls
Trigger requirements: enemy_unit
Parameters: none
Sample use: BattleEnemyUnitOnWalls
Description: Is the enemy unit on the walls?
Battle or Strat: Battle
Class: BATTLE_ENEMY_UNIT_ON_WALLS
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: BattlePlayerCurrentFormation
Trigger requirements: player_unit
Parameters: formation (horde, column, square, wedge, square_hollow, testudo, phalanx)
Sample use: BattlePlayerCurrentFormation = phalanx
Description: What is the current formation of the player unit?
Battle or Strat: Battle
Class: BATTLE_PLAYER_CURRENT_FORMATION
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: BattleEnemyCurrentFormation
Trigger requirements: enemy_unit
Parameters: formation (horde, column, square, wedge, square_hollow, testudo, phalanx)
Sample use: BattleEnemyCurrentFormation = unit_formation
Description: What is the current formation of the enemy unit?
Battle or Strat: Battle
Class: BATTLE_ENEMY_CURRENT_FORMATION
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: BattlePlayerUnitCloseFormation
Trigger requirements: player_unit
Parameters: none
Sample use: BattlePlayerUnitCloseFormation
Description: Is the player unit in close formation, otherwise loose?
Battle or Strat: Battle
Class: BATTLE_PLAYER_UNIT_CLOSE_FORMATION
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: BattleEnemyUnitCloseFormation
Trigger requirements: enemy_unit
Parameters: none
Sample use: BattleEnemyUnitCloseFormation
Description: Is the enemy unit in close formation, otherwise loose?
Battle or Strat: Battle
Class: BATTLE_ENEMY_UNIT_CLOSE_FORMATION
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: BattlePlayerUnitSpecialAbilitySupported
Trigger requirements: player_unit
Parameters: special_ability ( testudo, phalanx, wedge, drop_engines, flaming_ammo, warcry, chant, curse, beserk, rally, kill_elephants, move_and_shoot, cantabrian_circle, shield_wall, stealth, feigned_rout )
Sample use: BattlePlayerUnitSpecialAbilitySupported = flaming_ammo
Description: What special ability can the player unit support?
Battle or Strat: Battle
Class: BATTLE_PLAYER_UNIT_SPECIAL_ABILITY_SUPPORTED
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: BattleEnemyUnitSpecialAbilitySupported
Trigger requirements: enemy_unit
Parameters: special_ability ( testudo, phalanx, wedge, drop_engines, flaming_ammo, warcry, chant, curse, beserk, rally, kill_elephants, move_and_shoot, cantabrian_circle, shield_wall, stealth, feigned_rout )
Sample use: BattleEnemyUnitSpecialAbilitySupported = flaming_ammo
Description: What special ability can the enemy unit support?
Battle or Strat: Battle
Class: BATTLE_ENEMY_UNIT_SPECIAL_ABILITY_SUPPORTED
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: BattlePlayerUnitSpecialAbilityActive
Trigger requirements: player_unit
Parameters: none
Sample use: BattlePlayerUnitSpecialAbilityActive
Description: Is the player unit currently doing its special ability
Battle or Strat: Battle
Class: BATTLE_PLAYER_UNIT_SPECIAL_ABILITY_ACTIVE
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: BattleEnemyUnitSpecialAbilityActive
Trigger requirements: enemy_unit
Parameters: none
Sample use: BattleEnemyUnitSpecialAbilityActive
Description: Is the enemy unit currently doing its special ability
Battle or Strat: Battle
Class: BATTLE_ENEMY_UNIT_SPECIAL_ABILITY_ACTIVE
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: BattlePlayerMountClass
Trigger requirements: player_unit
Parameters: mount_class (horse, camel, elephant, chariot)
Sample use: BattlePlayerMountClass = mount_class
Description: What is the mount class of the player unit?
Battle or Strat: Battle
Class: BATTLE_PLAYER_MOUNT_CLASS
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: BattleEnemyMountClass
Trigger requirements: enemy_unit
Parameters: mount_class (horse, camel, elephant, chariot)
Sample use: BattleEnemyMountClass = mount_class
Description: What is the mount class of the enemy unit?
Battle or Strat: Battle
Class: BATTLE_ENEMY_MOUNT_CLASS
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: BattlePlayerUnitMeleeStrength
Trigger requirements: player_unit
Parameters: logic token, test value
Sample use: BattlePlayerUnitMeleeStrength > 56.45
Description: Compare the melee strength of a unit with a known value
Battle or Strat: Battle
Class: BATTLE_PLAYER_UNIT_MELEE_STRENGTH
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: BattleEnemyUnitMeleeStrength
Trigger requirements: enemy_unit
Parameters: logic token, test value
Sample use: BattleEnemyUnitMeleeStrength > 56.45
Description: Compare the melee strength of a unit with a known value
Battle or Strat: Battle
Class: BATTLE_ENEMY_UNIT_MELEE_STRENGTH
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: BattlePlayerUnitMissileStrength
Trigger requirements: player_unit
Parameters: logic token, test value
Sample use: BattlePlayerUnitMissileStrength > 56.45
Description: Compare the missile strength of a unit with a known value
Battle or Strat: Battle
Class: BATTLE_PLAYER_UNIT_MISSILE_STRENGTH
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: BattleEnemyUnitMissileStrength
Trigger requirements: enemy_unit
Parameters: logic token, test value
Sample use: BattleEnemyUnitMissileStrength > 56.45
Description: Compare the missile strength of a unit with a known value
Battle or Strat: Battle
Class: BATTLE_ENEMY_UNIT_MISSILE_STRENGTH
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: BattlePlayerUnitSpecialFormation
Trigger requirements: player_unit
Parameters: formation (horde, column, square, wedge, square_hollow, testudo, phalanx), test value
Sample use: BattlePlayerUnitSpecialFormation = testudo
Description: What is the special formation of the player unit
Battle or Strat: Battle
Class: BATTLE_PLAYER_UNIT_SPECIAL_FORMATION
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: BattleEnemyUnitSpecialFormation
Trigger requirements: enemy_unit
Parameters: formation (horde, column, square, wedge, square_hollow, testudo, phalanx), test value
Sample use: BattleEnemyUnitSpecialFormation = testudo
Description: What is the special formation of the enemy unit
Battle or Strat: Battle
Class: BATTLE_ENEMY_UNIT_SPECIAL_FORMATION
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: BattlePlayerUnitEngaged
Trigger requirements: player_unit
Parameters: None
Sample use: BattlePlayerUnitEngaged
Description: Is the player unit engaged in battle
Battle or Strat: Battle
Class: BATTLE_PLAYER_UNIT_ENGAGED
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: BattleEnemyUnitEngaged
Trigger requirements: enemy_unit
Parameters: None
Sample use: BattleEnemyUnitEngaged
Description: Is the enemy unit engaged in battle
Battle or Strat: Battle
Class: BATTLE_ENEMY_UNIT_ENGAGED
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: BattlePlayerActionStatus
Trigger requirements: player_unit
Parameters: Action status ( idling, hiding, ready, reforming, moving, withdrawing, missiles_firing, missiles_reloading, charging, fighting, pursuing, routing, fighting_backs_to_the_walls, running_amok, rallying, dead, leaving_battle, entering_battle, left_battle )
Sample use: BattlePlayerActionStatus = moving
Description: What is the current action status of the player unit
Battle or Strat: Battle
Class: BATTLE_PLAYER_ACTION_STATUS
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: BattleEnemyActionStatus
Trigger requirements: enemy_unit
Parameters: Action status ( idling, hiding, ready, reforming, moving, withdrawing, missiles_firing, missiles_reloading, charging, fighting, pursuing, routing, fighting_backs_to_the_walls, running_amok, rallying, dead, leaving_battle, entering_battle, left_battle )
Sample use: BattleEnemyActionStatus = moving
Description: What is the current action status of the player unit
Battle or Strat: Battle
Class: BATTLE_ENEMY_ACTION_STATUS
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: BattlePlayerUnitMovingFast
Trigger requirements: player_unit
Parameters: None
Sample use: BattlePlayerUnitMovingFast
Description: Is the player unit moving fast
Battle or Strat: Battle
Class: BATTLE_PLAYER_UNIT_MOVING_FAST
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: BattleEnemyUnitMovingFast
Trigger requirements: enemy_unit
Parameters: None
Sample use: BattleEnemyUnitMovingFast
Description: Is the enemy unit moving fast
Battle or Strat: Battle
Class: BATTLE_ENEMY_UNIT_MOVING_FAST
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: BattleRangeOfAttack
Trigger requirements: player_unit, enemy_unit
Parameters: logic token, test value
Sample use: BattleRangeOfAttack > 56.45
Description: Test the range of the attack (in m)
Battle or Strat: Battle
Class: BATTLE_RANGE_OF_ATTACK
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: BattleDirectionOfAttack
Trigger requirements: infer_attacking_unit, infer_defending_unit
Parameters: logic token, attack_dir (front, flank, rear)
Sample use: BattleDirectionOfAttack = front
Description: Test direction of the attack
Battle or Strat: Battle
Class: BATTLE_DIRECTION_OF_ATTACK
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: BattleIsMeleeAttack
Trigger requirements: infer_attacking_unit
Parameters: None
Sample use: BattleIsMeleeAttack
Description: Is the attacker initiating a melee attack (otherwise missile attack)
Battle or Strat: Battle
Class: BATTLE_IS_MELEE_ATTACK
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattlePlayerArmyPercentageOfUnitClass
Trigger requirements:
Parameters: logic token, unit_class (heavy, light, skirmish, spearmen, missile), percentage
Sample use: I_BattlePlayerArmyPercentageOfUnitClass missile > 50.0
Description: Test makeup of army by unit class
Battle or Strat: Battle
Class: BATTLE_PLAYER_ARMY_PERCENTAGE_OF_UNIT_CLASS
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattleEnemyArmyPercentageOfUnitClass
Trigger requirements:
Parameters: logic token, unit_class (heavy, light, skirmish, spearmen, missile), percentage
Sample use: I_BattleEnemyArmyPercentageOfUnitClass missile > 50.0
Description: Test makeup of army by unit class
Battle or Strat: Battle
Class: BATTLE_ENEMY_ARMY_PERCENTAGE_OF_UNIT_CLASS
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattlePlayerArmyPercentageOfUnitCategory
Trigger requirements:
Parameters: logic token, unit category (infantry, cavalry, siege, non_combatant, ship, handler), percentage
Sample use: I_BattlePlayerArmyPercentageOfUnitCategory missile > 50.0
Description: Test makeup of army by unit category
Battle or Strat: Battle
Class: BATTLE_PLAYER_ARMY_PERCENTAGE_OF_UNIT_CATEGORY
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattleEnemyArmyPercentageOfUnitCategory
Trigger requirements:
Parameters: logic token, unit category (infantry, cavalry, siege, non_combatant, ship, handler), percentage
Sample use: I_BattleEnemyArmyPercentageOfUnitCategory missile > 50.0
Description: Test makeup of army by unit category
Battle or Strat: Battle
Class: BATTLE_ENEMY_ARMY_PERCENTAGE_OF_UNIT_CATEGORY
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattlePlayerArmyPercentageOfMountClass
Trigger requirements:
Parameters: logic token, mount_class (horse, camel, elephant, chariot), percentage
Sample use: I_BattlePlayerArmyPercentageOfMountClass camel > 50.0
Description: Test makeup of army by mount class
Battle or Strat: Battle
Class: BATTLE_PLAYER_ARMY_PERCENTAGE_OF_MOUNT_CLASS
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattleEnemyArmyPercentageOfMountClass
Trigger requirements:
Parameters: logic token, mount_class (horse, camel, elephant, chariot), percentage
Sample use: I_BattleEnemyArmyPercentageOfMountClass camel > 50.0
Description: Test makeup of army by mount class
Battle or Strat: Battle
Class: BATTLE_ENEMY_ARMY_PERCENTAGE_OF_MOUNT_CLASS
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattlePlayerArmyPercentageOfClassAndCategory
Trigger requirements:
Parameters: logic token, unit_class (heavy, light, skirmish, spearmen, missile), unit_category (infantry, cavalry, siege, non_combatant, ship, handler), percentage
Sample use: I_BattlePlayerArmyPercentageOfClassAndCategory missile cavalry > 50.0
Description: Test makeup of army by mount class
Battle or Strat: Battle
Class: BATTLE_PLAYER_ARMY_PERCENTAGE_OF_CLASS_AND_CATEGORY
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattleEnemyArmyPercentageOfClassAndCategory
Trigger requirements:
Parameters: logic token, unit_class (heavy, light, skirmish, spearmen, missile), unit_category (infantry, cavalry, siege, non_combatant, ship, handler), percentage
Sample use: I_BattleEnemyArmyPercentageOfClassAndCategory missile cavalry > 50.0
Description: Test makeup of army by mount class
Battle or Strat: Battle
Class: BATTLE_ENEMY_ARMY_PERCENTAGE_OF_CLASS_AND_CATEGORY
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattlePlayerArmyPercentageOfSpecialAbility
Trigger requirements:
Parameters: special_ability ( testudo, phalanx, wedge, drop_engines, flaming_ammo, warcry, chant, curse, beserk, rally, kill_elephants, move_and_shoot, cantabrian_circle, shield_wall, stealth, feigned_rout ), percentage
Sample use: I_BattlePlayerArmyPercentageOfSpecialAbility testudo > 50.0
Description: Test makeup of army by special ability
Battle or Strat: Battle
Class: BATTLE_PLAYER_ARMY_PERCENTAGE_OF_SPECIAL_ABILITY
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattleEnemyArmyPercentageOfSpecialAbility
Trigger requirements:
Parameters: special_ability ( testudo, phalanx, wedge, drop_engines, flaming_ammo, warcry, chant, curse, beserk, rally, kill_elephants, move_and_shoot, cantabrian_circle, shield_wall, stealth, feigned_rout ), percentage
Sample use: I_BattleEnemyArmyPercentageOfSpecialAbility testudo > 50.0
Description: Test makeup of army by special ability
Battle or Strat: Battle
Class: BATTLE_ENEMY_ARMY_PERCENTAGE_OF_SPECIAL_ABILITY
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattlePlayerArmyPercentageCanHide
Trigger requirements:
Parameters: logic token, hide_type (hide_forest, hide_improved_forest, hide_long_grass, hide_anywhere), percentage
Sample use: I_BattlePlayerArmyPercentageCanHide hide_forest > 50.0
Description: Test makeup of army by hide capability
Battle or Strat: Battle
Class: BATTLE_PLAYER_ARMY_PERCENTAGE_CAN_HIDE
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattleEnemyArmyPercentageCanHide
Trigger requirements:
Parameters: logic token, hide_type (hide_forest, hide_improved_forest, hide_long_grass, hide_anywhere), percentage
Sample use: I_BattleEnemyArmyPercentageCanHide hide_forest > 50.0
Description: Test makeup of army by hide capability
Battle or Strat: Battle
Class: BATTLE_ENEMY_ARMY_PERCENTAGE_CAN_HIDE
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattlePlayerArmyIsAttacker
Trigger requirements:
Parameters: logic token
Sample use: I_BattlePlayerArmyIsAttacker
Description: Is the player attacking
Battle or Strat: Battle
Class: BATTLE_PLAYER_ARMY_IS_ATTACKER
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattlePlayerAllianceOddsInFavour
Trigger requirements:
Parameters: logic token
Sample use: I_BattlePlayerAllianceOddsInFavour > 5
Description: Odds in favour of the player i.e. 5 (5:1)
Battle or Strat: Battle
Class: BATTLE_PLAYER_ALLIANCE_ODDS_IN_FAVOUR
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: I_BattlePlayerAllianceOddsAgainst
Trigger requirements:
Parameters: logic token
Sample use: I_BattlePlayerAllianceOddsAgainst > 5
Description: Odds against the player i.e. 5 (5:1)
Battle or Strat: Battle
Class: BATTLE_PLAYER_ALLIANCE_ODDS_AGAINST
Implemented: Yes
Author: Scott
---------------------------------------------------
Identifier: TotalSiegeWeapons
Trigger requirements: character_record
Parameters: logic token, number
Sample use: TotalSiegeWeapons = 0
Description: Test to see how many siege weapons this characters army has got for an assault.
Battle or Strat: Strat
Class: TOTAL_NUMBER_OF_SIEGE_WEAPONS
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: I_BattleStarted
Trigger requirements:
Parameters: None
Sample use: I_BattleStarted
Description: Has the battle deployment phase ended
Battle or Strat: Battle
Class: HAS_BATTLE_STARTED
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: I_IsUnitMoveFastSet
Trigger requirements:
Parameters: unit_label
Sample use: I_IsUnitMoveFastSet roman_archers
Description: Is the specified unit flagged to move fast
Battle or Strat: Battle
Class: IS_UNIT_MOVE_FAST_SET
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: I_IsUnitMoving
Trigger requirements:
Parameters: unit_label
Sample use: I_IsUnitMoving roman_archers
Description: Is the specified unit moving
Battle or Strat: Battle
Class: IS_UNIT_MOVING
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: I_IsUnitIdle
Trigger requirements:
Parameters: unit_label
Sample use: I_IsUnitIdle roman_archers
Description: Is the specified unit idle?
Battle or Strat: Battle
Class: IS_UNIT_IDLE
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: I_IsUnitRouting
Trigger requirements:
Parameters: unit_label
Sample use: I_IsUnitRouting roman_archers
Description: Is the specified unit routing?
Battle or Strat: Battle
Class: IS_UNIT_ROUTING
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: I_IsUnitUnderFire
Trigger requirements:
Parameters: unit_label
Sample use: I_IsUnitUnderFire roman_general_unit
Description: Is the specified unit recieving missile fire?
Battle or Strat: Battle
Class: IS_UNIT_UNDER_FIRE
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: I_IsUnitEngaged
Trigger requirements:
Parameters: unit_label
Sample use: I_IsUnitEngaged roman_archers
Description: Is the specified unit engaged in combat?
Battle or Strat: Battle
Class: IS_UNIT_ENGAGED
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: I_IsUnitEngagedWithUnit
Trigger requirements:
Parameters: unit_label other_unit_label
Sample use: I_IsUnitEngagedWithUnit roman_archers barb_cavalry
Description: Tests if one specified unit is engaged in combat with the other specified unit?
Battle or Strat: Battle
Class: IS_UNIT_ENGAGED_WITH_UNIT
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: I_UnitFormation
Trigger requirements:
Parameters: unit_label logic_token formation_type
Sample use: I_UnitFormation hoplites4 = phalanx
Description: Is the specified unit in the specified formation
Battle or Strat: Battle
Class: UNIT_FORMATION
Implemented: No
Author: Robbie
---------------------------------------------------
Identifier: I_PercentageUnitKilled
Trigger requirements:
Parameters: unit_label logic_token percentage
Sample use: I_PercentageUnitKilled roman_archers > 50
Description: Tests the percentage of men lost from the specified unit
Battle or Strat: Battle
Class: PERCENTAGE_UNIT_KILLED
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: I_UnitPercentageAmmoLeft
Trigger requirements:
Parameters: unit_label logic_token percentage
Sample use: I_UnitPercentageAmmoLeft roman_archers > 75
Description: Tests the percentage of ammo the unit has remaining
Battle or Strat: Battle
Class: UNIT_PERCENTAGE_AMMO_LEFT
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: I_UnitDistanceFromPosition
Trigger requirements:
Parameters: unit_label pos_x pos_y logic_token distance
Sample use: I_UnitDistanceFromPosition roman_archers 100 -60 < 20
Description: Tests the specified unit's range from the given position
Battle or Strat: Battle
Class: UNIT_DISTANCE_FROM_POSITION
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: I_UnitDistanceFromLine
Trigger requirements:
Parameters: unit_label location_1 location_2 logic_token distance
Sample use: I_UnitDistanceFromLine roman_archers river_line_A river_line_B < 20
Description: Tests the specified unit's distance from the line (looking from A to B, a unit to the left of the line will give a negative distance, one on the right will be positive)
Battle or Strat: Battle
Class: UNIT_DISTANCE_FROM_LINE
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: I_UnitDistanceFromUnit
Trigger requirements:
Parameters: unit_label1 unit_label2 logic_token distance
Sample use: I_UnitDistanceFromUnit roman_archers gaul_warband < 100
Description: Tests the 2 specified units' distance from each other
Battle or Strat: Battle
Class: UNIT_DISTANCE_FROM_UNIT
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: I_UnitInRangeOfUnit
Trigger requirements:
Parameters: attacker_unit_label target_unit_label
Sample use: I_UnitInRangeOfUnit roman_archers gaul_warband
Description: Tests if the attacker can hit the target with missile weapons
Battle or Strat: Battle
Class: UNIT_IN_RANGE_OF_UNIT
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: I_UnitDestroyed
Trigger requirements:
Parameters: unit_label
Sample use: I_UnitDestroyed roman_archers
Description: Has the specified unit been wiped out?
Battle or Strat: Battle
Class: UNIT_DESTROYED
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: I_UnitEnemyUnitInRadius
Trigger requirements:
Parameters: unit_label radius
Sample use: I_UnitEnemyUnitInRadius roman_archers 100
Description: Tests if there is any enemy within the specified radius of the unit
Battle or Strat: Battle
Class: UNIT_ENEMY_UNIT_IN_RADIUS
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: I_IsUnitGroupMoving
Trigger requirements:
Parameters: group_label
Sample use: I_IsUnitGroupMoving group1
Description: Is any unit in the group moving?
Battle or Strat: Battle
Class: IS_UNIT_GROUP_MOVING
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: I_IsUnitGroupEngaged
Trigger requirements:
Parameters: group_label
Sample use: I_IsUnitGroupEngaged group1
Description: Is any unit in the group engaged in combat?
Battle or Strat: Battle
Class: IS_UNIT_GROUP_ENGAGED
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: I_IsUnitGroupIdle
Trigger requirements:
Parameters: group_label
Sample use: I_IsUnitGroupIdle group1
Description: Are all units in the group idle?
Battle or Strat: Battle
Class: IS_UNIT_GROUP_IDLE
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: I_IsUnitGroupDestroyed
Trigger requirements:
Parameters: group_label
Sample use: I_IsUnitGroupDestroyed group1
Description: Is the unit group destroyed (killed or routed)
Battle or Strat: Battle
Class: IS_UNIT_GROUP_DESTROYED
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: I_PercentageUnitGroupKilled
Trigger requirements:
Parameters: group_label logic_token percentage
Sample use: I_PercentageUnitGroupKilled roman_archers < 50
Description: Tests the percentage of men lost from the unit group
Battle or Strat: Battle
Class: PERCENTAGE_UNIT_GROUP_KILLED
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: I_UnitGroupFormation
Trigger requirements:
Parameters: group_label logic_token formation_name
Sample use: I_UnitGroupFormation roman_archers = ordered_triple_line_1
Description: Tests the unit group's group formation
Battle or Strat: Battle
Class: UNIT_GROUP_FORMATION
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: I_UnitGroupDistanceFromPosition
Trigger requirements:
Parameters: group_label position logic_token distance
Sample use: I_UnitGroupDistanceFromPosition roman_archers -20 -415 < 100
Description: Tests the unit_group's centre_front against the given position
Battle or Strat: Battle
Class: UNIT_GROUP_DISTANCE_FROM_POSITION
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: I_UnitGroupDistanceFromGroup
Trigger requirements:
Parameters: group_label target_group_label logic_token distance
Sample use: I_UnitGroupDistanceFromGroup roman_archers gaul_swordsmen < 50
Description: Tests the distance between two unit groups
Battle or Strat: Battle
Class: UNIT_GROUP_DISTANCE_FROM_GROUP
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: I_UnitGroupInRangeOfUnit
Trigger requirements:
Parameters: group_label target_unit_label
Sample use: I_UnitGroupInRangeOfUnit archer_group enemy_unit1
Description: Tests if any unit in the group is within range of the target unit
Battle or Strat: Battle
Class: UNIT_GROUP_IN_RANGE_OF_UNIT
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: I_UnitInRangeOfUnitGroup
Trigger requirements:
Parameters: unit_label target_group_label
Sample use: I_UnitInRangeOfUnitGroup roman_archers enemy_group3
Description: Tests if the unit is within range of any of the units in the target group
Battle or Strat: Battle
Class: UNIT_IN_RANGE_OF_UNIT_GROUP
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: I_UnitGroupInRangeOfUnitGroup
Trigger requirements:
Parameters: group_label target_group_label
Sample use: I_UnitGroupInRangeOfUnitGroup archer_group2 enemy_group6
Description: Tests if any unit in the group can hit any unit in the target group
Battle or Strat: Battle
Class: UNIT_GROUP_IN_RANGE_OF_UNIT_GROUP
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: I_PlayerInRangeOfUnitGroup
Trigger requirements:
Parameters: group_label
Sample use: I_PlayerInRangeOfUnitGroup enemy_group2
Description: tests if any player unit is in range of any unit in the group
Battle or Strat: Battle
Class: PLAYER_IN_RANGE_OF_UNIT_GROUP
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: I_PlayerInRangeOfUnit
Trigger requirements:
Parameters: unit_label
Sample use: I_PlayerInRangeOfUnit roman_archers
Description: Is any unit in the player's army in range of the specified unit
Battle or Strat: Battle
Class: PLAYER_IN_RANGE_OF_UNIT
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: I_UnitTypeSelected
Trigger requirements:
Parameters: unit type ('type' from export_descr_units.txt)
Sample use: I_UnitTypeSelected roman archer auxillia
Description: Tests if the player has a particular unit type selected
Battle or Strat: Battle
Class: UNIT_TYPE_SELECTED
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: UnitType
Trigger requirements: resource_description
Parameters: unit type ('type' from export_descr_units.txt)
Sample use: UnitType roman archer auxillia
Description: Tests if a unit is of a particular type
Battle or Strat: Either
Class: UNIT_TYPE
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: I_UnitSelected
Trigger requirements:
Parameters: unit_label
Sample use: I_UnitSelected roman_archers
Description: Is the specified unit selected?
Battle or Strat: Battle
Class: UNIT_SELECTED
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: I_MultipleUnitsSelected
Trigger requirements:
Parameters: None
Sample use: I_MultipleUnitsSelected
Description: Are multiple units selected?
Battle or Strat: Battle
Class: MULTIPLE_UNITS_SELECTED
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: I_SpecificUnitsSelected
Trigger requirements:
Parameters: unit_label1, unit_label2, unit_label3, ...
Sample use: I_SpecificUnitsSelected roman_archers roman_hastati roman_gladiators1
Description: Tests if all the specified units are selected
Battle or Strat: Battle
Class: SPECIFIC_UNITS_SELECTED
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: I_IsCameraZoomingToUnit
Trigger requirements:
Parameters: unit_label
Sample use: I_IsCameraZoomingToUnit roman_archers
Description: Tests if the camera is zooming to the specified unit
Battle or Strat: Battle
Class: IS_CAMERA_ZOOMING_TO_UNIT
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: Trait
Trigger requirements: character_record
Parameters: trait description, logic token, level
Sample use: Trait Girls = 2
Description: Test a character's father's traits for hereditary traits
Battle or Strat: Either
Class: FATHER_TRAIT_TEST
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: Attribute
Trigger requirements: character_record
Parameters: attribute description, logic token, level
Sample use: Attribute Management >= 2
Description: Test a character's attributes or hidden attributes
Battle or Strat: Either
Class: CHARACTER_ATTRIBUTE_TEST
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: RemainingMPPercentage
Trigger requirements: character_record
Parameters: logic token, level
Sample use: RemainingMPPercentage >= 35.8
Description: If this character has not moved this turn, he should have maximum movement points left. Test for percentage remaining. Will almost never be exactly zero, so check for < 10
Battle or Strat: Strat
Class: CHARACTER_MP_REMAINING_PERCENTAGE
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: I_RemainingMPPercentage
Trigger requirements:
Parameters: logic token, level
Sample use: I_RemainingMPPercentage Gaius Julius >= 35.8
Description: If this character has not moved this turn, he should have maximum movement points left. Test for percentage remaining. Will almost never be exactly zero, so check for < 10
Battle or Strat: Strat
Class: I_CHARACTER_MP_REMAINING_PERCENTAGE
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: I_CharacterCanMove
Trigger requirements:
Parameters: logic token, level
Sample use: I_CharacterCanMove Gaius Julius
Description: Can the named character move to any square? He may only be able to move in one direction, particularly the one he came from, so don't assume ability to move means he can move usefully.
Battle or Strat: Strat
Class: I_CHARACTER_CAN_MOVE
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: NoActionThisTurn
Trigger requirements: character_record
Parameters: None
Sample use: NoActionThisTurn
Description: Test to see if the character was idle throughout this turn
Battle or Strat: Strat
Class: CHARACTER_NOT_PERFORMED_ACTION
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: AgentType
Trigger requirements: character_record
Parameters: character type (spy, assassin, diplomat, admiral, general, named character, family)
Sample use: AgentType = diplomat
Description: Test to see if a character is of a particular type (spy, admiral, named character &c.)
Battle or Strat: Strat
Class: CHARACTER_TYPE_TEST
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: TrainedAgentType
Trigger requirements: character_record
Parameters: character type (spy, assassin, diplomat, admiral, general, named character, family)
Sample use: TrainedAgentType = diplomat
Description: Test to see if a character is of a particular type (spy, admiral, named character &c.)
Battle or Strat: Strat
Class: GOVERNOR_TRAINED_AGENT_TYPE_TEST
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: DisasterType
Trigger requirements: event_type
Parameters: event type (earthquake, flood, horde, fire, riot, storm, volcano)
Sample use: DisasterType earthquake
Description: Test to see if a particular disaster just happened
Battle or Strat: Strat
Class: CHARACTER_AFFECTED_BY_DISASTER_EVENT_TEST
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: CultureType
Trigger requirements: character_record
Parameters: culture type (roman, barbarian, carthaginian, greek, egyptian, eastern)
Sample use: CultureType greek
Description: Test the character's culture type
Battle or Strat: Either
Class: CHARACTER_CULTURE
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: IsGeneral
Trigger requirements: character_record
Parameters: None
Sample use: IsGeneral
Description: Test to see if the character has an army
Battle or Strat: Either
Class: CHARACTER_IS_GENERAL
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: EndedInSettlement
Trigger requirements: character_record
Parameters: None
Sample use: EndedInSettlement
Description: Test to see if the character is in a settlement
Battle or Strat: Either
Class: CHARACTER_IN_SETTLEMENT
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: IsFactionLeader
Trigger requirements: character_record
Parameters: None
Sample use: IsFactionLeader
Description: Test to see if the character is a faction leader
Battle or Strat: Either
Class: CHARACTER_IS_LEADER
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: IsFactionHeir
Trigger requirements: character_record
Parameters: None
Sample use: IsFactionHeir
Description: Test to see if the character is a faction heir
Battle or Strat: Either
Class: CHARACTER_IS_HEIR
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: IsMarried
Trigger requirements: character_record
Parameters: None
Sample use: IsMarried
Description: Test to see if the character is married
Battle or Strat: Either
Class: CHARACTER_IS_MARRIED
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: AtSea
Trigger requirements: character_record
Parameters: None
Sample use: AtSea
Description: Is the character at sea?
Battle or Strat: Either
Class: CHARACTER_AT_SEA
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: InEnemyLands
Trigger requirements: character_record
Parameters: None
Sample use: InEnemyLands
Description: Is the character in enemy lands?
Battle or Strat: Either
Class: CHARACTER_IN_ENEMY_LANDS
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: InBarbarianLands
Trigger requirements: character_record
Parameters: None
Sample use: InBarbarianLands
Description: Is the character in lands of a barbarian culture?
Battle or Strat: Either
Class: CHARACTER_IN_BARBARIAN_LANDS
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: IsBesieging
Trigger requirements: character_record
Parameters: None
Sample use: IsBesieging
Description: Is the character besieging a settlement?
Battle or Strat: Either
Class: CHARACTER_IS_BESIEGING
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: IsUnderSiege
Trigger requirements: character_record
Parameters: None
Sample use: IsUnderSiege
Description: Is the character in a garrison residence under siege?
Battle or Strat: Either
Class: CHARACTER_IS_UNDER_SIEGE
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: I_WithdrawsBeforeBattle
Trigger requirements:
Parameters: None
Sample use: I_WithdrawsBeforeBattle
Description: Was the last battle aborted?
Battle or Strat: Either
Class: CHARACTER_WITHDRAWS_BEFORE_BATTLE
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: EndedInEnemyZOC
Trigger requirements: character_record
Parameters: None
Sample use: EndedInEnemyZOC
Description: Is the character in an enemy zone of control?
Battle or Strat: Either
Class: ENDED_IN_ENEMY_ZOC
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: AdviseAction
Trigger requirements: character_action_advice
Parameters: logic token, action (attack_enemy, attack_settlement, merge_armies, patrol_region, move_to_region, do_nothing)
Sample use: AdviseAction = attack_settlement
Description: Is this the best thing this character can do now?
Battle or Strat: Strat
Class: ADVISE_ACTION
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: I_CharacterTypeNearCharacterType
Trigger requirements:
Parameters: faction, character type, distance in squares, faction, character type
Sample use: I_CharacterTypeNearCharacterType romans_julii spy 10 gaul named character
Description: Is a particular character type of a faction near another particular character type of another faction?
Battle or Strat: Strat
Class: I_CHARACTER_NEAR_CHARACTER
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: I_CharacterTypeNearTile
Trigger requirements:
Parameters: faction, character type, distance in squares, x, z
Sample use: I_CharacterTypeNearTile romans_julii named_character, 10 48,30
Description: Is a particular character type of a faction near a particular tile?
Battle or Strat: Strat
Class: I_CHARACTER_NEAR_TILE
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: FactionType
Trigger requirements: faction
Parameters: faction type
Sample use: FactionType romans_julii
Description: Test the faction type
Battle or Strat: Either
Class: FACTION_TYPE_CHECK
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: TargetFactionType
Trigger requirements: target_faction
Parameters: faction type
Sample use: TargetFactionType romans_julii
Description: Test the target faction type
Battle or Strat: Either
Class: TARGET_FACTION_TYPE_CHECK
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: FactionCultureType
Trigger requirements: faction
Parameters: culture type (roman, barbarian, carthaginian, greek, egyptian, eastern)
Sample use: FactionCultureType greek
Description: Test the faction's culture type
Battle or Strat: Either
Class: FACTION_CULTURE
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: TargetFactionCultureType
Trigger requirements: target_faction
Parameters: culture type (roman, barbarian, carthaginian, greek, egyptian, eastern)
Sample use: TargetFactionCultureType greek
Description: Test the target faction's culture type
Battle or Strat: Either
Class: TARGET_FACTION_CULTURE
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: TrainedUnitCategory
Trigger requirements: unit_category
Parameters: category description (infantry, cavalry, siege, non_combatant, ship, handler)
Sample use: TrainedUnitCategory cavalry
Description: Test to see if the unit is of a particular category
Battle or Strat: Strat
Class: GOVERNOR_TRAINED_UNIT_TYPE_TEST
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: UnitCategory
Trigger requirements: unit_category
Parameters: logic token, category description
Sample use:
Description: Test to see if the unit is of a particular category
Battle or Strat: Strat
Class: UNIT_CATEGORY_TYPE_TEST
Implemented: No
Author: Lee
---------------------------------------------------
Identifier: SenateMissionTimeRemaining
Trigger requirements: faction
Parameters: logic token, number of turns
Sample use: SenateMissionTimeRemaining < 3
Description: Test the number of turns before the next senate mission expires
Battle or Strat: Either
Class: SENATE_MISSION_TIME_REMAINING
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: MedianTaxLevel
Trigger requirements: faction
Parameters: logic token, tax level (tax_low, tax_normal, tax_high, tax_extortionate)
Sample use: MedianTaxLevel > tax_high
Description: Compare the median tax level
Battle or Strat: Either
Class: MEDIAN_TAX_LEVEL
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: ModeTaxLevel
Trigger requirements: faction
Parameters: logic token, tax level (tax_low, tax_normal, tax_high, tax_extortionate)
Sample use: ModeTaxLevel > tax_high
Description: Compare the mode tax level
Battle or Strat: Either
Class: MODE_TAX_LEVEL
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: I_ModeTaxLevel
Trigger requirements:
Parameters: faction, logic token, tax level (tax_low, tax_normal, tax_high, tax_extortionate)
Sample use: I_ModeTaxLevel romans_julii > tax_high
Description: Compare the mode tax level
Battle or Strat: Either
Class: I_MODE_TAX_LEVEL
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: MissionSuccessLevel
Trigger requirements: mission_success_level
Parameters: logic token, success level (not_successful, slightly_successful, partly_successful, highly_successful)
Sample use: MissionSuccessLevel > slightly_successful
Description: Was the mission sufficiently successful?
Battle or Strat: Strat
Class: MISSION_SUCCESS_TYPE
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: MissionSucceeded
Trigger requirements:
Parameters: None (no not modifier either)
Sample use: MissionSucceeded
Description: Was the mission sufficiently successful?
Battle or Strat: Strat
Class: MISSION_SUCCEEDED
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: MissionFactionTargetType
Trigger requirements: faction
Parameters: faction type
Sample use: MissionFactionTargetType romans_julii
Description: Is the faction of a particular type?
Battle or Strat: Either
Class: MISSION_FACTION_TARGET_TYPE
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: MissionCultureTargetType
Trigger requirements: faction, character_record
Parameters: culture type (roman, barbarian, carthaginian, greek, egyptian, eastern)
Sample use: MissionCultureTargetType own, MissionCultureTargetType greek
Description: Is the faction of a particular type?
Battle or Strat: Either
Class: MISSION_CULTURE_TARGET_TYPE
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: DiplomaticStanceFromCharacter
Trigger requirements: character_record
Parameters: faction type, logic token, stance (Allied, Suspicious, Neutral, Hostile, AtWar)
Sample use: DiplomaticStanceFromCharacter romans_julii > Suspicious
Description: Test the character's faction's diplomatic stance with another specified faction
Battle or Strat: Either
Class: DIPLOMATIC_STANCE_FROM_CHARACTER
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: DiplomaticStanceFromFaction
Trigger requirements: faction
Parameters: faction type, logic token, stance (Allied, Suspicious, Neutral, Hostile, AtWar)
Sample use: DiplomaticStanceFromFaction romans_julii > Suspicious
Description: Test the character's faction's diplomatic stance with another specified faction
Battle or Strat: Either
Class: DIPLOMATIC_STANCE_FROM_FACTION
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: FactionHasAllies
Trigger requirements: faction
Parameters:
Sample use: FactionHasAllies
Description: Test whether the faction is allied with any other faction
Battle or Strat: Either
Class: FACTION_HAS_ALLIES
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: LosingMoney
Trigger requirements:
Parameters: None
Sample use: LosingMoney
Description: Is the faction losing money on the end of year balance sheet?
Battle or Strat: Strat
Class: LOSING_MONEY
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: I_LosingMoney
Trigger requirements:
Parameters: None
Sample use: I_LosingMoney romans_julii
Description: Is the faction losing money on the end of year balance sheet?
Battle or Strat: Strat
Class: I_LOSING_MONEY
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: SupportCostsPercentage
Trigger requirements: faction
Parameters: logic token, percentage
Sample use: SupportCostsPercentage > 35.8
Description: Does the percentage of expenditure devoted to support costs exceed the threshold?
Battle or Strat: Strat
Class: SUPPORT_COSTS_PERCENTAGE
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: Treasury
Trigger requirements: faction
Parameters: logic token, quantity
Sample use: Treasury > 2000
Description: Does the cash-in-hand exceed the threshold?
Battle or Strat: Strat
Class: TREASURY
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: OnAWarFooting
Trigger requirements: faction
Parameters: None
Sample use: OnAWarFooting
Description: Is the faction on a war footing?
Battle or Strat: Strat
Class: ON_A_WAR_FOOTING
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: I_FactionBesieging
Trigger requirements:
Parameters: faction type
Sample use: not I_FactionBesieging romans_julii
Description: Is the faction besieging a settlement somewhere?
Battle or Strat: Strat
Class: FACTION_BESIEGING
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: I_FactionBesieged
Trigger requirements:
Parameters: faction type
Sample use: not I_FactionBesieged romans_julii
Description: Is the faction besieged at any settlement?
Battle or Strat: Strat
Class: FACTION_BESIEGED
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: I_NumberOfSettlements
Trigger requirements:
Parameters: number of settlements
Sample use: I_NumberOfSettlements thrace > 3
Description: How many settlements does the faction hold?
Battle or Strat: Strat
Class: I_NUMBER_OF_SETTLEMENTS
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: I_NumberOfHeirs
Trigger requirements:
Parameters: number of heirs
Sample use: I_NumberOfHeirs thrace > 3
Description: How many heirs does the faction leader have?
Battle or Strat: Strat
Class: I_NUMBER_OF_HEIRS
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: I_FactionNearTile
Trigger requirements:
Parameters: faction, distance in squares, x, z
Sample use: I_FactionNearTile romans_julii 10 48,30
Description: Is a member of a faction near a particular tile?
Battle or Strat: Strat
Class: I_FACTION_NEAR_TILE
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: SettlementsTaken
Trigger requirements: faction
Parameters: logic token, quantity
Sample use: SettlementsTaken = 6
Description: How many settlements has the player captured so far during this campaign?
Battle or Strat: Either
Class: SETTLEMENTS_TAKEN
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: BattlesFought
Trigger requirements: faction
Parameters: logic token, quantity
Sample use: BattlesFought = 6
Description: How many battles has the player fought so far during this campaign?
Battle or Strat: Either
Class: BATTLES_FOUGHT
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: BattlesWon
Trigger requirements: faction
Parameters: logic token, quantity
Sample use: BattlesWon = 6
Description: How many battles has the player won so far during this campaign?
Battle or Strat: Either
Class: BATTLES_WON
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: BattlesLost
Trigger requirements: faction
Parameters: logic token, quantity
Sample use: BattlesLost = 6
Description: How many battles has the player won so far during this campaign?
Battle or Strat: Either
Class: BATTLES_LOST
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: DefensiveSiegesFought
Trigger requirements: faction
Parameters: logic token, quantity
Sample use: DefensiveSiegesFought = 6
Description: How many defensive sieges has the player fought so far during this campaign?
Battle or Strat: Either
Class: DEFENSIVE_SIEGES_FOUGHT
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: DefensiveSiegesWon
Trigger requirements: faction
Parameters: logic token, quantity
Sample use: DefensiveSiegesWon = 6
Description: How many defensive sieges has the player won so far during this campaign?
Battle or Strat: Either
Class: DEFENSIVE_SIEGES_WON
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: OffensiveSiegesFought
Trigger requirements: faction
Parameters: logic token, quantity
Sample use: OffensiveSiegesFought = 6
Description: How many offensive sieges has the player fought so far during this campaign?
Battle or Strat: Either
Class: OFFENSIVE_SIEGES_FOUGHT
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: OffensiveSiegesWon
Trigger requirements: faction
Parameters: logic token, quantity
Sample use: OffensiveSiegesWon = 6
Description: How many offensive sieges has the player won so far during this campaign?
Battle or Strat: Either
Class: OFFENSIVE_SIEGES_WON
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: RandomPercent
Trigger requirements:
Parameters: logic token, percentage (integer)
Sample use: RandomPercent > 50
Description: Pick a number from 0 to 100 at random
Battle or Strat: Either
Class: RANDOM_PERCENT
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: TrueCondition
Trigger requirements:
Parameters:
Sample use: not TrueCondition
Description: When you need to supply a true/false, for debugging and monitor_event
Battle or Strat: Either
Class: TRUE_CONDITION
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: SettlementName
Trigger requirements: settlement
Parameters: settlement name
Sample use: SettlementName Tarquinii
Description: For scripting - does the settlement have this name
Battle or Strat: Either
Class: SETTLEMENT_NAME
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: GovernorBuildingExists
Trigger requirements: character_record
Parameters: building description, logic token, test level
Sample use: GovernorBuildingExists = governors_house
Description: Test to see if the character is a governor and his settlement has a building at a particular level
Battle or Strat: Strat
Class: GOVERNORS_BUILDING_LEVEL_EXISTS_TEST
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: SettlementBuildingExists
Trigger requirements: settlement
Parameters: building description, logic token, test level
Sample use: SettlementBuildingExists = governors_house
Description: Test to see if the settlement has a building at a particular level
Battle or Strat: Strat
Class: SETTLEMENT_BUILDING_LEVEL_EXISTS_TEST
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: BuildingFinishedByGovernor
Trigger requirements: character_record, prior_build
Parameters: building description, logic token, test level
Sample use: BuildingFinishedByGovernor = governors_house
Description: Test to see if the character is a governor and what the last finished building was
Battle or Strat: Strat
Class: GOVERNORS_BUILDING_LEVEL_FINISHED_TEST
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: SettlementBuildingFinished
Trigger requirements: prior_build
Parameters: building description, logic token, test level
Sample use: SettlementBuildingFinished = governors_house
Description: Test to see what the last finished building was
Battle or Strat: Strat
Class: SETTLEMENT_BUILDING_LEVEL_FINISHED_TEST
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: GovernorPlugInExists
Trigger requirements: character_record
Parameters: logic token, plug-in
Sample use: GovernorPlugInExists > storage_pits
Description: Test to see if the character is a governor and his settlement has a plug-in at a particular level
Battle or Strat: Strat
Class: GOVERNORS_PLUG_IN_LEVEL_EXISTS_TEST
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: GovernorPlugInFinished
Trigger requirements: character_record, prior_build
Parameters: logic token, plug-in
Sample use: GovernorPlugInFinished > storage_pits
Description: Test to see if the character is a governor and what the last finished plug-in was
Battle or Strat: Strat
Class: GOVERNORS_PLUG_IN_LEVEL_FINISHED_TEST
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: GovernorTaxLevel
Trigger requirements: character_record
Parameters: logic token, tax level (tax_low, tax_normal, tax_high, tax_extortionate)
Sample use: GovernorTaxLevel > tax_high
Description: Is the character a governor who is taxing the populace at a particular level?
Battle or Strat: Either
Class: GOVERNOR_TAX_LEVEL
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: SettlementTaxLevel
Trigger requirements: settlement
Parameters: logic token, tax level (tax_low, tax_normal, tax_high, tax_extortionate)
Sample use: SettlementTaxLevel > tax_high
Description: Is the settlement taxing the populace at a particular level?
Battle or Strat: Either
Class: SETTLEMENT_TAX_LEVEL
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: GovernorInResidence
Trigger requirements: settlement
Parameters: None
Sample use: GovernorInResidence
Description: Does the settlement lack a governor?
Battle or Strat: Strat
Class: GOVERNOR_IN_RESIDENCE
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: GovernorLoyaltyLevel
Trigger requirements: character_record
Parameters: logic token, value (loyalty_revolting, loyalty_rioting, loyalty_disillusioned, loyalty_content, loyalty_happy)
Sample use: GovernorLoyaltyLevel > loyalty_rioting
Description: Is the character a governor and, if so how loyal is the settlement to him?
Battle or Strat: Either
Class: GOVERNOR_LOYALTY_LEVEL
Implemented: Yes
Author: Lee
---------------------------------------------------
Identifier: SettlementLoyaltyLevel
Trigger requirements: settlement
Parameters: logic token, value (loyalty_revolting, loyalty_rioting, loyalty_disillusioned, loyalty_content, loyalty_happy)
Sample use: SettlementLoyaltyLevel > loyalty_rioting
Description: How loyal is the settlement?
Battle or Strat: Either
Class: SETTLEMENT_LOYALTY_LEVEL
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: RiotRisk
Trigger requirements: settlement
Parameters: logic token, percentage (integral, < 40 since there is never more than a 40% chance of rioting)
Sample use: RiotRisk > 30
Description: What is the chance of this settlement rioting?
Battle or Strat: Either
Class: RIOT_RISK
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: BuildingQueueIdleDespiteCash
Trigger requirements: settlement
Parameters: None
Sample use: BuildingQueueIdleDespiteCash
Description: Is the faction exploiting its build capability to the full?
Battle or Strat: Either
Class: BUILDING_QUEUE_IDLE_DESPITE_CASH
Implemented: Yes
Author: Alan
---------------------------------------------------
Identifier: TrainingQueueIdleDespiteCash
Trigger requirements: settlement
Parameters: None
Sample use: TrainingQueueIdleDespiteCash
Description: Is the faction exploiting its recruitment capability to the full?
Battle or Strat: Either
Class: TRAINING_QUEUE_IDLE_DESPITE_CASH
Implemented: Yes
Author: Alan
---------------------------------------------------
Identifier: I_SettlementExists
Trigger requirements:
Parameters: settlement name
Sample use: I_SettlementExists Segesta
Description: Does a settlement by this name exist?
Battle or Strat: Strat
Class: SETTLEMENT_EXISTS
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: I_SettlementOwner
Trigger requirements:
Parameters: settlement name, logic token, faction type
Sample use: I_SettlementOwner Segesta = romans_julii
Description: Is this settlement owned by this faction?
Battle or Strat: Strat
Class: SETTLEMENT_OWNER
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: AdviseFinancialBuild
Trigger requirements: best_finance_option
Parameters: build type (farms, mines, tax, trade)
Sample use: AdviseFinancialBuild = mines
Description: Is this the best thing to build to increase financial production?
Battle or Strat: Strat
Class: ADVISE_FINANCIAL_BUILD
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: AdviseBuild
Trigger requirements: advised_build
Parameters: build type (from tech tree) - use No_building for none available
Sample use: AdviseBuild = mines, AdviseBuild = No_building
Description: Is this the best thing to build?
Battle or Strat: Strat
Class: ADVISE_BUILD
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: AdviseRecruit
Trigger requirements:
Parameters: unit type (from unit database) - use No_unit for none available
Sample use: AdviseRecruit = triarii, AdviseRecruit = No_unit
Description: Is this the best thing to recruit?
Battle or Strat: Strat
Class: ADVISE_RECRUIT
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: SettlementPopulationMaxedOut
Trigger requirements: settlement
Parameters:
Sample use: SettlementPopulationMaxedOut
Description: Is the settlement full for its level? (Actually, >95%)
Battle or Strat: Strat
Class: SETTLEMENT_POPULATION_MAXED_OUT
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: SettlementPopulationTooLow
Trigger requirements: settlement
Parameters:
Sample use: SettlementPopulationTooLow
Description: Is the settlement too empty to recruit from?
Battle or Strat: Strat
Class: SETTLEMENT_POPULATION_TOO_LOW
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: SettlementAutoManaged
Trigger requirements: settlement
Parameters: Automanagement type (Troops, Buildings, Mechanics)
Sample use: not SettlementAutoManaged Troops
Description: Is the settlement auto managed in a particular way?
Battle or Strat: Strat
Class: SETTLEMENT_AUTO_MANAGED
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: PercentageOfPopulationInGarrison
Trigger requirements: settlement
Parameters:
Sample use: PercentageOfPopulationInGarrison > 35
Description: Check the percentage of population that is currently in the garrison
Battle or Strat: Strat
Class: PERCENTAGE_OF_POPULATION_IN_GARRISON
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: GarrisonToPopulationRatio
Trigger requirements: settlement
Parameters:
Sample use: GarrisonSettlementRatio > 0.35
Description: Calculate the ratio of soldiers to civilians
Battle or Strat: Strat
Class: GARRISON_TO_POPULATION_RATIO
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: HealthPercentage
Trigger requirements: settlement
Parameters:
Sample use: HealthPercentage > 35
Description: Check the health of the settlement
Battle or Strat: Strat
Class: HEALTH_PERCENTAGE
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: SettlementHasPlague
Trigger requirements: settlement
Parameters:
Sample use: SettlementHasPlague
Description: Is the settlement plague-ridden?
Battle or Strat: Strat
Class: SETTLEMENT_HAS_PLAGUE
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: IsFortGarrisoned
Trigger requirements: fort
Parameters:
Sample use: IsFortGarrisoned
Description: Are there any troops in the fort?
Battle or Strat: Strat
Class: IS_FORT_GARRISONED
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: IsSettlementGarrisoned
Trigger requirements: settlement
Parameters:
Sample use: IsSettlementGarrisoned
Description: Are there any troops in the settlement?
Battle or Strat: Strat
Class: IS_SETTLEMENT_GARRISONED
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: I_NumberUnitsInSettlement
Trigger requirements:
Parameters: settlement, unit type (UNIT_DESCRIPTION.id), logic token, quantity
Sample use: I_NumberUnitsInSettlement Tarquinii roman_city_militia < 5
Description: How many units are in the settlement?
Battle or Strat: Strat
Class: NUMBER_UNITS_IN_SETTLEMENT
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: CharacterIsLocal
Trigger requirements: character_record
Parameters: None
Sample use: CharacterIsLocal
Description: Is the character a member of the local faction?
Battle or Strat: Either
Class: CHARACTER_IS_LOCAL
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: TargetCharacterIsLocal
Trigger requirements: target_character_record
Parameters: None
Sample use: TargetCharacterIsLocal
Description: Is the target character a member of the local faction?
Battle or Strat: Either
Class: TARGET_CHARACTER_IS_LOCAL
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: SettlementIsLocal
Trigger requirements: settlement
Parameters: None
Sample use: SettlementIsLocal
Description: Does the settlement belong to the local faction?
Battle or Strat: Either
Class: SETTLEMENT_IS_LOCAL
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: TargetSettlementIsLocal
Trigger requirements: settlement
Parameters: None
Sample use: TargetSettlementIsLocal
Description: Does the target settlement belong to the local faction?
Battle or Strat: Either
Class: TARGET_SETTLEMENT_IS_LOCAL
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: RegionIsLocal
Trigger requirements: region_id
Parameters: None
Sample use: RegionIsLocal
Description: Does the region belong to the local faction?
Battle or Strat: Either
Class: REGION_IS_LOCAL
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: TargetRegionIsLocal
Trigger requirements: region_id
Parameters: None
Sample use: TargetRegionIsLocal
Description: Does the target region belong to the local faction?
Battle or Strat: Either
Class: TARGET_REGION_IS_LOCAL
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: ArmyIsLocal
Trigger requirements: army
Parameters: None
Sample use: ArmyIsLocal
Description: Does the army belong to the local faction?
Battle or Strat: Either
Class: ARMY_IS_LOCAL
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: TargetArmyIsLocal
Trigger requirements: army
Parameters: None
Sample use: TargetArmyIsLocal
Description: Does the target army belong to the local faction?
Battle or Strat: Either
Class: TARGET_ARMY_IS_LOCAL
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: FactionIsLocal
Trigger requirements: faction
Parameters: None
Sample use: FactionIsLocal
Description: Is the faction the local faction?
Battle or Strat: Either
Class: FACTION_IS_LOCAL
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: I_LocalFaction
Trigger requirements:
Parameters: faction
Sample use: I_LocalFaction romans_julii
Description: Is the faction the local faction?
Battle or Strat: Either
Class: I_LOCAL_FACTION
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: TargetFactionIsLocal
Trigger requirements: target_faction
Parameters: None
Sample use: TargetFactionIsLocal
Description: Is the target faction the local faction?
Battle or Strat: Either
Class: TARGET_FACTION_IS_LOCAL
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: I_TurnNumber
Trigger requirements:
Parameters: logic token, turn number
Sample use: I_TurnNumber > 50
Description: The current turn number (starts at 0)
Battle or Strat: Either
Class: TURN_NUMBER
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: I_MapName
Trigger requirements:
Parameters: map file name
Sample use: not I_MapName world\maps\campaign\sons_of_mars\descr_strat.txt
Description: The qualified file name of the current map relative to the data directory
Battle or Strat: Either
Class: MAP_NAME
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: I_ThreadCount
Trigger requirements:
Parameters: advice thread, logic token, value
Sample use: I_ThreadCount City_Riots_Reduce_Taxes_Thread > 5
Description: Has this advice thread been incremented many times?
Battle or Strat: Strat
Class: THREAD_COUNT
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: I_IsTriggerTrue
Trigger requirements:
Parameters: trigger name
Sample use: I_IsTriggerTrue sample_trigger_name
Description: Has this advice thread been incremented many times?
Battle or Strat: Strat
Class: TRIGGER_TRUE
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: IncomingMessageType
Trigger requirements: event
Parameters: message identifier (see Tom)
Sample use: IncomingMessageType senate_mission_issued
Description: Has this message just been received
Battle or Strat: Strat
Class: INCOMING_MESSAGE
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: I_AdvisorVerbosity
Trigger requirements:
Parameters: logic token, advisor verbosity
Sample use: I_AdvisorVerbosity > 2
Description: The advisor verbosity
Battle or Strat: Either
Class: ADVISOR_VERBOSITY
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: I_AdvisorVisible
Trigger requirements:
Parameters:
Sample use: not I_AdvisorVisible
Description: Is the advisor currently visible?
Battle or Strat: Either
Class: ADVISOR_VISIBLE
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: I_CharacterSelected
Trigger requirements:
Parameters: character name
Sample use: I_CharacterSelected Gaius Julius
Description: Detect whether the character is currently selected
Battle or Strat: Strat
Class: CHARACTER_SELECTED
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: I_AgentSelected
Trigger requirements:
Parameters: character type (spy, assassin, diplomat, admiral, general, named character, family)
Sample use: I_AgentSelected spy
Description: Detect whether a character of the specified type is currently selected
Battle or Strat: Strat
Class: AGENT_SELECTED
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: I_SettlementSelected
Trigger requirements:
Parameters: settlement name
Sample use: I_SettlementSelected Roma
Description: Detect whether the settlement is currently selected
Battle or Strat: Strat
Class: SETTLEMENT_SELECTED
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: ShortcutTriggered
Trigger requirements: resource_description
Parameters: element id, function id (see data/descr_shortcuts.txt)
Sample use: ShortcutTriggered camera step_l
Description: Detect whether a keyboard shortcut has been pressed
Battle or Strat: Both
Class: SHORTCUT_TRIGGERED
Implemented: Yes
Author: Tom
---------------------------------------------------
Identifier: ButtonPressed
Trigger requirements: resource_description
Parameters: button id (see available_ui_elements.txt)
Sample use: ButtonPressed character_info_zoom_to_button
Description: Detect whether a button has been pressed
Battle or Strat: Both
Class: BUTTON_PRESSED
Implemented: Yes
Author: Tom
---------------------------------------------------
Identifier: ScrollOpened
Trigger requirements: resource_description
Parameters: scroll id (see available_ui_elements.txt)
Sample use: ScrollOpened own_character_info_scroll
Description: Test for when a named scroll is opened
Battle or Strat: Both - Depends on scroll requested
Class: SCROLL_OPENED
Implemented: Yes
Author: Tom
---------------------------------------------------
Identifier: ScrollClosed
Trigger requirements: resource_description
Parameters: scroll id (see available_ui_elements.txt)
Sample use: ScrollClosed own_character_info_scroll
Description: Test for when a named scroll is closed
Battle or Strat: Both - Depends on scroll requested
Class: SCROLL_CLOSED
Implemented: Yes
Author: Tom
---------------------------------------------------
Identifier: ScrollAdviceRequested
Trigger requirements: resource_description
Parameters: scroll id (see available_ui_elements.txt)
Sample use: ScrollAdviceRequested own_character_info_scroll
Description: Test for which scroll advice was requested on
Battle or Strat: Both - Depends on scroll requested
Class: SCROLL_ADVICE_REQUESTED
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: I_CompareCounter
Trigger requirements:
Parameters: script counter, value
Sample use: I_CompareCounter blib < 17
Description: Compare a script counter to a value
Battle or Strat: Either
Class: COMPARE_COUNTER
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: I_TimerElapsed
Trigger requirements:
Parameters: logic token, timer_id, duration (milliseconds)
Sample use: I_TimerElapsed rout_timer > 1000
Description: How long has it been since the script timer restarted
Battle or Strat: Either
Class: SCRIPT_TIMER_ELAPSED
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: I_SoundPlaying
Trigger requirements:
Parameters:
Sample use: I_SoundPlaying snd_IntroSpeech
Description: Detect whether the tagged sound is playing or not
Battle or Strat: Both
Class: SOUND_EVENT_PLAYING
Implemented: Yes
Author: Artem
---------------------------------------------------
Identifier: I_AdvisorSpeechPlaying
Trigger requirements:
Parameters:
Sample use: I_AdvisorSpeechPlaying
Description: Detect whether advisor speech is playing or not
Battle or Strat: Both
Class: ADVISOR_SPEECH_PLAYING
Implemented: Yes
Author: Guy

blitz576
02-05-2005, 19:20
Commands
===============================


---------------------------------------------------
Identifier: ai_active_set
Parameters: on/off
Description: Turns AI on or off
Sample use: ai_active_set off
Class: AI_ACTIVE_SET
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: release_unit
Parameters: unit_label
Description: Unlabels the specified unit and releases it back to player or AI control
Sample use: release_unit
Class: RELEASE_UNIT
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: hiding_enabled_set
Parameters: true/false
Description: Enables or disables unit hiding for all units
Sample use: hiding_enabled_set false
Class: HIDING_ENABLED_SET
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: pause_battle
Parameters:
Description: pauses the battle
Sample use: pause_battle
Class: PAUSE_BATTLE
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_immediate_place
Parameters: unit_label location angle_in_degrees
Description: Immediately positions the unit at the given location
Sample use: unit_immediate_place archers1 big_hill 0
Class: UNIT_IMMEDIATE_PLACE
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_order_halt
Parameters: unit_label
Description: orders the specified unit stop it's orders
Sample use: unit_order_halt cohort1
Class: UNIT_ORDER_HALT
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_order_move
Parameters: unit_label x y run(optional)
Description: orders the specified unit to move to the specified position
Sample use: unit_order_move cohort1 100 60 run
Class: UNIT_ORDER_MOVE
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_order_move_relative
Parameters: unit_label x y run(optional)
Description: orders the specified unit to move to the specified position
Sample use: unit_order_move_relative cohort1 0 60 run
Class: UNIT_ORDER_MOVE_RELATIVE
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_order_attack_unit
Parameters: unit_label target_unit_label run(optional)
Description: Orders one unit to attack another
Sample use: unit_order_attack_unit cavalry1 enemy4 run
Class: UNIT_ORDER_ATTACK_UNIT
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_order_attack_closest_unit
Parameters: unit_label search_arc(in degrees) run(optional)
Description: Searches an arc in front of the unit, and attacks the closest enemy found
Sample use: unit_order_attack_closest_unit 15 run
Class: UNIT_ORDER_ATTACK_CLOSEST_UNIT
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_order_change_formation
Parameters: unit_label formation_type (square, horde, testudo, phalanx)
Description: changes the specified unit's formation
Sample use: unit_order_change_formation legionary_cohort testudo
Class: UNIT_ORDER_CHANGE_FORMATION
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_order_move_to_missile_range
Parameters: attacker_unit_label target_unit_label run(optional)
Description: orders the attacker to move into missile range of the target
Sample use: unit_order_move_to_missile_range roman_archers barb_swordsmen run
Class: UNIT_ORDER_MOVE_TO_MISSILE_RANGE
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_order_turn
Parameters: unit_label rotation relative/absolute
Description: order the unit to turn to an absolute angle or by an angle relative to it's current rotation
Sample use: unit_order_turn roman_archers -20 relative (turns left 20 degrees)
Class: UNIT_ORDER_TURN
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_set_morale
Parameters: unit_label morale_level (beserk/impetuous/high/firm/shaken/wavering/routing)
Description: sets and locks the unit's morale level
Sample use: unit_set_morale carthaginian_peasants wavering
Class: UNIT_SET_MORALE
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_unset_morale
Parameters: unit_label
Description: unlocks the unit's morale, the game will retake control and update the morale normally
Sample use: unit_unset_morale peasants4
Class: UNIT_UNSET_MORALE
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_set_weapon_upgrade
Parameters: unit_label new_level
Description: sets the unit's weapon upgrade (0-3)
Sample use: unit_set_weapon_upgrade spearmen1 3
Class: UNIT_SET_WEAPON_UPGRADE
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_set_armour_upgrade
Parameters: unit_label new_level
Description: sets the unit's armour upgrade (0-3)
Sample use: unit_set_armour_upgrade spearmen1 3
Class: UNIT_SET_ARMOUR_UPGRADE
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_set_experience
Parameters: unit_label new_experience_level
Description: sets the specified unit's experience level (0-9)
Sample use: unit_set_experience roman_general 7
Class: UNIT_SET_EXPERIENCE
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: kill_unit
Parameters: unit_label
Description: Completely wipes out the specified unit
Sample use: kill_unit carthaginians2
Class: KILL_UNIT
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: reduce_unit_strength
Parameters: unit_label percentage
Description: Kills enough men to reduce a unit to the specifies percentage of it's original strangth
Sample use: reduce_unit_strength carthaginians2 50
Class: REDUCE_UNIT_STRENGTH
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_set_guard_mode
Parameters: unit_label on/off
Description: Sets the guard melee state for the specified unit
Sample use: unit_set_guard_mode roman_spearmen on
Class: UNIT_SET_GUARD_MODE
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_set_skirmish_mode
Parameters: unit_label on/off
Description: Sets the skirmish melee state for the specified unit
Sample use: unit_set_skirmish_mode velites1 off
Class: UNIT_SET_SKIRMISH_MODE
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_set_fire_at_will_mode
Parameters: unit_label on/off
Description: Sets the fire-at-will melee state for the specified unit
Sample use: unit_set_fire_at_will_mode roman_archers on
Class: UNIT_SET_FIRE_AT_WILL_MODE
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_set_formation_spacing
Parameters: unit_label loose/tight
Description: Sets the specified unit's formation spacing to loose or tight
Sample use: unit_set_formation_spacing roman_archers loose
Class: UNIT_SET_FORMATION_SPACING
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_taunt
Parameters: unit_label
Description: Makes the unit taunt
Sample use: unit_taunt barb_archers
Class: UNIT_TAUNT
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_use_special_ability
Parameters: unit_label
Description: Makes the unit perform their special ability
Sample use: unit_use_special_ability barb_archers
Class: UNIT_USE_SPECIAL_ABILITY
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_group_enable_automation
Parameters: group_label true/false
Description: Sets or unsets unit group automation
Sample use: unit_group_enable_automation
Class: UNIT_GROUP_ENABLE_AUTOMATION
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_group_immediate_place
Parameters: group_label location degrees
Description: orders the unit group to move to the specified location
Sample use: unit_group_immediate_place group6 100 -60 -20
Class: UNIT_GROUP_IMMEDIATE_PLACE
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_group_order_halt
Parameters: group_label
Description: orders the unit group to stop it's orders
Sample use: unit_group_order_halt group6
Class: UNIT_GROUP_ORDER_HALT
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_group_order_move_formed
Parameters: group_label x y run(optional)
Description: orders the unit group to move to the specified location
Sample use: unit_group_order_move_formed group6 100 -60 run
Class: UNIT_GROUP_ORDER_MOVE_FORMED
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_group_order_move_unformed
Parameters: group_label x y run(optional)
Description: orders the unit group to move to the specified location
Sample use: unit_group_order_move_unformed group6 100 -60 run
Class: UNIT_GROUP_ORDER_MOVE_UNFORMED
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_group_order_relative_move_formed
Parameters: group_label x y run(optional)
Description: orders the unit group to move to the specified location
Sample use: unit_group_order_relative_move_formed group6 100 -60 run
Class: UNIT_GROUP_ORDER_RELATIVE_MOVE_FORMED
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_group_order_relative_move_unformed
Parameters: group_label x y run(optional)
Description: orders the unit group to move to the specified location
Sample use: unit_group_order_relative_move_unformed group6 100 -60 run
Class: UNIT_GROUP_ORDER_RELATIVE_MOVE_UNFORMED
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_group_move_to_missile_range_of_unit
Parameters: group_label target_unit_label
Description: move the unit group so that at least one unit is in range of the target unit
Sample use: unit_group_move_to_missile_range_of_unit archer_group enemy_spearmen3
Class: UNIT_GROUP_MOVE_TO_MISSILE_RANGE_OF_UNIT
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_group_move_to_missile_range_of_group
Parameters: group_label target_group_label run(optional)
Description: move the unit group so that at least one unit is in range of at least one unit in the target group
Sample use: unit_group_move_to_missile_range_of_group archer_group enemy_group
Class: UNIT_GROUP_MOVE_TO_MISSILE_RANGE_OF_GROUP
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_group_order_attack_unit
Parameters: group_label target_unit_label run(optional)
Description: order the unit group to attack the target unit
Sample use: unit_group_order_attack_unit group1 enemy_unit4
Class: UNIT_GROUP_ORDER_ATTACK_UNIT
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_group_order_attack_group
Parameters: group_label target_group_label run(optional)
Description: orders the unit group to attack the target group
Sample use: unit_group_order_attack_group cavalry_group1 enemy_archer_group
Class: UNIT_GROUP_ORDER_ATTACK_GROUP
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_group_order_change_group_formation
Parameters: group_label formation_name
Description: sets a group formation from descr_formations.txt
Sample use: unit_group_order_change_group_formation group2 ordered_triple_line_1
Class: UNIT_GROUP_ORDER_CHANGE_GROUP_FORMATION
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_group_order_turn
Parameters: group_label angle relative(optional)
Description: rotates the unit group to an angle or by a number of degrees relative to it's current angle (see unit_order_turn)
Sample use: unit_group_order_turn group2 90 (turns the group to 90 degrees)
Class: UNIT_GROUP_ORDER_TURN
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_group_set_morale
Parameters: group_label morale_level (beserk/impetuous/high/firm/shaken/wavering/routing)
Description: sets and locks the morale level for each unit in the group
Sample use: unit_set_morale infantry_group routing
Class: UNIT_GROUP_SET_MORALE
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_group_unset_morale
Parameters: group_label
Description: unlocks the units' morale, the game will retake control and update the morale normally
Sample use: unit_group_unset_morale infantry_group
Class: UNIT_GROUP_UNSET_MORALE
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_group_change_unit_formation
Parameters: group_label formation_type (square, horde, testudo, phalanx)
Description: changes the formation of each unit in the specified unit group
Sample use: unit_group_change_unit_formation hoplite_group phalanx
Class: UNIT_GROUP_CHANGE_UNIT_FORMATION
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_group_set_guard_mode
Parameters: group_label on/off
Description: Sets the guard melee state for all units in the specified group
Sample use: unit_group_set_guard_mode group2 off
Class: UNIT_GROUP_SET_GUARD_MODE
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_group_set_skirmish_mode
Parameters: group_label on/off
Description: Sets the skirmish melee state for all units in the specified group
Sample use: unit_group_set_skirmish_mode archer_group on
Class: UNIT_GROUP_SET_SKIRMISH_MODE
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_group_set_fire_at_will_mode
Parameters: group_label on/off
Description: Sets the guard melee state for all units in the specified group
Sample use: unit_group_set_fire_at_will_mode group2 off
Class: UNIT_GROUP_SET_FIRE_AT_WILL_MODE
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: unit_group_set_formation_spacing
Parameters: group_label loose/tight
Description: Sets the formation spacing, for each unit in the group, to loose or tight
Sample use: unit_group_set_formation_spacing group1 loose
Class: UNIT_GROUP_SET_FORMATION_SPACING
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: move_strat_camera
Parameters: strategy map position
Description: Move the camera smoothly to the position
Sample use: move_camera 20,35
Class: MOVE_STRAT_CAMERA
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: snap_strat_camera
Parameters: strategy map position
Description: Move the camera immediately to the position
Sample use: snap_strat_camera 20,35
Class: SNAP_STRAT_CAMERA
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: zoom_strat_camera
Parameters: strategy map position
Description: Change the zoom of the camera (0 right up close, 1 far out), clamped at a hard-coded lower bound
Sample use: zoom_camera 0.4
Class: ZOOM_STRAT_CAMERA
Implemented: No
Author: Guy
---------------------------------------------------
Identifier: camera_restrictions_set
Parameters: on/off
Description: sets or unsets the restricted camera
Sample use: camera_restrictions_set on
Class: CAMERA_RESTRICTIONS_SET
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: camera_event_cuts_active_set
Parameters: on/off
Description: activates and deactivates the event cut camera
Sample use: camera_event_cuts_active_set off
Class: CAMERA_EVENT_CUTS_ACTIVE_SET
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: camera_default_mode_set
Parameters: tw/rts/general/user_pref
Description: Sets the default camera to TotalWar Camera (tw), RTS Camera (rts), General's Camera (general) or whichever mode the player has in his preferences (user_pref)
Sample use: camera_default_mode_set tw
Class: CAMERA_DEFAULT_MODE_SET
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: battle_default_camera
Parameters: n/a
Description: Sets the default camera
Sample use: battle_default_camera
Class: BATTLE_DEFAULT_CAMERA
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: battle_general_camera
Parameters: n/a
Description: Sets the general's camera
Sample use: battle_general_camera
Class: BATTLE_GENERAL_CAMERA
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: set_camera_bookmark
Parameters: Bookmark index (0-21), position(x,y,z) target(x,y,z)
Description: Sets a camera bookmark to position and target specified, which can later be recalled with UseCameraBookmark
Sample use: set_camera_bookmark 1, 100, 0, 100, 100, 0, 0 - Will set the camera bookmark to position (100,0,100), looking straight back along the z axis
Class: SET_CAMERA_BOOKMARK
Implemented: Yes
Author: Tom
---------------------------------------------------
Identifier: camera_position_at_bookmark
Parameters: Index (0-21)
Description: If the bookmark has been set (either in game, or with Set_Camera_Bookmark), then this will move the camera to the position and target specified by the bookmark
Sample use: camera_position_at_bookmark 0
Class: CAMERA_POSITION_AT_BOOKMARK
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: camera_zoom_to_bookmark
Parameters: Index (0-21) max_speed(optional default=200)
Description: If the bookmark has been set (either in game, or with set_camera_bookmark), then this will move the camera to the position and target specified by the bookmark
Sample use: camera_zoom_to_bookmark 0 50
Class: CAMERA_ZOOM_TO_BOOKMARK
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: camera_position
Parameters: position x,y,z target x,y,z
Description: Immediately places the camera at the specified position
Sample use: camera_position 0 0 0 0 0 -1
Class: CAMERA_POSITION
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: camera_zoom_to
Parameters: position x,y,z target x,y,z speed(optional)
Description: Zoom camera to position, and look at target
Sample use: camera_zoom_to 0 0 0 0 0 -1 50
Class: CAMERA_ZOOM_TO
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: camera_look_at_position
Parameters: x y or location_label
Description: camera turns to look at a position on the battlefield, but doesn't move
Sample use: camera_look_at_position 123.4 56.7
Class: CAMERA_LOOK_AT_POSITION
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: camera_look_at_unit
Parameters: unit_label
Description: turns the camera to look at the unit without moving
Sample use: camera_look_at_unit spearmen7
Class: CAMERA_LOOK_AT_UNIT
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: camera_track_unit
Parameters: unit_label direction distance height pitch(optional)
Description: camera tracks the specified unit, direction can be a number in degrees or an identifier front, back, left or right
Sample use: camera_track_unit roman_cavalry1 left 20 10 -15
Class: CAMERA_TRACK_UNIT
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: camera_zoom_to_unit
Parameters: unit_label
Description: zoom the camera to the soecified unit
Sample use: camera_zoom_to_unit spearmen7
Class: CAMERA_ZOOM_TO_UNIT
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: e_camera_zoom_to_unit
Parameters:
Description: zoom the camera to the unit specified by the event
Sample use: e_camera_zoom_to_unit
Class: E_CAMERA_ZOOM_TO_UNIT
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: inhibit_camera_input
Parameters: true/false
Description: Stop the user affecting the camera position, either through the keyboard or mouse movement
Sample use: inhibit_camera_input true
Class: INHIBIT_CAMERA_INPUT
Implemented: Yes
Author: Tom
---------------------------------------------------
Identifier: declare_prologue
Parameters: none
Description: enforce prologue considerations upon the world, e.g. no general death during auto-resolve
Sample use: declare_prologue
Class: DECLARE_PROLOGUE
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: terminate_prologue
Parameters: none
Description: withdraw prologue considerations upon the world, e.g. no general death during auto-resolve
Sample use: terminate_prologue
Class: TERMINATE_PROLOGUE
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: provoke_rebellion
Parameters: settlement name
Description: Start a rebellion in the named settlement at the start of the next turn
Sample use: provoke_rebellion Segesta
Class: PROVOKE_REBELLION
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: move
Parameters: character name, x, y
Description: Move the named character to the location specified
Sample use: move Gaius Julius, 20, 44
Class: MOVE
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: reposition_character
Parameters: character, x, y
Description: Snap the character to a position
Sample use: reposition_character Gaius Maximus, 14, 53
Class: REPOSITION_CHARACTER
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: replenish_action_points
Parameters: character name
Description: replenish the character's action points
Sample use: replenish_action_points Gaius Julius
Class: REPLENISH_ACTION_POINTS
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: replenish_units
Parameters: army identifier (the general's name)
Description: replenish all the units to full numbers for the army
Sample use: replenish_units Gaius Julius
Class: REPLENISH_UNITS
Implemented: No
Author: Guy
---------------------------------------------------
Identifier: spawn_character
Parameters: faction, character as in character description in historical battle
Description: create an army at a particular location
Sample use: spawn_character Julii Foedus Chaerea, general, command 0, influence 0, management 0, subterfuge 0, age 20, x 54, y 124
Class: SPAWN_CHARACTER
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: spawn_army ... end
Parameters: faction, character and units as in army description in historical battle (character description for general and unit descriptions for remainder of the army)
Description: create an army at a particular location
Sample use: spawn_army
faction romans_julii
character Foedus Chaerea, general, command 0, influence 0, management 0, subterfuge 0, age 20, , x 54, y 124
unit roman generals guard cavalry soldiers 20 exp 9 armour 1 weapon_lvl 0
unit roman legionary first cohort ii soldiers 40 exp 0 armour 0 weapon_lvl 0
unit roman legionary cohort ii soldiers 60 exp 0 armour 0 weapon_lvl 0
unit roman praetorian cohort i soldiers 60 exp 0 armour 0 weapon_lvl 0
end
Class: SPAWN_ARMY
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: engage_armies
Parameters: attacking general, defending general
Description: Instruct the attacking general to attack the defending general
Sample use: engage_armies Gaius Julius, Epiroderix
Class: ENGAGE_ARMIES
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: script
Parameters: none
Description: start a script
Sample use: script
Class: SCRIPT
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: terminate_script
Parameters:
Description: terminate a script
Sample use: terminate_script
Class: TERMINATE_SCRIPT
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: spawn_battle
Parameters: folder name
Description: Start the battle contained in the named folder, relative to the maps folder. The next command in the script should be prepare_for_battle.
Sample use: spawn_battle custom/punic_1
Class: SPAWN_BATTLE
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: if
Parameters: conditions to satisfy to execute the scope
Description: conditional execution
Sample use: if TimerElapsed < 1000
Class: IF
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: while
Parameters: conditions to satisfy to execute this while
Description: start a while loop
Sample use: while TimerElapsed < 1000
Class: WHILE
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: monitor_conditions
Parameters: conditions to monitor to execute this scope
Description: start a monitor loop when conditions are of a particular value
Sample use: monitor_conditions not I_CharacterIsSelected Gaius Julius
Class: MONITOR_STATE
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: monitor_event
Parameters: event name, conditions to monitor to execute this scope
Description: start a monitor loop in response to an event
Sample use: monitor_event IncomingMessage IncomingMessageType wonder_captured
Class: MONITOR_EVENT
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: terminate_monitor
Parameters:
Description: terminate a monitor loop
Sample use: terminate_monitor
Class: TERMINATE_MONITOR
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: console_command
Parameters:
Description: execute a command through the console
Sample use: console_command kill_character "Gaius Julius"
Class: CONSOLE_COMMAND
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: declare_counter
Parameters: name of the counter, a single word identifier.
Description: declare a counter and give it an initial value of zero
Sample use: declare_counter blib
Class: DECLARE_COUNTER
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: inc_counter
Parameters: name of the counter, quantity to modify it by.
Description: change a counter by a particular amount
Sample use: inc_counter blib -137
Class: MODIFY_COUNTER
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: set_counter
Parameters: name of the counter, quantity to set it to.
Description: change a counter to a particular value
Sample use: set_counter blib -137
Class: SET_COUNTER
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: prepare_for_battle
Parameters:
Description: Clear all the unit labels, location labels &c. This is separate from the spawn_battle command in case you are scripting a historical battle.
Sample use: prepare_for_battle
Class: PREPARE_FOR_BATTLE
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: declare_show_me
Parameters:
Description: Flag the script as a show me script - required for the AbandonShowMe event
Sample use: declare_show_me
Class: DECLARE_SHOW_ME
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: label_unit
Parameters: alliance, army, unit, label
Description: Label a particular unit
Sample use: label_unit 0 2 4 julii_hastati_2
Class: LABEL_UNIT
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: label_location
Parameters: x, z, label
Description: Label a particular location
Sample use: label_location 35 58 the_big_hill
Class: LABEL_LOCATION
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: define_unit_group
Parameters: group_label unit1 unit2 unit3 ...
Description: creates a unit group containing the specified units
Sample use: define_unit_group group1 archers1 archers2 archers3 spearmen1
Class: DEFINE_UNIT_GROUP
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: undefine_unit_group
Parameters: group_label
Description: removes the specified unit group
Sample use: undefine_unit_group archer_group5
Class: UNDEFINE_UNIT_GROUP
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: remove_unit_from_group
Parameters: group_label unit_label
Description: removes the unit from the group, if it is already a member
Sample use: remove_unit_from_group group1 archers1
Class: REMOVE_UNIT_FROM_GROUP
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: declare_timer
Parameters: timer name
Description: declare a script timer
Sample use: declare_timer rout_timer
Class: DECLARE_TIMER
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: restart_timer
Parameters: none
Description: restart the script timer
Sample use: restart_timer
Class: RESTART_TIMER
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: heed_pause
Parameters: on/off
Description: turn on/off the game pause acknowledgement - off by default
Sample use: heed_pause on
Class: HEED_PAUSE
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: wait
Parameters: time in seconds
Description: Wait for the specified time before proceeding to the next script command. The timer is based on the display update, so pausing the game does not pause the timer unless heed_pause is declared.
Sample use: wait 1.3
Class: DISPLAY_WAIT
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: campaign_wait
Parameters: time in seconds
Description: Wait for the specified time before proceeding to the next script command.
Sample use: campaign_wait 1.3
Class: CAMPAIGN_WAIT
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: battle_wait
Parameters: time in seconds
Description: Wait for the specified time before proceeding to the next script command. The timer is based on the battle update, so pausing and fast forwarding will affect the timer.
Sample use: battle_wait 1.3
Class: BATTLE_WAIT
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: suspend_during_battle
Parameters: on/off
Description: suspend the script during battles - off by default
Sample use: suspend_during_battle on
Class: SUSPEND_DURING_BATTLE
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: senate_mission_help_player
Parameters: payback
Description: Issue a senate mission to gift the player with the payback - receipt and notification takes place at the start of the next turn
Sample use: senate_mission_help_player one_best_buildable_unit
Class: SENATE_MISSION_HELP_PLAYER
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: senate_mission_assassination
Parameters: payback, character name
Description: Issue a senate mission to assassinate the character named in the parameter list for a reward of the payback
Sample use: senate_mission_assassination minor_reward Gaius Julius
Class: SENATE_MISSION_ASSASSINATION
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: senate_mission_cease_hostilities
Parameters: payback, faction
Description: Issue a senate mission to instruct the player to cease hostilities against the named faction for a reward of the payback
Sample use: senate_mission_cease_hostilities two_minor_exotic_units Gauls
Class: SENATE_MISSION_CEASE_HOSTILITIES
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: senate_mission_declare_war
Parameters: payback, faction
Description: Issue a senate mission to instruct the player to prosecute a war against the named faction for a reward of the payback
Sample use: senate_mission_declare_war major_reward Gauls
Class: SENATE_MISSION_DECLARE_WAR
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: senate_mission_broker_peace
Parameters: payback, faction
Description: Issue a senate mission to instruct the player to prosecute a war against the named faction for a reward of the payback
Sample use: senate_mission_broker_peace major_reward Gauls
Class: SENATE_MISSION_BROKER_PEACE
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: senate_mission_take_city
Parameters: payback, settlement name
Description: Issue a senate mission to take the settlement named in the parameter list for a reward of the payback
Sample use: senate_mission_assassination moderate_reward Tarquini
Class: SENATE_MISSION_TAKE_CITY
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: set_music_state
Parameters: tension, mobilize, battle or custom
Description: Sets the music state in the battle
Sample use: set_music_state mobilize
Class: SET_MUSIC_STATE
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: play_sound_event
Parameters: [] [tag = ]
Description: Plays sound event
Sample use: play_sound_event PREBATTLE_TEST
Class: PLAY_SOUND_EVENT
Implemented: Yes
Author: Artem
---------------------------------------------------
Identifier: stop_sound_event
Parameters:
Description: Stops tagged sound events
Sample use: stop_sound_event PREBATTLE_TEST
Class: STOP_SOUND_EVENT
Implemented: Yes
Author: Artem
---------------------------------------------------
Identifier: point_at_character
Parameters: character name
Description: point at the character
Sample use: point_at_character Gaius Julius
Class: POINT_AT_CHARACTER
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: point_at_settlement
Parameters: settlement name
Description: point at the settlement
Sample use: point_at_settlement Roma
Class: POINT_AT_SETTLEMENT
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: e_point_at_settlement
Parameters:
Description: point at a settlement specified in a piece of advice
Sample use:
Class: E_POINT_AT_SETTLEMENT
Implemented: Yes
Author: Tom
---------------------------------------------------
Identifier: point_at_strat_position
Parameters: strategy map position
Description: point at the position
Sample use: point_at_strat_position 44, 55
Class: POINT_AT_STRAT_POSITION
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: point_at_message
Parameters: message number/id, [up|down|left|right|top_left|top_right|bot_left|bot_right] - optional, set the direction that the pointer will come from
Description: point at the message
Sample use: point_at_message 0
Class: POINT_AT_MESSAGE
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: ui_flash_start
Parameters: UI element (see available_ui_element_ids.txt for appropriate identifiers), [up|down|left|right|top_left|top_right|bot_left|bot_right] - optional, set the direction that the pointer will come from
Description: move the highlight pointer to the named element
Sample use: ui_flash_start finances_button
Class: UI_FLASH_START
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: ui_flash_stop
Parameters: none
Description: clear the tutorial pointer
Sample use: ui_flash_stop
Class: UI_FLASH_STOP
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: settlement_flash_start
Parameters: strategy map position
Description: highlight the tile
Sample use: settlement_flash_start Tarquinii
Class: SETTLEMENT_FLASH_START
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: settlement_flash_stop
Parameters: strategy map position
Description: stop highlighting the tile
Sample use: settlement_flash_stop Tarquinii
Class: SETTLEMENT_FLASH_STOP
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: character_flash_start
Parameters: character name
Description: flash the tile under the character
Sample use: character_flash_start Gaius Julius
Class: CHARACTER_FLASH_START
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: character_flash_stop
Parameters: character name
Description: stop flashing the tile under the character
Sample use: character_flash_stop Gaius Julius
Class: CHARACTER_FLASH_STOP
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: point_at_location
Parameters: position (x,y) or location label
Description: Indicates a position on the battle map
Sample use: point_at_location pos1
Class: POINT_AT_LOCATION
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: point_at_unit_pos
Parameters: unit_label
Description: Indicates a unit's position on the battle map
Sample use: point_at_unit_pos generals_unit
Class: POINT_AT_UNIT_POS
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: point_at_unit_group_pos
Parameters: group_label
Description: Indicates a unit_group's position on the battle map
Sample use: point_at_unit_group_pos infantry_group1
Class: POINT_AT_UNIT_GROUP_POS
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: remove_battle_map_arrow
Parameters:
Description: removes the arrow created by point_at_location/unit/unit_group
Sample use: remove_battle_map_arrow
Class: REMOVE_BATTLE_MAP_ARROW
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: point_at_card
Parameters: card type (unit | character | building), id, nth instance
Description: Points at the card type specified if it can be found
For units and buildings 'id' is their id in the tech-tree
For characters it is their name
Use nth instance to skip over cards with the same type
Sample use: point_at_card unit hastati 2 - to point at the second hastati card the game can find
Class: POINT_AT_CARD
Implemented: Yes
Author: Tom
---------------------------------------------------
Identifier: point_at_unit_card
Parameters: unit label, [up|down|left|right|top_left|top_right|bot_left|bot_right] - optional, set the direction that the pointer will come from
Description: Points at the card of the specified unit
Sample use: point_at_card roman_archers
Class: POINT_AT_UNIT_CARD
Implemented: Yes
Author: Robbie
---------------------------------------------------
Identifier: e_point_at_unit_card
Parameters: [up|down|left|right|top_left|top_right|bot_left|bot_right] - optional, set the direction that the pointer will come from
Description: Points at the card of the unit referred to in the current event context
Sample use: e_point_at_unit_card
Class: E_POINT_AT_UNIT_CARD
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: show_mouse_button_animation
Parameters: [left | right] true/false
Description: Starts/stops the animation showing which mouse button to press (either left or right at the moment)
Sample use: show_mouse_button_animation left true - start the animation showing the left mouse button being pressed. show_mouse_button_animation left false - stop the left mouse button animation. NOTE: Only 1 animation can be shown at a time
Class: SHOW_MOUSE_BUTTON_ANIMATION
Implemented: Yes
Author: Tom
---------------------------------------------------
Identifier: hide_ui
Parameters:
Description: Hide the entire UI (for cinematic purposes)
Sample use: hide_ui
Class: HIDE_UI
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: show_ui
Parameters:
Description: Show the entire UI (after hiding)
Sample use: show_ui
Class: SHOW_UI
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: disable_ui
Parameters: UI element (see available_ui_element_ids.txt for appropriate identifiers)
Description: turn off the named UI element
Sample use: disable_ui finances_button
Class: DISABLE_UI
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: enable_ui
Parameters: UI element (see available_ui_element_ids.txt for appropriate identifiers)
Description: turn on the named UI element
Sample use: enable_ui finances_button
Class: ENABLE_UI
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: disable_entire_ui
Parameters: none
Description: suspend the entire UI
Sample use: disable_entire_ui
Class: DISABLE_ENTIRE_UI
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: enable_entire_ui
Parameters: none
Description: reactivate the entire UI
Sample use: enable_entire_ui
Class: ENABLE_ENTIRE_UI
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: set_cards_selectable
Parameters: true/false
Description: set whether cards are selectble or not
Sample use: set_cards_selectable false
Class: SET_CARDS_SELECTABLE
Implemented: Yes
Author: Tom
---------------------------------------------------
Identifier: disable_cursor
Parameters: none
Description: deactivate and hide the cursor
Sample use: disable_cursor
Class: DISABLE_CURSOR
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: enable_cursor
Parameters: none
Description: activate and show the cursor
Sample use: enable_cursor
Class: ENABLE_CURSOR
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: reveal_tile
Parameters: strategy map position
Description: remove the shroud from the tile
Sample use: reveal_tile 25, 43
Class: REVEAL_TILE
Implemented: No
Author: Guy
---------------------------------------------------
Identifier: play_video
Parameters: filename
Description: play a piece of video
Sample use: play_video fmv/rome_intro.mpg
Class: PLAY_VIDEO
Implemented: No
Author: Guy
---------------------------------------------------
Identifier: advance_advice_thread
Parameters: thread name, no_dismiss
Description: Increment the score of the advice thread
Sample use: advance_advice_thread 0098_prologue_selection no_dismiss
Class: ADVANCE_ADVICE_THREAD
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: dismiss_advice
Parameters:
Description: Dismiss the currently displayed advice
Sample use: dismiss_advice
Class: DISMISS_ADVICE
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: suspend_unscripted_advice
Parameters: flag
Description: Suspend (or restore) all advice not generated by the script
Sample use: suspend_unscripted_advice true
Class: SUSPEND_UNSCRIPTED_ADVICE
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: select_character
Parameters: character name
Description: selects a character on the campaign map
Sample use: select_character Gaius Julius
Class: SELECT_CHARACTER
Implemented: Yes
Author: Tom
---------------------------------------------------
Identifier: e_select_character
Parameters:
Description: selects a character referred to in the current event context on the campaign map
Sample use: e_select_character
Class: E_SELECT_CHARACTER
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: select_settlement
Parameters: settlement name
Description: selects a settlement on the campaign map
Sample use: select_settlement Roma
Class: SELECT_SETTLEMENT
Implemented: Yes
Author: Tom
---------------------------------------------------
Identifier: e_select_settlement
Parameters:
Description: selects a settlement referred to in the current event context on the campaign map
Sample use: e_select_settlement
Class: E_SELECT_SETTLEMENT
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: call_object_shortcut
Parameters: ui object name, shortcut name (see available_ui_element_ids.txt for appropriate element identifiers)
Description: calls the keyboard shortcut of a ui element
the shortcut name can left out
Most buttons don't require a shortcut name, instead the 'on_select' method is called
Sample use: call_object_shortcut strat_ui speedup_ai - will toggle the fast ai mode
call_object_shortcut diplomacy_overview_button - will select the diplomacy overview button
Class: CALL_OBJECT_SHORTCUT
Implemented: Yes
Author: Tom
---------------------------------------------------
Identifier: simulate_mouse_click
Parameters: [lclick_down|lclick_up|rclick_down|rclick_up|ldbl_click]
Description: Acts as if the given mouse event had happened on the currently 'selected' ui_element (see 'select_element' command)
Sample use: select_element hud_show_buildings_tab
simulate_mouse_click lclick_down
Class: SIMULATE_MOUSE_CLICK
Implemented: Yes
Author: Tom
---------------------------------------------------
Identifier: select_ui_element
Parameters: element id (see available_ui_element_ids.txt for appropriate identifiers)
Description: Use in conjunction with simulate mouse click to store the element that will next recieve the simulated mouse click
Sample use: select_element hud_show_buildings_tab
simulate_mouse_click lclick_down
Class: SELECT_ELEMENT
Implemented: Yes
Author: Tom
---------------------------------------------------
Identifier: disable_shortcuts
Parameters: {element_id}, true/false
Description: This will disable/enable all keyboard shortcuts for a given element (or all elements if element_id is omitted), except the key defined as being the 'quit' key (ESC by default). See data/descr_shortcuts.txt for the element_ids that are useable
Sample use: disable_shortcuts true - to disable, disable_shortcuts false - to enable them again
Class: DISABLE_SHORTCUTS
Implemented: Yes
Author: Tom
---------------------------------------------------
Identifier: filter_unit_commands
Parameters: switch, unit name, function
Description: Turn off the command shell, or one part of it, for all units or the named unit
Sample use: filter_unit_commands on velites_alpha change_formation
filter_unit_commands off velites_alpha
filter_unit_commands off
Class: UNIT_UISHELL_FILTER
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: filter_unit_group_commands
Parameters: switch, unit name, function
Description: Turn off the command shell, or one part of it, for all units or the named unit
Sample use: filter_unit_group_commands on storm_troopers change_formation
filter_unit_group_commands off storm_troopers
filter_unit_group_commands off
Class: UNIT_GROUP_UISHELL_FILTER
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: filter_unit_selection_commands
Parameters: switch, function
Description: Turn off the command shell, or one part of it, for all units
Sample use: filter_unit_selection_commands on change_formation
filter_unit_selection_commands off

Class: UNIT_SELECTION_UISHELL_FILTER
Implemented: Yes
Author: Chris
---------------------------------------------------
Identifier: filter_settlement_commands
Parameters: switch, unit name, function
Description: Turn off the command shell, or one part of it, for all settlements or the named settlement
Sample use: filter_settlement_commands on Arretium change_formation
filter_settlement_commands off Arretium
filter_settlement_commands off
Class: SETTLEMENT_UISHELL_FILTER
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: filter_character_commands
Parameters: switch, unit name, function
Description: Turn off the command shell, or one part of it, for all characters or the named character
Sample use: filter_character_commands on Gaius Julius, change_formation (note comma)
filter_character_commands off Gaius Julius
filter_character_commands off
Class: CHARACTER_UISHELL_FILTER
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: filter_all_ui_commands
Parameters: switch
Description: Turn on or off the command shell
Sample use: filter_all_ui_commands on
Class: SWITCH_ALL_UISHELL_FILTERS
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: ui_indicator
Parameters: { } or {track } or {track_3d } or {track_ground } or {track_ground_3d } or {track_unit } or {track_unit_3d } [colour ] [scale ] [period ] [loop]
Description: Display a UI indicator
Sample use: ui_indicator 0 circle 500 500 colour 255 255 0 scale 2.0 period 2.0 loop
Class: UI_INDICATOR_COMMAND
Implemented: Yes
Author: Charlie
---------------------------------------------------
Identifier: ui_indicator_remove
Parameters:
Description: Remove a UI indicator
Sample use: ui_indicator_remove 0
Class: UI_INDICATOR_REMOVE_COMMAND
Implemented: Yes
Author: Charlie
---------------------------------------------------
Identifier: steal_esc_key
Parameters: on/off
Description: Steals keyboard input for the escape key, taking away it's default behaviour. When the ESC kay is pressed, the trigger ET_ESC_PRESSED will fire, so this should be monitored. Default functionality of esc will be returned at this point. Note that if anything else steals the esc key after this command, then that will get priority instead. The intended use for this command is to allow script writers to create skippable sections that are skipped by pressing ESC
Sample use:
Class: STEAL_ESC_KEY
Implemented: No
Author: Tom

Myrddraal
02-06-2005, 12:42
Thanks a lot, this is really usefull. But I can't see a way to start a script on load yet...

I never go the demo, so I never saw this stuff. Thx again.

Lord Adherbal
02-06-2005, 13:06
at the end of the descr_strat.txt in the campaign folders you can add a script file. For example:

script
Prologue_Campaign_Script.txt

Is that what you ment ?

Myrddraal
02-06-2005, 22:25
No Adherbal, I know that. I have been working on scripts for some time making a script to have four turns a year instead of two. What I mean is, I devised a way to make a show me how script to launch at the start of the game. This enables the player to save the game whilst the script is running. But I haven't found a similar way to automatically re-launch the script when the game is reloaded from a saved game.

Simetrical
02-27-2005, 03:10
It appears that the PreBattle trigger isn't implemented. This seriously screws up my fix for the doubled traits bug, unfortunately. If anyone can get it working, we can fix that perfectly.

-Simetrical

Malrubius
07-09-2005, 00:21
I can confirm that PreBattle doesn't work.

It also looks like InEnemyLands returns the opposite of what's expected. It returns true when your agent/general is NOT in enemy lands, and false when he is. Maybe someone else can confirm this?

[edit]
Also, CharacterDamagedByDisaster seems to fire every turn.

player1
07-23-2005, 17:00
CharacterMarries event doesn't work too.

As well as CharacterComesOfAge, when used for generating retinue memebers (works fine for VnVs).

Malrubius
08-23-2005, 15:54
SettlementName, when used in edct.txt, doesn't seem to work for settlement names with two parts, like "New York". It works fine for "Néw_York" or "New_York", however.

Tried examples like these (with a displayed name of New York):
SettlementName "New York"
SettlementName 'New York'
SettlementName New_York
SettlementName NewYork

None of them worked. If you want to give a trait to someone in a settlement with more than 1 part to its name, it needs an underscore or something.

Malrubius
01-14-2006, 23:38
Anybody know what the HealthPercentage does? Would it tell us something about what sort of health bonuses are active on the settlement?




Identifier: HealthPercentage
Trigger requirements: settlement
Parameters:
Sample use: HealthPercentage > 35
Description: Check the health of the settlement
Battle or Strat: Strat
Class: HEALTH_PERCENTAGE
Implemented: Yes
Author: Guy

BozosLiveHere
08-31-2006, 22:18
Something I had never noticed before, and I think has been overlooked by a lot of people.


Conditions which take no logic_token in their parameter list can be negated by
prepending them with not, e.g. not WonBattle

I have just tested this using RTW 1.5 and indeed using something like and not BattleOdds < 0.5 won't be understood by the engine. Like any other made up condition the engine will just bypass the condition as if it wasn't there.

Update: After some further testing, apparently what happens is that the engine ignores the not, e.g. if you place a condition and not BattleSuccess = clear it will be understood as and BattleSuccess = clear.