program bugs instead).
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7696 c06c8d41-db1a-0410-9941-cceddc491573
LHYTGOCNDWX3CVD2HSQ6LAYC6NLKKI6ZKKNWZ5IQWP6YP5PQEVWQC AIJ434SS5YQOCKY6GVSXCWPEPI373SRFTKFE75M5G2C7DHUYWJIAC BZ44477ROG4ECZ5BIQYK3BKD635WUHSKHYTVKJPBGQUQUWVLZAWQC EQNPQNYN6JCLT47M3ETBMMV5JOB26TQY6NY2ZNPPBTQDO7XTWD4AC HFZQADL3R7ITWM3VPW5G3NCB2AHRMAMKYZOI3STW5LWUCTV4FFFQC RE735MKKI332QV2TPH4UYQN5TKQK23AZF6GOFNLCWQHJFC5QREYAC WFG3MHLJUHQEHV65SPAIOI74NIZTGM447T4WKWKF7CMUIUNRUQOAC 7G4KWTOOBRLHOZZGFGAXGTUCDF3FGSZOXVHUZZ3V2KVWYSFE7EKAC 25CH7HH4LKXFIZ75YNMXS3TSXO6O27DYSOPLOD45K4OCNFWLS4LQC 3SQQ4MM6YO4I37CQ6GIBIX6BXAEVHNVNHPVMR3PPBBNO454D6XWQC U4EZJ7TIJLEYKFYGH6T4MHHDTN3JTO4KGCI3BLZKDNVKV3TVHUUQC 3XRTONH32W5DNI2V2SGAHXN3EHOZQ26ZXMVYL5TRP6HLQN7P4HNAC GPEJOT73KMACP33IPAKFR5ROGHCOIP22VXZMQNYTGLEA2OSZUM2AC WQSH2ITHKHQAONM55ME7JXLZYL6OQS5F477U66P2R5VHJVI2Q22QC 4SUUJM2DQUEWHDG3UKJUDZABLHFVF2CFUX5GVAWKT7BBBGR2ISTQC YP2ADVIVFDLAU4NYFG7BTHV6BMH7VPKUYQ6WVQF3Z725L3DSX7HAC Q3B3UVMYEVC4YJUPYVSNTR4DJH4E6J4JJDHZNT5LNOCHCPPMEMXAC HBXWZNXAJ7LUX7FYUIHQYBTRMWVJC6CAQQL3NNZHK5ETLIFEZJ7QC 5FMXUX2ZFIF6NQZCS54W7ZOCVSH7XR6UIMQ5FW2UZLEN4EWP5PSAC LJK4ZQATLSB4MKZG3ARZX5V6RFGTN3NLCN6GTCUGJQKU26SOXMUAC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC S34LKQDIQJLIWVIPASOJBBZ6ZCXDHP5KPS7TRBZJSCDRVNCLK6UAC C3OUSRCHDUOJ6ELVDX6YWMQQVXDJLNEXTXWCDDAYWTKNPFPNSONAC 3HGELZU7NELOQ635HZO6IJIYLBSNCJ5VPH46IE22KA3OSLEFK7AQC KAOE5HB3THUKVGFZRO5EZESHEB3Q34WUO5DFMLWIKOBF47LZTIYAC KFULGQQOHWUTXOM3BXCCYPGGVGGY4Z6265XUFRCBPNLTZAEHJZSQC LJ7HIRLTL5KHP3DJP57KRDH3PHZIS37HNC4SLZGK2ZQI2WTQBOPAC 2TZT4GURBCNHSVOXO5ZMN7XEIO3K4GWJCDPVSYUCMVZ6UFDL4DIQC D7SLVLRNCYCBDYYRANHDG3JYEF25CFCSUY5FMF5KXVD5D4UZSDDAC CHO4U5JC3RNTLXVIDXXJYZMOBZJ4VXW2GVJWDOTBRKK3AJ36LDLQC 5DTIUKGTVV66QTZE2DFRBGGBCS57NVM4H6DRQRYEJNWJ2LYFRARQC 5JS3QSE3EIXSBVI4DATH2EIFD7QN3POAFEUM7MK4NRMPH5JOPAAQC IBITKTCFECTUF6E6WMQVWXQT5Z52O5B4IZBWOLP5DWXGUHGC62AQC 3DQXSE4YGFBBDUWK4YEOFWW4UPWILWELFSLP37SL6BERGAZJC5YAC VSIPMW33QR6LF34ZLWDH5WAIM6JYBH6PODMNSRW7EHEXEDESJPQAC TZ55IZNANEJO2WDTKYWVLY2W2VV6BR7WKIN7XLNISAMMFT6LG2WQC 3WHI3KM43ZCN4ITJLFQQBQBC4OJPRS7QTBPIQ6QBCUVKRSK476SAC JFDTUUUT6AKIGPBKGYFC7HZKGQUZOMG7EUWU4QYKSDVXXPQBBFHAC OSGS3PH2L5CBTDVZCZS6OCFQNA4A7RMEXBYJQB7DDZBYYJW7QSSAC PWY4VZVHDLYL7UVNCCOW7BM7LYK2BOGTL23P75HXUJ33MHJPEJPQC QOCFIEKMI5JXRCFCRZXHK3AGMRFYZODHAHEMV46XOOHXWEK3TTUQC HEDTNFJ5PHLUAP2HO3G2L32PP5PYE43QPV4OMN2SMLS7KNJP2DWAC O7OBYGSZTPWMK3EADTZWXQ6VAEMMFEK2I4MXTCMOQJKVJMLYEB5AC WMHFDQKUDCUGM3R245LLVZ5NNEZSCXFDSTNMVS2O5EFUHHO7HU3AC CG4TL4AKSN4J7CMATZFJ5N7PSDCQXLS3QYX7PZ3K67KMMBT675OQC FWLLPRIZDBJVQ336TPOLYAFT6WYGAFC52OFIOTRN2YQPFZ3PQVRQC SPWOUV6ZNHLBSAX455ACJDBEJYVFHGO4H76L4NPAE5DF6BEAK34QC H3552BCIAVBLKAYKE4DHFLBLFW5RGRMYBMRRYHYEB5IPIJRUVU5QC case MONS_RED_DEVIL:return TILEP_MONS_RED_DEVIL;case MONS_ETTIN:return TILEP_MONS_ETTIN;
case MONS_CENTAUR_WARRIOR:return TILEP_MONS_CENTAUR_WARRIOR + _bow_offset(mon);case MONS_YAKTAUR:return TILEP_MONS_YAKTAUR + _bow_offset(mon);case MONS_YAKTAUR_CAPTAIN:return TILEP_MONS_YAKTAUR_CAPTAIN + _bow_offset(mon);// elves ('e')case MONS_ELF:return TILEP_MONS_ELF;case MONS_DEEP_ELF_SOLDIER:return TILEP_MONS_DEEP_ELF_SOLDIER;case MONS_DEEP_ELF_FIGHTER:return TILEP_MONS_DEEP_ELF_FIGHTER;case MONS_DEEP_ELF_KNIGHT:return TILEP_MONS_DEEP_ELF_KNIGHT;case MONS_DEEP_ELF_MAGE:return TILEP_MONS_DEEP_ELF_MAGE;case MONS_DEEP_ELF_SUMMONER:return TILEP_MONS_DEEP_ELF_SUMMONER;case MONS_DEEP_ELF_CONJURER:return TILEP_MONS_DEEP_ELF_CONJURER;case MONS_DEEP_ELF_PRIEST:return TILEP_MONS_DEEP_ELF_PRIEST;case MONS_DEEP_ELF_HIGH_PRIEST:return TILEP_MONS_DEEP_ELF_HIGH_PRIEST;case MONS_DEEP_ELF_DEMONOLOGIST:return TILEP_MONS_DEEP_ELF_DEMONOLOGIST;case MONS_DEEP_ELF_ANNIHILATOR:return TILEP_MONS_DEEP_ELF_ANNIHILATOR;case MONS_DEEP_ELF_SORCERER:return TILEP_MONS_DEEP_ELF_SORCERER;case MONS_DEEP_ELF_DEATH_MAGE:return TILEP_MONS_DEEP_ELF_DEATH_MAGE;case MONS_DEEP_ELF_BLADEMASTER:return TILEP_MONS_DEEP_ELF_BLADEMASTER;case MONS_DEEP_ELF_MASTER_ARCHER:return TILEP_MONS_DEEP_ELF_MASTER_ARCHER;// fungi ('f')
case MONS_HOUND:return TILEP_MONS_HOUND;case MONS_IMP:return TILEP_MONS_IMP;
case MONS_HOBGOBLIN:return TILEP_MONS_HOBGOBLIN;case MONS_GNOLL:return TILEP_MONS_GNOLL;case MONS_BOGGART:return TILEP_MONS_BOGGART;// hounds ('h')
case MONS_HOUND:return TILEP_MONS_HOUND;case MONS_WARG:return TILEP_MONS_WARG;case MONS_WOLF:return TILEP_MONS_WOLF;case MONS_WAR_DOG:return TILEP_MONS_WAR_DOG;case MONS_HOG:return TILEP_MONS_HOG;case MONS_HELL_HOUND:return TILEP_MONS_HELL_HOUND;case MONS_HELL_HOG:return TILEP_MONS_HELL_HOG;// slugs ('j')case MONS_ELEPHANT_SLUG:return TILEP_MONS_ELEPHANT_SLUG;case MONS_GIANT_SLUG:return TILEP_MONS_GIANT_SLUG;case MONS_GIANT_SNAIL:return TILEP_MONS_GIANT_SNAIL;// killer bees ('k')
case MONS_KILLER_BEE_LARVA:return TILEP_MONS_KILLER_BEE_LARVA;case MONS_MANTICORE:return TILEP_MONS_MANTICORE;
case MONS_BUMBLEBEE:return TILEP_MONS_BUMBLEBEE;// lizards ('l')case MONS_GIANT_NEWT:return TILEP_MONS_GIANT_NEWT;case MONS_GIANT_GECKO:return TILEP_MONS_GIANT_GECKO;case MONS_GIANT_IGUANA:return TILEP_MONS_GIANT_IGUANA;case MONS_GIANT_LIZARD:return TILEP_MONS_GIANT_LIZARD;case MONS_GILA_MONSTER:return TILEP_MONS_GILA_MONSTER;case MONS_KOMODO_DRAGON:return TILEP_MONS_KOMODO_DRAGON;// drakes (also 'l', but dragon type)case MONS_SWAMP_DRAKE:return TILEP_MONS_SWAMP_DRAKE;case MONS_FIREDRAKE:return TILEP_MONS_FIREDRAKE;case MONS_LINDWURM:return TILEP_MONS_LINDWURM;case MONS_DEATH_DRAKE:return TILEP_MONS_DEATH_DRAKE;// merfolk ('m')case MONS_MERFOLK:if (in_water)return TILEP_MONS_MERFOLK_FIGHTER_WATER;elsereturn TILEP_MONS_MERFOLK_FIGHTER;case MONS_MERMAID:if (in_water)return TILEP_MONS_MERMAID_WATER;elsereturn TILEP_MONS_MERMAID;case MONS_SIREN:if (in_water)return TILEP_MONS_SIREN_WATER;elsereturn TILEP_MONS_SIREN;// rotting monsters ('n')
case MONS_ORC_WIZARD:return TILEP_MONS_ORC_WIZARD;case MONS_ORC_PRIEST:return TILEP_MONS_ORC_PRIEST;case MONS_ORC_WARRIOR:return TILEP_MONS_ORC_WARRIOR;case MONS_ORC_KNIGHT:return TILEP_MONS_ORC_KNIGHT;case MONS_ORC_WARLORD:return TILEP_MONS_ORC_WARLORD;case MONS_ORC_SORCERER:return TILEP_MONS_ORC_SORCERER;case MONS_ORC_HIGH_PRIEST:return TILEP_MONS_ORC_HIGH_PRIEST;// phantoms and ghosts ('p')
case MONS_QUASIT:return TILEP_MONS_QUASIT;
case MONS_HUNGRY_GHOST:return TILEP_MONS_HUNGRY_GHOST;case MONS_FLAYED_GHOST:return TILEP_MONS_FLAYED_GHOST;case MONS_PLAYER_GHOST:return TILEP_MONS_PLAYER_GHOST;case MONS_INSUBSTANTIAL_WISP:return TILEP_MONS_INSUBSTANTIAL_WISP;// rodents ('r')
case MONS_QUOKKA:return TILEP_MONS_QUOKKA;case MONS_GREY_RAT:return TILEP_MONS_GREY_RAT;case MONS_GREEN_RAT:return TILEP_MONS_GREEN_RAT;case MONS_ORANGE_RAT:return TILEP_MONS_ORANGE_RAT;// spiders ('s')case MONS_GIANT_MITE:return TILEP_MONS_GIANT_MITE;case MONS_GIANT_CENTIPEDE:return TILEP_MONS_GIANT_CENTIPEDE;
case MONS_SPATIAL_VORTEX:return TILEP_MONS_SPATIAL_VORTEX;// elementals (different symbols)case MONS_AIR_ELEMENTAL:return TILEP_MONS_AIR_ELEMENTAL;case MONS_EARTH_ELEMENTAL:return TILEP_MONS_EARTH_ELEMENTAL;case MONS_FIRE_ELEMENTAL:return TILEP_MONS_FIRE_ELEMENTAL;case MONS_WATER_ELEMENTAL:return TILEP_MONS_WATER_ELEMENTAL;// worms and larvae ('w')case MONS_KILLER_BEE_LARVA:return TILEP_MONS_KILLER_BEE_LARVA;
case MONS_ANT_LARVA:return TILEP_MONS_ANT_LARVA;case MONS_BRAIN_WORM:return TILEP_MONS_BRAIN_WORM;case MONS_SWAMP_WORM:return TILEP_MONS_SWAMP_WORM;case MONS_SPINY_WORM:return TILEP_MONS_SPINY_WORM;// small abominations ('x')case MONS_UNSEEN_HORROR:return TILEP_MONS_UNSEEN_HORROR;
case MONS_SIMULACRUM_SMALL:return TILEP_MONS_SIMULACRUM_SMALL;case MONS_SKELETON_SMALL:return TILEP_MONS_SKELETON_SMALL;case MONS_SKELETAL_WARRIOR:return TILEP_MONS_SKELETAL_WARRIOR;case MONS_FLYING_SKULL:return TILEP_MONS_FLYING_SKULL;case MONS_FLAMING_CORPSE:return TILEP_MONS_FLAMING_CORPSE;case MONS_CURSE_SKULL:return TILEP_MONS_CURSE_SKULL;case MONS_CURSE_TOE:return TILEP_MONS_CURSE_TOE;// angelic beings ('A')
case MONS_TWO_HEADED_OGRE:return TILEP_MONS_TWO_HEADED_OGRE;case MONS_FIEND:return TILEP_MONS_FIEND;
case MONS_HYDRA:// Number of headsreturn TILEP_MONS_HYDRA + std::min((int)mon->number, 7) - 1;case MONS_ICE_DRAGON:return TILEP_MONS_ICE_DRAGON;case MONS_STEAM_DRAGON:return TILEP_MONS_STEAM_DRAGON;case MONS_SWAMP_DRAGON:return TILEP_MONS_SWAMP_DRAGON;case MONS_MOTTLED_DRAGON:return TILEP_MONS_MOTTLED_DRAGON;case MONS_QUICKSILVER_DRAGON:return TILEP_MONS_QUICKSILVER_DRAGON;case MONS_IRON_DRAGON:return TILEP_MONS_IRON_DRAGON;case MONS_STORM_DRAGON:return TILEP_MONS_STORM_DRAGON;case MONS_GOLDEN_DRAGON:return TILEP_MONS_GOLDEN_DRAGON;case MONS_SHADOW_DRAGON:return TILEP_MONS_SHADOW_DRAGON;case MONS_SKELETAL_DRAGON:return TILEP_MONS_SKELETAL_DRAGON;case MONS_SERPENT_OF_HELL:return TILEP_MONS_SERPENT_OF_HELL;// efreet ('E')case MONS_EFREET:return TILEP_MONS_EFREET;// frogs ('F')case MONS_GIANT_FROG:return TILEP_MONS_GIANT_FROG;case MONS_GIANT_BROWN_FROG:return TILEP_MONS_GIANT_BROWN_FROG;case MONS_SPINY_FROG:return TILEP_MONS_SPINY_FROG;case MONS_BLINK_FROG:return TILEP_MONS_BLINK_FROG;// eyes and spores ('G')
case MONS_HOBGOBLIN:return TILEP_MONS_HOBGOBLIN;
case MONS_GIANT_EYEBALL:return TILEP_MONS_GIANT_EYEBALL;case MONS_EYE_OF_DRAINING:return TILEP_MONS_EYE_OF_DRAINING;case MONS_GIANT_ORANGE_BRAIN:return TILEP_MONS_GIANT_ORANGE_BRAIN;case MONS_GREAT_ORB_OF_EYES:return TILEP_MONS_GREAT_ORB_OF_EYES;case MONS_SHINING_EYE:return TILEP_MONS_SHINING_EYE;case MONS_EYE_OF_DEVASTATION:return TILEP_MONS_EYE_OF_DEVASTATION;// half-breeds ('H')case MONS_HIPPOGRIFF:return TILEP_MONS_HIPPOGRIFF;case MONS_MANTICORE:return TILEP_MONS_MANTICORE;case MONS_GRIFFON:return TILEP_MONS_GRIFFON;case MONS_SPHINX:return TILEP_MONS_SPHINX;// ice beast ('I')
case MONS_SLIME_CREATURE:return TILEP_MONS_SLIME_CREATURE;case MONS_PULSATING_LUMP:return TILEP_MONS_PULSATING_LUMP;case MONS_GIANT_AMOEBA:return TILEP_MONS_GIANT_AMOEBA;case MONS_BROWN_OOZE:return TILEP_MONS_BROWN_OOZE;case MONS_AZURE_JELLY:return TILEP_MONS_AZURE_JELLY;case MONS_DEATH_OOZE:return TILEP_MONS_DEATH_OOZE;case MONS_ACID_BLOB:return TILEP_MONS_ACID_BLOB;case MONS_ROYAL_JELLY:return TILEP_MONS_ROYAL_JELLY;// kobolds ('K')
case MONS_UNSEEN_HORROR:return TILEP_MONS_UNSEEN_HORROR;
case MONS_ROCK_TROLL:return TILEP_MONS_ROCK_TROLL;case MONS_IRON_TROLL:return TILEP_MONS_IRON_TROLL;case MONS_DEEP_TROLL:return TILEP_MONS_DEEP_TROLL;// bears ('U')case MONS_BEAR:return TILEP_MONS_BEAR;case MONS_GRIZZLY_BEAR:return TILEP_MONS_GRIZZLY_BEAR;case MONS_POLAR_BEAR:return TILEP_MONS_POLAR_BEAR;case MONS_BLACK_BEAR:return TILEP_MONS_BLACK_BEAR;// vampires ('V')
case MONS_ORC_WARRIOR:return TILEP_MONS_ORC_WARRIOR;case MONS_KOBOLD_DEMONOLOGIST:return TILEP_MONS_KOBOLD_DEMONOLOGIST;case MONS_ORC_WIZARD:return TILEP_MONS_ORC_WIZARD;case MONS_ORC_KNIGHT:return TILEP_MONS_ORC_KNIGHT;case MONS_WYVERN:return TILEP_MONS_WYVERN;case MONS_BIG_KOBOLD:return TILEP_MONS_BIG_KOBOLD;case MONS_GIANT_EYEBALL:return TILEP_MONS_GIANT_EYEBALL;case MONS_WIGHT:return TILEP_MONS_WIGHT;case MONS_OKLOB_PLANT:return TILEP_MONS_OKLOB_PLANT;case MONS_WOLF_SPIDER:return TILEP_MONS_WOLF_SPIDER;case MONS_TRAPDOOR_SPIDER:return TILEP_MONS_TRAPDOOR_SPIDER;case MONS_SHADOW:return TILEP_MONS_SHADOW;case MONS_HUNGRY_GHOST:return TILEP_MONS_HUNGRY_GHOST;case MONS_EYE_OF_DRAINING:return TILEP_MONS_EYE_OF_DRAINING;case MONS_BUTTERFLY:return TILEP_MONS_BUTTERFLY + ((mon->colour)%7);case MONS_WANDERING_MUSHROOM:return TILEP_MONS_WANDERING_MUSHROOM;case MONS_EFREET:return TILEP_MONS_EFREET;case MONS_BRAIN_WORM:return TILEP_MONS_BRAIN_WORM;case MONS_GIANT_ORANGE_BRAIN:return TILEP_MONS_GIANT_ORANGE_BRAIN;case MONS_BOULDER_BEETLE:return TILEP_MONS_BOULDER_BEETLE;case MONS_FLYING_SKULL:return TILEP_MONS_FLYING_SKULL;case MONS_HELL_HOUND:return TILEP_MONS_HELL_HOUND;case MONS_MINOTAUR:return TILEP_MONS_MINOTAUR;case MONS_ICE_DRAGON:return TILEP_MONS_ICE_DRAGON;case MONS_SLIME_CREATURE:return TILEP_MONS_SLIME_CREATURE;case MONS_FREEZING_WRAITH:return TILEP_MONS_FREEZING_WRAITH;case MONS_RAKSHASA_FAKE:return TILEP_MONS_RAKSHASA_FAKE;case MONS_GREAT_ORB_OF_EYES:return TILEP_MONS_GREAT_ORB_OF_EYES;case MONS_HELLION:return TILEP_MONS_HELLION;case MONS_ROTTING_DEVIL:return TILEP_MONS_ROTTING_DEVIL;case MONS_TORMENTOR:return TILEP_MONS_TORMENTOR;case MONS_REAPER:return TILEP_MONS_REAPER;case MONS_SOUL_EATER:return TILEP_MONS_SOUL_EATER;case MONS_HAIRY_DEVIL:return TILEP_MONS_HAIRY_DEVIL;case MONS_ICE_DEVIL:return TILEP_MONS_ICE_DEVIL;case MONS_BLUE_DEVIL:return TILEP_MONS_BLUE_DEVIL;case MONS_BEAST:return TILEP_MONS_BEAST;case MONS_IRON_DEVIL:return TILEP_MONS_IRON_DEVIL;case MONS_GLOWING_SHAPESHIFTER:return TILEP_MONS_GLOWING_SHAPESHIFTER;case MONS_SHAPESHIFTER:return TILEP_MONS_SHAPESHIFTER;case MONS_GIANT_MITE:return TILEP_MONS_GIANT_MITE;case MONS_STEAM_DRAGON:return TILEP_MONS_STEAM_DRAGON;case MONS_VERY_UGLY_THING:return TILEP_MONS_VERY_UGLY_THING;case MONS_ORC_SORCERER:return TILEP_MONS_ORC_SORCERER;case MONS_HIPPOGRIFF:return TILEP_MONS_HIPPOGRIFF;case MONS_GRIFFON:return TILEP_MONS_GRIFFON;case MONS_HYDRA:// Number of headsreturn TILEP_MONS_HYDRA + std::min((int)mon->number, 7) - 1;case MONS_SKELETON_SMALL:return TILEP_MONS_SKELETON_SMALL;
case MONS_SIMULACRUM_LARGE:return TILEP_MONS_SIMULACRUM_LARGE;// water monsterscase MONS_BIG_FISH:return TILEP_MONS_BIG_FISH;case MONS_GIANT_GOLDFISH:return TILEP_MONS_GIANT_GOLDFISH;case MONS_ELECTRICAL_EEL:return TILEP_MONS_ELECTRICAL_EEL;case MONS_JELLYFISH:return TILEP_MONS_JELLYFISH;// lava monsterscase MONS_LAVA_WORM:return TILEP_MONS_LAVA_WORM;case MONS_LAVA_FISH:return TILEP_MONS_LAVA_FISH;case MONS_LAVA_SNAKE:return TILEP_MONS_LAVA_SNAKE;case MONS_SALAMANDER:return TILEP_MONS_SALAMANDER;// monsters moving through rockcase MONS_ROCK_WORM:return TILEP_MONS_ROCK_WORM;// humans ('@')case MONS_HUMAN:return TILEP_MONS_HUMAN;
case MONS_ORC_PRIEST:return TILEP_MONS_ORC_PRIEST;case MONS_ORC_HIGH_PRIEST:return TILEP_MONS_ORC_HIGH_PRIEST;case MONS_HUMAN:return TILEP_MONS_HUMAN;case MONS_GNOLL:return TILEP_MONS_GNOLL;case MONS_CLAY_GOLEM:return TILEP_MONS_CLAY_GOLEM;case MONS_WOOD_GOLEM:return TILEP_MONS_WOOD_GOLEM;case MONS_STONE_GOLEM:return TILEP_MONS_STONE_GOLEM;case MONS_IRON_GOLEM:return TILEP_MONS_IRON_GOLEM;case MONS_CRYSTAL_GOLEM:return TILEP_MONS_CRYSTAL_GOLEM;case MONS_TOENAIL_GOLEM:return TILEP_MONS_TOENAIL_GOLEM;case MONS_MOTTLED_DRAGON:return TILEP_MONS_MOTTLED_DRAGON;case MONS_EARTH_ELEMENTAL:return TILEP_MONS_EARTH_ELEMENTAL;case MONS_FIRE_ELEMENTAL:return TILEP_MONS_FIRE_ELEMENTAL;case MONS_AIR_ELEMENTAL:return TILEP_MONS_AIR_ELEMENTAL;case MONS_ICE_FIEND:return TILEP_MONS_ICE_FIEND;case MONS_SHADOW_FIEND:return TILEP_MONS_SHADOW_FIEND;case MONS_BROWN_SNAKE:return TILEP_MONS_BROWN_SNAKE;case MONS_GIANT_LIZARD:return TILEP_MONS_GIANT_LIZARD;case MONS_SPECTRAL_WARRIOR:return TILEP_MONS_SPECTRAL_WARRIOR;case MONS_PULSATING_LUMP:return TILEP_MONS_PULSATING_LUMP;case MONS_STORM_DRAGON:return TILEP_MONS_STORM_DRAGON;case MONS_YAKTAUR:return TILEP_MONS_YAKTAUR + _bow_offset(mon);case MONS_DEATH_YAK:return TILEP_MONS_DEATH_YAK;case MONS_ROCK_TROLL:return TILEP_MONS_ROCK_TROLL;case MONS_STONE_GIANT:return TILEP_MONS_STONE_GIANT;case MONS_FLAYED_GHOST:return TILEP_MONS_FLAYED_GHOST;case MONS_FLAMING_CORPSE:return TILEP_MONS_FLAMING_CORPSE;case MONS_BUMBLEBEE:return TILEP_MONS_BUMBLEBEE;case MONS_REDBACK:return TILEP_MONS_REDBACK;case MONS_INSUBSTANTIAL_WISP:return TILEP_MONS_INSUBSTANTIAL_WISP;case MONS_VAPOUR:return TILEP_MONS_VAPOUR;case MONS_OGRE_MAGE:return TILEP_MONS_OGRE_MAGE;case MONS_SPINY_WORM:return TILEP_MONS_SPINY_WORM;
case MONS_VAULT_GUARD:return TILEP_MONS_VAULT_GUARD;case MONS_SHAPESHIFTER:return TILEP_MONS_SHAPESHIFTER;case MONS_GLOWING_SHAPESHIFTER:return TILEP_MONS_GLOWING_SHAPESHIFTER;case MONS_KILLER_KLOWN:return TILEP_MONS_KILLER_KLOWN;// mimicscase MONS_GOLD_MIMIC:case MONS_WEAPON_MIMIC:case MONS_ARMOUR_MIMIC:case MONS_SCROLL_MIMIC:case MONS_POTION_MIMIC:{// Use item tileitem_def item;get_mimic_item( mon, item );return tileidx_item(item);}
case MONS_TITAN:return TILEP_MONS_TITAN;case MONS_GOLDEN_DRAGON:return TILEP_MONS_GOLDEN_DRAGON;case MONS_ELF:return TILEP_MONS_ELF;case MONS_LINDWURM:return TILEP_MONS_LINDWURM;case MONS_ELEPHANT_SLUG:return TILEP_MONS_ELEPHANT_SLUG;case MONS_WAR_DOG:return TILEP_MONS_WAR_DOG;case MONS_GREY_RAT:return TILEP_MONS_GREY_RAT;case MONS_GREEN_RAT:return TILEP_MONS_GREEN_RAT;case MONS_ORANGE_RAT:return TILEP_MONS_ORANGE_RAT;case MONS_BLACK_SNAKE:return TILEP_MONS_BLACK_SNAKE;case MONS_SHEEP:return TILEP_MONS_SHEEP;case MONS_GHOUL:return TILEP_MONS_GHOUL;case MONS_HOG:return TILEP_MONS_HOG;case MONS_GIANT_MOSQUITO:return TILEP_MONS_GIANT_MOSQUITO;case MONS_GIANT_CENTIPEDE:return TILEP_MONS_GIANT_CENTIPEDE;case MONS_IRON_TROLL:return TILEP_MONS_IRON_TROLL;case MONS_NAGA:return TILEP_MONS_NAGA;case MONS_FIRE_GIANT:return TILEP_MONS_FIRE_GIANT;case MONS_FROST_GIANT:return TILEP_MONS_FROST_GIANT;case MONS_FIREDRAKE:return TILEP_MONS_FIREDRAKE;case MONS_SHADOW_DRAGON:return TILEP_MONS_SHADOW_DRAGON;case MONS_YELLOW_SNAKE:return TILEP_MONS_YELLOW_SNAKE;case MONS_GREY_SNAKE:return TILEP_MONS_GREY_SNAKE;case MONS_DEEP_TROLL:return TILEP_MONS_DEEP_TROLL;case MONS_GIANT_BLOWFLY:return TILEP_MONS_GIANT_BLOWFLY;case MONS_RED_WASP:return TILEP_MONS_RED_WASP;case MONS_SWAMP_DRAGON:return TILEP_MONS_SWAMP_DRAGON;case MONS_SWAMP_DRAKE:return TILEP_MONS_SWAMP_DRAKE;case MONS_SOLDIER_ANT:return TILEP_MONS_SOLDIER_ANT;case MONS_HILL_GIANT:return TILEP_MONS_HILL_GIANT;case MONS_QUEEN_ANT:return TILEP_MONS_QUEEN_ANT;case MONS_ANT_LARVA:return TILEP_MONS_ANT_LARVA;case MONS_GIANT_FROG:return TILEP_MONS_GIANT_FROG;case MONS_GIANT_BROWN_FROG:return TILEP_MONS_GIANT_BROWN_FROG;case MONS_SPINY_FROG:return TILEP_MONS_SPINY_FROG;case MONS_BLINK_FROG:return TILEP_MONS_BLINK_FROG;case MONS_GIANT_COCKROACH:return TILEP_MONS_GIANT_COCKROACH;case MONS_SMALL_SNAKE:return TILEP_MONS_SMALL_SNAKE;case MONS_SHUGGOTH:return TILE_TODO;case MONS_WOLF:return TILEP_MONS_WOLF;case MONS_WARG:return TILEP_MONS_WARG;case MONS_BEAR:return TILEP_MONS_BEAR;case MONS_GRIZZLY_BEAR:return TILEP_MONS_GRIZZLY_BEAR;case MONS_POLAR_BEAR:return TILEP_MONS_POLAR_BEAR;case MONS_BLACK_BEAR:return TILEP_MONS_BLACK_BEAR;case MONS_SIMULACRUM_SMALL:return TILEP_MONS_SIMULACRUM_SMALL;case MONS_SIMULACRUM_LARGE:return TILEP_MONS_SIMULACRUM_LARGE;
// '5' demonscase MONS_IMP:return TILEP_MONS_IMP;case MONS_QUASIT:return TILEP_MONS_QUASIT;
case MONS_SHADOW_IMP:return TILEP_MONS_SHADOW_IMP;// '4' demonscase MONS_RED_DEVIL:return TILEP_MONS_RED_DEVIL;case MONS_HAIRY_DEVIL:return TILEP_MONS_HAIRY_DEVIL;case MONS_ROTTING_DEVIL:return TILEP_MONS_ROTTING_DEVIL;case MONS_BEAST:return TILEP_MONS_BEAST;case MONS_SMOKE_DEMON:return TILEP_MONS_SMOKE_DEMON;// '3' demonscase MONS_HELLION:return TILEP_MONS_HELLION;case MONS_TORMENTOR:return TILEP_MONS_TORMENTOR;case MONS_BLUE_DEVIL:return TILEP_MONS_BLUE_DEVIL;case MONS_IRON_DEVIL:return TILEP_MONS_IRON_DEVIL;
case MONS_DEMONIC_CRAWLER:return TILEP_MONS_DEMONIC_CRAWLER;case MONS_SHADOW_DEMON:return TILEP_MONS_SHADOW_DEMON;case MONS_CHAOS_SPAWN:return TILEP_MONS_CHAOS_SPAWN;// '2' demoncase MONS_SUN_DEMON:return TILEP_MONS_SUN_DEMON;case MONS_REAPER:return TILEP_MONS_REAPER;case MONS_SOUL_EATER:return TILEP_MONS_SOUL_EATER;case MONS_ICE_DEVIL:return TILEP_MONS_ICE_DEVIL;case MONS_LOROCYPROCA:return TILEP_MONS_LOROCYPROCA;// '1' demonscase MONS_FIEND:return TILEP_MONS_FIEND;case MONS_ICE_FIEND:return TILEP_MONS_ICE_FIEND;case MONS_SHADOW_FIEND:return TILEP_MONS_SHADOW_FIEND;case MONS_PIT_FIEND:return TILEP_MONS_PIT_FIEND;
case MONS_DEMONIC_CRAWLER:return TILEP_MONS_DEMONIC_CRAWLER;case MONS_SUN_DEMON:return TILEP_MONS_SUN_DEMON;case MONS_SHADOW_IMP:return TILEP_MONS_SHADOW_IMP;case MONS_SHADOW_DEMON:return TILEP_MONS_SHADOW_DEMON;case MONS_LOROCYPROCA:return TILEP_MONS_LOROCYPROCA;case MONS_SHADOW_WRAITH:return TILEP_MONS_SHADOW_WRAITH;case MONS_GIANT_AMOEBA:return TILEP_MONS_GIANT_AMOEBA;case MONS_GIANT_SLUG:return TILEP_MONS_GIANT_SLUG;case MONS_GIANT_SNAIL:return TILEP_MONS_GIANT_SNAIL;case MONS_SPATIAL_VORTEX:return TILEP_MONS_SPATIAL_VORTEX;case MONS_PIT_FIEND:return TILEP_MONS_PIT_FIEND;case MONS_BORING_BEETLE:return TILEP_MONS_BORING_BEETLE;
// non-living creatures// golems ('8')case MONS_CLAY_GOLEM:return TILEP_MONS_CLAY_GOLEM;case MONS_WOOD_GOLEM:return TILEP_MONS_WOOD_GOLEM;case MONS_IRON_GOLEM:return TILEP_MONS_IRON_GOLEM;case MONS_STONE_GOLEM:return TILEP_MONS_STONE_GOLEM;case MONS_CRYSTAL_GOLEM:return TILEP_MONS_CRYSTAL_GOLEM;case MONS_TOENAIL_GOLEM:return TILEP_MONS_TOENAIL_GOLEM;case MONS_ELECTRIC_GOLEM:return TILEP_MONS_ELECTRIC_GOLEM;// statues (also '8')case MONS_ICE_STATUE:return TILEP_ICE_STATUE;case MONS_SILVER_STATUE:return TILEP_SILVER_STATUE;case MONS_ORANGE_STATUE:return TILEP_ORANGE_CRYSTAL_STATUE;// gargoyles ('9')
case MONS_PROGRAM_BUG:return TILEP_MONS_PROGRAM_BUG;case MONS_MNOLEG:return TILEP_MONS_MNOLEG;case MONS_LOM_LOBON:return TILEP_MONS_LOM_LOBON;case MONS_CEREBOV:return TILEP_MONS_CEREBOV;case MONS_GLOORX_VLOQ:return TILEP_MONS_GLOORX_VLOQ;case MONS_MOLLUSC_LORD:return TILE_TODO;case MONS_NAGA_MAGE:return TILEP_MONS_NAGA_MAGE;case MONS_NAGA_WARRIOR:return TILEP_MONS_NAGA_WARRIOR;case MONS_ORC_WARLORD:return TILEP_MONS_ORC_WARLORD;case MONS_DEEP_ELF_SOLDIER:return TILEP_MONS_DEEP_ELF_SOLDIER;case MONS_DEEP_ELF_FIGHTER:return TILEP_MONS_DEEP_ELF_FIGHTER;case MONS_DEEP_ELF_KNIGHT:return TILEP_MONS_DEEP_ELF_KNIGHT;case MONS_DEEP_ELF_MAGE:return TILEP_MONS_DEEP_ELF_MAGE;case MONS_DEEP_ELF_SUMMONER:return TILEP_MONS_DEEP_ELF_SUMMONER;case MONS_DEEP_ELF_CONJURER:return TILEP_MONS_DEEP_ELF_CONJURER;case MONS_DEEP_ELF_PRIEST:return TILEP_MONS_DEEP_ELF_PRIEST;case MONS_DEEP_ELF_HIGH_PRIEST:return TILEP_MONS_DEEP_ELF_HIGH_PRIEST;case MONS_DEEP_ELF_DEMONOLOGIST:return TILEP_MONS_DEEP_ELF_DEMONOLOGIST;case MONS_DEEP_ELF_ANNIHILATOR:return TILEP_MONS_DEEP_ELF_ANNIHILATOR;case MONS_DEEP_ELF_SORCERER:return TILEP_MONS_DEEP_ELF_SORCERER;case MONS_DEEP_ELF_DEATH_MAGE:return TILEP_MONS_DEEP_ELF_DEATH_MAGE;case MONS_BROWN_OOZE:return TILEP_MONS_BROWN_OOZE;case MONS_AZURE_JELLY:return TILEP_MONS_AZURE_JELLY;case MONS_DEATH_OOZE:return TILEP_MONS_DEATH_OOZE;case MONS_ACID_BLOB:return TILEP_MONS_ACID_BLOB;case MONS_ROYAL_JELLY:return TILEP_MONS_ROYAL_JELLY;
// major demons ('&')case MONS_PANDEMONIUM_DEMON:return TILEP_MONS_PANDEMONIUM_DEMON;// ball lightning / orb of fire ('*')case MONS_BALL_LIGHTNING:return TILEP_MONS_BALL_LIGHTNING;case MONS_ORB_OF_FIRE:return TILEP_MONS_ORB_OF_FIRE;// other symbolscase MONS_VAPOUR:return TILEP_MONS_VAPOUR;case MONS_SHADOW:return TILEP_MONS_SHADOW;case MONS_DEATH_COB:return TILEP_MONS_DEATH_COB;// non-human uniquescase MONS_IJYB:return TILEP_MONS_IJYB;case MONS_URUG:return TILEP_MONS_URUG;case MONS_EROLCHA:return TILEP_MONS_EROLCHA;case MONS_SNORG:return TILEP_MONS_SNORG;case MONS_POLYPHEMUS:return TILEP_MONS_POLYPHEMUS;case MONS_ANTAEUS:return TILEP_MONS_ANTAEUS;case MONS_TIAMAT:return TILEP_MONS_TIAMAT;case MONS_XTAHUA:return TILEP_MONS_XTAHUA;case MONS_BORIS:return TILEP_MONS_BORIS;case MONS_MURRAY:return TILEP_MONS_MURRAY;// human uniques ('@')
case MONS_POLYPHEMUS:return TILEP_MONS_POLYPHEMUS;case MONS_BORIS:return TILEP_MONS_BORIS;// Draconians handled abovecase MONS_MURRAY:return TILEP_MONS_MURRAY;case MONS_TIAMAT:return TILEP_MONS_TIAMAT;case MONS_DEEP_ELF_BLADEMASTER:return TILEP_MONS_DEEP_ELF_BLADEMASTER;case MONS_DEEP_ELF_MASTER_ARCHER:return TILEP_MONS_DEEP_ELF_MASTER_ARCHER;
case MONS_ANCIENT_LICH:return TILEP_MONS_ANCIENT_LICH;case MONS_OOZE:return TILEP_MONS_OOZE;case MONS_VAULT_GUARD:return TILEP_MONS_VAULT_GUARD;case MONS_CURSE_SKULL:return TILEP_MONS_CURSE_SKULL;case MONS_VAMPIRE_KNIGHT:return TILEP_MONS_VAMPIRE_KNIGHT;case MONS_VAMPIRE_MAGE:return TILEP_MONS_VAMPIRE_MAGE;case MONS_SHINING_EYE:return TILEP_MONS_SHINING_EYE;case MONS_ORB_GUARDIAN:return TILEP_MONS_ORB_GUARDIAN;case MONS_DAEVA:return TILEP_MONS_DAEVA;case MONS_SPECTRAL_THING:return TILEP_MONS_SPECTRAL_THING;case MONS_GREATER_NAGA:return TILEP_MONS_GREATER_NAGA;case MONS_SKELETAL_DRAGON:return TILEP_MONS_SKELETAL_DRAGON;case MONS_TENTACLED_MONSTROSITY:return TILEP_MONS_TENTACLED_MONSTROSITY;case MONS_SPHINX:return TILEP_MONS_SPHINX;case MONS_ROTTING_HULK:return TILEP_MONS_ROTTING_HULK;case MONS_GUARDIAN_MUMMY:return TILEP_MONS_GUARDIAN_MUMMY;case MONS_GREATER_MUMMY:return TILEP_MONS_GREATER_MUMMY;case MONS_MUMMY_PRIEST:return TILEP_MONS_MUMMY_PRIEST;case MONS_CENTAUR_WARRIOR:return TILEP_MONS_CENTAUR_WARRIOR + _bow_offset(mon);case MONS_YAKTAUR_CAPTAIN:return TILEP_MONS_YAKTAUR_CAPTAIN + _bow_offset(mon);case MONS_KILLER_KLOWN:return TILEP_MONS_KILLER_KLOWN;case MONS_ELECTRIC_GOLEM:return TILEP_MONS_ELECTRIC_GOLEM;case MONS_BALL_LIGHTNING:return TILEP_MONS_BALL_LIGHTNING;case MONS_ORB_OF_FIRE:return TILEP_MONS_ORB_OF_FIRE;case MONS_QUOKKA:return TILEP_MONS_QUOKKA;case MONS_EYE_OF_DEVASTATION:return TILEP_MONS_EYE_OF_DEVASTATION;case MONS_MOTH_OF_WRATH:return TILEP_MONS_MOTH_OF_WRATH;case MONS_DEATH_COB:return TILEP_MONS_DEATH_COB;case MONS_CURSE_TOE:return TILEP_MONS_CURSE_TOE;case MONS_GOLD_MIMIC:case MONS_WEAPON_MIMIC:case MONS_ARMOUR_MIMIC:case MONS_SCROLL_MIMIC:case MONS_POTION_MIMIC:{// Use item tileitem_def item;get_mimic_item( mon, item );return tileidx_item(item);
case MONS_HELL_HOG:return TILEP_MONS_HELL_HOG;case MONS_SERPENT_OF_HELL:return TILEP_MONS_SERPENT_OF_HELL;case MONS_BOGGART:return TILEP_MONS_BOGGART;case MONS_QUICKSILVER_DRAGON:return TILEP_MONS_QUICKSILVER_DRAGON;case MONS_IRON_DRAGON:return TILEP_MONS_IRON_DRAGON;case MONS_SKELETAL_WARRIOR:return TILEP_MONS_SKELETAL_WARRIOR;case MONS_PLAYER_GHOST:return TILEP_MONS_PLAYER_GHOST;case MONS_PANDEMONIUM_DEMON:return TILEP_MONS_PANDEMONIUM_DEMON;case MONS_GIANT_NEWT:return TILEP_MONS_GIANT_NEWT;case MONS_GIANT_GECKO:return TILEP_MONS_GIANT_GECKO;case MONS_GIANT_IGUANA:return TILEP_MONS_GIANT_IGUANA;case MONS_GILA_MONSTER:return TILEP_MONS_GILA_MONSTER;case MONS_KOMODO_DRAGON:return TILEP_MONS_KOMODO_DRAGON;case MONS_LAVA_WORM:return TILEP_MONS_LAVA_WORM;case MONS_LAVA_FISH:return TILEP_MONS_LAVA_FISH;case MONS_LAVA_SNAKE:return TILEP_MONS_LAVA_SNAKE;case MONS_SALAMANDER:return TILEP_MONS_SALAMANDER;case MONS_BIG_FISH:return TILEP_MONS_BIG_FISH;case MONS_GIANT_GOLDFISH:return TILEP_MONS_GIANT_GOLDFISH;case MONS_ELECTRICAL_EEL:return TILEP_MONS_ELECTRICAL_EEL;case MONS_JELLYFISH:return TILEP_MONS_JELLYFISH;case MONS_WATER_ELEMENTAL:return TILEP_MONS_WATER_ELEMENTAL;case MONS_SWAMP_WORM:return TILEP_MONS_SWAMP_WORM;case MONS_ROCK_WORM:return TILEP_MONS_ROCK_WORM;case MONS_ORANGE_STATUE:return TILEP_ORANGE_CRYSTAL_STATUE;case MONS_SILVER_STATUE:return TILEP_SILVER_STATUE;case MONS_ICE_STATUE:return TILEP_ICE_STATUE;case MONS_DEATH_DRAKE:return TILEP_MONS_DEATH_DRAKE;case MONS_MERFOLK:if (in_water)return TILEP_MONS_MERFOLK_FIGHTER_WATER;elsereturn TILEP_MONS_MERFOLK_FIGHTER;case MONS_MERMAID:if (in_water)return TILEP_MONS_MERMAID_WATER;elsereturn TILEP_MONS_MERMAID;}
static bool _is_poly_power_unsuitable(poly_power_type power,int src_pow,int tgt_pow,int relax)
static bool _is_poly_power_unsuitable( poly_power_type power,int src_pow, int tgt_pow, int relax )
}return (false);}static int _count_water_neighbours(coord_def p){int deep_water_count = 0;for (adjacent_iterator ai(p); ai; ++ai)if (grd(p) == DNGN_DEEP_WATER)deep_water_count++;return (deep_water_count);}static bool _find_siren_water_target(monsters *mon){mpr("in _find_siren_water_target");ASSERT(mon->type == MONS_SIREN);if (mon->travel_target == MTRAV_SIREN && !one_chance_in(8))return (true);int water_count;int best_water_count = 0;coord_def best_target;int best_num;for (int k = 1; k <= LOS_RADIUS; k++)for (int x = -1; x <= 1; x++)for (int y = -1; y <= 1; y++){if (x == 0 && y == 0)continue;const coord_def c(mon->pos() + coord_def(k*x, k*y));if (!grid_is_water(grd(c)))continue;water_count = _count_water_neighbours(c);if (water_count <= best_water_count)continue;if (water_count > best_water_count){best_water_count = water_count;best_target = c;best_num = 1;}else // if (water_count == best_water_count){best_num++;if (one_chance_in(best_num))best_target = c;}}if (best_water_count == 0)return (false);monster_pathfind mp;if (mp.init_pathfind(mon, best_target)){mon->travel_path = mp.calc_waypoints();if (!mon->travel_path.empty()){mprf("Found a path to (%d, %d) with %d surrounding water squares",best_target.x, best_target.y, best_water_count);// Okay then, we found a path. Let's use it!mon->target = mon->travel_path[0];mon->travel_target = MTRAV_SIREN;return (true);}
// If the claimed undead is the player, it must be// a non-vampire, or a bloodless vampire.&& (foe != &you || you.is_undead != US_SEMI_UNDEAD ||you.hunger_state == HS_STARVING))// Demons, but not demonspawn - demonspawn will show// up as demonic for purposes of things like holy// wrath, but are still (usually) susceptible to// torment and draining.|| (holiness == MH_DEMONIC && foe != &you)|| holiness == MH_NONLIVING || holiness == MH_PLANT);
// If the claimed undead is the player, it must be// a non-vampire, or a bloodless vampire.&& (foe != &you || you.is_undead != US_SEMI_UNDEAD|| you.hunger_state == HS_STARVING))// Demons, but not demonspawn - demonspawn will show// up as demonic for purposes of things like holy// wrath, but are still (usually) susceptible to// torment and draining.|| holiness == MH_DEMONIC && foe != &you|| holiness == MH_NONLIVING || holiness == MH_PLANT);
if (mons_is_unique(mon_type) && mon_type != MONS_PLAYER_GHOST|| mon_type == MONS_MERMAID)
if (mons_genus(mon_type) == MONS_MERMAID)gender = GENDER_FEMALE;else if (mons_is_unique(mon_type) && mon_type != MONS_PLAYER_GHOST)
const bool has_ranged_attack =type == MONS_ELECTRICAL_EEL|| type == MONS_LAVA_SNAKE|| (type == MONS_MERMAID && you.species != SP_MERFOLK);
const bool has_ranged_attack = (type == MONS_ELECTRICAL_EEL|| type == MONS_LAVA_SNAKE|| mons_genus(type) == MONS_MERMAID&& you.species != SP_MERFOLK);
{ 8, 2, 4, 0 },
{ 8, 2, 3, 0 },4, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT, I_NORMAL,HT_AMPHIBIOUS_WATER, 10, DEFAULT_ENERGY, MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM},{MONS_SIREN, 'm', LIGHTCYAN, "siren",M_SPELLCASTER | M_WARM_BLOOD | M_SPEAKS,MR_RES_POISON | MR_RES_COLD,500, 12, MONS_MERMAID, MONS_SIREN, MH_NATURAL, -7,{ {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },{ 8, 2, 3, 0 },
MONS_SWAMP_WORM, 'w', BROWN, "swamp worm",M_NO_FLAGS,MR_NO_FLAGS,0, 10, MONS_WORM, MONS_SWAMP_WORM, MH_NATURAL, -3,{ {AT_BITE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },{ 5, 5, 5, 0 },3, 12, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT, I_PLANT,HT_WATER, 12, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_LARGE},{
},{MONS_FLAMING_CORPSE, 'z', LIGHTRED, "flaming corpse",M_SENSE_INVIS | M_EVIL | M_GLOWS,MR_RES_POISON | MR_VUL_COLD | mrd(MR_RES_FIRE, 3) | MR_RES_STICKY_FLAME,0, 17, MONS_FLAMING_CORPSE, MONS_FLAMING_CORPSE, MH_UNDEAD, -4,{ {AT_HIT, AF_NAPALM, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },{ 8, 3, 5, 0 },12, 13, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SCREAM, I_NORMAL,HT_LAND, 12, DEFAULT_ENERGY, MONUSE_OPEN_DOORS, SIZE_MEDIUM
},{MONS_FLAMING_CORPSE, 'z', LIGHTRED, "flaming corpse",M_SENSE_INVIS | M_EVIL | M_GLOWS,MR_RES_POISON | MR_VUL_COLD | mrd(MR_RES_FIRE, 3) | MR_RES_STICKY_FLAME,0, 17, MONS_FLAMING_CORPSE, MONS_FLAMING_CORPSE, MH_UNDEAD, -4,{ {AT_HIT, AF_NAPALM, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },{ 8, 3, 5, 0 },12, 13, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SCREAM, I_NORMAL,HT_LAND, 12, DEFAULT_ENERGY, MONUSE_OPEN_DOORS, SIZE_MEDIUM
},{MONS_SWAMP_WORM, 'w', BROWN, "swamp worm",M_NO_FLAGS,MR_NO_FLAGS,0, 10, MONS_WORM, MONS_SWAMP_WORM, MH_NATURAL, -3,{ {AT_BITE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },{ 5, 5, 5, 0 },3, 12, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT, I_PLANT,HT_WATER, 12, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_LARGE