Interaction type
An interaction type is a property that all objects have. Most objects have exactly one interaction type, but some have zero. No object may have more than one, and if one is hacked to have more than one, it will crash the game as Mario thinks that he is interacting with two different objects, each with one interaction flag, and cannot find them. Interaction types are analogous to action flags, but interaction flags are not, which can be a source of confusion.
List
Index/log2 | Description | Mask |
---|---|---|
00 | Hoot | 0x00000001 |
01 | Grabbable | 0x00000002 |
02 | Door | 0x00000004 |
03 | Hurtbox | 0x00000008 |
04 | Coin | 0x00000010 |
05 | Cap | 0x00000020 |
06 | Pole | 0x00000040 |
07 | Koopa | 0x00000080 |
08 | Spiny | 0x00000100 |
09 | Breakable Block | 0x00000200 |
10 | Wind | 0x00000400 |
11 | Warp Door | 0x00000800 |
12 | Star/Key | 0x00001000 |
13 | Warp | 0x00002000 |
14 | Cannon Base | 0x00004000 |
15 | Bounce Top | 0x00008000 |
16 | Water Ring | 0x00010000 |
17 | Bully | 0x00020000 |
18 | Burns | 0x00040000 |
19 | Koopa Shell | 0x00080000 |
20 | (unused) | 0x00100000 |
21 | Hurtbox 2 | 0x00200000 |
22 | Bounce Top/Bottom | 0x00400000 |
23 | Text | 0x00800000 |
24 | Tornado | 0x01000000 |
25 | Whirlpool | 0x02000000 |
26 | Clam/Bubba | 0x04000000 |
27 | BBH Entrance | 0x08000000 |
28 | Snufit Bullet | 0x10000000 |
29 | Shocks | 0x20000000 |
30 | Igloo Barrier | 0x40000000 |
31 | (unused) | 0x80000000 |
Description
Hoot
The Hoot interaction is used by Hoot, the Owl that Mario can hold on to in Whomp's Fortress. This interaction first checks whether Mario is in a suitable state to grab the owl (fulfilled by several airborne states) and checks if the global timer has advanced more than 30 ticks since Mario last let go of Hoot. If both these conditions are met, Mario can grab onto Hoot. Note that since the global timer advances while the game is paused, it is possible to fulfill the second condition right after Mario lets go of Hoot by simply pausing the game for 30 frames.
Grabbable
The Grabbable interaction is used by objects which are grabbable, such as Bob-Ombs and Boxes. This interaction has 5 subtypes: INT_SUBTYPE_GRABS_MARIO which is used by Chuckya and King Bob-Omb and also makes the object heavy, INT_SUBTYPE_HOLDABLE_NPC which lets Mario drop the object gently with no forward velocity, INT_SUBTYPE_DROP_IMMEDIATELY which is used by grabbable NPCs that also talk to Mario so that Mario will drop them when their dialogue is finished, INT_SUBTYPE_KICKABLE for objects that can be kicked and INT_SUBTYPE_NOT_GRABBABLE which is used by Heave-Ho to prevent Mario from picking it up. For the grab to occur, Mario must not be kicking an object of subtype kickable, the object must not have the not grabbable subtype, and the able_to_grab_object condition must be met. If the object being interacted with is not Bowser, the interaction is also set to push Mario 5 units away from the object when he grabs it.
Door
The Door interaction is used for doors and has a subtype used for Star Doors.
Hurtbox 1 & 2
Hurtbox 1 & 2 are identical with their behavior. If Mario makes contact with an object, it will simply knock him back and generally hurt him. Some examples include Chain Chomp, Mr. Blizzard, and bullet bills.
The only distinction between the two is solely based on what file they are in.