Overview

This page lists all known modules and functions that can be used to create ZT2 AI.


"animTableEntry"

(actually, the tag is always the name of the anim set, eg. Stand)

Attributes:

  • anim (string) - The exact animation that should be played in this set, eg. Stand_Idle.
  • behSet (string) - May apparently be used instead of an anim.
  • weight (int) - The probability of using this subset; should add up to 100.
  • minAnimSpeed (float) - Minimum anim speed to use in playback.
  • maxAnimSpeed (float) - Maximum anim speed to use in playback.

Children:

  • None

"behaviorTableEntry"

(actually, the tag is always the name of the state the entity is in, eg. default, Stand, water, underwater)

Attributes:

  • behSet (string) - Specifies the behSet to be played in the current state.

Children:

  • None

"randomAnimsEntry"

(The tag is really the name of the anim that should be played, eg. Stand_Idle)

Attributes:

  • weight (int) - The probability of using this anim; should add up to 100.

Children:

  • None

"randomSetsEntry"

(actually, the tag is always the name of the behSet, eg. DefaultPant)

Attributes:

  • weight (int) - The probability of using this subset; should add up to 100.

Children:

  • None

"textkeysEntry"

(actually, the tag is always the name of the function, eg. blowhole, tranquilize, detachobject, attachobject)

Attributes:

  • text (string) - In one-line txtkeys syntax, specifying nodes etc.

Children:

  • None

AnimalEnters

Attributes:

  • BaseScore (int) - (0, 10, 20),
  • FavoriteAnimalBonus (int) - (-20, 20, 70),
  • FuzzyFactor (int) - (20, 50),
  • ShowQualityMult (int) - (-2, 1, 20, 4, 6),

Children:


AnimalLeaves

Attributes:

  • BaseScore (int) - (0, 10, 20),
  • FavoriteAnimalBonus (int) - (-20, 20, 70),
  • FuzzyFactor (int) - (20, 50),
  • ShowQualityMult (int) - (-2, 1, 20, 4, 6),

Children:


BFAIAttributeFloatMap

Attributes:

  • "attribute" (float or bool) - Assigns the given value to the named attribute.

Children:

  • None

BFAIBiomeMap

Maps each biome to a preference / weight in range 0-1. Always called from BFAIEvalData.

Attributes:

  • "biome" (float) - Assigns the given preference to the named biome.

Children:

  • None

Example:

 <BFAIBiomeMap alpine=".30" borealforest=".75" temperateforest=".75" desert=".10" grassland=".50" savannah=".10" tropicalrainforest=".10" scrub=".10" tundra=".10" wetlands="1.00"/>

BFAICompletionData

Attributes:

  • invalidateTarget (bool) - Default is false.
  • needPointsBad (float) - (.1, 1, 30, 5, 50),

Children:


BFAICreateData

Attributes:

  • None

Children:


BFAIEvalData

Attributes:

  • fixedScore (int) - (.00005, 10000, 12000, 12003, 12005),
  • distanceInfluenced (bool) - (false, true),
  • leaveZoo (bool) - (true),
  • needPointsBad (int) - (.1, 1, 30, 5, 50),
  • needPointsGood (float) - (.1, 10, 15, 5, 50),
  • ?f_needPointsGood? (string) - (15, G 0, L 50),
  • !needGoodPoints! (int) - (5),
  • !needPointsgood! (int) - (5),

Children:


BFAIFailureData

Attributes:

  • None

Children:


BFAISubjectData

Must be called from BFBehSetAttribute.

Attributes:

  • "attribute" (int or bool) - Assigns the given integer to the named attribute.

Children:

Example:

 <BFBehSetAttribute>
    <BFAISubjectData health="30"/>
 </BFBehSetAttribute>

BFAITargetData

Must be called from BFBehSetAttribute.

Attributes:

  • "attribute" (int or bool) - Assigns the given integer to the named attribute.

Children:

Example:

 <BFBehSetAttribute>
    <BFAITargetData exercise="-10"/>
 </BFBehSetAttribute>

BFAITaskTemplate

Attributes:

  • CursorTask (bool) - (false),
  • Name (string) - (DefaultTask_Aardvark, DefaultTask_Actor, FastWander, Interact_Player, WanderWater),
  • Priority (int) - (1, 10, 100, 5, 900),
  • TaskDelayMax (int) - (100000, 180, 300, 420, 60),
  • TaskDelayMin (int) - (10000, 180, 30, 300, 60),
  • UniqueID (string) - (Aardvark:DefaultTask_Aardvark, Aardvark:FastWander, Aardvark:WanderWater, actor:DefaultTask_Actor, playerinteractions:Interact_Player),
  • UseForKeeperPanel (bool) - (false),
  • UseFromTokenQualifiers (bool) - (true),
  • attachTag (string) - (back, cleanerfish, hand, lefthandyoung, mouth),
  • distanceInfluenced (bool) - (false, true),
  • objectContainer (string) - (back, hand, lefthandyoung, mouth, righthand),
  • objectName (string) - (entityname:CheeseCake_lower, entityname:CottonCandy_lower, entityname:FruitCup_lower, entityname:IceCream_lower, entityname:Popcorn_lower),
  • priority (int) - (-1, 0, 1, 10, 2),
  • reserveTag (string) - (Browse, General, Graze, Rest, TAP),
  • sensorTag (string) - (explore, habitat, path, tour, viewanimals),
  • useFromTokenQualifiers (bool) - (true),

Children:


BFAITaskTemplateList

The top-level container for all BFAITaskTemplates.

Attributes:

  • None

Children:


BFAIToken

