diff --git a/src/p_spec.c b/src/p_spec.c index 48079b9e5..f712f4b23 100644 --- a/src/p_spec.c +++ b/src/p_spec.c @@ -3917,20 +3917,15 @@ static void P_ProcessLineSpecial(line_t *line, mobj_t *mo, sector_t *callsec) } } case 460: // Award rings - { - INT16 rings = (sides[line->sidenum[0]].textureoffset>>FRACBITS); - INT16 delay = (sides[line->sidenum[0]].rowoffset>>FRACBITS); - if (mo && mo->player) { - if (delay > 0) + INT16 rings = (sides[line->sidenum[0]].textureoffset>>FRACBITS); + tic_t delay = (sides[line->sidenum[0]].rowoffset>>FRACBITS); + if (mo && mo->player) { - if (!(leveltime % (delay*TICRATE))) + if (delay <= 0 || !(leveltime % (delay))) P_GivePlayerRings(mo->player, rings); } - else - P_GivePlayerRings(mo->player, rings); } - } break; #ifdef POLYOBJECTS