diff options
author | Nicholas Feinberg <pleasingfung@gmail.com> | 2014-07-31 21:28:05 -0700 |
---|---|---|
committer | Nicholas Feinberg <pleasingfung@gmail.com> | 2014-07-31 21:33:34 -0700 |
commit | 838f727e50f8fe6fd7f906f2bfb0d120ab0ac62a (patch) | |
tree | 52615508832f035db4ba660c55e84df6c84883f0 | |
parent | 6a83109defc1ef0639d5a9296b1f1d8263a91c81 (diff) | |
download | crawl-ref-838f727e50f8fe6fd7f906f2bfb0d120ab0ac62a.tar.gz crawl-ref-838f727e50f8fe6fd7f906f2bfb0d120ab0ac62a.zip |
Add the new monster spell 'Corrosive Bolt'
As part of the continuing quest to add more acid to more places.
For now, it's on deep elf sorcerers (replacing b. draining),
tengu reavers (replacing one of the venom bolts in one of their
spellbooks), and a./liches (replacing the bolt of draining in one
of their spellbooks).
-rw-r--r-- | crawl-ref/source/dat/descript/spells.txt | 4 | ||||
-rw-r--r-- | crawl-ref/source/enum.h | 2 | ||||
-rw-r--r-- | crawl-ref/source/mon-cast.cc | 9 | ||||
-rw-r--r-- | crawl-ref/source/mon-spll.h | 6 | ||||
-rw-r--r-- | crawl-ref/source/spl-data.h | 13 | ||||
-rw-r--r-- | crawl-ref/source/spl-zap.cc | 2 | ||||
-rw-r--r-- | crawl-ref/source/zap-data.h | 16 |
7 files changed, 49 insertions, 3 deletions
diff --git a/crawl-ref/source/dat/descript/spells.txt b/crawl-ref/source/dat/descript/spells.txt index 2b42c95e2c..6a7018868e 100644 --- a/crawl-ref/source/dat/descript/spells.txt +++ b/crawl-ref/source/dat/descript/spells.txt @@ -317,6 +317,10 @@ This spell rapidly accelerates the decomposition of any corpses lying around the caster, emitting in the process a foul miasmic vapour, which eats away at the life force of any creature it envelops. %%%% +Corrosive Bolt spell + +This spell hurls a penetrating bolt of acid. +%%%% Corrupt Body spell This spell instills a corruption within a target, temporarily mutating their diff --git a/crawl-ref/source/enum.h b/crawl-ref/source/enum.h index 8752837214..6a3e535ade 100644 --- a/crawl-ref/source/enum.h +++ b/crawl-ref/source/enum.h @@ -4200,6 +4200,7 @@ enum spell_type SPELL_SUMMON_MANA_VIPER, SPELL_PHANTOM_MIRROR, SPELL_DRAIN_MAGIC, + SPELL_CORROSIVE_BOLT, NUM_SPELLS }; @@ -4365,6 +4366,7 @@ enum zap_type ZAP_CRYSTAL_BOLT, ZAP_TUKIMAS_DANCE, ZAP_QUICKSILVER_BOLT, + ZAP_CORROSIVE_BOLT, ZAP_RANDOM_BOLT_TRACER, NUM_ZAPS diff --git a/crawl-ref/source/mon-cast.cc b/crawl-ref/source/mon-cast.cc index 12615c9313..31542b2afa 100644 --- a/crawl-ref/source/mon-cast.cc +++ b/crawl-ref/source/mon-cast.cc @@ -1075,6 +1075,15 @@ bolt mons_spell_beam(monster* mons, spell_type spell_cast, int power, beam.flavour = BEAM_DRAIN_MAGIC; break; + case SPELL_CORROSIVE_BOLT: + beam.colour = YELLOW; + beam.name = "corrosive bolt"; + beam.damage = dice_def(3, 9 + power / 17); + beam.flavour = BEAM_ACID; + beam.hit = 17 + power / 25; + beam.is_beam = true; + break; + default: if (check_validity) { diff --git a/crawl-ref/source/mon-spll.h b/crawl-ref/source/mon-spll.h index c3ae8f9276..8d198bfc85 100644 --- a/crawl-ref/source/mon-spll.h +++ b/crawl-ref/source/mon-spll.h @@ -123,7 +123,7 @@ { MST_LICH_III, { - SPELL_BOLT_OF_DRAINING, + SPELL_CORROSIVE_BOLT, SPELL_SLOW, SPELL_INVISIBILITY, SPELL_THROW_ICICLE, @@ -662,7 +662,7 @@ { MST_DEEP_ELF_SORCERER, { - SPELL_BOLT_OF_DRAINING, + SPELL_CORROSIVE_BOLT, SPELL_BANISHMENT, SPELL_HASTE, SPELL_SUMMON_DEMON, @@ -2040,7 +2040,7 @@ { MST_TENGU_REAVER_III, { SPELL_VENOM_BOLT, - SPELL_VENOM_BOLT, + SPELL_CORROSIVE_BOLT, SPELL_BATTLESPHERE, SPELL_POISONOUS_CLOUD, SPELL_BATTLESPHERE, diff --git a/crawl-ref/source/spl-data.h b/crawl-ref/source/spl-data.h index dd5223fdef..5bbea4039f 100644 --- a/crawl-ref/source/spl-data.h +++ b/crawl-ref/source/spl-data.h @@ -3779,6 +3779,19 @@ static const struct spell_desc spelldata[] = }, { + SPELL_CORROSIVE_BOLT, "Corrosive Bolt", + SPTYP_CONJURATION, + SPFLAG_DIR_OR_TARGET, + 6, + 200, + 6, 6, + 0, + NULL, + true, + false +}, + +{ SPELL_NO_SPELL, "nonexistent spell", 0, SPFLAG_TESTING, diff --git a/crawl-ref/source/spl-zap.cc b/crawl-ref/source/spl-zap.cc index 2b8a5aacfd..1fbbdb0b7d 100644 --- a/crawl-ref/source/spl-zap.cc +++ b/crawl-ref/source/spl-zap.cc @@ -106,6 +106,8 @@ zap_type spell_to_zap(spell_type spell) return ZAP_CRYSTAL_BOLT; case SPELL_TUKIMAS_DANCE: return ZAP_TUKIMAS_DANCE; + case SPELL_CORROSIVE_BOLT: + return ZAP_CORROSIVE_BOLT; case SPELL_DEBUGGING_RAY: return ZAP_DEBUGGING_RAY; default: diff --git a/crawl-ref/source/zap-data.h b/crawl-ref/source/zap-data.h index d706bdc103..1f2002bf16 100644 --- a/crawl-ref/source/zap-data.h +++ b/crawl-ref/source/zap-data.h @@ -1166,6 +1166,22 @@ static const zap_info zap_data[] = }, { + ZAP_CORROSIVE_BOLT, + "corrosive bolt", + 200, + new calcdice_calculator<1, 11, 3, 5>, + new tohit_calculator<10, 1, 25>, + YELLOW, + false, + BEAM_ACID, + DCHAR_FIRED_ZAP, + true, + true, + false, + 6 +}, + +{ ZAP_RANDOM_BOLT_TRACER, "random bolt tracer", 200, |