Difference between revisions of "Script/LevelReference"
From SF3
(→Class Methods) |
|||
Line 3: | Line 3: | ||
=== Class Methods === | === Class Methods === | ||
+ | ==== Getters ==== | ||
+ | Functions allowing access to basic objects. | ||
{| border='0' style ='border:solid 1px #eeeedd; color: black; width: 1200px;background-color: #ffffcc;' cellspacing='0' cellpadding='7' | {| border='0' style ='border:solid 1px #eeeedd; color: black; width: 1200px;background-color: #ffffcc;' cellspacing='0' cellpadding='7' | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../World|World@]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../World|World@]] | ||
Line 106: | Line 42: | ||
| | | | ||
| style = 'color: #505050; line-height: 0.5;' |''get sector script class by index'' | | style = 'color: #505050; line-height: 0.5;' |''get sector script class by index'' | ||
+ | |- | ||
+ | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../Sector|Sector@[]@]] | ||
+ | | style='color: black; width: 90%; line-height: 1.0;' | '''GetSectorsByOwner''' (const [[../BasicDataTypes|uint8]] ''_uFaction'') | ||
+ | |- | ||
+ | | | ||
+ | | style = 'color: #505050; line-height: 0.5;' |''get all sectors owned by the given faction'' | ||
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../Building|Building]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../Building|Building]] | ||
Line 112: | Line 54: | ||
| | | | ||
| style = 'color: #505050; line-height: 0.5;' |''get building by name'' | | style = 'color: #505050; line-height: 0.5;' |''get building by name'' | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../Building|Building]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../Building|Building]] | ||
Line 202: | Line 138: | ||
| | | | ||
| style = 'color: #505050; line-height: 0.5;' |''get all creatures spawned by the given spawn (does not include dead creatures!)'' | | style = 'color: #505050; line-height: 0.5;' |''get all creatures spawned by the given spawn (does not include dead creatures!)'' | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | |||
+ | ==== Event Registration ==== | ||
+ | Functions for registering event listener callbacks. | ||
+ | {| border='0' style ='border:solid 1px #eeeedd; color: black; width: 1200px;background-color: #ffffcc;' cellspacing='0' cellpadding='7' | ||
+ | |- | ||
+ | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | ||
+ | | style='color: black; width: 90%; line-height: 1.0;' | '''RegisterHeroPartyEvent''' (const [[../LogicEnums#EHeroPartyEvent|EHeroPartyEvent]] ''_EventType'', [[../LogicCallbacks|TOnHeroPartyEvent@]] ''_pFunction'', const [[../BasicDataTypes|string]]&in ''_sTargetName'', const [[../BasicDataTypes|uint8]] ''_Faction'') | ||
+ | |- | ||
+ | | | ||
+ | | style = 'color: #505050; line-height: 0.5;' |''register an event concerning the hero party'' | ||
+ | |- | ||
+ | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | ||
+ | | style='color: black; width: 90%; line-height: 1.0;' | '''RegisterInventoryEvent''' (const [[../LogicEnums#EInventoryEvent|EInventoryEvent]] ''_EventType'', [[../LogicCallbacks|TOnInventoryEvent@]] ''_pFunction'', const [[../BasicDataTypes|string]]&in ''_sTargetName'', const [[../BasicDataTypes|uint8]] ''_Faction'') | ||
+ | |- | ||
+ | | | ||
+ | | style = 'color: #505050; line-height: 0.5;' |''register an event concerning the hero party's inventory'' | ||
+ | |- | ||
+ | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | ||
+ | | style='color: black; width: 90%; line-height: 1.0;' | '''RegisterCreatureEventByDescription''' (const [[../LogicEnums#ECreatureEvent|ECreatureEvent]] ''_EventType'', [[../LogicCallbacks|TOnCreatureEvent@]] ''_pFunction'', const [[../BasicDataTypes|string]]&in ''_sDescriptionName'', const [[../BasicDataTypes|uint8]] ''_Faction'') | ||
+ | |- | ||
+ | | | ||
+ | | style = 'color: #505050; line-height: 0.5;' |''register creature event by description name'' | ||
+ | |- | ||
+ | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | ||
+ | | style='color: black; width: 90%; line-height: 1.0;' | '''RegisterCreatureEventByIndividual''' (const [[../LogicEnums#ECreatureEvent|ECreatureEvent]] ''_EventType'', [[../LogicCallbacks|TOnCreatureEvent@]] ''_pFunction'', const [[../BasicDataTypes|string]]&in ''_sCreatureName'', const [[../BasicDataTypes|string]]&in ''_sParam'') | ||
+ | |- | ||
+ | | | ||
+ | | style = 'color: #505050; line-height: 0.5;' |''register creature event by individual creature name (e.g. name of the creature placed in the level editor OR unique hero name)'' | ||
+ | |- | ||
+ | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | ||
+ | | style='color: black; width: 90%; line-height: 1.0;' | '''RegisterCreatureEventByIndividuals''' (const [[../LogicEnums#ECreatureEvent|ECreatureEvent]] ''_EventType'', [[../LogicCallbacks|TOnCreatureEvent@]] ''_pFunction'', const [[../Creature|Creature[]]]&in ''_Creatures'', const [[../BasicDataTypes|bool]] ''_bAnyCreature'' = false, const [[../BasicDataTypes|string]]&in ''_sParam'' = "") | ||
+ | |- | ||
+ | | | ||
+ | | style = 'color: #505050; line-height: 0.5;' |''register creature event by individual creature(s)'' | ||
+ | |- | ||
+ | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | ||
+ | | style='color: black; width: 90%; line-height: 1.0;' | '''RegisterBuildingEventByDescription''' (const [[../LogicEnums#EBuildingEvent|EBuildingEvent]] ''_EventType'', [[../LogicCallbacks|TOnBuildingEvent@]] ''_pFunction'', const [[../BasicDataTypes|string]]&in ''_sDescriptionName'', const [[../BasicDataTypes|uint8]] ''_Faction'') | ||
+ | |- | ||
+ | | | ||
+ | | style = 'color: #505050; line-height: 0.5;' |''register building event by description name'' | ||
+ | |- | ||
+ | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | ||
+ | | style='color: black; width: 90%; line-height: 1.0;' | '''RegisterBuildingEventByIndividual''' (const [[../LogicEnums#EBuildingEvent|EBuildingEvent]] ''_EventType'', [[../LogicCallbacks|TOnBuildingEvent@]] ''_pFunction'', const [[../BasicDataTypes|string]]&in ''_sBuildingName'') | ||
+ | |- | ||
+ | | | ||
+ | | style = 'color: #505050; line-height: 0.5;' |''register building event by individual building name (i.e. name of the building in the level editor)'' | ||
+ | |- | ||
+ | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | ||
+ | | style='color: black; width: 90%; line-height: 1.0;' | '''RegisterSectorEvent''' (const [[../LogicEnums#ESectorEvent|ESectorEvent]] ''_EventType'', [[../LogicCallbacks#TOnSectorEvent|TOnSectorEvent@]] ''_pFunction'', const [[../BasicDataTypes|string]]&in ''_sSectorName'') | ||
+ | |- | ||
+ | | | ||
+ | | style = 'color: #505050; line-height: 0.5;' |''register a sector event. if _sSectorName is specified and not empty, the event will be fired only for the given sector, otherwise it will be fired for all sectors.'' | ||
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | ||
− | | style='color: black; width: 90%; line-height: 1.0;' | ''' | + | | style='color: black; width: 90%; line-height: 1.0;' | '''RegisterUIEvent''' (const [[../LogicEnums#EUIEvent|EUIEvent]] ''_EventType'', [[../LogicCallbacks|TOnUIEvent@]] ''_pFunction'', const [[../BasicDataTypes|uint8]] ''_Faction'') |
|- | |- | ||
| | | | ||
− | | style = 'color: #505050; line-height: 0.5;' |'' | + | | style = 'color: #505050; line-height: 0.5;' |''register an event to be called when a certain event happens in the ui of the given faction's player'' |
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | ||
− | | style='color: black; width: 90%; line-height: 1.0;' | ''' | + | | style='color: black; width: 90%; line-height: 1.0;' | '''RegisterUIEventByDescription''' (const [[../LogicEnums#EUIEvent|EUIEvent]] ''_EventType'', [[../LogicCallbacks|TOnUIEntityEvent@]] ''_pFunction'', const [[../BasicDataTypes|string]]&in ''_sDescriptionName'', const [[../BasicDataTypes|uint8]] ''_Faction'') |
|- | |- | ||
| | | | ||
− | | style = 'color: #505050; line-height: 0.5;' |'' | + | | style = 'color: #505050; line-height: 0.5;' |''register an event to be called when a certain event happens in the ui of the given faction's player'' |
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | ||
− | | style='color: black; width: 90%; line-height: 1.0;' | ''' | + | | style='color: black; width: 90%; line-height: 1.0;' | '''RegisterUIEventByIndividual''' (const [[../LogicEnums#EUIEvent|EUIEvent]] ''_EventType'', [[../LogicCallbacks|TOnUIEntityEvent@]] ''_pFunction'', const [[../BasicDataTypes|string]]&in ''_sTargetName'', const [[../BasicDataTypes|uint8]] ''_Faction'') |
|- | |- | ||
| | | | ||
− | | style = 'color: #505050; line-height: 0.5;' |'' | + | | style = 'color: #505050; line-height: 0.5;' |''register an event to be called when a certain event happens in the ui of the given faction's player'' |
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | ||
− | | style='color: black; width: 90%; line-height: 1.0;' | ''' | + | | style='color: black; width: 90%; line-height: 1.0;' | '''SetTimer''' ([[../LogicCallbacks#TOnTimerEvent|TOnTimerEvent@]] ''_pFunction'', const [[../BasicDataTypes|uint]] ''_uInterval'') |
|- | |- | ||
| | | | ||
− | | style = 'color: #505050; line-height: 0.5;' |'' | + | | style = 'color: #505050; line-height: 0.5;' |''register a timer event to be called after _uInterval seconds.'' |
+ | |} | ||
+ | |||
+ | ==== Victory Conditions ==== | ||
+ | Functions for controlling win/lose conditions. | ||
+ | {| border='0' style ='border:solid 1px #eeeedd; color: black; width: 1200px;background-color: #ffffcc;' cellspacing='0' cellpadding='7' | ||
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | ||
Line 238: | Line 234: | ||
| | | | ||
| style = 'color: #505050; line-height: 0.5;' |''show the defeat screen to the given faction'' | | style = 'color: #505050; line-height: 0.5;' |''show the defeat screen to the given faction'' | ||
+ | |} | ||
+ | |||
+ | ==== Factions ==== | ||
+ | Functions for controlling faction relations and assets. | ||
+ | {| border='0' style ='border:solid 1px #eeeedd; color: black; width: 1200px;background-color: #ffffcc;' cellspacing='0' cellpadding='7' | ||
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | ||
− | | style='color: black; width: 90%; line-height: 1.0;' | ''' | + | | style='color: black; width: 90%; line-height: 1.0;' | '''TransferFactionAssets''' (const [[../BasicDataTypes|uint8]] ''_SourceFaction'', const [[../BasicDataTypes|uint8]] ''_DestinationFaction'') |
|- | |- | ||
| | | | ||
− | | style = 'color: #505050; line-height: 0.5;' |'' | + | | style = 'color: #505050; line-height: 0.5;' |''transfer ownership of all buildings and units of _uSourceFaction to _uDestFaction'' |
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | ||
− | | style='color: black; width: 90%; line-height: 1.0;' | ''' | + | | style='color: black; width: 90%; line-height: 1.0;' | '''DestroyFactionAssets''' (const [[../BasicDataTypes|uint8]] ''_Faction'') |
|- | |- | ||
| | | | ||
− | | style = 'color: #505050; line-height: 0.5;' |'' | + | | style = 'color: #505050; line-height: 0.5;' |''destroy or kill all buildings and creatures belonging to the given faction'' |
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | ||
− | | style='color: black; width: 90%; line-height: 1.0;' | ''' | + | | style='color: black; width: 90%; line-height: 1.0;' | '''DamageFactionAssets''' (const [[../BasicDataTypes|uint8]] ''_Faction'') |
|- | |- | ||
| | | | ||
− | | style = 'color: #505050; line-height: 0.5;' |'' | + | | style = 'color: #505050; line-height: 0.5;' |''apply damage to all buildings and creatures belonging to the given faction'' |
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | ||
− | | style='color: black; width: 90%; line-height: 1.0;' | ''' | + | | style='color: black; width: 90%; line-height: 1.0;' | '''SetFactionRelation''' (const [[../BasicDataTypes|uint8]] ''_FactionA'', const [[../BasicDataTypes|uint8]] ''_FactionB'', const [[../LogicEnums#EFactionRelation|EFactionRelation]] ''_Relation'') |
|- | |- | ||
| | | | ||
− | | style = 'color: #505050; line-height: 0.5;' |'' | + | | style = 'color: #505050; line-height: 0.5;' |''set the relation between the two given factions.'' |
− | | | + | |} |
− | | | + | |
− | + | ==== Notifications ==== | |
− | + | Functions for displaying notifications to the player. | |
− | + | {| border='0' style ='border:solid 1px #eeeedd; color: black; width: 1200px;background-color: #ffffcc;' cellspacing='0' cellpadding='7' | |
− | |||
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | ||
Line 286: | Line 286: | ||
| | | | ||
| style = 'color: #505050; line-height: 0.5;' |''end an ongoing notification at the given location for the given faction.'' | | style = 'color: #505050; line-height: 0.5;' |''end an ongoing notification at the given location for the given faction.'' | ||
+ | |} | ||
+ | |||
+ | ==== Tutorials ==== | ||
+ | Functions for controlling tutorials. | ||
+ | {| border='0' style ='border:solid 1px #eeeedd; color: black; width: 1200px;background-color: #ffffcc;' cellspacing='0' cellpadding='7' | ||
+ | |- | ||
+ | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | ||
+ | | style='color: black; width: 90%; line-height: 1.0;' | '''ShowTutorial''' (const [[../BasicDataTypes|uint8]] ''_Faction'', const [[../BasicDataTypes|string]]&in ''_sTutorialName'') | ||
+ | |- | ||
+ | | | ||
+ | | style = 'color: #505050; line-height: 0.5;' |''show the given tutorial, provided that it has not already been shown.'' | ||
+ | |- | ||
+ | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | ||
+ | | style='color: black; width: 90%; line-height: 1.0;' | '''ShowTutorial''' (const [[../BasicDataTypes|uint8]] ''_Faction'', const [[../BasicDataTypes|string]]&in ''_sTutorialName'', const [[../Entity|Entity]]&in ''_Target'') | ||
+ | |- | ||
+ | | | ||
+ | | style = 'color: #505050; line-height: 0.5;' |''show the given tutorial, provided that it has not already been shown.'' | ||
+ | |} | ||
+ | |||
+ | ==== Camera Manipulation ==== | ||
+ | Functions for manipulating the player's point of view. | ||
+ | {| border='0' style ='border:solid 1px #eeeedd; color: black; width: 1200px;background-color: #ffffcc;' cellspacing='0' cellpadding='7' | ||
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | ||
Line 310: | Line 332: | ||
| | | | ||
| style = 'color: #505050; line-height: 0.5;' |''focus the given player's camera on the given target'' | | style = 'color: #505050; line-height: 0.5;' |''focus the given player's camera on the given target'' | ||
+ | |} | ||
+ | |||
+ | ==== Miscellaneous ==== | ||
+ | Everything elese. | ||
+ | {| border='0' style ='border:solid 1px #eeeedd; color: black; width: 1200px;background-color: #ffffcc;' cellspacing='0' cellpadding='7' | ||
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | ||
− | | style='color: black; width: 90%; line-height: 1.0;' | ''' | + | | style='color: black; width: 90%; line-height: 1.0;' | '''BlockNavMesh''' (const [[../BasicDataTypes|string]]&in ''_sName'', const [[../BasicDataTypes|bool]] ''_bBlocked'') |
+ | |- | ||
+ | | | ||
+ | | style = 'color: #505050; line-height: 0.5;' |''activate or deactivate the nav blocker with the given name'' | ||
+ | |- | ||
+ | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | ||
+ | | style='color: black; width: 90%; line-height: 1.0;' | '''ActivateSpawn''' (const [[../BasicDataTypes|string]]&in ''_sName'', const [[../BasicDataTypes|bool]] ''_bActive'') | ||
+ | |- | ||
+ | | | ||
+ | | style = 'color: #505050; line-height: 0.5;' |''activate the spawn of the given name'' | ||
+ | |- | ||
+ | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | ||
+ | | style='color: black; width: 90%; line-height: 1.0;' | '''ActivateAI''' (const [[../BasicDataTypes|uint8]] ''_Faction'') | ||
|- | |- | ||
| | | | ||
− | | style = 'color: #505050; line-height: 0.5;' |'' | + | | style = 'color: #505050; line-height: 0.5;' |''activate an existing AI for the given faction'' |
|} | |} |
Revision as of 13:16, 26 October 2016
Contents
class LevelReference
The main interface for interacting with the level the player is currently in.
Class Methods
Getters
Functions allowing access to basic objects.
World@ | GetWorld () |
get world | |
Random@ | GetRandom () |
get the random number generator | |
HeroParty@ | GetHeroParty (const uint8 _uFaction) |
get the hero party for the given faction | |
QuestJournal@ | GetJournal (const uint8 _uFaction) |
get the player's quest journal | |
Sector@ | GetSectorByName (const string&in _sName) |
get sector script class by name | |
Sector@ | GetSectorByIndex (const uint _uIndex) |
get sector script class by index | |
Sector@[]@ | GetSectorsByOwner (const uint8 _uFaction) |
get all sectors owned by the given faction | |
Building | GetBuildingByName (const string&in _sName) |
get building by name | |
Building | GetBuildingById (const uint _uId) |
get building by id | |
Creature | GetCreatureByName (const string&in _sName) |
get creature by name | |
Creature | GetCreatureById (const uint _uId) |
get creature by id | |
LogicObject | GetLogicObjectByName (const string&in _sName) |
get logic object by name | |
LogicObject | GetLogicObjectById (const uint _uId) |
get logic object by id | |
ResourceDeposit | GetResourceDepositByName (const string&in _sName) |
get resource deposit by name | |
ResourceDeposit | GetResourceDepositById (const uint _uId) |
get resource deposit by id | |
Entity | GetEntityById (const uint _uId) |
get any entity (creature, building, etc.) by its id | |
Entity[]@ | GetEntitiesByName (const string&in _sName) |
get any entities with the given name. will return at most one entity of each type, as names must be unique within each entity type. | |
Building[]@ | FindBuildingsByDescription (const uint8 _uFaction, const string&in _sDescriptionName) |
find all buildings with the given description currently owned by the given faction. | |
Building[]@ | FindBuildingsByType (const uint8 _uFaction, const EBuildingType _Type) |
find all buildings of the given type currently owned by the given faction. | |
Creature[]@ | FindCreaturesByDescription (const uint8 _uFaction, const string&in _sDescriptionName) |
find all creatures with the given description currently owned by the given faction. | |
Creature[]@ | FindCreaturesByType (const uint8 _uFaction, const ECreatureType _Type) |
find all creatures of the given type currently owned by the given faction. | |
Creature[]@ | GetCreaturesFromSpawn (const string&in _sSpawnName) |
get all creatures spawned by the given spawn (does not include dead creatures!) |
Event Registration
Functions for registering event listener callbacks.
void | RegisterHeroPartyEvent (const EHeroPartyEvent _EventType, TOnHeroPartyEvent@ _pFunction, const string&in _sTargetName, const uint8 _Faction) |
register an event concerning the hero party | |
void | RegisterInventoryEvent (const EInventoryEvent _EventType, TOnInventoryEvent@ _pFunction, const string&in _sTargetName, const uint8 _Faction) |
register an event concerning the hero party's inventory | |
void | RegisterCreatureEventByDescription (const ECreatureEvent _EventType, TOnCreatureEvent@ _pFunction, const string&in _sDescriptionName, const uint8 _Faction) |
register creature event by description name | |
void | RegisterCreatureEventByIndividual (const ECreatureEvent _EventType, TOnCreatureEvent@ _pFunction, const string&in _sCreatureName, const string&in _sParam) |
register creature event by individual creature name (e.g. name of the creature placed in the level editor OR unique hero name) | |
void | RegisterCreatureEventByIndividuals (const ECreatureEvent _EventType, TOnCreatureEvent@ _pFunction, const Creature[]&in _Creatures, const bool _bAnyCreature = false, const string&in _sParam = "") |
register creature event by individual creature(s) | |
void | RegisterBuildingEventByDescription (const EBuildingEvent _EventType, TOnBuildingEvent@ _pFunction, const string&in _sDescriptionName, const uint8 _Faction) |
register building event by description name | |
void | RegisterBuildingEventByIndividual (const EBuildingEvent _EventType, TOnBuildingEvent@ _pFunction, const string&in _sBuildingName) |
register building event by individual building name (i.e. name of the building in the level editor) | |
void | RegisterSectorEvent (const ESectorEvent _EventType, TOnSectorEvent@ _pFunction, const string&in _sSectorName) |
register a sector event. if _sSectorName is specified and not empty, the event will be fired only for the given sector, otherwise it will be fired for all sectors. | |
void | RegisterUIEvent (const EUIEvent _EventType, TOnUIEvent@ _pFunction, const uint8 _Faction) |
register an event to be called when a certain event happens in the ui of the given faction's player | |
void | RegisterUIEventByDescription (const EUIEvent _EventType, TOnUIEntityEvent@ _pFunction, const string&in _sDescriptionName, const uint8 _Faction) |
register an event to be called when a certain event happens in the ui of the given faction's player | |
void | RegisterUIEventByIndividual (const EUIEvent _EventType, TOnUIEntityEvent@ _pFunction, const string&in _sTargetName, const uint8 _Faction) |
register an event to be called when a certain event happens in the ui of the given faction's player | |
void | SetTimer (TOnTimerEvent@ _pFunction, const uint _uInterval) |
register a timer event to be called after _uInterval seconds. |
Victory Conditions
Functions for controlling win/lose conditions.
void | WinGame (const uint8 _Faction) |
show the victory screen to the given faction | |
void | LoseGame (const uint8 _Faction) |
show the defeat screen to the given faction |
Factions
Functions for controlling faction relations and assets.
void | TransferFactionAssets (const uint8 _SourceFaction, const uint8 _DestinationFaction) |
transfer ownership of all buildings and units of _uSourceFaction to _uDestFaction | |
void | DestroyFactionAssets (const uint8 _Faction) |
destroy or kill all buildings and creatures belonging to the given faction | |
void | DamageFactionAssets (const uint8 _Faction) |
apply damage to all buildings and creatures belonging to the given faction | |
void | SetFactionRelation (const uint8 _FactionA, const uint8 _FactionB, const EFactionRelation _Relation) |
set the relation between the two given factions. |
Notifications
Functions for displaying notifications to the player.
void | ShowNotification (const uint8 _Faction, const string&in _sNotificationName, const Entity&in _Location) |
show a one-off notification at the given location for the given faction. | |
void | BeginNotification (const uint8 _Faction, const string&in _sNotificationName, const Entity&in _Location) |
begin an ongoing notification at the given location for the given faction. | |
void | EndNotification (const uint8 _Faction, const string&in _sNotificationName, const Entity&in _Location) |
end an ongoing notification at the given location for the given faction. |
Tutorials
Functions for controlling tutorials.
void | ShowTutorial (const uint8 _Faction, const string&in _sTutorialName) |
show the given tutorial, provided that it has not already been shown. | |
void | ShowTutorial (const uint8 _Faction, const string&in _sTutorialName, const Entity&in _Target) |
show the given tutorial, provided that it has not already been shown. |
Camera Manipulation
Functions for manipulating the player's point of view.
void | SetMaxCameraDistance (const uint8 _Faction, const uint _uDistance) |
set how far the given player's camera is allowed to zoom out | |
void | ResetMaxCameraDistance (const uint8 _Faction) |
reset the maximum camera distance to the level's default value | |
void | SetCameraZoomPercent (const uint8 _Faction, const uint8 _uPercent) |
set the given player's camera zoom to the given level (0 = fully zoomed in, 100 = fully zoomed out) | |
void | FocusCamera (const uint8 _Faction, const Entity&in _Target) |
focus the given player's camera on the given target |
Miscellaneous
Everything elese.
void | BlockNavMesh (const string&in _sName, const bool _bBlocked) |
activate or deactivate the nav blocker with the given name | |
void | ActivateSpawn (const string&in _sName, const bool _bActive) |
activate the spawn of the given name | |
void | ActivateAI (const uint8 _Faction) |
activate an existing AI for the given faction |