Troy Events & Interfaces

Events

RegionStrikes
PositiveDiplomaticEvent
CharacterGarrisonTargetEvent
RegionTurnEnd
AreaExitedEvent
ScriptedForceCreated
PooledResourceEvent
ScriptedCharacterUnhidden
UnitCreated
DilemmaIssued
CharacterBuildingCompleted
CharacterGarrisonTargetAction
CharacterEndsBesiegingSettlement
GarrisonResidenceExposedToFaction
ResearchCompleted
FactionLiberated
RegionPlagueStateChanged
CharacterCanLiberate
UITriggerScriptEvent
RegionSelected
BuildingBrowserInitialized
ClanBecomesVassal
PooledResourceShortageEvent
CharacterEmbarksNavy
CharacterCapturedSettlementUnopposed
BuildingDemolished
GarrisonResidenceEvent
CampaignCoastalAssaultOnCharacter
CharacterSkillPointAllocated
CharacterPerformedSuccessfulAgentAction
CharacterLeavesGarrison
PendingBattle
FactionInitiatesHecatomb
CharacterRelativeKilled
CharacterPostBattleEnslave
FactionLeaderIssuesEdict
FactionCharacterDiedOrWounded
CharacterEvent
CharacterPerformsActionAgainstFriendlyTarget
NewSession
GovernorshipTaxRateChanged
CharacterMaintainsSiege
CharacterLootedSettlement
UnitTrained
CharacterAncillaryGained
FactionTurnEnd
CharacterTargetEvent
CharacterDisembarksNavy
CharacterSackedSettlement
CharacterTurnEnd
GarrisonAttackedEvent
AreaEnteredEvent
FirstTickAfterNewCampaignStarted
RegionFactionChangePostBuildingConversionEvent
PendingBankruptcy
CharacterAncillaryLost
FactionLeaderSignsPeaceTreaty
CharacterPostBattleRelease
ResearchStarted
PooledResourceTransactionEvent
DilemmaChoiceMadeEvent
CharacterParticipatedInBattle
CharacterRankUpNeedsAncillary
FactionBarterAgreementTicked
CharacterPerformsSettlementOccupationDecision
SlotTurnStart
"AreaExited"
NewCampaignStarted
FactionCivilWarOccured
CharacterPostBattleSlaughter
MissionStatusEvent
CharacterAttacksAlly
IncidentOccuredEvent
MilitaryForceDevelopmentPointChange
CharacterMilitaryForceTraditionPointAllocated
IncidentEvent
CharacterLoyaltyChanged
MovementPointsExhausted
FactionRoundStart
MissionCancelled
MissionEvent
GetLoyaltyCustomBundle
FactionForeignTradersTransaction
CharacterPromoted
CharacterLeavesMilitaryForce
CharacterCandidateBecomesMinister
RegionAbandonedWithBuildingEvent
UniqueAgentSpawned
FactionInitiatesPrayer
LandTradeRouteRaided
FactionGovernmentTypeChanged
CharacterTurnStart
ScriptedCharacterUnhiddenFailed
BattleCompleted
DilemmaEvent
ForceAdoptsStance
GovernorAssignedCharacterEvent
UniqueAgentEvent
CharacterMinisterialPositionChanged
BuildingCompleted
MilitaryForceDestroyed
WorldCreated
FactionBecomesLiberationVassal
RitualCancelledEvent
UnitCompletedBattle
MissionFailed
NewCharacterEnteredRecruitmentPool
SlotSelected
ForcePlagueStateChanged
MissionIssued
CharacterSelected
CharacterEntersAttritionalArea
MissionGenerationFailed
FactionEvent
CharacterCompletedBattle
ForeignSlotBuildingCompleteEvent
MultiTurnMove
"AreaEntered"
RegionFactionChangeEvent
PooledResourceEffectChangedEvent
SlotRoundStart
FactionBeginTurnPhaseNormal
MilitaryForceBuildingCompleteEvent
CharacterCharacterTargetAction
CharacterBlockadedPort
MilitaryForceCreated
CharacterBecomesFactionLeader
CharacterRazedSettlement
CharacterComesOfAge
RegionIssuesDemands
RegionSlotEvent
CharacterRankUp
FactionLeaderDeclaresWar
FactionEncountersOtherFaction
BuildingConstructionIssuedByPlayer
RegionEvent
ForeignSlotBuildingDamagedEvent
MissionSucceeded
RecruitmentItemIssuedByPlayer
CampaignCoastalAssaultOnGarrison
CharacterFamilyRelationDied
CharacterPerformsSettlementOccupationDecisionBeforeOutcomeApplication
SettlementSelected
CampaignEffectsBundleAwarded
CharacterSkillPointDeallocated
CharacterKilledOtherCharacter
EventFeedEventRecordedEvent
UnitTurnEnd
FactionSubjugatesOtherFaction
NewCharacterRecruited
NegativeDiplomaticEvent
CharacterParticipatedAsSecondaryGeneralInBattle
FactionAboutToEndTurn
UnitTransferred
UnitUpgraded
BattleConflictFinished
RitualStartedEvent
MissionNearingExpiry
TriggerPostBattleAncillaries
DiplomaticOfferRejected
CharacterBesiegesSettlement
FactionDestroysOtherFaction
CharacterEntersGarrison
SeaTradeRouteRaided
RoundStart
CampaignArmiesMerge
TradeRouteEstablished
FactionTurnStart
SlotOpens
FactionPooledResourceGift
CharacterEntersMilitaryForce
FirstTickAfterWorldCreated
FactionJoinsConfederation
TradeNodeConnected
CharacterMilitaryForceTraditionPointAvailable
CharacterMarriage
CharacterFinishedMovingEvent
NominalDifficultyLevelChangedEvent
CampaignBuildingDamaged
FactionGodAttitudeTierChange
CharacterBrokePortBlockade
UnitDisbanded
UniqueAgentDespawned
RitualEvent
ClimatePhaseChange
PooledResourceShortageEndedEvent
GarrisonOccupiedEvent
UnitSelectedCampaign
UnitEvent
CharacterHordeBuildingDemolished
UnitConverted
RitualCompletedEvent
CharacterCreated
UnitMergedAndDestroyed
RegionRebels
CharacterInfoPanelOpened
RegionTurnStart
CharacterTraitsChanged
CharacterMilitaryForceTargetEvent
RegionRiots
FactionBarterAgreementTransaction

Interfaces

EFFECT_SCRIPT_INTERFACE
EFFECT_LIST_SCRIPT_INTERFACE
EFFECT_BUNDLE_SCRIPT_INTERFACE
EFFECT_BUNDLE_LIST_SCRIPT_INTERFACE
CUSTOM_EFFECT_BUNDLE_SCRIPT_INTERFACE
NULL_SCRIPT_INTERFACE
WORLD_SCRIPT_INTERFACE
MODEL_SCRIPT_INTERFACE
FACTION_SCRIPT_INTERFACE
FACTION_LIST_SCRIPT_INTERFACE
CHARACTER_SCRIPT_INTERFACE
CHARACTER_LIST_SCRIPT_INTERFACE
CHARACTER_DETAILS_SCRIPT_INTERFACE
CHARACTER_DETAILS_LIST_SCRIPT_INTERFACE
FAMILY_MEMBER_SCRIPT_INTERFACE
FAMILY_MEMBER_LIST_SCRIPT_INTERFACE
PROVINCE_MANAGER_SCRIPT_INTERFACE
REGION_MANAGER_SCRIPT_INTERFACE
PROVINCE_SCRIPT_INTERFACE
REGION_SCRIPT_INTERFACE
REGION_LIST_SCRIPT_INTERFACE
PROVINCE_LIST_SCRIPT_INTERFACE
SEA_REGION_MANAGER_SCRIPT_INTERFACE
SEA_REGION_SCRIPT_INTERFACE
SEA_REGION_LIST_SCRIPT_INTERFACE
REGION_DATA_SCRIPT_INTERFACE
REGION_DATA_LIST_SCRIPT_INTERFACE
GARRISON_RESIDENCE_SCRIPT_INTERFACE
SETTLEMENT_SCRIPT_INTERFACE
SLOT_SCRIPT_INTERFACE
SLOT_LIST_SCRIPT_INTERFACE
MILITARY_FORCE_SLOT_SCRIPT_INTERFACE
MILITARY_FORCE_SLOT_LIST_SCRIPT_INTERFACE
BUILDING_SCRIPT_INTERFACE
BUILDING_LIST_SCRIPT_INTERFACE
MILITARY_FORCE_BUILDING_SCRIPT_INTERFACE
MILITARY_FORCE_BUILDING_LIST_SCRIPT_INTERFACE
MILITARY_FORCE_SCRIPT_INTERFACE
MILITARY_FORCE_LIST_SCRIPT_INTERFACE
UNIT_SCRIPT_INTERFACE
UNIT_LIST_SCRIPT_INTERFACE
PENDING_BATTLE_SCRIPT_INTERFACE
BATTLE_RESULTS_SCRIPT_INTERFACE
CAMPAIGN_MISSION_SCRIPT_INTERFACE
UNIQUE_AGENT_DETAILS_SCRIPT_INTERFACE
UNIQUE_AGENT_DETAILS_LIST_SCRIPT_INTERFACE
CAMPAIGN_AI_SCRIPT_INTERFACE
ACTIVE_RITUAL_SCRIPT_INTERFACE
ACTIVE_RITUAL_LIST_SCRIPT_INTERFACE
FACTION_RITUALS_SCRIPT_INTERFACE
POOLED_RESOURCE_FACTOR_SCRIPT_INTERFACE
POOLED_RESOURCE_FACTOR_LIST_SCRIPT_INTERFACE
POOLED_RESOURCE_SCRIPT_INTERFACE
POOLED_RESOURCE_LIST_SCRIPT_INTERFACE
RESOURCE_TRANSACTION_SCRIPT_INTERFACE
FOREIGN_SLOT_SCRIPT_INTERFACE
FOREIGN_SLOT_LIST_SCRIPT_INTERFACE
FOREIGN_SLOT_MANAGER_SCRIPT_INTERFACE
FOREIGN_SLOT_MANAGER_LIST_SCRIPT_INTERFACE
GOD_MANAGER_SCRIPT_INTERFACE
GOD_SCRIPT_INTERFACE
GOD_LIST_SCRIPT_INTERFACE

Event Functions

RegionStrikes

Function Name: region
Interface: REGION_SCRIPT_INTERFACE
Description: Access the region in the event

PositiveDiplomaticEvent

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event (one of the faction leaders, as the event is fired once for each of them)

Function Name: proposer
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the proposer in the event

Function Name: recipient
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the recipient in the event

Function Name: is_alliance
Interface: FACTION_SCRIPT_INTERFACE
Description: Is the event an alliance?

Function Name: is_military_alliance
Interface: FACTION_SCRIPT_INTERFACE
Description: Is the event a military alliance?

Function Name: is_defensive_alliance
Interface: FACTION_SCRIPT_INTERFACE
Description: Is the event a defensive alliance?

Function Name: is_peace_treaty
Interface: FACTION_SCRIPT_INTERFACE
Description: Is the event a peace treaty?

Function Name: is_single_barter
Interface: FACTION_SCRIPT_INTERFACE
Description: Is the event a single barter?

Function Name: is_barter_agreement
Interface: FACTION_SCRIPT_INTERFACE
Description: Is the event a barter agreement?

Function Name: is_military_access
Interface: FACTION_SCRIPT_INTERFACE
Description: Is the event military access?

Function Name: is_trade_agreement
Interface: FACTION_SCRIPT_INTERFACE
Description: Is the event a trade agreement?

Function Name: is_non_aggression_pact
Interface: FACTION_SCRIPT_INTERFACE
Description: Is the event a non-aggression pact?

Function Name: break_alliance_with_offered
Interface: FACTION_SCRIPT_INTERFACE
Description: The break alliance with offered in the event?

Function Name: break_alliance_with_demanded
Interface: FACTION_SCRIPT_INTERFACE
Description: The break alliance with demanded in the event?

Function Name: is_vassalage
Interface: FACTION_SCRIPT_INTERFACE
Description: Is the event a vassalage?

Function Name: proposer_is_vassal
Interface: FACTION_SCRIPT_INTERFACE
Description: When the event is a vassalage, is the proposer the vassal, or is the recipient?

Function Name: is_gift
Interface: FACTION_SCRIPT_INTERFACE
Description: Is the diplomatic event a gift?

Function Name: is_single_barter_one_sided_offer
Interface: bool
Description: Is the single barter a one sided offer from the proposer faction to the recipient faction

Function Name: is_single_barter_one_sided_demand
Interface: bool
Description: Is the single barter a one sided demand from the proposer faction to the recipient faction

Function Name: single_barter_sold_resources
Interface: NONE
Description: The resources that were sold as a single barter

Function Name: single_barter_bought_resources
Interface: NONE
Description: The resources that were bought as a single barter

Function Name: barter_agreement_sold_resources
Interface: NONE
Description: The resources that will be sold each turn as part of a barter agreement

Function Name: barter_agreement_bought_resources
Interface: NONE
Description: The resources that will be bought each turn as part of a barter agreement

Function Name: barter_agreement_duration
Interface: NONE
Description: The duration of a barter agreement

CharacterGarrisonTargetEvent

Function Name: garrison_residence
Interface: GARRISON_RESIDENCE_SCRIPT_INTERFACE
Description: Access the target garrison in the event

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

RegionTurnEnd

Function Name: region
Interface: REGION_SCRIPT_INTERFACE
Description: Access the region in the event

AreaExitedEvent

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

ScriptedForceCreated

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the force general in the event

PooledResourceEvent

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction that owns the resource

Function Name: resource
Interface: POOLED_RESOURCE_SCRIPT_INTERFACE
Description: Access the resource interface

ScriptedCharacterUnhidden

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

UnitCreated

Function Name: unit
Interface: UNIT_SCRIPT_INTERFACE
Description: Access the unit in the event

DilemmaIssued

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

Function Name: campaign_model
Interface: MODEL_SCRIPT_INTERFACE
Description: Access the model in the event

Function Name: dilemma
Interface: NONE
Description: Access the key of the dilemma in the event

CharacterBuildingCompleted

Function Name: building
Interface: BUILDING_SCRIPT_INTERFACE
Description: Access the building in the event

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

CharacterGarrisonTargetAction

Function Name: mission_result_critial_success
Interface: NONE
Description: Was the mission a critical success?

Function Name: mission_result_success
Interface: NONE
Description: Was the mission a success?

Function Name: mission_result_opportune_failure
Interface: NONE
Description: Was the mission an opportune failure?

Function Name: mission_result_failure
Interface: NONE
Description: Was the mission a failure?

Function Name: mission_result_critial_failure
Interface: NONE
Description: Was the mission a critical failure?

Function Name: ability
Interface: NONE
Description: String key for the ability used (from abilities table)

Function Name: attribute
Interface: NONE
Description: String key for the attribute used (from attributes table)

Function Name: agent_action_key
Interface: NONE
Description: String key for the agent action

Function Name: garrison_residence
Interface: GARRISON_RESIDENCE_SCRIPT_INTERFACE
Description: Access the target garrison in the event

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

CharacterEndsBesiegingSettlement

Function Name: region
Interface: REGION_SCRIPT_INTERFACE
Description: Access the region that was besieged

GarrisonResidenceExposedToFaction

Function Name: encountering_faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access encountering faction

Function Name: garrison_residence
Interface: GARRISON_RESIDENCE_SCRIPT_INTERFACE
Description: Access the garrison residence in the event

ResearchCompleted

Function Name: technology
Interface: NONE
Description: Access the technology key in the event

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

FactionLiberated

Function Name: liberating_character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character involved in the liberation

RegionPlagueStateChanged

Function Name: is_infected
Interface: REGION_SCRIPT_INTERFACE
Description: Access the region's infection state

Function Name: region
Interface: REGION_SCRIPT_INTERFACE
Description: Access the region in the event

CharacterCanLiberate

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

UITriggerScriptEvent

Function Name: faction_cqi
Interface: NONE
Description: Access the faction that owns the resource

Function Name: trigger
Interface: NONE
Description: Access the faction that owns the resource

RegionSelected

Function Name: region
Interface: REGION_SCRIPT_INTERFACE
Description: Access the region in the event

BuildingBrowserInitialized

Function Name: garrison_residence
Interface: GARRISON_RESIDENCE_SCRIPT_INTERFACE
Description: Access the garrison residence in the event

ClanBecomesVassal

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

PooledResourceShortageEvent

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction that owns the resource

Function Name: resource
Interface: POOLED_RESOURCE_SCRIPT_INTERFACE
Description: Access the resource interface

CharacterEmbarksNavy

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

CharacterCapturedSettlementUnopposed

Function Name: garrison_residence
Interface: GARRISON_RESIDENCE_SCRIPT_INTERFACE
Description: Access the target garrison in the event

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

BuildingDemolished

Function Name: building
Interface: BUILDING_SCRIPT_INTERFACE
Description: Access the building in the event

Function Name: garrison_residence
Interface: GARRISON_RESIDENCE_SCRIPT_INTERFACE
Description: Access the garrison residence in the event

GarrisonResidenceEvent

Function Name: garrison_residence
Interface: GARRISON_RESIDENCE_SCRIPT_INTERFACE
Description: Access the garrison residence in the event

CampaignCoastalAssaultOnCharacter

Function Name: target_character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the target character in the event

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

CharacterSkillPointAllocated

Function Name: skill_point_spent_on
Interface: NONE
Description: Access the skill allocated

CharacterPerformedSuccessfulAgentAction

Function Name: type
Interface: NONE
Description: Type of agent action

CharacterLeavesGarrison

Function Name: garrison_residence
Interface: GARRISON_RESIDENCE_SCRIPT_INTERFACE
Description: Access the target garrison in the event

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

PendingBattle

Function Name: model
Interface: MODEL_SCRIPT_INTERFACE
Description: Access the model in the event

Function Name: pending_battle
Interface: PENDING_BATTLE_SCRIPT_INTERFACE
Description: Access the pending battle in the event

FactionInitiatesHecatomb

Function Name: god
Interface: GOD_SCRIPT_INTERFACE
Description: Access the god for which the Hecatomb was triggered

Function Name: tier
Interface: int32
Description: Access the hecatomb tier

Function Name: effect_bundle_key
Interface: String
Description: Access the hecatomb effect bundle key

Function Name: effect_bundle_duration
Interface: int32
Description: Access the hecatomb effect bundle duration

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

CharacterRelativeKilled

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

CharacterPostBattleEnslave

Function Name: is_automatically_selected
Interface: NONE
Description: Check whether the option was selected automatically (happens when occupation option choice has been shown)

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

FactionLeaderIssuesEdict

Function Name: province
Interface: NONE
Description: Access the province the edict was issued to

Function Name: initiative_key
Interface: NONE
Description: Access the initiative that was issued

FactionCharacterDiedOrWounded

Function Name: family_member
Interface: FAMILY_MEMBER_SCRIPT_INTERFACE
Description: Access character's family member

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

CharacterEvent

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

CharacterPerformsActionAgainstFriendlyTarget

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

NewSession

Function Name: is_cinematic_editor
Interface: NONE
Description: Check whether the game is in cinematic editor mode

GovernorshipTaxRateChanged

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

CharacterMaintainsSiege

Function Name: region
Interface: REGION_SCRIPT_INTERFACE
Description: Access the region that was besieged

CharacterLootedSettlement

Function Name: garrison_residence
Interface: GARRISON_RESIDENCE_SCRIPT_INTERFACE
Description: Access the target garrison in the event

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

UnitTrained

Function Name: foreign
Interface: bool
Description: Access foreign flag: recruited from foreign fraction pool

Function Name: globally_recruited
Interface: bool
Description: Check if the unit was recruited from the global recruitment pool

