From 5e333ce7bdf88c826dfc0a8a8fa0cbba8b110167 Mon Sep 17 00:00:00 2001 From: zelgadis Date: Wed, 10 Dec 2008 11:59:16 +0000 Subject: 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 --- crawl-ref/source/fight.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'crawl-ref/source/fight.h') 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 -- cgit v1.2.3-54-g00ecf