diff options
Diffstat (limited to 'crawl-ref/source/spl-cast.cc')
-rw-r--r-- | crawl-ref/source/spl-cast.cc | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/crawl-ref/source/spl-cast.cc b/crawl-ref/source/spl-cast.cc index 3997032251..8416d55c61 100644 --- a/crawl-ref/source/spl-cast.cc +++ b/crawl-ref/source/spl-cast.cc @@ -989,8 +989,8 @@ static void _try_monster_cast(spell_type spell, int powc, // Others are currently unused or unimplemented. spret_type your_spells(spell_type spell, int powc, bool allow_fail) { - struct dist spd; - struct bolt beam; + dist spd; + bolt beam; // [dshaligram] Any action that depends on the spellcasting attempt to have // succeeded must be performed after the switch(). @@ -1009,7 +1009,7 @@ spret_type your_spells(spell_type spell, int powc, bool allow_fail) if ((flags & SPFLAG_TARGETING_MASK) && spell != SPELL_BURN && spell != SPELL_FREEZE && spell != SPELL_CRUSH && spell != SPELL_ARC - && spell != SPELL_FRAGMENTATION && spell != SPELL_PORTAL_PROJECTILE) + && spell != SPELL_PORTAL_PROJECTILE) { targ_mode_type targ = (testbits(flags, SPFLAG_HELPFUL) ? TARG_FRIEND : TARG_ENEMY); @@ -1447,7 +1447,8 @@ spret_type your_spells(spell_type spell, int powc, bool allow_fail) break; case SPELL_FRAGMENTATION: - cast_fragmentation(powc); + if (!cast_fragmentation(powc, spd)) + return (SPRET_ABORT); break; case SPELL_FAR_STRIKE: |