tung / DynaHack

A NetHack variant with randomized equipment, new items, new monsters, new maps, new challenges and an advanced ASCII interface.
https://tung.github.io/DynaHack/
48 stars 4 forks source link

Poor wording when drawbridge-blocking monster is sensed but not seen #10

Closed tung closed 12 years ago

tung commented 12 years ago

If a huge monster blocks drawbridge closing (e.g. with the passtune) and the hero is blind but can sense the monster (e.g. blessed potion of monster detection), the message reads "Something blocks the drawbridge with its weight!" instead of " blocks the drawbridge with his/her/its weight!"

In close_drawbridge() in src/dbridge.c:

/* A huge monster will block the drawbridge. */
if ((m = m_at(level, x, y)) && hugemonst(m->data)) {
    pline("%s blocks the drawbridge with %s weight!",
    canseemon(m) ? Amonnam(m) : "Something",
    canseemon(m) ? mhis(m) : "its");
    return FALSE;
}

I added this code myself, so this message bug doesn't exist in UnNetHack. The problem is probably the use of canseemon() instead of something more appropriate.

This bug exists in CS115: Huge monsters stop drawbridges from closing (2d6201caaa).

tung commented 12 years ago

I just realized that you don't get "moves reluctantly" messages when you see your pet move onto a space with a cursed item, so by extension, you shouldn't get the "blocks the drawbridge" message at all unless you can see what's happening.

This could be enhanced with audible messages like "You hear the grinding of gears" when the drawbridge is blocked while not being able to directly see it.

tung commented 12 years ago

Closing for now: this bug isn't important enough to justify the time spent to find out how this should work, compared to other things that still need to be done. I may revisit this, but not in the near future.