A token (= an object) that can be sent to an entity / other entities. Must be called from BFAITokenList

Attributes:

  • Name (string) - Name of the token to be sent. Usuall prefaced with ´t_´, eg. ´t_GiveTreat´
  • GiveTo (string) -
  • Payload (string) - Either subject or target.
  • Radius (int) - How far can this token be sent?
  • Chance (int) - How likely will this token be sent, in percent.
  • Reconsider (bool) - Default is false.
  • RetainOnFailure (bool) - Default is false.
  • RetainOnSuccess (bool) - Default is false.
  • RetainOnError (bool) - Default is false.
  • OnlyOne (bool) - Default is false.
  • ModifyChance (bool) - Default is false.
  • Timein (float) - Delay, in seconds?
  • Timeout (int) - Delay, in seconds?

Children:

  • None

BFAITokenList

Contains BFAITokens. Can be called from BFBehSendToken, ZTBehSplashGuest and possibly more

Attributes:

  • None

Children:

Example:

 <BFBehSendToken>
    <BFAITokenList>
       <BFAIToken Name="t_GiveTreat" Payload="subject" GiveTo="target" Timeout="5" Reconsider="true"/>
    </BFAITokenList>
 </BFBehSendToken>

BFAIValidationData

Attributes:

  • None

Children:


BFBehAnimSwitchSet

May switch between different behSets according to the state (= anim set) the subject entity is currently in.

Attributes:

  • loopFlag (bool) - Default is false.

Children:

Example:

 <BFBehAnimSwitchSet>
    <behaviorTable>
       <Stand behSet="DefaultStand"/>
       <Lie behSet="DefaultLie"/>
       <Sleep behSet="DefaultSleep"/>
       <Rest behSet="DefaultRest"/>
       <default behSet="DefaultStand"/>
    </behaviorTable>
 </BFBehAnimSwitchSet>

BFBehAnimate

Plays an animation, optionally specifying "textkeys" as well.

Attributes:

  • targetAnim (string) - The name of the anim that should be played.
  • playTime (int) - How long this behSet should be played.
  • animSpeed (float) - Exact anim speed to use in playback.
  • minAnimSpeed (float) - Minimum anim speed to use in playback.
  • maxAnimSpeed (float) - Maximum anim speed to use in playback.
  • loopFlag (bool) - Should this loop forever? Default is false.
  • interruptFlag (bool) - Allow interruptions? Default is false.
  • interruptible (bool) - Can this anim be stopped during playback? Default is false.
  • blendDuration (int) - Probably orphaned and not used.
  • groundFit (bool) - Fit to ground according to leg nodes? Default is true.
  • physObj (string) - For multi-piece objects, which physObj should be animated (eg. Vendor for shops)

Children:


BFBehAnimateRandom

Randomly plays an anim from the randomAnims table.

Attributes:

  • minPlays (int) - How long many times should this behSet be run?
  • maxPlays (int) - How long many times should this behSet be run?
  • playTime (int) - How long this behSet should be played.
  • loopFlag (bool) - Should this loop forever? Default is false.
  • interruptFlag (bool) - Allow interruptions? Default is false.

Children:


BFBehAnimateSwitch

Switches between different animations according to which state (anim set) the AI is in.

Attributes:

  • None

Children:

Example:

 <BFBehAnimateSwitch>
    <animTable>
       <Swim anim="TreadWater_Idle"/>
       <TreadWater anim="TreadWater_Idle"/>
       <default anim="TreadWater_Idle"/>
    </animTable>
 </BFBehAnimateSwitch>

BFBehAnimateTAP

Starts a TAP interaction, must be preceded by BFBehDockTAP. During use, the subject's animation is driven by macros that are defined in its XML and executed by the TAP anim's txtkeys.

Attributes:

  • subjectNode (string) - Name of the subject's dock node, eg. Node_Mouth, Floor...
  • targetTAP (string) - The name of the TAP anim / node the entity should follow.
  • exitTAP (bool) - Either true or false.
  • !exitTap! (bool) - Typo for exitTAP.

Children:

  • None

Example:

 <BFBehAnimateTAP subjectNode="Floor" targetTAP="DockNode01_BaseA2Branch1AEnd" exitTap="false"/>
 <BFBehAnimateTAP subjectNode="Floor" targetTAP="DockNode02_Branch1AEnd2ExitA" exitTAP="true"/>

BFBehAttachObject

Attaches an object to the subject.

Attributes:

  • attachEntity (string) - May be the name of an entity (eg. Trash) or a property referring to an entity (eg. s_prop).
  • targetAnim (string) - The name of the anim that should be played during attaching.
  • subjectNode (string) - Name of the subject's node that will be parent to the attachment, eg. Node_Eat. This is often specified in the targetAnim's txtkey rather than explicitly in the BEH.
  • targetNode (string) - Name of the target's attachment root node, usually Dock_Attach...
  • targetBehSet (string) - (DockFight, HitMediumEqual, BiteMed, Rendezvous, DefendEqual, ...)
  • detachAction (string) - (killitem, dropitem, inventory)
  • detachBehSet (string) - (Chew, DropYoung, DetachBaby, LetBabyOff, DetachRat)
  • !detachBeh! (string) - Typo for detachBehSet.
  • container (string) - (foodprop, righthand, lefthandobject, mouth, head_inventory, ...)
  • locoMod (string) - (carry, carryback, drag, carryyoung, carrybaby)
  • physObjToHide (string) - (mainObj, prop, ballprop)
  • interruptFlag (bool) - (true)
  • groundFit (bool) - (false),

Children:

  • None

