summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/ranged_attack.cc
diff options
context:
space:
mode:
authorSteve Melenchuk <smelenchuk@gmail.com>2014-04-29 09:15:28 -0600
committerSteve Melenchuk <smelenchuk@gmail.com>2014-04-29 09:15:28 -0600
commit5debce609e11d4c73fcf57d2eb89d62839cb7655 (patch)
treeec0d1d13e493401447bd6ba64dad87ca88aebcbd /crawl-ref/source/ranged_attack.cc
parent05377e05db167e0930e5aed317b269b717cc08ef (diff)
downloadcrawl-ref-5debce609e11d4c73fcf57d2eb89d62839cb7655.tar.gz
crawl-ref-5debce609e11d4c73fcf57d2eb89d62839cb7655.zip
Make needle poisoning consistent with ! display (78291).
That is, if the needle is dealing out poison (causing !s to display), make sure the enemy is actually poisoned.
Diffstat (limited to 'crawl-ref/source/ranged_attack.cc')
-rw-r--r--crawl-ref/source/ranged_attack.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/crawl-ref/source/ranged_attack.cc b/crawl-ref/source/ranged_attack.cc
index 3103c7708a..bc48d82b50 100644
--- a/crawl-ref/source/ranged_attack.cc
+++ b/crawl-ref/source/ranged_attack.cc
@@ -628,7 +628,12 @@ bool ranged_attack::apply_missile_brand()
defender->expose_to_element(BEAM_COLD, 2, false);
break;
case SPMSL_POISONED:
- if (stab_attempt || !one_chance_in(4))
+ if (stab_attempt
+ || (projectile->base_type == OBJ_MISSILES
+ && projectile->sub_type == MI_NEEDLE
+ && using_weapon()
+ && damage_done > 0)
+ || !one_chance_in(4))
{
int old_poison;