Function Name: unit
Interface: UNIT_SCRIPT_INTERFACE
Description: Access the unit in the event

CharacterAncillaryGained

Function Name: ancillary
Interface: NONE
Description: Access the key of the ancillary gained

FactionTurnEnd

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

CharacterTargetEvent

Function Name: target_character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the target character in the event

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

CharacterDisembarksNavy

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

CharacterSackedSettlement

Function Name: garrison_residence
Interface: GARRISON_RESIDENCE_SCRIPT_INTERFACE
Description: Access the target garrison in the event

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

CharacterTurnEnd

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

GarrisonAttackedEvent

Function Name: garrison_residence
Interface: GARRISON_RESIDENCE_SCRIPT_INTERFACE
Description: Access the target garrison in the event

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

AreaEnteredEvent

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

FirstTickAfterNewCampaignStarted

Function Name: model
Interface: MODEL_SCRIPT_INTERFACE
Description: Access the model in the event

RegionFactionChangePostBuildingConversionEvent

Function Name: region
Interface: REGION_SCRIPT_INTERFACE
Description: Access the region in the event

PendingBankruptcy

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

CharacterAncillaryLost

Function Name: ancillary
Interface: NONE
Description: Access the key of the ancillary lost

FactionLeaderSignsPeaceTreaty

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

CharacterPostBattleRelease

Function Name: is_automatically_selected
Interface: NONE
Description: Check whether the option was selected automatically (happens when occupation option choice has been shown)

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

ResearchStarted

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

PooledResourceTransactionEvent

Function Name: amount
Interface: NONE
Description: Resource amount in the transaction

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction that owns the resource

Function Name: resource
Interface: POOLED_RESOURCE_SCRIPT_INTERFACE
Description: Access the resource interface

DilemmaChoiceMadeEvent

Function Name: choice
Interface: NONE
Description: Access the choice made for the dilemma in the event

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

Function Name: campaign_model
Interface: MODEL_SCRIPT_INTERFACE
Description: Access the model in the event

Function Name: dilemma
Interface: NONE
Description: Access the key of the dilemma in the event

CharacterParticipatedInBattle

Function Name: pending_battle
Interface: PENDING_BATTLE_SCRIPT_INTERFACE
Description: Get the pending battle script interface

CharacterRankUpNeedsAncillary

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

FactionBarterAgreementTicked

Function Name: other_faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the other side of the barter agreement

Function Name: is_gift
Interface: bool
Description: Is the barter agreement a gift

Function Name: is_one_sided_offer
Interface: bool
Description: Is the barter agreement a one sided offer from this faction to the other faction

Function Name: is_one_sided_demand
Interface: bool
Description: Is the barter agreement a one sided demand from this faction to the other faction

Function Name: sold_resources
Interface: NONE
Description: The resources that were sold

Function Name: bought_resources
Interface: NONE
Description: The resources that were bought

Function Name: sold_resources_value
Interface: float32
Description: The value of the sold resources for the faction

Function Name: bought_resources_value
Interface: float32
Description: The value of the bought resources for the faction

CharacterPerformsSettlementOccupationDecision

Function Name: occupation_decision
Interface: NONE
Description: Access the key for the culture_settlement_occupation_option record in the event

Function Name: occupation_decision_group
Interface: NONE
Description: Access the group for the culture_settlement_occupation_option record in the event

Function Name: occupation_decision_option
Interface: NONE
Description: Access the option for the culture_settlement_occupation_option record in the event

Function Name: garrison_residence
Interface: GARRISON_RESIDENCE_SCRIPT_INTERFACE
Description: Access the target garrison in the event

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

SlotTurnStart

Function Name: region_slot
Interface: SLOT_SCRIPT_INTERFACE
Description: Access the region slot in the event

"AreaExited"

Function Name: area_key
Interface: CHARACTER_SCRIPT_INTERFACE
Description: ID of the area triggered

NewCampaignStarted

Function Name: model
Interface: MODEL_SCRIPT_INTERFACE
Description: Access the model in the event

FactionCivilWarOccured

Function Name: opponent
Interface: FACTION_SCRIPT_INTERFACE
Description: Access opposing faction

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

CharacterPostBattleSlaughter

Function Name: is_automatically_selected
Interface: NONE
Description: Check whether the option was selected automatically (happens when occupation option choice has been shown)

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

MissionStatusEvent

Function Name: mission
Interface: CAMPAIGN_MISSION_SCRIPT_INTERFACE
Description: Access the mission in the event

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

Function Name: campaign_model
Interface: MODEL_SCRIPT_INTERFACE
Description: Access the model in the event

CharacterAttacksAlly

Function Name: target_faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the target faction in the event

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

IncidentOccuredEvent

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

Function Name: campaign_model
Interface: MODEL_SCRIPT_INTERFACE
Description: Access the model in the event

Function Name: dilemma
Interface: NONE
Description: Access the key of the incident in the event

MilitaryForceDevelopmentPointChange

Function Name: military_force
Interface: MILITARY_FORCE_SCRIPT_INTERFACE
Description: Access the military force that gained/lost the developement point

Function Name: point_change
Interface: NONE
Description: Access the points gained/lost

CharacterMilitaryForceTraditionPointAllocated

Function Name: military_force
Interface: MILITARY_FORCE_SCRIPT_INTERFACE
Description: Access the military force the tradition was assigned to

Function Name: tradition_point_spent_on
Interface: NONE
Description: Access the tradition allocated

IncidentEvent

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

Function Name: campaign_model
Interface: MODEL_SCRIPT_INTERFACE
Description: Access the model in the event

Function Name: dilemma
Interface: NONE
Description: Access the key of the incident in the event

CharacterLoyaltyChanged

Function Name: previous_loyalty
Interface: NONE
Description: Access previous loyalty

MovementPointsExhausted

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

FactionRoundStart

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

MissionCancelled

Function Name: mission
Interface: CAMPAIGN_MISSION_SCRIPT_INTERFACE
Description: Access the mission in the event

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

Function Name: campaign_model
Interface: MODEL_SCRIPT_INTERFACE
Description: Access the model in the event

MissionEvent

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

Function Name: campaign_model
Interface: MODEL_SCRIPT_INTERFACE
Description: Access the model in the event

GetLoyaltyCustomBundle

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the acting character in the event OVERRIDE

FactionForeignTradersTransaction

Function Name: resources
Interface: NONE
Description: Access time to build

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

CharacterPromoted

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

CharacterLeavesMilitaryForce

Function Name: military_force
Interface: MILITARY_FORCE_SCRIPT_INTERFACE
Description: Access the target military force in the event

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

CharacterCandidateBecomesMinister

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

RegionAbandonedWithBuildingEvent

Function Name: abandoning_faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction that abandoned the region

Function Name: building
Interface: BUILDING_SCRIPT_INTERFACE
Description: Access the building left in the region

UniqueAgentSpawned

Function Name: unique_agent_details
Interface: UNIQUE_AGENT_DETAILS_SCRIPT_INTERFACE
Description: Access the unique agent details for this event

FactionInitiatesPrayer

Function Name: god
Interface: GOD_SCRIPT_INTERFACE
Description: Access the god for which the Prayer was triggered

Function Name: tier
Interface: int32
Description: Access the Prayer tier

Function Name: effect_bundle_key
Interface: String
Description: Access the Prayer effect bundle key

Function Name: effect_bundle_duration
Interface: int32
Description: Access the Prayer effect bundle duration

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

LandTradeRouteRaided

Function Name: resources
Interface: NONE
Description: The resources that were raided

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

FactionGovernmentTypeChanged

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

CharacterTurnStart

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

ScriptedCharacterUnhiddenFailed

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

BattleCompleted

Function Name: model
Interface: MODEL_SCRIPT_INTERFACE
Description: Access the model in the event

Function Name: pending_battle
Interface: PENDING_BATTLE_SCRIPT_INTERFACE
Description: Access the pending battle in the event

DilemmaEvent

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

Function Name: campaign_model
Interface: MODEL_SCRIPT_INTERFACE
Description: Access the model in the event

Function Name: dilemma
Interface: NONE
Description: Access the key of the dilemma in the event

ForceAdoptsStance

Function Name: stance_adopted
Interface: NONE
Description: Access the stance adopted

Function Name: military_force
Interface: MILITARY_FORCE_SCRIPT_INTERFACE
Description: Access the military force

GovernorAssignedCharacterEvent

Function Name: province
Interface: GOVERNOR_ASSIGNED_CHARACTER_EVENT
Description: Access the province in which the governor was assigned

Function Name: region
Interface: GOVERNOR_ASSIGNED_CHARACTER_EVENT
Description: Access the region in which the governor was assigned

UniqueAgentEvent

Function Name: unique_agent_details
Interface: UNIQUE_AGENT_DETAILS_SCRIPT_INTERFACE
Description: Access the unique agent details for this event

CharacterMinisterialPositionChanged

Function Name: old_post
Interface: NONE
Description: Access the old post this character occupied

Function Name: new_post
Interface: NONE
Description: Access the new post this character is now occupying

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

BuildingCompleted

Function Name: building
Interface: BUILDING_SCRIPT_INTERFACE
Description: Access the building in the event

Function Name: garrison_residence
Interface: GARRISON_RESIDENCE_SCRIPT_INTERFACE
Description: Access the garrison residence in the event

MilitaryForceDestroyed

Function Name: cqi
Interface: card32
Description: Access the cqi of the military force destroyed

WorldCreated

Function Name: world
Interface: WORLD_SCRIPT_INTERFACE
Description: Access the world in the event

FactionBecomesLiberationVassal

Function Name: liberating_character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character involved in the liberation

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

RitualCancelledEvent

Function Name: performing_faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction performing the ritual

Function Name: ritual_target_faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction targeted by the ritual

Function Name: ritual
Interface: ACTIVE_RITUAL_SCRIPT_INTERFACE
Description: Access the faction performing the ritual

UnitCompletedBattle

Function Name: unit
Interface: UNIT_SCRIPT_INTERFACE
Description: Access the unit in the event

MissionFailed

Function Name: mission
Interface: CAMPAIGN_MISSION_SCRIPT_INTERFACE
Description: Access the mission in the event

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

Function Name: campaign_model
Interface: MODEL_SCRIPT_INTERFACE
Description: Access the model in the event

NewCharacterEnteredRecruitmentPool

Function Name: character_details
Interface: CHARACTER_DETAILS_SCRIPT_INTERFACE
Description: Access the character details in the event

SlotSelected

Function Name: garrison_residence
Interface: GARRISON_RESIDENCE_SCRIPT_INTERFACE
Description: Access the garrison residence in the event

ForcePlagueStateChanged

Function Name: military_force
Interface: MILITARY_FORCE_SCRIPT_INTERFACE
Description: Access the military force infected with a plague

Function Name: is_infected
Interface: NONE
Description: Access the military force's infection state

MissionIssued

Function Name: mission
Interface: CAMPAIGN_MISSION_SCRIPT_INTERFACE
Description: Access the mission in the event

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

Function Name: campaign_model
Interface: MODEL_SCRIPT_INTERFACE
Description: Access the model in the event

CharacterSelected

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

CharacterEntersAttritionalArea

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

MissionGenerationFailed

Function Name: mission
Interface: NONE
Description: Access the ID of the mission

FactionEvent

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

CharacterCompletedBattle

Function Name: pending_battle
Interface: PENDING_BATTLE_SCRIPT_INTERFACE
Description: Get the pending battle script interface

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

ForeignSlotBuildingCompleteEvent

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Faction that constructed the slot

Function Name: building
Interface: NONE
Description: Key of the building constructed

Function Name: slot_owner
Interface: NONE
Description: Foreign slot owner

MultiTurnMove

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

"AreaEntered"

Function Name: area_key
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Key of the area triggered

RegionFactionChangeEvent

Function Name: region
Interface: REGION_SCRIPT_INTERFACE
Description: Access the region in the event

Function Name: previous_faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction that was previous owner of the region

Function Name: reason
Interface: NONE
Description: Access the reason of changing the owner

PooledResourceEffectChangedEvent

Function Name: old_effect
Interface: NONE
Description: Key of the previous effect bundle, empty if none

Function Name: new_effect
Interface: NONE
Description: Key of the new effect bundle, empty if none

Function Name: type
Interface: NONE
Description: Type of the effect changed. Can be used to index active effects

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction that owns the resource

Function Name: resource
Interface: POOLED_RESOURCE_SCRIPT_INTERFACE
Description: Access the resource interface

SlotRoundStart

Function Name: region_slot
Interface: SLOT_SCRIPT_INTERFACE
Description: Access the region slot in the event

FactionBeginTurnPhaseNormal

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

MilitaryForceBuildingCompleteEvent

Function Name: building
Interface: MILITARY_FORCE_BUILDING_SCRIPT_INTERFACE
Description: Interface to the building constructed

CharacterCharacterTargetAction

Function Name: mission_result_critial_success
Interface: NONE
Description: Was the mission a critical success?

Function Name: mission_result_success
Interface: NONE
Description: Was the mission a success?

Function Name: mission_result_opportune_failure
Interface: NONE
Description: Was the mission an opportune failure?

Function Name: mission_result_failure
Interface: NONE
Description: Was the mission a failure?

Function Name: mission_result_critial_failure
Interface: NONE
Description: Was the mission a critical failure?

Function Name: ability
Interface: NONE
Description: String key for the ability used (from abilities table)

Function Name: attribute
Interface: NONE
Description: String key for the attribute used (from attributes table)

Function Name: agent_action_key
Interface: NONE
Description: String key for the agent action

Function Name: target_character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the target character in the event

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

CharacterBlockadedPort

Function Name: garrison_residence
Interface: GARRISON_RESIDENCE_SCRIPT_INTERFACE
Description: Access the target garrison in the event

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

MilitaryForceCreated

Function Name: military_force_created
Interface: MILITARY_FORCE_SCRIPT_INTERFACE
Description: Access the military force created

CharacterBecomesFactionLeader

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

CharacterRazedSettlement

Function Name: garrison_residence
Interface: GARRISON_RESIDENCE_SCRIPT_INTERFACE
Description: Access the target garrison in the event

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

CharacterComesOfAge

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

RegionIssuesDemands

Function Name: region
Interface: REGION_SCRIPT_INTERFACE
Description: Access the region in the event

RegionSlotEvent

Function Name: region_slot
Interface: SLOT_SCRIPT_INTERFACE
Description: Access the region slot in the event

CharacterRankUp

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

FactionLeaderDeclaresWar

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

FactionEncountersOtherFaction

Function Name: other_faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the other faction in the event

BuildingConstructionIssuedByPlayer

Function Name: building
Interface: NONE
Description: Access the building in the event

Function Name: garrison_residence
Interface: GARRISON_RESIDENCE_SCRIPT_INTERFACE
Description: Access the garrison residence in the event

RegionEvent

Function Name: region
Interface: REGION_SCRIPT_INTERFACE
Description: Access the region in the event

ForeignSlotBuildingDamagedEvent

Function Name: building
Interface: NONE
Description: Key of the building damaged

MissionSucceeded

Function Name: mission
Interface: CAMPAIGN_MISSION_SCRIPT_INTERFACE
Description: Access the mission in the event

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

Function Name: campaign_model
Interface: MODEL_SCRIPT_INTERFACE
Description: Access the model in the event

RecruitmentItemIssuedByPlayer

Function Name: main_unit_record
Interface: NONE
Description: Access unit record

Function Name: time_to_build
Interface: NONE
Description: Access time to build

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

CampaignCoastalAssaultOnGarrison

Function Name: garrison_residence
Interface: GARRISON_RESIDENCE_SCRIPT_INTERFACE
Description: Access the target garrison in the event

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

CharacterFamilyRelationDied

Function Name: relationship
Interface: NONE
Description: Access the relationship to the dead character

CharacterPerformsSettlementOccupationDecisionBeforeOutcomeApplication

Function Name: occupation_decision
Interface: NONE
Description: Access the key for the culture_settlement_occupation_option record in the event

Function Name: occupation_decision_group
Interface: NONE
Description: Access the group for the culture_settlement_occupation_option record in the event

Function Name: occupation_decision_option
Interface: NONE
Description: Access the option for the culture_settlement_occupation_option record in the event

SettlementSelected

Function Name: garrison_residence
Interface: GARRISON_RESIDENCE_SCRIPT_INTERFACE
Description: Access the garrison residence in the event

CampaignEffectsBundleAwarded

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

CharacterSkillPointDeallocated

Function Name: skill_point_spent_on
Interface: NONE
Description: Access the skill

CharacterKilledOtherCharacter

Function Name: other_character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the other character in the event

EventFeedEventRecordedEvent

Function Name: event_key
Interface: NONE
Description: The database record key of the event that was recorded

UnitTurnEnd

Function Name: unit
Interface: UNIT_SCRIPT_INTERFACE
Description: Access the unit in the event

FactionSubjugatesOtherFaction

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

Function Name: other_faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the other faction in the event

NewCharacterRecruited

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character recruited

NegativeDiplomaticEvent

Function Name: proposer
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the proposer in the event

Function Name: recipient
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the recipient in the event

Function Name: was_alliance
Interface: bool
Description: Was the event a broken alliance?

Function Name: was_military_alliance
Interface: bool
Description: Was the event a broken military alliance?

Function Name: was_defensive_alliance
Interface: bool
Description: Was the event a broken defensive alliance?

Function Name: is_war
Interface: bool
Description: Was the event a declaration of war?

Function Name: was_military_access
Interface: bool
Description: Was the event ending military access?

Function Name: was_trade_agreement
Interface: bool
Description: Was the event ending a trade agreement?

Function Name: was_barter_agreement
Interface: bool
Description: Was the event ending a barter agreement?

Function Name: was_non_aggression_pact
Interface: bool
Description: Was the event breaking a non-aggression pact?

Function Name: was_vassalage
Interface: bool
Description: Was the event breaking a vassalage?

Function Name: proposer_was_vassal
Interface: bool
Description: When the event was breaking a vassalage, was the proposer the vassal, or was the recipient?

Function Name: result_of_confederation
Interface: bool
Description: Was the negative event the result of the faction being confederated?

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

CharacterParticipatedAsSecondaryGeneralInBattle

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

FactionAboutToEndTurn

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

UnitTransferred

Function Name: old_military_force
Interface: MILITARY_FORCE_SCRIPT_INTERFACE
Description: Access the old military force that the unit was transferred from

Function Name: new_military_force
Interface: MILITARY_FORCE_SCRIPT_INTERFACE
Description: Access the new military force that the unit was transferred into

UnitUpgraded

Function Name: unit
Interface: UNIT_SCRIPT_INTERFACE
Description: Access the unit in the event

BattleConflictFinished

Function Name: model
Interface: MODEL_SCRIPT_INTERFACE
Description: Access the model in the event

Function Name: pending_battle
Interface: PENDING_BATTLE_SCRIPT_INTERFACE
Description: Access the pending battle in the event

RitualStartedEvent

Function Name: performing_faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction performing the ritual

Function Name: ritual_target_faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction targeted by the ritual

Function Name: ritual
Interface: ACTIVE_RITUAL_SCRIPT_INTERFACE
Description: Access the faction performing the ritual

MissionNearingExpiry

Function Name: mission
Interface: CAMPAIGN_MISSION_SCRIPT_INTERFACE
Description: Access the mission in the event

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

Function Name: campaign_model
Interface: MODEL_SCRIPT_INTERFACE
Description: Access the model in the event

TriggerPostBattleAncillaries

Function Name: pending_battle
Interface: PENDING_BATTLE_SCRIPT_INTERFACE
Description: Access the pending battle

Function Name: has_stolen_ancillary
Interface: NONE
Description: Access a bool stating if the characters faction has already stolen an ancillary