Example:

 <BFBehAttachObject attachEntity="s_prop" targetAnim="Graze_Idle" targetNode="Dock_Attach" detachAction="killitem" container="foodprop"/>

BFBehDetachObject

Detaches an object from the subject.

Attributes:

  • container (string) - (foodprop, head_inventory, lefthandobject, mouth, righthand),
  • detachAction (string) - (dropitem, inventory, killitem, maketrash),
  • detachEntity (string) - (BrownFish_Prop, ElephantAfrican_Gift, ShakerToy, ShakerToy_Open, object),
  • subjectNode (string) - (Floor, Node_Mouth, Poop, p_GroomNode, p_PreyOffset),
  • targetAnim (string) - The name of the anim that should be played.

Children:

Example:

 <BFBehDetachObject targetAnim="StandBiObject_2Stand" detachEntity="object" detachAction="killitem"/>

BFBehDock

Docks an entity exactly according to subject's and target's dock nodes.

Attributes:

  • subjectNode (string) - Name of the subject's dock node, eg. Node_Mouth, Floor...
  • targetNode (string) - Name of the target's dock node, eg. p_InvestigateNode, Dock_Attach...
  • targetAnim (string) - The name of the anim that should be played during docking.
  • locoSpeed (string) - Which locoSpeed to use (referred in main XML). Default is slow.
  • avoidWater (bool) - Should the entity try to stay on land? Default is false.
  • redock (bool) - Default is false.
  • reserveSlotName (string) - Either general or Trainer.
  • interpolationDistance (float) - ?

Children:

  • None
 <BFBehDock subjectNode="Node_Mouth" targetAnim="Stand_Idle"/>

BFBehDockNow

This (probably) is the docking operation that greatly speeds up an entity's movement to reach the dock almost instantly.

Attributes:

  • subjectNode (string) - Name of the subject's dock node, eg. Node_Mouth, Floor...
  • targetNode (string) - Name of the target's dock node, eg. p_InvestigateNode, Dock_Attach...
  • targetAnim (string) - The name of the anim that should be played during docking.
  • reserveSlotName (string) - Either general or Trainer.
  • redock (bool) - Default is false.
  • unparent (bool) - Default is false.
  • parentToTarget (bool) - Default is false.

Children:

  • None

Example:

 <BFBehDockNow subjectNode="p_FightOffset" targetNode="p_FightOffset" reserveSlotName="general" redock="true"/>

BFBehDockQueue

This docks guests to a queue in front of a building.

Attributes:

  • container (string) - Name of the queue container.
  • hitRadius (int) - Distance to enter the queue.
  • locoSpeed (string) - Which locoSpeed to use (referred in main XML). Default is slow.
  • queueRadius (int) - Size of the queue.

Children:

  • None

Example:

 <BFBehDockQueue hitRadius="2.5" queueRadius="12" locoSpeed="slow"/>

BFBehDockRadial

Docks an entity according to subject's dock nodes, ignoring the rotation specified by the target's dock node.

Attributes:

  • subjectNode (string) - Name of the subject's dock node, eg. Node_Mouth, Floor...
  • targetNode (string) - Name of the target's dock node, eg. p_InvestigateNode, Dock_Attach...
  • targetAnim (string) - Anim the subject should play when docking with the target, eg. Fly_Ahead.
  • targetRadius (int) - Radius around the target.
  • rotError (int) - Always 180.
  • locoSpeed (string) - Which locoSpeed to use (referred in main XML). Default is slow.
  • dockRadius (float) -
  • interpolationDistance (float) - ?

Children:

  • None

Example:

 <BFBehDockRadial subjectNode="Floor" targetAnim="StandBiObject_Idle"/>

BFBehDockSpline

Docks usin spline interpolation, in 3D?

Attributes:

  • subjectNode (string) - Name of the subject's dock node, eg. Node_Mouth, Floor...
  • targetNode (string) - Name of the target's dock node, eg. p_InvestigateNode, Dock_Attach...
  • targetAnim (string) - The name of the anim that should be played.
  • locoSpeed (string) - Which locoSpeed to use (referred in main XML). Default is slow.
  • ignoreCollisionWithTarget (bool) - Default is true.
  • useBuoyNodes (bool) - Default is true.
  • redock (bool) - Default is false.

Children:

  • None

Example:

 <BFBehDockSpline locoSpeed="fast" targetAnim="TreadWater_Idle"/>

BFBehDockTAP

Starts a TAP interaction, is followed by BFBehAnimateTAP.

Attributes:

  • subjectNode (string) - Name of the subject's dock node, eg. Node_Mouth, Floor...
  • targetAnim (string) - The name of the anim that should be played.
  • targetTAP (string) - The name of the TAP anim / node the entity should dock at.

Children:

  • None

Example:

 <BFBehDockTAP targetAnim="Walk_Ahead" subjectNode="Floor" targetTAP="DockNode01_BaseA2Branch1AEnd"/>

BFBehEnter

Used to initiate interaction with a building; generally followed by a useContainer behSet.

Attributes:

  • None

Children:

  • None

Example:

 <BFBehEnter/>
 <BFBehPlaySet behSet="useContainer"/>

BFBehEscapeObstacle

Only used in some marine animals; apparently tries to move beached swimmers back into water.

Attributes:

  • locoSpeed (string) - Which locoSpeed to use (referred in main XML). Default is slow.
  • escapeTime (int) - (5, 20)
  • escapeRadius (int) - (5)

Children:

  • None

Example:

 <BFBehEscapeObstacle locoSpeed="medium" escapeTime="5" escapeRadius="5"/>

BFBehEvasion

Directed motion fleeing from a target, optionally avoiding third-party entities given in avoidEntityTypes.

