summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/art-func.h
diff options
context:
space:
mode:
authorSteve Melenchuk <smelenchuk@gmail.com>2013-10-24 20:59:28 -0600
committerSteve Melenchuk <smelenchuk@gmail.com>2013-10-25 18:32:28 -0600
commitada9c99c822350021ec3722e75a21883b3c84dec (patch)
tree4118562a12dfdabc7751c8b2798209c186ecd859 /crawl-ref/source/art-func.h
parent9d11bedcde61dcb74406c8ee7cf11ad8a7d84a80 (diff)
downloadcrawl-ref-ada9c99c822350021ec3722e75a21883b3c84dec.tar.gz
crawl-ref-ada9c99c822350021ec3722e75a21883b3c84dec.zip
Hellfire-the-unrand gains a "hellfire brand".
Bolts fired from it inflict hellfire-flavoured damage and explode in a manner similar to other exploding projectiles (but also with hellfire-flavoured damage) - this of course means bolts fired from it have a 100% mulch rate. Its base damage enchantment is now +6; +9 is probably too overpowered, but lowering it all the way to +0 might be considered too much of a drawback in light of the mulch rate and the fact that rHellfire enemies, well, completely resist damage from Hellfire. (Who would have thought?) It's also now evil! (What the hellfire!?)
Diffstat (limited to 'crawl-ref/source/art-func.h')
-rw-r--r--crawl-ref/source/art-func.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/crawl-ref/source/art-func.h b/crawl-ref/source/art-func.h
index f79392877a..83f17efa0c 100644
--- a/crawl-ref/source/art-func.h
+++ b/crawl-ref/source/art-func.h
@@ -857,3 +857,33 @@ static void _SPIDER_unequip(item_def *item, bool *show_msgs)
{
you.check_clinging(false);
}
+
+///////////////////////////////////////////////////
+
+static void _HELLFIRE_equip(item_def *item, bool *show_msgs, bool unmeld)
+{
+ _equip_mpr(show_msgs, "Your hands smoulder for a moment.");
+}
+
+static setup_missile_type _HELLFIRE_launch(item_def* item, bolt* beam,
+ string* ammo_name, bool* returning)
+{
+ ASSERT(beam->item
+ && beam->item->base_type == OBJ_MISSILES
+ && !is_artefact(*(beam->item)));
+ beam->item->special = SPMSL_EXPLODING; // so that it mulches
+
+ beam->flavour = BEAM_HELLFIRE;
+ beam->name = "hellfire bolt";
+ *ammo_name = "a hellfire bolt";
+ beam->colour = LIGHTRED;
+ beam->glyph = DCHAR_FIRED_ZAP;
+
+ bolt *expl = new bolt(*beam);
+ expl->is_explosion = true;
+ expl->damage = dice_def(2, 5);
+ expl->name = "hellfire";
+
+ beam->special_explosion = expl;
+ return SM_FINISHED;
+}