Add a ring debt indicator for other players

This commit is contained in:
TehRealSalt 2019-04-09 14:13:34 -04:00
parent 25dd4b7b44
commit f67e2b5ce1
4 changed files with 24 additions and 1 deletions

View file

@ -7164,6 +7164,9 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
"S_OPAQUESMOKE4", "S_OPAQUESMOKE4",
"S_OPAQUESMOKE5", "S_OPAQUESMOKE5",
"S_RINGDEBT1",
"S_RINGDEBT2",
#ifdef SEENAMES #ifdef SEENAMES
"S_NAMECHECK", "S_NAMECHECK",
#endif #endif

View file

@ -69,7 +69,7 @@ char sprnames[NUMSPRITES + 1][5] =
"CNDL","DOCH","DUCK","GTRE","CHES","CHIM","DRGN","LZMN","PGSS","ZTCH", "CNDL","DOCH","DUCK","GTRE","CHES","CHIM","DRGN","LZMN","PGSS","ZTCH",
"MKMA","MKMP","RTCH","BOWL","BOWH","BRRL","BRRR","HRSE","TOAH","BFRT", "MKMA","MKMP","RTCH","BOWL","BOWH","BRRL","BRRR","HRSE","TOAH","BFRT",
"OFRT","RFRT","PFRT","ASPK","HBST","HBSO","HBSF","WBLZ","WBLN","FWRK", "OFRT","RFRT","PFRT","ASPK","HBST","HBSO","HBSF","WBLZ","WBLN","FWRK",
"XMS4","XMS5","VIEW" "MXCL","XMS4","XMS5","VIEW"
}; };
// Doesn't work with g++, needs actionf_p1 (don't modify this comment) // Doesn't work with g++, needs actionf_p1 (don't modify this comment)
@ -3413,6 +3413,9 @@ state_t states[NUMSTATES] =
{SPR_SMOK, 3, 7, {NULL}, 0, 0, S_OPAQUESMOKE5}, // S_OPAQUESMOKE4 {SPR_SMOK, 3, 7, {NULL}, 0, 0, S_OPAQUESMOKE5}, // S_OPAQUESMOKE4
{SPR_SMOK, 4, 8, {NULL}, 0, 0, S_NULL}, // S_OPAQUESMOKE5 {SPR_SMOK, 4, 8, {NULL}, 0, 0, S_NULL}, // S_OPAQUESMOKE5
{SPR_MXCL, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_RINGDEBT1
{SPR_MXCL, FF_FULLBRIGHT|1, -1, {NULL}, 0, 0, S_NULL}, // S_RINGDEBT2
#ifdef SEENAMES #ifdef SEENAMES
{SPR_NULL, 0, 1, {NULL}, 0, 0, S_NULL}, // S_NAMECHECK {SPR_NULL, 0, 1, {NULL}, 0, 0, S_NULL}, // S_NAMECHECK
#endif #endif

View file

@ -775,6 +775,7 @@ typedef enum sprite
SPR_WBLN, SPR_WBLN,
SPR_FWRK, SPR_FWRK,
SPR_MXCL,
// Xmas-specific sprites that don't fit aboxe // Xmas-specific sprites that don't fit aboxe
SPR_XMS4, SPR_XMS4,
@ -4070,6 +4071,9 @@ typedef enum state
S_OPAQUESMOKE4, S_OPAQUESMOKE4,
S_OPAQUESMOKE5, S_OPAQUESMOKE5,
S_RINGDEBT1,
S_RINGDEBT2,
#ifdef SEENAMES #ifdef SEENAMES
S_NAMECHECK, S_NAMECHECK,
#endif #endif

View file

@ -4930,6 +4930,19 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd)
player->mo->colorized = false; player->mo->colorized = false;
} }
if (G_RaceGametype() && player->kartstuff[k_rings] <= 0) // spawn ring debt indicator
{
mobj_t *debtflag = P_SpawnMobj(player->mo->x + player->mo->momx, player->mo->y + player->mo->momy,
player->mo->z + player->mo->momz + player->mo->height + (24*player->mo->scale), MT_THOK);
P_SetMobjState(debtflag, ((leveltime/5 & 1) ? S_RINGDEBT2 : S_RINGDEBT1));
P_SetScale(debtflag, (debtflag->destscale = player->mo->scale));
K_MatchGenericExtraFlags(debtflag, player->mo);
debtflag->color = player->skincolor;
debtflag->fuse = 2;
if (P_IsLocalPlayer(player))
debtflag->flags2 |= MF2_DONTDRAW;
}
if (player->kartstuff[k_dashpadcooldown]) // Twinkle Circuit inspired afterimages if (player->kartstuff[k_dashpadcooldown]) // Twinkle Circuit inspired afterimages
{ {
mobj_t *ghost; mobj_t *ghost;