diff options
author | zelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-12-01 12:29:07 +0000 |
---|---|---|
committer | zelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-12-01 12:29:07 +0000 |
commit | f5e97453a4ac3af452849dd8b3b429ecc8c7389d (patch) | |
tree | ae4ebfa3f583fde4b04738b120e0575f65b45353 /crawl-ref/source/itemprop.h | |
parent | 04f5058cac8e12d3b85834bda4589239932f371a (diff) | |
download | crawl-ref-f5e97453a4ac3af452849dd8b3b429ecc8c7389d.tar.gz crawl-ref-f5e97453a4ac3af452849dd8b3b429ecc8c7389d.zip |
Added shields of reflection, though they're not randomly generated and have no
valuation is shopping.cc. It currently only reflects missiles that are blocked
with the shield. They could also reflect the brand effects of blocked melee
weapons, but I'm not sure if that's a good idea.
drop_item and the item to be dropped have been moved from fire_beam()'s
parameters into the bolt structure, along with the beam's remaining range.
Seems to work fine, but it might still lead to some buggyness.
The game now distinguishes between killing yourself by hitting yourself with a
beam bounced off a wall versus other forms of self targeting.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7705 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/itemprop.h')
-rw-r--r-- | crawl-ref/source/itemprop.h | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/crawl-ref/source/itemprop.h b/crawl-ref/source/itemprop.h index 2723fc4057..7eda4e983e 100644 --- a/crawl-ref/source/itemprop.h +++ b/crawl-ref/source/itemprop.h @@ -343,7 +343,8 @@ enum special_armour_type SPARM_RESISTANCE, // 15 SPARM_POSITIVE_ENERGY, SPARM_ARCHMAGI, - SPARM_PRESERVATION // 18 + SPARM_PRESERVATION, + SPARM_REFLECTION // 19 }; enum special_missile_type // to separate from weapons in general {dlb} @@ -637,6 +638,12 @@ bool item_is_rechargable(const item_def &it, bool known = false); bool is_enchantable_weapon(const item_def &wpn, bool uncurse); bool is_enchantable_armour(const item_def &arm, bool uncurse); +bool is_shield(const item_def &item); +bool is_shield_incompatible(const item_def &weapon, + const item_def *shield = NULL); +bool shield_reflects(const item_def &shield); + +// Only works for armour/weapons/missiles // weapon functions: int weapon_rarity( int w_type ); @@ -721,11 +728,6 @@ size_type item_size( const item_def &item ); bool is_colourful_item( const item_def &item ); -bool is_shield(const item_def &item); -bool is_shield_incompatible(const item_def &weapon, - const item_def *shield = NULL); - -// Only works for armour/weapons/missiles std::string item_base_name(const item_def &item); const char* weapon_base_name(unsigned char subtype); |