Attributes:

  • locoSpeed (string) - Which locoSpeed to use (referred in main XML). Default is slow.
  • evasionRadius (int) - Minimal distance between subject and target to stop evading.
  • evasionTime (int) - How much time should be spent evading the target?
  • avoidObstacleRadius (int) - How much distance should be kept between the subject and obstacles?
  • avoidWater (bool) - Should the entity try to stay on land? Default is false.
  • avoidLand (bool) - Should the entity try to stay in water? Default is false.

Children:

*avoidEntityTypes


BFBehExecTask

The TSK equivalent to the BEH's behaviors container. Can use more or less the same functions.

Attributes:

  • None

Children:


BFBehExit

Used to terminate interaction with a building; apparently not necessarily used after BFBehEnter.

Attributes:

  • exitBehSet (string) - (ExitBench, ExitGrandstand, ExitTrashContainer),

Children:

  • None

BFBehFaceTarget

Makes the subject face its target, preferably by playing the appropriate turning animations.

Attributes:

  • rotError (int) - (180, 22.5),

Children:

  • None

BFBehFall

Attributes:

  • None

Children:

  • None

BFBehFollowEntity

Makes the subject follow the target.

Attributes:

  • subjectNode (string) - Name of the subject's follow node, eg. Node_Mouth, Floor...
  • targetNode (string) - Name of the target's (ie. the leader's) follow node, eg. p_InvestigateNode, Dock_Attach...
  • locoSpeed (string) - Which locoSpeed to use (referred in main XML). Default is slow.
  • minPlayTime (int) - How long this behSet should be played.
  • maxPlayTime (int) - How long this behSet should be played.

Children:

  • None

BFBehHeadLook

Toggles the secondary headlook component in the XML.

Attributes:

  • disengage (bool) Turns it off again. Default is false.
  • targetNode (string) - Apparently which node in the target to look at.

Children:

  • None

BFBehHide

Attributes:

  • maxTime (int) - (1, 20, 8),
  • minTime (int) - (1, 15, 4),

Children:

  • None

BFBehKill

Deletes entities, optionally fading them out.

Attributes:

  • killSubject (bool) - Default is false.
  • killTarget (bool) - Default is false.
  • killUsingDestroyEntity (bool) - Default is false.
  • radiusKillType (string) - Probably related to the above bool, names an entity like ´fence´, ShakerToy_Open to be killed in the radius (below).
  • radius (int) - The radius in which entities of the given type should be killed in.
  • targetAnim (string) - The name of the anim that should be played.
  • fadeOutPeriod (int) - Duration of the fadeout in seconds, default is probably 0.

Children:

  • None

Example:

 <BFBehKill targetAnim="Stand_BashFence" killTarget="true" radius="5" radiusKillType="fence" fadeOutPeriod="1" killUsingDestroyEntity="true"/>

BFBehLocoSwitchSet

May switch between different behSets according to the location the subject entity is currently in.

Attributes:

  • switch (bool) - Default is true.

Children:

Example:

 <BFBehLocoSwitchSet>
    <behaviorTable>
       <ground behSet="Ground_Failure"/>
       <water behSet="Water_Failure"/>
    </behaviorTable>
 </BFBehLocoSwitchSet>

BFBehMove

Attributes:

  • depthBelowSurface (int or comparison) - eg. (4, 0, 12, G 1, LE 1, ...)
  • pathRadius (int) - (0, 3, 10, 7, 20, ...)
  • moveRadius (int) - (1000, 5, 1, 3, 4, ...)
  • closestApproach (bool) - Default is false.
  • targetNode (string) - name of the dock node, eg. p_InvestigateNode, Dock_Attach...
  • locoSpeed (string) - Which locoSpeed to use (referred in main XML). Default is slow.
  • heightAboveFloor (float) - Seafloor offset?
  • hitRadius (int) - (5, 3, 10, 8, 6, ...)
  • depthAboveBottom (int or comparison) - (LE 1, LE 3, 1)

Children:

  • None

BFBehPlaySet

Very generic function that simply plays back another behSet.

Attributes:

  • behSet (string) - The name of the behSet to be played.
  • playTime (int) - How long this behSet should be played.
  • interruptEvent (string) - Apparently, this event stops the playing behSet prematurely, eg. collideWithTarget.
  • loopFlag (bool) - Should this loop forever? Default is false.
  • interruptFlag (bool) - Allow interruptions? Default is false.

Children:

  • None

Example:

 <BFBehPlaySet behSet="Graze"/>

BFBehPursuit

Chases the target and stops when the subject has reached it.

Attributes:

  • hitRadius (int) - The maximum distance between subject and target for the pursuit to stop.
  • pursuitRadius (int) - The maximum distance between subject and target for the pursuit to start.
  • failureRadius (int) - The minimum start distance between subject and target for the pursuit to fail.
  • locoSpeed (string) - Which locoSpeed to use (referred in main XML). Default is slow.
  • pollFreq (float) - How often it is updated? Usually 0.1.

Children:

  • None

BFBehRandomSet

Randomly plays behSets given in randomSets according to each entries' weight.

Attributes:

  • minPlays (int) - How long many times should this behSet be run at least?
  • maxPlays (int) - How long many times should this behSet be run at max?
  • loopFlag (bool) - Should this loop forever? Default is false.

Children:

Example:

 <BFBehRandomSet minPlays="1" maxPlays="2">
    <randomSets>
       <SpawnF weight="50"/>
       <SpawnM weight="50"/>
    </randomSets>
 </BFBehRandomSet>

BFBehScript

Executes a function from a BIN or LUA script.

