Bas: Difference between revisions

1,628 bytes added ,  4 years ago
Various TypeIndexes, cleaned up reference tags
imported>Ginger
m (Clarified wording for some Parameter TypeIndex descriptions)
imported>Ginger
(Various TypeIndexes, cleaned up reference tags)
Line 13: Line 13:
!Type
!Type
!Description
!Description
!TypeIndex
!Type
!Default value
!Default value
|-
|-
Line 25: Line 25:
|bool
|bool
| -
| -
|16
|Control
| -
| -
|-
|-
Line 31: Line 31:
|bool
|bool
|Tells the game to skip this node (and use the previous result) if the input value has not changed since the last time the node was run.
|Tells the game to skip this node (and use the previous result) if the input value has not changed since the last time the node was run.
|7, 16, 47, 97, 98
|Control
|False
|False
|-
|InputLimit
|float
| -
|Control
| -
|-
|-
|FileName
|FileName
|str64
|str64
|Name of the animation to play
|Name of the animation to play
|67
|Animation
| -
| -
|-
|-
Line 43: Line 49:
|int
|int
| -
| -
|67
|Animation
| -
| -
|-
|-
Line 49: Line 55:
Known TypeIndex values:
Known TypeIndex values:


* 7 - unknown
* 1 - Range evaluation - uses current world temperature.
* 16 - unknown (believed to be range value comparison of Link's current movement speed or movement analog stick input, might be limited to two children)<ref>Element2 of Player_CutNinja.bas, WiiU 1.5.0</ref>
* 7 - Unknown (believed to be a flag check. Definitely checks for various Player states, e.g. whether or not Link has a shield equipped. Seems to require StringArray but doesn't always use it.){{#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}}
* 47 - string value switch statement comparison - uses the last played animation name to compare. Known to accept two Children to test against, plus a default case, but might accept more or less.
* 14 - Range evaluation - uses 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)
* 67 - play animation
* 16 - Unknown (range evaluation. Believed to use Link's current movement speed or movement analog stick input){{#tag:ref|Element2 of Player_CutNinja.bas, WiiU 1.5.0|name=e2pcn}}
* 97 - string value switch statement comparison - uses Link's equipped weapon subtype (from its bgparamlist [ProfileUser] WeaponSubtype value) to compare. Known to accept two Children to test against, plus a default case, but might accept more or less.
* 47 - String value switch statement comparison - uses the last played animation name to compare. Known to accept two Children to test against, plus a default case, but might accept more or less.
* 98 - string value switch statement comparison - uses Link's equipped weapon profile (from its bxml ProfileUser value) to compare. Known to accept two Children to test against, plus a default case, but might accept more or less.
* 61 - Unknown (float value comparison, unknown input variable)
* 62 - Unknown (plays material animations like SkinColor_Cold_On and SkinColor_Cold_Off, but details of its makeup are unknown){{#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}}
* 64 - Unknown (used similarly to TypeIndex 67, TypeIndex 80 is often used to choose between this and 67)
* 67 - Play animation
* 72 - Unknown (range evaluation, unknown input variable)
* 80 - Unknown
* 82 - Unknown (range evaluation, unknown input variable)
* 97 - String value switch statement comparison - uses Link's equipped weapon subtype (from its bgparamlist [ProfileUser] WeaponSubtype value) to compare. Known to accept two Children to test against, plus a default case, but might accept more or less.
* 98 - String value switch statement comparison - uses Link's equipped weapon profile (from its bxml ProfileUser value) to compare. Known to accept two Children to test against, plus a default case, but might accept more or less.


=== Children ===
=== Children ===
Line 62: Line 76:
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.
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.


==== StringArray ====
==== Typed Array ====
A list of strings to use for a Parameter TypeIndex 98 comparison. Corresponds directly 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.<ref>Element0 of Player_CutNinja.bas, WiiU 1.5.0</ref>
A list of variables of a given type to use for various Control comparisons. Corresponds directly 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.{{#tag:ref|Element0 of Player_CutNinja.bas, WiiU 1.5.0|name=e0pcn}}{{#tag:ref|Element3 of Player_FaceDefault.bas, WiiU 1.5.0|name=e3pfd}}


==== BitIndex ====
==== BitIndex ====
Used with Parameter TypeIndex 7. Not much is known. <code>BitIndex0: {TypeIndex: 30}</code> evaluates whether or not Link has a shield equipped.<ref>Element1 of Player_CutNinja.bas, WiiU 1.5.0</ref>
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)<ref name=e0pfd />
* 30 - Whether or not Link has a shield equipped.<ref name=e1pcn />
* 33 - Unknown<ref name=e2pfd />
* 46 - Unknown (believed to check if Link is crouched)


==== Ranges ====
==== Ranges ====
Line 117: Line 136:
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 any of Link's attack animations</ref>
* 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>
* 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 - unknown
* 7 - Call AS. Loads another .bas file and starts evaluating from Element0.
* 28 - Unknown (seems to always be triggered at frame -2, with value PV%03d, but needs more investigation)


==== HoldEvents ====
==== HoldEvents ====
Line 152: Line 172:
Known TypeIndex values:
Known TypeIndex values:


* 0 - unknown
* 0 - Unknown
* 2 - unknown
* 2 - Unknown
* 3 - Defines when an attack will deal damage. Value is the damage type. Left: slashing. Stab: piercing. Lower: blunt.
* 3 - Defines when an attack will deal damage. Value is the damage type. Left: slashing. Stab: piercing. Lower: blunt.
* 17 - unknown
* 17 - Unknown
* 25 - 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.
Anonymous user