DiplomaticOfferRejected

Function Name: proposer
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the proposer in the event

Function Name: recipient
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the recipient in the event

CharacterBesiegesSettlement

Function Name: region
Interface: REGION_SCRIPT_INTERFACE
Description: Access the region besieged

FactionDestroysOtherFaction

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

Function Name: other_faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the other faction in the event

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character, destroyed the other faction (optional)

CharacterEntersGarrison

Function Name: garrison_residence
Interface: GARRISON_RESIDENCE_SCRIPT_INTERFACE
Description: Access the target garrison in the event

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

SeaTradeRouteRaided

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

RoundStart

Function Name: model
Interface: MODEL_SCRIPT_INTERFACE
Description: Access the model in the event

CampaignArmiesMerge

Function Name: target_character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the target character in the event

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

TradeRouteEstablished

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

FactionTurnStart

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

SlotOpens

Function Name: region_slot
Interface: SLOT_SCRIPT_INTERFACE
Description: Access the region slot in the event

FactionPooledResourceGift

Function Name: other_faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the other faction in the event

Function Name: resources
Interface: NONE
Description: Access gift resources

CharacterEntersMilitaryForce

Function Name: military_force
Interface: MILITARY_FORCE_SCRIPT_INTERFACE
Description: Access the target military force in the event

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

FirstTickAfterWorldCreated

Function Name: world
Interface: WORLD_SCRIPT_INTERFACE
Description: Access the world in the event

FactionJoinsConfederation

Function Name: confederation
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the confederations owning faction

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

TradeNodeConnected

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

CharacterMilitaryForceTraditionPointAvailable

Function Name: military_force
Interface: MILITARY_FORCE_SCRIPT_INTERFACE
Description: Access the military force the tradition is available to

CharacterMarriage

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

CharacterFinishedMovingEvent

Function Name: was_flee
Interface: NONE
Description: Was the movement a result of fleeing?

NominalDifficultyLevelChangedEvent

Function Name: model
Interface: MODEL_SCRIPT_INTERFACE
Description: Access the model in the event

CampaignBuildingDamaged

Function Name: garrison_residence
Interface: GARRISON_RESIDENCE_SCRIPT_INTERFACE
Description: Access the garrison residence in the event

FactionGodAttitudeTierChange

Function Name: god
Interface: GOD_SCRIPT_INTERFACE
Description: Access the god for which the attitude tier changed

Function Name: new_tier
Interface: NONE
Description: the new tier of god attitude (int32)

Function Name: old_tier
Interface: NONE
Description: the old tier of god attitude (int32)

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

CharacterBrokePortBlockade

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

UnitDisbanded

Function Name: unit
Interface: UNIT_SCRIPT_INTERFACE
Description: Access the unit in the event

UniqueAgentDespawned

Function Name: unique_agent_details
Interface: UNIQUE_AGENT_DETAILS_SCRIPT_INTERFACE
Description: Access the unique agent details for this event

RitualEvent

Function Name: performing_faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction performing the ritual

Function Name: ritual_target_faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction targeted by the ritual

Function Name: ritual
Interface: ACTIVE_RITUAL_SCRIPT_INTERFACE
Description: Access the faction performing the ritual

ClimatePhaseChange

Function Name: world
Interface: WORLD_SCRIPT_INTERFACE
Description: Access the world in the event

PooledResourceShortageEndedEvent

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction that owns the resource

Function Name: resource
Interface: POOLED_RESOURCE_SCRIPT_INTERFACE
Description: Access the resource interface

GarrisonOccupiedEvent

Function Name: garrison_residence
Interface: GARRISON_RESIDENCE_SCRIPT_INTERFACE
Description: Access the target garrison in the event

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

UnitSelectedCampaign

Function Name: unit
Interface: UNIT_SCRIPT_INTERFACE
Description: Access the unit in the event

UnitEvent

Function Name: unit
Interface: UNIT_SCRIPT_INTERFACE
Description: Access the unit in the event

CharacterHordeBuildingDemolished

Function Name: building
Interface: NONE
Description: Key of the building in the event

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

UnitConverted

Function Name: converted_unit
Interface: UNIT_SCRIPT_INTERFACE
Description: Access the new unit the the old one was converted into

Function Name: unit
Interface: UNIT_SCRIPT_INTERFACE
Description: Access the unit in the event

RitualCompletedEvent

Function Name: succeeded
Interface: NONE
Description: Wether the ritual completed successfully or not

Function Name: performing_faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction performing the ritual

Function Name: ritual_target_faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction targeted by the ritual

Function Name: ritual
Interface: ACTIVE_RITUAL_SCRIPT_INTERFACE
Description: Access the faction performing the ritual

CharacterCreated

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

UnitMergedAndDestroyed

Function Name: new_unit
Interface: UNIT_SCRIPT_INTERFACE
Description: Access the new unit that the old one was merged into

Function Name: unit
Interface: UNIT_SCRIPT_INTERFACE
Description: Access the unit in the event

RegionRebels

Function Name: region
Interface: REGION_SCRIPT_INTERFACE
Description: Access the region in the event

CharacterInfoPanelOpened

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

RegionTurnStart

Function Name: region
Interface: REGION_SCRIPT_INTERFACE
Description: Access the region in the event

CharacterTraitsChanged

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

CharacterMilitaryForceTargetEvent

Function Name: military_force
Interface: MILITARY_FORCE_SCRIPT_INTERFACE
Description: Access the target military force in the event

Function Name: character
Interface: CHARACTER_SCRIPT_INTERFACE
Description: Access the character in the event

RegionRiots

Function Name: region
Interface: REGION_SCRIPT_INTERFACE
Description: Access the region in the event

FactionBarterAgreementTransaction

Function Name: faction
Interface: FACTION_SCRIPT_INTERFACE
Description: Access the faction in the event

Interface Functions

EFFECT_SCRIPT_INTERFACE

Description: An effect that provides bonus values via a scope

is_null_interface
key
scope
value

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: key
Description: Returns the record key for this effect
Parameters: key()
Return: String

Function: scope
Description: Record key for the scope of this effect
Parameters: scope()
Return: String

Function: value
Description: The value provided to bonus values from this effect
Parameters: value()
Return: float

EFFECT_LIST_SCRIPT_INTERFACE

Description: A list of effects

num_items
item_at
is_empty

Function: num_items
Description: Returns the number of items in the list
Parameters: num_items()
Return: positive int

Function: item_at
Description: Returns the item at the index. Make sure the index is between 0 and (max items - 1)
Parameters: positive int
Return: EFFECT_SCRIPT_INTERFACE

Function: is_empty
Description: Returns a true if there are 0 items in the list
Parameters: is_empty()
Return: bool

EFFECT_BUNDLE_SCRIPT_INTERFACE

Description: An effect bundle, which provides multiple effects to a target game object

is_null_interface
key
effects
duration
clone_and_create_custom_effect_bundle

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: key
Description: Record key for this effect bundle
Parameters: key()
Return: String

Function: effects
Description: The effects provided by this effect bundle
Parameters: effects()
Return: EFFECT_LIST_SCRIPT_INTERFACE

Function: duration
Description: Record key for this effect bundle
Parameters: key()
Return: String

Function: clone_and_create_custom_effect_bundle
Description: Copies the effect bundle into a new custom effect bundle interface. A new state is created when called and destroyed when the interface is dropped in lua
Parameters: clone_and_create_custom_effect_bundle(MODEL_SCRIPT_INTERFACE model)
Return: CUSTOM_EFFECT_BUNDLE_SCRIPT_INTERFACE

EFFECT_BUNDLE_LIST_SCRIPT_INTERFACE

Description: A list of effects

num_items
item_at
is_empty

Function: num_items
Description: Returns the number of items in the list
Parameters: num_items()
Return: positive int

Function: item_at
Description: Returns the item at the index. Make sure the index is between 0 and (max items - 1)
Parameters: positive int
Return: EFFECT_BUNDLE_SCRIPT_INTERFACE

Function: is_empty
Description: Returns a true if there are 0 items in the list
Parameters: is_empty()
Return: bool

CUSTOM_EFFECT_BUNDLE_SCRIPT_INTERFACE

Description: A customisable effect bundle, based off of an existing effect bundle defined in the database

is_null_interface
key
effects
duration
set_duration
add_effect
set_effect_value
remove_effect

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: key
Description: Key of the effect bundle record
Parameters: key()
Return: String

Function: effects
Description: Effects currently provided by this effect bundle
Parameters: effects()
Return: EFFECT_LIST_SCRIPT_INTERFACE

Function: duration
Description: Number of rounds this effect bundle will persist for. Zero means infinite duration
Parameters: duration()
Return: card32

Function: set_duration
Description: Set the number of rounds this effect bundle will persist for
Parameters: set_duration(card32 num_rounds)
Return: void

Function: add_effect
Description: Add a new effect to the effect bundle
Parameters: add_effect(String effect_key, String scope_key, float32 value)
Return: bool

Function: set_effect_value
Description: Change the value of the specified effect
Parameters: set_effect_value(EFFECT_SCRIPT_INTERFACE effect, float32 new_value)
Return: bool

Function: remove_effect
Description: Remove the specified effect
Parameters: remove_effect(EFFECT_SCRIPT_INTERFACE effect)
Return: bool

NULL_SCRIPT_INTERFACE

Description: An empty interface, returned if a requested interface doesn't exist. If function calls are made with this interface, the LUA script will fail

is_null_interface

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

WORLD_SCRIPT_INTERFACE

Description: Contains entities that exist in the game world. Examples include the region manager and faction list

is_null_interface
faction_list
region_manager
province_manager
sea_region_manager
model
faction_by_key
faction_exists
ancillary_exists
climate_phase_index
god_manager
whose_turn_is_it
region_data
land_region_data
sea_region_data
region_data_at_position

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: faction_list
Description: Returns a list interface of all factions
Parameters: faction_list()
Return: FACTION_LIST_SCRIPT_INTERFACE

Function: region_manager
Description: Returns the region manager, which has access to all regions
Parameters: region_manager()
Return: REGION_MANAGER_SCRIPT_INTERFACE

Function: province_manager
Description: Returns the province manager, which has access to all provinces
Parameters: province_manager()
Return: PROVINCE_MANAGER_SCRIPT_INTERFACE

Function: sea_region_manager
Description: Returns the sea region manager, which has access to all sea regions
Parameters: sea_region_manager()
Return: SEA_REGION_MANAGER_SCRIPT_INTERFACE

Function: model
Description: Returns the campaign model
Parameters: model()
Return: MODEL_SCRIPT_INTERFACE

Function: faction_by_key
Description: Returns a faction script interface, by key
Parameters: faction_by_key("rom_rome")
Return: FACTION_SCRIPT_INTERFACE

Function: faction_exists
Description: Returns if a faction exists in the game, by key
Parameters: faction_exists("rom_rome")
Return: bool

Function: ancillary_exists
Description: Returns if a ancillary exists anywhere in the world
Parameters: ancillary_exists("ancillary_name")
Return: bool

Function: climate_phase_index
Description: Returns the current climate phase index
Parameters: climate_phase_index()
Return: int

Function: god_manager
Description: Returns the campaign model
Parameters: god_manager()
Return: GOD_MANAGER_SCRIPT_INTERFACE

Function: whose_turn_is_it
Description: Returns a faction script interface for the faction whose turn it currently is
Parameters: whose_turn_is_it()
Return: FACTION_SCRIPT_INTERFACE

Function: region_data
Description: Returns a complete list of region data for the current campaign map
Parameters: region_data()
Return: REGION_DATA_LIST_SCRIPT_INTERFACE

Function: land_region_data
Description: Returns a list of region data for the current campaign map of the land type
Parameters: land_region_data()
Return: REGION_DATA_LIST_SCRIPT_INTERFACE

Function: sea_region_data
Description: Returns a list of region data for the current campaign map of the sea type
Parameters: sea_region_data()
Return: REGION_DATA_LIST_SCRIPT_INTERFACE

Function: region_data_at_position
Description: Returns the region data at the specified logical hex position. Null if the position is off map
Parameters: region_data_at_position(card16 x, card16 y)
Return: REGION_DATA_SCRIPT_INTERFACE

MODEL_SCRIPT_INTERFACE

Description: Model is the central access point of the campaign. Everything should be reachable from this interface

is_null_interface
world
pending_battle
date_in_range
date_and_week_in_range
turn_number
unit_scale_ratio
campaign_name
random_percent
random_int
is_multiplayer
is_player_turn
character_can_reach_character
character_can_reach_settlement
difficulty_level
combined_difficulty_level
faction_is_local
player_steam_id_is_even
campaign_ai
campaign_type
get_campaign_variable_by_name
character_for_command_queue_index
family_member_for_command_queue_index
military_force_for_command_queue_index
faction_for_command_queue_index
unit_for_command_queue_index
region_for_command_queue_index
has_character_command_queue_index
has_family_member_command_queue_index
has_military_force_command_queue_index
has_faction_command_queue_index
has_region_command_queue_index
has_unit_command_queue_index

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: world
Description: Access campaign world interface
Parameters: world()
Return: WORLD_SCRIPT_INTERFACE

Function: pending_battle
Description: Access campaign pending battle interface
Parameters: pending_battle()
Return: PENDING_BATTLE_SCRIPT_INTERFACE

Function: date_in_range
Description: Test to see if the current calendar year is within the years specified. start <= current <= end
Parameters: Start Year, End Year (Inclusive) e.g. date_in_range(1066, 2001)
Return: bool

Function: date_and_week_in_range
Description: Test to see if the current calendar year and week in year is within the years and weeks specified. Week should be 0 <= week < 48. start <= current <= end
Parameters: Start Week, Start Year, End Week, End Year (Inclusive) e.g. date_and_week_in_range(0, 1066, 47, 2001)
Return: bool

Function: turn_number
Description: Returns the number of the turn currently being taken, starting at 1
Parameters: turn_number()
Return: int

Function: unit_scale_ratio
Description: Returns the unit scale ration in this campaign
Parameters: unit_scale_ratio()
Return: float32

Function: campaign_name
Description: Returns whether or not the current campaign name matches the supplied parameter
Parameters: Name of the campaign to compare against, from the campaigns table, e.g. campaign_name('jap_shogun')
Return: bool

Function: random_percent
Description: Returns true parameter-value-percent of the time
Parameters: Number between 0 and 100 to test against e.g. random_percent(50)
Return: bool

Function: random_int
Description: Returns a random integer number
Parameters: Minimum and maximum numbers, e.g. random_int(1, 100)
Return: int

Function: is_multiplayer
Description: Returns true when in multiplayer campaign
Parameters: is_multiplayer()
Return: bool

Function: is_player_turn
Description: Is this the players turn?
Parameters: is_player_turn()
Return: bool

Function: character_can_reach_character
Description: Can a character reach another character this turn?
Parameters: Two characters e.g. character_can_reach_character(context:character(), context:target_character())
Return: bool

Function: character_can_reach_settlement
Description: Can a character reach a settlement this turn?
Parameters: character_can_reach_settlement(character, settlement)
Return: bool

Function: difficulty_level
Description: What is the local faction's difficulty level?
Parameters: difficulty_level()
Return: int

Function: combined_difficulty_level
Description: What is the combined difficulty level of all player factions?
Parameters: combined_difficulty_level()
Return: int

Function: faction_is_local
Description: Is the provided faction the local faction?
Parameters: faction_is_local("rom_rome")
Return: bool

Function: player_steam_id_is_even
Description: Does the player have an even steam id
Parameters: player_steam_id_is_even()
Return: bool

Function: campaign_ai
Description: Access campaign AI script interface
Parameters: campaign_ai()
Return: CAMPAIGN_AI_SCRIPT_INTERFACE

Function: campaign_type
Description: Returns the type of the campaign
Parameters: campaign_type()
Return: card32

Function: get_campaign_variable_by_name
Description: Returns a campaign variable for name
Parameters: A string that is the key of the variable
Return: float32 that is the value of the variable

Function: character_for_command_queue_index
Description: Returns a CHARACTER_SCRIPT_INTERFACE for the cqi
Parameters: An integer CQI > 0, character_for_command_queue_index(CQI)
Return: CHARACTER_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if the cqi doesn't exist)

Function: family_member_for_command_queue_index
Description: Returns a FAMILY_MEMBER_SCRIPT_INTERFACE for the cqi
Parameters: An integer CQI > 0, family_member_for_command_queue_index(CQI)
Return: FAMILY_MEMBER_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if the cqi doesn't exist)

Function: military_force_for_command_queue_index
Description: Returns a MILITARY_FORCE_SCRIPT_INTERFACE for the cqi
Parameters: An integer CQI > 0, military_force_for_command_queue_index(CQI)
Return: MILITARY_FORCE_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if the cqi doesn't exist)

Function: faction_for_command_queue_index
Description: Returns a FACTION_SCRIPT_INTERFACE for the cqi
Parameters: An integer CQI > 0, faction_for_command_queue_index(CQI)
Return: FACTION_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if the cqi doesn't exist)

Function: unit_for_command_queue_index
Description: Returns a UNIT_SCRIPT_INTERFACE for the cqi
Parameters: An integer CQI > 0, unit_for_command_queue_index(CQI)
Return: UNIT_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if the cqi doesn't exist)

Function: region_for_command_queue_index
Description: Returns a REGION_SCRIPT_INTERFACE for the cqi
Parameters: An integer CQI > 0, region_for_command_queue_index(CQI)
Return: REGION_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if the cqi doesn't exist)

Function: has_character_command_queue_index
Description: Returns true if the cqi exists
Parameters: An integer CQI > 0, has_character_command_queue_index(CQI)
Return: bool

Function: has_family_member_command_queue_index
Description: Returns true if the cqi exists
Parameters: An integer CQI > 0, has_family_member_command_queue_index(CQI)
Return: bool

Function: has_military_force_command_queue_index
Description: Returns true if the cqi exists
Parameters: An integer CQI > 0, has_military_force_command_queue_index(CQI)
Return: bool

Function: has_faction_command_queue_index
Description: Returns true if the cqi exists
Parameters: An integer CQI > 0, has_faction_command_queue_index(CQI)
Return: bool

Function: has_region_command_queue_index
Description: Returns true if the cqi exists
Parameters: An integer CQI > 0, has_region_command_queue_index(CQI)
Return: bool

Function: has_unit_command_queue_index
Description: Returns true if the cqi exists
Parameters: An integer CQI > 0, has_unit_command_queue_index(CQI)
Return: bool

FACTION_SCRIPT_INTERFACE

Description: Faction interface

is_null_interface
command_queue_index
num_regions
region_list
character_recruitment_pool_list
character_list
military_force_list
model
is_human
name
home_region
faction_leader
has_faction_leader
has_home_region
started_war_this_turn
ended_war_this_turn
ancillary_exists
num_allies
at_war
allied_with
has_trade_agreement_with
has_trade_agreements_only_with
building_exists
military_allies_with
defensive_allies_with
is_vassal_of
is_ally_vassal_or_client_state_of
at_war_with
trade_resource_exists
trade_value
trade_value_percent
unused_international_trade_route
trade_route_limit_reached
sea_trade_route_raided
trade_ship_not_in_trade_node
treasury
treasury_percent
losing_money
tax_level
upkeep_expenditure_percent
research_queue_idle
active_research_remaining_turns
has_technology
state_religion
num_generals
culture
subculture
has_food_shortages
imperium_level
is_horde
is_rebel
is_major
can_be_horde
diplomatic_standing_with
factions_non_aggression_pact_with
factions_defensive_alliance_with
factions_military_alliance_with
factions_trading_with
factions_at_war_with
factions_master_of
factions_met
factions_of_same_culture
factions_of_same_subculture
confederation_in_progress
get_foreign_visible_characters_for_player
get_foreign_visible_regions_for_player
is_quest_battle_faction
holds_entire_province
is_vassal
is_dead
total_food
food_production
food_consumption
get_food_factor_value
get_food_factor_base_value
get_food_factor_multiplier
unique_agents
has_effect_bundle
has_rituals
rituals
has_faction_slaves
num_faction_slaves
max_faction_slaves
percentage_faction_slaves
pooled_resources
pooled_resource
pooled_resource_display_name
has_pooled_resource
has_ritual_chain
has_access_to_ritual_category
attitude_tier_for_god
get_climate_suitability
foreign_slot_managers
effect_bundles
get_effect_bundle
srtength
flag_path
average_religion_proportion
attitude_category_with
num_provinces
exotic_goods
barter_agreements
attitude_with
province_list
tradeable_regions
mission_is_active
mission_has_succeeded
mission_was_canceled
mission_has_expired
has_pool_entry_for_forename

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: command_queue_index
Description: Command queue index of the Faction
Parameters: command_queue_index()
Return: int

