19
edits
imported>Leoetlino |
m (→CreateData) |
||
(11 intermediate revisions by one other user not shown) | |||
Line 2: | Line 2: | ||
AutoPlacement event flows are used by the [[AutoPlacementMgr]] to determine whether actors should be dynamically spawned without having to hardcode special logic into the executable. | AutoPlacement event flows are used by the [[AutoPlacementMgr]] to determine whether actors should be dynamically spawned without having to hardcode special logic into the executable. | ||
Such event flows are executed by the same event flow engine but with a different environment: only the "AutoPlacement" pseudo-actor is available for actions and queries | Such event flows are executed by the same event flow engine but with a different environment: only the "AutoPlacement" pseudo-actor is available for actions and queries. Actions and queries are not mapped to AI system functions as with regular event flows, but are entirely handled by the AutoPlacement code. | ||
A single event flow can be used to handle conditions for several actors (for example, AutoPlacement_Animal handles auto placement logic for all animal actors) and may be called several times, each time with a different actor name, which the event flow can check with the [[#EcoAreaActorName]] query. An actor will only be dynamically spawned if CreateData (and NearCreate?{{check}}) is called. | A single event flow can be used to handle conditions for several actors (for example, AutoPlacement_Animal handles auto placement logic for all animal actors) and may be called several times, each time with a different actor name, which the event flow can check with the [[#EcoAreaActorName]] query. An actor will only be dynamically spawned if CreateData (and NearCreate?{{check}}) is called. | ||
== AutoPlacement actions == | ==AutoPlacement actions== | ||
=== CreateData === | ===CreateData=== | ||
Allow the actor to spawn. | Allow the actor to spawn. | ||
{|class="wikitable" | {| class="wikitable" | ||
! Parameter !! Type !! Description | !Parameter!!Type!!Description | ||
|- | |- | ||
| MinNum || int || | |MinNum||int||The smallest amount that should be generated of this actor. | ||
|- | |- | ||
| OffsetPosY || | |OffsetPosY||float | ||
| | |||
|- | |- | ||
| RideList || | |RideList||string | ||
| | |||
|- | |- | ||
| MaxNum || int || | |MaxNum||int||The biggest amount that should be generated of this actor. | ||
|- | |- | ||
| GroupRadius || | | |GroupRadius||float | ||
|Allows to configure the size of the auto-picked point where the actor(s) should spawn. | |||
|- | |- | ||
| EquipWeaponActorCount || | |EquipWeaponActorCount||int | ||
| | |||
|- | |- | ||
| Mimicry || bool || | |Mimicry||bool|| | ||
|} | |} | ||
== AutoPlacement queries == | ===NearCreate=== | ||
=== GroundNorm === | ===AppearWeatherRate=== | ||
=== GroundMat === | ===EquipCategory=== | ||
=== TreeRate === | |||
=== PosHeight === | ==AutoPlacement queries== | ||
=== WaterDepth === | ===GroundNorm=== | ||
=== RouteDistance === | ===GroundMat=== | ||
=== GrassHeight === | Checks the terrain material type. | ||
=== WaterSurface === | |||
=== PlayerRideHorse === | Returns: | ||
*0: Soil | |||
*1: Stone | |||
*2: Rock | |||
*3: Sand | |||
*4: Metal | |||
*5: Grass | |||
*6: Ivy | |||
*7: Wood | |||
*8: Water | |||
*9: Snow | |||
*10: Ice | |||
*11: Lava | |||
*12: HeavySand | |||
*13: Bog | |||
*14: HeavySnow | |||
===TreeRate=== | |||
Queries [[StatisticsMgr]] for the forest_density at the current position. Returns 1 if the specified rate is lower than or equal to the result, and 0 otherwise. | |||
{| class="wikitable" | |||
!Parameter!!Type!!Description | |||
|- | |||
|Rate||float||Rate | |||
|} | |||
===PosHeight=== | |||
===WaterDepth=== | |||
===RouteDistance=== | |||
Queries [[StatisticsMgr]] for the route distance at the current position. Returns 1 if the specified distance is lower than or equal to the query result, and 0 otherwise. | |||
{| class="wikitable" | |||
!Parameter!!Type!!Description | |||
|- | |||
|Distance||float||Distance to compare against route distance | |||
|} | |||
===GrassHeight=== | |||
Queries the [[Terrain]] system for the grass height at the current position. Returns 1 if the specified height is lower than or equal to the actual height, and 0 otherwise. | |||
{| class="wikitable" | |||
!Parameter!!Type!!Description | |||
|- | |||
|Height||float||Grass height | |||
|} | |||
===WaterSurface=== | |||
===PlayerRideHorse=== | |||
Returns 1 if the player is riding a horse, and 0 otherwise. | Returns 1 if the player is riding a horse, and 0 otherwise. | ||
=== EcoAreaActorName === | ===EcoAreaActorName=== | ||
Returns 1 if the specified actor name matches the name of the actor for which the event flow is being executed. | Returns 1 if the specified actor name matches the name of the actor for which the event flow is being executed. | ||
{|class="wikitable" | {| class="wikitable" | ||
! Parameter !! Type !! Description | !Parameter!!Type!!Description | ||
|- | |||
|ActorName||str||Actor name | |||
|} | |||
===WaterSubMat=== | |||
Returns the water sub-material type at the current position: | |||
*0: Water | |||
*1: Water_Ice | |||
*2: Water_Hot | |||
*3: Water_Poison | |||
===CheckGameData=== | |||
Returns 1 if the specified boolean flag is true, and 0 otherwise. | |||
Returns -1 if the GameDataMgr instance does not exist or if the Label parameter was not specified. | |||
{| class="wikitable" | |||
!Parameter!!Type!!Description | |||
|- | |||
|Label||str||GameData boolean flag name | |||
|} | |||
===CheckPouchItemCount=== | |||
===CheckPouchItemCountFromActor=== | |||
===TimeType=== | |||
Returns the [[WorldMgr]]'s current time division. Analogous to [[AIDef:Query/CheckTimeType]]. | |||
===RailDistance=== | |||
??? Involves [[PlacementMgr]]. | |||
===WaterDistance=== | |||
Queries [[StatisticsMgr]] for the water distance at the current position. Returns 1 if the specified distance is lower than or equal to the result multiplied by 200.0, and 0 otherwise. | |||
{| class="wikitable" | |||
!Parameter!!Type!!Description | |||
|- | |- | ||
| | |Distance||float||Distance to compare against water distance | ||
|} | |} | ||
===NavMeshFace=== | |||
=== NavMeshFace === | |||
[[Category:Internals]] | [[Category:Internals]] |
edits