diff options
author | zelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573> | 2009-01-14 12:00:48 +0000 |
---|---|---|
committer | zelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573> | 2009-01-14 12:00:48 +0000 |
commit | 85e11d2d3c892c2ffcd53b0bf55c0e83ce13fb9d (patch) | |
tree | c3a0a555a4e2e046ac138f75f1c3bfd76c4357f9 /crawl-ref/source/itemprop.h | |
parent | b83cbbcaed12c8df8422b0fda6465189757ce1c9 (diff) | |
download | crawl-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.h | 22 |
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 |