summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/fight.cc
diff options
context:
space:
mode:
authorzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2008-12-14 09:34:57 +0000
committerzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2008-12-14 09:34:57 +0000
commit88c3cb054fd143fc5737df3701763fa13db78624 (patch)
tree0f80c31703a0b6ee078bca1c11fd29640c9f0608 /crawl-ref/source/fight.cc
parent69dcbce751059060907927d5d11fdbb1c97cc53d (diff)
downloadcrawl-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.cc35
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.