diff --git a/zone/effects.cpp b/zone/effects.cpp index 98ebb32dd..149dc0742 100644 --- a/zone/effects.cpp +++ b/zone/effects.cpp @@ -806,7 +806,9 @@ bool Client::UseDiscipline(uint32 spell_id, uint32 target) { } } else { - CastSpell(spell_id, target, EQ::spells::CastingSlot::Discipline); + if (!CastSpell(spell_id, target, EQ::spells::CastingSlot::Discipline)) { + return false; + } } return(true); diff --git a/zone/spells.cpp b/zone/spells.cpp index 93e649a7d..f54d3fbcb 100644 --- a/zone/spells.cpp +++ b/zone/spells.cpp @@ -209,6 +209,7 @@ bool Mob::CastSpell(uint16 spell_id, uint16 target_id, CastingSlot slot, if (item_slot && IsClient() && (slot == CastingSlot::Item || slot == CastingSlot::PotionBelt)) { if (!CheckItemRaceClassDietyRestrictionsOnCast(item_slot)) { + StopCastSpell(spell_id, send_spellbar_enable); return false; } } @@ -6668,4 +6669,6 @@ bool Mob::CheckItemRaceClassDietyRestrictionsOnCast(uint32 inventory_slot) { } return(false); } + + return true; }