Give Lugonu's retribution more of the Abyss/distortion theme.
Added extra check for Sif Muna gifts.
Reduced spatial vortex base damage, but give them a distortion attack.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1118 c06c8d41-db1a-0410-9941-cceddc491573
L4PKJZERR7WADKWHY3MR6J6OZFREVPL3CB43I6MLJ2BVKWCUTE7AC T3N3QMDZCRFNBUCRXTICPL4XBK6ZBQC4HE2QD747EKTPABXRRA7QC LOJYD6QZRNLNDDZJKVBMKQIBPTKSRN2ETCYGNVV47M7L3QLUJUJAC D77K7ISUWRLGNSQGYH5P2KEJZCNYQHDZC5AMLSKTXVBIRNG6F5KQC TV3ZC6WOZKSQQJQN26JIVKCHK6UK7WMDBYZDUYRWEAZ4JB4YVNAAC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC JW2KRJHES33W7UTWZ6NDO4TLMK4EFU4HKZXBWR2UJOMPCCOTR4CQC WHY6LRRJ5T2NSBE3IUCR4X3TOAH7TTK5NPUPUIFT7TPNJ6J4HBDAC 74LQ7JXVLAFSHLI7LCBKFX47CNTYSKGUQSXNX5FCIUIGCC2JTR3QC CRCKW7MAFIP2MB6ZNPVZXUHBGSPQNTYHGDVF2TCM2K6XLRUTUW4QC RISMOCQM6BKK4XSIRKYLOBB2UPDYJNDAL6OGIIR5GGNZQAK5YSZAC R22TTMI6WXWULC7ODKFF3QCB7MOTETQQ6IR4BUCUPOCQKQNCTT5AC QDTVLBRGHDTRUVT7I3O72K6TMOYAUSAJBZUHGOEFU2RKJNUPWZSQC 7KWDC7XFNMBLSUO2HISIROBINZBX5T67LJEEXTAORXW2YZ7VWFGAC U5IBPFKQSOUYHVCULUKZC3NUAUB5XPAFW2R7SZYTGZZVMRF5DH2AC GNJGG33CNP6IWUW4V2JKIFAC5N43TP5MX4PZOTXROBYZVXQEAJLAC RVST2QHYJ757ZHK4AUJ5NGPDZ44AD6RVFVXYPKQIBJXZBDNUCHXQC static void lugonu_retribution(int god){if (coinflip()){simple_god_message("'s wrath finds you!", god);miscast_effect( SPTYP_TRANSLOCATION, 9, 90, 100, "Lugonu's touch" );// No return - Lugonu's touch is independent of other effects.}else if (coinflip()){// Give extra opportunities for embarrassing teleports.simple_god_message("'s wrath finds you!", god);mpr("Space warps around you!");if (!one_chance_in(3))you_teleport2(false);elserandom_blink(false);// No return.}// abyssal servant themeif (random2(you.experience_level) > 7 && !one_chance_in(5)){if (create_monster(MONS_GREEN_DEATH + random2(3), 0,BEH_HOSTILE, you.x_pos, you.y_pos,MHITYOU, 250) != -1){simple_god_message(" sends a demon after you!", god);}else{simple_god_message("'s demon is unavoidably detained.", god);}}else{bool success = false;int how_many = 1 + (you.experience_level / 7);
for (int loopy = 0; loopy < how_many; loopy++){if (create_monster(MONS_NEQOXEC + random2(5), 0, BEH_HOSTILE,you.x_pos, you.y_pos, MHITYOU, 250) != -1){success = true;}}if (success)simple_god_message(" sends minions to punish you.", god);elsesimple_god_message("'s minions fail to arrive.", god);}}
// abyssal servant themeif (random2(you.experience_level) > 7 && !one_chance_in(5)){if (create_monster(MONS_GREEN_DEATH + random2(3), 0,BEH_HOSTILE, you.x_pos, you.y_pos,MHITYOU, 250) != -1){simple_god_message(" sends a demon after you!", god);}else{simple_god_message("'s demon is unavoidably detained.", god);}}else{success = false;how_many = 1 + (you.experience_level / 7);for (loopy = 0; loopy < how_many; loopy++){if (create_monster(MONS_NEQOXEC + random2(5), 0, BEH_HOSTILE,you.x_pos, you.y_pos, MHITYOU, 250) != -1){success = true;}}if (success)simple_god_message(" sends minions to punish you.", god);elsesimple_god_message("'s minions fail to arrive.", god);}
lugonu_retribution(god);
}bool melee_attack::distortion_affects_defender(){//jmf: blink frogs *like* distortion// I think could be amended to let blink frogs "grow" like// jellies do {dlb}if (defender->id() == MONS_BLINK_FROG){if (one_chance_in(5)){emit_nodmg_hit_message();special_damage_message =make_stringf("%s %s in the translocular energy.",defender->name(DESC_CAP_THE).c_str(),defender->conj_verb("bask").c_str());defender->heal(1 + random2avg(7, 2), true); // heh heh}return (false);}if (one_chance_in(3)){special_damage_message =make_stringf("Space bends around %s.",defender->name(DESC_NOCAP_THE).c_str());special_damage += 1 + random2avg(7, 2);return (false);}if (one_chance_in(3)){special_damage_message =make_stringf("Space warps horribly around %s!",defender->name(DESC_NOCAP_THE).c_str());special_damage += 3 + random2avg(24, 2);return (false);}if (one_chance_in(3)){emit_nodmg_hit_message();defender->blink();return (false);}// Used to be coinflip() || coinflip() for players, just coinflip()// for monsters; this is a compromise. Note that it makes banishment// a touch more likely for players, and a shade less likely for// monsters.if (!one_chance_in(3)){emit_nodmg_hit_message();defender->teleport(coinflip(), one_chance_in(5));return (false);}if (you.level_type != LEVEL_ABYSS && coinflip()){emit_nodmg_hit_message();defender->banish( atk? atk->name(DESC_PLAIN, true): attacker->name(DESC_PLAIN) );return (true);}return (false);
//jmf: blink frogs *like* distortion// I think could be amended to let blink frogs "grow" like// jellies do {dlb}if (defender->id() == MONS_BLINK_FROG){if (one_chance_in(5)){emit_nodmg_hit_message();special_damage_message =make_stringf("%s %s in the translocular energy.",defender->name(DESC_CAP_THE).c_str(),defender->conj_verb("bask").c_str());defender->heal(1 + random2avg(7, 2), true); // heh heh}break;}if (one_chance_in(3)){special_damage_message =make_stringf("Space bends around %s.",defender->name(DESC_NOCAP_THE).c_str());special_damage += 1 + random2avg(7, 2);break;}if (one_chance_in(3)){special_damage_message =make_stringf("Space warps horribly around %s!",defender->name(DESC_NOCAP_THE).c_str());special_damage += 3 + random2avg(24, 2);break;}if (one_chance_in(3)){emit_nodmg_hit_message();defender->blink();break;}// Used to be coinflip() || coinflip() for players, just coinflip()// for monsters; this is a compromise. Note that it makes banishment// a touch more likely for players, and a shade less likely for// monsters.if (!one_chance_in(3)){emit_nodmg_hit_message();defender->teleport(coinflip(), one_chance_in(5));break;}if (you.level_type != LEVEL_ABYSS && coinflip()){emit_nodmg_hit_message();defender->banish( atk? atk->name(DESC_PLAIN, true): attacker->name(DESC_PLAIN) );
if (distortion_affects_defender())
* no_dark_brand defaults to true.
* no_dark_brand defaults to true, since the option is otherwise too obscure tofind (and the problem it addresses is widespread on Unix terms).* Added a synthetic cursor (use_fake_cursor = yes) for terms that cannot drawcursors on black/darkgrey spaces.