WANTED player or Lightning Shield attracts emeralds

This commit is contained in:
James R 2023-06-30 04:20:48 -07:00 committed by VelocitOni
parent 4874c90f8d
commit a98db957e6
3 changed files with 6 additions and 4 deletions

View file

@ -7564,7 +7564,7 @@ static inline BlockItReturn_t PIT_AttractingRings(mobj_t *thing)
return BMIT_CONTINUE; // invalid return BMIT_CONTINUE; // invalid
} }
if (!(thing->type == MT_RING || thing->type == MT_FLINGRING)) if (!(thing->type == MT_RING || thing->type == MT_FLINGRING || thing->type == MT_EMERALD))
{ {
return BMIT_CONTINUE; // not a ring return BMIT_CONTINUE; // not a ring
} }
@ -7574,7 +7574,7 @@ static inline BlockItReturn_t PIT_AttractingRings(mobj_t *thing)
return BMIT_CONTINUE; // dead return BMIT_CONTINUE; // dead
} }
if (thing->extravalue1) if (thing->extravalue1 && thing->type != MT_EMERALD)
{ {
return BMIT_CONTINUE; // in special ring animation return BMIT_CONTINUE; // in special ring animation
} }
@ -8577,7 +8577,7 @@ void K_KartPlayerAfterThink(player_t *player)
player->jawztargetdelay = 0; player->jawztargetdelay = 0;
} }
if (player->itemtype == KITEM_LIGHTNINGSHIELD) if (player->itemtype == KITEM_LIGHTNINGSHIELD || ((gametyperules & GTR_POWERSTONES) && K_IsPlayerWanted(player)))
{ {
K_LookForRings(player->mo); K_LookForRings(player->mo);
} }

View file

@ -3800,7 +3800,7 @@ void A_AttractChase(mobj_t *actor)
if (actor->flags2 & MF2_NIGHTSPULL || !actor->health) if (actor->flags2 & MF2_NIGHTSPULL || !actor->health)
return; return;
if (actor->extravalue1) // SRB2Kart if (actor->extravalue1 && actor->type != MT_EMERALD) // SRB2Kart
{ {
if (!actor->target || P_MobjWasRemoved(actor->target) || !actor->target->player) if (!actor->target || P_MobjWasRemoved(actor->target) || !actor->target->player)
{ {

View file

@ -7538,6 +7538,8 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
{ {
if (mobj->threshold > 0) if (mobj->threshold > 0)
mobj->threshold--; mobj->threshold--;
A_AttractChase(mobj);
} }
/*FALLTHRU*/ /*FALLTHRU*/
case MT_MONITOR: case MT_MONITOR: