summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/fight.h
diff options
context:
space:
mode:
authorzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2009-06-27 09:58:49 +0000
committerzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2009-06-27 09:58:49 +0000
commit7aa3305f41d2f073710d9a732bd29572b704bc49 (patch)
tree374aa17118ecb68bc4c237176506dbaf9aafb0b7 /crawl-ref/source/fight.h
parent3cc681e30ac236f7b88adece29f194cb30138ec8 (diff)
downloadcrawl-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.h8
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);