aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKeader <keader.android@gmail.com>2018-08-30 11:00:16 -0300
committerShauren <shauren.trinity@gmail.com>2021-10-23 16:14:01 +0200
commit2342361746ef9fbb828109da4bc8c05f07e87c28 (patch)
treecb41ab8f7890c99fc66943f3dc13986e16b772a2 /src
parent9a80c7e63c24b7c591ba48fa8698a546ea3a84c8 (diff)
Scripts/Misc: Removed more UpdateEntry on InstanceScripts
(cherry picked from commit c78f454c0ee74000ab7f77463e8b44ff7480fdec)
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp78
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp36
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/instance_pit_of_saron.cpp92
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp16
-rw-r--r--src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp51
5 files changed, 133 insertions, 140 deletions
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 af1d910cd26..da467f6a7c5 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
@@ -53,6 +53,7 @@ public:
uiMovementDone = 0;
uiGrandChampionsDeaths = 0;
uiArgentSoldierDeaths = 0;
+ teamInInstance = 0;
bDone = false;
@@ -61,6 +62,7 @@ public:
uint32 m_auiEncounter[MAX_ENCOUNTER];
+ uint32 teamInInstance;
uint16 uiMovementDone;
uint16 uiGrandChampionsDeaths;
uint8 uiArgentSoldierDeaths;
@@ -93,54 +95,60 @@ public:
return false;
}
+ void OnPlayerEnter(Player* player) override
+ {
+ if (!teamInInstance)
+ teamInInstance = player->GetTeam();
+ }
+
void OnCreatureCreate(Creature* creature) override
{
- Map::PlayerList const& players = instance->GetPlayers();
- uint32 TeamInInstance = 0;
+ switch (creature->GetEntry())
+ {
+ case VEHICLE_ARGENT_WARHORSE:
+ case VEHICLE_ARGENT_BATTLEWORG:
+ VehicleList.push_back(creature->GetGUID());
+ break;
+ case NPC_EADRIC:
+ case NPC_PALETRESS:
+ uiArgentChampionGUID = creature->GetGUID();
+ break;
+ case NPC_JAEREN:
+ case NPC_ARELAS:
+ uiAnnouncerGUID = creature->GetGUID();
+ break;
+ default:
+ break;
+ }
+ }
- if (!players.isEmpty())
+ uint32 GetCreatureEntry(ObjectGuid::LowType /*guidLow*/, CreatureData const* data) override
+ {
+ if (!teamInInstance)
{
- if (Player* player = players.begin()->GetSource())
- TeamInInstance = player->GetTeam();
+ Map::PlayerList const& players = instance->GetPlayers();
+ if (!players.isEmpty())
+ if (Player* player = players.begin()->GetSource())
+ teamInInstance = player->GetTeam();
}
- switch (creature->GetEntry())
+ uint32 entry = data->id;
+ switch (entry)
{
- // Champions
case VEHICLE_MOKRA_SKILLCRUSHER_MOUNT:
- if (TeamInInstance == HORDE)
- creature->UpdateEntry(VEHICLE_MARSHAL_JACOB_ALERIUS_MOUNT);
- break;
+ return teamInInstance == HORDE ? VEHICLE_MARSHAL_JACOB_ALERIUS_MOUNT : VEHICLE_MOKRA_SKILLCRUSHER_MOUNT;
case VEHICLE_ERESSEA_DAWNSINGER_MOUNT:
- if (TeamInInstance == HORDE)
- creature->UpdateEntry(VEHICLE_AMBROSE_BOLTSPARK_MOUNT);
- break;
+ return teamInInstance == HORDE ? VEHICLE_AMBROSE_BOLTSPARK_MOUNT : VEHICLE_ERESSEA_DAWNSINGER_MOUNT;
case VEHICLE_RUNOK_WILDMANE_MOUNT:
- if (TeamInInstance == HORDE)
- creature->UpdateEntry(VEHICLE_COLOSOS_MOUNT);
- break;
+ return teamInInstance == HORDE ? VEHICLE_COLOSOS_MOUNT : VEHICLE_RUNOK_WILDMANE_MOUNT;
case VEHICLE_ZUL_TORE_MOUNT:
- if (TeamInInstance == HORDE)
- creature->UpdateEntry(VEHICLE_EVENSONG_MOUNT);
- break;
+ return teamInInstance == HORDE ? VEHICLE_EVENSONG_MOUNT : VEHICLE_ZUL_TORE_MOUNT;
case VEHICLE_DEATHSTALKER_VESCERI_MOUNT:
- if (TeamInInstance == HORDE)
- creature->UpdateEntry(VEHICLE_LANA_STOUTHAMMER_MOUNT);
- break;
- // Coliseum Announcer || Just NPC_JAEREN must be spawned.
+ return teamInInstance == HORDE ? VEHICLE_LANA_STOUTHAMMER_MOUNT : VEHICLE_DEATHSTALKER_VESCERI_MOUNT;
case NPC_JAEREN:
- uiAnnouncerGUID = creature->GetGUID();
- if (TeamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_ARELAS);
- break;
- case VEHICLE_ARGENT_WARHORSE:
- case VEHICLE_ARGENT_BATTLEWORG:
- VehicleList.push_back(creature->GetGUID());
- break;
- case NPC_EADRIC:
- case NPC_PALETRESS:
- uiArgentChampionGUID = creature->GetGUID();
- break;
+ return teamInInstance == HORDE ? NPC_ARELAS : NPC_JAEREN;
+ default:
+ return entry;
}
}
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 5774e372d2a..67fb437b65d 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
@@ -53,6 +53,19 @@ class instance_forge_of_souls : public InstanceMapScript
void OnCreatureCreate(Creature* creature) override
{
+ switch (creature->GetEntry())
+ {
+ case NPC_BRONJAHM:
+ bronjahm = creature->GetGUID();
+ break;
+ case NPC_DEVOURER:
+ devourerOfSouls = creature->GetGUID();
+ break;
+ }
+ }
+
+ uint32 GetCreatureEntry(ObjectGuid::LowType /*guidLow*/, CreatureData const* data) override
+ {
if (!teamInInstance)
{
Map::PlayerList const& players = instance->GetPlayers();
@@ -61,26 +74,17 @@ class instance_forge_of_souls : public InstanceMapScript
teamInInstance = player->GetTeam();
}
- switch (creature->GetEntry())
+ uint32 entry = data->id;
+ switch (entry)
{
- case NPC_BRONJAHM:
- bronjahm = creature->GetGUID();
- break;
- case NPC_DEVOURER:
- devourerOfSouls = creature->GetGUID();
- break;
case NPC_SYLVANAS_PART1:
- if (teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_JAINA_PART1);
- break;
+ return teamInInstance == ALLIANCE ? NPC_JAINA_PART1 : NPC_SYLVANAS_PART1;
case NPC_LORALEN:
- if (teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_ELANDRA);
- break;
+ return teamInInstance == ALLIANCE ? NPC_ELANDRA : NPC_LORALEN;
case NPC_KALIRA:
- if (teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_KORELN);
- break;
+ return teamInInstance == ALLIANCE ? NPC_KORELN : NPC_KALIRA;
+ default:
+ return entry;
}
}
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 6afdf400924..4848fa15ea3 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
@@ -88,81 +88,57 @@ class instance_pit_of_saron : public InstanceMapScript
case NPC_TYRANNUS_EVENTS:
_tyrannusEventGUID = creature->GetGUID();
break;
+ case NPC_CAVERN_EVENT_TRIGGER:
+ _cavernstriggersVector.push_back(creature->GetGUID());
+ break;
case NPC_SYLVANAS_PART1:
- if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_JAINA_PART1);
+ case NPC_SYLVANAS_PART2:
+ case NPC_JAINA_PART1:
+ case NPC_JAINA_PART2:
_jainaOrSylvanas1GUID = creature->GetGUID();
break;
- case NPC_SYLVANAS_PART2:
- if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_JAINA_PART2);
- _jainaOrSylvanas2GUID = creature->GetGUID();
+ default:
break;
+ }
+ }
+
+ uint32 GetCreatureEntry(ObjectGuid::LowType /*guidLow*/, CreatureData const* data) override
+ {
+ uint32 entry = data->id;
+ switch (entry)
+ {
+ case NPC_SYLVANAS_PART1:
+ return _teamInInstance == ALLIANCE ? NPC_JAINA_PART1 : NPC_SYLVANAS_PART1;
+ case NPC_SYLVANAS_PART2:
+ return _teamInInstance == ALLIANCE ? NPC_JAINA_PART2 : NPC_SYLVANAS_PART2;
case NPC_KILARA:
- if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_ELANDRA);
- break;
+ return _teamInInstance == ALLIANCE ? NPC_ELANDRA : NPC_KILARA;
case NPC_KORALEN:
- if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_KORLAEN);
- break;
+ return _teamInInstance == ALLIANCE ? NPC_KORLAEN : NPC_KORALEN;
case NPC_CHAMPION_1_HORDE:
- if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_CHAMPION_1_ALLIANCE);
- break;
+ return _teamInInstance == ALLIANCE ? NPC_CHAMPION_1_ALLIANCE : NPC_CHAMPION_1_HORDE;
case NPC_CHAMPION_2_HORDE:
- if (_teamInInstance == 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);
- break;
+ return _teamInInstance == ALLIANCE ? NPC_CHAMPION_2_ALLIANCE : NPC_CHAMPION_2_HORDE;
+ case NPC_CHAMPION_3_HORDE:
+ return _teamInInstance == ALLIANCE ? NPC_CHAMPION_2_ALLIANCE : NPC_CHAMPION_3_HORDE;
case NPC_HORDE_SLAVE_1:
- if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_ALLIANCE_SLAVE_1);
- break;
+ return _teamInInstance == ALLIANCE ? NPC_ALLIANCE_SLAVE_1 : NPC_HORDE_SLAVE_1;
case NPC_HORDE_SLAVE_2:
- if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_ALLIANCE_SLAVE_2);
- break;
+ return _teamInInstance == ALLIANCE ? NPC_ALLIANCE_SLAVE_2 : NPC_HORDE_SLAVE_2;
case NPC_HORDE_SLAVE_3:
- if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_ALLIANCE_SLAVE_3);
- break;
+ return _teamInInstance == ALLIANCE ? NPC_ALLIANCE_SLAVE_3 : NPC_HORDE_SLAVE_3;
case NPC_HORDE_SLAVE_4:
- if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_ALLIANCE_SLAVE_4);
- break;
+ return _teamInInstance == ALLIANCE ? NPC_ALLIANCE_SLAVE_4 : NPC_HORDE_SLAVE_4;
case NPC_FREED_SLAVE_1_HORDE:
- if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_FREED_SLAVE_1_ALLIANCE);
- break;
+ return _teamInInstance == ALLIANCE ? NPC_FREED_SLAVE_1_ALLIANCE : NPC_FREED_SLAVE_1_HORDE;
case NPC_FREED_SLAVE_2_HORDE:
- if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_FREED_SLAVE_2_ALLIANCE);
- break;
+ return _teamInInstance == ALLIANCE ? NPC_FREED_SLAVE_2_ALLIANCE : NPC_FREED_SLAVE_2_HORDE;
case NPC_FREED_SLAVE_3_HORDE:
- if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_FREED_SLAVE_3_ALLIANCE);
- break;
+ return _teamInInstance == ALLIANCE ? NPC_FREED_SLAVE_3_ALLIANCE : NPC_FREED_SLAVE_3_HORDE;
case NPC_RESCUED_SLAVE_HORDE:
- if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_RESCUED_SLAVE_ALLIANCE);
- break;
- case NPC_MARTIN_VICTUS_1:
- if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_MARTIN_VICTUS_1);
- break;
- case NPC_MARTIN_VICTUS_2:
- if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_MARTIN_VICTUS_2);
- break;
- case NPC_CAVERN_EVENT_TRIGGER:
- _cavernstriggersVector.push_back(creature->GetGUID());
- break;
+ return _teamInInstance == ALLIANCE ? NPC_RESCUED_SLAVE_ALLIANCE : NPC_RESCUED_SLAVE_HORDE;
default:
- break;
+ return entry;
}
}
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
index e6b39fb1d55..936de6c9fee 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
@@ -186,14 +186,6 @@ class instance_icecrown_citadel : public InstanceMapScript
void OnCreatureCreate(Creature* creature) override
{
- if (!TeamInInstance)
- {
- Map::PlayerList const& players = instance->GetPlayers();
- if (!players.isEmpty())
- if (Player* player = players.begin()->GetSource())
- TeamInInstance = player->GetTeam();
- }
-
switch (creature->GetEntry())
{
case NPC_LORD_MARROWGAR:
@@ -313,6 +305,14 @@ class instance_icecrown_citadel : public InstanceMapScript
// Weekly quest spawn prevention
uint32 GetCreatureEntry(ObjectGuid::LowType /*guidLow*/, CreatureData const* data) override
{
+ if (!TeamInInstance)
+ {
+ Map::PlayerList const& players = instance->GetPlayers();
+ if (!players.isEmpty())
+ if (Player* player = players.begin()->GetSource())
+ TeamInInstance = player->GetTeam();
+ }
+
uint32 entry = data->id;
switch (entry)
{
diff --git a/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp b/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp
index fec54d6a0c1..c6e9c27115b 100644
--- a/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp
+++ b/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp
@@ -53,42 +53,47 @@ class instance_nexus : public InstanceMapScript
case NPC_KERISTRASZA:
KeristraszaGUID = creature->GetGUID();
break;
- // Alliance npcs are spawned by default, if you are alliance, you will fight against horde npcs.
case NPC_ALLIANCE_BERSERKER:
- if (ServerAllowsTwoSideGroups())
- creature->SetFaction(FACTION_MONSTER_2);
- if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_HORDE_BERSERKER);
- break;
case NPC_ALLIANCE_RANGER:
- if (ServerAllowsTwoSideGroups())
- creature->SetFaction(FACTION_MONSTER_2);
- if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_HORDE_RANGER);
- break;
case NPC_ALLIANCE_CLERIC:
- if (ServerAllowsTwoSideGroups())
- creature->SetFaction(FACTION_MONSTER_2);
- if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_HORDE_CLERIC);
- break;
case NPC_ALLIANCE_COMMANDER:
- if (ServerAllowsTwoSideGroups())
- creature->SetFaction(FACTION_MONSTER_2);
- if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_HORDE_COMMANDER);
- break;
case NPC_COMMANDER_STOUTBEARD:
if (ServerAllowsTwoSideGroups())
creature->SetFaction(FACTION_MONSTER_2);
- if (_teamInInstance == ALLIANCE)
- creature->UpdateEntry(NPC_COMMANDER_KOLURG);
break;
default:
break;
}
}
+ uint32 GetCreatureEntry(ObjectGuid::LowType /*guidLow*/, CreatureData const* data) override
+ {
+ if (!_teamInInstance)
+ {
+ Map::PlayerList const& players = instance->GetPlayers();
+ if (!players.isEmpty())
+ if (Player* player = players.begin()->GetSource())
+ _teamInInstance = player->GetTeam();
+ }
+
+ uint32 entry = data->id;
+ switch (entry)
+ {
+ case NPC_ALLIANCE_BERSERKER:
+ return _teamInInstance == ALLIANCE ? NPC_HORDE_BERSERKER : NPC_ALLIANCE_BERSERKER;
+ case NPC_ALLIANCE_RANGER:
+ return _teamInInstance == ALLIANCE ? NPC_HORDE_RANGER : NPC_ALLIANCE_RANGER;
+ case NPC_ALLIANCE_CLERIC:
+ return _teamInInstance == ALLIANCE ? NPC_HORDE_CLERIC : NPC_ALLIANCE_CLERIC;
+ case NPC_ALLIANCE_COMMANDER:
+ return _teamInInstance == ALLIANCE ? NPC_HORDE_COMMANDER : NPC_ALLIANCE_COMMANDER;
+ case NPC_COMMANDER_STOUTBEARD:
+ return _teamInInstance == ALLIANCE ? NPC_COMMANDER_KOLURG : NPC_COMMANDER_STOUTBEARD;
+ default:
+ return entry;
+ }
+ }
+
void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())