levitate again (since their class can), regardless of what actual type they are.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7169 c06c8d41-db1a-0410-9941-cceddc491573
456KTRCLDMONHJFPEKJYMXO737ZHKN36ZU3UQ77JDERXBU5VFMVQC
JFDTUUUT6AKIGPBKGYFC7HZKGQUZOMG7EUWU4QYKSDVXXPQBBFHAC
AVCMVFA3MKCXHO6H44UK5KJNIHTGQV7UA7GYXM26VI6TXXU5ZN6QC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
ISSEUTHG7EH3QTFLS23GXFIOQXCI5HJPJMK6GWNFMC6NDRD2H34QC
6RJVKSL7RVZIZIZIC4TWIYJQ24RUSB346ODS3NYGDHUIRTC4Z5FQC
7AMQN7MITMXBNVDAK5VOXTQ4TZIAOD6ZLOFJG7GQMBTY23Y2BKSAC
MDFQRJ6QZNFUBVSFWLXUJ6EBXOU47T3CVDI2XKBGNNRF4DXDKESQC
RGE3P266JGL6TUMCAMIJB3AIVU5GSQGIH43ZITKXF5WCCXLHKKVQC
RX6575DZOHRUXQUZH34YZGPZJF4STUPLBQDIVTINA2L6LVCKRIGQC
UWI3ZNJDRQRL7CXFNFEG46TA6SAK24XUFY5YOKVOTJA3VG3OBNFAC
XVX7AVLLYZJIJUZA2LZ6T57PHULWPDRZOHELDF4JHZ35EMINFFZQC
RM2JXW3ATVYRYHF3NMG5ALGI64OJ7IP2F3MDUDPUT5TBKSSN4KVQC
KEANRIMF5CGFVZ2XJYNFPOAKLXOSOJUOVA73IWBWOG576265ERHAC
O4DT3BQQ3XYPL6PQ72G6VPBAVHXZMEOLONFXNHXFMBXBVOYMB6VQC
JI4NDSOXGGZ7QHXXFB3ZTHAKHABXYBZXPDGLUFV5SKYEOL5FT7JQC
RBAGQ2PB7V5YAM5KSHSZR2E3MLKDSRVM5XYGI2TIXP5QMVBOQHDQC
SG76BPJKTQGDFNP5QFMAVR6H72FMMAYCECVGSWWSCLMAVQX7E3FQC
57E4T664CXRFPVW2BZBYI33UIHFS4PSEZURZYPSYSZK5DRLJJ5CQC
const int montype = mons_is_zombified(mon) ? mons_zombie_base(mon)
: mon->type;
// Set flight status this way so that monsters will always have the
// best flight status possible. This is necessary so that monsters
// with FL_NONE status when alive get FL_LEVITATE status as spectral
// things, and monsters with FL_FLY status when alive retain it as
// spectral things.
ret = std::max(mons_class_flies(mon->type), ret);
if (ret == FL_NONE && _scan_mon_inv_randarts(mon, RAP_LEVITATE) > 0)
ret = FL_LEVITATE;
const flight_type ret = mons_class_flies(montype);
return (ret ? ret
: (_scan_mon_inv_randarts(mon, RAP_LEVITATE) > 0) ? FL_LEVITATE
: FL_NONE);
return (ret);
mprf("You %s %swards.", you.flight_mode() == FL_FLY? "fly" :
(player_is_airborne()? "float" : "climb"),
going_up? "up": "down");
mprf("You %s %swards.", you.flight_mode() == FL_FLY ? "fly" :
(player_is_airborne() ? "float" : "climb"),
going_up ? "up" : "down");