diff options
| author | ariel- <ariel-@users.noreply.github.com> | 2016-07-16 21:20:51 -0300 |
|---|---|---|
| committer | ariel- <ariel-@users.noreply.github.com> | 2016-07-16 21:20:51 -0300 |
| commit | 26d30d27e46b36e8c607e50d503bc4835b45da57 (patch) | |
| tree | aaad5bb5edd5e8ef04829fa428fa9a20234dc841 /src/server/game | |
| parent | 1a52c1cd36b567fc595afa4a5373cc9e6b461a37 (diff) | |
Core/OutdoorPvP: fix bad storage of guids, spawnId must be saved because that's what is expected
Closes #8597
Diffstat (limited to 'src/server/game')
| -rw-r--r-- | src/server/game/OutdoorPvP/OutdoorPvP.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/server/game/OutdoorPvP/OutdoorPvP.cpp b/src/server/game/OutdoorPvP/OutdoorPvP.cpp index d329ab27de9..1343e0966c1 100644 --- a/src/server/game/OutdoorPvP/OutdoorPvP.cpp +++ b/src/server/game/OutdoorPvP/OutdoorPvP.cpp @@ -95,7 +95,7 @@ void OPvPCapturePoint::AddGO(uint32 type, ObjectGuid::LowType guid, uint32 entry entry = data->id; } - m_Objects[type] = ObjectGuid(HighGuid::GameObject, entry, guid); + m_Objects[type] = guid; m_ObjectTypes[m_Objects[type]] = type; } @@ -109,7 +109,7 @@ void OPvPCapturePoint::AddCre(uint32 type, ObjectGuid::LowType guid, uint32 entr entry = data->id; } - m_Creatures[type] = ObjectGuid(HighGuid::Unit, entry, guid); + m_Creatures[type] = guid; m_CreatureTypes[m_Creatures[type]] = type; } @@ -190,7 +190,8 @@ bool OPvPCapturePoint::DelCreature(uint32 type) // delete respawn time for this creature PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CREATURE_RESPAWN); stmt->setUInt32(0, spawnId); - stmt->setUInt16(1, m_PvP->GetMap()->GetId()); stmt->setUInt32(2, 0); // instance id, always 0 for world maps + stmt->setUInt16(1, m_PvP->GetMap()->GetId()); + stmt->setUInt32(2, 0); // instance id, always 0 for world maps CharacterDatabase.Execute(stmt); sObjectMgr->DeleteCreatureData(spawnId); @@ -236,9 +237,9 @@ bool OPvPCapturePoint::DelCapturePoint() void OPvPCapturePoint::DeleteSpawns() { - for (std::map<uint32, uint32>::iterator i = m_Objects.begin(); i != m_Objects.end(); ++i) + for (std::map<uint32, ObjectGuid::LowType>::iterator i = m_Objects.begin(); i != m_Objects.end(); ++i) DelObject(i->first); - for (std::map<uint32, uint32>::iterator i = m_Creatures.begin(); i != m_Creatures.end(); ++i) + for (std::map<uint32, ObjectGuid::LowType>::iterator i = m_Creatures.begin(); i != m_Creatures.end(); ++i) DelCreature(i->first); DelCapturePoint(); } @@ -581,7 +582,7 @@ bool OPvPCapturePoint::HandleDropFlag(Player* /*player*/, uint32 /*id*/) int32 OPvPCapturePoint::HandleOpenGo(Player* /*player*/, GameObject* go) { - std::map<uint32, uint32>::iterator itr = m_ObjectTypes.find(go->GetSpawnId()); + std::map<ObjectGuid::LowType, uint32>::iterator itr = m_ObjectTypes.find(go->GetSpawnId()); if (itr != m_ObjectTypes.end()) return itr->second; @@ -596,7 +597,7 @@ bool OutdoorPvP::HandleAreaTrigger(Player* /*player*/, uint32 /*trigger*/) void OutdoorPvP::BroadcastPacket(WorldPacket &data) const { // This is faster than sWorld->SendZoneMessage - for (uint32 team = 0; team < 2; ++team) + for (uint32 team = 0; team < BG_TEAMS_COUNT; ++team) for (GuidSet::const_iterator itr = m_players[team].begin(); itr != m_players[team].end(); ++itr) if (Player* const player = ObjectAccessor::FindPlayer(*itr)) player->GetSession()->SendPacket(&data); |
