Eaten By Bubba: Difference between revisions

From Ukikipedia
Jump to navigation Jump to search
(what an amazing suggestion)
 
(not sure)
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Action_infobox
{{Action_infobox
|title= Eaten by [[Bubba]]
|title= Eaten by [[Bubba]]
Line 8: Line 7:
|group= Cutscene
|group= Cutscene
|id= 0x117
|id= 0x117
|into= [[Quicksand Death]] (theoretically), [[Uninitialized]] (death warp)
|into= [[Quicksand Death]] (theoretically), [[Uninitialized]] (death warp) (or is it [[Disappeared]]?)
|out of= Theoretically almost any action, but probably some kind of underwater action.
|out of= Theoretically almost any action, but probably some kind of underwater action.
|animation= A_POSE
|animation= A_POSE
|related=
|related=
}}
}}
'''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:
* Bubba's interaction state becomes <code>INT_STATUS_INTERACTED</code>
* Bubba's interaction state becomes <code>INT_STATUS_INTERACTED</code>
* 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>,
if Mario's floor type is <code>SURFACE_INSTANT_QUICKSAND</code> and <span style="color:green;">Mario's action has the <code>INVULNERABLE</code> flag</span> and <span style="color:green;">Mario's action is not [[Quicksand Death]]</span>, the action is cancelled to [[Quicksand Death]].
if Mario's floor type is <code>SURFACE_INSTANT_QUICKSAND</code> and <span style="color:green;">Mario's action has the <code>INVULNERABLE</code> flag</span> and <span style="color:green;">Mario's action is not [[Quicksand Death]]</span>, the action is cancelled to [[Quicksand Death]].


Needless to say this cannot happen in vanilla SM64 because Bubba is not near 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>
* If Mario does not have the <code>MARIO_ACTION_SOUND_PLAYED</code> flag, then add the flag to Mario and play <code>SOUND_MARIO_DYING</code>
* If Mario does not have the <code>MARIO_ACTION_SOUND_PLAYED</code> flag, then add the flag to Mario and play <code>SOUND_MARIO_DYING</code>
* Mario's animation becomes <code>MARIO_ANIM_A_POSE</code>
* Mario's animation becomes <code>MARIO_ANIM_A_POSE</code>
Line 39: Line 30:
* Set Mario's [[health]] to <code>0xFF</code> (makes Mario die)
* Set Mario's [[health]] to <code>0xFF</code> (makes Mario die)
* 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 possibility mentioned earlier. (See https://ukikipedia.net/wiki/Action#Frame step 8)
==References==
 
<references/>
{{actions}}
{{actions}}

Latest revision as of 23:54, 27 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) (or is it Disappeared?)
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 play SOUND_MARIO_DYING
  • Mario's animation becomes MARIO_ANIM_A_POSE
  • Remove the GRAPH_RENDER_ACTIVE flag (from m->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)

References