summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/transfor.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/crawl-ref/source/transfor.cc b/crawl-ref/source/transfor.cc
index 2c0ca22f41..fa89bd8620 100644
--- a/crawl-ref/source/transfor.cc
+++ b/crawl-ref/source/transfor.cc
@@ -555,7 +555,7 @@ bool transform(int pow, transformation_type which_trans, bool quiet)
if (check_for_cursed_equipment(rem_stuff, quiet))
return (false);
-
+
if (check_transformation_stat_loss(rem_stuff, quiet))
return (false);
@@ -667,6 +667,8 @@ bool transform_can_butcher_barehanded(transformation_type tt)
void untransform(void)
{
+ const flight_type old_flight = you.flight_mode();
+
you.redraw_evasion = true;
you.redraw_armour_class = true;
you.wield_change = true;
@@ -767,7 +769,8 @@ void untransform(void)
}
// Re-check terrain now that be may no longer be flying.
- move_player_to_grid(you.pos(), false, true, true);
+ if (old_flight && you.flight_mode() == FL_NONE)
+ move_player_to_grid(you.pos(), false, true, true);
if (transform_can_butcher_barehanded(old_form))
stop_butcher_delay();