Fix chain chomp and Eyerok cutscenes

This commit is contained in:
Agent X 2024-11-29 12:40:39 -05:00
parent 4bd519f312
commit 849b5ead50
3 changed files with 7 additions and 5 deletions

View file

@ -252,7 +252,7 @@ static void chain_chomp_sub_act_lunge(void) {
}
static u8 chain_chomp_released_trigger_cutscene_continue_dialog(void) {
return (o->oChainChompReleaseStatus != CHAIN_CHOMP_RELEASED_END_CUTSCENE);
return o->oChainChompReleaseStatus != CHAIN_CHOMP_RELEASED_END_CUTSCENE;
}
/**
@ -267,7 +267,7 @@ static void chain_chomp_released_trigger_cutscene(void) {
// hack: get the nearest wooden post, this will work properly 99% of the time
struct Object* woodenPost = cur_obj_nearest_object_with_behavior(bhvWoodenPost);
struct MarioState* marioState = nearest_mario_state_to_object(woodenPost);
if (&gMarioStates[0] == marioState) {
if (&gMarioStates[0] == marioState && dynos_level_is_vanilla_level(gCurrLevelNum)) {
if (set_mario_npc_dialog(&gMarioStates[0], 2, chain_chomp_released_trigger_cutscene_continue_dialog) == 2
&& (o->oMoveFlags & OBJ_MOVE_MASK_ON_GROUND) && cutscene_object(CUTSCENE_STAR_SPAWN, o) == 1) {
o->oChainChompReleaseStatus = CHAIN_CHOMP_RELEASED_LUNGE_AROUND;

View file

@ -123,11 +123,13 @@ static u8 eyerok_boss_act_show_intro_text_continue_dialog(void) {
}
static void eyerok_boss_act_show_intro_text(void) {
struct MarioState* marioState = nearest_mario_state_to_object(o);
// todo: get dialog working properly again
/*struct MarioState* marioState = nearest_mario_state_to_object(o);
if (should_start_or_continue_dialog(marioState, o) && cur_obj_update_dialog_with_cutscene(&gMarioStates[0], 2, 0, CUTSCENE_DIALOG, gBehaviorValues.dialogs.EyerokIntroDialog, eyerok_boss_act_show_intro_text_continue_dialog)) {
o->oAction = EYEROK_BOSS_ACT_FIGHT;
network_send_object_reliability(o, TRUE);
}
}*/
o->oAction = EYEROK_BOSS_ACT_FIGHT;
}
static void eyerok_boss_act_fight(void) {

View file

@ -669,7 +669,7 @@ u32 determine_knockback_action(struct MarioState *m, UNUSED s32 arg) {
if (m->interactObj != NULL && (m->interactObj->oInteractType & INTERACT_PLAYER) && terrainIndex != 2) {
f32 scaler = 1;
s8 hasBeenPunched = FALSE;
#define IF_REVAMPED_PVP(Is, IsNot) gServerSettings.pvpType == PLAYER_PVP_REVAMPED ? (Is) : (IsNot);
#define IF_REVAMPED_PVP(is, isNot) gServerSettings.pvpType == PLAYER_PVP_REVAMPED ? (is) : (isNot);
for (s32 i = 0; i < MAX_PLAYERS; i++) {
struct MarioState* m2 = &gMarioStates[i];
if (!is_player_active(m2)) { continue; }