From d297577d8b90502af178bdb354ae20e6bce8b02a Mon Sep 17 00:00:00 2001 From: Antonio Martinez Date: Mon, 12 May 2025 19:07:55 -0400 Subject: [PATCH] WIP: Move Bail activation FX to correct spot, buff boost, remove broly --- src/deh_tables.c | 4 ++-- src/info.c | 6 +++--- src/info.h | 4 ++-- src/k_kart.c | 10 +++++----- src/k_kart.h | 2 +- src/k_objects.h | 2 +- src/objects/bail.c | 4 ++-- src/p_mobj.c | 4 ++-- 8 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/deh_tables.c b/src/deh_tables.c index 3d5f1ac8e..ea7767c0f 100644 --- a/src/deh_tables.c +++ b/src/deh_tables.c @@ -1574,7 +1574,7 @@ const char *const STATE_LIST[] = { // array length left dynamic for sanity testi "S_BLOCKRING", "S_BLOCKBODY", - "S_BAILCHARGE", + "S_BAIL", "S_TECHCHARGE", "S_AMPRING", @@ -3567,7 +3567,7 @@ const char *const MOBJTYPE_LIST[] = { // array length left dynamic for sanity t "MT_BLOCKRING", "MT_BLOCKBODY", - "MT_BAILCHARGE", + "MT_BAIL", "MT_AMPRING", "MT_AMPBODY", diff --git a/src/info.c b/src/info.c index 7c79fdeae..1a5de2115 100644 --- a/src/info.c +++ b/src/info.c @@ -2163,7 +2163,7 @@ state_t states[NUMSTATES] = {SPR_GRNG, FF_FULLBRIGHT|FF_PAPERSPRITE|0, -1, {NULL}, 0, 0, S_NULL}, // S_BLOCKRING {SPR_GBDY, FF_FULLBRIGHT|FF_ANIMATE|0, -1, {NULL}, 4, 2, S_NULL}, // S_BLOCKBODY - {SPR_BAIL, FF_FULLBRIGHT|FF_ANIMATE|0, -1, {NULL}, 8, 1, S_NULL}, // S_BAILCHARGE + {SPR_BAIL, FF_FULLBRIGHT|FF_ANIMATE|0, -1, {NULL}, 8, 1, S_NULL}, // S_BAIL {SPR_TECH, FF_FULLBRIGHT|FF_ANIMATE|0, -1, {NULL}, 41, 1, S_NULL}, // S_TECHCHARGE {SPR_AMPB, FF_FULLBRIGHT|FF_PAPERSPRITE|0, -1, {NULL}, 0, 0, S_NULL}, // S_AMPRING @@ -13751,9 +13751,9 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = S_NULL // raisestate }, - { // MT_BAILCHARGE + { // MT_BAIL -1, // doomednum - S_BAILCHARGE, // spawnstate + S_BAIL, // spawnstate 1000, // spawnhealth S_NULL, // seestate sfx_None, // seesound diff --git a/src/info.h b/src/info.h index 6da6a81a3..e127e4361 100644 --- a/src/info.h +++ b/src/info.h @@ -2632,7 +2632,7 @@ typedef enum state S_BLOCKRING, S_BLOCKBODY, - S_BAILCHARGE, + S_BAIL, S_TECHCHARGE, S_AMPRING, @@ -4652,7 +4652,7 @@ typedef enum mobj_type MT_BLOCKRING, MT_BLOCKBODY, - MT_BAILCHARGE, + MT_BAIL, MT_AMPRING, MT_AMPBODY, diff --git a/src/k_kart.c b/src/k_kart.c index 618d731cd..7bea99b9b 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -13926,8 +13926,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground) player->bailcharge++; if (player->bailcharge == 1) { - mobj_t * bail = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z + player->mo->height/2, MT_BAILCHARGE); - P_SetTarget(&bail->target, player->mo); + // Hi Ashnal } } else @@ -13935,12 +13934,15 @@ void K_MoveKartPlayer(player_t *player, boolean onground) player->bailcharge = 0; } - if ((!P_PlayerInPain(player) && player->bailcharge >= BAIL_MAXCHARGE) || player->bailcharge >= BAIL_PAINMAXCHARGE) + if ((!P_PlayerInPain(player) && player->bailcharge >= BAIL_MAXCHARGE) || player->bailcharge) { CONS_Printf("rl %d it %d ia %d ri %d sr %d pr %d\n", player->itemRoulette.active, player->itemtype, player->itemamount, player->rings > 0, player->superring > 0, player->pickuprings > 0); player->bailcharge = 0; + mobj_t * bail = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z + player->mo->height/2, MT_BAIL); + P_SetTarget(&bail->target, player->mo); + UINT32 debtrings = 20; if (player->rings < 0) { @@ -13989,8 +13991,6 @@ void K_MoveKartPlayer(player_t *player, boolean onground) player->baildrop = baildrop * BAIL_DROPFREQUENCY + 1; K_AddHitLag(player->mo, TICRATE/4, false); - mobj_t *broly = Obj_SpawnBrolyKi(player->mo, player->mo->hitlag); - broly->extravalue2 = 16*mapobjectscale; if (P_PlayerInPain(player)) { diff --git a/src/k_kart.h b/src/k_kart.h index be85d7ff1..f7227e1df 100644 --- a/src/k_kart.h +++ b/src/k_kart.h @@ -47,7 +47,7 @@ Make sure this matches the actual number of states #define BAIL_MAXCHARGE (9) // tics to bail when not in painstate #define BAIL_PAINMAXCHARGE (42) // tics to bail when in painstate #define BAIL_DROP (FRACUNIT/2) -#define BAIL_BOOST (FRACUNIT/3) +#define BAIL_BOOST (FRACUNIT) #define BAIL_DROPFREQUENCY (3) #define MAXCOMBOTHRUST (mapobjectscale*20) diff --git a/src/k_objects.h b/src/k_objects.h index c7cfb2e3d..e6a0bcc77 100644 --- a/src/k_objects.h +++ b/src/k_objects.h @@ -154,7 +154,7 @@ void Obj_ChargeReleaseThink(mobj_t *release); void Obj_ChargeExtraThink(mobj_t *extra); /* Bail VFX */ -void Obj_BailChargeThink(mobj_t *aura); +void Obj_BailThink(mobj_t *aura); /* Ring Shooter */ boolean Obj_RingShooterThinker(mobj_t *mo); diff --git a/src/objects/bail.c b/src/objects/bail.c index 4846af5c4..52221b28c 100644 --- a/src/objects/bail.c +++ b/src/objects/bail.c @@ -17,13 +17,13 @@ #include "../k_kart.h" #include "../p_local.h" -void Obj_BailChargeThink (mobj_t *aura) +void Obj_BailThink (mobj_t *aura) { if (P_MobjWasRemoved(aura->target) || aura->target->health == 0 || aura->target->destscale <= 1 // sealed star fall out || !aura->target->player - || !aura->target->player->bailcharge) + || !aura->target->hitlag) { P_RemoveMobj(aura); } diff --git a/src/p_mobj.c b/src/p_mobj.c index 784e9ca0a..b8fb5ad8f 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -8923,9 +8923,9 @@ static boolean P_MobjRegularThink(mobj_t *mobj) Obj_BlockBodyThink(mobj); break; } - case MT_BAILCHARGE: + case MT_BAIL: { - Obj_BailChargeThink(mobj); + Obj_BailThink(mobj); break; } case MT_AMPRING: