ActorParam/AISchedule: Difference between revisions

From ZeldaMods (Breath of the Wild)
Jump to navigation Jump to search
imported>Leoetlino
No edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
<onlyinclude>'''AISchedule''' configures actions based on time and other conditions for an actor, as well as the [[AI system|AI states]] or [[Event system|events]] that it can trigger.</onlyinclude>
<onlyinclude>
== Contents ==
'''AISchedule''' configures actions based on time and other conditions for an actor, as well as the [[AI system|AI states]] or [[Event system|events]] that it can trigger.
</onlyinclude>
 
==Contents==
<source lang="yaml">
<source lang="yaml">
ConditionalTimelines:
ConditionalTimelines:
Line 23: Line 26:
DisplayDistanceMode: None 
DisplayDistanceMode: None 
</source>
</source>
=== Node ===
===Node===
{{expand section}}
{{expand section}}
Example:
Example:
Line 41: Line 44:
</source>
</source>


=== TriggerEvent ===
===TriggerEvent===
{{expand section}}
{{expand section}}
An event that will be triggered when a condition is satisfied.
An event that will be triggered when a condition is satisfied.


{|class="wikitable"
{| class="wikitable"
! Name !! Type !! Description
!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]]).
|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]]).
|-
|-
| IsPauseOtherActors || bool || Whether other actors should be paused when the event is triggered
|IsPauseOtherActors||bool||Whether other actors should be paused when the event is triggered
|-
|-
| Trigger || str || Event trigger
|Trigger||str||Event trigger
|-
|-
| Parameters || dict ||  
|Parameters||dict||
|}
|}


==== Triggers ====
====Triggers====
{{expand section}}
{{expand section}}
{|class="wikitable"
{| class="wikitable"
! Value !! Description
!Value!!Description
|-
|-
| Talk || When the actor is talked to
|Talk||When the actor is talked to
|-
|-
| EachFrame || On every frame
|EachFrame||On every frame
|-
|-
| Near || When Link is close to the actor
|Near||When Link is close to the actor
|-
|-
| StepStart || When the quest step starts (only for [[QuestProduct]])
|StepStart||When the quest step starts (only for [[QuestProduct]])
|}
|}


== Files ==
==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]].
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]].

Latest revision as of 16:24, 5 September 2021

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.