alignment of Angels was handled inconsistently
pets capable of digging could pass through walls and stone on the Rogue level
avoid inappropriate "the corridor disappears" when vault guard gets killed
+avoid inappropriate "the guard calms down" if vault guard's magic corridor
+ reaches a spot where gold is embedded in the rock
adjust message for gas effect from chest trap if hero resists hallucination
long umoney = money_cnt(invent);
register boolean u_carry_gold = ((umoney + hidden_gold()) > 0L);
#endif
- boolean see_guard;
+ boolean see_guard, newspot = FALSE;
if(!on_level(&(egrd->gdlevel), &u.uz)) return(-1);
nx = ny = m = n = 0;
}
crm->typ = CORR;
proceed:
+ newspot = TRUE;
unblock_point(nx, ny); /* doesn't block light */
if (cansee(nx,ny))
newsym(nx,ny);
egrd->ogy = grd->my;
remove_monster(grd->mx, grd->my);
place_monster(grd, nx, ny);
- newsym(grd->mx,grd->my);
+ if (newspot && g_at(nx, ny)) {
+ /* if there's gold already here (most likely from mineralize()),
+ pick it up now so that guard doesn't later think hero dropped
+ it and give an inappropriate message */
+ mpickgold(grd);
+ if (canspotmon(grd)) pline("%s picks up some gold.", Monnam(grd));
+ } else
+ newsym(grd->mx, grd->my);
restfakecorr(grd);
return(1);
}