Function: num_regions
Description: Number of regions this faction owns
Parameters: num_regions()
Return: int

Function: region_list
Description: A list of regions owned by the faction
Parameters: region_list()
Return: REGION_LIST_SCRIPT_INTERFACE

Function: character_recruitment_pool_list
Description: All characters of the specified type in this faction recruitment pool that had been recruited at least once
Parameters: character_recruitment_pool_list(agent_type)
Return: FAMILY_MEMBER_LIST_SCRIPT_INTERFACE

Function: character_list
Description: All characters in this faction
Parameters: character_list()
Return: CHARACTER_LIST_SCRIPT_INTERFACE

Function: military_force_list
Description: All military forces in this faction
Parameters: military_force_list()
Return: MILITARY_FORCE_LIST_SCRIPT_INTERFACE

Function: model
Description: Access to the campaign model interface
Parameters: model()
Return: MODEL_SCRIPT_INTERFACE

Function: is_human
Description: Is this a human faction?
Parameters: is_human()
Return: bool

Function: name
Description: The faction's name
Parameters: name()
Return: string

Function: home_region
Description: Faction's home region
Parameters: home_region()
Return: REGION_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if the faction has no home region)

Function: faction_leader
Description: The character that leads the faction
Parameters: faction_leader()
Return: CHARACTER_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if the faction has no faction leader

Function: has_faction_leader
Description: Does the faction have a leader?
Parameters: has_faction_leader()
Return: bool

Function: has_home_region
Description: Does the faction have a home region?
Parameters: has_home_region()
Return: bool

Function: started_war_this_turn
Description: Did a war start between this faction and another faction this turn?
Parameters: started_war_this_turn()
Return: bool

Function: ended_war_this_turn
Description: Was peace declared between this faction and another faction this turn?
Parameters: ended_war_this_turn()
Return: bool

Function: ancillary_exists
Description: Returns whether the named ancillary exists in the faction somewhere
Parameters: ancillary_exists("unkillable_cat")
Return: bool

Function: num_allies
Description: Number of factions allied with this faction
Parameters: num_allies()
Return: int

Function: at_war
Description: Is this faction at war?
Parameters: at_war()
Return: bool

Function: allied_with
Description: Is this faction allied with another faction?
Parameters: allied_with(context:character():faction())
Return: bool

Function: has_trade_agreement_with
Description: Does this faction have a barter agrement with another faction?
Parameters: has_trade_agreement_with(faction_key)
Return: bool

Function: has_trade_agreements_only_with
Description: Does this faction have barter agreement only with the given faction?
Parameters: has_other_trade_agreement_only_with(faction_key)
Return: bool

Function: building_exists
Description: Does a building with a given key exist in the regions of the faction?
Parameters: input a building key, e.g. building_exists("key")
Return: bool

Function: military_allies_with
Description: Does this faction have a military alliance with another faction?
Parameters: military_allies_with(context:character():faction())
Return: bool

Function: defensive_allies_with
Description: Does this faction have a defensive alliance with another faction?
Parameters: defensive_allies_with(context:character():faction())
Return: bool

Function: is_vassal_of
Description: Is this faction a vassal of another faction?
Parameters: is_vassal_of(context:character():faction())
Return: bool

Function: is_ally_vassal_or_client_state_of
Description: Is this faction allied, vassal of or client state of another faction?
Parameters: is_ally_vassal_or_client_state_of(context:character():faction())
Return: bool

Function: at_war_with
Description: Is this faction at war with another faction?
Parameters: at_war_with(context:character():faction())
Return: bool

Function: trade_resource_exists
Description: Returns whether the faction has access to the trade resource
Parameters: trade_resource_exists("res_gold")
Return: bool

Function: trade_value
Description: Returns the absolute value of the factions global trade
Parameters: trade_value()
Return: int

Function: trade_value_percent
Description: Returns the percentage value of global trade owned by the faction
Parameters: trade_value_percent()
Return: int

Function: unused_international_trade_route
Description: Could the faction establish a new international trade route?
Parameters: unused_international_trade_route()
Return: bool

Function: trade_route_limit_reached
Description: Has the faction reached its limit of trade routes?
Parameters: trade_route_limit_reached()
Return: bool

Function: sea_trade_route_raided
Description: Was one of this factions sea trade routes has been raided in the last round? DEPRECATED - ALWAYS RETURNS FALSE
Parameters: sea_trade_route_raided()
Return: bool

Function: trade_ship_not_in_trade_node
Description: Does the faction have a trade ship that is not in a trade node
Parameters: trade_ship_not_in_trade_node()
Return: bool

Function: treasury
Description: Returns the factions treasury value
Parameters: treasury()
Return: int

Function: treasury_percent
Description: Returns the characters factions treasury value as a percentage of the sum of all factions treasury values
Parameters: treasury_percent()
Return: int

Function: losing_money
Description: Returns whether or not the factions regular expenditure exceeds their regular income
Parameters: losing_money()
Return: bool

Function: tax_level
Description: Returns the average tax level for the faction
Parameters: tax_level()
Return: int

Function: upkeep_expenditure_percent
Description: Returns the average tax level for the faction
Parameters: upkeep_expenditure_percent()
Return: int

Function: research_queue_idle
Description: Is faction not researching any tech even though they could be
Parameters: research_queue_idle()
Return: bool

Function: active_research_remaining_turns
Description: Return the number of turns needed to complete the active research for the faction (-1 if there is no active research)
Parameters: active_research_remaining_turns()
Return: int32

Function: has_technology
Description: Does the characters faction have the specified technology
Parameters: has_technology("beer")
Return: bool

Function: state_religion
Description: Returns the state religion of the faction
Parameters: state_religion()
Return: string

Function: num_generals
Description: How many generals does this faction have?
Parameters: num_generals()
Return: int

Function: culture
Description: Returns the culture for the faction
Parameters: culture()
Return: string

Function: subculture
Description: Returns the subculture for the faction
Parameters: subculture()
Return: string

Function: has_food_shortages
Description: returns true of the faction has food shortages
Parameters: has_food_shortage()
Return: bool

Function: imperium_level
Description: returns the current imperium level
Parameters: imperium_level();
Return: card32

Function: is_horde
Description: return weather the faction is currently a horde
Parameters: is_horde()
Return: bool

Function: is_rebel
Description: return weather the faction is a rebel faction
Parameters: is_rebel()
Return: bool

Function: is_major
Description: return weather the faction is a major faction
Parameters: is_major()
Return: bool

Function: can_be_horde
Description: return weather the faction can become a horde
Parameters: can_be_horde()
Return: bool

Function: diplomatic_standing_with
Description: return the factions diplomatic standing with the specified faction
Parameters: diplomatic_standing_with()
Return: int32

Function: factions_non_aggression_pact_with
Description: return the factions this faction has a non-aggression pact with
Parameters: factions_non_aggression_pact_with()
Return: FACTION_LIST_SCRIPT_INTERFACE

Function: factions_defensive_alliance_with
Description: return the factions this faction has a defensive alliance with
Parameters: factions_defensive_alliance_with()
Return: FACTION_LIST_SCRIPT_INTERFACE

Function: factions_military_alliance_with
Description: return the factions this faction has a military alliance with
Parameters: factions_military_alliance_with()
Return: FACTION_LIST_SCRIPT_INTERFACE

Function: factions_trading_with
Description: return the factions this faction is trading with
Parameters: factions_trading_with()
Return: FACTION_LIST_SCRIPT_INTERFACE

Function: factions_at_war_with
Description: return the factions this faction is at war with
Parameters: factions_at_war_with()
Return: FACTION_LIST_SCRIPT_INTERFACE

Function: factions_master_of
Description: return the factions this faction is a master of
Parameters: factions_master_of()
Return: FACTION_LIST_SCRIPT_INTERFACE

Function: factions_met
Description: return the factions this faction has met
Parameters: factions_met()
Return: FACTION_LIST_SCRIPT_INTERFACE

Function: factions_of_same_culture
Description: return the factions with the same culture as this faction
Parameters: factions_of_same_culture()
Return: FACTION_LIST_SCRIPT_INTERFACE

Function: factions_of_same_subculture
Description: return the factions with the same subculture as this faction
Parameters: factions_of_same_subculture()
Return: FACTION_LIST_SCRIPT_INTERFACE

Function: confederation_in_progress
Description: check if there is a confederation in progress
Parameters: confederation_in_progress
Return: FACTION_LIST_SCRIPT_INTERFACE

Function: get_foreign_visible_characters_for_player
Description: return a list of foreign characters visible to this player faction
Parameters: characters_visible_to_player()
Return: CHARACTER_LIST_SCRIPT_INTERFACE

Function: get_foreign_visible_regions_for_player
Description: return a list of regions whose settlements are visible to this faction, if this faction is player-controlled
Parameters: regions_with_settlements_visible_to_player()
Return: REGIONS_LIST_SCRIPT_INTERFACE

Function: is_quest_battle_faction
Description: is this faction a quest battle faction
Parameters: is_quest_battle_faction()
Return: bool

Function: holds_entire_province
Description: Does this faction hold the entire specified province? Also may include vassals
Parameters: holds_entire_province(String province, bool include_vassals)
Return: bool

Function: is_vassal
Description: Is this faction a vassel
Parameters: is_vassal()
Return: bool

Function: is_dead
Description: Returns true if the faction is dead
Parameters: is_dead()
Return: bool

Function: total_food
Description: Returns total amount of food the faction has, taking into account all factors
Parameters: total_food()
Return: int32

Function: food_production
Description: Returns total amount of food the faction is producing, taking into account all factors
Parameters: food_production()
Return: int32

Function: food_consumption
Description: Returns total amount of food the faction is consuming, taking into account all factors
Parameters: food_consumption()
Return: int32

Function: get_food_factor_value
Description: Returns the current production/consumption of the specified food factor
Parameters: get_food_factor_value(string factor_key)
Return: int32

Function: get_food_factor_base_value
Description: Returns the current production/consumption of the specified food factor, without the multiplier
Parameters: get_food_factor_base_value(string factor_key)
Return: int32

Function: get_food_factor_multiplier
Description: Returns the current multiplier of the specified food factor
Parameters: get_food_factor_multiplier(string factor_key)
Return: int32

Function: unique_agents
Description: Returns a list of unique agent details maintained by this faction
Parameters: unique_agents()
Return: UNIQUE_AGENT_DETAILS_SCRIPT_INTERFACE

Function: has_effect_bundle
Description: Whether this faction has the specified effect bundle currently applied to them
Parameters: has_effect_bundle(string effect_bundle_key)
Return: bool

Function: has_rituals
Description: Wether this faction has access to rituals or not
Parameters: has_rituals()
Return: bool

Function: rituals
Description: Ritual manager interface for this faction
Parameters: rituals()
Return: FACTION_RITUALS

Function: has_faction_slaves
Description: Does this faction support Faction Slaves
Parameters: has_faction_slaves()
Return: bool

Function: num_faction_slaves
Description: Number of slaves in the faction
Parameters: num_faction_slaves()
Return: int

Function: max_faction_slaves
Description: Maximum number of slaves for the faction
Parameters: max_faction_slaves()
Return: int

Function: percentage_faction_slaves
Description: Percentage faction slaves of the maximum
Parameters: percentage_faction_slaves()
Return: float

Function: pooled_resources
Description: All pooled resources owned by this faction
Parameters: pooled_resources()
Return: POOLED_RESOURCE_LIST_SCRIPT_INTERFACE

Function: pooled_resource
Description: Get pooled resource by key. Null if the faction doesn't own the resource
Parameters: pooled_resource(String resource_key)
Return: POOLED_RESOURCE_SCRIPT_INTERFACE

Function: pooled_resource_display_name
Description: Get localised name of the pooled resource.
Parameters: pooled_resource_display_name(String resource_key)
Return: UniString

Function: has_pooled_resource
Description: True if faction has the specified pooled resource
Parameters: has_pooled_resource(String resource_key)
Return: bool

Function: has_ritual_chain
Description: True if the faction has ritual chain otherwise false
Parameters: has_ritual_chain(key)
Return: bool

Function: has_access_to_ritual_category
Description: True if the faction has ritual category otherwise false
Parameters: has_access_to_ritual_category(key)
Return: bool

Function: attitude_tier_for_god
Description: Number attitude tier for god by key, false otherwise
Parameters: attitude_tier_for_god(god key)
Return: number

Function: get_climate_suitability
Description: Returns the climate suitability record key for the specified climate
Parameters: get_climate_suitability(climate_key)
Return: String

Function: foreign_slot_managers
Description: Returns a list of all the foreign slot managers held by this faction
Parameters: foreign_slot_managers()
Return: FOREIGN_SLOT_MANAGER_LIST_SCRIPT_INTERFACE

Function: effect_bundles
Description: Effect bundles active on the faction
Parameters: effect_bundles()
Return: EFFECT_BUNDLE_LIST_SCRIPT_INTERFACE

Function: get_effect_bundle
Description: Effect bundle active on the faction by key
Parameters: get_effect_bundle(key)
Return: EFFECT_BUNDLE_SCRIPT_INTERFACE

Function: srtength
Description: Overall strength of the faction (as shown in diplomacy UI)
Parameters: strength()
Return: int

Function: flag_path
Description: Path to the faction flag icon
Parameters: flag_path()
Return: String

Function: average_religion_proportion
Description: Average religion proportion in the faction for a religion
Parameters: average_religion_proportion()
Return: curent proportion, predicted proportion

Function: attitude_category_with
Description: Attitude cathegory of the fation with a faction
Parameters: attitude_category_with()
Return: float

Function: num_provinces
Description: Owned provinces count
Parameters: num_provinces()
Return: int

Function: exotic_goods
Description: Faction exotic goods info
Parameters: exotic_goods()
Return: table

Function: barter_agreements
Description: Returns all existing barter agreements
Parameters: barter_agreements()
Return: table

Function: attitude_with
Description: Attitude of the fation with a faction
Parameters: attitude_with()
Return: float

Function: province_list
Description: A list of provinces owned by the faction
Parameters: province_list()
Return: PROVINCE_LIST_SCRIPT_INTERFACE

Function: tradeable_regions
Description: A list of regions that can be traded with a specific faction
Parameters: tradeable_regions(faction_cqi)
Return: REGION_LIST_SCRIPT_INTERFACE

Function: mission_is_active
Description: Is a mission with the supplied key active for this faction?
Parameters: mission_is_active(string mission_key)
Return: bool

Function: mission_has_succeeded
Description: Has a mission with the supplied key been completed by this faction?
Parameters: mission_has_succeeded(string mission_key)
Return: bool

Function: mission_was_canceled
Description: Was a mission with the supplied key canceled for this faction?
Parameters: mission_was_canceled(string mission_key)
Return: bool

Function: mission_has_expired
Description: Has a mission with the supplied key expired for this faction?
Parameters: mission_has_expired(string mission_key)
Return: bool

Function: has_pool_entry_for_forename
Description: Does this faction have a recruitment pool entry with the supplied forename?
Parameters: has_pool_entry_for_forename(string agent_type, string forename)
Return: bool

FACTION_LIST_SCRIPT_INTERFACE

Description: A list of faction interfaces

num_items
item_at
is_empty

Function: num_items
Description: Returns the number of items in the list
Parameters: num_items()
Return: positive int

Function: item_at
Description: Returns the item at the index. Make sure the index is between 0 and (max items - 1)
Parameters: positive int
Return: FACTION_SCRIPT_INTERFACE

Function: is_empty
Description: Returns a true if there are 0 items in the list
Parameters: is_empty()
Return: bool

CHARACTER_SCRIPT_INTERFACE

Description: Character interface

is_null_interface
command_queue_index
has_garrison_residence
has_region
has_military_force
model
garrison_residence
faction
region
sea_region
region_data
military_force
forename
surname
get_forename
get_surname
in_settlement
in_port
is_besieging
is_blockading
is_carrying_troops
character_type
character_type_key
character_subtype
character_subtype_key
has_trait
trait_points
has_ancillary
battles_fought
action_points_remaining_percent
action_points_per_turn
is_male
age
performed_action_this_turn
is_ambushing
turns_at_sea
turns_in_own_regions
turns_in_enemy_regions
is_faction_leader
rank
experience_required_for_rank_up
experience_required_for_rank
defensive_sieges_fought
defensive_sieges_won
offensive_sieges_fought
offensive_sieges_won
fought_in_battle
won_battle
percentage_of_own_alliance_killed
ministerial_position
logical_position_x
logical_position_y
display_position_x
display_position_y
battles_won
offensive_battles_won
offensive_battles_fought
defensive_battles_won
defensive_battles_fought
offensive_naval_battles_won
offensive_naval_battles_fought
defensive_naval_battles_won
defensive_naval_battles_fought
offensive_ambush_battles_won
offensive_ambush_battles_fought
defensive_ambush_battles_won
defensive_ambush_battles_fought
cqi
is_embedded_in_military_force
embedded_in_military_force
has_skill
is_hidden
routed_in_battle
body_guard_casulties
is_deployed
is_at_sea
has_recruited_mercenaries
number_of_traits
trait_level
loyalty
is_loyalty_applicable
interfaction_loyalty
gravitas
has_father
has_mother
mother
father
family_member
is_politician
post_battle_ancilary_chance
scripted_time_to_leave
is_caster
is_visible_to_faction
can_equip_ancillary
is_wounded
is_immortal
effect_bundles
commanded_unit
has_assigned_office_this_round

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: command_queue_index
Description: Command queue index of the Character
Parameters: command_queue_index()
Return: int

Function: has_garrison_residence
Description: Is the character contained in a garrison residence?
Parameters: has_garrison_residence()
Return: bool

Function: has_region
Description: Is the character in a valid region?
Parameters: has_region()
Return: bool

Function: has_military_force
Description: Does this character command a military force?
Parameters: has_military_force()
Return: bool

Function: model
Description: Access to the model interface
Parameters: model()
Return: MODEL_SCRIPT_INTERFACE

Function: garrison_residence
Description: The garrison containing the character
Parameters: garrison_residence()
Return: GARRISON_RESIDENCE_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if the character is not contained)

Function: faction
Description: Access to the character's faction interface
Parameters: faction()
Return: FACTION_SCRIPT_INTERFACE

Function: region
Description: Access to the region that the character is in
Parameters: region()
Return: REGION_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if the character is not in a valid region)

Function: sea_region
Description: Access to the sea region that the character is in
Parameters: sea_region()
Return: SEA_REGION_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if the character is not in a valid sea region)

Function: region_data
Description: Access to the region data area that the character is in
Parameters: region_data()
Return: REGION_DATA_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if the character is not on the map)

Function: military_force
Description: The military force that the character commands
Parameters: military_force()
Return: MILITARY_FORCE_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if the character is not commanding a military force)

