19
edits
imported>Leoetlino |
m (→CreateData) |
||
(15 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. | ||
== AutoPlacement actions == | 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. | ||
=== CreateData === | |||
==AutoPlacement actions== | |||
===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||float | |||
|Allows to configure the size of the auto-picked point where the actor(s) should spawn. | |||
|- | |||
|EquipWeaponActorCount||int | |||
| | |||
|- | |||
|Mimicry||bool|| | |||
|} | |||
===NearCreate=== | |||
===AppearWeatherRate=== | |||
===EquipCategory=== | |||
==AutoPlacement queries== | |||
===GroundNorm=== | |||
===GroundMat=== | |||
Checks the terrain material type. | |||
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. | ||
===EcoAreaActorName=== | |||
Returns 1 if the specified actor name matches the name of the actor for which the event flow is being executed. | |||
{| class="wikitable" | |||
!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