Difference between revisions of "Script/LevelReference"

From SF3
Jump to: navigation, search
(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;' | [[../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: 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;' |''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: 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;' |''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: 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;' |''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;' | [[../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;' | [[../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 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;' | '''TransferFactionAssets''' (const [[../BasicDataTypes|uint8]] ''_SourceFaction'', const [[../BasicDataTypes|uint8]] ''_DestinationFaction'')
+
| 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;' |''transfer ownership of all buildings and units of _uSourceFaction to _uDestFaction''
+
| 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;' | '''DestroyFactionAssets''' (const [[../BasicDataTypes|uint8]] ''_Faction'')
+
| 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;' |''destroy or kill all buildings and creatures belonging to the given faction''
+
| 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;' | '''DamageFactionAssets''' (const [[../BasicDataTypes|uint8]] ''_Faction'')
+
| 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;' |''apply damage to all buildings and creatures belonging to the given faction''
+
| 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;' | '''SetFactionRelation''' (const [[../BasicDataTypes|uint8]] ''_FactionA'', const [[../BasicDataTypes|uint8]] ''_FactionB'', const [[../LogicEnums#EFactionRelation|EFactionRelation]] ''_Relation'')
+
| 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;' |''set the relation between the two given factions.''
+
| 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;' | '''BlockNavMesh''' (const [[../BasicDataTypes|string]]&in ''_sName'', const [[../BasicDataTypes|bool]] ''_bBlocked'')
+
| 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;' |''activate or deactivate the nav blocker with the given name''
+
| 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;' | '''ActivateSpawn''' (const [[../BasicDataTypes|string]]&in ''_sName'', const [[../BasicDataTypes|bool]] ''_bActive'')
+
| style='color: black; width: 90%; line-height: 1.0;' | '''DestroyFactionAssets''' (const [[../BasicDataTypes|uint8]] ''_Faction'')
 
|-
 
|-
 
|
 
|
| style = 'color: #505050; line-height: 0.5;' |''activate the spawn of the given name''
+
| 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;' | '''ActivateAI''' (const [[../BasicDataTypes|uint8]] ''_Faction'')
+
| style='color: black; width: 90%; line-height: 1.0;' | '''DamageFactionAssets''' (const [[../BasicDataTypes|uint8]] ''_Faction'')
 
|-
 
|-
 
|
 
|
| style = 'color: #505050; line-height: 0.5;' |''activate an existing AI for the given faction''
+
| 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;' | '''ShowTutorial''' (const [[../BasicDataTypes|uint8]] ''_Faction'', const [[../BasicDataTypes|string]]&in ''_sTutorialName'')
+
| 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;' |''show the given tutorial, provided that it has not already been shown.''
+
| style = 'color: #505050; line-height: 0.5;' |''set the relation between the two given factions.''
|-
+
|}
| 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'')
+
==== 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: #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: 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;' | '''SetTimer''' ([[../LogicCallbacks#TOnTimerEvent|TOnTimerEvent@]] ''_pFunction'', const [[../BasicDataTypes|uint]] ''_uInterval'')
+
| 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;' |''register a timer event to be called after _uInterval seconds.''
+
| style = 'color: #505050; line-height: 0.5;' |''activate an existing AI for the given faction''
 
|}
 
|}

Revision as of 13:16, 26 October 2016

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

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