Function: forename
Description: Does the character have this forename?
Parameters: The forename's db key, e.g. forename("names_name_names_irishAlan")
Return: bool

Function: surname
Description: Does the character have this surname?
Parameters: The surname's db key, e.g. surname("names_name_names_irishBlair")
Return: bool

Function: get_forename
Description: Returns the character forename
Parameters: get_forename()
Return: string

Function: get_surname
Description: Returns the character surname
Parameters: get_surname()
Return: string

Function: in_settlement
Description: Checks that a character is in a settlement
Parameters: in_settlement()
Return: bool

Function: in_port
Description: Is the character in a port?
Parameters: in_port()
Return: bool

Function: is_besieging
Description: Is the character besieging?
Parameters: is_besieging()
Return: bool

Function: is_blockading
Description: Is the character blockading?
Parameters: is_blockading()
Return: bool

Function: is_carrying_troops
Description: Is the character transporting an army?
Parameters: is_carrying_troops()
Return: bool

Function: character_type
Description: Returns true if the character context is of the agent type specified
Parameters: Key from agents table, e.g. character_type("ninja")
Return: bool

Function: character_type_key
Description: Returns the key of the character agent type record
Parameters: character_type_key()
Return: String

Function: character_subtype
Description: Returns true if the character context is of the agent subtype specified
Parameters: Key from agent subtypes table, e.g. character_subtype("emp_celestial_wizard")
Return: bool

Function: character_subtype_key
Description: Returns the key of the character agent subtype record
Parameters: character_subtype_key()
Return: String

Function: has_trait
Description: Returns if the character has the specified trait
Parameters: Trait key, e.g. has_trait("drunkard")
Return: int

Function: trait_points
Description: Returns the number of trait points for the specified trait (0 if not present)
Parameters: Trait key, e.g. trait_points("drunkard")
Return: int

Function: has_ancillary
Description: Returns if the character has the specified ancillary
Parameters: Key ancillaries table, e.g. has_ancillary("duck")
Return: bool

Function: battles_fought
Description: How many battles has this character fought in?
Parameters: battles_fought()
Return: int

Function: action_points_remaining_percent
Description: Returns the percentage of movement points remaining as an integer value
Parameters: action_points_remaining_percent() < 50
Return: int

Function: action_points_per_turn
Description: Action points per turn
Parameters: action_points_per_turn()
Return: int

Function: is_male
Description: Is the character male?
Parameters: is_male()
Return: bool

Function: age
Description: The character's age
Parameters: age()
Return: int

Function: performed_action_this_turn
Description: Has the character performed any action this turn?
Parameters: performed_action_this_turn()
Return: bool

Function: is_ambushing
Description: Is the character ambushing?
Parameters: is_ambushing()
Return: bool

Function: turns_at_sea
Description: Returns the number of turns at sea exclusively
Parameters: turns_at_sea()
Return: int

Function: turns_in_own_regions
Description: Returns the number of turns in home regions exclusively
Parameters: turns_in_own_regions()
Return: int

Function: turns_in_enemy_regions
Description: Returns the number of turns in enemy regions exclusively
Parameters: turns_in_enemy_regions()
Return: int

Function: is_faction_leader
Description: Is the character the faction leader?
Parameters: is_faction_leader()
Return: bool

Function: rank
Description: Rank of character (1-6)
Parameters: rank()
Return: int

Function: experience_required_for_rank_up
Description: Experience required to reach next rank.
Parameters: experience_required_for_rank_up()
Return: int

Function: experience_required_for_rank
Description: Experience required to reach the supplied rank.
Parameters: experience_required_for_rank(int rank)
Return: int

Function: defensive_sieges_fought
Description: Number of defensive sieges fought
Parameters: defensive_sieges_fought()
Return: int

Function: defensive_sieges_won
Description: Number of defensive sieges won
Parameters: defensive_sieges_won()
Return: int

Function: offensive_sieges_fought
Description: Number of offensive sieges fought
Parameters: offensive_sieges_fought()
Return: int

Function: offensive_sieges_won
Description: Number of offensive sieges won
Parameters: offensive_sieges_won()
Return: int

Function: fought_in_battle
Description: Did the character fight in missile or melee combat in the battle
Parameters: fought_in_battle()
Return: bool

Function: won_battle
Description: Was the character in the winning alliance in a battle
Parameters: won_battle()
Return: bool

Function: percentage_of_own_alliance_killed
Description: Percentage of men killed in the character's alliance
Parameters: percentage_of_own_alliance_killed()
Return: int

Function: ministerial_position
Description: Returns ministerial position of the character
Parameters: ministerial_position()
Return: string

Function: logical_position_x
Description: Logical position on map, x coord
Parameters: logical_position_x()
Return: int

Function: logical_position_y
Description: Logical position on map, y coord
Parameters: logical_position_y()
Return: int

Function: display_position_x
Description: Display/real position on map, x coord
Parameters: display_position_x()
Return: float

Function: display_position_y
Description: Display/real position on map, y coord
Parameters: display_position_y()
Return: float

Function: battles_won
Description: Number of battles won
Parameters: battles_won()
Return: card32

Function: offensive_battles_won
Description: Number of offensive battles won
Parameters: offensive_battles_won()
Return: card32

Function: offensive_battles_fought
Description: Number of offensive battles fought
Parameters: offensive_battles_fought()
Return: card32

Function: defensive_battles_won
Description: Number of defensive battles won
Parameters: defensive_battles_won()
Return: card32

Function: defensive_battles_fought
Description: Number of defensive battles fought
Parameters: defensive_battles_fought()
Return: card32

Function: offensive_naval_battles_won
Description: Number of offensive naval battles won
Parameters: offensive_naval_battles_won()
Return: card32

Function: offensive_naval_battles_fought
Description: Number of offensive naval battles fought
Parameters: offensive_naval_battles_fought()
Return: card32

Function: defensive_naval_battles_won
Description: Number of defensive naval battles won
Parameters: defensive_naval_battles_won()
Return: card32

Function: defensive_naval_battles_fought
Description: Number of defensive naval battles fought
Parameters: defensive_naval_battles_fought()
Return: card32

Function: offensive_ambush_battles_won
Description: Number of offensive ambush battles won
Parameters: offensive_ambush_battles_won()
Return: card32

Function: offensive_ambush_battles_fought
Description: Number of offensive ambush battles fought
Parameters: offensive_ambush_battles_fought()
Return: card32

Function: defensive_ambush_battles_won
Description: Number of defensive ambush battles won
Parameters: defensive_ambush_battles_won()
Return: card32

Function: defensive_ambush_battles_fought
Description: Number of defensive ambush battles fought
Parameters: defensive_ambush_battles_fought()
Return: card32

Function: cqi
Description: Character CQI
Parameters: cqi()
Return: card32

Function: is_embedded_in_military_force
Description: Is part of a military force
Parameters: is_embedded_in_military_force()
Return: bool

Function: embedded_in_military_force
Description: The military force that the character is embedded in
Parameters: embedded_in_military_force()
Return: MILITARY_FORCE_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if the character is not commanding a military force)

Function: has_skill
Description: Has the skill passed
Parameters: has_skill()
Return: bool

Function: is_hidden
Description: Is the charcter hidden from a faction
Parameters: is_hidden()
Return: bool

Function: routed_in_battle
Description: The commander routed
Parameters: routed_in_battle()
Return: bool

Function: body_guard_casulties
Description: Percentage of commanded unit lost in battle
Parameters: body_guard_casulties()
Return: float32

Function: is_deployed
Description: Is the character deployed
Parameters: is_deployed()
Return: bool

Function: is_at_sea
Description: Is the character at sea
Parameters: is_at_sea()
Return: bool

Function: has_recruited_mercenaries
Description: Has the character recruited mercenaries
Parameters: has_recruited_mercenaries()
Return: bool

Function: number_of_traits
Description: The number of traits the chracter has
Parameters: number_of_traits()
Return: card32

Function: trait_level
Description: returns the level of the specified trait
Parameters: trait_level("trait")
Return: int32

Function: loyalty
Description: returns the characters loyalty
Parameters: loyalty()
Return: int32

Function: is_loyalty_applicable
Description: returns whether the characters loyalty is applicable
Parameters: is_loyalty_applicable()
Return: bool

Function: interfaction_loyalty
Description: returns the characters interfaction loyalty
Parameters: interfaction_loyalty()
Return: int32

Function: gravitas
Description: returns the characters gravitas
Parameters: gravitas()
Return: card32

Function: has_father
Description: returns whether a character has a father or not
Parameters: has_father()
Return: bool

Function: has_mother
Description: returns whether a character has a mother or not
Parameters: has_mother()
Return: bool

Function: mother
Description: returns a character mother's family member script interface
Parameters: mother()
Return: FAMILY_MEMBER_SCRIPT_INTERFACE

Function: father
Description: returns a characters father's family member script interface
Parameters: father()
Return: FAMILY_MEMBER_SCRIPT_INTERFACE

Function: family_member
Description: returns a characters family member script interface
Parameters: family_member()
Return: FAMILY_MEMBER_SCRIPT_INTERFACE

Function: is_politician
Description: returns whether a character is a politian or not
Parameters: is_politician()
Return: bool

Function: post_battle_ancilary_chance
Description: returns a mod on the drop chance for post battle ancillaries
Parameters: post_battle_ancilary_chance()
Return: float32

Function: scripted_time_to_leave
Description: returns the remaining life span of the character
Parameters: scripted_time_to_leave()
Return: card32

Function: is_caster
Description: returns true if the character is a caster
Parameters: is_caster()
Return: bool

Function: is_visible_to_faction
Description: returns true if this character is visible to the specified faction
Parameters: is_visible_to_faction("faction")
Return: bool

Function: can_equip_ancillary
Description: returns true if this character can equip the specified ancillary
Parameters: can_equip_ancillary("ancillary")
Return: bool

Function: is_wounded
Description: return true if this character is wounded
Parameters: is_wounded()
Return: bool

Function: is_immortal
Description: return true if this character is immortal
Parameters: is_immortal()
Return: bool

Function: effect_bundles
Description: Effect bundles currently active on the character
Parameters: effect_bundles()
Return: EFFECT_BUNDLE_LIST_SCRIPT_INTERFACE

Function: commanded_unit
Description: Commanded unit
Parameters: commanded_unit()
Return: UNIT_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if there is not a valid commanded unit)

Function: has_assigned_office_this_round
Description: Has this character been assigned an office slot this turn
Parameters: has_assigned_office_this_round()
Return: bool

CHARACTER_LIST_SCRIPT_INTERFACE

Description: A list of character interfaces

num_items
item_at
is_empty

Function: num_items
Description: Returns the number of items in the list
Parameters: num_items()
Return: positive int

Function: item_at
Description: Returns the item at the index. Make sure the index is between 0 and (max items - 1)
Parameters: positive int
Return: CHARACTER_SCRIPT_INTERFACE

Function: is_empty
Description: Returns a true if there are 0 items in the list
Parameters: is_empty()
Return: bool

CHARACTER_DETAILS_SCRIPT_INTERFACE

Description: Character details interface

is_null_interface
model
faction
forename
surname
get_forename
get_surname
character_type
has_trait
trait_points
has_ancillary
is_male
age
has_skill
number_of_traits
trait_level
loyalty
gravitas
has_father
has_mother
mother
father
family_member
character_subtype_key

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: model
Description: Access to the model interface
Parameters: model()
Return: MODEL_SCRIPT_INTERFACE

Function: faction
Description: Access to the character's faction interface
Parameters: faction()
Return: FACTION_SCRIPT_INTERFACE

Function: forename
Description: Does the character have this forename?
Parameters: The forename's db key, e.g. forename("names_name_names_irishAlan")
Return: bool

Function: surname
Description: Does the character have this surname?
Parameters: The surname's db key, e.g. surname("names_name_names_irishBlair")
Return: bool

Function: get_forename
Description: Returns the character forename
Parameters: get_forename()
Return: string

Function: get_surname
Description: Returns the character surname
Parameters: get_surname()
Return: string

Function: character_type
Description: Returns true if the character context is of the agent type specified
Parameters: Key from agents table, e.g. character_type("ninja")
Return: bool

Function: has_trait
Description: Returns if the character has the specified trait
Parameters: Trait key, e.g. has_trait("drunkard")
Return: int

Function: trait_points
Description: Returns the number of trait points for the specified trait (0 if not present)
Parameters: Trait key, e.g. trait_points("drunkard")
Return: int

Function: has_ancillary
Description: Returns if the character has the specified ancillary
Parameters: Key ancillaries table, e.g. has_ancillary("duck")
Return: bool

Function: is_male
Description: Is the character male?
Parameters: is_male()
Return: bool

Function: age
Description: The character's age
Parameters: age()
Return: int

Function: has_skill
Description: Has the skill passed
Parameters: has_skill()
Return: bool

Function: number_of_traits
Description: The number of traits the chracter has
Parameters: number_of_traits()
Return: card32

Function: trait_level
Description: returns the level of the specified trait
Parameters: trait_level("trait")
Return: int32

Function: loyalty
Description: returns the characters loyalty
Parameters: loyalty()
Return: card32

Function: gravitas
Description: returns the characters gravitas
Parameters: gravitas()
Return: card32

Function: has_father
Description: returns whether a character has a father or not
Parameters: has_father()
Return: bool

Function: has_mother
Description: returns whether a character has a mother or not
Parameters: has_mother()
Return: bool

Function: mother
Description: returns a character mother's family member script interface
Parameters: mother()
Return: FAMILY_MEMBER_SCRIPT_INTERFACE

Function: father
Description: returns a characters father's family member script interface
Parameters: father()
Return: FAMILY_MEMBER_SCRIPT_INTERFACE

Function: family_member
Description: returns a characters family member script interface
Parameters: family_member()
Return: FAMILY_MEMBER_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if no family member exists)

Function: character_subtype_key
Description: Returns the key of the character agent subtype record
Parameters: character_subtype_key()
Return: String

CHARACTER_DETAILS_LIST_SCRIPT_INTERFACE

Description: A list of character details interfaces

num_items
item_at
is_empty

Function: num_items
Description: Returns the number of items in the list
Parameters: num_items()
Return: positive int

Function: item_at
Description: Returns the item at the index. Make sure the index is between 0 and (max items - 1)
Parameters: positive int
Return: CHARACTER_DETAILS_SCRIPT_INTERFACE

Function: is_empty
Description: Returns a true if there are 0 items in the list
Parameters: is_empty()
Return: bool

FAMILY_MEMBER_SCRIPT_INTERFACE

Description: Family interface

is_null_interface
has_father
has_mother
father
mother
has_trait
come_of_age
command_queue_index
character
is_alive
is_convalescing
is_in_transit
character_type_key
rank
forename
surname
get_forename
get_surname

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: has_father
Description: returns if this family member has a father
Parameters: has_father()
Return: bool

Function: has_mother
Description: returns if this family member has a mother
Parameters: has_mother()
Return: bool

Function: father
Description: returns if this family members father
Parameters: father()
Return: FAMILY_MEMBER_SCRIPT_INTERFACE

Function: mother
Description: returns if this family member has a mother
Parameters: mother()
Return: FAMILY_MEMBER_SCRIPT_INTERFACE

Function: has_trait
Description: return true if the character has the trait
Parameters: has_trait("trait")
Return: bool

Function: come_of_age
Description: return if the character has come of age
Parameters: come_of_age()
Return: bool

Function: command_queue_index
Description: return family member cqi of the character
Parameters: command_queue_index()
Return: card32

Function: character
Description: return character or null_interface
Parameters: character()
Return: CHARACTER_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE)

Function: is_alive
Description: is alive or not
Parameters: is_alive()
Return: bool

Function: is_convalescing
Description: is convalescing or not
Parameters: is_convalescing()
Return: bool

Function: is_in_transit
Description: is the family member in transit (between armies or on some other errand)
Parameters: is_in_transit()
Return: bool

Function: character_type_key
Description: get the character type key
Parameters: character_type_key()
Return: string

Function: rank
Description: get the character rank
Parameters: rank()
Return: int32

Function: forename
Description: Does the character have this forename?
Parameters: The forename's db key, e.g. forename("names_name_2147352487")
Return: bool

Function: surname
Description: Does the character have this surname?
Parameters: The forename's db key, e.g. forename("names_name_2147352487")
Return: bool

Function: get_forename
Description: Returns the character forename
Parameters: get_forename()
Return: string

Function: get_surname
Description: Returns the character surname
Parameters: get_surname()
Return: string

FAMILY_MEMBER_LIST_SCRIPT_INTERFACE

Description: A list of family members interfaces

num_items
item_at
is_empty

Function: num_items
Description: Returns the number of items in the list
Parameters: num_items()
Return: positive int

Function: item_at
Description: Returns the item at the index. Make sure the index is between 0 and (max items - 1)
Parameters: positive int
Return: FAMILY_MEMBER_SCRIPT_INTERFACE

Function: is_empty
Description: Returns a true if there are 0 items in the list
Parameters: is_empty()
Return: bool

PROVINCE_MANAGER_SCRIPT_INTERFACE

Description: The interface that stores and manages all provinces in the game.

is_null_interface
model
province_list
province_for_province_key

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: model
Description: Access to the model
Parameters: model()
Return: MODEL_SCRIPT_INTERFACE

Function: province_list
Description: A list of all provinces
Parameters: province_list()
Return: PROVINCE_LIST_SCRIPT_INTERFACE

Function: province_for_province_key
Description: Get province for given key
Parameters: province_for_province_key(key)
Return: PROVINCE_SCRIPT_INTERFACE

REGION_MANAGER_SCRIPT_INTERFACE

Description: The interface that stores and manages all regions in the game. Useful for looking up region and slot//settlement keys.

is_null_interface
model
region_list
faction_region_list
region_by_key
settlement_by_key
slot_by_key
resource_exists_anywhere

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: model
Description: Access to the model
Parameters: model()
Return: MODEL_SCRIPT_INTERFACE

Function: region_list
Description: A list of all regions
Parameters: region_list()
Return: REGION_LIST_SCRIPT_INTERFACE

Function: faction_region_list
Description: A list of all regions for a faction
Parameters: input a faction key string e.g. faction_region_list("mori")
Return: REGION_LIST_SCRIPT_INTERFACE

Function: region_by_key
Description: Returns the region interface for a given region key
Parameters: input a region key string e.g. region_by_key("jap_tosa")
Return: REGION_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if the region key is invalid)

Function: settlement_by_key
Description: Returns the settlement interface for a given settlement key
Parameters: input a settlement key string e.g. settlement_by_key("settlement:jap_aki:koriyama")
Return: SETTLEMENT_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if the settlement key is invalid)

Function: slot_by_key
Description: Returns the slot interface for a given slot key
Parameters: input a slot key string e.g. slot_by_key("rice:jap_awa:farm")
Return: SLOT_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if the slot key is invalid)

Function: resource_exists_anywhere
Description: Are any regions producing this resource?
Parameters: input a resource key e.g. resource_exists_anywhere("res_coffee")
Return: bool. It will also return false if the resource key is invalid.

PROVINCE_SCRIPT_INTERFACE

Description: Province script interface

is_null_interface
model
name
regions
depletable_resource_remaining_amount
can_spawn_pooled_resource
can_province_provide_income_for_faction
religion_proportion

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: model
Description: Access to the model
Parameters: model()
Return: MODEL_SCRIPT_INTERFACE

Function: name
Description: The province key
Parameters: name()
Return: String

Function: regions
Description: List of all regions in the province
Parameters: regions()
Return: REGION_LIST_SCRIPT_INTERFACE

Function: depletable_resource_remaining_amount
Description: Gets the depletable resource remaining amount for the given name and faction
Parameters: depletable_resource_remaining_amount(resource_key, faction_key)
Return: int32

