diff options
author | Stefan O'Rear <stefanor@cox.net> | 2010-01-04 02:41:32 -0800 |
---|---|---|
committer | Stefan O'Rear <stefanor@cox.net> | 2010-01-04 02:41:32 -0800 |
commit | 337f1de1f6a09d7b72a74a9fb6d8365ba9566d4e (patch) | |
tree | 567d755c60ea28b2b5fde216dd0bf2c486eec3f9 /crawl-ref/source/item_use.cc | |
parent | bc341fd60b061e3f398ce887ebe4e84a08898c20 (diff) | |
download | crawl-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.cc | 39 |
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) |