Merge branch 'harder-spb-attack' into 'master'

Use more realistic practice conditions for SPB Attack

See merge request KartKrew/Kart!1628
This commit is contained in:
Oni 2023-11-16 00:32:09 +00:00
commit 4c500748fb
2 changed files with 7 additions and 3 deletions

View file

@ -192,7 +192,7 @@ static kartitems_t K_KartItemReelTimeAttack[] =
static kartitems_t K_KartItemReelSPBAttack[] =
{
KITEM_GACHABOM,
KITEM_DROPTARGET,
KITEM_SUPERRING,
KITEM_NONE
};
@ -1242,7 +1242,7 @@ static void K_CalculateRouletteSpeed(itemroulette_t *const roulette)
return;
}
if (K_TimeAttackRules() == true)
if (K_TimeAttackRules() == true && !(modeattacking & ATTACKING_SPB))
{
// Time Attack rules; use a consistent speed.
roulette->tics = roulette->speed = ROULETTE_SPEED_TIMEATTACK;

View file

@ -121,10 +121,14 @@ void Obj_RandomItemVisuals(mobj_t *mobj)
//
// Then extraval1 starts ticking up and triggers the transformation from Ringbox to Random Item.
if (mobj->fuse == 0 && !(mobj->flags & MF_NOCLIPTHING) && !(mobj->flags2 & MF2_BOSSDEAD) && !cv_thunderdome.value
&& (modeattacking == 0 || specialstageinfo.valid)) // Time Attacking in Special is a fucked-looking exception
&& (modeattacking == ATTACKING_NONE || !!(modeattacking & ATTACKING_SPB) || specialstageinfo.valid)) // Time Attacking in Special is a fucked-looking exception
{
mobj->extravalue1++;
// Dumb, but in Attack starts (or POSITION from hell) you can reach early boxes before they transform.
if (leveltime == 0)
mobj->extravalue1 = RINGBOX_TIME;
// Don't transform stuff that isn't a Ring Box, idiot
statenum_t boxstate = mobj->state - states;
if (boxstate < S_RINGBOX1 || boxstate > S_RINGBOX12)