Flame Shield SFX, flame/lightning rescale

This commit is contained in:
AJ Martinez 2023-11-04 20:43:27 -07:00
parent 6e6c0cd71f
commit 961372540a
4 changed files with 43 additions and 5 deletions

View file

@ -8185,7 +8185,14 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd)
player->trickboost--;
if (player->flamedash)
{
player->flamedash--;
if (player->flamedash == 0)
S_StopSoundByID(player->mo, sfx_fshld1);
else if (player->flamedash == 3 && player->curshield == KSHIELD_FLAME) // "Why 3?" We can't blend sounds so this is the best shit I've got
S_StartSoundAtVolume(player->mo, sfx_fshld3, 255/3);
}
if (player->sneakertimer && player->wipeoutslow > 0 && player->wipeoutslow < wipeoutslowtime+1)
player->wipeoutslow = wipeoutslowtime+1;
@ -11759,10 +11766,14 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
if (player->flamedash == 0)
{
S_StartSound(player->mo, sfx_s3k43);
//S_StartSound(player->mo, sfx_s3k43);
K_PlayBoostTaunt(player->mo);
S_StartSoundAtVolume(player->mo, sfx_fshld0, 255/3);
S_StartSoundAtVolume(player->mo, sfx_fshld1, 255/3);
}
S_StopSoundByID(player->mo, sfx_fshld3);
player->flamedash += incr;
if (!onground)
@ -11781,6 +11792,10 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
FixedMul((50*player->mo->scale), K_GetKartGameSpeedScalar(gamespeed))
);
S_StopSoundByID(player->mo, sfx_fshld1);
S_StopSoundByID(player->mo, sfx_fshld0);
S_StartSoundAtVolume(player->mo, sfx_fshld2, 255/3);
player->flamemeter = 0;
player->flamelength = 0;
player->pflags &= ~PF_HOLDREADY;
@ -11794,7 +11809,12 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
if (!(gametyperules & GTR_CLOSERPLAYERS) || leveltime % 6 == 0)
{
if (player->flamemeter > 0)
{
player->flamemeter--;
if (!player->flamemeter)
S_StopSoundByID(player->mo, sfx_fshld3);
}
}
if (player->flamelength > destlen)

View file

@ -7912,9 +7912,15 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
newScale = FixedMul(newScale, FixedDiv(newHeight / 2, mobj->target->height));
}
if (mobj->target->player->curshield == KSHIELD_FLAME)
{
newScale = 8 * newScale / 5;
}
mobj->angle = K_MomentumAngle(mobj->target);
P_MoveOrigin(mobj, mobj->target->x, mobj->target->y, mobj->target->z + (newHeight / 2));
mobj->destscale = newScale;
P_SetScale(mobj, newScale);
if (mobj->extravalue1)
@ -8397,9 +8403,9 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
P_RemoveMobj(mobj);
return false;
}
P_SetScale(mobj, (mobj->destscale = (5*mobj->target->scale)>>2));
P_SetScale(mobj, (mobj->destscale = (7*mobj->target->scale)>>2));
P_MoveOrigin(mobj, mobj->target->x, mobj->target->y, mobj->target->z);
P_MoveOrigin(mobj, mobj->target->x, mobj->target->y, mobj->target->z + mobj->target->height/2);
break;
}
case MT_BUBBLESHIELD:
@ -8526,7 +8532,7 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
flamemax = mobj->target->player->flamelength;
P_SetScale(mobj, (mobj->destscale = (5*mobj->target->scale)>>2));
P_SetScale(mobj, (mobj->destscale = (8*mobj->target->scale)>>2));
curstate = ((mobj->tics == 1) ? (mobj->state->nextstate) : ((statenum_t)(mobj->state-states)));
@ -8595,7 +8601,7 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
}
}
P_MoveOrigin(mobj, mobj->target->x, mobj->target->y, mobj->target->z);
P_MoveOrigin(mobj, mobj->target->x, mobj->target->y, mobj->target->z + mobj->target->height/2);
mobj->angle = K_MomentumAngle(mobj->target);
if (underlayst != S_NULL)

View file

@ -1113,6 +1113,12 @@ sfxinfo_t S_sfx[NUMSFX] =
{"slot04", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, "Seven"},
{"slot05", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, "JACKPOT!"},
// RR - Flame Shield
{"fshld0", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, "Flame Shield activate"},
{"fshld1", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, "Flame Shield hold"},
{"fshld2", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, "Flame Shield burst"},
{"fshld3", false, 64, 0, -1, NULL, 0, -1, -1, LUMPERROR, "Flame Shield cooldown"},
// RR - Ballhog Charge
{"bhog00", false, 64, 64, -1, NULL, 0, -1, -1, LUMPERROR, "Ballhog charging"},
{"bhog01", false, 64, 64, -1, NULL, 0, -1, -1, LUMPERROR, "Ballhog charging"},

View file

@ -1181,6 +1181,12 @@ typedef enum
sfx_slot04,
sfx_slot05,
// RR - Flame Shield
sfx_fshld0,
sfx_fshld1,
sfx_fshld2,
sfx_fshld3,
// RR - Ballhog Charge
sfx_bhog00,
sfx_bhog01,