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

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
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
Building GetBuildingByName (const string&in _sName)
get building by name
Sector@[]@ GetSectorsByOwner (const uint8 _uFaction)
get all sectors owned by the given faction
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!)
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.
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
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
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.
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.
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
void SetTimer (TOnTimerEvent@ _pFunction, const uint _uInterval)
register a timer event to be called after _uInterval seconds.