Attributes:

  • context (string) - Always behavior.
  • file (string) - Absolute path to a BIN or LUA script, eg. scripts/CrateAnimal.lua, scripts/playparticle.lua, scripts/justgavebirth.lua, scripts/canreproduce.lua, scripts/setmates.lua, ...)
  • function (string) - Name of a function in the given script, eg. CrateAnimal.
  • params (string) - Additional parameters to be passed to the function, usually for particles (in txtkeys syntax?) eg. {Floor} runps PlacementCloud.

Children:

  • None

Example:

 <BFBehScript context="behavior" file="scripts/playparticle.lua" function="playParticle" params="{Floor} runps PlacementCloud"/>

BFBehSendToken

Always contains a BFAITokenList.

Attributes:

  • None

Children:


BFBehSendTrigger

Attributes:

  • subjectTrigger (string) - (Adjust_SurveyData, Adjust_ZooFame, Use_Bathroom, Use_Skytower_Down, Use_Skytower_Up),

Children:

  • None

BFBehSetAttribute

Can set attributes on the subject or the target.

Attributes:

  • None

Children:


BFBehSpawn

Creates new (child) entities.

Attributes:

  • spawnEntity (string) - Entity type that should be spawned, eg. Poop_Ungulate, AntelopeSableGiant_Young_F.
  • subjectNode (string) - Name of the subject's node from which the entities should be spawned.
  • targetAnim (string) - The name of the anim that should be played during spawning.
  • spawnRelation (string) - If this parameter is given, it is always child.
  • fadeInPeriod (int) - Default is 0.
  • randomPosOffset (int)
  • randomRotOffset (int)
  • spawnInTA (bool) - TA = TAP? Default is false

Children:

  • None

Example:

 <BFBehSpawn spawnEntity="Poop_Medium" subjectNode="Poop" targetAnim="Poop_Idle"/>

BFBehSyncSet

Simultaneously plays behSets on subject and target.

Attributes:

  • subjectBehSet (string) - The behSet performed by the subject.
  • targetBehSet (string) - The behSet performed by the target.
  • resetPhase (bool) - Default is false
  • useTargetName (bool) - Use the name in the info; default is false
  • syncEntity (string) - If this parameter is given, it is always object.

Children:

  • None

Example:

 <BFBehSyncSet syncEntity="object" subjectBehSet="MommaLetYoungOff" targetBehSet="DebarkMom"/>

BFBehWaitQueue

Controls guests as they wait in a queue.

Attributes:

  • container (string) - Name of the queue container.
  • maxWaitTime (int) - (360, 60, 90),
  • minWaitTime (int) - (30, 60),
  • waitBehSet (string) - (WaitInLine, WaitInLineStation),

Children:

  • None

Example:

 <BFBehWaitQueue minWaitTime="30" maxWaitTime="60" waitBehSet="WaitInLine"/>

BFBehWander

Random, undirected locomotion, optionally avoiding third-party entities given in avoidEntityTypes.

Attributes:

  • playTime (int) - How long this behSet should be played.
  • minPlayTime (int) - How long this behSet should be played.
  • maxPlayTime (int) - How long this behSet should be played.
  • minDepth (int) - How shallow can this entity go?
  • maxDepth (int) - How deep can this entity go?
  • locoSpeed (string) - Which locoSpeed to use (referred in main XML). Default is slow.
  • avoidObstacleRadius (int) - Distance from (static?) obstacles.
  • avoidEntityRadius (int) - Distance from other entities.
  • avoidLand (bool) - Should the entity try to stay in water? Default is false.
  • avoidWater (bool) - Should the entity try to stay on land? Default is false.
  • ignoreBuoyNodes (bool) - Should this entity walk on the sea floor?
  • heightAboveFloor (float) - Seafloor offset?

Children:

Example:

 <BFBehWander minPlayTime="7" maxPlayTime="15" avoidWater="true" avoidEntityRadius="8">
    <avoidEntityTypes>
       <b_XLargePredator/>
       <b_LargePredator/>
       <b_MediumPredator/>
       <b_SmallPredator/>
    </avoidEntityTypes>
 </BFBehWander>

BFBehWhap

Used for interaction with physics objects, like balls.

Attributes:

  • targetAnim (string) - The name of the anim that should be played.
  • interruptFlag (bool) - Allow interruptions? Default is false.
  • groundFit (bool) - Fit to ground according to leg nodes? Default is true.
  • whapAngle (int) - In degrees, eg. 225.
  • randomOffset (int) - Usually 0,

Children:

  • None

Example:

 <BFBehWhap targetAnim="Stand_SlamBallRight"/>

BeforeShow

Attributes:

  • BaseScore (int) - (0, 10, 20),
  • FavoriteAnimalBonus (int) - (-20, 20, 70),
  • FuzzyFactor (int) - (20, 50),
  • ShowQualityMult (int) - (-2, 1, 20, 4, 6),

Children:


DefaultEvent

Attributes:

  • BaseScore (int) - (0, 10, 20),
  • FavoriteAnimalBonus (int) - (-20, 20, 70),
  • FuzzyFactor (int) - (20, 50),
  • ShowQualityMult (int) - (-2, 1, 20, 4, 6),

Children:


EventScoring

Attributes:

  • None

Children:


MCEvent

Attributes:

  • BaseScore (int) - (0, 10, 20),
  • FuzzyFactor (int) - (20, 50),
  • ShowQualityMult (int) - (-2, 1, 20, 4, 6),

Children:


Objects

Objects required for this BFAITaskTemplate.

Attributes:

  • None

Children:

  • None

Objects_AND

Objects required for this BFAITaskTemplate.

