several tweaks: its resistances are the inverse of the freezing wraith's, but with sticky flame resistance added, and its console character is a lightred 'z'. As specified, it uses a sticky flame melee attack: AF_NAPALM. Note that it needs a tile.
Also, expand the list of servants that Yredelemnul can send, as specified by Lemuel awhile ago (including the flaming corpse). This expansion allows the sending of more than one creature per instance, currently only used for Yred's flying skulls.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6873 c06c8d41-db1a-0410-9941-cceddc491573
PWY4VZVHDLYL7UVNCCOW7BM7LYK2BOGTL23P75HXUJ33MHJPEJPQC QMVQVP32K32IJNOTDWB2FRRZHVRQQZ65I5DOTV6MOU7LNVP6REQQC VAG7CONYPCZU4TSFOJDGFYODOOV2M7R6L4V2SVVU6QG3CDRUKBIQC KPSCSVGHKEQ4ENM3QQU2U3GYMV52NDFO5L6ML7YDPUKV3365OA3QC 4QMMF3ZQ37PVVPLFUCNA6VJAL6S7QCFJ4QBU6V7ZFJR4FRDH3R6QC DONTX7OVBXA7UDYK62EZ7Y6RG7HTZDP7G5U3MTWEG6PYQF2S7TGAC 5ZTUKFQSIU3NVZGNX7MPQQ3IZVXRCWB5EZSQSYEXXA4G5UFCFPTQC P2OYYNPHIBGOLT4CRLNTTIXDN34EU2QCMFQJNLAMUAHQXZTEDPXQC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC CA6ZG6P2CE5EPAOQSB3P7NBDKTNFFHQP4CPOUFZL32ON6N32GSSQC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC 3MAPXTL5GAQ6373CUUVPBARIRHBRSISAF3BO2WBEROT2KUAXWLGAC MI7CWKRDXHAU7PIHLXXOSFBULRGT2OOMIMOSQLMVYOUVGABIVXGAC 3XL4DKV7PSWAU3ZBJSKZFJ2VUYABC47I7KKWGIRCJYXULQD453MQC GPEJOT73KMACP33IPAKFR5ROGHCOIP22VXZMQNYTGLEA2OSZUM2AC 4SWAT5KCKQV527NKELAXFQ5XA4Q5HONQXD4VBXMUZNPVPQKPCPNAC SWOYPTHJAWFEDBMB3ROT33VQZIXGZD5UOXEV456DDUENW2HGA66QC WHY6LRRJ5T2NSBE3IUCR4X3TOAH7TTK5NPUPUIFT7TPNJ6J4HBDAC YZEMUABJPKIFXOVAZJFA2YRRZX5575H7XQJTYRMICDFZI5HMUM3AC OJKUO2UJ2O2MUITGVQNF3BQITGVYE3XK6QTG7XW6OYPJ4YFWCFQQC IE3INS4WUXZOBVXB5VWRBYPVPXADD2U2W5H3TBTOYNWJ3EGRSGQQC 6ARBZEUSCIPVJUQJST5HG6TKQYQZPOHWYIIJO4OD2SUECPYMLVIQC QDTVLBRGHDTRUVT7I3O72K6TMOYAUSAJBZUHGOEFU2RKJNUPWZSQC RBAGQ2PB7V5YAM5KSHSZR2E3MLKDSRVM5XYGI2TIXP5QMVBOQHDQC LHYPG77SUY6OKJV3KQ7CLHGSVTSLS54OGWPOVX6IP3CKLU2YJX2QC SVY2PTCLXR3KNPQAWXVXTTGCC5DR334HOAKHYO3VDDRWM2BWMALAC 3WHI3KM43ZCN4ITJLFQQBQBC4OJPRS7QTBPIQ6QBCUVKRSK476SAC PR42BCP5BPRFD2MP5H6CIJP7E57Q6TKL6SOXZWFKMFVR2OZWHT7AC KBNY5FWKTEAKABFCLPC3QFKFSVZKAGXINPCIFV6WDSWFO4VCKNTAC 3EUPIYJNWOMOQBP2Z5SGSMWK453BXJD6KL2WFTR3NM565MEBYASAC OP6CTAKWCAU64JXQ3USQYR5E5IFHQHNCACII5UMVRXUTZXJQOAZAC ASLW3Z5PAVZSWJEMMMVZT226P44EKSAD47QS72JIFJESAI3RPN3AC LJK4ZQATLSB4MKZG3ARZX5V6RFGTN3NLCN6GTCUGJQKU26SOXMUAC JZCODQCOUBBBPPR4TLOAPIB4BQLDY3ORTJXTWEQSUJVJ7DMK7FVAC I7QLYOTE6DLQZM7YWUWYLKHRJRB2A3STQ42ALSRGQICEWKD2QTEQC TFYLN3PQEKFQNOYRVJRCXFJ4J6VSKC7QQFOHNWTDPSVYWAPAJABAC Y56C5OMUQ5XF2G6DKDV4R5MED44UOIUPTBBQVWQBUHYIXYA5MOZAC UEI5JAVCMN7Y2SACTEZPZSNFJWOJTC55G24Q6LKQCT4XNDH5ZQIAC GT7BSR54BVJKHUCLEBTELGBMNBFFDQW52EVC4XKVEMUVG2UGZMDAC 32PXX2XJVV7YSLLYNAVS7RYKYRAOQ565TZMTITSEPSSXOYPB5M2AC GSJA56E3ORVIBCBA6T6WU2HE4DCLJ6NZPW76O7L54N4CYPKLJOWQC 5BJPWUPLJFS34FUTFJVKA4A52YMIGV6EWDXLNSDCWBJWBGVSQFGQC thing_called = ((temp_rand > 66) ? MONS_WRAITH : // 33%(temp_rand > 52) ? MONS_WIGHT : // 13%(temp_rand > 40) ? MONS_SPECTRAL_WARRIOR : // 11%(temp_rand > 31) ? MONS_ROTTING_HULK : // 8%(temp_rand > 23) ? MONS_SKELETAL_WARRIOR : // 7%(temp_rand > 16) ? MONS_VAMPIRE : // 6%(temp_rand > 10) ? MONS_GHOUL : // 5%(temp_rand > 4) ? MONS_MUMMY // 5%: MONS_FLAYED_GHOST); // 4%
mon = ((temp_rand > 74) ? MONS_WRAITH : // 25%(temp_rand > 64) ? MONS_WIGHT : // 10%(temp_rand > 54) ? MONS_FLYING_SKULL : // 10%(temp_rand > 45) ? MONS_SPECTRAL_WARRIOR : // 9%(temp_rand > 38) ? MONS_ROTTING_HULK : // 7%(temp_rand > 32) ? MONS_SKELETAL_WARRIOR : // 6%(temp_rand > 27) ? MONS_FREEZING_WRAITH : // 5%(temp_rand > 22) ? MONS_FLAMING_CORPSE : // 5%(temp_rand > 18) ? MONS_GHOUL : // 5%(temp_rand > 13) ? MONS_MUMMY : // 5%(temp_rand > 9) ? MONS_VAMPIRE : // 4%(temp_rand > 5) ? MONS_FLAYED_GHOST : // 4%(temp_rand > 2) ? MONS_SKELETAL_DRAGON // 3%: MONS_DEATH_COB); // 2%if (mon == MONS_FLYING_SKULL)how_many = 2 + random2(4);
thing_called = ((temp_rand > 84) ? MONS_ORC_WARRIOR : // 15%(temp_rand > 69) ? MONS_ORC_KNIGHT : // 14%(temp_rand > 59) ? MONS_NAGA_WARRIOR : // 9%(temp_rand > 49) ? MONS_CENTAUR_WARRIOR : // 9%(temp_rand > 39) ? MONS_STONE_GIANT : // 9%(temp_rand > 29) ? MONS_FIRE_GIANT : // 9%(temp_rand > 19) ? MONS_FROST_GIANT : // 9%(temp_rand > 9) ? MONS_CYCLOPS : // 9%(temp_rand > 4) ? MONS_HILL_GIANT // 4%: MONS_TITAN); // 4%
mon = ((temp_rand > 84) ? MONS_ORC_WARRIOR : // 15%(temp_rand > 69) ? MONS_ORC_KNIGHT : // 14%(temp_rand > 59) ? MONS_NAGA_WARRIOR : // 9%(temp_rand > 49) ? MONS_CENTAUR_WARRIOR : // 9%(temp_rand > 39) ? MONS_STONE_GIANT : // 9%(temp_rand > 29) ? MONS_FIRE_GIANT : // 9%(temp_rand > 19) ? MONS_FROST_GIANT : // 9%(temp_rand > 9) ? MONS_CYCLOPS : // 9%(temp_rand > 4) ? MONS_HILL_GIANT // 4%: MONS_TITAN); // 4%
return (thing_called);
for (int i = 0; i < how_many; ++i){if (create_monster(mgen_data(mon,!force_hostile ? BEH_FRIENDLY : BEH_HOSTILE,0, you.pos(),!force_hostile ? you.pet_target : MHITYOU,0, god)) != -1){count++;}}return (count);
for (int i = 0; i < how_many; ++i){monster_type punisher = _random_servant(GOD_YREDELEMNUL);
for (; how_many > 0; --how_many)count += _random_servants(GOD_YREDELEMNUL, true);
if (create_monster(mgen_data::hostile_at(punisher,you.pos(), 0, 0, true, GOD_YREDELEMNUL)) != -1){count++;}}
for (int i = 0; i < how_many; ++i){monster_type punisher = _random_servant(GOD_OKAWARU);
for (; how_many > 0; --how_many)count += _random_servants(GOD_OKAWARU, true);
if (create_monster(mgen_data::hostile_at(punisher,you.pos(), 0, 0, true, GOD_OKAWARU)) != -1){success = true;}}
simple_god_message(count > 0 ? " sends forces against you!": "'s forces are busy with other wars.", god);
MONS_FLYING_SKULL, MONS_MUMMY, MONS_VAMPIRE, MONS_WIGHT, MONS_WRAITH,MONS_SHADOW_WRAITH, MONS_FREEZING_WRAITH, MONS_SPECTRAL_WARRIOR,MONS_ZOMBIE_LARGE, MONS_SKELETON_LARGE, MONS_SIMULACRUM_LARGE,MONS_SHADOW
MONS_FLYING_SKULL, MONS_FLAMING_CORPSE, MONS_MUMMY, MONS_VAMPIRE,MONS_WIGHT, MONS_WRAITH, MONS_SHADOW_WRAITH, MONS_FREEZING_WRAITH,MONS_SPECTRAL_WARRIOR, MONS_ZOMBIE_LARGE, MONS_SKELETON_LARGE,MONS_SIMULACRUM_LARGE, MONS_SHADOW
{MONS_FLAMING_CORPSE, 'z', LIGHTRED, "flaming corpse",M_EVIL,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_NOTHING, SIZE_MEDIUM},
// Check if this is a resist that pretends to be boolean for// damage purposes - only electricity at the moment, raw poison// damage uses the normal formula.
// Check if this is a resist that pretends to be boolean for damage// damage purposes - only electricity and sticky flame (napalm) at// the moment, raw poison damage uses the normal formula.
case AF_NAPALM:if (one_chance_in(20) || (damage_done > 0 && one_chance_in(3))){if (needs_message){mprf("%s %s covered in liquid flames%s",def_name(DESC_CAP_THE).c_str(),defender->conj_verb("are").c_str(),special_attack_punctuation().c_str());}if (defender->atype() == ACT_PLAYER)sticky_flame_player();else{sticky_flame_monster(monster_index(def),mons_friendly(atk) ? KC_FRIENDLY : KC_OTHER,std::min(4, 1 + random2(atk->hit_dice) / 2));}}break;
// Actually napalms a monster (w/ message).void _sticky_flame_monster(int mn, kill_category who, int levels)
// Actually napalms the player.void sticky_flame_player(){you.duration[DUR_LIQUID_FLAMES] += random2avg(7, 3) + 1;}// Actually napalms a monster (with message).void sticky_flame_monster(int mn, kill_category who, int levels)
if (beam.name == "sticky flame"&& (you.species != SP_MOTTLED_DRACONIAN|| you.experience_level < 6))
if (beam.name == "sticky flame")