diff options
author | zelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573> | 2009-06-27 09:58:49 +0000 |
---|---|---|
committer | zelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573> | 2009-06-27 09:58:49 +0000 |
commit | 7aa3305f41d2f073710d9a732bd29572b704bc49 (patch) | |
tree | 374aa17118ecb68bc4c237176506dbaf9aafb0b7 /crawl-ref/source/fight.h | |
parent | 3cc681e30ac236f7b88adece29f194cb30138ec8 (diff) | |
download | crawl-ref-7aa3305f41d2f073710d9a732bd29572b704bc49.tar.gz crawl-ref-7aa3305f41d2f073710d9a732bd29572b704bc49.zip |
* Moved most hard-coded non-standard unrandart behaviour to art-func.h,
specifically code for equipping, unequpping, an equipped unrandart doing
something every time world_reacts() is called (special wield effects),
melee hit effects, and evoking. Left hardcoded outside of art-func.h:
* Sword of Cerebov temproarily downgrading the defender's fire
resistance.
* Staff of Olgreb boosting poison spells, as if it were a staff
of poison.
* Vampire's Tooth always getting maximal vampiric drain.
* Mace of Variablity's initial pluses being chosen at creation time.
* Since what used to be special wield effects is now handled very
differently, noisy weapons and the lantern of shadows effects
are handled with player attributes rather than SPWLD_NOISES and
SPWLD_SHADOW.
* Unrandarts can now have an elemental colour for their colour
(currently only used for the Mace of Variability).
* Unrandarts' value modification, being special, and being
evil are now handled in art-data.txt rather than being hardcoded.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10055 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/fight.h')
-rw-r--r-- | crawl-ref/source/fight.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/crawl-ref/source/fight.h b/crawl-ref/source/fight.h index 10322818eb..ea55b2dc53 100644 --- a/crawl-ref/source/fight.h +++ b/crawl-ref/source/fight.h @@ -105,12 +105,14 @@ public: item_def *weapon; int damage_brand; // Can be special even if unarmed (transforms) int wpn_skill, hands; - int spwld; // Special wield effects? bool hand_half_bonus; - // If weapon is a randart, its properties. + // If weapon is an artefact, its properties. artefact_properties_t art_props; + // If a weapon is an unrandart, its unrandart entry. + unrandart_entry *unrand_entry; + // Attack messages std::string attack_verb, verb_degree; std::string no_damage_message; @@ -157,7 +159,7 @@ private: bool is_water_attack(const actor *, const actor *) const; void check_hand_half_bonus_eligible(); void check_autoberserk(); - void check_special_wield_effects(); + bool check_unrand_effects(bool mondied = false); void emit_nodmg_hit_message(); void identify_mimic(actor *mon); |