aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/GameObject
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2018-09-15 17:55:26 +0200
committerShauren <shauren.trinity@gmail.com>2018-09-15 17:55:26 +0200
commit738f37d3cf45d4e10eda9d44a4cb17079b7bbc1b (patch)
tree9db45160ed8a0c68090dec2aebb9b73c9f2ea335 /src/server/game/Entities/GameObject
parent0f3156d324ff8134171bada01b40f5c23f5c43cc (diff)
Core/Maps: Replaced spawnmask with difficulty list
Diffstat (limited to 'src/server/game/Entities/GameObject')
-rw-r--r--src/server/game/Entities/GameObject/GameObject.cpp8
-rw-r--r--src/server/game/Entities/GameObject/GameObject.h2
-rw-r--r--src/server/game/Entities/GameObject/GameObjectData.h4
3 files changed, 7 insertions, 7 deletions
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<Difficulty> 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<GameObject>
std::string const& GetNameForLocaleIdx(LocaleConstant locale_idx) const override;
void SaveToDB();
- void SaveToDB(uint32 mapid, uint64 spawnMask);
+ void SaveToDB(uint32 mapid, std::vector<Difficulty> 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<Difficulty> spawnDifficulties;
uint8 artKit;
uint8 phaseUseFlags;
uint32 phaseId;