Browse Source

Fix /reload spells

Emagi 1 year ago
parent
commit
dbb5795759
1 changed files with 4 additions and 1 deletions
  1. 4 1
      EQ2/source/WorldServer/SpellProcess.cpp

+ 4 - 1
EQ2/source/WorldServer/SpellProcess.cpp

@@ -44,7 +44,6 @@ SpellProcess::~SpellProcess(){
 }
 
 void SpellProcess::RemoveAllSpells(){
-    std::unique_lock lock(MSpellProcess);	
 	ClearSpellScriptTimerList();
 
 	MutexList<LuaSpell*>::iterator active_spells_itr = active_spells.begin();
@@ -52,6 +51,8 @@ void SpellProcess::RemoveAllSpells(){
 		DeleteCasterSpell(active_spells_itr->value, "");
 	}
 
+	MSpellProcess.lock();
+	
 	active_spells_itr = active_spells.begin();
 	while(active_spells_itr.Next()){
 		active_spells.Remove(active_spells_itr->value, true);
@@ -104,6 +105,8 @@ void SpellProcess::RemoveAllSpells(){
 	MSpellCancelList.writelock(__FUNCTION__, __LINE__);
 	SpellCancelList.clear();
 	MSpellCancelList.releasewritelock(__FUNCTION__, __LINE__);
+	
+	MSpellProcess.unlock();
 }
 
 void SpellProcess::Process(){