Function: can_spawn_pooled_resource
Description: Checks if we can spawn the resource in this province.(checks if a record in the pooled_resource_to_province_junctions exists.)
Parameters: can_spawn_pooled_resource(resource_key)
Return: bool

Function: can_province_provide_income_for_faction
Description: Checks if this province can provide income for the pooled resources for this faction.(checks if we own any regions in the province. TODO add check for influence
Parameters: can_province_provide_income_for_faction(faction_key)
Return: bool

Function: religion_proportion
Description: Returns the proportion domination of the specified religion
Parameters: religion_proportion()
Return: float32

REGION_SCRIPT_INTERFACE

Description: Region script interface, includes region finance and slot/settlement info

is_null_interface
model
owning_faction
slot_list
settlement
garrison_residence
name
province
province_name
command_queue_index
public_order
num_buildings
slot_type_exists
building_exists
last_building_constructed_key
resource_exists
any_resource_available
pooled_resource_income
province_pooled_resource_income
town_wealth_growth
adjacent_region_list
majority_religion
region_wealth_change_percent
squalor
sanitation
is_abandoned
religion_proportion
can_recruit_agent_at_settlement
faction_province_growth
faction_province_growth_per_turn
is_province_capital
has_development_points_to_upgrade
has_faction_province_slaves
num_faction_province_slaves
max_faction_province_slaves
percentage_faction_province_slaves
has_active_storm
region_data_interface
get_selected_edict_key
get_active_edict_key
foreign_slot_managers
foreign_slot_manager_for_faction
effect_bundles
faction_province_effect_bundles
characters_in_region

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: model
Description: Access to the model
Parameters: model()
Return: MODEL_SCRIPT_INTERFACE

Function: owning_faction
Description: Access to the faction that owns the region
Parameters: owning_faction()
Return: FACTION_SCRIPT_INTERFACE

Function: slot_list
Description: A list of slots contained in the region
Parameters: slot_list()
Return: SLOT_LIST_SCRIPT_INTERFACE

Function: settlement
Description: The region settlement
Parameters: settlement()
Return: SETTLEMENT_SCRIPT_INTERFACE

Function: garrison_residence
Description: The regions settlement as a garrison_residence
Parameters: garrison_residence()
Return: GARRISON_RESIDENCE_SCRIPT_INTERFACE

Function: name
Description: The region key
Parameters: name()
Return: String

Function: province
Description: Access to the province
Parameters: province()
Return: PROVINCE_SCRIPT_INTERFACE

Function: province_name
Description: Key of the province containing the region
Parameters: province_name()
Return: String

Function: command_queue_index
Description: Returns the CQI of the region
Parameters: command_queue_index()
Return: int

Function: public_order
Description: Region public order
Parameters: public_order()
Return: int32

Function: num_buildings
Description: The number of buildings in a region
Parameters: num_buildings()
Return: int32

Function: slot_type_exists
Description: Does a slot with a given key exist in the region?
Parameters: input a slot key, e.g. slot_type_exists("rice:jap_awa:farm")
Return: bool

Function: building_exists
Description: Does a building with a given key exist in the region?
Parameters: input a building key, e.g. building_exists("key")
Return: bool

Function: last_building_constructed_key
Description: Returns the key of the last building constructed this region
Parameters: last_building_constructed_key()
Return: String

Function: resource_exists
Description: Is a resource produced in this region?
Parameters: input a resource key, e.g. resource_exists("key")
Return: bool

Function: any_resource_available
Description: Is any resource, at all, produced in this region?
Parameters: any_resource_available()
Return: bool

Function: pooled_resource_income
Description: The per turn income (or expenditure) of a pooled resource in this region?
Parameters: pooled_resource_income(resource)
Return: int32

Function: province_pooled_resource_income
Description: The per turn income (or expenditure) of a pooled resource in this region's province?
Parameters: province_pooled_resource_income(resource)
Return: int32

Function: town_wealth_growth
Description: Returns the town wealth growth in the region
Parameters: town_wealth_growth()
Return: int

Function: adjacent_region_list
Description: Returns the list of regions adjacent to this one (including where the connection is not traversable)
Parameters: adjacent_region_list()
Return: REGION_LIST_SCRIPT_INTERFACE

Function: majority_religion
Description: Returns key of the majority religion in the region
Parameters: majority_religion()
Return: String

Function: region_wealth_change_percent
Description: Returns key of the % region wealth change
Parameters: region_wealth_change_percent()
Return: float

Function: squalor
Description: Returns the current squalor in the region
Parameters: squalor()
Return: card32

Function: sanitation
Description: Returns the current sanitation in the region
Parameters: sanitation()
Return: card32

Function: is_abandoned
Description: Returns true if the region is abandoned
Parameters: is_abandoned()
Return: bool

Function: religion_proportion
Description: Returns the proportion domination of the specified religion
Parameters: religion_proportion()
Return: float32

Function: can_recruit_agent_at_settlement
Description: Returns true if you can recruite the specified agent type at the regions settlement
Parameters: can_recruit_agent_at_settlement()
Return: bool

Function: faction_province_growth
Description: Returns the total amount of growth points accumulated in a province towards the next population point
Parameters: faction_province_growth()
Return: card32

Function: faction_province_growth_per_turn
Description: Returns the amount of growth points added in a province towards the next population point this turn
Parameters: faction_province_growth_per_turn()
Return: card32

Function: is_province_capital
Description: Is this region the province capital?
Parameters: is_province_capital()
Return: bool

Function: has_development_points_to_upgrade
Description: Does this region have enough development points to upgrade?
Parameters: has_development_points_to_upgrade()
Return: bool

Function: has_faction_province_slaves
Description: Does this region's owner support Faction Slaves
Parameters: has_faction_province_slaves()
Return: bool

Function: num_faction_province_slaves
Description: Number of slaves in the faction province
Parameters: num_faction_province_slaves()
Return: int

Function: max_faction_province_slaves
Description: Maximum number of slaves for the faction province
Parameters: max_faction_province_slaves()
Return: int

Function: percentage_faction_province_slaves
Description: Percentage faction province slaves of the maximum
Parameters: percentage_faction_province_slaves()
Return: float

Function: has_active_storm
Description: Returns true if region has an active storm
Parameters: has_active_storm()
Return: bool

Function: region_data_interface
Description: Gets the REGION_DATA interface of the region
Parameters: region_data_interface()
Return: REGION_DATA_SCRIPT_INTERFACE

Function: get_selected_edict_key
Description: Gets the key of the currently selected edict of the region, returns "" if there is no edict active
Parameters: get_selected_edict_key()
Return: REGION_DATA_SCRIPT_INTERFACE

Function: get_active_edict_key
Description: Gets the key of the currently active edict of the region, returns "" if there is no edict active
Parameters: get_active_edict_key()
Return: REGION_DATA_SCRIPT_INTERFACE

Function: foreign_slot_managers
Description: Returns the complete list of foreign slot managers currently active in this region
Parameters: foreign_slot_managers()
Return: FOREIGN_SLOT_MANAGER_LIST_SCRIPT_INTERFACE

Function: foreign_slot_manager_for_faction
Description: Returns the foreign slot manager that belongs to the specified faction. Will be null if they do not have a foreign slot manager in this region
Parameters: foreign_slot_manager_for_faction(faction_key)
Return: FOREIGN_SLOT_MANAGER_SCRIPT_INTERFACE

Function: effect_bundles
Description: Effect bundles currently active on the region
Parameters: effect_bundles()
Return: EFFECT_BUNDLE_LIST_SCRIPT_INTERFACE

Function: faction_province_effect_bundles
Description: Effect bundles currently active on the faction province
Parameters: faction_province_effect_bundles()
Return: EFFECT_BUNDLE_LIST_SCRIPT_INTERFACE

Function: characters_in_region
Description: List of characters currently in the region bundles
Parameters: characters_in_region()
Return: CHARACTER_LIST_SCRIPT_INTERFACE

REGION_LIST_SCRIPT_INTERFACE

Description: A list of region interfaces

num_items
item_at
is_empty

Function: num_items
Description: Returns the number of items in the list
Parameters: num_items()
Return: positive int

Function: item_at
Description: Returns the item at the index. Make sure the index is between 0 and (max items - 1)
Parameters: positive int
Return: REGION_SCRIPT_INTERFACE

Function: is_empty
Description: Returns a true if there are 0 items in the list
Parameters: is_empty()
Return: bool

PROVINCE_LIST_SCRIPT_INTERFACE

Description: A list of province interfaces

num_items
item_at
is_empty

Function: num_items
Description: Returns the number of items in the list
Parameters: num_items()
Return: positive int

Function: item_at
Description: Returns the item at the index. Make sure the index is between 0 and (max items - 1)
Parameters: positive int
Return: PROVINCE_SCRIPT_INTERFACE

Function: is_empty
Description: Returns a true if there are 0 items in the list
Parameters: is_empty()
Return: bool

SEA_REGION_MANAGER_SCRIPT_INTERFACE

Description: Sea Region Manager script interface, world sea region list, faction sea regions and lookup by key

is_null_interface
model
sea_region_list
faction_sea_region_list
sea_region_by_key

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: model
Description: Returns the campaign model
Parameters: model()
Return: CAMPAIGN_MODEL

Function: sea_region_list
Description: Returns a complete list of sea regions in the world
Parameters: sea_region_list()
Return: SEA_REGION_LIST

Function: faction_sea_region_list
Description: Returns a complete list of sea regions for the given faction
Parameters: faction_sea_region_list(String faction)
Return: SEA_REGION_LIST

Function: sea_region_by_key
Description: Attempts to look up a sea region by record key
Parameters: sea_region_by_key(String key)
Return: SEA_REGION

SEA_REGION_SCRIPT_INTERFACE

Description: Sea Region script interface, only basic information as sea regions do not contain settlements

is_null_interface
model
name

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: model
Description: Campaign Model
Parameters: model()
Return: CAMPAIGN_MODEL

Function: name
Description: Sea Region Record Key
Parameters: name()
Return: String

SEA_REGION_LIST_SCRIPT_INTERFACE

Description: Sea Region List script interface, a list of sea regions

is_null_interface

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

REGION_DATA_SCRIPT_INTERFACE

Description: Region Data Script Interface, a region of the campaign map. May or may not be represented by a region or sea region

is_null_interface
key
is_sea

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: key
Description: Database record key of this region data
Parameters: key()
Return: String

Function: is_sea
Description: True if this region data is an sea type
Parameters: is_sea()
Return: bool

REGION_DATA_LIST_SCRIPT_INTERFACE

Description: A list of region datas

num_items
item_at
is_empty

Function: num_items
Description: Returns the number of items in the list
Parameters: num_items()
Return: positive int

Function: item_at
Description: Returns the item at the index. Make sure the index is between 0 and (max items - 1)
Parameters: positive int
Return: REGION_DATA_LIST_SCRIPT_INTERFACE

Function: is_empty
Description: Returns a true if there are 0 items in the list
Parameters: is_empty()
Return: bool

GARRISON_RESIDENCE_SCRIPT_INTERFACE

Description: Garrison residence interface, a residence that can act as a garrison for military forces. A Settlement is a garrison residence for example.

is_null_interface
command_queue_index
has_army
has_navy
model
faction
army
navy
region
unit_count
buildings
is_under_siege
sieging_force
can_assault
can_be_occupied_by_faction
is_settlement
is_slot
settlement_interface
slot_interface

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: command_queue_index
Description: Access the CQI of the garrison
Parameters: command_queue_index()
Return: int

Function: has_army
Description: Is there a garrisoned army?
Parameters: has_army()
Return: bool

Function: has_navy
Description: Is there a garrisoned navy?
Parameters: has_navy()
Return: bool

Function: model
Description: Access to the campaign model
Parameters: model()
Return: MODEL_SCRIPT_INTERFACE

Function: faction
Description: The faction that owns the garrison
Parameters: faction()
Return: FACTION_SCRIPT_INTERFACE

Function: army
Description: Returns the army in the garrison residence, if it has one
Parameters: army()
Return: MILITARY_FORCE_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if the garrison is empty)

Function: navy
Description: Returns the army in the garrison residence, if it has one
Parameters: army()
Return: MILITARY_FORCE_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if the garrison is empty)

Function: region
Description: The region for the garrison residence
Parameters: region()
Return: REGION_SCRIPT_INTERFACE

Function: unit_count
Description: Number of units in a garrison
Parameters: unit_count()
Return: int >= 0

Function: buildings
Description: Returns a list of buildings in the garrison
Parameters: buildings()
Return: BUILDING_LIST_SCRIPT_INTERFACE

Function: is_under_siege
Description: Is the garrison under siege?
Parameters: is_under_siege()
Return: bool

Function: sieging_force
Description: Gets the force that is sieging the garrison
Parameters: sieging_force()
Return: MILITARY_FORCE_SCRIPT_INTERFACE

Function: can_assault
Description: Can the attacking army launch a seige
Parameters: can_assault()
Return: bool

Function: can_be_occupied_by_faction
Description: Can the specified faction occupy this residence?
Parameters: can_be_occupied_by_faction(String faction)
Return: bool

Function: is_settlement
Description: Is this garrison a settlement type?
Parameters: is_settlement()
Return: bool

Function: is_slot
Description: Is this garrison a slot type?
Parameters: is_slot()
Return: bool

Function: settlement_interface
Description: If this garrison is a settlement type, returns a settlement interface
Parameters: settlement_interface()
Return: SETTLEMENT_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if the garrison is not a settlement)

Function: slot_interface
Description: If this garrison is a slot type, returns a slot interface
Parameters: slot_interface()
Return: SLOT_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if the garrison is not a settlement)

SETTLEMENT_SCRIPT_INTERFACE

Description: Settlement script interface

is_null_interface
has_commander
logical_position_x
logical_position_y
display_position_x
display_position_y
zone_of_control_radius_land
model
commander
faction
region
slot_list
is_port
get_climate
building_list
can_possibly_build_units_from_set
production_type

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: has_commander
Description: Does the settlement have a commander of a military force
Parameters: has_commander()
Return: bool

Function: logical_position_x
Description: Logical position on map, x coord
Parameters: logical_position_x()
Return: int

Function: logical_position_y
Description: Logical position on map, y coord
Parameters: logical_position_y()
Return: int

Function: display_position_x
Description: Display/real position on map, x coord
Parameters: display_position_x()
Return: float

Function: display_position_y
Description: Display/real position on map, y coord
Parameters: display_position_y()
Return: float

Function: zone_of_control_radius_land
Description: Return the zone of control radius of the settlement
Parameters: zone_of_control_radius_land()
Return: float

Function: model
Description: Access to the campaign model
Parameters: model()
Return: MODEL_SCRIPT_INTERFACE

Function: commander
Description: Returns the embedded military force commander
Parameters: commander()
Return: CHARACTER_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if the settlement does not have a commander)

Function: faction
Description: Access to the faction that owns the settlement
Parameters: faction()
Return: FACTION_SCRIPT_INTERFACE

Function: region
Description: The region for this settlement
Parameters: region()
Return: REGION_SCRIPT_INTERFACE

Function: slot_list
Description: Returns the list of slots in the settlement
Parameters: slot_list()
Return: SLOT_LIST_SCRIPT_INTERFACE

Function: is_port
Description: Is this settlement a port
Parameters: is_port()
Return: bool

Function: get_climate
Description: Get the climate key for a settlement
Parameters: get_climate()
Return: String

Function: building_list
Description: A list of buildings in the settlement
Parameters: building_list()
Return: BUILDING_LIST_SCRIPT_INTERFACE

Function: can_possibly_build_units_from_set
Description: Checks whether the building templates in the settlement ultimately allow any unit of this set to be built.
Parameters: can_possibly_build_units_from_set("unit_set")
Return: bool

Function: production_type
Description: returns production type in this settlement.
Parameters: production_type()
Return: string

SLOT_SCRIPT_INTERFACE

Description: Slot script interface

is_null_interface
has_building
model
region
building
faction
type
name
template_key
resource_key
is_there_construction

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: has_building
Description: Is there a building in this slot?
Parameters: has_building()
Return: bool

Function: model
Description: Access to the campaign model
Parameters: model()
Return: MODEL_SCRIPT_INTERFACE

Function: region
Description: The region for this slot
Parameters: region()
Return: REGION_SCRIPT_INTERFACE

Function: building
Description: Returns the building in this slot (if it exists)
Parameters: building()
Return: BUILDING_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if the slot does not have a building)

Function: faction
Description: Returns the faction that owns the slot
Parameters: faction()
Return: FACTION_SCRIPT_INTERFACE

Function: type
Description: The slot type
Parameters: type()
Return: string

Function: name
Description: The slot name
Parameters: name()
Return: string

Function: template_key
Description: The slot template record key
Parameters: template_key()
Return: string

Function: resource_key
Description: The slot reource key (empty if none)
Parameters: resource_key()
Return: string

Function: is_there_construction
Description: Is there construction in this slot going on?
Parameters: is_there_construction()
Return: bool

SLOT_LIST_SCRIPT_INTERFACE

Description: A list of slot interfaces

num_items
item_at
is_empty
slot_type_exists
buliding_type_exists

Function: num_items
Description: Returns the number of items in the list
Parameters: num_items()
Return: positive int

Function: item_at
Description: Returns the item at the index. Make sure the index is between 0 and (max items - 1)
Parameters: positive int
Return: SLOT_LIST_SCRIPT_INTERFACE

Function: is_empty
Description: Returns a true if there are 0 items in the list
Parameters: is_empty()
Return: bool

Function: slot_type_exists
Description: Does a slot with this key exist in the list?
Parameters: input a slot key to query, slot_type_exists( "slot_key" )
Return: bool

Function: buliding_type_exists
Description: Does a building with this key exist in the list? (building_level_record key)
Parameters: input a slot key to query, buliding_type_exists( "building_level_record_key" )
Return: bool

MILITARY_FORCE_SLOT_SCRIPT_INTERFACE

Description: Slot script interface

is_null_interface
has_building
model
region
building
faction
type
name
template_key
resource_key

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: has_building
Description: Is there a building in this slot?
Parameters: has_building()
Return: bool

Function: model
Description: Access to the campaign model
Parameters: model()
Return: MODEL_SCRIPT_INTERFACE

Function: region
Description: The military force for this slot
Parameters: military_force()
Return: REGION_SCRIPT_INTERFACE

Function: building
Description: Returns the building in this slot (if it exists)
Parameters: building()
Return: MILITARY_FORCE_BUILDING_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if the slot does not have a building)

Function: faction
Description: Returns the faction that owns the slot
Parameters: faction()
Return: FACTION_SCRIPT_INTERFACE

Function: type
Description: The slot type
Parameters: type()
Return: string

Function: name
Description: The slot name
Parameters: name()
Return: string

Function: template_key
Description: The slot template record key
Parameters: template_key()
Return: string

Function: resource_key
Description: The slot reource key (empty if none)
Parameters: resource_key()
Return: string

MILITARY_FORCE_SLOT_LIST_SCRIPT_INTERFACE

Description: A list of slot interfaces

num_items
item_at
is_empty
slot_type_exists
buliding_type_exists

Function: num_items
Description: Returns the number of items in the list
Parameters: num_items()
Return: positive int

Function: item_at
Description: Returns the item at the index. Make sure the index is between 0 and (max items - 1)
Parameters: positive int
Return: MILITARY_FORCE_SLOT_LIST_SCRIPT_INTERFACE

Function: is_empty
Description: Returns a true if there are 0 items in the list
Parameters: is_empty()
Return: bool

Function: slot_type_exists
Description: Does a slot with this key exist in the list?
Parameters: input a slot key to query, slot_type_exists( "slot_key" )
Return: bool

Function: buliding_type_exists
Description: Does a building with this key exist in the list? (building_level_record key)
Parameters: input a slot key to query, buliding_type_exists( "building_level_record_key" )
Return: bool

