ActorParam/AISchedule

From ZeldaMods (Breath of the Wild)
< ActorParam
Revision as of 16:24, 5 September 2021 by Waikuteru (talk | contribs) (→‎Triggers)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

AISchedule configures actions based on time and other conditions for an actor, as well as the AI states or events that it can trigger.


Contents

ConditionalTimelines:
- Condition: Npc_Kakariko001_Talk
  Nodes:
  - <NODE_1>
  - <NODE_2>
  - ...
  TriggerEvents:
  - <TRIGGER_EVENT_1>
  - <TRIGGER_EVENT_2>
  - ...
DefaultTimeline:
  Nodes:
  - <NODE_1>
  - <NODE_2>
  - ...
  TriggerEvents:
  - <TRIGGER_EVENT_1>
  - <TRIGGER_EVENT_2>
  - ...
DisplayDistanceMode: None 

Node

Example:

{ AIName: Action2, CanBeAwaken: 'True', Emotion: Normal, EndTime: 5, IsAlignmentWaitPosition: 'False',
  IsEnableMoveNext: false, IsInheritWaitASToTalk: 'False', IsRainAlignmentWaitPosition: 'False',
  IsRainInheritWaitASToTalk: 'False', MeetingASName: '', MeetingReactionType: 1,
  MoveEquipment: Invisible, MoveGreetingType: NotAndNot, MovePosture: 0, MoveReactionType: 2,
  MoveTalkTurn: 2, MoveToAnchorASName: Walk, MoveToAnchorRainASName: '', RainEmotion: Normal,
  ReactionToApproach: Quit, ReactionToApproachDist: 5, ReactionToApproachRain: None,
  ReactionToApproachTurnASName: Turn, ReactionToApproachWaitASName: Wait, ReturnActionRainTimeAfterTalk: -1,
  ReturnActionTimeAfterTalk: -1, ReturnMoveTimeAfterTalk: 60, SleepOnBed: 'True',
  StartTime: 0, WaitAnchorASName: Sleep, WaitAnchorRainASName: '', WaitEquipment: Invisible,
  WaitForScheduleMoveASName: Wait, WaitGreetingType: NotAndNot, WaitPosture: 0,
  WaitRainEquipment: Invisible, WaitRainPosture: 0, WaitRainReactionType: 0, WaitRainTalkTurn: 3,
  WaitReactionType: 0, WaitTalkTurn: 2}

TriggerEvent

An event that will be triggered when a condition is satisfied.

Name Type Description
EvflEntry str Name of the entry point that will be executed. The event flowchart name is the same as the name of the associated actor or quest (for AISchedule blocks defined in QuestProduct.bquestpack).
IsPauseOtherActors bool Whether other actors should be paused when the event is triggered
Trigger str Event trigger
Parameters dict

Triggers

Value Description
Talk When the actor is talked to
EachFrame On every frame
Near When Link is close to the actor
StepStart When the quest step starts (only for QuestProduct.bquestpack)

Files

AISchedule information is stored in baischedule files as an ActorParam resource or as a part of the Actors array in quest steps in QuestProduct.bquestpack.