Eaten By Bubba: Difference between revisions
Icecream17 (talk | contribs) (more specific) |
mNo edit summary |
||
Line 1: | Line 1: | ||
{{Action_infobox | {{Action_infobox | ||
|title= Eaten by [[Bubba]] | |title= Eaten by [[Bubba]] | ||
Line 14: | Line 13: | ||
}} | }} | ||
'''Eaten by Bubba''' is an action that happens when Mario is eaten by [[Bubba]]. Interacting with Bubba (i.e. being eaten by Bubba) is the only way to enter this action. | '''Eaten by Bubba''' is an action that happens when Mario is eaten by [[Bubba]]. Interacting with Bubba (i.e. being eaten by Bubba) is the only way to enter this action. | ||
== Interactions == | == Interactions == | ||
When interacting with Bubba, the following happens: | When interacting with Bubba, the following happens: | ||
Line 19: | Line 19: | ||
* Mario's <code>interactObj</code> property becomes Bubba | * Mario's <code>interactObj</code> property becomes Bubba | ||
* Mario's action is set to ''Eaten by Bubba'' | * Mario's action is set to ''Eaten by Bubba'' | ||
== Standard cutscene action cancel == | == Standard cutscene action cancel == | ||
Like all Cutscene actions<ref>https://github.com/n64decomp/sm64/blob/66018e9f3caaa67399218971d61366cb3f7ba7d7/src/game/mario_actions_cutscene.c#L2689</ref>, | Like all Cutscene actions<ref>https://github.com/n64decomp/sm64/blob/66018e9f3caaa67399218971d61366cb3f7ba7d7/src/game/mario_actions_cutscene.c#L2689</ref>, | ||
Line 24: | Line 25: | ||
Needless to say this cannot happen in vanilla SM64 because Bubba is not in a level with quicksand. | Needless to say this cannot happen in vanilla SM64 because Bubba is not in a level with quicksand. | ||
== Behavior == | == Behavior == | ||
The <code>act_eaten_by_bubba</code> function does the following: <ref>https://github.com/n64decomp/sm64/blob/66018e9f3caaa67399218971d61366cb3f7ba7d7/src/game/mario_actions_cutscene.c#L751</ref> | The <code>act_eaten_by_bubba</code> function does the following: <ref>https://github.com/n64decomp/sm64/blob/66018e9f3caaa67399218971d61366cb3f7ba7d7/src/game/mario_actions_cutscene.c#L751</ref> | ||
Line 32: | Line 34: | ||
* If the <code>actionTimer</code> is 60, <code>level_trigger_warp(m, WARP_OP_DEATH)</code> (basically black screen and bowser laugh and warp) | * If the <code>actionTimer</code> is 60, <code>level_trigger_warp(m, WARP_OP_DEATH)</code> (basically black screen and bowser laugh and warp) | ||
The function returns <code>false</code> in all cases, exiting the action loop. Basically it cannot be cancelled into any other action, except for the quicksand death mentioned earlier. Note that Mario can't escape from this action by interacting with an object either, since this action has the "intangible" flag. (See https://ukikipedia.net/wiki/Action#Frame step 8) | The function returns <code>false</code> in all cases, exiting the action loop. Basically it cannot be cancelled into any other action, except for the quicksand death mentioned earlier. Note that Mario can't escape from this action by interacting with an object either, since this action has the "intangible" flag. (See https://ukikipedia.net/wiki/Action#Frame step 8) | ||
==References== | |||
<references/> | |||
{{actions}} | {{actions}} |
Revision as of 07:52, 9 July 2023
Eaten by Bubba | |
Properties | |
Hex | 0x00021317 |
Action Flags | stationary, intangible, invulnerable |
Action Group | Cutscene |
ID | 0x117 |
Transitions | |
Into | Quicksand Death (theoretically), Uninitialized (death warp) |
Out of | Theoretically almost any action, but probably some kind of underwater action. |
Other | |
Animation | A_POSE |
Eaten by Bubba is an action that happens when Mario is eaten by Bubba. Interacting with Bubba (i.e. being eaten by Bubba) is the only way to enter this action.
Interactions
When interacting with Bubba, the following happens:
- Bubba's interaction state becomes
INT_STATUS_INTERACTED
- Mario's
interactObj
property becomes Bubba - Mario's action is set to Eaten by Bubba
Standard cutscene action cancel
Like all Cutscene actions[1],
if Mario's floor type is SURFACE_INSTANT_QUICKSAND
and Mario's action has the INVULNERABLE
flag and Mario's action is not Quicksand Death, the action is cancelled to Quicksand Death.
Needless to say this cannot happen in vanilla SM64 because Bubba is not in a level with quicksand.
Behavior
The act_eaten_by_bubba
function does the following: [2]
- If Mario does not have the
MARIO_ACTION_SOUND_PLAYED
flag, then add the flag to Mario and playSOUND_MARIO_DYING
- Mario's animation becomes
MARIO_ANIM_A_POSE
- Remove the
GRAPH_RENDER_ACTIVE
flag (fromm->marioObj->header.gfx.node.flags
) - Set Mario's health to
0xFF
(makes Mario die) - If the
actionTimer
is 60,level_trigger_warp(m, WARP_OP_DEATH)
(basically black screen and bowser laugh and warp)
The function returns false
in all cases, exiting the action loop. Basically it cannot be cancelled into any other action, except for the quicksand death mentioned earlier. Note that Mario can't escape from this action by interacting with an object either, since this action has the "intangible" flag. (See https://ukikipedia.net/wiki/Action#Frame step 8)