BUILDING_SCRIPT_INTERFACE

Description: Building script interface

is_null_interface
model
faction
region
slot
name
chain
superchain
possible_building_construction_list
percent_health
get_effect_value

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: model
Description: Access to the campaign model
Parameters: model()
Return: MODEL_SCRIPT_INTERFACE

Function: faction
Description: Returns the faction that owns the building
Parameters: faction()
Return: FACTION_SCRIPT_INTERFACE

Function: region
Description: The region the building is in
Parameters: region()
Return: REGION_SCRIPT_INTERFACE

Function: slot
Description: The slot containing the building
Parameters: slot()
Return: SLOT_SCRIPT_INTERFACE

Function: name
Description: The key for the building (building level record)
Parameters: name()
Return: String

Function: chain
Description: The key for the building chain (building_chain_record key)
Parameters: chain()
Return: String

Function: superchain
Description: The key for the building superchain (building_superchain_record key)
Parameters: superchain()
Return: String

Function: possible_building_construction_list
Description: Returns a list of keys of the possible building constructions
Parameters: possible_building_construction_list()
Return: array of strings

Function: percent_health
Description: The health of a building as a percentage between 0-100
Parameters: percent_health()
Return: 100 >= int >= 0

Function: get_effect_value
Description: gets value of effect or 0 if not found
Parameters: get_effect_value(effect_key)
Return: float32

BUILDING_LIST_SCRIPT_INTERFACE

Description: A list of building interfaces

num_items
item_at
is_empty

Function: num_items
Description: Returns the number of items in the list
Parameters: num_items()
Return: positive int

Function: item_at
Description: Returns the item at the index. Make sure the index is between 0 and (max items - 1)
Parameters: positive int
Return: BUILDING_LIST_SCRIPT_INTERFACE

Function: is_empty
Description: Returns a true if there are 0 items in the list
Parameters: is_empty()
Return: bool

MILITARY_FORCE_BUILDING_SCRIPT_INTERFACE

Description: Military Force Building script interface

is_null_interface
model
faction
military_force
slot
name
chain
superchain
possible_building_construction_list
percent_health
get_effect_value

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: model
Description: Access to the campaign model
Parameters: model()
Return: MODEL_SCRIPT_INTERFACE

Function: faction
Description: Returns the faction that owns the building
Parameters: faction()
Return: FACTION_SCRIPT_INTERFACE

Function: military_force
Description: The military force the building is in
Parameters: military_force()
Return: MILITARY_FORCE_SCRIPT_INTERFACE

Function: slot
Description: The slot containing the building
Parameters: slot()
Return: MILITARY_FORCE_SLOT_SCRIPT_INTERFACE

Function: name
Description: The key for the building (building level record)
Parameters: name()
Return: String

Function: chain
Description: The key for the building chain (building_chain_record key)
Parameters: chain()
Return: String

Function: superchain
Description: The key for the building superchain (building_superchain_record key)
Parameters: superchain()
Return: String

Function: possible_building_construction_list
Description: Returns a list of keys of the possible building constructions
Parameters: possible_building_construction_list()
Return: array of strings

Function: percent_health
Description: The health of a building as a percentage between 0-100
Parameters: percent_health()
Return: 100 >= int >= 0

Function: get_effect_value
Description: gets value of effect or 0 if not found
Parameters: get_effect_value(effect_key)
Return: float32

MILITARY_FORCE_BUILDING_LIST_SCRIPT_INTERFACE

Description: A list of military force building interfaces

num_items
item_at
is_empty

Function: num_items
Description: Returns the number of items in the list
Parameters: num_items()
Return: positive int

Function: item_at
Description: Returns the item at the index. Make sure the index is between 0 and (max items - 1)
Parameters: positive int
Return: MILITARY_FORCE_BUILDING_LIST_SCRIPT_INTERFACE

Function: is_empty
Description: Returns a true if there are 0 items in the list
Parameters: is_empty()
Return: bool

MILITARY_FORCE_SCRIPT_INTERFACE

Description: Military force interface. Armies and navies are military forces.

is_null_interface
command_queue_index
has_general
is_army
is_navy
model
unit_list
character_list
general_character
faction
has_garrison_residence
garrison_residence
contains_mercenaries
upkeep
active_stance
can_activate_stance
morale
is_armed_citizenry
can_recruit_agent_at_force
can_recruit_unit
can_recruit_unit_class
can_recruit_unit_category
strength
has_effect_bundle
effect_bundles
buildings

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: command_queue_index
Description: Command queue index of the Military Force
Parameters: command_queue_index()
Return: int

Function: has_general
Description: Does the military force have a commanding general?
Parameters: has_general()
Return: bool

Function: is_army
Description: Is this military force an army?
Parameters: is_army()
Return: bool

Function: is_navy
Description: Is this military force a navy?
Parameters: is_navy()
Return: bool

Function: model
Description: Access to the campaign model
Parameters: model()
Return: MODEL_SCRIPT_INTERFACE

Function: unit_list
Description: Returns the list of units in the military force
Parameters: unit_list()
Return: UNIT_LIST_SCRIPT_INTERFACE

Function: character_list
Description: A list of characters embedded in the military force
Parameters: character_list()
Return: CHARACTER_LIST_SCRIPT_INTERFACE

Function: general_character
Description: Returns the character interface for the military force general (if one exists)
Parameters: general_character()
Return: CHARACTER_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if the military force doesn't have a commander)

Function: faction
Description: The faction that the military force belongs to
Parameters: faction()
Return: FACTION_SCRIPT_INTERFACE

Function: has_garrison_residence
Description: Is the force in a garrison residence?
Parameters: has_garrison_residence()
Return: bool

Function: garrison_residence
Description: Returns the garrison residence the force is embedded in
Parameters: garrison_residence()
Return: GARRISON_RESIDENCE_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if the army isn't embedded)

Function: contains_mercenaries
Description: Returns if the force contains mercenaries
Parameters: contains_mercenaries()
Return: bool

Function: upkeep
Description: Returns the upkeep costs for the military force
Parameters: upkeep()
Return: int >= 0

Function: active_stance
Description: Returns the active stance for the military force
Parameters: active_stance()
Return: String

Function: can_activate_stance
Description: Can the military force enter this stance
Parameters: input a stance string to query, can_activate_stance( "stance" )
Return: bool

Function: morale
Description: Get the morale for this army
Parameters: morale()
Return: card32

Function: is_armed_citizenry
Description: returns true if the force is armed citizenry
Parameters: is_armed_citizenry()
Return: bool

Function: can_recruit_agent_at_force
Description: Returns true if you can recruit the specified agent at this force
Parameters: can_recruit_agent_at_force()
Return: bool

Function: can_recruit_unit
Description: Returns true if this force can recruit a unit of this type
Parameters: can_recruit_unit()
Return: bool

Function: can_recruit_unit_class
Description: Returns true if this force can recruit a unit of this class
Parameters: can_recruit_unit_class()
Return: bool

Function: can_recruit_unit_category
Description: Returns true if this force can recruit a unit of this category
Parameters: can_recruit_unit_category()
Return: bool

Function: strength
Description: Returns the strength of the military force
Parameters: strength()
Return: float32

Function: has_effect_bundle
Description: Returns true if the military force has the specified effect bundle active
Parameters: has_effect_bundle(String bundle_key)
Return: bool

Function: effect_bundles
Description: Effect bundles currently active on the military force
Parameters: effect_bundles()
Return: EFFECT_BUNDLE_LIST_SCRIPT_INTERFACE

Function: buildings
Description: Returns a list of buildings in the military force
Parameters: buildings()
Return: MILITARY_FORCE_BUILDING_LIST_SCRIPT_INTERFACE

MILITARY_FORCE_LIST_SCRIPT_INTERFACE

Description: A list of military forces

num_items
item_at
is_empty

Function: num_items
Description: Returns the number of items in the list
Parameters: num_items()
Return: positive int

Function: item_at
Description: Returns the item at the index. Make sure the index is between 0 and (max items - 1)
Parameters: positive int
Return: MILITARY_FORCE_LIST_SCRIPT_INTERFACE

Function: is_empty
Description: Returns a true if there are 0 items in the list
Parameters: is_empty()
Return: bool

UNIT_SCRIPT_INTERFACE

Description: Unit script interface. Land units and Naval units are derived from Unit.

is_null_interface
command_queue_index
has_force_commander
has_unit_commander
is_land_unit
is_naval_unit
model
force_commander
unit_commander
military_force
faction
unit_key
unit_category
unit_class
percentage_proportion_of_full_strength
has_banner_ancillary
banner_ancillary
can_upgrade_unit_equipment
can_upgrade_unit
has_upgrades
experience_until_next_level
get_unit_custom_battle_cost

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: command_queue_index
Description: Command queue index of the unit
Parameters: command_queue_index()
Return: int

Function: has_force_commander
Description: Is the unit in a force with a commander?
Parameters: has_force_commander()
Return: bool

Function: has_unit_commander
Description: Does this unit have a character leading it? Not all units have one
Parameters: has_unit_commander()
Return: bool

Function: is_land_unit
Description: Is this a land unit?
Parameters: is_land_unit()
Return: bool

Function: is_naval_unit
Description: Is this a naval unit?
Parameters: is_naval_unit()
Return: bool

Function: model
Description: Access to the campaign model interface
Parameters: model()
Return: MODEL_SCRIPT_INTERFACE

Function: force_commander
Description: Returns the force commander if one exists
Parameters: force_commander()
Return: CHARACTER_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE unit doesn't have a force commander)

Function: unit_commander
Description: Returns the unit commander if one exists
Parameters: unit_commander()
Return: CHARACTER_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE unit doesn't have a unit commander)

Function: military_force
Description: Returns the military force containing this unit
Parameters: military_force()
Return: MILITARY_FORCE_SCRIPT_INTERFACE

Function: faction
Description: Returns the faction that this unit belongs to
Parameters: faction()
Return: FACTION_SCRIPT_INTERFACE

Function: unit_key
Description: The unit record key
Parameters: unit_key()
Return: String

Function: unit_category
Description: The unit record category
Parameters: unit_category()
Return: String

Function: unit_class
Description: The unit record class
Parameters: unit_class()
Return: String

Function: percentage_proportion_of_full_strength
Description: The % of soldiers in the unit. Returns a value 0.0-100.0
Parameters: percentage_proportion_of_full_strength()
Return: float

Function: has_banner_ancillary
Description: Returns whether the unit has a banner equipped
Parameters: has_banner_ancillary()
Return: bool

Function: banner_ancillary
Description: Returns the ancillary key of the banner equipped by the unit, or an empty string if no banner is equipped
Parameters: banner_ancillary()
Return: String

Function: can_upgrade_unit_equipment
Description: Can this unit upgrade it's equipment
Parameters: can_upgrade_unit_equipment()
Return: bool

Function: can_upgrade_unit
Description: Can this unit be upgraded to another unit
Parameters: can_upgrade_unit()
Return: bool

Function: has_upgrades
Description: Has this unit upgrades
Parameters: has_upgrades()
Return: bool

Function: experience_until_next_level
Description: Experience points required for level-up.
Parameters: experience_until_next_level()
Return: card32

Function: get_unit_custom_battle_cost
Description: Get the cost of the unit in multiplayer or custom battle mode
Parameters: get_unit_custom_battle_cost()
Return: card32

UNIT_LIST_SCRIPT_INTERFACE

Description: A list of units

num_items
item_at
is_empty
has_unit

Function: num_items
Description: Returns the number of items in the list
Parameters: num_items()
Return: positive int

Function: item_at
Description: Returns the item at the index. Make sure the index is between 0 and (max items - 1)
Parameters: positive int
Return: UNIT_LIST_SCRIPT_INTERFACE

Function: is_empty
Description: Returns a true if there are 0 items in the list
Parameters: is_empty()
Return: bool

Function: has_unit
Description: Test if a unit exists in the unit list. Input a unit record key.
Parameters: input a unit key string, has_unit(" unit_key ")
Return: bool

PENDING_BATTLE_SCRIPT_INTERFACE

Description: Pending battle script interface.

is_null_interface
has_attacker
has_defender
has_contested_garrison
has_region
logical_position_x
logical_position_y
model
attacker_faction
attacker
secondary_attackers
defender_faction
defender
secondary_defenders
contested_garrison
region
is_active
attacker_is_stronger
attack_side_losses
defense_side_losses
percentage_of_attacker_killed
percentage_of_defender_killed
percentage_of_attacker_routed
percentage_of_defender_routed
attacker_commander_fought_in_battle
defender_commander_fought_in_battle
attacker_commander_fought_in_melee
defender_commander_fought_in_melee
attacker_battle_result
defender_battle_result
naval_battle
seige_battle
river_battle
mountain_chokepoint
ambush_battle
failed_ambush_battle
night_battle
battle_type
battle_name
attacker_strength
defender_strength
has_been_fought
set_piece_battle_key
battle_results

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: has_attacker
Description: Does the pending battle have an attacking character?
Parameters: has_attacker()
Return: bool

Function: has_defender
Description: Does the pending battle have a defending character?
Parameters: has_defender()
Return: bool

Function: has_contested_garrison
Description: Is the pending battle at a garrison?
Parameters: has_contested_garrison()
Return: bool

Function: has_region
Description: Is the pending battle in a land region?
Parameters: has_region()
Return: bool

Function: logical_position_x
Description: Logical position on map, x coord
Parameters: logical_position_x()
Return: int

Function: logical_position_y
Description: Logical position on map, y coord
Parameters: logical_position_y()
Return: int

Function: model
Description: Access to the campaign model
Parameters: model()
Return: MODEL_SCRIPT_INTERFACE

Function: attacker_faction
Description: Returns the attacking faction, if one exists
Parameters: attacker_faction()
Return: FACTION_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if no attacking faction exists)

Function: attacker
Description: Returns the attacking character, if one exists
Parameters: attacker()
Return: CHARACTER_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if no attacking character exists)

Function: secondary_attackers
Description: Returns the list of secondary attacking characters
Parameters: secondary_attackers()
Return: CHARACTER_LIST_SCRIPT_INTERFACE

Function: defender_faction
Description: Returns the defending faction, if one exists
Parameters: defender_faction()
Return: FACTION_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if no defending faction exists)

Function: defender
Description: Returns the defending character, if one exists
Parameters: defender()
Return: CHARACTER_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if no defending character exists)

Function: secondary_defenders
Description: Returns the list of secondary defending characters
Parameters: secondary_defenders()
Return: CHARACTER_LIST_SCRIPT_INTERFACE

Function: contested_garrison
Description: Returns the contested residence, if it exists
Parameters: contested_garrison()
Return: GARRISON_RESIDENCE_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if a garrison isn't being contested)

Function: region
Description: Returns the region the battle takes place in, if any.
Parameters: region()
Return: REGION_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if a the battle is not in a land region)

Function: is_active
Description: Is a pending battle active?
Parameters: is_active()
Return: bool

Function: attacker_is_stronger
Description: Is the attacking force stronger than the defender?
Parameters: attacker_is_stronger()
Return: bool

Function: attack_side_losses
Description: Total lost units of attacking side
Parameters: attack_side_losses()
Return: int32

Function: defense_side_losses
Description: Total lost units of defense side
Parameters: defense_side_losses()
Return: int32

Function: percentage_of_attacker_killed
Description: Percentage of attacker killed in battle
Parameters: percentage_of_attacker_killed()
Return: 100 >= float >= 0

Function: percentage_of_defender_killed
Description: Percentage of defender killed in battle
Parameters: percentage_of_defender_killed()
Return: 100 >= float >= 0

Function: percentage_of_attacker_routed
Description: Percentage of attackers routed in battle
Parameters: percentage_of_attacker_routed()
Return: 100 >= float >= 0

Function: percentage_of_defender_routed
Description: Percentage of defenders routed in battle
Parameters: percentage_of_defender_routed()
Return: 100 >= float >= 0

Function: attacker_commander_fought_in_battle
Description: Did the commander engage in the battle?
Parameters: attacker_commander_fought_in_battle()
Return: bool

Function: defender_commander_fought_in_battle
Description: Did the commander engage in the battle?
Parameters: defender_commander_fought_in_battle()
Return: bool

Function: attacker_commander_fought_in_melee
Description: Did the commander engage in melee?
Parameters: attacker_commander_fought_in_melee()
Return: bool

Function: defender_commander_fought_in_melee
Description: Did the commander engage in melee?
Parameters: defender_commander_fought_in_melee()
Return: bool

