diff --git a/src/p_setup.c b/src/p_setup.c index ea406559c..3e25096fa 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -5356,6 +5356,7 @@ static void P_ConvertBinaryLinedefTypes(void) case 460: //Award rings lines[i].args[0] = sides[lines[i].sidenum[0]].textureoffset >> FRACBITS; lines[i].args[1] = sides[lines[i].sidenum[0]].rowoffset >> FRACBITS; + lines[i].args[2] = !!(lines[i].flags & ML_NOCLIMB); break; case 461: //Spawn object lines[i].args[0] = sides[lines[i].sidenum[0]].textureoffset >> FRACBITS; diff --git a/src/p_spec.c b/src/p_spec.c index 0b7eada6b..0a80d15f6 100644 --- a/src/p_spec.c +++ b/src/p_spec.c @@ -3475,9 +3475,8 @@ static void P_ProcessLineSpecial(line_t *line, mobj_t *mo, sector_t *callsec) if (delay <= 0 || !(leveltime % delay)) { - // No Climb: don't cap rings to 20 - K_AwardPlayerRings(mo->player, rings, - (line->flags & ML_NOCLIMB) == ML_NOCLIMB); + // args[2]: don't cap rings to 20 + K_AwardPlayerRings(mo->player, rings, line->args[2]); } } }