#dipping from steed

Fix the reported bug of an unskilled rider who is unable to pick
items off the floor while mounted still being able to dip into water.
There might be other actions which need similar checking; this one only
handles the dip into pool/moat case.
This commit is contained in:
nethack.rankin
2002-10-11 00:46:37 +00:00
parent 329ce86056
commit 2c3964e619
5 changed files with 20 additions and 6 deletions

View File

@@ -593,7 +593,7 @@ peffects(otmp)
if (Free_action)
You("stiffen momentarily.");
else {
if (Levitation||Is_airlevel(&u.uz)||Is_waterlevel(&u.uz))
if (Levitation || Is_airlevel(&u.uz)||Is_waterlevel(&u.uz))
You("are motionlessly suspended.");
#ifdef STEED
else if (u.usteed)
@@ -1546,9 +1546,14 @@ dodip()
tmp = (here == POOL) ? "pool" : "moat";
Sprintf(qbuf, "Dip it into the %s?", tmp);
if (yn(qbuf) == 'y') {
if (Levitation)
if (Levitation) {
floating_above(tmp);
else {
#ifdef STEED
} else if (u.usteed && !is_swimmer(u.usteed->data) &&
P_SKILL(P_RIDING) < P_BASIC) {
rider_cant_reach(); /* not skilled enough to reach */
#endif
} else {
(void) get_wet(obj);
if (obj->otyp == POT_ACID) useup(obj);
}