summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/item_use.cc
diff options
context:
space:
mode:
authorStefan O'Rear <stefanor@cox.net>2010-01-04 02:41:32 -0800
committerStefan O'Rear <stefanor@cox.net>2010-01-04 02:41:32 -0800
commit337f1de1f6a09d7b72a74a9fb6d8365ba9566d4e (patch)
tree567d755c60ea28b2b5fde216dd0bf2c486eec3f9 /crawl-ref/source/item_use.cc
parentbc341fd60b061e3f398ce887ebe4e84a08898c20 (diff)
downloadcrawl-ref-337f1de1f6a09d7b72a74a9fb6d8365ba9566d4e.tar.gz
crawl-ref-337f1de1f6a09d7b72a74a9fb6d8365ba9566d4e.zip
Restore poisoned missiles to their rightful glory
Poisoned missiles shot by the player have been much weaker since pre-Soup days, and the best explanation I know is that this is to compensate for the existance of permanent branding spells. Now that those are gone, we don't need the confusing power disparity.
Diffstat (limited to 'crawl-ref/source/item_use.cc')
-rw-r--r--crawl-ref/source/item_use.cc39
1 files changed, 3 insertions, 36 deletions
diff --git a/crawl-ref/source/item_use.cc b/crawl-ref/source/item_use.cc
index f7ec1134f8..b24d4c204b 100644
--- a/crawl-ref/source/item_use.cc
+++ b/crawl-ref/source/item_use.cc
@@ -1696,43 +1696,10 @@ static bool _poison_hit_victim(bolt& beam, actor* victim, int dmg, int corpse)
actor* agent = beam.agent();
- if (agent->atype() == ACT_MONSTER)
+ if (dmg > 0 || beam.ench_power == AUTOMATIC_HIT
+ && x_chance_in_y(90 - 3 * victim->armour_class(), 100))
{
- if (dmg > 0 || beam.ench_power == AUTOMATIC_HIT
- && x_chance_in_y(90 - 3 * victim->armour_class(), 100))
- {
- levels = 1 + random2(3);
- }
- }
- else
- {
- if (beam.ench_power == AUTOMATIC_HIT
- && x_chance_in_y(90 - 3 * victim->armour_class(), 100))
- {
- levels = 2;
- }
- else if (random2(dmg) > random2(victim->armour_class()))
- levels = 1;
-
- int num_success = 0;
- if (YOU_KILL(beam.thrower))
- {
- const int skill_level = _item_to_skill_level(beam.item);
- if (x_chance_in_y(skill_level + 25, 50))
- num_success++;
- if (x_chance_in_y(skill_level, 50))
- num_success++;
- }
- else
- num_success = 1;
-
- if (num_success == 0)
- return (false);
- else
- {
- if (num_success == 2)
- levels++;
- }
+ levels = 1 + random2(3);
}
if (levels <= 0)