inconsistency going down a hole/trapdoor accidentally vs deliberately
Noted on rgrn, after being told that you don't fit upon discovery of a hole or trap door you could then immediately use '>' to proceed down. The deliberate situation remains possible and has some inherent risk.
This commit is contained in:
25
src/do.c
25
src/do.c
@@ -988,10 +988,29 @@ dodown()
|
||||
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 {
|
||||
|
||||
Reference in New Issue
Block a user