Bas: Difference between revisions

Jump to navigation Jump to search
6,697 bytes added ,  1 year ago
m
imported>Ginger
(→‎Parameter TypeIndexes: Updated with names from nx1.5.0 (thanks leo))
 
(65 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{Stub}}{{Lowercase}}
{{Lowercase}}
<onlyinclude>
<onlyinclude>
'''bas''' files each represent an animation that can be called by an [[actor]] or [[Demo|cutscene]]. They contain a reference to an animation name, but not the animation file itself. They can be found at '''Actor/AS/{EventName}/{AnimationSequenceName}.bas''' in [[Beventpack|beventpacks]] and [[TitleBG.pack]]/Actor/AS, and '''Actor/AS/{AnimationSequenceName}.bas''' in bactorpacks.
'''bas''' files each represent an animation that can be called by an [[actor]] or [[Demo|cutscene]]. They contain a reference to an animation name, but not the animation file itself. They can be found at '''Actor/AS/{EventName}/{AnimationSequenceName}.bas''' in [[Beventpack|beventpacks]] and [[TitleBG.pack]]/Actor/AS, and '''Actor/AS/{AnimationSequenceName}.bas''' in bactorpacks.
Line 48: Line 48:
|Morph
|Morph
|int
|int
|Time to blend the previous animation into this one. (Whether this is in milliseconds or frames is currently unknown)
|Time to blend the previous animation into this one. Appears to be measured in frames.
|Animation
|Animation
| -
|-
|SequenceLoop
|bool
|Determines whether a sequence (Used with TypeIndex 61) is set to repeat
|Control
| -
| -
|-
|-
|}
|}


