diff options
author | Steve Melenchuk <smelenchuk@gmail.com> | 2013-10-24 20:59:28 -0600 |
---|---|---|
committer | Steve Melenchuk <smelenchuk@gmail.com> | 2013-10-25 18:32:28 -0600 |
commit | ada9c99c822350021ec3722e75a21883b3c84dec (patch) | |
tree | 4118562a12dfdabc7751c8b2798209c186ecd859 /crawl-ref/source/art-func.h | |
parent | 9d11bedcde61dcb74406c8ee7cf11ad8a7d84a80 (diff) | |
download | crawl-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.h | 30 |
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; +} |