aboutsummaryrefslogtreecommitdiff
path: root/src/server/game
diff options
context:
space:
mode:
authorariel- <ariel-@users.noreply.github.com>2016-07-16 21:20:51 -0300
committerariel- <ariel-@users.noreply.github.com>2016-07-16 21:20:51 -0300
commit26d30d27e46b36e8c607e50d503bc4835b45da57 (patch)
treeaaad5bb5edd5e8ef04829fa428fa9a20234dc841 /src/server/game
parent1a52c1cd36b567fc595afa4a5373cc9e6b461a37 (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.cpp15
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);