====Parameter TypeIndexes====
====Parameter TypeIndex====
Nodes with Blender are generally used to perform the same checks as those with Selector in the name, with a key difference: Blender nodes may evaluate multiple cases as true, and will blend the resulting animations together. Selector nodes will choose only the first case that evaluates to true.{{Check}}
{| class="wikitable"
{| class="wikitable"
!Index
!Index
!Name
!Name <ref>TypeIndex function table in the 1.5.0 [[executable]]</ref>
!Control Type
!Description
!Animation Type
!Type
!Input (Control)/Output (Animation) Value
|-
|-
|0
|0
|AbsTemperatureBlender
|AbsTemperatureBlender
| -
|Current world temperature. Evaluated by float range.
| -
|Control
| -
|-
|-
|1
|1
|AbsTemperatureSelector
|AbsTemperatureSelector
|Range comparison
|Current world temperature. Evaluated by float range.
| -
|Control
|Current world temperature
|-
|-
|2
|2
|ArmorSelector
|ArmorSelector
| -
|What armor is currently equipped. Used only in '''Player_Wait.bas'''. Only observed working values are <code>NoUpper</code>, <code>NoLower</code>, <code>NoAll</code>.{{#tag:ref|Element32 of Player_Wait.bas, WiiU 1.5.0|name=e32pw}} Does not appear to accept armor actor names.
| -
|Control
| -
|-
|-
|3
|3
|ArrowSelector
|ArrowSelector
| -
|Seems to check what arrow Link has equipped. However, the game only ever uses a '''StringArray''' of '''Empty''' and a default case. This is used to check whether Link has arrows in his bow, to determine how to blend his animations or to play different ones.
| -
|Control
| -
|-
|-
|4
|4
|AttentionSelector
|AttentionSelector
| -
| -
| -
|Control
| -
|-
|-
|5
|5
|BoneBlender
|BoneBlender
| -
| -
| -
|Control
| -
|-
|-
|6
|6
|BoneVisibilityAsset
|BoneVisibilityAsset
| -
| -
| -
| -
| -
Line 106: Line 105:
|7
|7
|BoolSelector
|BoolSelector
|Unknown
|Boolean evaluator - See [[#BitIndex]]{{#tag:ref|Element1 of Player_CutNinja.bas, WiiU 1.5.0|name=e1pcn}}{{#tag:ref|Element0 of Player_FaceDefault.bas, WiiU 1.5.0|name=e0pfd}}{{#tag:ref|Element2 of Player_FaceDefault.bas, WiiU 1.5.0|name=e2pfd}} If false, the element specified by Child0 is evaluated. If true, Child1 is evaluated.
| -
|Control
|See [[#BitIndex]]{{#tag:ref|Element1 of Player_CutNinja.bas, WiiU 1.5.0|name=e1pcn}}{{#tag:ref|Element0 of Player_FaceDefault.bas, WiiU 1.5.0|name=e0pfd}}{{#tag:ref|Element2 of Player_FaceDefault.bas, WiiU 1.5.0|name=e2pfd}}
|-
|-
|8
|8
|ButtonSelector
|ButtonSelector
| -
| -
| -
|Control
| -
|-
|-
|9
|9
|ChargeSelector
|ChargeSelector
| -
| -
| -
|Control
| -
|-
|-
|10
|10
|ClearMatAnmAsset
|ClearMatAnmAsset
| -
| -
| -
| -
| -
Line 131: Line 126:
|ComboSelector
|ComboSelector
| -
| -
| -
|Control
| -
|-
|-
|12
|12
|DiffAngleYBlender
|DiffAngleYBlender
| -
| -
| -
|Control
| -
|-
|-
|13
|13
|DiffAngleYSelector
|DiffAngleYSelector
| -
| -
| -
|Control
| -
|-
|-
|14
|14
|DirectionAngleBlender
|DirectionAngleBlender
|Range evaluation
|Compares to the movement analog stick's current orientation, in degrees, in counter-clockwise fashion. Accepts -359 to 360. (e.g. 270 and -90 both point directly to the right). Evaluated by float range.
| -
|Control
|The movement analog stick's current orientation, in degrees, in counter-clockwise fashion. Accepts -359 to 360. (e.g. 270 and -90 both point directly to the right)
|-
|-
|15
|15
|DirectionAngleSelector
|DirectionAngleSelector
| -
|Compares to the movement analog stick's current orientation, in degrees, in counter-clockwise fashion. Accepts -359 to 360. (e.g. 270 and -90 both point directly to the right). Evaluated by float range.
| -
|Control
| -
|-
|-
|16
|16
|DistanceBlender
|DistanceBlender
|Range evaluation
|Compares distance between Link and his current locked target{{#tag:ref|Element2 of Player_CutNinja.bas, WiiU 1.5.0|name=e2pcn}}. Evaluated by float range.
| -
|Control
|Distance between Link and his current locked target{{#tag:ref|Element2 of Player_CutNinja.bas, WiiU 1.5.0|name=e2pcn}}
|-
|-
|17
|17
|DistanceSelector
|DistanceSelector
| -
|Compares distance between Link and his current locked target. Evaluated by float range.
| -
|Control
| -
|-
|-
|18
|18
|DungeonClearSelector
|DungeonClearSelector
| -
| -
| -
|Control
| -
|-
|-
|19
|19
|DungeonNumberSelector
|DungeonNumberSelector
| -
| -
| -
|Control
| -
|-
|-
|20
|20
|EmotionSelector
|EmotionSelector
| -
| -
| -
|Control
| -
|-
|-
|21
|21
|EventFlagSelector
|EventFlagSelector
| -
|Checks whether a GameData flag is true. The StringArray defines the flags to be checked. Known to accept 1 child plus a default case, but in a single instance there's no default case.<ref>Npc_Rito_Hearts_BandVisibilityOff.bas</ref> In another instance, both strings are flags. <ref>UR_M_Teba_Teba_DamageVisibility_On.bas</ref> If both are true, the first case evaluated as true will be run.
| -
|Control
| -
|-
|-
|22
|22
|EyeSelector
|EyeSelector
| -
| -
| -
|Control
| -
|-
|-
|23
|23
|EyebrowSelector
|EyebrowSelector
| -
| -
| -
|Control
| -
|-
|-
|24
|24
|FaceEmotionSelector
|FaceEmotionSelector
| -
| -
| -
|Control
| -
|-
|-
|25
|25
|FootBLLifeSelector
|FootBLLifeSelector
| -
| -
| -
|Control
| -
|-
|-
|26
|26
|FootBRLifeSelector
|FootBRLifeSelector
| -
| -
| -
|Control
| -
|-
|-
|27
|27
|FootFLLifeSelector
|FootFLLifeSelector
| -
| -
| -
|Control
| -
|-
|-
|28
|28
|FootFRLifeSelector
|FootFRLifeSelector
| -
| -
| -
|Control
| -
|-
|-
|29
|29
|ForwardBentBlender
|ForwardBentBlender
| -
| -
| -
|Control
| -
|-
|-
|30
|30
|ForwardBentSelector
|ForwardBentSelector
| -
| -
| -
|Control
| -
|-
|-
|31
|31
|GearSelector
|GearSelector
| -
| -
| -
|Control
| -
|-
|-
|32
|32
|GenerationSelector
|GenerationSelector
| -
|Int check - Unknown<ref>Element7 of UH_C_Face_Talk.bas and Element3 of UH_C_Face_Default.bas</ref> In both referenced cases (used in NPC actorpacks), Value0 is '''2''', and Value1 is '''-2147483648''', which is the negative 32-bit integer limit.
| -
|Control
| -
|-
|-
|33
|33
|GrabTypeSelector
|GrabTypeSelector
| -
|Compares the [[Bgparamlist#Liftable|LiftType]] of the actor that is being grabbed/lifted (from its bgparamlist). Known to accept as many as 24 children and a default case.
| -
|Control
| -
|-
|-
|34
|34
|GroundNormalBlender
|GroundNormalBlender
| -
| -
| -
|Control
| -
|-
|-
|35
|35
|GroundNormalSelector
|GroundNormalSelector
| -
| -
| -
|Control
| -
|-
|-
|36
|36
|GroundNormalSideBlender
|GroundNormalSideBlender
| -
| -
| -
|Control
| -
|-
|-
|37
|37
|GroundNormalSideSelector
|GroundNormalSideSelector
| -
| -
| -
|Control
| -
|-
|-
|38
|38
|MaskSelector
|MaskSelector
| -
|Checks the MaskType parameter of the currently equipped Head armor. Its children reference other elements to jump to if a matching MaskType is found, and a StringArray in its Extend determine the MaskType(s) to check for.
| -
|Control
| -
|-
|-
|39
|39
|MatVisibilityAsset
|MatVisibilityAsset
| -
| -
| -
| -
| -
Line 305: Line 271:
|MouthSelector
|MouthSelector
| -
| -
| -
|Control
| -
|-
|-
|41
|41
|NoAnmAsset
|NoAnmAsset
| -
|Play no animation. Used to cancel evaluation.
| -
|Animation
| -
|-
|-
|42
|42
|NoLoopStickAngleBlender
|NoLoopStickAngleBlender
| -
| -
| -
|Control
| -
|-
|-
|43
|43
|NoLoopStickAngleSelector
|NoLoopStickAngleSelector
| -
| -
| -
|Control
| -
|-
|-
|44
|44
|NodePosSelector
|NodePosSelector
|String comparison
|Compares name of a bone, takes StrRef of the bone name. Unknown how it decides which bone name to compare the StrRef to.{{#tag:ref|Element0 of Player_LadderJump.bas, WiiU 1.5.0|name=e0plj}} Can be paired with an axis name (e.g. <code>Toe_L,Z</code>) to measure value on that axis. When used in this way, the node chooses the child corresponding to the highest value among those measured.{{#tag:ref|Element8 of UZ_M_Move_End.bas, WiiU 1.5.0|name=e8uzmme}} When no axis name is given, the vector to the origin is measured. {{Check}}
| -
|Control
|Name of a bone, but unknown how it decides which bone name to use.{{#tag:ref|Element0 of Player_LadderJump.bas, WiiU 1.5.0|name=e0plj}}
|-
|-
|45
|45
|PersonalitySelector
|PersonalitySelector
| -
| -
| -
|Control
| -
|-
|-
|46
|46
|PostureSelector
|PostureSelector
| -
| -
| -
|Control
| -
|-
|-
|47
|47
|PreASSelector
|PreASSelector
|String comparison
|Compares last played animation name, takes StrRef of animation name. Accepts up to 5 children.{{#tag:ref|Element11 of Player_CutChargeWait.bas, WiiU 1.5.0|name=e11pccw}}
| -
|Control
|Last played animation name. Known to accept two Children to test against, plus a default case, but might accept more or less.
|-
|-
|48
|48
|PreExclusionRandomSelector
|PreExclusionRandomSelector
| -
| -
| -
|Control
| -
|-
|-
|49
|49
|RandomSelector
|RandomSelector
| -
|Picks a random node from the given nodes.{{Check}}
| -
|Control
| -
|-
|-
|50
|50
|RideSelector
|RideSelector
| -
|Compares the profile of the mount the actor is currently riding. Known to accept one Child, plus a default case, but might accept more or less.{{Check}}
| -
|Control
| -
|-
|-
|51
|51
|RightStickAngleBlender
|RightStickAngleBlender
| -
| -
| -
|Control
| -
|-
|-
|52
|52
|RightStickAngleSelector
|RightStickAngleSelector
| -
| -
| -
|Control
| -
|-
|-
|53
|53
|RightStickValueBlender
|RightStickValueBlender
| -
| -
| -
|Control
| -
|-
|-
|54
|54
|RightStickValueSelector
|RightStickValueSelector
| -
| -
| -
|Control
| -
|-
|-
|55
|55
|RightStickXBlender
|RightStickXBlender
| -
| -
| -
|Control
| -
|-
|-
|56
|56
|RightStickXSelector
|RightStickXSelector
| -
| -
| -
|Control
| -
|-
|-
|57
|57
|RightStickYBlender
|RightStickYBlender
| -
| -
| -
|Control
| -
|-
|-
|58
|58
|RightStickYSelector
|RightStickYSelector
| -
| -
| -
|Control
| -
|-
|-
|59
|59
|SelfHeightSelector
|SelfHeightSelector
| -
| -
| -
|Control
| -
|-
|-
|60
|60
|SelfWeightSelector
|SelfWeightSelector
| -
| -
| -
|Control
| -
|-
|-
|61
|61
|SequencePlayContainer
|SequencePlayContainer
|Float comparison
|Float comparison - Unknown{{#tag:ref|Element0 of Player_Move.bas, WiiU 1.5.0|name=e0pm}}
| -
|Control
|Unknown{{#tag:ref|Element0 of Player_Move.bas, WiiU 1.5.0|name=e0pm}}
|-
|-
|62
|62
|ShaderParamAsset
|ShaderParamAsset
| -
|Plays material animation, takes StrRef of the animation name. Its Extend uses a secondary animation name for unknown purpose.{{#tag:ref|Element1 of Player_SkinColor.bas, WiiU 1.5.0|name=e1psc}}{{#tag:ref|Element2 of Player_SkinColor.bas, WiiU 1.5.0|name=e2psc}}
|Material animation
|Animation
|StrRef of the animation name. Its Extend uses a secondary animation name for unknown purpose.{{#tag:ref|Element1 of Player_SkinColor.bas, WiiU 1.5.0|name=e1psc}}{{#tag:ref|Element2 of Player_SkinColor.bas, WiiU 1.5.0|name=e2psc}}
|-
|-
|63
|63
|ShaderParamColorAsset
|ShaderParamColorAsset
| -
| -
| -
| -
| -
Line 448: Line 390:
|64
|64
|ShaderParamTexSRTAsset
|ShaderParamTexSRTAsset
| -
|Plays texture transform animation, takes StrRef of the animation name.
|Texture transform animation
|Animation
|StrRef of the animation name.
|-
|-
|65
|65
|SizeBlender
|SizeBlender
| -
| -
| -
|Control
| -
|-
|-
|66
|66
|SizeSelector
|SizeSelector
| -
| -
| -
|Control
| -
|-
|-
|67
|67
|SkeltalAsset
|SkeltalAsset
| -
|Plays model animation, takes StrRef of the animation name.
|Model animation
|Animation
|StrRef of the animation name.
|-
|-
|68
|68
|SpeedBlender
|SpeedBlender
| -
|Compares actor's current movement speed. Evaluated by float range.
| -
|Control
| -
|-
|-
|69
|69
|SpeedSelector
|SpeedSelector
| -
|Compares actor's current movement speed. Evaluated by float range.
| -
|Control
| -
|-
|-
|70
|70
|StickAngleBlender
|StickAngleBlender
| -
|Compares the movement analog stick's current orientation, in degrees, in counter-clockwise fashion. Accepts -359 to 360. (e.g. 270 and -90 both point directly to the right). Evaluated by float range.
| -
|Control
| -
|-
|-
|71
|71
|StickAngleSelector
|StickAngleSelector
| -
|Compares the movement analog stick's current orientation, in degrees, in counter-clockwise fashion. Accepts -359 to 360. (e.g. 270 and -90 both point directly to the right). Evaluated by float range.
| -
|Control
| -
|-
|-
|72
|72
|StickValueBlender
|StickValueBlender
|Range evaluation
|Range evaluation - Unknown{{#tag:ref|Element0 of Player_SwimAtnMove.bas, WiiU 1.5.0|name=e0psam}}
| -
|Control
|Unknown{{#tag:ref|Element0 of Player_SwimAtnMove.bas, WiiU 1.5.0|name=e0psam}}
|-
|-
|73
|73
|StickValueSelector
|StickValueSelector
| -
| -
| -
|Control
| -
|-
|-
|74
|74
|StickXBlender
|StickXBlender
| -
|Compares the movement analog stick's current horizontal position, as a float value. Fully left is -1.0, fully right is 1.0.
| -
|Control
| -
|-
|-
|75
|75
|StickXSelector
|StickXSelector
| -
|Compares the movement analog stick's current horizontal position, as a float value. Fully left is -1.0, fully right is 1.0.
| -
|Control
| -
|-
|-
|76
|76
|StickYBlender
|StickYBlender
| -
|Compares the movement analog stick's current vertical position, as a float value. Fully down is -1.0, fully up is 1.0.
| -
|Control
| -
|-
|-
|77
|77
|StickYSelector
|StickYSelector
| -
|Compares the movement analog stick's current vertical position, as a float value. Fully down is -1.0, fully up is 1.0.
| -
|Control
| -
|-
|-
|78
|78
|StressBlender
|StressBlender
| -
| -
| -
|Control
| -
|-
|-
|79
|79
|StressSelector
|StressSelector
| -
| -
| -
|Control
| -
|-
|-
|80
|80
|SyncPlayContainer
|SyncPlayContainer
|Unknown (believed to play multiple animations at once){{#tag:ref|Element0 of Player_FaceTalkWeaponShowSword.bas, WiiU 1.5.0|name=e0pftwss}}
|Synchronously plays multiple child elements
| -
|Animation
| -
|-
|-
|81
|81
|TemperatureBlender
|TemperatureBlender
| -
| -
| -
|Control
| -
|-
|-
|82
|82
|TemperatureSelector
|TemperatureSelector
|Range evaluation
|Range evaluation - Unknown{{#tag:ref|Element1 of Player_FaceDefault.bas, WiiU 1.5.0|name=e1pfd}}
| -
|Control
|Unknown{{#tag:ref|Element1 of Player_FaceDefault.bas, WiiU 1.5.0|name=e1pfd}}
|-
|-
|83
|83
|TexturePatternAsset
|TexturePatternAsset
| -
| -
| -
| -
| -
Line 568: Line 490:
|84
|84
|TimeSelector
|TimeSelector
| -
|Checks the current time. Observed values are '''Morning_A''', '''Morning_B''', '''Evening_B''', '''Night_A''', and '''Night_B'''. '''Evening_A''' is never used, but is assumed to exist. Known to accept any number of children along with a default case.
| -
|Control
| -
|-
|-
|85
|85
|TiredBlender
|TiredBlender
| -
| -
| -
|Control
| -
|-
|-
|86
|86
|TiredSelector
|TiredSelector
| -
| -
| -
|Control
| -
|-
|-
|87
|87
|UseItemSelector
|UseItemSelector
| -
| -
| -
|Control
| -
|-
|-
|88
|88
|UserAngle2Blender
|UserAngle2Blender
| -
| -
| -
|Control
| -
|-
|-
|89
|89
|UserAngle2Selector
|UserAngle2Selector
| -
| -
| -
|Control
| -
|-
|-
|90
|90
|UserAngleBlender
|UserAngleBlender
| -
| -
| -
|Control
| -
|-
|-
|91
|91
|UserAngleSelector
|UserAngleSelector
| -
| -
| -
|Control
| -
|-
|-
|92
|92
|UserSpeedBlender
|UserSpeedBlender
| -
| -
| -
|Control
| -
|-
|-
|93
|93
|UserSpeedSelector
|UserSpeedSelector
| -
| -
| -
|Control
| -
|-
|-
|94
|94
|VariationSelector
|VariationSelector
| -
| -
| -
|Control
| -
|-
|-
|95
|95
|WallAngleBlender
|WallAngleBlender
| -
| -
| -
|Control
| -
|-
|-
|96
|96
|WallAngleSelector
|WallAngleSelector
| -
| -
| -
|Control
| -
|-
|-
|97
|97
|WeaponDetailSelector
|WeaponDetailSelector
|String comparison
|Compares actor's equipped weapon subtype (from its bgparamlist [ProfileUser] WeaponSubtype value), takes StrRef of weapon subtype name
| -
|Control
|Link's equipped weapon subtype (from its bgparamlist [ProfileUser] WeaponSubtype value)
|-
|-
|98
|98
|WeaponSelector
|WeaponSelector
|String comparison
|Compares actor's equipped weapon profile (from its bxml ProfileUser value), takes StrRef of weapon profile name
|Control
|-
|99
|WeatherSelector
| -
| -
|Link's equipped weapon profile (from its bxml ProfileUser value)
|Control
|-
|-
|99
|100
|WeightBlender
|WeightBlender
| -
| -
| -
|Control
| -
|-
|-
|100
|101
|WeightSelector
|WeightSelector
| -
| -
| -
|Control
| -
|-
|-
|101
|102
|WindVelocityBlender
|WindVelocityBlender
| -
| -
| -
|Control
| -
|-
|-
|102
|103
|YSpeedBlender
|YSpeedBlender
| -
| -
| -
|Control
| -
|-
|-
|103
|104
|YSpeedSelector
|YSpeedSelector
| -
| -
| -
|Control
| -
|-
|-
|104
|105
|ZEx00ExposureBlender
|ZEx00ExposureBlender
| -
| -
| -
|Control
| -
|-
|-
|105
|106
|ZEx00ExposureSelector
|ZEx00ExposureSelector
| -
| -
| -
|Control
| -
|-
|-
|}
|}


===Children===
===Children===
Line 710: Line 616:


====BitIndex====
====BitIndex====
Used with Parameter TypeIndex 7. Also has TypeIndex, which are used to perform the check.
Used with BoolSelector Parameters. Also has TypeIndex, which are used to perform the check.


*2 - Unknown (believed to check if Link has any armor equipped)<ref name="e0pfd" />
*2 - Unknown (believed to check if Link has any armor equipped)<ref name="e0pfd" />
*30 - Whether or not Link has a shield equipped.<ref name="e1pcn" />
*5 - Unknown (believed to check if Link is carrying an object)
*33 - Unknown<ref name="e2pfd" />
*15 - Unknown. Appears in Player_WeaponEquipOn after an Attention Selector and a BitIndex 30 check, implying that it has something to do with shields.
*17 - Unknown (believed to check whether Link is airborne)
*30 - Whether or not Link has a shield equipped. (First Child is False, Second Child is True)<ref name="e1pcn" />
*33 - Unknown (believed to check if Link is tired)<ref name="e2pfd" />
*36 - Unknown (believed to check if Link is locked onto a target)
*37 - Whether IsBlunt is set to true in the equipped weapon’s bgparamlist
*37 - Whether IsBlunt is set to true in the equipped weapon’s bgparamlist
*38 - Unknown (believed to check if the current weapon is on fire). (First Child is False, Second Child is True)
*46 - Unknown (believed to check if Link is crouched)
*46 - Unknown (believed to check if Link is crouched)


Line 733: Line 644:
|Speed at which to play the animation. Higher numbers are faster.
|Speed at which to play the animation. Higher numbers are faster.
|1.0
|1.0
|-
|StartFrame
|int
| -
| -
|-
|-
|EndFrame
|EndFrame
|int
|int
| -
| -
| -
|-
|LoopStopCount
|int
| -
| -
|-
|LoopStopCountRandom
|int
| -
| -
|-
|UseGlobalFrame
|bool
| -
|false
|-
|ReversePlay
|bool
| -
|false
|-
|Connect
|int
|The only observed values are 1, 2, and 3.
| -
|-
|AnmLoop
|int
|The only observed values are 1 and 2. <ref>Elements 10 and 11 of AncientDoctor_C_Face_Default.bas</ref>
| -
| -
|-
|-
Line 767: Line 713:
Known TypeIndex values:
Known TypeIndex values:


*0 - Unknown (believed to define when an attack begins to deal damage)<ref>Compare Event0 of TriggerEvents and Event0 of HoldEvents for most of Link's attack animations</ref>
*0 - Used to play sound effects during animations. Known to accept any attack or enemy attack sound effect, but probably works with other sound files.<ref>Compare Event0 of TriggerEvents and Event0 of HoldEvents for most of Link's attack animations</ref>
*4 - Triggers the animation controller to transition back into the idle stance. The Frame value should be a few before the end of the actual animation, so that the controller can make the blending look natural.<ref>Compare TriggerEvent TypeIndex 4 Frame value for an animation with the number of frames in the actual animation.</ref>
*4 - Triggers the animation controller to transition back into the idle stance. The Frame value should be a few before the end of the actual animation, so that the controller can make the blending look natural.<ref>Compare TriggerEvent TypeIndex 4 Frame value for an animation with the number of frames in the actual animation.</ref>
*7 - Call AS. Passes the strRef to the ASList to retrieve an AS file and starts evaluating it from Element0.
*7 - Call AS. Passes the strRef to the ASList to retrieve an AS file and starts evaluating it from Element0.
*28 - Play audio. Only observed with PV%03d as the value, which corresponds to bfwav files in PlayerVoice.bars, but is believed to be able to play other audio files as well.
*14 - Seems to indicate an enemy has entered a state of being airborne.
*28 - Play audio. Able to play any bfwav file in PlayerVoice.bars.
*29 - Seems to determine when a weapon will bind to a bone. <ref>Player_WeaponEquipOn.bas</ref>
 


====HoldEvents====
====HoldEvents====
Line 803: Line 752:
Known TypeIndex values:
Known TypeIndex values:


*0 - Unknown
*0 - Seems to allow Link's attack animations to combo into one another. New attack elements will not combo together if there is no TypeIndex 0 present in the Hold Events.
*2 - Unknown
*2 - Seems to determine when some attacks (entries in Player_CutJumpSt and others) will connect with targets. Removing TypeIndex 2 causes animations to play halfway through. TypeIndex 2 also tends to have a StartFrame somewhere near the middle of the animation, and an end frame of -1.0, indicating that it may be responsible for blending certain attack animations into one another, particularly those that loop or combine.
*3 - Defines when an attack will deal damage. Value is the damage type. Left: slashing. Stab: piercing. Lower: blunt. {{Check}}
*3 - Defines when an attack will deal damage. Value is the damage type. Left: slashing. Stab: piercing. Lower: blunt. {{Check}}
*14 - Defines when an animation will block attack damage using Link's equipped shield.
*17 - Unknown
*17 - Unknown
*25 - Unknown
*22 - Unknown. Found in Link's Player_CutShieldRide.bas animation, and seems to correspond to the air effects under the board, but can't be applied to other attack animations.
*25 - Unknown. Appears to have something to do with Bone Control, as it is often observed with the !str32 Value "OnlyEye".
*35 - Unknown
*45 - Defines when to accept input to start the next attack.
*45 - Defines when to accept input to start the next attack.
*48 - Defines when to display the trails in the air during an attack.
*48 - Defines when to display the trails in the air during an attack.
*49 - Believed to define the animation frames during which an actor is resistant to knock back. Notably used during animations where the actor leaves the ground and in most cases, active during frames when actor is airborne.


===References===
===References===
52

edits

Navigation menu