Bas: Difference between revisions

From ZeldaMods (Breath of the Wild)
Jump to navigation Jump to search
imported>Ginger
(→‎Parameter TypeIndexes: Updated with names from nx1.5.0 (thanks leo))
imported>Ginger
(→‎Parameter TypeIndexes: Reworked table to be more concise with new information)
Line 58: Line 58:
!Index
!Index
!Name
!Name
!Control Type
!Description
!Animation Type
!Type
!Input (Control)/Output (Animation) Value
|-
|-
|0
|0
|AbsTemperatureBlender
|AbsTemperatureBlender
| -
| -
| -
| -
| -
Line 70: Line 68:
|1
|1
|AbsTemperatureSelector
|AbsTemperatureSelector
|Range comparison
|Current world temperature. Evaluated by number range
| -
|Control
|Current world temperature
|-
|-
|2
|2
|ArmorSelector
|ArmorSelector
| -
| -
| -
| -
| -
Line 82: Line 78:
|3
|3
|ArrowSelector
|ArrowSelector
| -
| -
| -
| -
| -
Line 88: Line 83:
|4
|4
|AttentionSelector
|AttentionSelector
| -
| -
| -
| -
| -
Line 94: Line 88:
|5
|5
|BoneBlender
|BoneBlender
| -
| -
| -
| -
| -
Line 100: Line 93:
|6
|6
|BoneVisibilityAsset
|BoneVisibilityAsset
| -
| -
| -
| -
| -
Line 106: Line 98:
|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}}
| -
|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
| -
| -
| -
| -
| -
Line 118: Line 108:
|9
|9
|ChargeSelector
|ChargeSelector
| -
| -
| -
| -
| -
Line 124: Line 113:
|10
|10
|ClearMatAnmAsset
|ClearMatAnmAsset
| -
| -
| -
| -
| -
Line 130: Line 118:
|11
|11
|ComboSelector
|ComboSelector
| -
| -
| -
| -
| -
Line 136: Line 123:
|12
|12
|DiffAngleYBlender
|DiffAngleYBlender
| -
| -
| -
| -
| -
Line 142: Line 128:
|13
|13
|DiffAngleYSelector
|DiffAngleYSelector
| -
| -
| -
| -
| -
Line 148: Line 133:
|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 number 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
| -
| -
| -
| -
| -
Line 160: Line 143:
|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 number 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
| -
| -
| -
| -
| -
Line 172: Line 153:
|18
|18
|DungeonClearSelector
|DungeonClearSelector
| -
| -
| -
| -
| -
Line 178: Line 158:
|19
|19
|DungeonNumberSelector
|DungeonNumberSelector
| -
| -
| -
| -
| -
Line 184: Line 163:
|20
|20
|EmotionSelector
|EmotionSelector
| -
| -
| -
| -
| -
Line 190: Line 168:
|21
|21
|EventFlagSelector
|EventFlagSelector
| -
| -
| -
| -
| -
Line 196: Line 173:
|22
|22
|EyeSelector
|EyeSelector
| -
| -
| -
| -
| -
Line 202: Line 178:
|23
|23
|EyebrowSelector
|EyebrowSelector
| -
| -
| -
| -
| -
Line 208: Line 183:
|24
|24
|FaceEmotionSelector
|FaceEmotionSelector
| -
| -
| -
| -
| -
Line 214: Line 188:
|25
|25
|FootBLLifeSelector
|FootBLLifeSelector
| -
| -
| -
| -
| -
Line 220: Line 193:
|26
|26
|FootBRLifeSelector
|FootBRLifeSelector
| -
| -
| -
| -
| -
Line 226: Line 198:
|27
|27
|FootFLLifeSelector
|FootFLLifeSelector
| -
| -
| -
| -
| -
Line 232: Line 203:
|28
|28
|FootFRLifeSelector
|FootFRLifeSelector
| -
| -
| -
| -
| -
Line 238: Line 208:
|29
|29
|ForwardBentBlender
|ForwardBentBlender
| -
| -
| -
| -
| -
Line 244: Line 213:
|30
|30
|ForwardBentSelector
|ForwardBentSelector
| -
| -
| -
| -
| -
Line 250: Line 218:
|31
|31
|GearSelector
|GearSelector
| -
| -
| -
| -
| -
Line 256: Line 223:
|32
|32
|GenerationSelector
|GenerationSelector
| -
| -
| -
| -
| -
Line 262: Line 228:
|33
|33
|GrabTypeSelector
|GrabTypeSelector
| -
| -
| -
| -
| -
Line 268: Line 233:
|34
|34
|GroundNormalBlender
|GroundNormalBlender
| -
| -
| -
| -
| -
Line 274: Line 238:
|35
|35
|GroundNormalSelector
|GroundNormalSelector
| -
| -
| -
| -
| -
Line 280: Line 243:
|36
|36
|GroundNormalSideBlender
|GroundNormalSideBlender
| -
| -
| -
| -
| -
Line 286: Line 248:
|37
|37
|GroundNormalSideSelector
|GroundNormalSideSelector
| -
| -
| -
| -
| -
Line 292: Line 253:
|38
|38
|MaskSelector
|MaskSelector
| -
| -
| -
| -
| -
Line 298: Line 258:
|39
|39
|MatVisibilityAsset
|MatVisibilityAsset
| -
| -
| -
| -
| -
Line 304: Line 263:
|40
|40
|MouthSelector
|MouthSelector
| -
| -
| -
| -
| -
Line 310: Line 268:
|41
|41
|NoAnmAsset
|NoAnmAsset
| -
| -
| -
| -
| -
Line 316: Line 273:
|42
|42
|NoLoopStickAngleBlender
|NoLoopStickAngleBlender
| -
| -
| -
| -
| -
Line 322: Line 278:
|43
|43
|NoLoopStickAngleSelector
|NoLoopStickAngleSelector
| -
| -
| -
| -
| -
Line 328: Line 283:
|44
|44
|NodePosSelector
|NodePosSelector
|String comparison
|Compares name of a bone, takes StrRef of the bone name. but unknown how it decides which bone name to use.{{#tag:ref|Element0 of Player_LadderJump.bas, WiiU 1.5.0|name=e0plj}}
| -
|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
| -
| -
| -
| -
| -
Line 340: Line 293:
|46
|46
|PostureSelector
|PostureSelector
| -
| -
| -
| -
| -
Line 346: Line 298:
|47
|47
|PreASSelector
|PreASSelector
|String comparison
|Compares last played animation name, takes StrRef of animation name. Known to accept two Children to test against, plus a default case, but might accept more or less.
| -
|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
| -
| -
| -
| -
| -
Line 358: Line 308:
|49
|49
|RandomSelector
|RandomSelector
| -
| -
| -
| -
| -
Line 364: Line 313:
|50
|50
|RideSelector
|RideSelector
| -
| -
| -
| -
| -
Line 370: Line 318:
|51
|51
|RightStickAngleBlender
|RightStickAngleBlender
| -
| -
| -
| -
| -
Line 376: Line 323:
|52
|52
|RightStickAngleSelector
|RightStickAngleSelector
| -
| -
| -
| -
| -
Line 382: Line 328:
|53
|53
|RightStickValueBlender
|RightStickValueBlender
| -
| -
| -
| -
| -
Line 388: Line 333:
|54
|54
|RightStickValueSelector
|RightStickValueSelector
| -
| -
| -
| -
| -
Line 394: Line 338:
|55
|55
|RightStickXBlender
|RightStickXBlender
| -
| -
| -
| -
| -
Line 400: Line 343:
|56
|56
|RightStickXSelector
|RightStickXSelector
| -
| -
| -
| -
| -
Line 406: Line 348:
|57
|57
|RightStickYBlender
|RightStickYBlender
| -
| -
| -
| -
| -
Line 412: Line 353:
|58
|58
|RightStickYSelector
|RightStickYSelector
| -
| -
| -
| -
| -
Line 418: Line 358:
|59
|59
|SelfHeightSelector
|SelfHeightSelector
| -
| -
| -
| -
| -
Line 424: Line 363:
|60
|60
|SelfWeightSelector
|SelfWeightSelector
| -
| -
| -
| -
| -
Line 430: Line 368:
|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 383:
|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
| -
| -
| -
| -
| -
Line 460: Line 393:
|66
|66
|SizeSelector
|SizeSelector
| -
| -
| -
| -
| -
Line 466: Line 398:
|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
| -
| -
| -
| -
| -
Line 478: Line 408:
|69
|69
|SpeedSelector
|SpeedSelector
| -
| -
| -
| -
| -
Line 484: Line 413:
|70
|70
|StickAngleBlender
|StickAngleBlender
| -
| -
| -
| -
| -
Line 490: Line 418:
|71
|71
|StickAngleSelector
|StickAngleSelector
| -
| -
| -
| -
| -
Line 496: Line 423:
|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
| -
| -
| -
| -
| -
Line 508: Line 433:
|74
|74
|StickXBlender
|StickXBlender
| -
| -
| -
| -
| -
Line 514: Line 438:
|75
|75
|StickXSelector
|StickXSelector
| -
| -
| -
| -
| -
Line 520: Line 443:
|76
|76
|StickYBlender
|StickYBlender
| -
| -
| -
| -
| -
Line 526: Line 448:
|77
|77
|StickYSelector
|StickYSelector
| -
| -
| -
| -
| -
Line 532: Line 453:
|78
|78
|StressBlender
|StressBlender
| -
| -
| -
| -
| -
Line 538: Line 458:
|79
|79
|StressSelector
|StressSelector
| -
| -
| -
| -
| -
Line 544: Line 463:
|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
| -
| -
| -
| -
| -
Line 556: Line 473:
|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 483:
|84
|84
|TimeSelector
|TimeSelector
| -
| -
| -
| -
| -
Line 574: Line 488:
|85
|85
|TiredBlender
|TiredBlender
| -
| -
| -
| -
| -
Line 580: Line 493:
|86
|86
|TiredSelector
|TiredSelector
| -
| -
| -
| -
| -
Line 586: Line 498:
|87
|87
|UseItemSelector
|UseItemSelector
| -
| -
| -
| -
| -
Line 592: Line 503:
|88
|88
|UserAngle2Blender
|UserAngle2Blender
| -
| -
| -
| -
| -
Line 598: Line 508:
|89
|89
|UserAngle2Selector
|UserAngle2Selector
| -
| -
| -
| -
| -
Line 604: Line 513:
|90
|90
|UserAngleBlender
|UserAngleBlender
| -
| -
| -
| -
| -
Line 610: Line 518:
|91
|91
|UserAngleSelector
|UserAngleSelector
| -
| -
| -
| -
| -
Line 616: Line 523:
|92
|92
|UserSpeedBlender
|UserSpeedBlender
| -
| -
| -
| -
| -
Line 622: Line 528:
|93
|93
|UserSpeedSelector
|UserSpeedSelector
| -
| -
| -
| -
| -
Line 628: Line 533:
|94
|94
|VariationSelector
|VariationSelector
| -
| -
| -
| -
| -
Line 634: Line 538:
|95
|95
|WallAngleBlender
|WallAngleBlender
| -
| -
| -
| -
| -
Line 640: Line 543:
|96
|96
|WallAngleSelector
|WallAngleSelector
| -
| -
| -
| -
| -
Line 646: Line 548:
|97
|97
|WeaponDetailSelector
|WeaponDetailSelector
|String comparison
|Compares Link'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 Link's equipped weapon profile (from its bxml ProfileUser value), takes StrRef of weapon profile name
| -
|Control
|Link's equipped weapon profile (from its bxml ProfileUser value)
|-
|-
|99
|99
|WeightBlender
|WeightBlender
| -
| -
| -
| -
| -
Line 664: Line 563:
|100
|100
|WeightSelector
|WeightSelector
| -
| -
| -
| -
| -
Line 670: Line 568:
|101
|101
|WindVelocityBlender
|WindVelocityBlender
| -
| -
| -
| -
| -
Line 676: Line 573:
|102
|102
|YSpeedBlender
|YSpeedBlender
| -
| -
| -
| -
| -
Line 682: Line 578:
|103
|103
|YSpeedSelector
|YSpeedSelector
| -
| -
| -
| -
| -
Line 688: Line 583:
|104
|104
|ZEx00ExposureBlender
|ZEx00ExposureBlender
| -
| -
| -
| -
| -
Line 694: Line 588:
|105
|105
|ZEx00ExposureSelector
|ZEx00ExposureSelector
| -
| -
| -
| -
| -

Revision as of 14:54, 1 May 2020

bas files each represent an animation that can be called by an actor or 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 beventpacks and TitleBG.pack/Actor/AS, and Actor/AS/{AnimationSequenceName}.bas in bactorpacks.


Layout

Each bas file is made up of one list of elements, named Elements. Each element (Element0, Element1, etc) can be either a test to figure out what animation to play, or a call to play the animation.

Parameters

All nodes have Parameters, which determine what kind of node they are. They can be a control node, which helps decide which animation to play, or an animation node, which actually plays the animation.

Key Key Type Description Node Type Default value
TypeIndex int Type of node the Element is. Known types are listed below the table. - -
NoSync bool - Control -
JudgeOnce bool Tells the game to skip evaluating this node (and use the previous result) if the input value has not changed since the last time the node was run. Control False
InputLimit float - Control -
FileName str64 Name of the animation to play Animation -
Morph int Time to blend the previous animation into this one. (Whether this is in milliseconds or frames is currently unknown) Animation -

Parameter TypeIndexes

Index Name Description Type
0 AbsTemperatureBlender - -
1 AbsTemperatureSelector Current world temperature. Evaluated by number range Control
2 ArmorSelector - -
3 ArrowSelector - -
4 AttentionSelector - -
5 BoneBlender - -
6 BoneVisibilityAsset - -
7 BoolSelector Boolean evaluator - See #BitIndex[1][2][3] Control
8 ButtonSelector - -
9 ChargeSelector - -
10 ClearMatAnmAsset - -
11 ComboSelector - -
12 DiffAngleYBlender - -
13 DiffAngleYSelector - -
14 DirectionAngleBlender 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 number range. Control
15 DirectionAngleSelector - -
16 DistanceBlender Compares distance between Link and his current locked target[4]. Evaluated by number range. Control
17 DistanceSelector - -
18 DungeonClearSelector - -
19 DungeonNumberSelector - -
20 EmotionSelector - -
21 EventFlagSelector - -
22 EyeSelector - -
23 EyebrowSelector - -
24 FaceEmotionSelector - -
25 FootBLLifeSelector - -
26 FootBRLifeSelector - -
27 FootFLLifeSelector - -
28 FootFRLifeSelector - -
29 ForwardBentBlender - -
30 ForwardBentSelector - -
31 GearSelector - -
32 GenerationSelector - -
33 GrabTypeSelector - -
34 GroundNormalBlender - -
35 GroundNormalSelector - -
36 GroundNormalSideBlender - -
37 GroundNormalSideSelector - -
38 MaskSelector - -
39 MatVisibilityAsset - -
40 MouthSelector - -
41 NoAnmAsset - -
42 NoLoopStickAngleBlender - -
43 NoLoopStickAngleSelector - -
44 NodePosSelector Compares name of a bone, takes StrRef of the bone name. but unknown how it decides which bone name to use.[5] Control
45 PersonalitySelector - -
46 PostureSelector - -
47 PreASSelector Compares last played animation name, takes StrRef of animation name. Known to accept two Children to test against, plus a default case, but might accept more or less. Control
48 PreExclusionRandomSelector - -
49 RandomSelector - -
50 RideSelector - -
51 RightStickAngleBlender - -
52 RightStickAngleSelector - -
53 RightStickValueBlender - -
54 RightStickValueSelector - -
55 RightStickXBlender - -
56 RightStickXSelector - -
57 RightStickYBlender - -
58 RightStickYSelector - -
59 SelfHeightSelector - -
60 SelfWeightSelector - -
61 SequencePlayContainer Float comparison - Unknown[6] Control
62 ShaderParamAsset Plays material animation, takes StrRef of the animation name. Its Extend uses a secondary animation name for unknown purpose.[7][8] Animation
63 ShaderParamColorAsset - -
64 ShaderParamTexSRTAsset Plays texture transform animation, takes StrRef of the animation name. Animation
65 SizeBlender - -
66 SizeSelector - -
67 SkeltalAsset Plays model animation, takes StrRef of the animation name. Animation
68 SpeedBlender - -
69 SpeedSelector - -
70 StickAngleBlender - -
71 StickAngleSelector - -
72 StickValueBlender Range evaluation - Unknown[9] Control
73 StickValueSelector - -
74 StickXBlender - -
75 StickXSelector - -
76 StickYBlender - -
77 StickYSelector - -
78 StressBlender - -
79 StressSelector - -
80 SyncPlayContainer Synchronously plays multiple child elements Animation
81 TemperatureBlender - -
82 TemperatureSelector Range evaluation - Unknown[10] Control
83 TexturePatternAsset - -
84 TimeSelector - -
85 TiredBlender - -
86 TiredSelector - -
87 UseItemSelector - -
88 UserAngle2Blender - -
89 UserAngle2Selector - -
90 UserAngleBlender - -
91 UserAngleSelector - -
92 UserSpeedBlender - -
93 UserSpeedSelector - -
94 VariationSelector - -
95 WallAngleBlender - -
96 WallAngleSelector - -
97 WeaponDetailSelector Compares Link's equipped weapon subtype (from its bgparamlist [ProfileUser] WeaponSubtype value), takes StrRef of weapon subtype name Control
98 WeaponSelector Compares Link's equipped weapon profile (from its bxml ProfileUser value), takes StrRef of weapon profile name Control
99 WeightBlender - -
100 WeightSelector - -
101 WindVelocityBlender - -
102 YSpeedBlender - -
103 YSpeedSelector - -
104 ZEx00ExposureBlender - -
105 ZEx00ExposureSelector - -

Children

Control nodes will have Children, in addition to Parameters, which determine which Element to go to after the control node is evaluated. The properties of Children will be named Child0, Child1, etc, and each will have a single integer value, which will correspond to the Element number. e.g. Child0: 7 points to Element7.

Extend

All nodes have an Extend, which contains specific details about the node. Control node Extends will contain details about the comparison being performed, while animation nodes will contain information about the animation being played, such as: during which frames of the animation a weapon will deal damage if it hits something, when user input is ignored, when to draw weapon trails through the air for attack animations, etc.

Typed Array

A list of variables of a given type to use for various control comparisons. Corresponds directly to the Children of the node. i.e. if Value0 matches the value being compared against, the code will jump to the Element listed under Child0. If no comparison of a lower Child number has evaluated as true, automatically evaluates a Child whose value is "default" as true.[11][12]

BitIndex

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

  • 2 - Unknown (believed to check if Link has any armor equipped)[2]
  • 30 - Whether or not Link has a shield equipped.[1]
  • 33 - Unknown[3]
  • 37 - Whether IsBlunt is set to true in the equipped weapon’s bgparamlist
  • 46 - Unknown (believed to check if Link is crouched)

Ranges

Used with control nodes that perform a Range evaluation. If the value being compared is above the Start value and below the End value, evaluates as true. Otherwise, moves on to the next value. (Unknown what happens if none of the Ranges evaluate to true, presumably game crash)

FrameCtrl

Used with animation nodes. The node itself is required, even if it is empty (i.e. none of the keys are specified)

Key Type Description Default value
Rate float Speed at which to play the animation. Higher numbers are faster. 1.0
EndFrame int - -

TriggerEvents

Used with Parameter TypeIndex 67. Possibly used with other animation node TypeIndexes, but none have so far been observed. Events which are triggered during this animation.

Key Type Description Default value
TypeIndex int Which type of event to fire. Known events are detailed below -
Frame int Which frame to fire the event on, relative to the frame numbers of the animation. Can be negative. -
Value strRef - -

Known TypeIndex values:

  • 0 - Unknown (believed to define when an attack begins to deal damage)[13]
  • 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.[14]
  • 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.

HoldEvents

Used with Parameter TypeIndex 67. Possibly used with other animation node TypeIndexes, but none have so far been observed. States that are entered into while the animation is playing.

Key Type Description Default value
TypeIndex int Which type of event to fire. Known events are detailed below -
StartFrame int Which frame to start the event on, relative to the frame numbers of the animation. Unknown if it can be negative. -
EndFrame int Which frame to end the event on, relative to the frame numbers of the animation. A value of -1 is treated as the ending frame of the animation. -
Value strRef - -

Known TypeIndex values:

  • 0 - Unknown
  • 2 - Unknown
  • 3 - Defines when an attack will deal damage. Value is the damage type. Left: slashing. Stab: piercing. Lower: blunt. [check]
  • 17 - Unknown
  • 25 - Unknown
  • 45 - Defines when to accept input to start the next attack.
  • 48 - Defines when to display the trails in the air during an attack.

References

  1. 1.0 1.1 Element1 of Player_CutNinja.bas, WiiU 1.5.0
  2. 2.0 2.1 Element0 of Player_FaceDefault.bas, WiiU 1.5.0
  3. 3.0 3.1 Element2 of Player_FaceDefault.bas, WiiU 1.5.0
  4. Element2 of Player_CutNinja.bas, WiiU 1.5.0
  5. Element0 of Player_LadderJump.bas, WiiU 1.5.0
  6. Element0 of Player_Move.bas, WiiU 1.5.0
  7. Element1 of Player_SkinColor.bas, WiiU 1.5.0
  8. Element2 of Player_SkinColor.bas, WiiU 1.5.0
  9. Element0 of Player_SwimAtnMove.bas, WiiU 1.5.0
  10. Element1 of Player_FaceDefault.bas, WiiU 1.5.0
  11. Element0 of Player_CutNinja.bas, WiiU 1.5.0
  12. Element3 of Player_FaceDefault.bas, WiiU 1.5.0
  13. Compare Event0 of TriggerEvents and Event0 of HoldEvents for most of Link's attack animations
  14. Compare TriggerEvent TypeIndex 4 Frame value for an animation with the number of frames in the actual animation.