diff options
-rw-r--r-- | crawl-ref/source/fight.cc | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/crawl-ref/source/fight.cc b/crawl-ref/source/fight.cc index 16bf66e41e..317a2e4889 100644 --- a/crawl-ref/source/fight.cc +++ b/crawl-ref/source/fight.cc @@ -1722,11 +1722,16 @@ bool melee_attack::apply_damage_brand() emit_nodmg_hit_message(); - // declaring these just to pass to the enchant function - bolt beam_temp; - beam_temp.flavour = BEAM_CONFUSION; - - mons_ench_f2( def, beam_temp ); + // FIXME Currently Confusing Touch is the *only* way to get + // here. Generalise. + const int pow = calc_spell_power(SPELL_CONFUSING_TOUCH, true, false); + if (!check_mons_resist_magic(def, pow)) + { + // declaring these just to pass to the enchant function + bolt beam_temp; + beam_temp.flavour = BEAM_CONFUSION; + mons_ench_f2( def, beam_temp ); + } you.duration[DUR_CONFUSING_TOUCH] -= random2(20); |