diff options
-rw-r--r-- | src/server/game/Globals/ObjectMgr.cpp | 10 | ||||
-rw-r--r-- | src/server/shared/Database/Implementation/WorldDatabase.cpp | 2 | ||||
-rw-r--r-- | src/server/shared/Database/Implementation/WorldDatabase.h | 2 |
3 files changed, 12 insertions, 2 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index 98fec0363b4..4bfb65b9989 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -1216,16 +1216,22 @@ bool ObjectMgr::SetCreatureLinkedRespawn(uint32 guid, uint32 linkedGuid) if (!linkedGuid) // we're removing the linking { mCreatureLinkedRespawnMap.erase(guid); - WorldDatabase.PExecute("DELETE FROM creature_linked_respawn WHERE guid = '%u'",guid); + PreparedStatement *stmt = WorldDatabase.GetPreparedStatement(WORLD_DEL_CRELINKED_RESPAWN); + stmt->setUInt32(0, guid); + WorldDatabase.Execute(stmt); return true; } if (CheckCreatureLinkedRespawn(guid,linkedGuid)) // we add/change linking { mCreatureLinkedRespawnMap[guid] = linkedGuid; - WorldDatabase.PExecute("REPLACE INTO creature_linked_respawn (guid,linkedGuid) VALUES ('%u','%u')",guid,linkedGuid); + PreparedStatement *stmt = WorldDatabase.GetPreparedStatement(WORLD_REP_CRELINKED_RESPAWN); + stmt->setUInt32(0, guid); + stmt->setUInt64(1, linkedGuid); + WorldDatabase.Execute(stmt); return true; } + return false; } diff --git a/src/server/shared/Database/Implementation/WorldDatabase.cpp b/src/server/shared/Database/Implementation/WorldDatabase.cpp index 9dbd8a400be..b018f921b44 100644 --- a/src/server/shared/Database/Implementation/WorldDatabase.cpp +++ b/src/server/shared/Database/Implementation/WorldDatabase.cpp @@ -33,6 +33,8 @@ bool WorldDatabaseConnection::Open(const std::string& infoString) PrepareStatement(WORLD_DEL_CRESPAWNTIME, "DELETE FROM creature_respawn WHERE guid = ? AND instance = ?"); PrepareStatement(WORLD_ADD_CRESPAWNTIME, "INSERT INTO creature_respawn VALUES (?, ?, ?)"); PrepareStatement(WORLD_LOAD_QUEST_POOLS, "SELECT entry, pool_entry FROM pool_quest"); + PrepareStatement(WORLD_DEL_CRELINKED_RESPAWN, "DELETE FROM creature_linked_respawn WHERE guid = ?"); + PrepareStatement(WORLD_REP_CRELINKED_RESPAWN, "REPLACE INTO creature_linked_respawn (guid,linkedGuid) VALUES (?, ?)"); return true; } diff --git a/src/server/shared/Database/Implementation/WorldDatabase.h b/src/server/shared/Database/Implementation/WorldDatabase.h index 7f909d0de23..e810a6a07f9 100644 --- a/src/server/shared/Database/Implementation/WorldDatabase.h +++ b/src/server/shared/Database/Implementation/WorldDatabase.h @@ -46,6 +46,8 @@ enum WorldDatabaseStatements WORLD_DEL_CRESPAWNTIME, WORLD_ADD_CRESPAWNTIME, WORLD_LOAD_QUEST_POOLS, + WORLD_DEL_CRELINKED_RESPAWN, + WORLD_REP_CRELINKED_RESPAWN, MAX_WORLDDATABASE_STATEMENTS, }; |