Don't push unknown boulders when moving

If you're blind and there's a boulder you don't know about,
don't automatically push it. Instead, give a message and show
the boulder on the map.
This commit is contained in:
Pasi Kallinen
2022-02-05 11:30:35 +02:00
parent 8eb00cf593
commit 20054551f9
2 changed files with 9 additions and 0 deletions
+1
View File
@@ -766,6 +766,7 @@ stinking gas clouds block line-of-sight
covetous monsters will teleport to downstairs or upstairs to heal covetous monsters will teleport to downstairs or upstairs to heal
have fake player monsters use verbalize instead of pline when reacting to chat have fake player monsters use verbalize instead of pline when reacting to chat
fix mention_walls distinguishing unseen walls from solid stone fix mention_walls distinguishing unseen walls from solid stone
don't push unknown boulders when moving
Fixes to 3.7.0-x Problems that Were Exposed Via git Repository Fixes to 3.7.0-x Problems that Were Exposed Via git Repository
+8
View File
@@ -133,6 +133,14 @@ moverock(void)
sx = u.ux + u.dx, sy = u.uy + u.dy; /* boulder starting position */ sx = u.ux + u.dx, sy = u.uy + u.dy; /* boulder starting position */
while ((otmp = sobj_at(BOULDER, sx, sy)) != 0) { while ((otmp = sobj_at(BOULDER, sx, sy)) != 0) {
if (Blind && glyph_to_obj(glyph_at(sx, sy)) != BOULDER) {
pline("That feels like a boulder.");
map_object(otmp, TRUE);
nomul(0);
return -1;
}
/* when otmp->next_boulder is 1, xname() will format it as /* when otmp->next_boulder is 1, xname() will format it as
"next boulder" instead of just "boulder"; affects "next boulder" instead of just "boulder"; affects
boulder_hits_pool()'s messages as well as messages below */ boulder_hits_pool()'s messages as well as messages below */