summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/fight.h
diff options
context:
space:
mode:
authorzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2008-12-10 11:59:16 +0000
committerzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2008-12-10 11:59:16 +0000
commit5e333ce7bdf88c826dfc0a8a8fa0cbba8b110167 (patch)
tree0b2046da98e1c80e489a6de62f2187a05d705bb6 /crawl-ref/source/fight.h
parenta9561bf49af71b98db45679d7489d483af7c2266 (diff)
downloadcrawl-ref-5e333ce7bdf88c826dfc0a8a8fa0cbba8b110167.tar.gz
crawl-ref-5e333ce7bdf88c826dfc0a8a8fa0cbba8b110167.zip
Changed weights of the brands a chaos weapon might simulate and the weight of
the various chaos effects, to make chaos brand less powerful. Added berserk and miscast effects for chaos effects, plus chaos weapons will occasionally give a message-only miscast effect if it would otherwise have done nothing. Added several effects that have a chance of happening to an attacker every time it uses a chaos brand/AF_CHAOS: dropping through temporary a shaft, having the stairs move out from under them, the weapon making a loud noise. Monsters killed by a chaos weapon/AF_CHAOS have a chance of immediately turning into a zombie (assuming the monster didn't leave a corpse; chaos effects don't (yet) use up corpses). git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7804 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/fight.h')
-rw-r--r--crawl-ref/source/fight.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/crawl-ref/source/fight.h b/crawl-ref/source/fight.h
index 8df5ec790d..b96c6785cb 100644
--- a/crawl-ref/source/fight.h
+++ b/crawl-ref/source/fight.h
@@ -145,6 +145,12 @@ public:
// both attacker and defender are in water.
bool water_attack;
+ // Miscast to cause after special damage is done. If miscast_level == 0
+ // the miscast is discarded if special_damage_message isn't empty.
+ int miscast_level;
+ int miscast_type;
+ actor* miscast_target;
+
public:
melee_attack(actor *attacker, actor *defender,
bool allow_unarmed = true, int attack_num = -1);
@@ -177,6 +183,9 @@ private:
std::string atk_name(description_level_type desc) const;
std::string def_name(description_level_type desc) const;
+ std::string wep_name(description_level_type desc = DESC_NOCAP_YOUR,
+ unsigned long ignore_flags = ISFLAG_KNOW_CURSE
+ | ISFLAG_KNOW_PLUSES) const;
bool attack_shield_blocked(bool verbose);
bool apply_damage_brand();
@@ -203,6 +212,7 @@ private:
void chaos_affects_attacker();
void chaos_killed_defender(monsters* def_copy);
int random_chaos_brand();
+ void do_miscast();
private:
// Monster-attack specific stuff