Attributes:

  • None

Children:

  • None

Options

Attributes:

  • Reset (bool) - (true),

Children:

  • None

Reaction

Attributes:

  • BehSet (string) - (TrickSuccess_Path_Pos_1, TrickSuccess_Path_Pos_2, WatchShow_Path_Midpoint, WatchShow_Path_Neg_1, WatchShow_Path_Pos_1),
  • MinScore (int) - (0, 10, 20, 30, 40),

Children:

  • None---

ShowCancelled

Attributes:

  • Priority (int) - (1, 10, 100, 5, 900),
  • ShowQualityMult (int) - (-2, 1, 20, 4, 6),

Children:


ShowEnds

Attributes:

  • Priority (int) - (1, 10, 100, 5, 900),
  • ShowQualityMult (int) - (-2, 1, 20, 4, 6),

Children:


Splashed

Attributes:

  • BaseScore (int) - (0, 10, 20),
  • FavoriteAnimalBonus (int) - (-20, 20, 70),
  • FuzzyFactor (int) - (20, 50),
  • Priority (int) - (1, 10, 100, 5, 900),
  • ShowQualityMult (int) - (-2, 1, 20, 4, 6),

Children:


Subjects

Subjects required for this BFAITaskTemplate.

Attributes:

  • None

Children:

  • None

Subjects_AND

Subjects required for this BFAITaskTemplate.

Attributes:

  • None

Children:

  • None

Targets

Targets required for this BFAITaskTemplate.

Attributes:

  • None

Children:

  • None

Targets_AND

Targets required for this BFAITaskTemplate.

Attributes:

  • None

Children:

  • None

TrickCritical

Attributes:

  • BaseScore (int) - (0, 10, 20),
  • FavoriteAnimalBonus (int) - (-20, 20, 70),
  • FuzzyFactor (int) - (20, 50),
  • PerPrevious (int) - (40),
  • ShowQualityMult (int) - (-2, 1, 20, 4, 6),
  • TrickPopularityMult (float) - (-0.1, 0.3),

Children:


TrickFailure

Attributes:

  • BaseScore (int) - (0, 10, 20),
  • FavoriteAnimalBonus (int) - (-20, 20, 70),
  • FuzzyFactor (int) - (20, 50),
  • IgnorePrevious (int) - (2),
  • PerPrevious (int) - (40),
  • ShowQualityMult (int) - (-2, 1, 20, 4, 6),
  • TrickPopularityMult (float) - (-0.1, 0.3),

Children:


TrickLearning

Attributes:

  • None

Children:

  • None

TrickSuccess

Attributes:

  • BaseScore (int) - (0, 10, 20),
  • FavoriteAnimalBonus (int) - (-20, 20, 70),
  • FuzzyFactor (int) - (20, 50),
  • ShowQualityMult (int) - (-2, 1, 20, 4, 6),
  • TrickPopularityMult (float) - (-0.1, 0.3),

Children:


WatchingAnimal

Attributes:

  • BaseScore (int) - (0, 10, 20),
  • FavoriteAnimalBonus (int) - (-20, 20, 70),
  • FuzzyFactor (int) - (20, 50),
  • ShowQualityMult (int) - (-2, 1, 20, 4, 6),
  • TrickPopularityMult (float) - (-0.1, 0.3),

Children:


ZTAIShowEvent

Can be called from ZTBehSplashGuest. Not to be confused with ZTBehShowEvent!

Attributes:

  • Name (string) - Name of this event.
  • interrupt (bool) - Either true or false.
  • ExpireWithTask (bool) - Either true or false.
  • Timeout (int) - When is this event discarded?

Children:

  • None

Example:

 <ZTBehShowEvent Type="AnimalEvent" Name="TrickFailure" Priority="2" Interrupt="true" ExpireWithTask="true" Timein="1" Timeout="3"/>
 <ZTBehSplashGuest targetAnim="SwimSub_JumpFailure" interruptFlag="true" groundFit="false">
    <ZTAIShowEvent Name="Splashed" Interrupt="true" ExpireWithTask="false" Timeout="1"/>
    <BFAITokenList>
       <BFAIToken Name="t_Splashed" GiveTo="target" Payload="subject" Timeout="15" Reconsider="true" OnlyOne="true"/>
    </BFAITokenList>
 </ZTBehSplashGuest>

ZTActionInfo

This info is shown in the entity's info panel.

Attributes:

  • locID (string) - The info to be raised in the info bar of the entity, may include placeholders.
  • useTargetName (bool) - Will appear instead of %s or %1s in the locID.
  • useTargetContents (bool) - Will appear instead of %2s in the locID.
  • useObjectName (bool) - Will appear instead of %s or %1s in the locID.
  • timeout (float) - (0.0f, 15, 30, 60),

Children:

  • None

Example:

 <ZTBehFeedback>
    <ZTFeedbackData>
       <ZTActionInfo locID="animalactions:GoingToLookAt" useTargetName="true"/>
    </ZTFeedbackData>
 </ZTBehFeedback>

ZTBehAddSubjectAsDiseaseTarget

Usually called from an BFBehExecTask.

Attributes:

  • disease (string) - Type of disease, eg. Bloodlust, CatScratchFever, PinkElephantDisease
  • types (string or list of string) - Entity types that can be infected, eg. Elephantidae, Elephantidae Mammutidae.
  • attributes (string) - Qualifier for types, eg. b_Carnivore=true.
  • immediate (bool) - Are the types infected immediately?

Children:

  • None

Example:

