In launch_obj, the code first got the trap, then called ohitmon
(which can delete the trap by doing mondied -> fill_pit ->
flooreffects -> deltrap), then after that used the trap variable.
fix temple priests or shopkeepers moving over other monsters
fix hero still hiding under a statue shattered by a land mine
fix helping a monster out of a pit addressing a deleted trap
+fix launched rolling boulder code accessing deleted trap
Fixes to Post-3.6.2 Problems that Were Exposed Via git Repository
bhitpos.x += dx;
bhitpos.y += dy;
- t = t_at(bhitpos.x, bhitpos.y);
if ((mtmp = m_at(bhitpos.x, bhitpos.y)) != 0) {
if (otyp == BOULDER && throws_rocks(mtmp->data)) {
break;
}
}
- if (t && otyp == BOULDER) {
+ if ((t = t_at(bhitpos.x, bhitpos.y)) != 0 && otyp == BOULDER) {
switch (t->ttyp) {
case LANDMINE:
if (rn2(10) > 2) {