proceed further into dochat() when deaf
This commit is contained in:
@@ -677,6 +677,7 @@ handle flipped level when fixing up the baalz level "eyes" too
|
||||
prevent normal monster activity from picking up the mines' luckstone or the
|
||||
Sokoban amulet/bag before hero has done so; relying on scare monster
|
||||
and/or engraved Elbereth wasn't sufficient to guard the Sokoban prize
|
||||
proceed a little further into dochat() if hero is deaf
|
||||
|
||||
|
||||
Fixes to 3.7.0-x Problems that Were Exposed Via git Repository
|
||||
|
||||
21
src/sounds.c
21
src/sounds.c
@@ -1086,12 +1086,7 @@ dochat(void)
|
||||
Your("speech is unintelligible underwater.");
|
||||
return 0;
|
||||
}
|
||||
if (Deaf) {
|
||||
pline("How can you hold a conversation when you cannot hear?");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!Blind && (otmp = shop_object(u.ux, u.uy)) != (struct obj *) 0) {
|
||||
if (!Deaf && !Blind && (otmp = shop_object(u.ux, u.uy)) != (struct obj *) 0) {
|
||||
/* standing on something in a shop and chatting causes the shopkeeper
|
||||
to describe the price(s). This can inhibit other chatting inside
|
||||
a shop, but that shouldn't matter much. shop_object() returns an
|
||||
@@ -1153,7 +1148,7 @@ dochat(void)
|
||||
Hallucination ? rndmonnam((char *) 0) : "statue");
|
||||
return 0;
|
||||
}
|
||||
if (IS_WALL(levl[tx][ty].typ) || levl[tx][ty].typ == SDOOR) {
|
||||
if (!Deaf && (IS_WALL(levl[tx][ty].typ) || levl[tx][ty].typ == SDOOR)) {
|
||||
/* Talking to a wall; secret door remains hidden by behaving
|
||||
like a wall; IS_WALL() test excludes solid rock even when
|
||||
that serves as a wall bordering a corridor */
|
||||
@@ -1201,13 +1196,23 @@ dochat(void)
|
||||
/* if this monster is waiting for something, prod it into action */
|
||||
mtmp->mstrategy &= ~STRAT_WAITMASK;
|
||||
|
||||
if (mtmp->mtame && mtmp->meating) {
|
||||
if (!Deaf && mtmp->mtame && mtmp->meating) {
|
||||
if (!canspotmon(mtmp))
|
||||
map_invisible(mtmp->mx, mtmp->my);
|
||||
pline("%s is eating noisily.", Monnam(mtmp));
|
||||
return 0;
|
||||
}
|
||||
if (Deaf) {
|
||||
const char *xresponse = humanoid(g.youmonst.data)
|
||||
? "falls on deaf ears"
|
||||
: "is inaudible";
|
||||
|
||||
pline("Any response%s%s %s.",
|
||||
canspotmon(mtmp) ? " from " : "",
|
||||
canspotmon(mtmp) ? mon_nam(mtmp) : "",
|
||||
xresponse);
|
||||
return 0;
|
||||
}
|
||||
return domonnoise(mtmp);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user