From OpenSA: Smash Engine Documentation Wiki
Revision as of 23:19, 9 September 2018 by Sammi Husky (talk | contribs) (Normal Requirements)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

[ 1:06 pm] Dantarion 80B0C8C0 = the array of asm routines

[ 1:06 pm] Dantarion [80B0C8C0] = req 0x2710

[ 1:06 pm] Dantarion [80B0C8C0+4] = req 0x2711

[ 1:06 pm] Dantarion etc

[80AE7DB0] = req 0x00-0x4C

Normal Requirements

Hex ID Dec ID Label Description Parameters
Type Label Description
00 {{#hexdec:00}} Character Exists?
01 {{#hexdec:01}} Animation End
02 {{#hexdec:02}} Animation has looped? Needs more testing.
03 {{#hexdec:03}} On Ground
04 {{#hexdec:04}} In Air
05 {{#hexdec:05}} Holding a Ledge This will trigger at any time you are still in 'possession' of the ledge
06 {{#hexdec:06}} On a Passable Floor On a platform/floor that can be dropped or fallen through
07 {{#hexdec:07}} Compare Any Comparator
Value Comparison Operator
Any Comparator

08 {{#hexdec:08}} Bit is Set
09 {{#hexdec:09}} Facing Right
0A {{#hexdec:0A}} Facing Left
0B {{#hexdec:0B}} Hitbox Connects Will only work in GFX or SFX tabs Value 1 - Hitbox, 2 - Hurtbox, 4 - Shield, 3 - Hitbox/Hurtbox, 5 - Hitbox/Shield, etc

0C {{#hexdec:0C}} Touching a Floor, Wall, or Ceiling Value 1 - Floor, 2 - Left Wall, 3 - Ceiling, 4 - Right Wall

0D {{#hexdec:0D}} Is Throwing Someone
0E {{#hexdec:0E}} ??? Freezes?
0F {{#hexdec:0F}} Button Tap? Triggers continuously on ground/air?
10 {{#hexdec:10}} soTerritoryModule.isTouch
11 {{#hexdec:11}} soTerritoryModule.isDoCreate
12 {{#hexdec:12}}
13 {{#hexdec:13}} soTargetSearchModule.isLostTarget Value unknown
Value unknown

14 {{#hexdec:14}} Is in Hitlag
15 {{#hexdec:15}} Article Exists Value Article ID

16 {{#hexdec:16}} Is Overstepping an Edge Character's stage collision box is beyond the edge of the floor horizontally while on the ground
17 {{#hexdec:17}} Distance from Floor Character is within this distance from a floor surface directly below them Scalar Distance

18 {{#hexdec:18}}
19 {{#hexdec:19}} ??? Freezes?
1A {{#hexdec:1A}}
1B {{#hexdec:1B}} Change in Air/Ground State
1C {{#hexdec:1C}} Article Available Value Article ID

1D {{#hexdec:1D}}
1E {{#hexdec:1E}} ??? Triggers continuously during Jumps, Falls, Respawn, and generally things that are in the air and IASAable?
1F {{#hexdec:1F}} Holding Item
20 {{#hexdec:20}} Holding Item of Type Seems to check whether an item is of a certain type; often used when deciding whether to throw an item based on an attack button press (throwing items only) or a throw button press (most other items). Value Item class?

21 {{#hexdec:21}} Light Item is in Grabbing Range Item catching box is overlapping an item of this type's catch box. This includes most if not all items not in 22. Will trigger even while unable to pick up items
22 {{#hexdec:22}} Heavy Item is in Grabbing Range Same as 21 but for heavy items (crates, barrels, party balls, etc)
23 {{#hexdec:23}} Item of Type(?) is in Grabbing Range Same as 21 but only for certain types of items?
24 {{#hexdec:24}} Turning with Item Triggers while turning around with items that have special turns (hammers, cracker launcher, heavy items, etc)
25 {{#hexdec:25}} ??? Freezes?
26 {{#hexdec:26}} ??? Freezes?
27 {{#hexdec:27}} ??? Freezes?
28 {{#hexdec:28}} ??? Freezes?
29 {{#hexdec:29}}
2A {{#hexdec:2A}} Is in Water Triggers any time you are in the water except while dying from drowning
2B {{#hexdec:2B}} Roll A Die Value Sides

2C {{#hexdec:2C}} Subaction Exists Value Subaction ID

2D {{#hexdec:2D}} ??? Triggers continuously on ground/air?
2E {{#hexdec:2E}} Button Mashing? Status Expired (sleep/bury/freeze)?
2F {{#hexdec:2F}} Is Not in Damaging Magnifier Can be in magnifier slightly off camera, but not far enough to be taking damage
30 {{#hexdec:30}} Button Press Value Button

31 {{#hexdec:31}} Button Release Value Button

32 {{#hexdec:32}} Button Pressed Value Button

33 {{#hexdec:33}} Button Not Pressed Value Button

34 {{#hexdec:34}} Stick Direction Pressed? Without any params was triggering anytime up/down was not pressed
35 {{#hexdec:35}} Stick Direction Not Pressed? Without any params was triggering anytime up/down was pressed
36 {{#hexdec:36}}
37 {{#hexdec:37}} Is Being Thrown by Someone (1) calls soCaptureModuleImpl.isCapture
38 {{#hexdec:38}} Is Being Thrown by Someone (2) calls soLinkModuleImpl.isModelConstraint
39 {{#hexdec:39}} Hasn't Tethered 3 Times
3A {{#hexdec:3A}} Has Passed Over an Edge (Forward) This occurs the frame that the character has passed over the edge of the floor/platform. The character must be facing forward
3B {{#hexdec:3B}} Has Passed Over an Edge (Backward) Same as above except the character must be facing backwards instead
3C {{#hexdec:3C}} Is Holding Someone in a Grab Includes grab attacks and throws up until they are released
3D {{#hexdec:3D}} Hitbox has Connected Like 0B except continues to trigger afterwards as well Value 1 - Hitbox, 2 - Hurtbox, 4 - Shield, 3 - Hitbox/Hurtbox, 5 - Hitbox/Shield, etc

3E {{#hexdec:3E}} soGroundModuleImpl.isAttach
3F {{#hexdec:3F}} soGroundModuleImpl.isTraced
40 {{#hexdec:40}} calls soGroundModuleImpl.canTraceStart
41 {{#hexdec:41}} calls soGroundModuleImpl.isTraceArrived
42 {{#hexdec:42}} calls soGroundModuleImpl.canTraceIntercept
43 {{#hexdec:43}} calls soGroundModuleImpl.isDiveDown
44 {{#hexdec:44}} calls soGroundModuleImpl.isSameNormalTraceLineCurrentAndNext
45 {{#hexdec:45}} calls soGroundModuleImpl.isOpenTraceLineCurrentAndNext
46 {{#hexdec:46}} calls soGroundModuleImpl.isTouchTraceLine
47 {{#hexdec:47}} Pick up an Item Triggers on the frame the item is considered grabbed
48 {{#hexdec:48}} calls soAreaModuleImpl.isExistAreaInstance internally
49 {{#hexdec:49}} Is Camera Locked calls soCameraModuleImpl.isLocked internally
4A {{#hexdec:4A}} ??? Triggers continuously on ground/air?
4B {{#hexdec:4B}} soReflectModule.isReflect
4C {{#hexdec:4C}} Has Been Caped Calls soTurnModuleImpl.isExtern

Special Requirements

Hex ID Dec ID Label Description Parameters
Type Label Description
2710 {{#hexdec:2710}}
2711 {{#hexdec:2711}} In walljump situation Appears to check both the presence of a wall and whether the required input is met. Does not check whether the character is valid (done separately).
2712 {{#hexdec:2712}} In wallcling situation Same as above.
2713 {{#hexdec:2713}} Is within footstool range. Has a boolean parameter in subroutine @21908; Indicates that the footstool is automatic (landing on Goombas, Koopas, and so on). Lacks the parameter in other cases. Boolean Automatic?

2714 {{#hexdec:2714}} Unknown; used in actions 0x001 (Walk), 0x003 (Dash), and 0x004 (Run) as part of checking whether to enter a Trip action. Value Undefined

2715 {{#hexdec:2715}}
2716 {{#hexdec:2716}} Is falling+hit down
2717 {{#hexdec:2717}} Has Smash Ball
2718 {{#hexdec:2718}}
2719 {{#hexdec:2719}} Can Pick Up Another Item Possibly checks to see if the item in grabbing range can be picked up despite holding an item already (food etc). Used in this way in sub@9fbc instead of the "not holding an item" requirement.
271A {{#hexdec:271A}} Successfully tethered ledge Possibly checks to see if a tether grab has successfully occurred
271B {{#hexdec:271B}}
271C {{#hexdec:271C}}
271D {{#hexdec:271D}} F-Smash Shortcut Appears to work as a shortcut for comparing the stick's horizontal position with a given threshold and input window (see subroutine 0x9fbc for example). Variable Threshold The threshold to be used.
Variable InputWindow The input window to be used.

271E {{#hexdec:271E}}
271F {{#hexdec:271F}}
2720 {{#hexdec:2720}}
2721 {{#hexdec:2721}}
2722 {{#hexdec:2722}}
2723 {{#hexdec:2723}}
2724 {{#hexdec:2724}} Fighter Loaded Checks the Instance Slot ID of all Fighters aside from the player. Value Instance Slot ID

2725 {{#hexdec:2725}} Tap Jump On & C-Stick not Held Appears in checks for tap jump, and u-smash/up item throw out of dash attack/dash item throw.