WIP: Move Bail activation FX to correct spot, buff boost, remove broly

This commit is contained in:
Antonio Martinez 2025-05-12 19:07:55 -04:00 committed by Ashnal
parent 6cc9de5efd
commit d297577d8b
8 changed files with 18 additions and 18 deletions

View file

@ -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",

View file

@ -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

View file

@ -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,

View file

@ -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))
{

View file

@ -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)

View file

@ -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);

View file

@ -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);
}

View file

@ -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: