From 883f172312c32a9f62ccdbcbc3e58dd6167b0861 Mon Sep 17 00:00:00 2001 From: Emagi Date: Tue, 21 Jan 2025 09:20:04 -0500 Subject: [PATCH] make sure to remove spell effect so we don't try to access a dead spell ptr later --- source/WorldServer/LuaInterface.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/source/WorldServer/LuaInterface.cpp b/source/WorldServer/LuaInterface.cpp index 4a7c35b..aa52893 100644 --- a/source/WorldServer/LuaInterface.cpp +++ b/source/WorldServer/LuaInterface.cpp @@ -892,8 +892,14 @@ void LuaInterface::RemoveSpell(LuaSpell* spell, bool call_remove_function, bool ResetFunctionStack(spell->state); } - if(return_after_call_remove) + if(return_after_call_remove) { + if(overrideTarget && overrideTarget->IsEntity()) { + ((Entity*)overrideTarget)->RemoveProc(0, spell); + ((Entity*)overrideTarget)->RemoveSpellEffect(spell); + ((Entity*)overrideTarget)->RemoveSpellBonus(spell); + } return; + } spell->MSpellTargets.readlock(__FUNCTION__, __LINE__); if(spell->caster) {