diff options
author | zelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-12-14 09:34:57 +0000 |
---|---|---|
committer | zelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-12-14 09:34:57 +0000 |
commit | 88c3cb054fd143fc5737df3701763fa13db78624 (patch) | |
tree | 0f80c31703a0b6ee078bca1c11fd29640c9f0608 /crawl-ref/source/fight.cc | |
parent | 69dcbce751059060907927d5d11fdbb1c97cc53d (diff) | |
download | crawl-ref-88c3cb054fd143fc5737df3701763fa13db78624.tar.gz crawl-ref-88c3cb054fd143fc5737df3701763fa13db78624.zip |
Some updates to the chaos brand based on discussions:
1) Remove behavior/logic which wouldn't be evident to the player.
2) Xom only gives chaos branded missiles and launchers to hostile monsters,
never as a gift to the player.
3) The frequency of a branded Xom gift being switched to the chaos brand
has decreased from 33% to 20%.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7831 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/fight.cc')
-rw-r--r-- | crawl-ref/source/fight.cc | 35 |
1 files changed, 15 insertions, 20 deletions
diff --git a/crawl-ref/source/fight.cc b/crawl-ref/source/fight.cc index b78b568ef3..a66dd8c034 100644 --- a/crawl-ref/source/fight.cc +++ b/crawl-ref/source/fight.cc @@ -2209,7 +2209,6 @@ void melee_attack::chaos_affects_defender() const bool mon = defender->atype() == ACT_MONSTER; const bool immune = mon && mons_immune_magic(def); const bool is_shifter = mon && mons_is_shapeshifter(def); - const bool is_chaotic = mon && mons_is_chaotic(def); const bool can_clone = mon && !mons_is_holy(def) && mons_clonable(def, true); const bool can_poly = is_shifter || (defender->can_safely_mutate() @@ -2223,25 +2222,9 @@ void melee_attack::chaos_affects_defender() int rage_chance = can_rage ? 10 : 0; int miscast_chance = 10; - if (is_chaotic) - { - // Polymorphing might reduce amount of chaos in the world. - poly_chance = 0; - poly_up_chance = 0; - - // Chaos wants more chaos. - clone_chance *= 2; - - // Chaos loves shifters. - if (is_shifter) - { - clone_chance *= 2; - poly_up_chance = 4; - - // Already a shifter - shifter_chance = 0; - } - } + if (is_shifter) + // Already a shifter + shifter_chance = 0; // A chaos self-attack increased the chance of certain effects, // due to a short-circuit/feedback/resonance/whatever. @@ -2252,6 +2235,18 @@ void melee_attack::chaos_affects_defender() poly_up_chance *= 2; shifter_chance *= 2; miscast_chance *= 2; + + // Inform player that something is up. + if (see_grid(defender->pos())) + { + if (defender->atype() == ACT_PLAYER) + mpr("You give off a flash of multi-coloured light!"); + else if (you.can_see(defender)) + simple_monster_message(def, " gives off a flash of " + "multi-coloured light!"); + else + mpr("There is a flash of multi-coloured light!"); + } } // NOTE: Must appear in exact same order as in chaos_type enumeration. |