could drop the hero onto a trap that transports him/her elsewhere;
seduction was proceeding as if nothing unusual had happened
#turn command which aggravated monsters did so without using a turn (not a pun)
+fix hole/trapdoor passage inconsistency when polymorphed into a giant
Fixes to Post-3.6.1 Problems that Were Exposed Via git Repository
return 0;
}
- if (trap)
- You("%s %s.", Flying ? "fly" : locomotion(youmonst.data, "jump"),
- trap->ttyp == HOLE ? "down the hole" : "through the trap door");
-
+ if (trap) {
+ const char *down_or_thru = trap->ttyp == HOLE ? "down" : "through";
+ const char *actn = Flying ? "fly" : locomotion(youmonst.data, "jump");
+
+ if (youmonst.data->msize >= MZ_HUGE) {
+ char qbuf[QBUFSZ];
+
+ You("don't fit %s easily.", down_or_thru);
+ Sprintf(qbuf, "Try to squeeze %s?", down_or_thru);
+ if (yn(qbuf) == 'y') {
+ if (!rn2(3)) {
+ actn = "manage to squeeze";
+ losehp(Maybe_Half_Phys(rnd(4)),
+ "contusion from a small passage", KILLED_BY);
+ } else {
+ You("were unable to fit %s.", down_or_thru);
+ return 0;
+ }
+ }
+ }
+ You("%s %s the %s.", actn, down_or_thru,
+ trap->ttyp == HOLE ? "hole" : "trap door");
+ }
if (trap && Is_stronghold(&u.uz)) {
goto_hell(FALSE, TRUE);
} else {