diff --git a/src/p_spec.c b/src/p_spec.c index 5229f5fc7..22f85b4ca 100644 --- a/src/p_spec.c +++ b/src/p_spec.c @@ -3165,21 +3165,21 @@ boolean P_ProcessSpecial(activator_t *activator, INT16 special, INT32 *args, cha case 425: // Calls P_SetMobjState on calling mobj { mobj_t *targetThing = NULL; + statenum_t state = stringargs[0] ? get_number(stringargs[0]) : S_NULL; + + if (state < 0 || state >= NUMSTATES) + { + return false; + } while ((targetThing = P_FindMobjFromTID(args[1], targetThing, mo)) != NULL) { - statenum_t state = S_NULL; - if (targetThing->player != NULL) { continue; } - state = stringargs[0] ? get_number(stringargs[0]) : S_NULL; - if (state >= 0 && state < NUMSTATES) - { - P_SetMobjState(targetThing, state); - } + P_SetMobjState(targetThing, state); } } break;