git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5550 c06c8d41-db1a-0410-9941-cceddc491573
MED2SJP7F7BIPCRUXOJRTELR3EOKRN5PFOO2LLMQOEIJLID3LTOAC O3LZXTW6LJE42A767SOU6TCWPCWU3JEVINBQTW3ADBA4ZXHD3Q4QC Y4NA3JSN63RLATF4NNBPSR5CWF5Z7UEMWCGVX4B6NOAR47CGM4GQC M3CHZA76JC34OROJ2A3HD5KBAFYMU3D7HYZPXT6UOD5DUNIDWT7QC NFJKJYTT6CBLOKLGT6HIVIDEPWXMGXJV5AAL37SBZTG2HSFMJMKQC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC LX2YKPU73XMOVRWVEYQ4QRCVXLBYLVVGTEYGKA6WO5IORK27RMGAC QZUSP5WXCHQKOZ6TO574PITHBAJHPDBSVJJ6YUGFMJNGVN6A427AC SO6OPFUUGKUK24KOXKAPNXR334J7NG76F3Y7ZGC6H3XYSGWTWXWAC HHKRUVC6WMVKQRUQRYB5VAEDXUS6TMAKO7BSTBGVVL2AUOEBFUJAC S6FRUNPFE3PD2DAMVJGWX7TX262KVATIMQ4ON67BPRNVTOOO2XVQC KEYK3CH5J46U6TTOKTWRNMYTZXMQXFVEAZUC4ZQ4QCOSJHVIBDRQC TO3JMTZO6ETZWBXPA75JLCFD7ML546WXBRLWHPKL44ZIQ2H5HW6QC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC NVSFIV2ZKP44XHCSCXG6OZVGL67OIFINC34J2EMKTA4KULCERUEAC }if (!success)canned_msg(MSG_NOTHING_HAPPENS);return (success);}static bool _summon_demon_wrapper(int pow, bool god_gift, demon_class_type dct,int dur, bool friendly){bool success = false;monster_type mon = summon_any_demon(dct);if (create_monster(mgen_data(mon,friendly ? BEH_FRIENDLY : BEH_HOSTILE,dur, you.pos(),friendly ? you.pet_target : MHITYOU,god_gift ? MF_GOD_GIFT : 0)) != -1){success = true;mprf("A demon appears!%s",friendly ? "" : " It doesn't look very happy.");
bool cast_summon_demon(int pow, bool god_gift){mpr("You open a gate to Pandemonium!");return _summon_demon_wrapper(pow, god_gift, DEMON_COMMON,std::min(2 + (random2(pow) / 4), 6),random2(pow) > 3);}bool cast_demonic_horde(int pow, bool god_gift){bool success = false;const int how_many = 7 + random2(5);mpr("You open a gate to Pandemonium!");for (int i = 0; i < how_many; ++i){if (_summon_demon_wrapper(pow, god_gift, DEMON_COMMON,std::min(2 + (random2(pow) / 4), 6),random2(pow) > 3)){success = true;}}return (success);}
summoned = ((temp_rand > 49) ? MONS_IMP : // 10 in 60(temp_rand > 40) ? MONS_WHITE_IMP : // 9 in 60(temp_rand > 31) ? MONS_LEMURE : // 9 in 60(temp_rand > 22) ? MONS_UFETUBUS : // 9 in 60(temp_rand > 13) ? MONS_MANES : // 9 in 60(temp_rand > 4) ? MONS_MIDGE // 9 in 60: MONS_SHADOW_IMP); // 5 in 60
mon = ((temp_rand > 49) ? MONS_IMP : // 10 in 60(temp_rand > 40) ? MONS_WHITE_IMP : // 9 in 60(temp_rand > 31) ? MONS_LEMURE : // 9 in 60(temp_rand > 22) ? MONS_UFETUBUS : // 9 in 60(temp_rand > 13) ? MONS_MANES : // 9 in 60(temp_rand > 4) ? MONS_MIDGE // 9 in 60: MONS_SHADOW_IMP); // 5 in 60
summoned = ((temp_rand > 3367) ? MONS_NEQOXEC : // 14.69%(temp_rand > 2787) ? MONS_ORANGE_DEMON : // 14.69%(temp_rand > 2207) ? MONS_HELLWING : // 14.69%(temp_rand > 1627) ? MONS_SMOKE_DEMON : // 14.69%(temp_rand > 1047) ? MONS_YNOXINUL : // 14.69%(temp_rand > 889) ? MONS_RED_DEVIL : // 4.00%(temp_rand > 810) ? MONS_HELLION : // 2.00%(temp_rand > 731) ? MONS_ROTTING_DEVIL : // 2.00%(temp_rand > 652) ? MONS_TORMENTOR : // 2.00%(temp_rand > 573) ? MONS_REAPER : // 2.00%(temp_rand > 494) ? MONS_SOUL_EATER : // 2.00%(temp_rand > 415) ? MONS_HAIRY_DEVIL : // 2.00%(temp_rand > 336) ? MONS_ICE_DEVIL : // 2.00%(temp_rand > 257) ? MONS_BLUE_DEVIL : // 2.00%(temp_rand > 178) ? MONS_BEAST : // 2.00%(temp_rand > 99) ? MONS_IRON_DEVIL : // 2.00%(temp_rand > 49) ? MONS_SUN_DEMON // 1.26%: MONS_SHADOW_IMP); // 1.26%
mon = ((temp_rand > 3367) ? MONS_NEQOXEC : // 14.69%(temp_rand > 2787) ? MONS_ORANGE_DEMON : // 14.69%(temp_rand > 2207) ? MONS_HELLWING : // 14.69%(temp_rand > 1627) ? MONS_SMOKE_DEMON : // 14.69%(temp_rand > 1047) ? MONS_YNOXINUL : // 14.69%(temp_rand > 889) ? MONS_RED_DEVIL : // 4.00%(temp_rand > 810) ? MONS_HELLION : // 2.00%(temp_rand > 731) ? MONS_ROTTING_DEVIL : // 2.00%(temp_rand > 652) ? MONS_TORMENTOR : // 2.00%(temp_rand > 573) ? MONS_REAPER : // 2.00%(temp_rand > 494) ? MONS_SOUL_EATER : // 2.00%(temp_rand > 415) ? MONS_HAIRY_DEVIL : // 2.00%(temp_rand > 336) ? MONS_ICE_DEVIL : // 2.00%(temp_rand > 257) ? MONS_BLUE_DEVIL : // 2.00%(temp_rand > 178) ? MONS_BEAST : // 2.00%(temp_rand > 99) ? MONS_IRON_DEVIL : // 2.00%(temp_rand > 49) ? MONS_SUN_DEMON // 1.26%: MONS_SHADOW_IMP); // 1.26%
summoned = ((temp_rand > 868) ? MONS_CACODEMON : // 13.1%(temp_rand > 737) ? MONS_BALRUG : // 13.1%(temp_rand > 606) ? MONS_BLUE_DEATH : // 13.1%(temp_rand > 475) ? MONS_GREEN_DEATH : // 13.1%(temp_rand > 344) ? MONS_EXECUTIONER : // 13.1%(temp_rand > 244) ? MONS_FIEND : // 10.0%(temp_rand > 154) ? MONS_ICE_FIEND : // 9.0%(temp_rand > 73) ? MONS_SHADOW_FIEND // 8.1%: MONS_PIT_FIEND); // 7.4%
mon = ((temp_rand > 868) ? MONS_CACODEMON : // 13.1%(temp_rand > 737) ? MONS_BALRUG : // 13.1%(temp_rand > 606) ? MONS_BLUE_DEATH : // 13.1%(temp_rand > 475) ? MONS_GREEN_DEATH : // 13.1%(temp_rand > 344) ? MONS_EXECUTIONER : // 13.1%(temp_rand > 244) ? MONS_FIEND : // 10.0%(temp_rand > 154) ? MONS_ICE_FIEND : // 9.0%(temp_rand > 73) ? MONS_SHADOW_FIEND // 8.1%: MONS_PIT_FIEND); // 7.4%
summoned = ((temp_rand > 80) ? MONS_SWAMP_DRAKE :(temp_rand > 59) ? MONS_KOMODO_DRAGON :(temp_rand > 34) ? MONS_FIREDRAKE :(temp_rand > 11) ? MONS_DEATH_DRAKE :MONS_DRAGON);
mon = ((temp_rand > 80) ? MONS_SWAMP_DRAKE :(temp_rand > 59) ? MONS_KOMODO_DRAGON :(temp_rand > 34) ? MONS_FIREDRAKE :(temp_rand > 11) ? MONS_DEATH_DRAKE :MONS_DRAGON);
summoned = ((temp_rand > 60) ? MONS_YELLOW_DRACONIAN :(temp_rand > 50) ? MONS_BLACK_DRACONIAN :(temp_rand > 40) ? MONS_PALE_DRACONIAN :(temp_rand > 30) ? MONS_GREEN_DRACONIAN :(temp_rand > 20) ? MONS_PURPLE_DRACONIAN :(temp_rand > 10) ? MONS_RED_DRACONIAN: MONS_WHITE_DRACONIAN);
mon = ((temp_rand > 60) ? MONS_YELLOW_DRACONIAN :(temp_rand > 50) ? MONS_BLACK_DRACONIAN :(temp_rand > 40) ? MONS_PALE_DRACONIAN :(temp_rand > 30) ? MONS_GREEN_DRACONIAN :(temp_rand > 20) ? MONS_PURPLE_DRACONIAN :(temp_rand > 10) ? MONS_RED_DRACONIAN: MONS_WHITE_DRACONIAN);
summoned = ((temp_rand > 80) ? MONS_MOTTLED_DRAGON :(temp_rand > 70) ? MONS_LINDWURM :(temp_rand > 60) ? MONS_STORM_DRAGON :(temp_rand > 50) ? MONS_MOTTLED_DRAGON :(temp_rand > 40) ? MONS_STEAM_DRAGON :(temp_rand > 30) ? MONS_DRAGON :(temp_rand > 20) ? MONS_ICE_DRAGON :(temp_rand > 10) ? MONS_SWAMP_DRAGON: MONS_SHADOW_DRAGON);
mon = ((temp_rand > 80) ? MONS_MOTTLED_DRAGON :(temp_rand > 70) ? MONS_LINDWURM :(temp_rand > 60) ? MONS_STORM_DRAGON :(temp_rand > 50) ? MONS_MOTTLED_DRAGON :(temp_rand > 40) ? MONS_STEAM_DRAGON :(temp_rand > 30) ? MONS_DRAGON :(temp_rand > 20) ? MONS_ICE_DRAGON :(temp_rand > 10) ? MONS_SWAMP_DRAGON: MONS_SHADOW_DRAGON);