summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/itemprop.h
diff options
context:
space:
mode:
authorzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2009-01-14 12:00:48 +0000
committerzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2009-01-14 12:00:48 +0000
commit85e11d2d3c892c2ffcd53b0bf55c0e83ce13fb9d (patch)
treec3a0a555a4e2e046ac138f75f1c3bfd76c4357f9 /crawl-ref/source/itemprop.h
parentb83cbbcaed12c8df8422b0fda6465189757ce1c9 (diff)
downloadcrawl-ref-85e11d2d3c892c2ffcd53b0bf55c0e83ce13fb9d.tar.gz
crawl-ref-85e11d2d3c892c2ffcd53b0bf55c0e83ce13fb9d.zip
Implented some ranged brands from FR #2006917 and #1891231: shadow and
penetration (not phasing) for launchers and shadow, penetration, dispersal, exploding, steel and silver for ammo. Never randomly generated. If a launcher of venom is used to launch flame or ice ammo then the resulting bolt will be poisoned, just like poisoned ammo launched from a launcer of flame or frost. Put missile beam setup code that's common to monsters and the player in setup_missile_beam(). Removed mons_thrown_object_destroyed(), thrown_object_destroyed() is now used for both monsters and the player. The bolt struct has several new callback fields that can be set to alter the beam's behaviour; currently only used by the brands implemented in this commit, but they should be general enough to be used by anything. The bolt struct has the new field "special_explosion" which can be used to cause an explosion with flavour and/or damage dice different than the rest of the beam. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8449 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/itemprop.h')
-rw-r--r--crawl-ref/source/itemprop.h22
1 files changed, 16 insertions, 6 deletions
diff --git a/crawl-ref/source/itemprop.h b/crawl-ref/source/itemprop.h
index b617aa90c9..8d8b2fe4dc 100644
--- a/crawl-ref/source/itemprop.h
+++ b/crawl-ref/source/itemprop.h
@@ -12,6 +12,8 @@
#include "externs.h"
+struct bolt;
+
enum armour_type
{
ARM_ROBE, // 0
@@ -99,6 +101,8 @@ enum brand_type // equivalent to (you.inv[].special or mitm[].special) % 30
SPWPN_CHAOS,
SPWPN_CONFUSE, // 20
+ SPWPN_PENETRATION,
+ SPWPN_SHADOW,
SPWPN_RANDART_I = 25, // 25
SPWPN_RANDART_II,
SPWPN_RANDART_III,
@@ -351,13 +355,19 @@ enum special_missile_type // to separate from weapons in general {dlb}
{
SPMSL_FORBID_BRAND = -1, // -1
SPMSL_NORMAL, // 0
- SPMSL_FLAME, // 1
- SPMSL_ICE, // 2
- SPMSL_POISONED, // 3
- SPMSL_POISONED_II, // 4 - unused
+ SPMSL_FLAME,
+ SPMSL_ICE,
+ SPMSL_POISONED,
+ SPMSL_POISONED_II, // unused
SPMSL_CURARE, // 5
- SPMSL_RETURNING, // 6
- SPMSL_CHAOS // 7
+ SPMSL_RETURNING,
+ SPMSL_CHAOS,
+ SPMSL_PENETRATION,
+ SPMSL_SHADOW,
+ SPMSL_DISPERSAL, // 10
+ SPMSL_EXPLODING,
+ SPMSL_STEEL,
+ SPMSL_SILVER
};
enum special_ring_type // jewellery mitm[].special values