Blaster polish

* Use leveltime instead of leniency for flicker, which makes it work as intended
* Make the threshold for tripwire BLASTER 200% (from 180%)
* Always colorize boost/BLASTER when you have a Flame Shield
* Hide boost/BLASTER if you're using flamedash specifically
This commit is contained in:
toaster 2022-08-30 19:29:12 +01:00
parent 97fab1ab20
commit 6b8d729b2c

View file

@ -7192,14 +7192,15 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
trans = NUMTRANSMAPS - trans; trans = NUMTRANSMAPS - trans;
if ((trans >= NUMTRANSMAPS) // not a valid visibility if ((trans >= NUMTRANSMAPS) // not a valid visibility
|| (convSpeed < 150 && !(mobj->target->player->tripwireLeniency & 1)) // < 150% flickering || (convSpeed < 150 && (leveltime & 1)) // < 150% flickering
|| (triplevel < TRIPWIRE_BOOST)) // Not strong enough to make an aura || (triplevel < TRIPWIRE_BOOST) // Not strong enough to make an aura
|| mobj->target->player->flamedash) // Flameshield dash
{ {
mobj->renderflags |= RF_DONTDRAW; mobj->renderflags |= RF_DONTDRAW;
} }
else else
{ {
boolean blastermode = (convSpeed >= 180) && (triplevel >= TRIPWIRE_BLASTER); boolean blastermode = (convSpeed >= 200) && (triplevel >= TRIPWIRE_BLASTER);
mobj->renderflags &= ~(RF_TRANSMASK|RF_DONTDRAW); mobj->renderflags &= ~(RF_TRANSMASK|RF_DONTDRAW);
if (trans != 0) if (trans != 0)
@ -7220,7 +7221,7 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
} }
mobj->colorized = true; mobj->colorized = true;
} }
else if (mobj->target->player->curshield == KSHIELD_FLAME && mobj->target->player->flamedash > 0) else if (mobj->target->player->curshield == KSHIELD_FLAME)
{ {
mobj->color = SKINCOLOR_KETCHUP; mobj->color = SKINCOLOR_KETCHUP;
mobj->colorized = true; mobj->colorized = true;