From 738f37d3cf45d4e10eda9d44a4cb17079b7bbc1b Mon Sep 17 00:00:00 2001 From: Shauren Date: Sat, 15 Sep 2018 17:55:26 +0200 Subject: Core/Maps: Replaced spawnmask with difficulty list --- src/server/game/Entities/GameObject/GameObject.cpp | 8 ++++---- src/server/game/Entities/GameObject/GameObject.h | 2 +- src/server/game/Entities/GameObject/GameObjectData.h | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) (limited to 'src/server/game/Entities/GameObject') diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index d0a458a7946..89b59a11ab2 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -911,10 +911,10 @@ void GameObject::SaveToDB() return; } - SaveToDB(GetMapId(), data->spawnMask); + SaveToDB(GetMapId(), data->spawnDifficulties); } -void GameObject::SaveToDB(uint32 mapid, uint64 spawnMask) +void GameObject::SaveToDB(uint32 mapid, std::vector const& spawnDifficulties) { const GameObjectTemplate* goI = GetGOInfo(); @@ -938,7 +938,7 @@ void GameObject::SaveToDB(uint32 mapid, uint64 spawnMask) data.spawntimesecs = m_spawnedByDefault ? m_respawnDelayTime : -(int32)m_respawnDelayTime; data.animprogress = GetGoAnimProgress(); data.go_state = GetGoState(); - data.spawnMask = spawnMask; + data.spawnDifficulties = spawnDifficulties; data.artKit = GetGoArtKit(); data.phaseId = GetDBPhase() > 0 ? GetDBPhase() : data.phaseId; @@ -957,7 +957,7 @@ void GameObject::SaveToDB(uint32 mapid, uint64 spawnMask) stmt->setUInt64(index++, m_spawnId); stmt->setUInt32(index++, GetEntry()); stmt->setUInt16(index++, uint16(mapid)); - stmt->setUInt64(index++, spawnMask); + stmt->setString(index++, StringJoin(data.spawnDifficulties, ",")); stmt->setUInt32(index++, data.phaseId); stmt->setUInt32(index++, data.phaseGroup); stmt->setFloat(index++, GetPositionX()); diff --git a/src/server/game/Entities/GameObject/GameObject.h b/src/server/game/Entities/GameObject/GameObject.h index 12ff942a6ba..24b70b9ce73 100644 --- a/src/server/game/Entities/GameObject/GameObject.h +++ b/src/server/game/Entities/GameObject/GameObject.h @@ -119,7 +119,7 @@ class TC_GAME_API GameObject : public WorldObject, public GridObject std::string const& GetNameForLocaleIdx(LocaleConstant locale_idx) const override; void SaveToDB(); - void SaveToDB(uint32 mapid, uint64 spawnMask); + void SaveToDB(uint32 mapid, std::vector const& spawnDifficulties); bool LoadFromDB(ObjectGuid::LowType spawnId, Map* map) { return LoadGameObjectFromDB(spawnId, map, false); } private: bool LoadGameObjectFromDB(ObjectGuid::LowType spawnId, Map* map, bool addToMap); diff --git a/src/server/game/Entities/GameObject/GameObjectData.h b/src/server/game/Entities/GameObject/GameObjectData.h index 7491a3d8ac9..c6411c24f0a 100644 --- a/src/server/game/Entities/GameObject/GameObjectData.h +++ b/src/server/game/Entities/GameObject/GameObjectData.h @@ -855,7 +855,7 @@ struct GameObjectAddon struct GameObjectData { explicit GameObjectData() : id(0), mapid(0), posX(0.0f), posY(0.0f), posZ(0.0f), orientation(0.0f), spawntimesecs(0), - animprogress(0), go_state(GO_STATE_ACTIVE), spawnMask(0), artKit(0), + animprogress(0), go_state(GO_STATE_ACTIVE), spawnDifficulties(), artKit(0), phaseUseFlags(0), phaseId(0), phaseGroup(0), terrainSwapMap(-1), ScriptId(0), dbData(true) { } uint32 id; // entry in gamobject_template uint16 mapid; @@ -867,7 +867,7 @@ struct GameObjectData int32 spawntimesecs; uint32 animprogress; GOState go_state; - uint64 spawnMask; + std::vector spawnDifficulties; uint8 artKit; uint8 phaseUseFlags; uint32 phaseId; -- cgit v1.2.3