being, make TSO sometimes avenge it with cleansing flame.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7360 c06c8d41-db1a-0410-9941-cceddc491573
BEPZL7D7JJHJUUDCVLGJRKKWM7NUAC7X2SU5XJMEASE6YTB53P3AC BNRY5YIXLFE2TDNU2JQHWWXJQVWNSEWQ52DU7XUWIT5DZWKGBDDAC GGDX26OLH2EBB2ZBJCBIE3UDPHWEMTMSOEJBJIWCBLUK3HEY3PKQC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC IQGGFC563RBS7GDOACKCLXK752EE5RC3T6G5L6H446SXTMSA7T2AC J5QZ5KFSCOJBBLE5PVTSFYE7QSHPWGH574TIDGWSLVOAIYTTUKVAC 6MGFBTLOHGYVF3XCAKXCBIN43BL3F7X7X3BN6QFTOBAIZFT3FSVQC 3YKYP4IHQWG4NAOP4GANSZS24JPORQXVJYO7DMRXAF4NVPAHIDBQC SM5TRAZJD7BTJUVJ4HUNKROCH7DLD24SU5II6FQSJYIPQ2XA4RUAC RRNEVUYOK5S4M4QH77N34IXSSNUXVQAIZQLXAQKQCRITMPUKGP6AC SWOYPTHJAWFEDBMB3ROT33VQZIXGZD5UOXEV456DDUENW2HGA66QC 6IX7V3PY4ZESJO3MCEXXRQWT2OTJCGUU5LQQZF76YNE4XHSW523QC 5CCE6LI3KYGMU3UPRY4NK3AVJ64JUG6ENABDZI72KHPM2OYYKH7QC SIDH2P7NBIG5KEOE27XHD3ZT2NQ2OJZFN6VZXWNWYFFY5YVXSSVQC CQ24AVAI6SW3AHTIDMLPSTRRBEU6FHRF5I5FD6G5QIYE6PO4BQMQC 2P3IJKK547AOEFWKXEAL73QFKW423GGAZEZHW6OZ6QB7YUSDNC3AC NMZFCCM6O3KO2GJWKOSULN27B3QIZKWPBOB62PAILXMRQD4JMIMAC {simple_god_message(" blasts you with cleansing flame!", god);bolt beam;beam.beam_source = NON_MONSTER;beam.type = dchar_glyph(DCHAR_FIRED_BURST);beam.damage = calc_dice(2, 20 + (you.experience_level * 7) / 3);beam.flavour = BEAM_HOLY;beam.target = you.pos();beam.name = "golden flame";beam.colour = YELLOW;beam.thrower = KILL_MISC;beam.aux_source = "the Shining One's cleansing flame";beam.ex_size = 2;beam.is_tracer = false;beam.is_explosion = true;explosion(beam);
tso_blasts_cleansing_flame();
void tso_blasts_cleansing_flame(const char *message){// TSO won't protect you from his own cleansing flame, and Xom is too// capricious to protect you from it.if (you.religion != GOD_SHINING_ONE && you.religion != GOD_XOM&& !player_under_penance() && x_chance_in_y(you.piety, MAX_PIETY * 2)){god_speaks(you.religion,make_stringf("\"Mortal, I have averted the wrath of %s... ""this time.\"",god_name(GOD_SHINING_ONE).c_str()).c_str());}else{// If there's a message, display it before firing.if (message)god_speaks(GOD_SHINING_ONE, message);
simple_god_message(" blasts you with cleansing flame!",GOD_SHINING_ONE);bolt beam;beam.beam_source = NON_MONSTER;beam.type = dchar_glyph(DCHAR_FIRED_BURST);beam.damage = calc_dice(2, 20 + (you.experience_level * 7) / 3);beam.flavour = BEAM_HOLY;beam.target = you.pos();beam.name = "golden flame";beam.colour = YELLOW;beam.thrower = KILL_MISC;beam.aux_source = "the Shining One's cleansing flame";beam.ex_size = 2;beam.is_tracer = false;beam.is_explosion = true;explosion(beam);}}// Currently only used when holy beings have been killed.static std::string _get_tso_speech(const std::string key){std::string result = getSpeakString("TSO " + key);if (!result.empty())return (result);return ("The Shining One is angry!");}// Killing holy beings may anger TSO.void tso_holy_revenge(){god_acting gdact(GOD_SHINING_ONE, true);// TSO watches evil god worshippers more closely.if ((is_evil_god(you.religion) && one_chance_in(3))|| (!is_good_god(you.religion) && one_chance_in(4))){const char *revenge;if (is_evil_god(you.religion))revenge = _get_tso_speech("holy evil").c_str();else if (!is_good_god(you.religion))revenge = _get_tso_speech("holy other").c_str();tso_blasts_cleansing_flame(revenge);}}
###################################### TSO rants on killing a holy being ####################################### An evil worshipper has killed a holy beingTSO holy evilThe Shining One thunders, "Cease your foul attacks on the divine!"The Shining One shouts, "That base death shall not go unavenged!"%%%%# A non-good worshipper or atheist has killed a holy beingTSO holy otherThe Shining One says, "As holy lives are taken, so shall yours be."The Shining One warns, "Defile yourself no further with such kills."%%%%