From 6ec09f300a225498e0ec2d2399f275040b038b1e Mon Sep 17 00:00:00 2001 From: Fryguy Date: Sun, 7 Jan 2024 04:47:09 -0500 Subject: [PATCH] [Bug Fix] Dire Charm Reset (#3875) * [Bug Fix] Dire Charm Reset Added Druid and Necro Dire Charm to Failure Check * [Rule] RequireMnemonicRetention for Spells 9-12 Rule Rule is default false to maintain current server setup. Enabling will require clients to have the required ranks of Mnemonic Retention in order to cast. This is a stopgap as on live, the buttons are not even available to use. This will mimic the functionality but denying the cast. * Revert "[Rule] RequireMnemonicRetention for Spells 9-12 Rule" This reverts commit c65e86223da7fbd961ff1f54f059ccb4e20b5290. --- zone/spells.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/zone/spells.cpp b/zone/spells.cpp index 4299994fd..c1fc75166 100644 --- a/zone/spells.cpp +++ b/zone/spells.cpp @@ -4095,6 +4095,11 @@ bool Mob::SpellOnTarget( // check immunities if (spelltar->IsImmuneToSpell(spell_id, this)) { + // If we tried with Dire Charm, we need to reset the timer. + if (IsClient() && (casting_spell_aa_id == aaDireCharm || casting_spell_aa_id == aaDireCharm2 || casting_spell_aa_id == aaDireCharm3)) { + StopCasting(); + } + //the above call does the message to the client if needed LogSpells("Spell [{}] can't take hold due to immunity [{}] -> [{}]", spell_id, GetName(), spelltar->GetName()); safe_delete(action_packet);