Function: attacker_battle_result
Description: The battle result for the attacker
Parameters: attacker_battle_result()
Return: String (close_victory, decisive_victory, heroic_victory, pyrrhic_victory, close_defeat, decisive_defeat, crushing_defeat, valiant_defeat

Function: defender_battle_result
Description: The battle result for the defender
Parameters: defender_battle_result()
Return: String (close_victory, decisive_victory, heroic_victory, pyrrhic_victory, close_defeat, decisive_defeat, crushing_defeat, valiant_defeat

Function: naval_battle
Description: The battle is a naval battle
Parameters: naval_battle()
Return: bool

Function: seige_battle
Description: The battle is a seige battle
Parameters: seige_battle()
Return: bool

Function: river_battle
Description: The battle is a river crossing battle
Parameters: river_battle()
Return: bool

Function: mountain_chokepoint
Description: The battle is a mountain chokepoint battle
Parameters: mountain_chokepoint()
Return: bool

Function: ambush_battle
Description: The battle is a ambush battle
Parameters: ambush_battle()
Return: bool

Function: failed_ambush_battle
Description: The battle is a failed ambush battle
Parameters: failed_ambush_battle()
Return: bool

Function: night_battle
Description: The battle is a night battle
Parameters: night_battle()
Return: bool

Function: battle_type
Description: The battle type. Asks a programmer for the battle type strings (found in campaign_battle_type_enum_ids, campaignbonusvalues.cpp)
Parameters: battle_type()
Return: string

Function: battle_name
Description: Return localised battle name, the same that is used in the Battle Loading screen.
Parameters: battle_name()
Return: string

Function: attacker_strength
Description: The relative strength of the attacker
Parameters: attacker_strength()
Return: float32

Function: defender_strength
Description: The relative strength of the defender
Parameters: defender_strength()
Return: float32

Function: has_been_fought
Description: True if the battle has been fought
Parameters: has_been_fought()
Return: bool

Function: set_piece_battle_key
Description: Returns the set piece battle key. Empty if this isn't a set piece battle
Parameters: set_piece_battle_key()
Return: String

Function: battle_results
Description: Returns battle results object for the pending battle
Parameters: battle_results()
Return: BATTLE_RESULTS_SCRIPT_INTERFACE (or NULL_SCRIPT_INTERFACE if there are no battle results yet)

BATTLE_RESULTS_SCRIPT_INTERFACE

Description: Battle results script interface.

is_null_interface
are_finalised
winning_faction_key
losing_faction_key
attacker_main_army_start_units
defender_main_army_start_units
attacker_main_army_alive_units
defender_main_army_alive_units
attacker_start_number_of_men
defender_start_number_of_men
attacker_casualties
defender_casualties

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: are_finalised
Description: If results are finalised
Parameters: are_finalised()
Return: boolean

Function: winning_faction_key
Description: Returns the key of the winning faction or an empty string if battle results are not finalized or there is no winner for some reason.
Parameters: winning_faction_key()
Return: string

Function: losing_faction_key
Description: Returns the key of the losing faction or an empty string if battle results are not finalized or there is no winner for some reason.
Parameters: losing_faction_key()
Return: string

Function: attacker_main_army_start_units
Description: Start units in the main army of the attacker.
Parameters: attacker_main_army_start_units()
Return: int32

Function: defender_main_army_start_units
Description: Start units in the main army of the defender.
Parameters: defender_main_army_start_units()
Return: int32

Function: attacker_main_army_alive_units
Description: Alive units in the main army of the attacker.
Parameters: attacker_main_army_alive_units()
Return: int32

Function: defender_main_army_alive_units
Description: Alive units in the main army of the defender.
Parameters: defender_main_army_alive_units()
Return: int32

Function: attacker_start_number_of_men
Description: Starting number of men in the attacking side (including reinforcements)
Parameters: attacker_start_number_of_men()
Return: int32

Function: defender_start_number_of_men
Description: Starting number of men in the defending side (including reinforcements)
Parameters: defender_start_number_of_men()
Return: int32

Function: attacker_casualties
Description: Total lost men in the attacking side (including reinforcements)
Parameters: attacker_casualties()
Return: int32

Function: defender_casualties
Description: Total lost men in the defending side (including reinforcements)
Parameters: defender_casualties()
Return: int32

CAMPAIGN_MISSION_SCRIPT_INTERFACE

Description: Mission script interface.

is_null_interface
model
faction
mission_record_key
mission_issuer_record_key

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: model
Description: Access to the campaign model interface
Parameters: model()
Return: MODEL_SCRIPT_INTERFACE

Function: faction
Description: Access to the faction interface
Parameters: faction()
Return: FACTION_SCRIPT_INTERFACE

Function: mission_record_key
Description: Returns the mission record key
Parameters: mission_record_key()
Return: String

Function: mission_issuer_record_key
Description: Returns the mission issuer record key
Parameters: mission_issuer_record_key()
Return: String

UNIQUE_AGENT_DETAILS_SCRIPT_INTERFACE

Description: Unique Agent Details Script Interface.

is_null_interface
faction
character
agent_key
charges
charges_expended
valid

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: faction
Description: Returns the owning faction
Parameters: faction()
Return: FACTION_SCRIPT_INTERFACE

Function: character
Description: Returns the active character for this unique agent. Null if not spawned
Parameters: character()
Return: CHARACTER_SCRIPT_INTERFACE

Function: agent_key
Description: Returns the database record key for this unique agent.
Parameters: agent_key()
Return: String

Function: charges
Description: Returns the number of available charges.
Parameters: charges()
Return: card32

Function: charges_expended
Description: Returns the number of charges expended.
Parameters: charges_expended()
Return: card32

Function: valid
Description: True if this unique agent is valid to spawn.
Parameters: valid()
Return: bool

UNIQUE_AGENT_DETAILS_LIST_SCRIPT_INTERFACE

Description: A list of unique agent details

num_items
item_at
is_empty
has_unique_agent_details

Function: num_items
Description: Returns the number of items in the list
Parameters: num_items()
Return: positive int

Function: item_at
Description: Returns the item at the index. Make sure the index is between 0 and (max items - 1)
Parameters: positive int
Return: UNIQUE_AGENT_DETAILS_LIST_SCRIPT_INTERFACE

Function: is_empty
Description: Returns a true if there are 0 items in the list
Parameters: is_empty()
Return: bool

Function: has_unique_agent_details
Description: True if a unique agent details object of the same type is present
Parameters: has_unique_agent_details(String record_key)
Return: bool

CAMPAIGN_AI_SCRIPT_INTERFACE

Description: Campaign AI script interface.

is_null_interface
strategic_stance_between_factions
strategic_stance_between_factions_available
strategic_stance_between_factions_promotion_or_blocking_is_set
strategic_stance_between_factions_promotion_is_active
strategic_stance_between_factions_promotion_current_level
strategic_stance_between_factions_promotion_start_round
strategic_stance_between_factions_promotion_start_level
strategic_stance_between_factions_promotion_end_round
strategic_stance_between_factions_promotion_end_level
strategic_stance_between_factions_is_being_blocked
strategic_stance_between_factions_is_being_blocked_until

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: strategic_stance_between_factions
Description: Determine the strategic stance between two AI factions.
Parameters: strategic_stance_between_factions(faction_being_queries, faction_that_is_being_considered)
Return:

Function: strategic_stance_between_factions_available
Description: Determine if the strategic stance between two AI factions is available.
Parameters: strategic_stance_between_factions_available(faction_being_queries, faction_that_is_being_considered)
Return:

Function: strategic_stance_between_factions_promotion_or_blocking_is_set
Description: Determine if there is any currently active blocking or promotion set between factions.
Parameters: strategic_stance_between_factions_promotion_or_blocking_is_set(faction_being_queries, faction_that_is_being_considered)
Return:

Function: strategic_stance_between_factions_promotion_is_active
Description: Determine if there is any currently active promotion between factions for a given stance.
Parameters: strategic_stance_between_factions_promotion_is_active(faction_being_queries, faction_that_is_being_considered, stance_by_number)
Return:

Function: strategic_stance_between_factions_promotion_current_level
Description: Determine the current promotion level between factions for a given stance if set.
Parameters: strategic_stance_between_factions_promotion_current_level(faction_being_queries, faction_that_is_being_considered, stance_by_number)
Return:

Function: strategic_stance_between_factions_promotion_start_round
Description: Determine the start round on promotion between factions for a given stance if set.
Parameters: strategic_stance_between_factions_promotion_start_round(faction_being_queries, faction_that_is_being_considered, stance_by_number)
Return:

Function: strategic_stance_between_factions_promotion_start_level
Description: Determine the start level on promotion between factions for a given stance if set.
Parameters: strategic_stance_between_factions_promotion_start_level(faction_being_queries, faction_that_is_being_considered, stance_by_number)
Return:

Function: strategic_stance_between_factions_promotion_end_round
Description: Determine the end round on promotion between factions for a given stance if set.
Parameters: strategic_stance_between_factions_promotion_end_round(faction_being_queries, faction_that_is_being_considered, stance_by_number)
Return:

Function: strategic_stance_between_factions_promotion_end_level
Description: Determine the end level on promotion between factions for a given stance if set.
Parameters: strategic_stance_between_factions_promotion_end_level(faction_being_queries, faction_that_is_being_considered, stance_by_number)
Return:

Function: strategic_stance_between_factions_is_being_blocked
Description: Determine blocking is enabled between factions for a given stance if set.
Parameters: strategic_stance_between_factions_is_being_blocked(faction_being_queries, faction_that_is_being_considered, stance_by_number)
Return:

Function: strategic_stance_between_factions_is_being_blocked_until
Description: Determine when blocking is enabled too between factions for a given stance if set.
Parameters: strategic_stance_between_factions_is_being_blocked_until(faction_being_queries, faction_that_is_being_considered, stance_by_number)
Return:

ACTIVE_RITUAL_SCRIPT_INTERFACE

Description: Active Ritual Script Interface

is_null_interface
ritual_key
ritual_chain_key
is_part_of_chain
target_faction
cast_time
cooldown_time
expended_resources
slave_cost
ritual_sites
ritual_category

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: ritual_key
Description: Returns the ritual record key for this active ritual
Parameters: ritual_key()
Return: String

Function: ritual_chain_key
Description: Returns the ritual chain record key for this active ritual. Empty if it isn't part of a chain
Parameters: ritual_chain_key()
Return: String

Function: is_part_of_chain
Description: Is this active ritual part of a chain?
Parameters: is_part_of_chain()
Return: bool

Function: target_faction
Description: Faction target of this ritual
Parameters: target_faction()
Return: Faction

Function: cast_time
Description: Total cast time of this ritual
Parameters: cast_time()
Return: card32

Function: cooldown_time
Description: Total cooldown time of this ritual once cast
Parameters: cooldown_time()
Return: card32

Function: expended_resources
Description: Resource cost of this ritual at the time of commencement (not including slaves)
Parameters: expended_resources()
Return: card32

Function: slave_cost
Description: Slave cost of this ritual at the time of commencement
Parameters: cost()
Return: card32

Function: ritual_sites
Description: Ritual sites used to perform this ritual
Parameters: ritual_sites()
Return: REGION_LIST_SCRIPT_INTERFACE

Function: ritual_category
Description: Category of this ritual, or the category of its chain if it is part of a chain
Parameters: ritual_chain()
Return: String

ACTIVE_RITUAL_LIST_SCRIPT_INTERFACE

Description: A list of active ritual script interfaces

num_items
item_at
is_empty

Function: num_items
Description: Returns the number of items in the list
Parameters: num_items()
Return: positive int

Function: item_at
Description: Returns the item at the index. Make sure the index is between 0 and (max items - 1)
Parameters: positive int
Return: ACTIVE_RITUAL_SCRIPT_INTERFACE

Function: is_empty
Description: Returns a true if there are 0 items in the list
Parameters: is_empty()
Return: bool

FACTION_RITUALS_SCRIPT_INTERFACE

Description: Faction Rituals Script Interface

is_null_interface
active_rituals
ritual_status
ritual_status_in_chain

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: active_rituals
Description: all rituals actively being performed by this faction
Parameters: active_rituals()
Return: ACTIVE_RITUAL_LIST

Function: ritual_status
Description: status of the specified ritual for this faction
Parameters: ritual_status(String ritual_record_key)
Return: RITUAL_STATUS

Function: ritual_status_in_chain
Description: status of the specified ritual, in the specified chain, for this faction
Parameters: ritual_status_in_chain(String ritual_record_key, String ritual_chain_record_key)
Return: RITUAL_STATUS

POOLED_RESOURCE_FACTOR_SCRIPT_INTERFACE

Description: Pooled Resource Factor Script Interface

is_null_interface
value
percentage_of_capacity
minimum_value
maximum_value

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: value
Description: Total value of this factor at the current time, potentially negative
Parameters: value()
Return: int32

Function: percentage_of_capacity
Description: Percentage of the total capacity in the bounds between min and max. For exammple if the pool had a range of -5, 5 and a value of 0 it would have a percentage of 50%
Parameters: percentage_of_capacity()
Return: int32

Function: minimum_value
Description: Minimum value of this factor, including any modifications from effects.
Parameters: minimum_value()
Return: int32

Function: maximum_value
Description: Maximum value of this factor, including any modifications from effects.
Parameters: maximum_value()
Return: int32

POOLED_RESOURCE_FACTOR_LIST_SCRIPT_INTERFACE

Description: A list of pooled resource factor script interfaces

num_items
item_at
is_empty

Function: num_items
Description: Returns the number of items in the list
Parameters: num_items()
Return: positive int

Function: item_at
Description: Returns the item at the index. Make sure the index is between 0 and (max items - 1)
Parameters: positive int
Return: POOLED_RESOURCE_FACTOR

Function: is_empty
Description: Returns a true if there are 0 items in the list
Parameters: is_empty()
Return: bool

POOLED_RESOURCE_SCRIPT_INTERFACE

Description: Pooled Resource Script Interface

is_null_interface
key
value
percentage_of_capacity
capacity_tier
minimum_value
maximum_value
is_projected_to_go_negative
income
active_effect
number_of_effect_types
factors
turns_of_shortage
playthrough_total_income_all
is_economy_resource

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: key
Description: Record key for this resource pool
Parameters: key()
Return: string

Function: value
Description: Total value of this pool
Parameters: value()
Return: int32

Function: percentage_of_capacity
Description: Percentage of the total capacity in the bounds between min and max. For example if the pool had a range of -5,5 and a value of 0 it would have a percentage of 50%.
Parameters: percentage_of_capacity()
Return: int32

Function: capacity_tier
Description: Percentage of the total capacity in the bounds between min and max, set into tiers 0-3. Tiers are 0-24%, 25-49%, 50-74%, 75-100%.
Parameters: capacity_tier()
Return: int32

Function: minimum_value
Description: Minimum value of this pool. Including any modifications from effects
Parameters: minimum_value()
Return: int32

Function: maximum_value
Description: Maximum value of this pool. Including any modifications from effects
Parameters: maximum_value()
Return: int32

Function: is_projected_to_go_negative
Description: Returns whether this pooled resource is projected to go into the red next turn
Parameters: is_projected_to_go_negative()
Return: boolean

Function: income
Description: Returns the current income of this pooled resource
Parameters: income()
Return: int32

Function: active_effect
Description: Active effect bundle key of type for this faction. No effect of type active if it has an empty key
Parameters: active_effect(card32 type)
Return: String

Function: number_of_effect_types
Description: Number of possible effect types. Consistent between all pools.
Parameters: number_of_effect_types()
Return: card32

Function: factors
Description: All factors contributing to this pool. Unless the pool has persistent factors, only the factors of transactions for the current turn
Parameters: factors()
Return: POOLED_RESOURCE_FACTOR_LIST_SCRIPT_INTERFACE

Function: turns_of_shortage
Description: The number of turns for which this pool has been at its minimum with negative growth.
Parameters: turns_of_shortage()
Return: int32

Function: playthrough_total_income_all
Description: Get total received value of the given resource from the beginning of the game (all factors).
Parameters: playthrough_total_income_all()
Return: int32

Function: is_economy_resource
Description: Check if this is an economy resource
Parameters: is_economy_resource()
Return: bool

POOLED_RESOURCE_LIST_SCRIPT_INTERFACE

Description: A list of pooled resource script interfaces

num_items
item_at
is_empty

Function: num_items
Description: Returns the number of items in the list
Parameters: num_items()
Return: positive int

Function: item_at
Description: Returns the item at the index. Make sure the index is between 0 and (max items - 1)
Parameters: positive int
Return: POOLED_RESOURCE

Function: is_empty
Description: Returns a true if there are 0 items in the list
Parameters: is_empty()
Return: bool

RESOURCE_TRANSACTION_SCRIPT_INTERFACE

Description: Resource Transaction Script Interface

is_null_interface
total_treasury_change
total_resource_change

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: total_treasury_change
Description: Total net treasury change applied by this resource transaction
Parameters: total_treasury_change()
Return: RESOURCE_TRANSACTION_SCRIPT_INTERFACE

Function: total_resource_change
Description: Total net change applied to the specified resource by this resource transaction
Parameters: total_resource_change(String resource_key)
Return: RESOURCE_TRANSACTION_SCRIPT_INTERFACE

FOREIGN_SLOT_SCRIPT_INTERFACE

Description: Foreign Slot Script Interface

is_null_interface
slot_manager
has_building
building
type_key
template_key

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: slot_manager
Description: Slot manager that contains this slot
Parameters: slot_manager()
Return: FOREIGN_SLOT_MANAGER_SCRIPT_INTERFACE

Function: has_building
Description: Wether this slot contains a building
Parameters: has_building()
Return: bool

Function: building
Description: key of the building in this slot
Parameters: building()
Return: String

Function: type_key
Description: key of the slot type
Parameters: type_key()
Return: String

Function: template_key
Description: key of the slot template
Parameters: template_key()
Return: String

FOREIGN_SLOT_LIST_SCRIPT_INTERFACE

Description: A list of foreign slot script interfaces

num_items
item_at
is_empty

Function: num_items
Description: Returns the number of items in the list
Parameters: num_items()
Return: positive int

Function: item_at
Description: Returns the item at the index. Make sure the index is between 0 and (max items - 1)
Parameters: positive int
Return: FOREIGN_SLOT

Function: is_empty
Description: Returns a true if there are 0 items in the list
Parameters: is_empty()
Return: bool

FOREIGN_SLOT_MANAGER_SCRIPT_INTERFACE

Description: Foreign Slot Manager Script Interface

is_null_interface
faction
region
slots
num_slots
has_upgrade_available
gdp

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: faction
Description: Faction that owns this foreign slot
Parameters: faction()
Return: FACTION_SCRIPT_INTERFACE

Function: region
Description: Region where this foreign slot manager is located
Parameters: region()
Return: REGION_SCRIPT_INTERFACE

Function: slots
Description: Slots that the manager contains
Parameters: slots()
Return: SLOT_LIST_SCRIPT_INTERFACE

Function: num_slots
Description: Number of slots contained in this manager
Parameters: num_slots()
Return: card32

Function: has_upgrade_available
Description: Wether this slot manager has an upgrade available
Parameters: has_upgrade_available()
Return: bool

Function: gdp
Description: gdp provided by this slot manager
Parameters: has_upgrade_available()
Return: card32

FOREIGN_SLOT_MANAGER_LIST_SCRIPT_INTERFACE

Description: A list of foreign slot manager script interfaces

num_items
item_at
is_empty

Function: num_items
Description: Returns the number of items in the list
Parameters: num_items()
Return: positive int

Function: item_at
Description: Returns the item at the index. Make sure the index is between 0 and (max items - 1)
Parameters: positive int
Return: FOREIGN_SLOT_MANAGER

Function: is_empty
Description: Returns a true if there are 0 items in the list
Parameters: is_empty()
Return: bool

GOD_MANAGER_SCRIPT_INTERFACE

Description: Contains entities that exist in the game god manager. Examples include gods and conflicts between them

is_null_interface
gods
has_conflict
num_conflict_participants
num_conflict_participants_on_left
num_conflict_participants_on_right
conflict_participants
conflict_participants_on_left
conflict_participants_on_right
god_by_key
god_by_resource_key

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: gods
Description: List of gods
Parameters: gods()
Return: GOD_LIST_SCRIPT_INTERFACE

Function: has_conflict
Description: Existence of devine conflict
Parameters: has_conflict()
Return: bool

Function: num_conflict_participants
Description: Number of gods participating in conflict
Parameters: num_conflict_participants()
Return: int

Function: num_conflict_participants_on_left
Description: Number of gods participating on left side of conflict
Parameters: num_conflict_participants_on_left()
Return: int

Function: num_conflict_participants_on_right
Description: Number of gods participating on right side of conflict
Parameters: num_conflict_participants_on_right()
Return: int

Function: conflict_participants
Description: List of gods participationg in conflict
Parameters: conflict_participants()
Return: GOD_LIST_SCRIPT_INTERFACE

Function: conflict_participants_on_left
Description: List of gods participationg on left side of conflict
Parameters: conflict_participants_on_left()
Return: GOD_LIST_SCRIPT_INTERFACE

Function: conflict_participants_on_right
Description: List of gods participationg on right side of conflict
Parameters: conflict_participants_on_right()
Return: GOD_LIST_SCRIPT_INTERFACE

Function: god_by_key
Description: Returns a faction script interface, by key
Parameters: god_by_key("zeus")
Return: GOD_SCRIPT_INTERFACE

Function: god_by_resource_key
Description: Returns a faction script interface, by key
Parameters: god_by_resource_key("")
Return: GOD_SCRIPT_INTERFACE

GOD_SCRIPT_INTERFACE

Description: Contains entities that exist in the game god

is_null_interface
name
resource_key
participate_in_conflict
turns_since_joined_conflict
total_favor
favor_to_faction
conflict_side

Function: is_null_interface
Description: Is this the null script interface
Parameters: is_null_interface()
Return: bool

Function: name
Description: The god's name
Parameters: name()
Return: string

Function: resource_key
Description: Pooled ressource key assigned to god
Parameters: resource_key()
Return: string

Function: participate_in_conflict
Description: is god participating in conflict
Parameters: participate_in_conflict()
Return: bool

Function: turns_since_joined_conflict
Description: turns since god has been joined conflict
Parameters: turns_since_joined_conflict()
Return: int

Function: total_favor
Description: total favor for god (from all factions)
Parameters: total_favor()
Return: int

Function: favor_to_faction
Description: god favor to faction
Parameters: favor_to_faction(faction_key)
Return: int

Function: conflict_side
Description: side of conflict: left, right, neutral
Parameters: conflict_side()
Return: String

GOD_LIST_SCRIPT_INTERFACE

Description: A list of god script interfaces

num_items
item_at
is_empty

Function: num_items
Description: Returns the number of items in the list
Parameters: num_items()
Return: positive int

Function: item_at
Description: Returns the item at the index. Make sure the index is between 0 and (max items - 1)
Parameters: positive int
Return: GOD

Function: is_empty
Description: Returns a true if there are 0 items in the list
Parameters: is_empty()
Return: bool