aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/2014_04_28_05_world_misc.sql3
-rw-r--r--src/server/game/AI/SmartScripts/SmartScript.cpp2
-rw-r--r--src/server/game/AI/SmartScripts/SmartScriptMgr.h3
-rw-r--r--src/server/game/Battlefield/Battlefield.cpp7
-rw-r--r--src/server/game/Battlefield/Battlefield.h2
-rw-r--r--src/server/game/Battlegrounds/Battleground.cpp24
-rw-r--r--src/server/game/Battlegrounds/Battleground.h9
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp32
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundAB.h7
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp37
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundAV.h6
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundDS.cpp12
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundEY.cpp9
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundEY.h6
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp53
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundIC.h6
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp32
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp4
-rw-r--r--src/server/game/Entities/Creature/Creature.cpp57
-rw-r--r--src/server/game/Entities/Creature/Creature.h8
-rw-r--r--src/server/game/Entities/Object/Object.cpp2
-rw-r--r--src/server/game/Entities/Pet/Pet.cpp63
-rw-r--r--src/server/game/Entities/Transport/Transport.cpp7
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp2
-rw-r--r--src/server/game/Globals/ObjectMgr.h2
-rw-r--r--src/server/game/Handlers/PetHandler.cpp5
-rw-r--r--src/server/game/OutdoorPvP/OutdoorPvP.cpp4
-rw-r--r--src/server/game/OutdoorPvP/OutdoorPvP.h16
-rw-r--r--src/server/scripts/Commands/cs_debug.cpp2
-rw-r--r--src/server/scripts/Commands/cs_npc.cpp10
-rw-r--r--src/server/scripts/Commands/cs_wp.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp8
-rw-r--r--src/server/scripts/Kalimdor/boss_azuregos.cpp1
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp12
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp6
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/instance_pit_of_saron.cpp34
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp2
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp22
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp10
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp16
-rw-r--r--src/server/scripts/Northrend/zone_borean_tundra.cpp9
-rw-r--r--src/server/scripts/OutdoorPvP/OutdoorPvPEP.cpp10
-rw-r--r--src/server/scripts/OutdoorPvP/OutdoorPvPEP.h22
-rw-r--r--src/server/scripts/OutdoorPvP/OutdoorPvPNA.cpp8
-rw-r--r--src/server/scripts/OutdoorPvP/OutdoorPvPNA.h80
-rw-r--r--src/server/scripts/OutdoorPvP/OutdoorPvPZM.cpp4
-rw-r--r--src/server/scripts/OutdoorPvP/OutdoorPvPZM.h4
49 files changed, 311 insertions, 381 deletions
diff --git a/sql/updates/world/2014_04_28_05_world_misc.sql b/sql/updates/world/2014_04_28_05_world_misc.sql
new file mode 100644
index 00000000000..924e479d07b
--- /dev/null
+++ b/sql/updates/world/2014_04_28_05_world_misc.sql
@@ -0,0 +1,3 @@
+UPDATE `creature_template` SET `faction`=35 WHERE `entry` IN (27881,28094,28366);
+DELETE FROM `conditions` WHERE `SourceEntry`=52226 AND `SourceTypeOrReferenceId`=17;
+UPDATE `smart_scripts` SET `action_param2`=0 WHERE `action_type`=36;
diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp
index 1032af57460..dff9ddbaf2f 100644
--- a/src/server/game/AI/SmartScripts/SmartScript.cpp
+++ b/src/server/game/AI/SmartScripts/SmartScript.cpp
@@ -972,7 +972,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
if (IsCreature(*itr))
- (*itr)->ToCreature()->UpdateEntry(e.action.updateTemplate.creature, e.action.updateTemplate.team ? HORDE : ALLIANCE);
+ (*itr)->ToCreature()->UpdateEntry(e.action.updateTemplate.creature);
delete targets;
break;
diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.h b/src/server/game/AI/SmartScripts/SmartScriptMgr.h
index ac67fac0bfd..7ed9bbde2de 100644
--- a/src/server/game/AI/SmartScripts/SmartScriptMgr.h
+++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.h
@@ -452,7 +452,7 @@ enum SMART_ACTION
SMART_ACTION_CALL_KILLEDMONSTER = 33, // CreatureId,
SMART_ACTION_SET_INST_DATA = 34, // Field, Data
SMART_ACTION_SET_INST_DATA64 = 35, // Field,
- SMART_ACTION_UPDATE_TEMPLATE = 36, // Entry, Team
+ SMART_ACTION_UPDATE_TEMPLATE = 36, // Entry
SMART_ACTION_DIE = 37, // No Params
SMART_ACTION_SET_IN_COMBAT_WITH_ZONE = 38, // No Params
SMART_ACTION_CALL_FOR_HELP = 39, // Radius, With Emote
@@ -701,7 +701,6 @@ struct SmartAction
struct
{
uint32 creature;
- uint32 team;
} updateTemplate;
struct
diff --git a/src/server/game/Battlefield/Battlefield.cpp b/src/server/game/Battlefield/Battlefield.cpp
index d8674ed476b..96f13dcd0ac 100644
--- a/src/server/game/Battlefield/Battlefield.cpp
+++ b/src/server/game/Battlefield/Battlefield.cpp
@@ -781,7 +781,7 @@ Creature* Battlefield::SpawnCreature(uint32 entry, const Position& pos, TeamId t
return SpawnCreature(entry, pos.m_positionX, pos.m_positionY, pos.m_positionZ, pos.m_orientation, team);
}
-Creature* Battlefield::SpawnCreature(uint32 entry, float x, float y, float z, float o, TeamId team)
+Creature* Battlefield::SpawnCreature(uint32 entry, float x, float y, float z, float o, TeamId /*team*/)
{
//Get map object
Map* map = sMapMgr->CreateBaseMap(m_MapId);
@@ -792,7 +792,7 @@ Creature* Battlefield::SpawnCreature(uint32 entry, float x, float y, float z, fl
}
Creature* creature = new Creature();
- if (!creature->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), map, PHASEMASK_NORMAL, entry, 0, team, x, y, z, o))
+ if (!creature->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), map, PHASEMASK_NORMAL, entry, x, y, z, o))
{
TC_LOG_ERROR("bg.battlefield", "Battlefield::SpawnCreature: Can't create creature entry: %u", entry);
delete creature;
@@ -807,9 +807,6 @@ Creature* Battlefield::SpawnCreature(uint32 entry, float x, float y, float z, fl
TC_LOG_ERROR("bg.battlefield", "Battlefield::SpawnCreature: entry %u does not exist.", entry);
return NULL;
}
- // force using DB speeds -- do we really need this?
- creature->SetSpeed(MOVE_WALK, cinfo->speed_walk);
- creature->SetSpeed(MOVE_RUN, cinfo->speed_run);
// Set creature in world
map->AddToMap(creature);
diff --git a/src/server/game/Battlefield/Battlefield.h b/src/server/game/Battlefield/Battlefield.h
index e0e223c9e56..6c9e653c510 100644
--- a/src/server/game/Battlefield/Battlefield.h
+++ b/src/server/game/Battlefield/Battlefield.h
@@ -285,7 +285,7 @@ class Battlefield : public ZoneScript
BfGraveyard* GetGraveyardById(uint32 id) const;
// Misc methods
- Creature* SpawnCreature(uint32 entry, float x, float y, float z, float o, TeamId team);
+ virtual Creature* SpawnCreature(uint32 entry, float x, float y, float z, float o, TeamId team);
Creature* SpawnCreature(uint32 entry, const Position& pos, TeamId team);
GameObject* SpawnGameObject(uint32 entry, float x, float y, float z, float o);
diff --git a/src/server/game/Battlegrounds/Battleground.cpp b/src/server/game/Battlegrounds/Battleground.cpp
index bd95004e390..97320373e16 100644
--- a/src/server/game/Battlegrounds/Battleground.cpp
+++ b/src/server/game/Battlegrounds/Battleground.cpp
@@ -1576,7 +1576,7 @@ void Battleground::SpawnBGObject(uint32 type, uint32 respawntime)
}
}
-Creature* Battleground::AddCreature(uint32 entry, uint32 type, uint32 teamval, float x, float y, float z, float o, uint32 respawntime)
+Creature* Battleground::AddCreature(uint32 entry, uint32 type, float x, float y, float z, float o, TeamId /*teamId = TEAM_NEUTRAL*/, uint32 respawntime /*= 0*/)
{
// If the assert is called, means that BgCreatures must be resized!
ASSERT(type < BgCreatures.size());
@@ -1586,7 +1586,7 @@ Creature* Battleground::AddCreature(uint32 entry, uint32 type, uint32 teamval, f
return NULL;
Creature* creature = new Creature();
- if (!creature->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), map, PHASEMASK_NORMAL, entry, 0, teamval, x, y, z, o))
+ if (!creature->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), map, PHASEMASK_NORMAL, entry, x, y, z, o))
{
TC_LOG_ERROR("bg.battleground", "Battleground::AddCreature: cannot create creature (entry: %u) for BG (map: %u, instance id: %u)!",
entry, m_MapId, m_InstanceID);
@@ -1604,9 +1604,6 @@ Creature* Battleground::AddCreature(uint32 entry, uint32 type, uint32 teamval, f
delete creature;
return NULL;
}
- // Force using DB speeds
- creature->SetSpeed(MOVE_WALK, cinfo->speed_walk);
- creature->SetSpeed(MOVE_RUN, cinfo->speed_run);
if (!map->AddToMap(creature))
{
@@ -1622,9 +1619,9 @@ Creature* Battleground::AddCreature(uint32 entry, uint32 type, uint32 teamval, f
return creature;
}
-Creature* Battleground::AddCreature(uint32 entry, uint32 type, uint32 teamval, Position const& pos, uint32 respawntime /*= 0*/)
+Creature* Battleground::AddCreature(uint32 entry, uint32 type, Position const& pos, TeamId teamId /*= TEAM_NEUTRAL*/, uint32 respawntime /*= 0*/)
{
- return AddCreature(entry, type, teamval, pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), pos.GetOrientation(), respawntime);
+ return AddCreature(entry, type, pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), pos.GetOrientation(), teamId, respawntime);
}
bool Battleground::DelCreature(uint32 type)
@@ -1663,13 +1660,11 @@ bool Battleground::DelObject(uint32 type)
return false;
}
-bool Battleground::AddSpiritGuide(uint32 type, float x, float y, float z, float o, uint32 team)
+bool Battleground::AddSpiritGuide(uint32 type, float x, float y, float z, float o, TeamId teamId /*= TEAM_NEUTRAL*/)
{
- uint32 entry = (team == ALLIANCE) ?
- BG_CREATURE_ENTRY_A_SPIRITGUIDE :
- BG_CREATURE_ENTRY_H_SPIRITGUIDE;
+ uint32 entry = (teamId == TEAM_ALLIANCE) ? BG_CREATURE_ENTRY_A_SPIRITGUIDE : BG_CREATURE_ENTRY_H_SPIRITGUIDE;
- if (Creature* creature = AddCreature(entry, type, team, x, y, z, o))
+ if (Creature* creature = AddCreature(entry, type, x, y, z, o, teamId))
{
creature->setDeathState(DEAD);
creature->SetUInt64Value(UNIT_FIELD_CHANNEL_OBJECT, creature->GetGUID());
@@ -1689,6 +1684,11 @@ bool Battleground::AddSpiritGuide(uint32 type, float x, float y, float z, float
return false;
}
+bool Battleground::AddSpiritGuide(uint32 type, Position const& pos, TeamId teamId /*= TEAM_NEUTRAL*/)
+{
+ return AddSpiritGuide(type, pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), pos.GetOrientation(), teamId);
+}
+
void Battleground::SendMessageToAll(int32 entry, ChatMsg type, Player const* source)
{
if (!entry)
diff --git a/src/server/game/Battlegrounds/Battleground.h b/src/server/game/Battlegrounds/Battleground.h
index 26f91650a22..2cbf8bd0918 100644
--- a/src/server/game/Battlegrounds/Battleground.h
+++ b/src/server/game/Battlegrounds/Battleground.h
@@ -508,13 +508,14 @@ class Battleground
BGObjects BgObjects;
BGCreatures BgCreatures;
void SpawnBGObject(uint32 type, uint32 respawntime);
- bool AddObject(uint32 type, uint32 entry, float x, float y, float z, float o, float rotation0, float rotation1, float rotation2, float rotation3, uint32 respawnTime = 0);
+ virtual bool AddObject(uint32 type, uint32 entry, float x, float y, float z, float o, float rotation0, float rotation1, float rotation2, float rotation3, uint32 respawnTime = 0);
bool AddObject(uint32 type, uint32 entry, Position const& pos, float rotation0, float rotation1, float rotation2, float rotation3, uint32 respawnTime = 0);
- Creature* AddCreature(uint32 entry, uint32 type, uint32 teamval, float x, float y, float z, float o, uint32 respawntime = 0);
- Creature* AddCreature(uint32 entry, uint32 type, uint32 teamval, Position const& pos, uint32 respawntime = 0);
+ virtual Creature* AddCreature(uint32 entry, uint32 type, float x, float y, float z, float o, TeamId teamId = TEAM_NEUTRAL, uint32 respawntime = 0);
+ Creature* AddCreature(uint32 entry, uint32 type, Position const& pos, TeamId teamId = TEAM_NEUTRAL, uint32 respawntime = 0);
bool DelCreature(uint32 type);
bool DelObject(uint32 type);
- bool AddSpiritGuide(uint32 type, float x, float y, float z, float o, uint32 team);
+ virtual bool AddSpiritGuide(uint32 type, float x, float y, float z, float o, TeamId teamId = TEAM_NEUTRAL);
+ bool AddSpiritGuide(uint32 type, Position const& pos, TeamId teamId = TEAM_NEUTRAL);
int32 GetObjectType(uint64 guid);
void DoorOpen(uint32 type);
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp
index c05bd98b908..38b0e3e084b 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp
@@ -23,7 +23,6 @@
#include "BattlegroundMgr.h"
#include "Creature.h"
#include "Language.h"
-#include "Object.h"
#include "Player.h"
#include "Util.h"
#include "WorldSession.h"
@@ -381,7 +380,7 @@ void BattlegroundAB::_SendNodeUpdate(uint8 node)
void BattlegroundAB::_NodeOccupied(uint8 node, Team team)
{
- if (!AddSpiritGuide(node, BG_AB_SpiritGuidePos[node][0], BG_AB_SpiritGuidePos[node][1], BG_AB_SpiritGuidePos[node][2], BG_AB_SpiritGuidePos[node][3], team))
+ if (!AddSpiritGuide(node, BG_AB_SpiritGuidePos[node], GetTeamIndexByTeamId(team)))
TC_LOG_ERROR("bg.battleground", "Failed to spawn spirit guide! point: %u, team: %u, ", node, team);
if (node >= BG_AB_DYNAMIC_NODES_COUNT)//only dynamic nodes, no start points
@@ -397,9 +396,9 @@ void BattlegroundAB::_NodeOccupied(uint8 node, Team team)
if (capturedNodes >= 4)
CastSpellOnTeam(SPELL_AB_QUEST_REWARD_4_BASES, team);
- Creature* trigger = BgCreatures[node+7] ? GetBGCreature(node+7) : NULL;//0-6 spirit guides
+ Creature* trigger = BgCreatures[node+7] ? GetBGCreature(node+7) : NULL; // 0-6 spirit guides
if (!trigger)
- trigger = AddCreature(WORLD_TRIGGER, node+7, team, BG_AB_NodePositions[node][0], BG_AB_NodePositions[node][1], BG_AB_NodePositions[node][2], BG_AB_NodePositions[node][3]);
+ trigger = AddCreature(WORLD_TRIGGER, node+7, BG_AB_NodePositions[node], GetTeamIndexByTeamId(team));
//add bonus honor aura trigger creature when node is accupied
//cast bonus aura (+50% honor in 25yards)
@@ -578,34 +577,33 @@ bool BattlegroundAB::SetupBattleground()
{
for (int i = 0; i < BG_AB_DYNAMIC_NODES_COUNT; ++i)
{
- if (!AddObject(BG_AB_OBJECT_BANNER_NEUTRAL + 8*i, BG_AB_OBJECTID_NODE_BANNER_0 + i, BG_AB_NodePositions[i][0], BG_AB_NodePositions[i][1], BG_AB_NodePositions[i][2], BG_AB_NodePositions[i][3], 0, 0, std::sin(BG_AB_NodePositions[i][3]/2), std::cos(BG_AB_NodePositions[i][3]/2), RESPAWN_ONE_DAY)
- || !AddObject(BG_AB_OBJECT_BANNER_CONT_A + 8*i, BG_AB_OBJECTID_BANNER_CONT_A, BG_AB_NodePositions[i][0], BG_AB_NodePositions[i][1], BG_AB_NodePositions[i][2], BG_AB_NodePositions[i][3], 0, 0, std::sin(BG_AB_NodePositions[i][3]/2), std::cos(BG_AB_NodePositions[i][3]/2), RESPAWN_ONE_DAY)
- || !AddObject(BG_AB_OBJECT_BANNER_CONT_H + 8*i, BG_AB_OBJECTID_BANNER_CONT_H, BG_AB_NodePositions[i][0], BG_AB_NodePositions[i][1], BG_AB_NodePositions[i][2], BG_AB_NodePositions[i][3], 0, 0, std::sin(BG_AB_NodePositions[i][3]/2), std::cos(BG_AB_NodePositions[i][3]/2), RESPAWN_ONE_DAY)
- || !AddObject(BG_AB_OBJECT_BANNER_ALLY + 8*i, BG_AB_OBJECTID_BANNER_A, BG_AB_NodePositions[i][0], BG_AB_NodePositions[i][1], BG_AB_NodePositions[i][2], BG_AB_NodePositions[i][3], 0, 0, std::sin(BG_AB_NodePositions[i][3]/2), std::cos(BG_AB_NodePositions[i][3]/2), RESPAWN_ONE_DAY)
- || !AddObject(BG_AB_OBJECT_BANNER_HORDE + 8*i, BG_AB_OBJECTID_BANNER_H, BG_AB_NodePositions[i][0], BG_AB_NodePositions[i][1], BG_AB_NodePositions[i][2], BG_AB_NodePositions[i][3], 0, 0, std::sin(BG_AB_NodePositions[i][3]/2), std::cos(BG_AB_NodePositions[i][3]/2), RESPAWN_ONE_DAY)
- || !AddObject(BG_AB_OBJECT_AURA_ALLY + 8*i, BG_AB_OBJECTID_AURA_A, BG_AB_NodePositions[i][0], BG_AB_NodePositions[i][1], BG_AB_NodePositions[i][2], BG_AB_NodePositions[i][3], 0, 0, std::sin(BG_AB_NodePositions[i][3]/2), std::cos(BG_AB_NodePositions[i][3]/2), RESPAWN_ONE_DAY)
- || !AddObject(BG_AB_OBJECT_AURA_HORDE + 8*i, BG_AB_OBJECTID_AURA_H, BG_AB_NodePositions[i][0], BG_AB_NodePositions[i][1], BG_AB_NodePositions[i][2], BG_AB_NodePositions[i][3], 0, 0, std::sin(BG_AB_NodePositions[i][3]/2), std::cos(BG_AB_NodePositions[i][3]/2), RESPAWN_ONE_DAY)
- || !AddObject(BG_AB_OBJECT_AURA_CONTESTED + 8*i, BG_AB_OBJECTID_AURA_C, BG_AB_NodePositions[i][0], BG_AB_NodePositions[i][1], BG_AB_NodePositions[i][2], BG_AB_NodePositions[i][3], 0, 0, std::sin(BG_AB_NodePositions[i][3]/2), std::cos(BG_AB_NodePositions[i][3]/2), RESPAWN_ONE_DAY)
-)
+ if (!AddObject(BG_AB_OBJECT_BANNER_NEUTRAL + 8*i, BG_AB_OBJECTID_NODE_BANNER_0 + i, BG_AB_NodePositions[i], 0, 0, std::sin(BG_AB_NodePositions[i].GetOrientation()/2), std::cos(BG_AB_NodePositions[i].GetOrientation()/2), RESPAWN_ONE_DAY)
+ || !AddObject(BG_AB_OBJECT_BANNER_CONT_A + 8*i, BG_AB_OBJECTID_BANNER_CONT_A, BG_AB_NodePositions[i], 0, 0, std::sin(BG_AB_NodePositions[i].GetOrientation()/2), std::cos(BG_AB_NodePositions[i].GetOrientation()/2), RESPAWN_ONE_DAY)
+ || !AddObject(BG_AB_OBJECT_BANNER_CONT_H + 8*i, BG_AB_OBJECTID_BANNER_CONT_H, BG_AB_NodePositions[i], 0, 0, std::sin(BG_AB_NodePositions[i].GetOrientation()/2), std::cos(BG_AB_NodePositions[i].GetOrientation()/2), RESPAWN_ONE_DAY)
+ || !AddObject(BG_AB_OBJECT_BANNER_ALLY + 8*i, BG_AB_OBJECTID_BANNER_A, BG_AB_NodePositions[i], 0, 0, std::sin(BG_AB_NodePositions[i].GetOrientation()/2), std::cos(BG_AB_NodePositions[i].GetOrientation()/2), RESPAWN_ONE_DAY)
+ || !AddObject(BG_AB_OBJECT_BANNER_HORDE + 8*i, BG_AB_OBJECTID_BANNER_H, BG_AB_NodePositions[i], 0, 0, std::sin(BG_AB_NodePositions[i].GetOrientation()/2), std::cos(BG_AB_NodePositions[i].GetOrientation()/2), RESPAWN_ONE_DAY)
+ || !AddObject(BG_AB_OBJECT_AURA_ALLY + 8*i, BG_AB_OBJECTID_AURA_A, BG_AB_NodePositions[i], 0, 0, std::sin(BG_AB_NodePositions[i].GetOrientation()/2), std::cos(BG_AB_NodePositions[i].GetOrientation()/2), RESPAWN_ONE_DAY)
+ || !AddObject(BG_AB_OBJECT_AURA_HORDE + 8*i, BG_AB_OBJECTID_AURA_H, BG_AB_NodePositions[i], 0, 0, std::sin(BG_AB_NodePositions[i].GetOrientation()/2), std::cos(BG_AB_NodePositions[i].GetOrientation()/2), RESPAWN_ONE_DAY)
+ || !AddObject(BG_AB_OBJECT_AURA_CONTESTED + 8*i, BG_AB_OBJECTID_AURA_C, BG_AB_NodePositions[i], 0, 0, std::sin(BG_AB_NodePositions[i].GetOrientation()/2), std::cos(BG_AB_NodePositions[i].GetOrientation()/2), RESPAWN_ONE_DAY))
{
TC_LOG_ERROR("sql.sql", "BatteGroundAB: Failed to spawn some object Battleground not created!");
return false;
}
}
+
if (!AddObject(BG_AB_OBJECT_GATE_A, BG_AB_OBJECTID_GATE_A, BG_AB_DoorPositions[0][0], BG_AB_DoorPositions[0][1], BG_AB_DoorPositions[0][2], BG_AB_DoorPositions[0][3], BG_AB_DoorPositions[0][4], BG_AB_DoorPositions[0][5], BG_AB_DoorPositions[0][6], BG_AB_DoorPositions[0][7], RESPAWN_IMMEDIATELY)
- || !AddObject(BG_AB_OBJECT_GATE_H, BG_AB_OBJECTID_GATE_H, BG_AB_DoorPositions[1][0], BG_AB_DoorPositions[1][1], BG_AB_DoorPositions[1][2], BG_AB_DoorPositions[1][3], BG_AB_DoorPositions[1][4], BG_AB_DoorPositions[1][5], BG_AB_DoorPositions[1][6], BG_AB_DoorPositions[1][7], RESPAWN_IMMEDIATELY)
-)
+ || !AddObject(BG_AB_OBJECT_GATE_H, BG_AB_OBJECTID_GATE_H, BG_AB_DoorPositions[1][0], BG_AB_DoorPositions[1][1], BG_AB_DoorPositions[1][2], BG_AB_DoorPositions[1][3], BG_AB_DoorPositions[1][4], BG_AB_DoorPositions[1][5], BG_AB_DoorPositions[1][6], BG_AB_DoorPositions[1][7], RESPAWN_IMMEDIATELY))
{
TC_LOG_ERROR("sql.sql", "BatteGroundAB: Failed to spawn door object Battleground not created!");
return false;
}
+
//buffs
for (int i = 0; i < BG_AB_DYNAMIC_NODES_COUNT; ++i)
{
if (!AddObject(BG_AB_OBJECT_SPEEDBUFF_STABLES + 3 * i, Buff_Entries[0], BG_AB_BuffPositions[i][0], BG_AB_BuffPositions[i][1], BG_AB_BuffPositions[i][2], BG_AB_BuffPositions[i][3], 0, 0, std::sin(BG_AB_BuffPositions[i][3]/2), std::cos(BG_AB_BuffPositions[i][3]/2), RESPAWN_ONE_DAY)
|| !AddObject(BG_AB_OBJECT_SPEEDBUFF_STABLES + 3 * i + 1, Buff_Entries[1], BG_AB_BuffPositions[i][0], BG_AB_BuffPositions[i][1], BG_AB_BuffPositions[i][2], BG_AB_BuffPositions[i][3], 0, 0, std::sin(BG_AB_BuffPositions[i][3]/2), std::cos(BG_AB_BuffPositions[i][3]/2), RESPAWN_ONE_DAY)
- || !AddObject(BG_AB_OBJECT_SPEEDBUFF_STABLES + 3 * i + 2, Buff_Entries[2], BG_AB_BuffPositions[i][0], BG_AB_BuffPositions[i][1], BG_AB_BuffPositions[i][2], BG_AB_BuffPositions[i][3], 0, 0, std::sin(BG_AB_BuffPositions[i][3]/2), std::cos(BG_AB_BuffPositions[i][3]/2), RESPAWN_ONE_DAY)
-)
+ || !AddObject(BG_AB_OBJECT_SPEEDBUFF_STABLES + 3 * i + 2, Buff_Entries[2], BG_AB_BuffPositions[i][0], BG_AB_BuffPositions[i][1], BG_AB_BuffPositions[i][2], BG_AB_BuffPositions[i][3], 0, 0, std::sin(BG_AB_BuffPositions[i][3]/2), std::cos(BG_AB_BuffPositions[i][3]/2), RESPAWN_ONE_DAY))
TC_LOG_ERROR("sql.sql", "BatteGroundAB: Failed to spawn buff object!");
}
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundAB.h b/src/server/game/Battlegrounds/Zones/BattlegroundAB.h
index 9ed34691adf..9abc7627b24 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundAB.h
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundAB.h
@@ -20,6 +20,7 @@
#define __BATTLEGROUNDAB_H
#include "Battleground.h"
+#include "Object.h"
enum BG_AB_WorldStates
{
@@ -184,8 +185,7 @@ enum BG_AB_Objectives
#define AB_EVENT_START_BATTLE 9158 // Achievement: Let's Get This Done
-// x, y, z, o
-const float BG_AB_NodePositions[BG_AB_DYNAMIC_NODES_COUNT][4] =
+Position const BG_AB_NodePositions[BG_AB_DYNAMIC_NODES_COUNT] =
{
{1166.785f, 1200.132f, -56.70859f, 0.9075713f}, // stables
{977.0156f, 1046.616f, -44.80923f, -2.600541f}, // blacksmith
@@ -218,8 +218,7 @@ const float BG_AB_BuffPositions[BG_AB_DYNAMIC_NODES_COUNT][4] =
{1146.62f, 816.94f, -98.49f, 6.14f} // gold mine
};
-// x, y, z, o
-const float BG_AB_SpiritGuidePos[BG_AB_ALL_NODES_COUNT][4] =
+Position const BG_AB_SpiritGuidePos[BG_AB_ALL_NODES_COUNT] =
{
{1200.03f, 1171.09f, -56.47f, 5.15f}, // stables
{1017.43f, 960.61f, -42.95f, 4.88f}, // blacksmith
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp
index 610e0bcecc7..16576aa888e 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp
@@ -289,7 +289,6 @@ Creature* BattlegroundAV::AddAVCreature(uint16 cinfoid, uint16 type)
cinfoid=uint16(BG_AV_StaticCreaturePos[type][4]);
creature = AddCreature(BG_AV_StaticCreatureInfo[cinfoid][0],
(type+AV_CPLACE_MAX),
- BG_AV_StaticCreatureInfo[cinfoid][1],
BG_AV_StaticCreaturePos[type][0],
BG_AV_StaticCreaturePos[type][1],
BG_AV_StaticCreaturePos[type][2],
@@ -303,11 +302,7 @@ Creature* BattlegroundAV::AddAVCreature(uint16 cinfoid, uint16 type)
{
creature = AddCreature(BG_AV_CreatureInfo[cinfoid][0],
type,
- BG_AV_CreatureInfo[cinfoid][1],
- BG_AV_CreaturePos[type][0],
- BG_AV_CreaturePos[type][1],
- BG_AV_CreaturePos[type][2],
- BG_AV_CreaturePos[type][3]);
+ BG_AV_CreaturePos[type]);
level = (BG_AV_CreatureInfo[cinfoid][2] == BG_AV_CreatureInfo[cinfoid][3])
? BG_AV_CreatureInfo[cinfoid][2]
: urand(BG_AV_CreatureInfo[cinfoid][2], BG_AV_CreatureInfo[cinfoid][3]);
@@ -365,11 +360,7 @@ Creature* BattlegroundAV::AddAVCreature(uint16 cinfoid, uint16 type)
{
if (Creature* trigger = AddCreature(WORLD_TRIGGER,
triggerSpawnID,
- BG_AV_CreatureInfo[creature->GetEntry()][1],
- BG_AV_CreaturePos[triggerSpawnID][0],
- BG_AV_CreaturePos[triggerSpawnID][1],
- BG_AV_CreaturePos[triggerSpawnID][2],
- BG_AV_CreaturePos[triggerSpawnID][3]))
+ BG_AV_CreaturePos[triggerSpawnID]))
{
trigger->setFaction(newFaction);
trigger->CastSpell(trigger, SPELL_HONORABLE_DEFENDER_25Y, false);
@@ -782,7 +773,7 @@ void BattlegroundAV::PopulateNode(BG_AV_Nodes node)
//spiritguide
if (BgCreatures[node])
DelCreature(node);
- if (!AddSpiritGuide(node, BG_AV_CreaturePos[node][0], BG_AV_CreaturePos[node][1], BG_AV_CreaturePos[node][2], BG_AV_CreaturePos[node][3], owner))
+ if (!AddSpiritGuide(node, BG_AV_CreaturePos[node], GetTeamIndexByTeamId(owner)))
TC_LOG_ERROR("bg.battleground", "AV: couldn't spawn spiritguide at node %i", node);
}
for (uint8 i=0; i<4; i++)
@@ -795,11 +786,8 @@ void BattlegroundAV::PopulateNode(BG_AV_Nodes node)
{
trigger = AddCreature(WORLD_TRIGGER,
node + 302,
- owner,
- BG_AV_CreaturePos[node + 302][0],
- BG_AV_CreaturePos[node + 302][1],
- BG_AV_CreaturePos[node + 302][2],
- BG_AV_CreaturePos[node + 302][3]);
+ BG_AV_CreaturePos[node + 302],
+ GetTeamIndexByTeamId(owner));
}
//add bonus honor aura trigger creature when node is accupied
@@ -1219,15 +1207,10 @@ WorldSafeLocsEntry const* BattlegroundAV::GetClosestGraveYard(Player* player)
bool BattlegroundAV::SetupBattleground()
{
// Create starting objects
- if (
- // alliance gates
- !AddObject(BG_AV_OBJECT_DOOR_A, BG_AV_OBJECTID_GATE_A,
- BG_AV_DoorPositons[0][0], BG_AV_DoorPositons[0][1], BG_AV_DoorPositons[0][2], BG_AV_DoorPositons[0][3],
- 0, 0, std::sin(BG_AV_DoorPositons[0][3]/2), std::cos(BG_AV_DoorPositons[0][3]/2), RESPAWN_IMMEDIATELY)
+ if (// alliance gates
+ !AddObject(BG_AV_OBJECT_DOOR_A, BG_AV_OBJECTID_GATE_A, BG_AV_DoorPositons[0], 0, 0, std::sin(BG_AV_DoorPositons[0].GetOrientation()/2), std::cos(BG_AV_DoorPositons[0].GetOrientation()/2), RESPAWN_IMMEDIATELY)
// horde gates
- || !AddObject(BG_AV_OBJECT_DOOR_H, BG_AV_OBJECTID_GATE_H,
- BG_AV_DoorPositons[1][0], BG_AV_DoorPositons[1][1], BG_AV_DoorPositons[1][2], BG_AV_DoorPositons[1][3],
- 0, 0, std::sin(BG_AV_DoorPositons[1][3]/2), std::cos(BG_AV_DoorPositons[1][3]/2), RESPAWN_IMMEDIATELY))
+ || !AddObject(BG_AV_OBJECT_DOOR_H, BG_AV_OBJECTID_GATE_H, BG_AV_DoorPositons[1], 0, 0, std::sin(BG_AV_DoorPositons[1].GetOrientation()/2), std::cos(BG_AV_DoorPositons[1].GetOrientation()/2), RESPAWN_IMMEDIATELY))
{
TC_LOG_ERROR("sql.sql", "BatteGroundAV: Failed to spawn some object Battleground not created!1");
return false;
@@ -1504,8 +1487,8 @@ bool BattlegroundAV::SetupBattleground()
AddAVCreature(0, i + AV_CPLACE_MAX);
//mainspiritguides:
TC_LOG_DEBUG("bg.battleground", "BG_AV: start spawning spiritguides creatures");
- AddSpiritGuide(7, BG_AV_CreaturePos[7][0], BG_AV_CreaturePos[7][1], BG_AV_CreaturePos[7][2], BG_AV_CreaturePos[7][3], ALLIANCE);
- AddSpiritGuide(8, BG_AV_CreaturePos[8][0], BG_AV_CreaturePos[8][1], BG_AV_CreaturePos[8][2], BG_AV_CreaturePos[8][3], HORDE);
+ AddSpiritGuide(7, BG_AV_CreaturePos[7], TEAM_ALLIANCE);
+ AddSpiritGuide(8, BG_AV_CreaturePos[8], TEAM_HORDE);
//spawn the marshals (those who get deleted, if a tower gets destroyed)
TC_LOG_DEBUG("bg.battleground", "BG_AV: start spawning marshal creatures");
for (i = AV_NPC_A_MARSHAL_SOUTH; i <= AV_NPC_H_MARSHAL_WTOWER; i++)
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundAV.h b/src/server/game/Battlegrounds/Zones/BattlegroundAV.h
index 716e675a840..03dd0ffcf5c 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundAV.h
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundAV.h
@@ -20,6 +20,7 @@
#define __BATTLEGROUNDAV_H
#include "Battleground.h"
+#include "Object.h"
#define LANG_BG_AV_A_CAPTAIN_BUFF "Begone. Uncouth scum! The Alliance shall prevail in Alterac Valley!"
#define LANG_BG_AV_H_CAPTAIN_BUFF "Now is the time to attack! For the Horde!"
@@ -528,7 +529,7 @@ const float BG_AV_ObjectPos[AV_OPLACE_MAX][4] =
{-951.394f, -193.695f, 67.634f, 0.802851f}
};
-const float BG_AV_DoorPositons[2][4] =
+Position const BG_AV_DoorPositons[2] =
{
{780.487f, -493.024f, 99.9553f, 3.0976f}, //alliance
{-1375.193f, -538.981f, 55.2824f, 0.72178f} //horde
@@ -624,8 +625,7 @@ enum BG_AV_CreaturePlace
AV_CPLACE_MAX = 321
};
-//x, y, z, o
-const float BG_AV_CreaturePos[AV_CPLACE_MAX][4] =
+Position const BG_AV_CreaturePos[AV_CPLACE_MAX] =
{
//spiritguides
{643.000000f, 44.000000f, 69.740196f, -0.001854f},
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundDS.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundDS.cpp
index 3eb52945236..9e9e82b32b8 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundDS.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundDS.cpp
@@ -223,16 +223,16 @@ bool BattlegroundDS::SetupBattleground()
// gates
if (!AddObject(BG_DS_OBJECT_DOOR_1, BG_DS_OBJECT_TYPE_DOOR_1, 1350.95f, 817.2f, 20.8096f, 3.15f, 0, 0, 0.99627f, 0.0862864f, RESPAWN_IMMEDIATELY)
|| !AddObject(BG_DS_OBJECT_DOOR_2, BG_DS_OBJECT_TYPE_DOOR_2, 1232.65f, 764.913f, 20.0729f, 6.3f, 0, 0, 0.0310211f, -0.999519f, RESPAWN_IMMEDIATELY)
- // water
+ // water
|| !AddObject(BG_DS_OBJECT_WATER_1, BG_DS_OBJECT_TYPE_WATER_1, 1291.56f, 790.837f, 7.1f, 3.14238f, 0, 0, 0.694215f, -0.719768f, 120)
|| !AddObject(BG_DS_OBJECT_WATER_2, BG_DS_OBJECT_TYPE_WATER_2, 1291.56f, 790.837f, 7.1f, 3.14238f, 0, 0, 0.694215f, -0.719768f, 120)
- // buffs
+ // buffs
|| !AddObject(BG_DS_OBJECT_BUFF_1, BG_DS_OBJECT_TYPE_BUFF_1, 1291.7f, 813.424f, 7.11472f, 4.64562f, 0, 0, 0.730314f, -0.683111f, 120)
|| !AddObject(BG_DS_OBJECT_BUFF_2, BG_DS_OBJECT_TYPE_BUFF_2, 1291.7f, 768.911f, 7.11472f, 1.55194f, 0, 0, 0.700409f, 0.713742f, 120)
- // knockback creatures
- || !AddCreature(BG_DS_NPC_TYPE_WATER_SPOUT, BG_DS_NPC_WATERFALL_KNOCKBACK, 0, 1292.587f, 790.2205f, 7.19796f, 3.054326f, RESPAWN_IMMEDIATELY)
- || !AddCreature(BG_DS_NPC_TYPE_WATER_SPOUT, BG_DS_NPC_PIPE_KNOCKBACK_1, 0, 1369.977f, 817.2882f, 16.08718f, 3.106686f, RESPAWN_IMMEDIATELY)
- || !AddCreature(BG_DS_NPC_TYPE_WATER_SPOUT, BG_DS_NPC_PIPE_KNOCKBACK_2, 0, 1212.833f, 765.3871f, 16.09484f, 0.0f, RESPAWN_IMMEDIATELY))
+ // knockback creatures
+ || !AddCreature(BG_DS_NPC_TYPE_WATER_SPOUT, BG_DS_NPC_WATERFALL_KNOCKBACK, 1292.587f, 790.2205f, 7.19796f, 3.054326f, TEAM_NEUTRAL, RESPAWN_IMMEDIATELY)
+ || !AddCreature(BG_DS_NPC_TYPE_WATER_SPOUT, BG_DS_NPC_PIPE_KNOCKBACK_1, 1369.977f, 817.2882f, 16.08718f, 3.106686f, TEAM_NEUTRAL, RESPAWN_IMMEDIATELY)
+ || !AddCreature(BG_DS_NPC_TYPE_WATER_SPOUT, BG_DS_NPC_PIPE_KNOCKBACK_2, 1212.833f, 765.3871f, 16.09484f, 0.0f, TEAM_NEUTRAL, RESPAWN_IMMEDIATELY))
{
TC_LOG_ERROR("sql.sql", "BatteGroundDS: Failed to spawn some object!");
return false;
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundEY.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundEY.cpp
index bc684aed176..213a91bea88 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundEY.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundEY.cpp
@@ -23,7 +23,6 @@
#include "BattlegroundMgr.h"
#include "Creature.h"
#include "Language.h"
-#include "Object.h"
#include "Player.h"
#include "Util.h"
@@ -523,14 +522,14 @@ bool BattlegroundEY::SetupBattleground()
WorldSafeLocsEntry const* sg = NULL;
sg = sWorldSafeLocsStore.LookupEntry(EY_GRAVEYARD_MAIN_ALLIANCE);
- if (!sg || !AddSpiritGuide(EY_SPIRIT_MAIN_ALLIANCE, sg->x, sg->y, sg->z, 3.124139f, ALLIANCE))
+ if (!sg || !AddSpiritGuide(EY_SPIRIT_MAIN_ALLIANCE, sg->x, sg->y, sg->z, 3.124139f, TEAM_ALLIANCE))
{
TC_LOG_ERROR("sql.sql", "BatteGroundEY: Failed to spawn spirit guide! Battleground not created!");
return false;
}
sg = sWorldSafeLocsStore.LookupEntry(EY_GRAVEYARD_MAIN_HORDE);
- if (!sg || !AddSpiritGuide(EY_SPIRIT_MAIN_HORDE, sg->x, sg->y, sg->z, 3.193953f, HORDE))
+ if (!sg || !AddSpiritGuide(EY_SPIRIT_MAIN_HORDE, sg->x, sg->y, sg->z, 3.193953f, TEAM_HORDE))
{
TC_LOG_ERROR("sql.sql", "BatteGroundEY: Failed to spawn spirit guide! Battleground not created!");
return false;
@@ -768,7 +767,7 @@ void BattlegroundEY::EventTeamCapturedPoint(Player* player, uint32 Point)
WorldSafeLocsEntry const* sg = NULL;
sg = sWorldSafeLocsStore.LookupEntry(m_CapturingPointTypes[Point].GraveYardId);
- if (!sg || !AddSpiritGuide(Point, sg->x, sg->y, sg->z, 3.124139f, Team))
+ if (!sg || !AddSpiritGuide(Point, sg->x, sg->y, sg->z, 3.124139f, GetTeamIndexByTeamId(Team)))
TC_LOG_ERROR("bg.battleground", "BatteGroundEY: Failed to spawn spirit guide! point: %u, team: %u, graveyard_id: %u",
Point, Team, m_CapturingPointTypes[Point].GraveYardId);
@@ -782,7 +781,7 @@ void BattlegroundEY::EventTeamCapturedPoint(Player* player, uint32 Point)
Creature* trigger = GetBGCreature(Point + 6, false);//0-5 spirit guides
if (!trigger)
- trigger = AddCreature(WORLD_TRIGGER, Point+6, Team, BG_EY_TriggerPositions[Point][0], BG_EY_TriggerPositions[Point][1], BG_EY_TriggerPositions[Point][2], BG_EY_TriggerPositions[Point][3]);
+ trigger = AddCreature(WORLD_TRIGGER, Point+6, BG_EY_TriggerPositions[Point], GetTeamIndexByTeamId(Team));
//add bonus honor aura trigger creature when node is accupied
//cast bonus aura (+50% honor in 25yards)
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundEY.h b/src/server/game/Battlegrounds/Zones/BattlegroundEY.h
index baa75129c1e..9e5088d7ba5 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundEY.h
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundEY.h
@@ -19,8 +19,9 @@
#ifndef __BATTLEGROUNDEY_H
#define __BATTLEGROUNDEY_H
-#include "Language.h"
#include "Battleground.h"
+#include "Language.h"
+#include "Object.h"
enum BG_EY_Misc
{
@@ -255,8 +256,7 @@ struct BattlegroundEYPointIconsStruct
uint32 WorldStateHordeControlledIndex;
};
-// x, y, z, o
-const float BG_EY_TriggerPositions[EY_POINTS_MAX][4] =
+Position const BG_EY_TriggerPositions[EY_POINTS_MAX] =
{
{2044.28f, 1729.68f, 1189.96f, 0.017453f}, // FEL_REAVER center
{2048.83f, 1393.65f, 1194.49f, 0.20944f}, // BLOOD_ELF center
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp
index 7940aaf0585..9e9cc6c63ee 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp
@@ -369,20 +369,20 @@ bool BattlegroundIC::SetupBattleground()
for (uint8 i = 2; i < MAX_NORMAL_NPCS_SPAWNS; ++i)
{
- if (!AddCreature(BG_IC_NpcSpawnlocs[i].entry, BG_IC_NpcSpawnlocs[i].type, BG_IC_NpcSpawnlocs[i].team,
+ if (!AddCreature(BG_IC_NpcSpawnlocs[i].entry, BG_IC_NpcSpawnlocs[i].type,
BG_IC_NpcSpawnlocs[i].x, BG_IC_NpcSpawnlocs[i].y,
BG_IC_NpcSpawnlocs[i].z, BG_IC_NpcSpawnlocs[i].o,
- RESPAWN_ONE_DAY))
+ BG_IC_NpcSpawnlocs[i].team, RESPAWN_ONE_DAY))
{
TC_LOG_ERROR("bg.battleground", "Isle of Conquest: There was an error spawning creature %u", BG_IC_NpcSpawnlocs[i].entry);
return false;
}
}
- if (!AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+5, BG_IC_SpiritGuidePos[5][0], BG_IC_SpiritGuidePos[5][1], BG_IC_SpiritGuidePos[5][2], BG_IC_SpiritGuidePos[5][3], ALLIANCE)
- || !AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+6, BG_IC_SpiritGuidePos[6][0], BG_IC_SpiritGuidePos[6][1], BG_IC_SpiritGuidePos[6][2], BG_IC_SpiritGuidePos[6][3], HORDE)
- || !AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+3, BG_IC_SpiritGuidePos[7][0], BG_IC_SpiritGuidePos[7][1], BG_IC_SpiritGuidePos[7][2], BG_IC_SpiritGuidePos[7][3], ALLIANCE)
- || !AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+4, BG_IC_SpiritGuidePos[8][0], BG_IC_SpiritGuidePos[8][1], BG_IC_SpiritGuidePos[8][2], BG_IC_SpiritGuidePos[8][3], HORDE))
+ if (!AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+5, BG_IC_SpiritGuidePos[5], TEAM_ALLIANCE)
+ || !AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+6, BG_IC_SpiritGuidePos[6], TEAM_HORDE)
+ || !AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+3, BG_IC_SpiritGuidePos[7], TEAM_ALLIANCE)
+ || !AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+4, BG_IC_SpiritGuidePos[8], TEAM_HORDE))
{
TC_LOG_ERROR("bg.battleground", "Isle of Conquest: Failed to spawn initial spirit guide!");
return false;
@@ -607,10 +607,7 @@ void BattlegroundIC::HandleCapturedNodes(ICNodePoint* nodePoint, bool recapture)
{
if (nodePoint->nodeType != NODE_TYPE_REFINERY && nodePoint->nodeType != NODE_TYPE_QUARRY)
{
- if (!AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+nodePoint->nodeType-2,
- BG_IC_SpiritGuidePos[nodePoint->nodeType][0], BG_IC_SpiritGuidePos[nodePoint->nodeType][1],
- BG_IC_SpiritGuidePos[nodePoint->nodeType][2], BG_IC_SpiritGuidePos[nodePoint->nodeType][3],
- (nodePoint->faction == TEAM_ALLIANCE ? ALLIANCE : HORDE)))
+ if (!AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1+nodePoint->nodeType-2, BG_IC_SpiritGuidePos[nodePoint->nodeType], nodePoint->faction))
TC_LOG_ERROR("bg.battleground", "Isle of Conquest: Failed to spawn spirit guide! point: %u, team: %u, ", nodePoint->nodeType, nodePoint->faction);
}
@@ -625,9 +622,7 @@ void BattlegroundIC::HandleCapturedNodes(ICNodePoint* nodePoint, bool recapture)
{
uint8 type = BG_IC_GO_HANGAR_TELEPORTER_1+u;
if (!AddObject(type, (nodePoint->faction == TEAM_ALLIANCE ? GO_ALLIANCE_GUNSHIP_PORTAL : GO_HORDE_GUNSHIP_PORTAL),
- BG_IC_HangarTeleporters[u].GetPositionX(), BG_IC_HangarTeleporters[u].GetPositionY(),
- BG_IC_HangarTeleporters[u].GetPositionZ(), BG_IC_HangarTeleporters[u].GetOrientation(),
- 0, 0, 0, 0, RESPAWN_ONE_DAY))
+ BG_IC_HangarTeleporters[u], 0, 0, 0, 0, RESPAWN_ONE_DAY))
{
TC_LOG_ERROR("bg.battleground", "Isle of Conquest: There was an error spawning a gunship portal. Type: %u", BG_IC_GO_HANGAR_TELEPORTER_1+u);
}
@@ -688,11 +683,9 @@ void BattlegroundIC::HandleCapturedNodes(ICNodePoint* nodePoint, bool recapture)
if (GetBGCreature(type, false) && GetBGCreature(type)->IsAlive())
continue;
- if (AddCreature(nodePoint->faction == TEAM_ALLIANCE ? NPC_GLAIVE_THROWER_A : NPC_GLAIVE_THROWER_H, type, nodePoint->faction,
- BG_IC_DocksVehiclesGlaives[i].GetPositionX(), BG_IC_DocksVehiclesGlaives[i].GetPositionY(),
- BG_IC_DocksVehiclesGlaives[i].GetPositionZ(), BG_IC_DocksVehiclesGlaives[i].GetOrientation(),
- RESPAWN_ONE_DAY))
- GetBGCreature(type)->setFaction(BG_IC_Factions[(nodePoint->faction == TEAM_ALLIANCE ? 0 : 1)]);
+ if (AddCreature(nodePoint->faction == TEAM_ALLIANCE ? NPC_GLAIVE_THROWER_A : NPC_GLAIVE_THROWER_H, type,
+ BG_IC_DocksVehiclesGlaives[i], nodePoint->faction, RESPAWN_ONE_DAY))
+ GetBGCreature(type)->setFaction(BG_IC_Factions[(nodePoint->faction == TEAM_ALLIANCE ? 0 : 1)]);
}
// spawning catapults
@@ -703,11 +696,8 @@ void BattlegroundIC::HandleCapturedNodes(ICNodePoint* nodePoint, bool recapture)
if (GetBGCreature(type, false) && GetBGCreature(type)->IsAlive())
continue;
- if (AddCreature(NPC_CATAPULT, type, nodePoint->faction,
- BG_IC_DocksVehiclesCatapults[i].GetPositionX(), BG_IC_DocksVehiclesCatapults[i].GetPositionY(),
- BG_IC_DocksVehiclesCatapults[i].GetPositionZ(), BG_IC_DocksVehiclesCatapults[i].GetOrientation(),
- RESPAWN_ONE_DAY))
- GetBGCreature(type)->setFaction(BG_IC_Factions[(nodePoint->faction == TEAM_ALLIANCE ? 0 : 1)]);
+ if (AddCreature(NPC_CATAPULT, type, BG_IC_DocksVehiclesCatapults[i], nodePoint->faction, RESPAWN_ONE_DAY))
+ GetBGCreature(type)->setFaction(BG_IC_Factions[(nodePoint->faction == TEAM_ALLIANCE ? 0 : 1)]);
}
break;
case BG_IC_GO_WORKSHOP_BANNER:
@@ -738,10 +728,7 @@ void BattlegroundIC::HandleCapturedNodes(ICNodePoint* nodePoint, bool recapture)
if (GetBGCreature(type, false) && GetBGCreature(type)->IsAlive())
continue;
- if (AddCreature(NPC_DEMOLISHER, type, nodePoint->faction,
- BG_IC_WorkshopVehicles[i].GetPositionX(), BG_IC_WorkshopVehicles[i].GetPositionY(),
- BG_IC_WorkshopVehicles[i].GetPositionZ(), BG_IC_WorkshopVehicles[i].GetOrientation(),
- RESPAWN_ONE_DAY))
+ if (AddCreature(NPC_DEMOLISHER, type, BG_IC_WorkshopVehicles[i], nodePoint->faction, RESPAWN_ONE_DAY))
GetBGCreature(type)->setFaction(BG_IC_Factions[(nodePoint->faction == TEAM_ALLIANCE ? 0 : 1)]);
}
@@ -761,10 +748,8 @@ void BattlegroundIC::HandleCapturedNodes(ICNodePoint* nodePoint, bool recapture)
uint8 siegeType = (nodePoint->faction == TEAM_ALLIANCE ? BG_IC_NPC_SIEGE_ENGINE_A : BG_IC_NPC_SIEGE_ENGINE_H);
if (!GetBGCreature(siegeType, false) || !GetBGCreature(siegeType)->IsAlive())
{
- AddCreature((nodePoint->faction == TEAM_ALLIANCE ? NPC_SIEGE_ENGINE_A : NPC_SIEGE_ENGINE_H), siegeType, nodePoint->faction,
- BG_IC_WorkshopVehicles[4].GetPositionX(), BG_IC_WorkshopVehicles[4].GetPositionY(),
- BG_IC_WorkshopVehicles[4].GetPositionZ(), BG_IC_WorkshopVehicles[4].GetOrientation(),
- RESPAWN_ONE_DAY);
+ AddCreature((nodePoint->faction == TEAM_ALLIANCE ? NPC_SIEGE_ENGINE_A : NPC_SIEGE_ENGINE_H), siegeType,
+ BG_IC_WorkshopVehicles[4], nodePoint->faction, RESPAWN_ONE_DAY);
if (Creature* siegeEngine = GetBGCreature(siegeType))
{
@@ -784,7 +769,7 @@ void BattlegroundIC::HandleCapturedNodes(ICNodePoint* nodePoint, bool recapture)
if (GameObject* seaforiumBombs = GetBGObject(BG_IC_GO_SEAFORIUM_BOMBS_1+i))
{
seaforiumBombs->SetRespawnTime(10);
- seaforiumBombs->SetUInt32Value(GAMEOBJECT_FACTION, BG_IC_Factions[(nodePoint->faction == TEAM_ALLIANCE ? 0 : 1)]);
+ seaforiumBombs->SetFaction(BG_IC_Factions[(nodePoint->faction == TEAM_ALLIANCE ? 0 : 1)]);
}
}
break;
@@ -830,12 +815,12 @@ void BattlegroundIC::DestroyGate(Player* player, GameObject* go)
if (go->GetEntry() == GO_HORDE_GATE_1 || go->GetEntry() == GO_HORDE_GATE_2 || go->GetEntry() == GO_HORDE_GATE_3)
{
- if (!GetBgMap()->GetCreature(BgCreatures[BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].type]) && !AddCreature(BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].entry, BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].type, BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].team, BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].x, BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].y, BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].z, BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].o, RESPAWN_ONE_DAY))
+ if (!GetBgMap()->GetCreature(BgCreatures[BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].type]) && !AddCreature(BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].entry, BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].type, BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].x, BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].y, BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].z, BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].o, BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].team, RESPAWN_ONE_DAY))
TC_LOG_ERROR("bg.battleground", "Isle of Conquest: There was an error spawning creature %u", BG_IC_NpcSpawnlocs[BG_IC_NPC_OVERLORD_AGMAR].entry);
}
else if (go->GetEntry() == GO_ALLIANCE_GATE_1 || go->GetEntry() == GO_ALLIANCE_GATE_2 || go->GetEntry() == GO_ALLIANCE_GATE_3)
{
- if (!GetBgMap()->GetCreature(BgCreatures[BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].type]) && !AddCreature(BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].entry, BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].type, BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].team, BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].x, BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].y, BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].z, BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].o, RESPAWN_ONE_DAY))
+ if (!GetBgMap()->GetCreature(BgCreatures[BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].type]) && !AddCreature(BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].entry, BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].type, BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].x, BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].y, BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].z, BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].o, BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].team, RESPAWN_ONE_DAY))
TC_LOG_ERROR("bg.battleground", "Isle of Conquest: There was an error spawning creature %u", BG_IC_NpcSpawnlocs[BG_IC_NPC_HIGH_COMMANDER_HALFORD_WYRMBANE].entry);
}
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundIC.h b/src/server/game/Battlegrounds/Zones/BattlegroundIC.h
index 9bed8cdc2cd..091a75e7449 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundIC.h
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundIC.h
@@ -204,7 +204,7 @@ struct ICNpc
{
uint32 type;
uint32 entry;
- uint32 team;
+ TeamId team;
float x;
float y;
float z;
@@ -783,7 +783,7 @@ const uint32 BG_IC_GraveyardIds[MAX_NODE_TYPES+2] = {0, 0, 1480, 1481, 1482, 148
const Position TransportMovementInfo = {7.305609f, -0.095246f, 34.51022f, 0.0f};
const Position TeleportToTransportPosition = {661.0f, -1244.0f, 288.0f, 0.0f};
-const float BG_IC_SpiritGuidePos[MAX_NODE_TYPES+2][4] =
+Position const BG_IC_SpiritGuidePos[MAX_NODE_TYPES+2] =
{
{0.0f, 0.0f, 0.0f, 0.0f}, // no grave
{0.0f, 0.0f, 0.0f, 0.0f}, // no grave
@@ -819,7 +819,7 @@ struct ICNodePoint
{
uint32 gameobject_type; // with this we will get the GameObject of that point
uint32 gameobject_entry; // what gameobject entry is active here.
- uint8 faction; // who has this node
+ TeamId faction; // who has this node
ICNodePointType nodeType; // here we can specify if it is graveyards, hangar etc...
uint32 banners[4]; // the banners that have this point
bool needChange; // this is used for the 1 minute time period after the point is captured
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp
index c057591e4eb..7af9c0a3fa5 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp
@@ -103,7 +103,7 @@ bool BattlegroundSA::ResetObjs()
for (uint8 i = 0; i < 6; i++)
GateStatus[i] = BG_SA_GATE_OK;
- AddCreature(BG_SA_NpcEntries[BG_SA_NPC_KANRETHAD], BG_SA_NPC_KANRETHAD, 0, BG_SA_NpcSpawnlocs[BG_SA_NPC_KANRETHAD]);
+ AddCreature(BG_SA_NpcEntries[BG_SA_NPC_KANRETHAD], BG_SA_NPC_KANRETHAD, BG_SA_NpcSpawnlocs[BG_SA_NPC_KANRETHAD]);
for (uint8 i = 0; i <= BG_SA_PORTAL_DEFFENDER_RED; i++)
{
@@ -148,7 +148,7 @@ bool BattlegroundSA::ResetObjs()
//By capturing GYs.
for (uint8 i = 0; i < BG_SA_DEMOLISHER_5; i++)
{
- if (!AddCreature(BG_SA_NpcEntries[i], i, (Attackers == TEAM_ALLIANCE ? TEAM_HORDE : TEAM_ALLIANCE), BG_SA_NpcSpawnlocs[i], 600))
+ if (!AddCreature(BG_SA_NpcEntries[i], i, BG_SA_NpcSpawnlocs[i], Attackers == TEAM_ALLIANCE ? TEAM_HORDE : TEAM_ALLIANCE, 600))
return false;
}
@@ -185,12 +185,12 @@ bool BattlegroundSA::ResetObjs()
if (i == BG_SA_BEACH_GY)
{
GraveyardStatus[i] = Attackers;
- AddSpiritGuide(i + BG_SA_MAXNPC, sg->x, sg->y, sg->z, BG_SA_GYOrientation[i], ((Attackers == TEAM_HORDE)? HORDE : ALLIANCE));
+ AddSpiritGuide(i + BG_SA_MAXNPC, sg->x, sg->y, sg->z, BG_SA_GYOrientation[i], Attackers);
}
else
{
GraveyardStatus[i] = ((Attackers == TEAM_HORDE)? TEAM_ALLIANCE : TEAM_HORDE);
- if (!AddSpiritGuide(i + BG_SA_MAXNPC, sg->x, sg->y, sg->z, BG_SA_GYOrientation[i], ((Attackers == TEAM_HORDE)? ALLIANCE : HORDE)))
+ if (!AddSpiritGuide(i + BG_SA_MAXNPC, sg->x, sg->y, sg->z, BG_SA_GYOrientation[i], Attackers == TEAM_HORDE ? TEAM_ALLIANCE : TEAM_HORDE))
TC_LOG_ERROR("bg.battleground", "SOTA: couldn't spawn GY: %u", i);
}
}
@@ -766,7 +766,7 @@ void BattlegroundSA::CaptureGraveyard(BG_SA_Graveyards i, Player* Source)
return;
}
- AddSpiritGuide(i + BG_SA_MAXNPC, sg->x, sg->y, sg->z, BG_SA_GYOrientation[i], (GraveyardStatus[i] == TEAM_ALLIANCE? ALLIANCE : HORDE));
+ AddSpiritGuide(i + BG_SA_MAXNPC, sg->x, sg->y, sg->z, BG_SA_GYOrientation[i], GraveyardStatus[i]);
uint32 npc = 0;
uint32 flag = 0;
@@ -779,20 +779,19 @@ void BattlegroundSA::CaptureGraveyard(BG_SA_Graveyards i, Player* Source)
BG_SA_ObjSpawnlocs[flag], 0, 0, 0, 0, RESPAWN_ONE_DAY);
npc = BG_SA_NPC_RIGSPARK;
- if (Creature* rigspark = AddCreature(BG_SA_NpcEntries[npc], npc, Attackers, BG_SA_NpcSpawnlocs[npc]))
+ if (Creature* rigspark = AddCreature(BG_SA_NpcEntries[npc], npc, BG_SA_NpcSpawnlocs[npc], Attackers))
rigspark->AI()->Talk(TEXT_SPARKLIGHT_RIGSPARK_SPAWN);
for (uint8 j = BG_SA_DEMOLISHER_7; j <= BG_SA_DEMOLISHER_8; j++)
{
- AddCreature(BG_SA_NpcEntries[j], j, (Attackers == TEAM_ALLIANCE ? TEAM_HORDE : TEAM_ALLIANCE),
- BG_SA_NpcSpawnlocs[j], 600);
+ AddCreature(BG_SA_NpcEntries[j], j, BG_SA_NpcSpawnlocs[j], (Attackers == TEAM_ALLIANCE ? TEAM_HORDE : TEAM_ALLIANCE), 600);
if (Creature* dem = GetBGCreature(j))
dem->setFaction(BG_SA_Factions[Attackers]);
}
- UpdateWorldState(BG_SA_LEFT_GY_ALLIANCE, (GraveyardStatus[i] == TEAM_ALLIANCE ? 1 : 0));
- UpdateWorldState(BG_SA_LEFT_GY_HORDE, (GraveyardStatus[i] == TEAM_ALLIANCE ? 0 : 1));
+ UpdateWorldState(BG_SA_LEFT_GY_ALLIANCE, GraveyardStatus[i] == TEAM_ALLIANCE);
+ UpdateWorldState(BG_SA_LEFT_GY_HORDE, GraveyardStatus[i] == TEAM_HORDE);
if (Creature* c = Source->FindNearestCreature(NPC_WORLD_TRIGGER, 500.0f))
SendChatMessage(c, Source->GetTeamId() == TEAM_ALLIANCE ? TEXT_WEST_GRAVEYARD_CAPTURED_A : TEXT_WEST_GRAVEYARD_CAPTURED_H, Source);
@@ -805,20 +804,19 @@ void BattlegroundSA::CaptureGraveyard(BG_SA_Graveyards i, Player* Source)
BG_SA_ObjSpawnlocs[flag], 0, 0, 0, 0, RESPAWN_ONE_DAY);
npc = BG_SA_NPC_SPARKLIGHT;
- if (Creature* sparklight = AddCreature(BG_SA_NpcEntries[npc], npc, Attackers, BG_SA_NpcSpawnlocs[npc]))
+ if (Creature* sparklight = AddCreature(BG_SA_NpcEntries[npc], npc, BG_SA_NpcSpawnlocs[npc], Attackers))
sparklight->AI()->Talk(TEXT_SPARKLIGHT_RIGSPARK_SPAWN);
for (uint8 j = BG_SA_DEMOLISHER_5; j <= BG_SA_DEMOLISHER_6; j++)
{
- AddCreature(BG_SA_NpcEntries[j], j, (Attackers == TEAM_ALLIANCE ? TEAM_HORDE : TEAM_ALLIANCE),
- BG_SA_NpcSpawnlocs[j], 600);
+ AddCreature(BG_SA_NpcEntries[j], j, BG_SA_NpcSpawnlocs[j], Attackers == TEAM_ALLIANCE ? TEAM_HORDE : TEAM_ALLIANCE, 600);
if (Creature* dem = GetBGCreature(j))
dem->setFaction(BG_SA_Factions[Attackers]);
}
- UpdateWorldState(BG_SA_RIGHT_GY_ALLIANCE, (GraveyardStatus[i] == TEAM_ALLIANCE ? 1 : 0));
- UpdateWorldState(BG_SA_RIGHT_GY_HORDE, (GraveyardStatus[i] == TEAM_ALLIANCE ? 0 : 1));
+ UpdateWorldState(BG_SA_RIGHT_GY_ALLIANCE, GraveyardStatus[i] == TEAM_ALLIANCE);
+ UpdateWorldState(BG_SA_RIGHT_GY_HORDE, GraveyardStatus[i] == TEAM_HORDE);
if (Creature* c = Source->FindNearestCreature(NPC_WORLD_TRIGGER, 500.0f))
SendChatMessage(c, Source->GetTeamId() == TEAM_ALLIANCE ? TEXT_EAST_GRAVEYARD_CAPTURED_A : TEXT_EAST_GRAVEYARD_CAPTURED_H, Source);
@@ -830,8 +828,8 @@ void BattlegroundSA::CaptureGraveyard(BG_SA_Graveyards i, Player* Source)
AddObject(flag, (BG_SA_ObjEntries[flag] - (Source->GetTeamId() == TEAM_ALLIANCE ? 0 : 1)),
BG_SA_ObjSpawnlocs[flag], 0, 0, 0, 0, RESPAWN_ONE_DAY);
- UpdateWorldState(BG_SA_CENTER_GY_ALLIANCE, (GraveyardStatus[i] == TEAM_ALLIANCE ? 1 : 0));
- UpdateWorldState(BG_SA_CENTER_GY_HORDE, (GraveyardStatus[i] == TEAM_ALLIANCE ? 0 : 1));
+ UpdateWorldState(BG_SA_CENTER_GY_ALLIANCE, GraveyardStatus[i] == TEAM_ALLIANCE);
+ UpdateWorldState(BG_SA_CENTER_GY_HORDE, GraveyardStatus[i] == TEAM_HORDE);
if (Creature* c = Source->FindNearestCreature(NPC_WORLD_TRIGGER, 500.0f))
SendChatMessage(c, Source->GetTeamId() == TEAM_ALLIANCE ? TEXT_SOUTH_GRAVEYARD_CAPTURED_A : TEXT_SOUTH_GRAVEYARD_CAPTURED_H, Source);
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp
index 92d56bbf5f0..fcd55e2e16a 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp
@@ -711,14 +711,14 @@ bool BattlegroundWS::SetupBattleground()
}
WorldSafeLocsEntry const* sg = sWorldSafeLocsStore.LookupEntry(WS_GRAVEYARD_MAIN_ALLIANCE);
- if (!sg || !AddSpiritGuide(WS_SPIRIT_MAIN_ALLIANCE, sg->x, sg->y, sg->z, 3.124139f, ALLIANCE))
+ if (!sg || !AddSpiritGuide(WS_SPIRIT_MAIN_ALLIANCE, sg->x, sg->y, sg->z, 3.124139f, TEAM_ALLIANCE))
{
TC_LOG_ERROR("sql.sql", "BatteGroundWS: Failed to spawn Alliance spirit guide! Battleground not created!");
return false;
}
sg = sWorldSafeLocsStore.LookupEntry(WS_GRAVEYARD_MAIN_HORDE);
- if (!sg || !AddSpiritGuide(WS_SPIRIT_MAIN_HORDE, sg->x, sg->y, sg->z, 3.193953f, HORDE))
+ if (!sg || !AddSpiritGuide(WS_SPIRIT_MAIN_HORDE, sg->x, sg->y, sg->z, 3.193953f, TEAM_HORDE))
{
TC_LOG_ERROR("sql.sql", "BatteGroundWS: Failed to spawn Horde spirit guide! Battleground not created!");
return false;
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp
index 0a02339adfa..36997eb884a 100644
--- a/src/server/game/Entities/Creature/Creature.cpp
+++ b/src/server/game/Entities/Creature/Creature.cpp
@@ -257,7 +257,7 @@ void Creature::RemoveCorpse(bool setSpawnTime)
/**
* change the entry of creature until respawn
*/
-bool Creature::InitEntry(uint32 entry, uint32 /*team*/, const CreatureData* data)
+bool Creature::InitEntry(uint32 entry, CreatureData const* data /*= nullptr*/)
{
CreatureTemplate const* normalInfo = sObjectMgr->GetCreatureTemplate(entry);
if (!normalInfo)
@@ -333,10 +333,10 @@ bool Creature::InitEntry(uint32 entry, uint32 /*team*/, const CreatureData* data
SetFloatValue(UNIT_MOD_CAST_SPEED, 1.0f);
- SetSpeed(MOVE_WALK, cinfo->speed_walk);
- SetSpeed(MOVE_RUN, cinfo->speed_run);
- SetSpeed(MOVE_SWIM, 1.0f); // using 1.0 rate
- SetSpeed(MOVE_FLIGHT, 1.0f); // using 1.0 rate
+ SetSpeed(MOVE_WALK, cinfo->speed_walk);
+ SetSpeed(MOVE_RUN, cinfo->speed_run);
+ SetSpeed(MOVE_SWIM, 1.0f); // using 1.0 rate
+ SetSpeed(MOVE_FLIGHT, 1.0f); // using 1.0 rate
// Will set UNIT_FIELD_BOUNDINGRADIUS and UNIT_FIELD_COMBATREACH
SetObjectScale(cinfo->scale);
@@ -354,9 +354,9 @@ bool Creature::InitEntry(uint32 entry, uint32 /*team*/, const CreatureData* data
return true;
}
-bool Creature::UpdateEntry(uint32 Entry, uint32 team, const CreatureData* data)
+bool Creature::UpdateEntry(uint32 entry, CreatureData const* data /*= nullptr*/)
{
- if (!InitEntry(Entry, team, data))
+ if (!InitEntry(entry, data))
return false;
CreatureTemplate const* cInfo = GetCreatureTemplate();
@@ -367,7 +367,7 @@ bool Creature::UpdateEntry(uint32 Entry, uint32 team, const CreatureData* data)
if (!GetCreatureAddon())
SetSheath(SHEATH_STATE_MELEE);
- setFaction(cInfo->faction);
+ setFaction(cInfo->faction);
uint32 npcflag, unit_flags, dynamicflags;
ObjectMgr::ChooseCreatureFlags(cInfo, npcflag, unit_flags, dynamicflags, data);
@@ -736,16 +736,16 @@ void Creature::Motion_Initialize()
GetMotionMaster()->Initialize();
}
-bool Creature::Create(uint32 guidlow, Map* map, uint32 phaseMask, uint32 Entry, uint32 vehId, uint32 team, float x, float y, float z, float ang, const CreatureData* data)
+bool Creature::Create(uint32 guidlow, Map* map, uint32 phaseMask, uint32 entry, float x, float y, float z, float ang, CreatureData const* data /*= nullptr*/, uint32 vehId /*= 0*/)
{
ASSERT(map);
SetMap(map);
SetPhaseMask(phaseMask, false);
- CreatureTemplate const* cinfo = sObjectMgr->GetCreatureTemplate(Entry);
+ CreatureTemplate const* cinfo = sObjectMgr->GetCreatureTemplate(entry);
if (!cinfo)
{
- TC_LOG_ERROR("sql.sql", "Creature::Create(): creature template (guidlow: %u, entry: %u) does not exist.", guidlow, Entry);
+ TC_LOG_ERROR("sql.sql", "Creature::Create(): creature template (guidlow: %u, entry: %u) does not exist.", guidlow, entry);
return false;
}
@@ -753,13 +753,12 @@ bool Creature::Create(uint32 guidlow, Map* map, uint32 phaseMask, uint32 Entry,
//! returning correct zone id for selecting OutdoorPvP/Battlefield script
Relocate(x, y, z, ang);
- //oX = x; oY = y; dX = x; dY = y; m_moveTime = 0; m_startMove = 0;
- if (!CreateFromProto(guidlow, Entry, vehId, team, data))
+ if (!CreateFromProto(guidlow, entry, data, vehId))
return false;
if (!IsPositionValid())
{
- TC_LOG_ERROR("entities.unit", "Creature::Create(): given coordinates for creature (guidlow %d, entry %d) are not valid (X: %f, Y: %f, Z: %f, O: %f)", guidlow, Entry, x, y, z, ang);
+ TC_LOG_ERROR("entities.unit", "Creature::Create(): given coordinates for creature (guidlow %d, entry %d) are not valid (X: %f, Y: %f, Z: %f, O: %f)", guidlow, entry, x, y, z, ang);
return false;
}
@@ -811,9 +810,6 @@ bool Creature::Create(uint32 guidlow, Map* map, uint32 phaseMask, uint32 Entry,
m_serverSideVisibilityDetect.SetValue(SERVERSIDE_VISIBILITY_GHOST, GHOST_VISIBILITY_GHOST);
}
- if (Entry == VISUAL_WAYPOINT)
- SetVisible(false);
-
return true;
}
@@ -821,10 +817,12 @@ void Creature::InitializeReactState()
{
if (IsTotem() || IsTrigger() || GetCreatureType() == CREATURE_TYPE_CRITTER || IsSpiritService())
SetReactState(REACT_PASSIVE);
+ /*
+ else if (IsCivilian())
+ SetReactState(REACT_DEFENSIVE);
+ */
else
SetReactState(REACT_AGGRESSIVE);
- /*else if (IsCivilian())
- SetReactState(REACT_DEFENSIVE);*/;
}
bool Creature::isCanInteractWithBattleMaster(Player* player, bool msg) const
@@ -1156,35 +1154,35 @@ float Creature::GetSpellDamageMod(int32 Rank) const
}
}
-bool Creature::CreateFromProto(uint32 guidlow, uint32 Entry, uint32 vehId, uint32 team, const CreatureData* data)
+bool Creature::CreateFromProto(uint32 guidlow, uint32 entry, CreatureData const* data /*= nullptr*/, uint32 vehId /*= 0*/)
{
SetZoneScript();
if (GetZoneScript() && data)
{
- Entry = GetZoneScript()->GetCreatureEntry(guidlow, data);
- if (!Entry)
+ entry = GetZoneScript()->GetCreatureEntry(guidlow, data);
+ if (!entry)
return false;
}
- CreatureTemplate const* cinfo = sObjectMgr->GetCreatureTemplate(Entry);
+ CreatureTemplate const* cinfo = sObjectMgr->GetCreatureTemplate(entry);
if (!cinfo)
{
- TC_LOG_ERROR("sql.sql", "Creature::CreateFromProto(): creature template (guidlow: %u, entry: %u) does not exist.", guidlow, Entry);
+ TC_LOG_ERROR("sql.sql", "Creature::CreateFromProto(): creature template (guidlow: %u, entry: %u) does not exist.", guidlow, entry);
return false;
}
- SetOriginalEntry(Entry);
+ SetOriginalEntry(entry);
if (!vehId)
vehId = cinfo->VehicleId;
- Object::_Create(guidlow, Entry, vehId ? HIGHGUID_VEHICLE : HIGHGUID_UNIT);
+ Object::_Create(guidlow, entry, vehId ? HIGHGUID_VEHICLE : HIGHGUID_UNIT);
- if (!UpdateEntry(Entry, team, data))
+ if (!UpdateEntry(entry, data))
return false;
if (vehId)
- CreateVehicleKit(vehId, Entry);
+ CreateVehicleKit(vehId, entry);
return true;
}
@@ -1208,8 +1206,7 @@ bool Creature::LoadCreatureFromDB(uint32 guid, Map* map, bool addToMap)
else
guid = sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT);
- uint16 team = 0;
- if (!Create(guid, map, data->phaseMask, data->id, 0, team, data->posX, data->posY, data->posZ, data->orientation, data))
+ if (!Create(guid, map, data->phaseMask, data->id, data->posX, data->posY, data->posZ, data->orientation, data))
return false;
//We should set first home position, because then AI calls home movement
diff --git a/src/server/game/Entities/Creature/Creature.h b/src/server/game/Entities/Creature/Creature.h
index e702df51637..b2899d026e5 100644
--- a/src/server/game/Entities/Creature/Creature.h
+++ b/src/server/game/Entities/Creature/Creature.h
@@ -436,7 +436,7 @@ class Creature : public Unit, public GridObject<Creature>, public MapObject
void DisappearAndDie();
- bool Create(uint32 guidlow, Map* map, uint32 phaseMask, uint32 Entry, uint32 vehId, uint32 team, float x, float y, float z, float ang, const CreatureData* data = NULL);
+ bool Create(uint32 guidlow, Map* map, uint32 phaseMask, uint32 entry, float x, float y, float z, float ang, CreatureData const* data = nullptr, uint32 vehId = 0);
bool LoadCreaturesAddon(bool reload = false);
void SelectLevel();
void LoadEquipment(int8 id = 1, bool force = false);
@@ -504,7 +504,7 @@ class Creature : public Unit, public GridObject<Creature>, public MapObject
bool HasSpell(uint32 spellID) const;
- bool UpdateEntry(uint32 entry, uint32 team=ALLIANCE, const CreatureData* data=NULL);
+ bool UpdateEntry(uint32 entry, CreatureData const* data = nullptr);
void UpdateMovementFlags();
@@ -678,8 +678,8 @@ class Creature : public Unit, public GridObject<Creature>, public MapObject
void ReleaseFocus(Spell const* focusSpell);
protected:
- bool CreateFromProto(uint32 guidlow, uint32 Entry, uint32 vehId, uint32 team, const CreatureData* data = NULL);
- bool InitEntry(uint32 entry, uint32 team=ALLIANCE, const CreatureData* data=NULL);
+ bool CreateFromProto(uint32 guidlow, uint32 entry, CreatureData const* data = nullptr, uint32 vehId = 0);
+ bool InitEntry(uint32 entry, CreatureData const* data = nullptr);
// vendor items
VendorItemCounts m_vendorItemCounts;
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp
index 9827babddd7..237a13b80fc 100644
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -2199,7 +2199,7 @@ TempSummon* Map::SummonCreature(uint32 entry, Position const& pos, SummonPropert
break;
}
- if (!summon->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), this, phase, entry, vehId, team, pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), pos.GetOrientation()))
+ if (!summon->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), this, phase, entry, pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), pos.GetOrientation(), nullptr, vehId))
{
delete summon;
return NULL;
diff --git a/src/server/game/Entities/Pet/Pet.cpp b/src/server/game/Entities/Pet/Pet.cpp
index 19ac8dd57b5..eb4e2fcf2ee 100644
--- a/src/server/game/Entities/Pet/Pet.cpp
+++ b/src/server/game/Entities/Pet/Pet.cpp
@@ -39,7 +39,7 @@ Pet::Pet(Player* owner, PetType type) :
m_happinessTimer(7500), m_petType(type), m_duration(0), m_auraRaidUpdateMask(0), m_loading(false),
m_declinedname(NULL)
{
- ASSERT(GetOwner()->GetTypeId() == TYPEID_PLAYER);
+ ASSERT(GetOwner());
m_unitTypeMask |= UNIT_MASK_PET;
if (type == HUNTER_PET)
@@ -384,8 +384,6 @@ void Pet::SavePetToDB(PetSaveMode mode)
return;
Player* owner = GetOwner();
- if (!owner)
- return;
// not save pet as current if another pet temporary unsummoned
if (mode == PET_SAVE_AS_CURRENT && owner->GetTemporaryUnsummonedPetNumber() &&
@@ -563,7 +561,7 @@ void Pet::Update(uint32 diff)
{
// unsummon pet that lost owner
Player* owner = GetOwner();
- if (!owner || (!IsWithinDistInMap(owner, GetMap()->GetVisibilityRange()) && !isPossessed()) || (isControlled() && !owner->GetPetGUID()))
+ if ((!IsWithinDistInMap(owner, GetMap()->GetVisibilityRange()) && !isPossessed()) || (isControlled() && !owner->GetPetGUID()))
//if (!owner || (!IsWithinDistInMap(owner, GetMap()->GetVisibilityDistance()) && (owner->GetCharmGUID() && (owner->GetCharmGUID() != GetGUID()))) || (isControlled() && !owner->GetPetGUID()))
{
Remove(PET_SAVE_NOT_IN_SLOT, true);
@@ -846,8 +844,8 @@ bool Guardian::InitStatsForLevel(uint8 petlevel)
if (IsPet() && GetOwner()->GetTypeId() == TYPEID_PLAYER)
{
if (GetOwner()->getClass() == CLASS_WARLOCK
- || GetOwner()->getClass() == CLASS_SHAMAN // Fire Elemental
- || GetOwner()->getClass() == CLASS_DEATH_KNIGHT) // Risen Ghoul
+ || GetOwner()->getClass() == CLASS_SHAMAN // Fire Elemental
+ || GetOwner()->getClass() == CLASS_DEATH_KNIGHT) // Risen Ghoul
{
petType = SUMMON_PET;
}
@@ -1150,7 +1148,7 @@ void Pet::_LoadSpellCooldowns()
}
while (result->NextRow());
- if (!cooldowns.empty() && GetOwner())
+ if (!cooldowns.empty())
{
BuildCooldownPacket(data, SPELL_COOLDOWN_FLAG_NONE, cooldowns);
GetOwner()->GetSession()->SendPacket(&data);
@@ -1629,12 +1627,7 @@ bool Pet::removeSpell(uint32 spell_id, bool learn_prev, bool clear_ab)
if (clear_ab && !learn_prev && m_charmInfo->RemoveSpellFromActionBar(spell_id))
{
if (!m_loading)
- {
- // need update action bar for last removed rank
- if (Unit* owner = GetOwner())
- if (owner->GetTypeId() == TYPEID_PLAYER)
- owner->ToPlayer()->PetSpellInitialize();
- }
+ GetOwner()->PetSpellInitialize(); // need update action bar for last removed rank
}
return true;
@@ -1669,13 +1662,11 @@ void Pet::InitPetCreateSpells()
bool Pet::resetTalents()
{
- Unit* owner = GetOwner();
- if (!owner || owner->GetTypeId() != TYPEID_PLAYER)
- return false;
+ Player* player = GetOwner();
// not need after this call
- if (owner->ToPlayer()->HasAtLoginFlag(AT_LOGIN_RESET_PET_TALENTS))
- owner->ToPlayer()->RemoveAtLoginFlag(AT_LOGIN_RESET_PET_TALENTS, true);
+ if (player->HasAtLoginFlag(AT_LOGIN_RESET_PET_TALENTS))
+ player->RemoveAtLoginFlag(AT_LOGIN_RESET_PET_TALENTS, true);
CreatureTemplate const* ci = GetCreatureTemplate();
if (!ci)
@@ -1685,8 +1676,6 @@ bool Pet::resetTalents()
if (!pet_family || pet_family->petTalentType < 0)
return false;
- Player* player = owner->ToPlayer();
-
uint8 level = getLevel();
uint32 talentPointsForLevel = GetMaxTalentPointsForLevel(level);
@@ -1831,20 +1820,15 @@ void Pet::InitTalentForLevel()
SetFreeTalentPoints(talentPointsForLevel - m_usedTalentCount);
- Unit* owner = GetOwner();
- if (!owner || owner->GetTypeId() != TYPEID_PLAYER)
- return;
-
if (!m_loading)
- owner->ToPlayer()->SendTalentsInfoData(true);
+ GetOwner()->SendTalentsInfoData(true);
}
uint8 Pet::GetMaxTalentPointsForLevel(uint8 level)
{
uint8 points = (level >= 20) ? ((level - 16) / 4) : 0;
// Mod points from owner SPELL_AURA_MOD_PET_TALENT_POINTS
- if (Unit* owner = GetOwner())
- points+=owner->GetTotalAuraModifier(SPELL_AURA_MOD_PET_TALENT_POINTS);
+ points += GetOwner()->GetTotalAuraModifier(SPELL_AURA_MOD_PET_TALENT_POINTS);
return points;
}
@@ -1967,11 +1951,9 @@ void Pet::LearnPetPassives()
void Pet::CastPetAuras(bool current)
{
- Unit* owner = GetOwner();
- if (!owner || owner->GetTypeId() != TYPEID_PLAYER)
- return;
+ Player* owner = GetOwner();
- if (!IsPermanentPetFor(owner->ToPlayer()))
+ if (!IsPermanentPetFor(owner))
return;
for (PetAuraSet::const_iterator itr = owner->m_petAuras.begin(); itr != owner->m_petAuras.end();)
@@ -2003,10 +1985,7 @@ void Pet::CastPetAura(PetAura const* aura)
bool Pet::IsPetAura(Aura const* aura)
{
- Unit* owner = GetOwner();
-
- if (!owner || owner->GetTypeId() != TYPEID_PLAYER)
- return false;
+ Player* owner = GetOwner();
// if the owner has that pet aura, return true
for (PetAuraSet::const_iterator itr = owner->m_petAuras.begin(); itr != owner->m_petAuras.end(); ++itr)
@@ -2027,9 +2006,7 @@ void Pet::learnSpellHighRank(uint32 spellid)
void Pet::SynchronizeLevelWithOwner()
{
- Unit* owner = GetOwner();
- if (!owner || owner->GetTypeId() != TYPEID_PLAYER)
- return;
+ Player* owner = GetOwner();
switch (getPetType())
{
@@ -2079,9 +2056,7 @@ void Pet::ProhibitSpellSchool(SpellSchoolMask idSchoolMask, uint32 unTimeMs)
if (!cooldowns.empty())
{
BuildCooldownPacket(data, SPELL_COOLDOWN_FLAG_NONE, cooldowns);
-
- if (Player* owner = GetOwner())
- owner->GetSession()->SendPacket(&data);
+ GetOwner()->GetSession()->SendPacket(&data);
}
}
@@ -2097,8 +2072,6 @@ void Pet::SetDisplayId(uint32 modelId)
if (!isControlled())
return;
- if (Unit* owner = GetOwner())
- if (Player* player = owner->ToPlayer())
- if (player->GetGroup())
- player->SetGroupUpdateFlag(GROUP_UPDATE_FLAG_PET_MODEL_ID);
+ if (GetOwner()->GetGroup())
+ GetOwner()->SetGroupUpdateFlag(GROUP_UPDATE_FLAG_PET_MODEL_ID);
}
diff --git a/src/server/game/Entities/Transport/Transport.cpp b/src/server/game/Entities/Transport/Transport.cpp
index cf7cadadbfd..fd45c3fc596 100644
--- a/src/server/game/Entities/Transport/Transport.cpp
+++ b/src/server/game/Entities/Transport/Transport.cpp
@@ -384,13 +384,8 @@ TempSummon* Transport::SummonPassenger(uint32 entry, Position const& pos, TempSu
}
uint32 phase = PHASEMASK_NORMAL;
- uint32 team = 0;
if (summoner)
- {
phase = summoner->GetPhaseMask();
- if (summoner->GetTypeId() == TYPEID_PLAYER)
- team = summoner->ToPlayer()->GetTeam();
- }
TempSummon* summon = NULL;
switch (mask)
@@ -416,7 +411,7 @@ TempSummon* Transport::SummonPassenger(uint32 entry, Position const& pos, TempSu
pos.GetPosition(x, y, z, o);
CalculatePassengerPosition(x, y, z, &o);
- if (!summon->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), map, phase, entry, vehId, team, x, y, z, o))
+ if (!summon->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), map, phase, entry, x, y, z, o, nullptr, vehId))
{
delete summon;
return NULL;
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index 454ab920531..afe42261e6d 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -1850,7 +1850,7 @@ bool ObjectMgr::MoveCreData(uint32 guid, uint32 mapId, const Position& pos)
return true;
}
-uint32 ObjectMgr::AddCreData(uint32 entry, uint32 /*team*/, uint32 mapId, float x, float y, float z, float o, uint32 spawntimedelay)
+uint32 ObjectMgr::AddCreData(uint32 entry, uint32 mapId, float x, float y, float z, float o, uint32 spawntimedelay /*= 0*/)
{
CreatureTemplate const* cInfo = GetCreatureTemplate(entry);
if (!cInfo)
diff --git a/src/server/game/Globals/ObjectMgr.h b/src/server/game/Globals/ObjectMgr.h
index 31b881dee37..797d870aa62 100644
--- a/src/server/game/Globals/ObjectMgr.h
+++ b/src/server/game/Globals/ObjectMgr.h
@@ -1186,7 +1186,7 @@ class ObjectMgr
void AddGameobjectToGrid(uint32 guid, GameObjectData const* data);
void RemoveGameobjectFromGrid(uint32 guid, GameObjectData const* data);
uint32 AddGOData(uint32 entry, uint32 map, float x, float y, float z, float o, uint32 spawntimedelay = 0, float rotation0 = 0, float rotation1 = 0, float rotation2 = 0, float rotation3 = 0);
- uint32 AddCreData(uint32 entry, uint32 team, uint32 map, float x, float y, float z, float o, uint32 spawntimedelay = 0);
+ uint32 AddCreData(uint32 entry, uint32 map, float x, float y, float z, float o, uint32 spawntimedelay = 0);
bool MoveCreData(uint32 guid, uint32 map, const Position& pos);
// reserved names
diff --git a/src/server/game/Handlers/PetHandler.cpp b/src/server/game/Handlers/PetHandler.cpp
index 5258c890ac6..616ea9c7326 100644
--- a/src/server/game/Handlers/PetHandler.cpp
+++ b/src/server/game/Handlers/PetHandler.cpp
@@ -616,9 +616,8 @@ void WorldSession::HandlePetRename(WorldPacket& recvData)
pet->SetName(name);
- Player* owner = pet->GetOwner();
- if (owner && owner->GetGroup())
- owner->SetGroupUpdateFlag(GROUP_UPDATE_FLAG_PET_NAME);
+ if (pet->GetOwner()->GetGroup())
+ pet->GetOwner()->SetGroupUpdateFlag(GROUP_UPDATE_FLAG_PET_NAME);
pet->RemoveByteFlag(UNIT_FIELD_BYTES_2, 2, UNIT_CAN_BE_RENAMED);
diff --git a/src/server/game/OutdoorPvP/OutdoorPvP.cpp b/src/server/game/OutdoorPvP/OutdoorPvP.cpp
index 01ee5238789..cacec14d5e6 100644
--- a/src/server/game/OutdoorPvP/OutdoorPvP.cpp
+++ b/src/server/game/OutdoorPvP/OutdoorPvP.cpp
@@ -103,9 +103,9 @@ bool OPvPCapturePoint::AddObject(uint32 type, uint32 entry, uint32 map, float x,
return false;
}
-bool OPvPCapturePoint::AddCreature(uint32 type, uint32 entry, uint32 team, uint32 map, float x, float y, float z, float o, uint32 spawntimedelay)
+bool OPvPCapturePoint::AddCreature(uint32 type, uint32 entry, uint32 map, float x, float y, float z, float o, TeamId /*teamId = TEAM_NEUTRAL*/, uint32 spawntimedelay /*= 0*/)
{
- if (uint32 guid = sObjectMgr->AddCreData(entry, team, map, x, y, z, o, spawntimedelay))
+ if (uint32 guid = sObjectMgr->AddCreData(entry, map, x, y, z, o, spawntimedelay))
{
AddCre(type, guid, entry);
return true;
diff --git a/src/server/game/OutdoorPvP/OutdoorPvP.h b/src/server/game/OutdoorPvP/OutdoorPvP.h
index 9ea81ded055..a21398afecf 100644
--- a/src/server/game/OutdoorPvP/OutdoorPvP.h
+++ b/src/server/game/OutdoorPvP/OutdoorPvP.h
@@ -68,7 +68,6 @@ struct go_type
struct creature_type
{
uint32 entry;
- uint32 teamval;
uint32 map;
float x;
float y;
@@ -145,7 +144,7 @@ class OPvPCapturePoint
bool AddObject(uint32 type, uint32 entry, uint32 map, float x, float y, float z, float o,
float rotation0, float rotation1, float rotation2, float rotation3);
- bool AddCreature(uint32 type, uint32 entry, uint32 teamval, uint32 map, float x, float y, float z, float o, uint32 spawntimedelay = 0);
+ virtual bool AddCreature(uint32 type, uint32 entry, uint32 map, float x, float y, float z, float o, TeamId teamId = TEAM_NEUTRAL, uint32 spawntimedelay = 0);
bool DelCreature(uint32 type);
bool DelObject(uint32 type);
@@ -249,6 +248,19 @@ class OutdoorPvP : public ZoneScript
void TeamApplyBuff(TeamId team, uint32 spellId, uint32 spellId2 = 0);
+ static TeamId GetTeamIdByTeam(uint32 team)
+ {
+ switch (team)
+ {
+ case ALLIANCE:
+ return TEAM_ALLIANCE;
+ case HORDE:
+ return TEAM_HORDE;
+ default:
+ return TEAM_NEUTRAL;
+ }
+ }
+
protected:
// the map of the objectives belonging to this outdoorpvp
diff --git a/src/server/scripts/Commands/cs_debug.cpp b/src/server/scripts/Commands/cs_debug.cpp
index ba4b189b9f7..f3ef32069af 100644
--- a/src/server/scripts/Commands/cs_debug.cpp
+++ b/src/server/scripts/Commands/cs_debug.cpp
@@ -927,7 +927,7 @@ public:
Map* map = handler->GetSession()->GetPlayer()->GetMap();
- if (!v->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_VEHICLE), map, handler->GetSession()->GetPlayer()->GetPhaseMask(), entry, id, handler->GetSession()->GetPlayer()->GetTeam(), x, y, z, o))
+ if (!v->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_VEHICLE), map, handler->GetSession()->GetPlayer()->GetPhaseMask(), entry, x, y, z, o, nullptr, id))
{
delete v;
return false;
diff --git a/src/server/scripts/Commands/cs_npc.cpp b/src/server/scripts/Commands/cs_npc.cpp
index 9856a77b61f..24ab29dd345 100644
--- a/src/server/scripts/Commands/cs_npc.cpp
+++ b/src/server/scripts/Commands/cs_npc.cpp
@@ -226,14 +226,6 @@ public:
if (!charID)
return false;
- char* team = strtok(NULL, " ");
- int32 teamval = 0;
- if (team)
- teamval = atoi(team);
-
- if (teamval < 0)
- teamval = 0;
-
uint32 id = atoi(charID);
if (!sObjectMgr->GetCreatureTemplate(id))
return false;
@@ -265,7 +257,7 @@ public:
}
Creature* creature = new Creature();
- if (!creature->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), map, chr->GetPhaseMaskForSpawn(), id, 0, (uint32)teamval, x, y, z, o))
+ if (!creature->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), map, chr->GetPhaseMaskForSpawn(), id, x, y, z, o))
{
delete creature;
return false;
diff --git a/src/server/scripts/Commands/cs_wp.cpp b/src/server/scripts/Commands/cs_wp.cpp
index 9b20383e94a..745d674390b 100644
--- a/src/server/scripts/Commands/cs_wp.cpp
+++ b/src/server/scripts/Commands/cs_wp.cpp
@@ -690,7 +690,7 @@ public:
}
// re-create
Creature* wpCreature2 = new Creature();
- if (!wpCreature2->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), map, chr->GetPhaseMaskForSpawn(), VISUAL_WAYPOINT, 0, 0, chr->GetPositionX(), chr->GetPositionY(), chr->GetPositionZ(), chr->GetOrientation()))
+ if (!wpCreature2->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), map, chr->GetPhaseMaskForSpawn(), VISUAL_WAYPOINT, chr->GetPositionX(), chr->GetPositionY(), chr->GetPositionZ(), chr->GetOrientation()))
{
handler->PSendSysMessage(LANG_WAYPOINT_VP_NOTCREATED, VISUAL_WAYPOINT);
delete wpCreature2;
@@ -914,7 +914,7 @@ public:
float o = chr->GetOrientation();
Creature* wpCreature = new Creature();
- if (!wpCreature->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), map, chr->GetPhaseMaskForSpawn(), id, 0, 0, x, y, z, o))
+ if (!wpCreature->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), map, chr->GetPhaseMaskForSpawn(), id, x, y, z, o))
{
handler->PSendSysMessage(LANG_WAYPOINT_VP_NOTCREATED, id);
delete wpCreature;
@@ -978,7 +978,7 @@ public:
Map* map = chr->GetMap();
Creature* creature = new Creature();
- if (!creature->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), map, chr->GetPhaseMaskForSpawn(), id, 0, 0, x, y, z, o))
+ if (!creature->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), map, chr->GetPhaseMaskForSpawn(), id, x, y, z, o))
{
handler->PSendSysMessage(LANG_WAYPOINT_VP_NOTCREATED, id);
delete creature;
@@ -1027,7 +1027,7 @@ public:
Map* map = chr->GetMap();
Creature* creature = new Creature();
- if (!creature->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), map, chr->GetPhaseMaskForSpawn(), id, 0, 0, x, y, z, o))
+ if (!creature->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_UNIT), map, chr->GetPhaseMaskForSpawn(), id, x, y, z, o))
{
handler->PSendSysMessage(LANG_WAYPOINT_NOTCREATED, id);
delete creature;
diff --git a/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp b/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp
index 0cd1403d48a..16e8c35eff7 100644
--- a/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp
@@ -541,7 +541,7 @@ public:
uiPhase = 3;
break;
case 3:
- me->UpdateEntry(NPC_PRIESTESS_TYRIONA, ALLIANCE);
+ me->UpdateEntry(NPC_PRIESTESS_TYRIONA);
uiTimer = 2000;
uiPhase = 4;
break;
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
index 60352f7d55c..9316aaa7cd8 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
@@ -856,7 +856,7 @@ public:
if (!pZombie)
pZombie = GetClosestCreatureWithEntry(malganis, NPC_CITY_MAN2, 100.0f);
if (pZombie)
- pZombie->UpdateEntry(NPC_ZOMBIE, 0);
+ pZombie->UpdateEntry(NPC_ZOMBIE);
else //There's no one else to transform
step++;
}
@@ -1017,7 +1017,7 @@ public:
case 68:
if (Creature* disguised2 = Unit::GetCreature(*me, infiniteDraconianGUID[2]))
{
- disguised2->UpdateEntry(NPC_INFINITE_HUNTER, 0);
+ disguised2->UpdateEntry(NPC_INFINITE_HUNTER);
//Make them unattackable
disguised2->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
disguised2->SetReactState(REACT_PASSIVE);
@@ -1027,7 +1027,7 @@ public:
case 69:
if (Creature* disguised1 = Unit::GetCreature(*me, infiniteDraconianGUID[1]))
{
- disguised1->UpdateEntry(NPC_INFINITE_AGENT, 0);
+ disguised1->UpdateEntry(NPC_INFINITE_AGENT);
//Make them unattackable
disguised1->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
disguised1->SetReactState(REACT_PASSIVE);
@@ -1037,7 +1037,7 @@ public:
case 70:
if (Creature* disguised0 = Unit::GetCreature(*me, infiniteDraconianGUID[0]))
{
- disguised0->UpdateEntry(NPC_INFINITE_ADVERSARY, 0);
+ disguised0->UpdateEntry(NPC_INFINITE_ADVERSARY);
//Make them unattackable
disguised0->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
disguised0->SetReactState(REACT_PASSIVE);
diff --git a/src/server/scripts/Kalimdor/boss_azuregos.cpp b/src/server/scripts/Kalimdor/boss_azuregos.cpp
index 8db8db75562..02ceb9b34c9 100644
--- a/src/server/scripts/Kalimdor/boss_azuregos.cpp
+++ b/src/server/scripts/Kalimdor/boss_azuregos.cpp
@@ -19,6 +19,7 @@
#include "ScriptedCreature.h"
#include "SpellScript.h"
#include "SpellAuraEffects.h"
+#include "Player.h"
enum Say
{
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp
index 1f8b281b807..b02722106ee 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp
@@ -117,29 +117,29 @@ public:
// Champions
case VEHICLE_MOKRA_SKILLCRUSHER_MOUNT:
if (TeamInInstance == HORDE)
- creature->UpdateEntry(VEHICLE_MARSHAL_JACOB_ALERIUS_MOUNT, ALLIANCE);
+ creature->UpdateEntry(VEHICLE_MARSHAL_JACOB_ALERIUS_MOUNT);
break;
case VEHICLE_ERESSEA_DAWNSINGER_MOUNT:
if (TeamInInstance == HORDE)
- creature->UpdateEntry(VEHICLE_AMBROSE_BOLTSPARK_MOUNT, ALLIANCE);
+ creature->UpdateEntry(VEHICLE_AMBROSE_BOLTSPARK_MOUNT);
break;
case VEHICLE_RUNOK_WILDMANE_MOUNT:
if (TeamInInstance == HORDE)
- creature->UpdateEntry(VEHICLE_COLOSOS_MOUNT, ALLIANCE);
+ creature->UpdateEntry(VEHICLE_COLOSOS_MOUNT);
break;
case VEHICLE_ZUL_TORE_MOUNT:
if (TeamInInstance == HORDE)
- creature->UpdateEntry(VEHICLE_EVENSONG_MOUNT, ALLIANCE);
+ creature->UpdateEntry(VEHICLE_EVENSONG_MOUNT);
break;
case VEHICLE_DEATHSTALKER_VESCERI_MOUNT:
if (TeamInInstance == HORDE)
- creature->UpdateEntry(VEHICLE_LANA_STOUTHAMMER_MOUNT, ALLIANCE);
+ creature->UpdateEntry(VEHICLE_LANA_STOUTHAMMER_MOUNT);
break;
// Coliseum Announcer || Just NPC_JAEREN must be spawned.
case NPC_JAEREN:
uiAnnouncerGUID = creature->GetGUID();
if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_ARELAS, ALLIANCE);
+ creature->UpdateEntry(NPC_ARELAS);
break;
case VEHICLE_ARGENT_WARHORSE:
case VEHICLE_ARGENT_BATTLEWORG:
diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp
index cb03842cf3f..c8734f67812 100644
--- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp
@@ -69,15 +69,15 @@ class instance_forge_of_souls : public InstanceMapScript
break;
case NPC_SYLVANAS_PART1:
if (teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_JAINA_PART1, ALLIANCE);
+ creature->UpdateEntry(NPC_JAINA_PART1);
break;
case NPC_LORALEN:
if (teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_ELANDRA, ALLIANCE);
+ creature->UpdateEntry(NPC_ELANDRA);
break;
case NPC_KALIRA:
if (teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_KORELN, ALLIANCE);
+ creature->UpdateEntry(NPC_KORELN);
break;
}
}
diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/instance_pit_of_saron.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/instance_pit_of_saron.cpp
index 364246e05f1..6dc787cb47f 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/instance_pit_of_saron.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/instance_pit_of_saron.cpp
@@ -91,73 +91,73 @@ class instance_pit_of_saron : public InstanceMapScript
break;
case NPC_SYLVANAS_PART1:
if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_JAINA_PART1, ALLIANCE);
+ creature->UpdateEntry(NPC_JAINA_PART1);
_jainaOrSylvanas1GUID = creature->GetGUID();
break;
case NPC_SYLVANAS_PART2:
if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_JAINA_PART2, ALLIANCE);
+ creature->UpdateEntry(NPC_JAINA_PART2);
_jainaOrSylvanas2GUID = creature->GetGUID();
break;
case NPC_KILARA:
if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_ELANDRA, ALLIANCE);
+ creature->UpdateEntry(NPC_ELANDRA);
break;
case NPC_KORALEN:
if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_KORLAEN, ALLIANCE);
+ creature->UpdateEntry(NPC_KORLAEN);
break;
case NPC_CHAMPION_1_HORDE:
if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_CHAMPION_1_ALLIANCE, ALLIANCE);
+ creature->UpdateEntry(NPC_CHAMPION_1_ALLIANCE);
break;
case NPC_CHAMPION_2_HORDE:
if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_CHAMPION_2_ALLIANCE, ALLIANCE);
+ creature->UpdateEntry(NPC_CHAMPION_2_ALLIANCE);
break;
case NPC_CHAMPION_3_HORDE: // No 3rd set for Alliance?
if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_CHAMPION_2_ALLIANCE, ALLIANCE);
+ creature->UpdateEntry(NPC_CHAMPION_2_ALLIANCE);
break;
case NPC_HORDE_SLAVE_1:
if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_ALLIANCE_SLAVE_1, ALLIANCE);
+ creature->UpdateEntry(NPC_ALLIANCE_SLAVE_1);
break;
case NPC_HORDE_SLAVE_2:
if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_ALLIANCE_SLAVE_2, ALLIANCE);
+ creature->UpdateEntry(NPC_ALLIANCE_SLAVE_2);
break;
case NPC_HORDE_SLAVE_3:
if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_ALLIANCE_SLAVE_3, ALLIANCE);
+ creature->UpdateEntry(NPC_ALLIANCE_SLAVE_3);
break;
case NPC_HORDE_SLAVE_4:
if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_ALLIANCE_SLAVE_4, ALLIANCE);
+ creature->UpdateEntry(NPC_ALLIANCE_SLAVE_4);
break;
case NPC_FREED_SLAVE_1_HORDE:
if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_FREED_SLAVE_1_ALLIANCE, ALLIANCE);
+ creature->UpdateEntry(NPC_FREED_SLAVE_1_ALLIANCE);
break;
case NPC_FREED_SLAVE_2_HORDE:
if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_FREED_SLAVE_2_ALLIANCE, ALLIANCE);
+ creature->UpdateEntry(NPC_FREED_SLAVE_2_ALLIANCE);
break;
case NPC_FREED_SLAVE_3_HORDE:
if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_FREED_SLAVE_3_ALLIANCE, ALLIANCE);
+ creature->UpdateEntry(NPC_FREED_SLAVE_3_ALLIANCE);
break;
case NPC_RESCUED_SLAVE_HORDE:
if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_RESCUED_SLAVE_ALLIANCE, ALLIANCE);
+ creature->UpdateEntry(NPC_RESCUED_SLAVE_ALLIANCE);
break;
case NPC_MARTIN_VICTUS_1:
if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_MARTIN_VICTUS_1, ALLIANCE);
+ creature->UpdateEntry(NPC_MARTIN_VICTUS_1);
break;
case NPC_MARTIN_VICTUS_2:
if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_MARTIN_VICTUS_2, ALLIANCE);
+ creature->UpdateEntry(NPC_MARTIN_VICTUS_2);
break;
default:
break;
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
index 3a334f4d59c..e7d8e056ed0 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
@@ -1319,7 +1319,7 @@ struct npc_argent_captainAI : public ScriptedAI
}
Talk(SAY_CAPTAIN_RESURRECTED);
- me->UpdateEntry(newEntry, instance->GetData(DATA_TEAM_IN_INSTANCE), me->GetCreatureData());
+ me->UpdateEntry(newEntry, me->GetCreatureData());
DoCast(me, SPELL_UNDEATH, true);
}
}
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
index 31daa92cbe8..1da4f37580b 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
@@ -194,39 +194,39 @@ class instance_icecrown_citadel : public InstanceMapScript
{
case NPC_KOR_KRON_GENERAL:
if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_ALLIANCE_COMMANDER, ALLIANCE);
+ creature->UpdateEntry(NPC_ALLIANCE_COMMANDER);
break;
case NPC_KOR_KRON_LIEUTENANT:
if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_SKYBREAKER_LIEUTENANT, ALLIANCE);
+ creature->UpdateEntry(NPC_SKYBREAKER_LIEUTENANT);
break;
case NPC_TORTUNOK:
if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_ALANA_MOONSTRIKE, ALLIANCE);
+ creature->UpdateEntry(NPC_ALANA_MOONSTRIKE);
break;
case NPC_GERARDO_THE_SUAVE:
if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_TALAN_MOONSTRIKE, ALLIANCE);
+ creature->UpdateEntry(NPC_TALAN_MOONSTRIKE);
break;
case NPC_UVLUS_BANEFIRE:
if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_MALFUS_GRIMFROST, ALLIANCE);
+ creature->UpdateEntry(NPC_MALFUS_GRIMFROST);
break;
case NPC_IKFIRUS_THE_VILE:
if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_YILI, ALLIANCE);
+ creature->UpdateEntry(NPC_YILI);
break;
case NPC_VOL_GUK:
if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_JEDEBIA, ALLIANCE);
+ creature->UpdateEntry(NPC_JEDEBIA);
break;
case NPC_HARAGG_THE_UNSEEN:
if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_NIBY_THE_ALMIGHTY, ALLIANCE);
+ creature->UpdateEntry(NPC_NIBY_THE_ALMIGHTY);
break;
case NPC_GARROSH_HELLSCREAM:
if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_KING_VARIAN_WRYNN, ALLIANCE);
+ creature->UpdateEntry(NPC_KING_VARIAN_WRYNN);
break;
case NPC_DEATHBRINGER_SAURFANG:
DeathbringerSaurfangGUID = creature->GetGUID();
@@ -237,7 +237,7 @@ class instance_icecrown_citadel : public InstanceMapScript
break;
case NPC_SE_HIGH_OVERLORD_SAURFANG:
if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_SE_MURADIN_BRONZEBEARD, ALLIANCE, creature->GetCreatureData());
+ creature->UpdateEntry(NPC_SE_MURADIN_BRONZEBEARD, creature->GetCreatureData());
// no break;
case NPC_SE_MURADIN_BRONZEBEARD:
DeathbringerSaurfangEventGUID = creature->GetGUID();
@@ -245,7 +245,7 @@ class instance_icecrown_citadel : public InstanceMapScript
break;
case NPC_SE_KOR_KRON_REAVER:
if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_SE_SKYBREAKER_MARINE, ALLIANCE);
+ creature->UpdateEntry(NPC_SE_SKYBREAKER_MARINE);
break;
case NPC_FESTERGUT:
FestergutGUID = creature->GetGUID();
diff --git a/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp b/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp
index 851e16fe576..c73e0eeef44 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp
@@ -88,7 +88,7 @@ public:
if (ServerAllowsTwoSideGroups())
creature->setFaction(FACTION_HOSTILE_FOR_ALL);
if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(26799, HORDE);
+ creature->UpdateEntry(26799);
break;
}
case 26802:
@@ -96,7 +96,7 @@ public:
if (ServerAllowsTwoSideGroups())
creature->setFaction(FACTION_HOSTILE_FOR_ALL);
if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(26801, HORDE);
+ creature->UpdateEntry(26801);
break;
}
case 26805:
@@ -104,7 +104,7 @@ public:
if (ServerAllowsTwoSideGroups())
creature->setFaction(FACTION_HOSTILE_FOR_ALL);
if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(26803, HORDE);
+ creature->UpdateEntry(26803);
break;
}
case 27949:
@@ -112,7 +112,7 @@ public:
if (ServerAllowsTwoSideGroups())
creature->setFaction(FACTION_HOSTILE_FOR_ALL);
if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(27947, HORDE);
+ creature->UpdateEntry(27947);
break;
}
case 26796:
@@ -120,7 +120,7 @@ public:
if (ServerAllowsTwoSideGroups())
creature->setFaction(FACTION_HOSTILE_FOR_ALL);
if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(26798, HORDE);
+ creature->UpdateEntry(26798);
break;
}
}
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp
index 5e44d97299e..8c025c013e9 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp
@@ -2709,7 +2709,7 @@ class spell_yogg_saron_revealed_tentacle : public SpellScriptLoader // 64012
{
caster->CastSpell(caster, SPELL_TENTACLE_VOID_ZONE, true);
caster->CastSpell(caster, SPELL_GRIM_REPRISAL, true);
- caster->UpdateEntry(NPC_INFLUENCE_TENTACLE, 0, caster->GetCreatureData());
+ caster->UpdateEntry(NPC_INFLUENCE_TENTACLE, caster->GetCreatureData());
}
}
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
index c98a3db2334..2c25f567321 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
@@ -298,35 +298,35 @@ class instance_ulduar : public InstanceMapScript
break;
case NPC_EIVI_NIGHTFEATHER:
if (TeamInInstance == HORDE)
- creature->UpdateEntry(NPC_TOR_GREYCLOUD, HORDE);
+ creature->UpdateEntry(NPC_TOR_GREYCLOUD);
break;
case NPC_ELLIE_NIGHTFEATHER:
if (TeamInInstance == HORDE)
- creature->UpdateEntry(NPC_KAR_GREYCLOUD, HORDE);
+ creature->UpdateEntry(NPC_KAR_GREYCLOUD);
break;
case NPC_ELEMENTALIST_MAHFUUN:
if (TeamInInstance == HORDE)
- creature->UpdateEntry(NPC_SPIRITWALKER_TARA, HORDE);
+ creature->UpdateEntry(NPC_SPIRITWALKER_TARA);
break;
case NPC_ELEMENTALIST_AVUUN:
if (TeamInInstance == HORDE)
- creature->UpdateEntry(NPC_SPIRITWALKER_YONA, HORDE);
+ creature->UpdateEntry(NPC_SPIRITWALKER_YONA);
break;
case NPC_MISSY_FLAMECUFFS:
if (TeamInInstance == HORDE)
- creature->UpdateEntry(NPC_AMIRA_BLAZEWEAVER, HORDE);
+ creature->UpdateEntry(NPC_AMIRA_BLAZEWEAVER);
break;
case NPC_SISSY_FLAMECUFFS:
if (TeamInInstance == HORDE)
- creature->UpdateEntry(NPC_VEESHA_BLAZEWEAVER, HORDE);
+ creature->UpdateEntry(NPC_VEESHA_BLAZEWEAVER);
break;
case NPC_FIELD_MEDIC_PENNY:
if (TeamInInstance == HORDE)
- creature->UpdateEntry(NPC_BATTLE_PRIEST_ELIZA, HORDE);
+ creature->UpdateEntry(NPC_BATTLE_PRIEST_ELIZA);
break;
case NPC_FIELD_MEDIC_JESSI:
if (TeamInInstance == HORDE)
- creature->UpdateEntry(NPC_BATTLE_PRIEST_GINA, HORDE);
+ creature->UpdateEntry(NPC_BATTLE_PRIEST_GINA);
break;
case NPC_THORIM:
diff --git a/src/server/scripts/Northrend/zone_borean_tundra.cpp b/src/server/scripts/Northrend/zone_borean_tundra.cpp
index ea9ebbdc15c..6e6f100c106 100644
--- a/src/server/scripts/Northrend/zone_borean_tundra.cpp
+++ b/src/server/scripts/Northrend/zone_borean_tundra.cpp
@@ -1085,7 +1085,7 @@ public:
case 2:
if (talbot)
{
- talbot->UpdateEntry(NPC_PRINCE_VALANAR, ALLIANCE);
+ talbot->UpdateEntry(NPC_PRINCE_VALANAR);
talbot->setFaction(14);
talbot->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
talbot->SetReactState(REACT_PASSIVE);
@@ -1630,19 +1630,18 @@ public:
{
EnterEvadeMode(); //We make sure that the npc is not attacking the player!
me->SetReactState(REACT_PASSIVE);
- StartFollow(pCaster->ToPlayer(), 0, NULL);
- me->UpdateEntry(NPC_CAPTURED_BERLY_SORCERER, TEAM_NEUTRAL);
+ StartFollow(pCaster->ToPlayer());
+ me->UpdateEntry(NPC_CAPTURED_BERLY_SORCERER);
DoCast(me, SPELL_COSMETIC_ENSLAVE_CHAINS_SELF, true);
if (Player* player = pCaster->ToPlayer())
- player->KilledMonsterCredit(NPC_CAPTURED_BERLY_SORCERER, 0);
+ player->KilledMonsterCredit(NPC_CAPTURED_BERLY_SORCERER);
bEnslaved = true;
}
}
void MoveInLineOfSight(Unit* who) OVERRIDE
-
{
FollowerAI::MoveInLineOfSight(who);
diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPEP.cpp b/src/server/scripts/OutdoorPvP/OutdoorPvPEP.cpp
index b8a28a3248a..5af9e757586 100644
--- a/src/server/scripts/OutdoorPvP/OutdoorPvPEP.cpp
+++ b/src/server/scripts/OutdoorPvP/OutdoorPvPEP.cpp
@@ -151,16 +151,16 @@ void OPvPCapturePointEP_EWT::SummonSupportUnitAtNorthpassTower(uint32 team)
if (m_UnitsSummonedSide != team)
{
m_UnitsSummonedSide = team;
- const creature_type * ct = NULL;
+ creature_type const* ct = nullptr;
if (team == ALLIANCE)
- ct=EP_EWT_Summons_A;
+ ct = EP_EWT_Summons_A;
else
- ct=EP_EWT_Summons_H;
+ ct = EP_EWT_Summons_H;
for (uint8 i = 0; i < EP_EWT_NUM_CREATURES; ++i)
{
DelCreature(i);
- AddCreature(i, ct[i].entry, ct[i].teamval, ct[i].map, ct[i].x, ct[i].y, ct[i].z, ct[i].o, 1000000);
+ AddCreature(i, ct[i].entry, ct[i].map, ct[i].x, ct[i].y, ct[i].z, ct[i].o, OutdoorPvP::GetTeamIdByTeam(team), 1000000);
}
}
}
@@ -571,7 +571,7 @@ void OPvPCapturePointEP_PWT::SummonFlightMaster(uint32 team)
{
m_FlightMasterSpawned = team;
DelCreature(EP_PWT_FLIGHTMASTER);
- AddCreature(EP_PWT_FLIGHTMASTER, EP_PWT_FlightMaster.entry, team, EP_PWT_FlightMaster.map, EP_PWT_FlightMaster.x, EP_PWT_FlightMaster.y, EP_PWT_FlightMaster.z, EP_PWT_FlightMaster.o);
+ AddCreature(EP_PWT_FLIGHTMASTER, EP_PWT_FlightMaster.entry, EP_PWT_FlightMaster.map, EP_PWT_FlightMaster.x, EP_PWT_FlightMaster.y, EP_PWT_FlightMaster.z, EP_PWT_FlightMaster.o, OutdoorPvP::GetTeamIdByTeam(team));
/*
// sky - we need update gso code
diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPEP.h b/src/server/scripts/OutdoorPvP/OutdoorPvPEP.h
index ecf9d80f071..50b412348cf 100644
--- a/src/server/scripts/OutdoorPvP/OutdoorPvPEP.h
+++ b/src/server/scripts/OutdoorPvP/OutdoorPvPEP.h
@@ -147,20 +147,20 @@ const uint8 EP_EWT_NUM_CREATURES = 5;
// should be spawned at EWT and follow a path, but trans-grid pathing isn't safe, so summon them directly at NPT
const creature_type EP_EWT_Summons_A[EP_EWT_NUM_CREATURES] =
{
- {17635, 469, 0, 3167.61f, -4352.09f, 138.20f, 4.5811f},
- {17647, 469, 0, 3172.74f, -4352.99f, 139.14f, 4.9873f},
- {17647, 469, 0, 3165.89f, -4354.46f, 138.67f, 3.7244f},
- {17647, 469, 0, 3164.65f, -4350.26f, 138.22f, 2.4794f},
- {17647, 469, 0, 3169.91f, -4349.68f, 138.37f, 0.7444f}
+ {17635, 0, 3167.61f, -4352.09f, 138.20f, 4.5811f},
+ {17647, 0, 3172.74f, -4352.99f, 139.14f, 4.9873f},
+ {17647, 0, 3165.89f, -4354.46f, 138.67f, 3.7244f},
+ {17647, 0, 3164.65f, -4350.26f, 138.22f, 2.4794f},
+ {17647, 0, 3169.91f, -4349.68f, 138.37f, 0.7444f}
};
const creature_type EP_EWT_Summons_H[EP_EWT_NUM_CREATURES] =
{
- {17995, 67, 0, 3167.61f, -4352.09f, 138.20f, 4.5811f},
- {17996, 67, 0, 3172.74f, -4352.99f, 139.14f, 4.9873f},
- {17996, 67, 0, 3165.89f, -4354.46f, 138.67f, 3.7244f},
- {17996, 67, 0, 3164.65f, -4350.26f, 138.22f, 2.4794f},
- {17996, 67, 0, 3169.91f, -4349.68f, 138.37f, 0.7444f}
+ {17995, 0, 3167.61f, -4352.09f, 138.20f, 4.5811f},
+ {17996, 0, 3172.74f, -4352.99f, 139.14f, 4.9873f},
+ {17996, 0, 3165.89f, -4354.46f, 138.67f, 3.7244f},
+ {17996, 0, 3164.65f, -4350.26f, 138.22f, 2.4794f},
+ {17996, 0, 3169.91f, -4349.68f, 138.37f, 0.7444f}
};
enum EP_TowerStates
@@ -175,7 +175,7 @@ enum EP_TowerStates
};
// when spawning, pay attention at setting the faction manually!
-const creature_type EP_PWT_FlightMaster = {17209, 0, 0, 2987.5f, -3049.11f, 120.126f, 5.75959f};
+const creature_type EP_PWT_FlightMaster = {17209, 0, 2987.5f, -3049.11f, 120.126f, 5.75959f};
// after spawning, modify the faction so that only the controller will be able to use it with SetUInt32Value(GAMEOBJECT_FACTION, faction_id);
const go_type EP_NPT_LordaeronShrine = {181682, 0, 3167.72f, -4355.91f, 138.785f, 1.69297f, 0.0f, 0.0f, 0.748956f, 0.66262f};
diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPNA.cpp b/src/server/scripts/OutdoorPvP/OutdoorPvPNA.cpp
index 41cd17e1afd..3cfe765493f 100644
--- a/src/server/scripts/OutdoorPvP/OutdoorPvPNA.cpp
+++ b/src/server/scripts/OutdoorPvP/OutdoorPvPNA.cpp
@@ -82,15 +82,15 @@ uint32 OPvPCapturePointNA::GetControllingFaction() const
void OPvPCapturePointNA::SpawnNPCsForTeam(uint32 team)
{
- const creature_type * creatures = NULL;
+ creature_type const* creatures = nullptr;
if (team == ALLIANCE)
- creatures=AllianceControlNPCs;
+ creatures = AllianceControlNPCs;
else if (team == HORDE)
- creatures=HordeControlNPCs;
+ creatures = HordeControlNPCs;
else
return;
for (int i = 0; i < NA_CONTROL_NPC_NUM; ++i)
- AddCreature(i, creatures[i].entry, creatures[i].teamval, creatures[i].map, creatures[i].x, creatures[i].y, creatures[i].z, creatures[i].o, 1000000);
+ AddCreature(i, creatures[i].entry, creatures[i].map, creatures[i].x, creatures[i].y, creatures[i].z, creatures[i].o, OutdoorPvP::GetTeamIdByTeam(team), 1000000);
}
void OPvPCapturePointNA::DeSpawnNPCs()
diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPNA.h b/src/server/scripts/OutdoorPvP/OutdoorPvPNA.h
index cc32397741c..011775e1715 100644
--- a/src/server/scripts/OutdoorPvP/OutdoorPvPNA.h
+++ b/src/server/scripts/OutdoorPvP/OutdoorPvPNA.h
@@ -183,50 +183,50 @@ enum ControlNPCTypes
const creature_type HordeControlNPCs[NA_CONTROL_NPC_NUM] =
{
- {18816, 67, 530, -1523.92f, 7951.76f, -17.6942f, 3.51172f},
- {18821, 67, 530, -1527.75f, 7952.46f, -17.6948f, 3.99317f},
- {21474, 67, 530, -1520.14f, 7927.11f, -20.2527f, 3.39389f},
- {21484, 67, 530, -1524.84f, 7930.34f, -20.182f, 3.6405f},
- {21483, 67, 530, -1570.01f, 7993.8f, -22.4505f, 5.02655f},
- {18192, 67, 530, -1654.06f, 8000.46f, -26.59f, 3.37f},
- {18192, 67, 530, -1487.18f, 7899.1f, -19.53f, 0.954f},
- {18192, 67, 530, -1480.88f, 7908.79f, -19.19f, 4.485f},
- {18192, 67, 530, -1540.56f, 7995.44f, -20.45f, 0.947f},
- {18192, 67, 530, -1546.95f, 8000.85f, -20.72f, 6.035f},
- {18192, 67, 530, -1595.31f, 7860.53f, -21.51f, 3.747f},
- {18192, 67, 530, -1642.31f, 7995.59f, -25.8f, 3.317f},
- {18192, 67, 530, -1545.46f, 7995.35f, -20.63f, 1.094f},
- {18192, 67, 530, -1487.58f, 7907.99f, -19.27f, 5.567f},
- {18192, 67, 530, -1651.54f, 7988.56f, -26.5289f, 2.98451f},
- {18192, 67, 530, -1602.46f, 7866.43f, -22.1177f, 4.74729f},
- {18192, 67, 530, -1591.22f, 7875.29f, -22.3536f, 4.34587f},
- {18192, 67, 530, -1550.6f, 7944.45f, -21.63f, 3.559f},
- {18192, 67, 530, -1545.57f, 7935.83f, -21.13f, 3.448f},
- {18192, 67, 530, -1550.86f, 7937.56f, -21.7f, 3.801f}
+ {18816, 530, -1523.92f, 7951.76f, -17.6942f, 3.51172f},
+ {18821, 530, -1527.75f, 7952.46f, -17.6948f, 3.99317f},
+ {21474, 530, -1520.14f, 7927.11f, -20.2527f, 3.39389f},
+ {21484, 530, -1524.84f, 7930.34f, -20.182f, 3.6405f},
+ {21483, 530, -1570.01f, 7993.8f, -22.4505f, 5.02655f},
+ {18192, 530, -1654.06f, 8000.46f, -26.59f, 3.37f},
+ {18192, 530, -1487.18f, 7899.1f, -19.53f, 0.954f},
+ {18192, 530, -1480.88f, 7908.79f, -19.19f, 4.485f},
+ {18192, 530, -1540.56f, 7995.44f, -20.45f, 0.947f},
+ {18192, 530, -1546.95f, 8000.85f, -20.72f, 6.035f},
+ {18192, 530, -1595.31f, 7860.53f, -21.51f, 3.747f},
+ {18192, 530, -1642.31f, 7995.59f, -25.8f, 3.317f},
+ {18192, 530, -1545.46f, 7995.35f, -20.63f, 1.094f},
+ {18192, 530, -1487.58f, 7907.99f, -19.27f, 5.567f},
+ {18192, 530, -1651.54f, 7988.56f, -26.5289f, 2.98451f},
+ {18192, 530, -1602.46f, 7866.43f, -22.1177f, 4.74729f},
+ {18192, 530, -1591.22f, 7875.29f, -22.3536f, 4.34587f},
+ {18192, 530, -1550.6f, 7944.45f, -21.63f, 3.559f},
+ {18192, 530, -1545.57f, 7935.83f, -21.13f, 3.448f},
+ {18192, 530, -1550.86f, 7937.56f, -21.7f, 3.801f}
};
const creature_type AllianceControlNPCs[NA_CONTROL_NPC_NUM] =
{
- {18817, 469, 530, -1591.18f, 8020.39f, -22.2042f, 4.59022f},
- {18822, 469, 530, -1588.0f, 8019.0f, -22.2042f, 4.06662f},
- {21485, 469, 530, -1521.93f, 7927.37f, -20.2299f, 3.24631f},
- {21487, 469, 530, -1540.33f, 7971.95f, -20.7186f, 3.07178f},
- {21488, 469, 530, -1570.01f, 7993.8f, -22.4505f, 5.02655f},
- {18256, 469, 530, -1654.06f, 8000.46f, -26.59f, 3.37f},
- {18256, 469, 530, -1487.18f, 7899.1f, -19.53f, 0.954f},
- {18256, 469, 530, -1480.88f, 7908.79f, -19.19f, 4.485f},
- {18256, 469, 530, -1540.56f, 7995.44f, -20.45f, 0.947f},
- {18256, 469, 530, -1546.95f, 8000.85f, -20.72f, 6.035f},
- {18256, 469, 530, -1595.31f, 7860.53f, -21.51f, 3.747f},
- {18256, 469, 530, -1642.31f, 7995.59f, -25.8f, 3.317f},
- {18256, 469, 530, -1545.46f, 7995.35f, -20.63f, 1.094f},
- {18256, 469, 530, -1487.58f, 7907.99f, -19.27f, 5.567f},
- {18256, 469, 530, -1651.54f, 7988.56f, -26.5289f, 2.98451f},
- {18256, 469, 530, -1602.46f, 7866.43f, -22.1177f, 4.74729f},
- {18256, 469, 530, -1591.22f, 7875.29f, -22.3536f, 4.34587f},
- {18256, 469, 530, -1603.75f, 8000.36f, -24.18f, 4.516f},
- {18256, 469, 530, -1585.73f, 7994.68f, -23.29f, 4.439f},
- {18256, 469, 530, -1595.5f, 7991.27f, -23.53f, 4.738f}
+ {18817, 530, -1591.18f, 8020.39f, -22.2042f, 4.59022f},
+ {18822, 530, -1588.0f, 8019.0f, -22.2042f, 4.06662f},
+ {21485, 530, -1521.93f, 7927.37f, -20.2299f, 3.24631f},
+ {21487, 530, -1540.33f, 7971.95f, -20.7186f, 3.07178f},
+ {21488, 530, -1570.01f, 7993.8f, -22.4505f, 5.02655f},
+ {18256, 530, -1654.06f, 8000.46f, -26.59f, 3.37f},
+ {18256, 530, -1487.18f, 7899.1f, -19.53f, 0.954f},
+ {18256, 530, -1480.88f, 7908.79f, -19.19f, 4.485f},
+ {18256, 530, -1540.56f, 7995.44f, -20.45f, 0.947f},
+ {18256, 530, -1546.95f, 8000.85f, -20.72f, 6.035f},
+ {18256, 530, -1595.31f, 7860.53f, -21.51f, 3.747f},
+ {18256, 530, -1642.31f, 7995.59f, -25.8f, 3.317f},
+ {18256, 530, -1545.46f, 7995.35f, -20.63f, 1.094f},
+ {18256, 530, -1487.58f, 7907.99f, -19.27f, 5.567f},
+ {18256, 530, -1651.54f, 7988.56f, -26.5289f, 2.98451f},
+ {18256, 530, -1602.46f, 7866.43f, -22.1177f, 4.74729f},
+ {18256, 530, -1591.22f, 7875.29f, -22.3536f, 4.34587f},
+ {18256, 530, -1603.75f, 8000.36f, -24.18f, 4.516f},
+ {18256, 530, -1585.73f, 7994.68f, -23.29f, 4.439f},
+ {18256, 530, -1595.5f, 7991.27f, -23.53f, 4.738f}
};
enum WyvernStates
diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPZM.cpp b/src/server/scripts/OutdoorPvP/OutdoorPvPZM.cpp
index df526ed068d..8063d4fc090 100644
--- a/src/server/scripts/OutdoorPvP/OutdoorPvPZM.cpp
+++ b/src/server/scripts/OutdoorPvP/OutdoorPvPZM.cpp
@@ -256,8 +256,8 @@ OPvPCapturePointZM_GraveYard::OPvPCapturePointZM_GraveYard(OutdoorPvP* pvp)
m_GraveYardState = ZM_GRAVEYARD_N;
m_FlagCarrierGUID = 0;
// add field scouts here
- AddCreature(ZM_ALLIANCE_FIELD_SCOUT, ZM_AllianceFieldScout.entry, ZM_AllianceFieldScout.teamval, ZM_AllianceFieldScout.map, ZM_AllianceFieldScout.x, ZM_AllianceFieldScout.y, ZM_AllianceFieldScout.z, ZM_AllianceFieldScout.o);
- AddCreature(ZM_HORDE_FIELD_SCOUT, ZM_HordeFieldScout.entry, ZM_HordeFieldScout.teamval, ZM_HordeFieldScout.map, ZM_HordeFieldScout.x, ZM_HordeFieldScout.y, ZM_HordeFieldScout.z, ZM_HordeFieldScout.o);
+ AddCreature(ZM_ALLIANCE_FIELD_SCOUT, ZM_AllianceFieldScout.entry, ZM_AllianceFieldScout.map, ZM_AllianceFieldScout.x, ZM_AllianceFieldScout.y, ZM_AllianceFieldScout.z, ZM_AllianceFieldScout.o);
+ AddCreature(ZM_HORDE_FIELD_SCOUT, ZM_HordeFieldScout.entry, ZM_HordeFieldScout.map, ZM_HordeFieldScout.x, ZM_HordeFieldScout.y, ZM_HordeFieldScout.z, ZM_HordeFieldScout.o);
// add neutral banner
AddObject(0, ZM_Banner_N.entry, ZM_Banner_N.map, ZM_Banner_N.x, ZM_Banner_N.y, ZM_Banner_N.z, ZM_Banner_N.o, ZM_Banner_N.rot0, ZM_Banner_N.rot1, ZM_Banner_N.rot2, ZM_Banner_N.rot3);
}
diff --git a/src/server/scripts/OutdoorPvP/OutdoorPvPZM.h b/src/server/scripts/OutdoorPvP/OutdoorPvPZM.h
index 4b810ddb15f..fdd093a1bfe 100644
--- a/src/server/scripts/OutdoorPvP/OutdoorPvPZM.h
+++ b/src/server/scripts/OutdoorPvP/OutdoorPvPZM.h
@@ -52,10 +52,10 @@ const go_type ZM_Banner_H = { 182528, 530, 253.54f, 7083.81f, 36.7728f, -0.01745
const go_type ZM_Banner_N = { 182529, 530, 253.54f, 7083.81f, 36.7728f, -0.017453f, 0.0f, 0.0f, 0.008727f, -0.999962f };
// horde field scout spawn data
-const creature_type ZM_HordeFieldScout = {18564, 67, 530, 296.625f, 7818.4f, 42.6294f, 5.18363f};
+const creature_type ZM_HordeFieldScout = {18564, 530, 296.625f, 7818.4f, 42.6294f, 5.18363f};
// alliance field scout spawn data
-const creature_type ZM_AllianceFieldScout = {18581, 469, 530, 374.395f, 6230.08f, 22.8351f, 0.593412f};
+const creature_type ZM_AllianceFieldScout = {18581, 530, 374.395f, 6230.08f, 22.8351f, 0.593412f};
enum ZMCreatureTypes
{