<ZTBehAddSubjectAsDiseaseTarget disease="Bloodlust" types="animal" attributes="b_Carnivore=true" immediate="true"/>
<ZTBehAddSubjectAsDiseaseTarget disease="PinkElephantDisease" types="Elephantidae Mammutidae" immediate="false"/>

ZTBehChangeWaterDirtiness

Attributes:

  • Clean (bool) - (true),
  • Delta (int) - (750),

Children:

  • None

ZTBehCureDisease

Lets the subject (eg. Keeper) cure (not heal) a diseased target.

Attributes:

  • None

Children:

  • None

Example:

 <ZTBehCureDisease/>

ZTBehDigArtifact

The subject (Paleontologist) excavates a fossil site (fossilmarker) target previously marked with ZTBehFindArtifact.

Attributes:

  • None

Children:

  • None

Example:

 <BFBehAnimate targetAnim="Stand_Excavate"/>
 <ZTBehDigArtifact/>

ZTBehDockFence

Attributes:

  • locoSpeed (string) - (burrow, evade, fast, medium, slow),
  • subjectNode (string) - (Floor, Node_Mouth, Poop, p_GroomNode, p_PreyOffset),
  • targetAnim (string) - (LieSide_Idle, Lie_Idle, SleepCurl_Idle, Stand_Idle, TreadWater_Idle),

Children:

  • None

ZTBehDockTankWall

Subject interacts with a tank wall. Apparently always called from "inside" ZTBehTargetFence.

Attributes:

  • subjectNode (string) - Name of the subject's dock node, eg. Node_Mouth, Floor...
  • locoSpeed (string) - Which locoSpeed to use (referred in main XML). Default is slow.
  • heightAboveGround (int) - Measured from the outside ground, not tank floor.
  • depthBelowWater (int) - Measured from the water surface.

Children:

  • None

Example:

 <ZTBehDockTankWall subjectNode="Node_RamWall" locoSpeed="fast" heightAboveGround="1"/>

ZTBehDockWater

Attributes:

  • drinkDepth (float) - (.3, .4),
  • interpolationDistance (float) - (0.15, 0.5, 1, 2, 9.0),
  • subjectNode (string) - (Floor, Node_Mouth, Poop, p_FightOffset, p_PreyOffset),
  • targetAnim (string) - (Fly_Ahead, Fly_Call, Stand_Idle, Swim_Ahead, TreadWaterSub_Idle),

Children:

  • None

ZTBehEconomy

Attributes:

  • general (bool) - (true),
  • transactionName (string) - (add_user, destroy, donate, getCash, remove_user),

Children:

  • None

ZTBehExitTankGate

Attributes:

  • None

Children:

  • None

ZTBehFeedback

Container of ZTFeedbackData.

Attributes:

  • None

Children:


ZTBehFindArtifact

The subject (Paleontologist) makes a hidden FossilSite target visible.

Attributes:

  • None

Children:

  • None

Example:

 <BFBehPlaySet behSet="MarkFossil"/>
 <ZTBehFindArtifact/>

ZTBehKickOffRider

Attributes:

  • None

Children:

  • None

ZTBehMorph

Morphs the subject into another entity, either maintaining or discarding its initial identity.

Attributes:

  • morphEntity (string) - Either subject, target or an entity type, eg. CamarasaurusNest_Egg.
  • morphTargetEntityType (string) - The entity type to morph into, eg. BearGrizzly_Juvenile_F.
  • NameIt (bool) - Names the result? Default is false.
  • morphFade (bool) - Morph by crossfading the alpha values. Default is false.
  • morphScale (bool) - Morph by adjusting the scale. Default is false.
  • morphPeriod (int) - Time to spend morphing.
  • initScale (float) - Initial scale of the final entity for scale morphing; should match the scale of the subject.

Children:

  • None

Example:

 <ZTBehMorph morphEntity="AnkylosaurusNest_Egg" morphTargetEntityType="Ankylosaurus_Young_F" morphPeriod="2"/>

ZTBehPlaceTarget

Very similar to BFBehSpawn, but only used by keepers to place food.

Attributes:

  • container (string) - (foodprop, head_inventory, lefthandobject, mouth, righthand),
  • targetBeh (string) - (PlaceFood),
  • targetType (string) - (Guest, s_KeeperDrinkType, s_KeeperEatType),

Children:

  • None

Example:

 <ZTBehPlaceTarget container="food" targetType="s_KeeperEatType" targetBeh="PlaceFood"/>

ZTBehShowEvent

Not to be confused with ZTAIShowEvent!

Attributes:

  • Type (string) - Always AnimalEvent.
  • Name (string) - eg. ``...
  • Priority (int) - (1, 900, 5, 100, 2, ...)
  • interrupt (bool) - (false, true)
  • ExpireWithTask (bool) - (true, false)
  • Timein (int) - (1110, 1008, 1004.21, 416.84, 1, ...)
  • Timeout (int) - (30, 15, 5, 20, 10, ...),

Children:

  • None

Example:

 <ZTBehShowEvent Type="AnimalEvent" Name="TrickFailure" Priority="2" Interrupt="true" ExpireWithTask="true" Timein="1" Timeout="3"/>

ZTBehSplashGuest

Subject splashes guests, plays a particle system and triggers a reaction in guests.

Attributes:

  • targetAnim (string) - The name of the anim that should be played.
  • interruptFlag (bool) - Allow interruptions? Default is false.
  • splashVector (matrix3x3) - Always 1 0 0, -1 0 0, 0 1 0.
  • groundFit (bool) - Fit to ground according to leg nodes? Default is true.
  • splashFromWaterSurface (bool) - Default is true.
  • splashName (string) - The name of the particle effect that should be played, eg. directed_large, directed_medium, directed_small.

