diff options
author | Jude Brown <bookofjude@users.sourceforge.net> | 2010-01-01 23:04:17 +1000 |
---|---|---|
committer | Jude Brown <bookofjude@users.sourceforge.net> | 2010-01-01 23:04:17 +1000 |
commit | 27eb1eb69656fae951122563fab9d8b2ea37aae6 (patch) | |
tree | ccd342e3a24109cc54c4d7b34d1856774954ab72 /crawl-ref/source/item_use.cc | |
parent | d9875be622ef0d4eea8e0a936636bc355912dc74 (diff) | |
download | crawl-ref-27eb1eb69656fae951122563fab9d8b2ea37aae6.tar.gz crawl-ref-27eb1eb69656fae951122563fab9d8b2ea37aae6.zip |
Another ranged combat target: branded launcher + branded ammo.
This specifically allows for the combination of poison + flaming arrows,
so that Nessos is not unfairly nerfed. Otherwise, launcher brands will
not affect ammunition at all. They will only apply to unbranded
ammunition.
I'm not too sure on this myself. The idea that a flaming bow does not
affect a missile of frost, or vice versa, a freezing bow does not affect
a missile of flame is a little bit odd. It's possible that I
misunderstood, and if so, this commit should be reverted.
Diffstat (limited to 'crawl-ref/source/item_use.cc')
-rw-r--r-- | crawl-ref/source/item_use.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/crawl-ref/source/item_use.cc b/crawl-ref/source/item_use.cc index 85bd75d4db..cf13353bb6 100644 --- a/crawl-ref/source/item_use.cc +++ b/crawl-ref/source/item_use.cc @@ -2048,9 +2048,19 @@ bool setup_missile_beam(const actor *agent, bolt &beam, item_def &item, || ammo_brand == SPMSL_ELECTRIC; const bool blessed = bow_brand == SPWPN_HOLY_WRATH && ammo_brand != SPMSL_REAPING; + const bool flaming = bow_brand == SPWPN_FLAME + || ammo_brand == SPMSL_FLAME; ASSERT(!exploding || !is_artefact(item)); + if (flaming && poisoned) + ; // Do nothing. A specific exclusion to launcher not overwriting + // ammunition brands. + else + // XXX: Launcher brand does not affect its ammunition. This may change. + if (ammo_brand != SPMSL_NORMAL && bow_brand != SPWPN_NORMAL) + bow_brand = SPWPN_NORMAL; + beam.name = item.name(DESC_PLAIN, false, false, false); // Print type of item as influenced by launcher. |