AutoPlacement event flows

Revision as of 12:22, 30 October 2018 by imported>Leoetlino (→‎CheckGameData)

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, and subflows do not appear to be usable[check]. 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.

AutoPlacement actions

CreateData

Allow the actor to spawn.

Parameter Type Description
MinNum int
OffsetPosY
RideList
MaxNum int
GroupRadius
EquipWeaponActorCount
Mimicry bool

NearCreate

AppearWeatherRate

EquipCategory

AutoPlacement queries

GroundNorm

GroundMat

TreeRate

PosHeight

WaterDepth

RouteDistance

GrassHeight

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.

Parameter Type Description
ActorName str Actor name

WaterSubMat

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.

Parameter Type Description
Label str GameData boolean flag name

CheckPouchItemCount

CheckPouchItemCountFromActor

TimeType

RailDistance

WaterDistance

NavMeshFace