From 51045ff40e6ad4aee682c877edef55ea0452a384 Mon Sep 17 00:00:00 2001 From: j-p-e-g Date: Tue, 15 Jan 2008 20:13:32 +0000 Subject: FR 1813275: Change description of dragon slaying to an old suggestion by Lemuel. Also: Increase bonus damage for orc/dragon slaying from random(damage) to random(3/2*damage). * FR 1832851: Add flavour message when destroying evil weapons as an Elyvilonist. (I'm wary of increasing the piety returns.) git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3278 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/religion.cc | 44 ++++++++++++++++++++++++++------------------ 1 file changed, 26 insertions(+), 18 deletions(-) (limited to 'crawl-ref/source/religion.cc') diff --git a/crawl-ref/source/religion.cc b/crawl-ref/source/religion.cc index 1fc0c51855..59053179da 100644 --- a/crawl-ref/source/religion.cc +++ b/crawl-ref/source/religion.cc @@ -1845,29 +1845,37 @@ bool ely_destroy_weapons() mprf(MSGCH_DIAGNOSTICS, "Destroyed weapon value: %d", value); #endif - bool pgain = false; - if (is_evil_weapon(mitm[i]) - || random2(value) >= random2(250) // artefacts (incl. most randarts) - || (random2(value) >= random2(100) - && one_chance_in(1 + you.piety/50)) - || (mitm[i].base_type == OBJ_WEAPONS - && (you.piety < 30 || player_under_penance()))) - { - pgain = true; + if (is_evil_weapon(mitm[i])) + { + simple_god_message(" welcomes the destruction of this evil weapon.", + GOD_ELYVILON); gain_piety(1); } + else + { + bool pgain = false; + if (random2(value) >= random2(250) // artefacts (incl. most randarts) + || (random2(value) >= random2(100) + && one_chance_in(1 + you.piety/50)) + || (mitm[i].base_type == OBJ_WEAPONS + && (you.piety < 30 || player_under_penance()))) + { + pgain = true; + gain_piety(1); + } - std::ostream& strm = msg::streams(MSGCH_GOD); - strm << mitm[i].name(DESC_CAP_THE); - - if (!pgain) - strm << " barely"; + std::ostream& strm = msg::streams(MSGCH_GOD); + strm << mitm[i].name(DESC_CAP_THE); - if ( mitm[i].quantity == 1 ) - strm << " shimmers and breaks into pieces." << std::endl; - else - strm << " shimmer and break into pieces." << std::endl; + if (!pgain) + strm << " barely"; + if ( mitm[i].quantity == 1 ) + strm << " shimmers and breaks into pieces." << std::endl; + else + strm << " shimmer and break into pieces." << std::endl; + } + destroy_item(i); success = true; i = next; -- cgit v1.2.3-54-g00ecf