diff --git a/doc/fixes34.1 b/doc/fixes34.1 index e6d88963a..1c2d0562b 100644 --- a/doc/fixes34.1 +++ b/doc/fixes34.1 @@ -286,6 +286,8 @@ stinking clouds in bones files do not get their ttl set reasonably stinking clouds in bones files may incorrectly set player_inside breaking wand of digging on a drawbridge shouldn't dig/hole a pit in the bridge avoid mimicking gold when the character has the Unchanging attribute +handle polearm wielded prior to mounting the same as one wielded while mounted, + and one still used after dismounting like one wielded while not mounted Platform- and/or Interface-Specific Fixes diff --git a/src/steed.c b/src/steed.c index 83a46bc07..04a23cca3 100644 --- a/src/steed.c +++ b/src/steed.c @@ -339,6 +339,8 @@ mount_steed(mtmp, force) pline("%s magically floats up!", Monnam(mtmp)); You("mount %s.", mon_nam(mtmp)); } + /* setuwep handles polearms differently when you're mounted */ + if (uwep && is_pole(uwep)) unweapon = FALSE; u.usteed = mtmp; remove_monster(mtmp->mx, mtmp->my); teleds(mtmp->mx, mtmp->my, TRUE); @@ -598,14 +600,17 @@ dismount_steed(reason) } /* Return the player to the floor */ - if (reason != DISMOUNT_ENGULFED) { - in_steed_dismounting = TRUE; - (void) float_down(0L, W_SADDLE); - in_steed_dismounting = FALSE; - flags.botl = 1; - (void)encumber_msg(); - vision_full_recalc = 1; - } else flags.botl = 1; + if (reason != DISMOUNT_ENGULFED) { + in_steed_dismounting = TRUE; + (void) float_down(0L, W_SADDLE); + in_steed_dismounting = FALSE; + flags.botl = 1; + (void)encumber_msg(); + vision_full_recalc = 1; + } else + flags.botl = 1; + /* polearms behave differently when not mounted */ + if (uwep && is_pole(uwep)) unweapon = TRUE; return; }