Children:


ZTBehStaffTrainAnimal

Attributes:

  • AnimalDoesTrickLoopingBeh (string) - (Idle_Bored),
  • AnimalDoesTrickPrimaryBeh (string) - (Point),
  • AnimalDoesTrickTimeout (int) - (60),
  • CleanupPrimaryBeh (string) - (Cleanup),
  • GoToPlatformPrimaryBeh (string) - (DockPlatform),
  • IncrementAmt (float) - (11.0),
  • PreTrainingPrimaryBeh (string) - (),
  • RewardAnimalPrimaryBeh (string) - (GiveTreat),
  • SummonAnimalLoopingBeh (string) - (Idle_Bored),
  • SummonAnimalPrimaryBeh (string) - (),
  • SummonAnimalTimeout (int) - (60),
  • TrainAnimalPrimaryBeh (string) - (TrainAnimal),

Children:

  • None

ZTBehTargetFence

Makes the subject find a fence.

Attributes:

  • behSet (string) - This behSet is used to dock to the tank wall, and will usually contain ZTBehDockTankWall.
  • fenceType (string) - Entity subclass of fences, eg. tankwallsegment.
  • searchDistance (int) - How far the subject may travel to find a fence.

Children:

  • None

ZTBehTeleportToLoc

Only used in MC.tsk's ReplaceProp task.

Attributes:

  • resetProp (bool) - Default is false.

Children:

  • None

Example:

 <ZTBehTeleportToLoc resetProp="true"/>

ZTBehTestTargetPos

Apparently only used in failure BFBehExecTask.

Attributes:

  • illegalBeh (string) - (KillTarget),
  • legalBeh (string) - (MWFailFeedback, ZKFailCleanWaterFeedback, ZKFailFeedback),

Children:

  • None

Example:

<ZTBehTestTargetPos legalBeh="ZKFailFeedback" illegalBeh="KillTarget"/>

ZTBehTour

Attributes:

  • None

Children:

  • None

ZTBehUsePortal

Lets the subject pass a tank portal to enter or exit a show tank.

Attributes:

  • locoSpeed (string) - (charge, evade, fast, medium, slow),
  • targetAnim (string) - (Fly_Ahead, Fly_Call, Stand_Idle, Swim_Ahead, TreadWaterSub_Idle),

Children:

  • None

Example:

 <ZTBehUsePortal targetAnim="SwimSub_Ahead" locoSpeed="fast"/>

ZTBehViewAnimals

Attributes:

  • dockVPBeh (string) - (GotoPathVP),
  • retarget (bool) - (false),
  • viewMeterStart (int) - (200),
  • viewMeterStartMax (int) - (250),
  • viewMeterStartMin (int) - (150),

Children:


ZTBehViewEvent

Attributes:

  • edDonate (string) - (f_EdDonNormal),
  • edValue (string) - (f_EdNormal),
  • targetType (string) - (Guest, s_KeeperDrinkType, s_KeeperEatType),
  • viewKey (string) - Apparently a grading scale for the quality of the event, eg. Pos_2, Pos_3, Neg_5...
  • viewRadius (int) - (20),

Children:


ZTBehWatchShow

Attributes:

  • None

Children:


ZTEmoticonInfo

This raises an emoticon over the subject entity.

Attributes:

  • emoticonName (string) - Name of the emoticon to be raised, eg. EmoteAnimalHungerBad.
  • emoticonScale (float) - Scale of the emoticon.
  • emoticonEntityNode (string) - Name of the emoticon's parent node, eg. Bip01 Head.

Children:

  • None

ZTFeedbackData

May be used from inside a ZTBehFeedback or a ZTBehViewEvent.

Attributes:

  • None

Children:


ZTMessageInfo

Attributes:

  • locID (string) - The info to be raised in the info bar of the entity.
  • priority (int) - This message's relative priority.
  • timeout (int) - How soon should this message disappear?
  • interval (int) - how much time must pass until the message is raised again?
  • tolerance (int) - Unknown.
  • global (bool) - Not sure. Either (false, true)
  • useEntityName (bool) - Default is false.
  • useTargetName (bool) - Default is false
  • filterAttribute (string) - Rare, eg. b_Rampage EQ true

Children:

  • None

ZTThoughtInfo

Attributes:

  • locID (string) - The info to be raised in the info bar of the entity.
  • priority (int) - This message's relative priority.
  • timeout (int) - How soon should this message disappear?
  • global (bool) - Not sure. Either (false, true)
  • useTargetName (bool) - Will appear instead of %s in the locID.
  • useTargetTarget (bool) - Will appear instead of %s in the locID.
  • useTargetSpecies (bool) - Will appear instead of %s in the locID.
  • useTargetObject (bool) - Will appear instead of %s in the locID.

Children:

  • None

animTable

Switches between different animations in a BFBehAnimateSwitch

Attributes:

  • None

Children:


avoidEntityTypes

Holds a list of entities that should be avoided in BFBehWander and BFBehEvasion sets.

Attributes:

  • None

Children:


behaviorTable

May be used from inside a BFBehLocoSwitchSet or a BFBehAnimSwitchSet.

Attributes:

  • None

Children:


behaviors

This is the top-level container for BEH behavior. Note that not all structures can be called directly from top level. Some may be encapsulated in other components.

Attributes:

  • None

Children:


emoteSets

Attributes:

  • None

Children:

  • None

randomAnims

Attributes:

  • None

Children:


randomSets

Attributes:

  • None

Children:


textkeys

Attributes:

  • None

Children:


userData

Attributes:

  • invalidateHabitat (bool) - (true),

Children:

  • None