mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-22 13:16:23 +00:00
refactor(Core/Instances): Update CHAR_DELETE_INSTANCE_SAVED_DATA (#11866)
* Update InstanceSaveMgr.cpp * Update Group.cpp * Update InstanceSaveMgr.cpp * Update InstanceSaveMgr.h * Update InstanceSaveMgr.cpp * Update InstanceSaveMgr.h * Update InstanceSaveMgr.cpp * Update InstanceSaveMgr.h * Update InstanceSaveMgr.cpp * Update Group.cpp * Update PlayerMisc.cpp * Update InstanceSaveMgr.h * Update Group.cpp * Update PlayerMisc.cpp * Update Group.cpp * Update Group.cpp * Update InstanceSaveMgr.cpp * Update InstanceSaveMgr.h * Update Group.h * Update InstanceSaveMgr.cpp * Update InstanceSaveMgr.cpp * Update InstanceSaveMgr.cpp
This commit is contained in:
@@ -132,6 +132,7 @@ bool InstanceSaveMgr::DeleteInstanceSaveIfNeeded(InstanceSave* save, bool skipMa
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_INSTANCE_BY_INSTANCE);
|
||||
stmt->SetData(0, save->GetInstanceId());
|
||||
CharacterDatabase.Execute(stmt);
|
||||
DeleteInstanceSavedData(save->GetInstanceId());
|
||||
|
||||
// clear respawn times (if map is loaded do it just to be sure, if already unloaded it won't do it by itself)
|
||||
Map::DeleteRespawnTimesInDB(save->GetMapId(), save->GetInstanceId());
|
||||
@@ -244,6 +245,16 @@ void InstanceSaveMgr::SanitizeInstanceSavedData()
|
||||
CharacterDatabase.Execute(stmt);
|
||||
}
|
||||
|
||||
void InstanceSaveMgr::DeleteInstanceSavedData(uint32 instanceId)
|
||||
{
|
||||
if (instanceId)
|
||||
{
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DELETE_INSTANCE_SAVED_DATA);
|
||||
stmt->SetData(0, instanceId);
|
||||
CharacterDatabase.Execute(stmt);
|
||||
}
|
||||
}
|
||||
|
||||
void InstanceSaveMgr::LoadInstances()
|
||||
{
|
||||
uint32 oldMSTime = getMSTime();
|
||||
@@ -512,6 +523,7 @@ void InstanceSaveMgr::_ResetSave(InstanceSaveHashMap::iterator& itr)
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_INSTANCE_BY_INSTANCE);
|
||||
stmt->SetData(0, itr->second->GetInstanceId());
|
||||
CharacterDatabase.Execute(stmt);
|
||||
DeleteInstanceSavedData(itr->second->GetInstanceId());
|
||||
|
||||
// clear respawn times if the map is already unloaded and won't do it by itself
|
||||
if (!sMapMgr->FindMap(itr->second->GetMapId(), itr->second->GetInstanceId()))
|
||||
|
||||
Reference in New Issue
Block a user