aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiacomo Pozzoni <giacomopoz@gmail.com>2019-09-28 15:45:25 +0200
committerGitHub <noreply@github.com>2019-09-28 15:45:25 +0200
commitef694cc251844d34a64ae03f79d28a5c76719f6b (patch)
treeb39910eb2e5cda69a8724c4c312744cb6e83834a
parentc1e3d79a4fb5b7b1a9bca36ecd16b9bb902ced92 (diff)
Scripts: Fix crossfaction combat issue (#23818)
* Scripts/PitOfSaron: Fix Martin Victus combat in crossfaction groups Fix Martin Victus attacking players in crossfaction groups because it was spawned as summon of the boss, triggering DoCombatInZone() * Scripts/ForgeOfSouls: Fix guards combat in crossfaction groups Fix Devourer of Souls guardians attacking players in crossfaction groups because they were spawned as summons of the boss, triggering DoCombatInZone() * Scripts/Misc: Fix no PCH build
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp3
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/instance_pit_of_saron.cpp21
2 files changed, 19 insertions, 5 deletions
diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp
index ca9fa333654..b2c1513ecce 100644
--- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp
@@ -210,8 +210,9 @@ class boss_devourer_of_souls : public CreatureScript
for (int8 i = 0; outroPositions[i].entry[entryIndex] != 0; ++i)
{
- if (Creature* summon = me->SummonCreature(outroPositions[i].entry[entryIndex], spawnPoint, TEMPSUMMON_DEAD_DESPAWN))
+ if (TempSummon* summon = instance->instance->SummonCreature(outroPositions[i].entry[entryIndex], spawnPoint))
{
+ summon->SetTempSummonType(TEMPSUMMON_DEAD_DESPAWN);
summon->GetMotionMaster()->MovePoint(0, outroPositions[i].movePosition);
if (summon->GetEntry() == NPC_JAINA_PART2)
summon->AI()->Talk(SAY_JAINA_OUTRO);
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 03e5373740d..1baa344b075 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
@@ -21,6 +21,7 @@
#include "Map.h"
#include "pit_of_saron.h"
#include "Player.h"
+#include "TemporarySummon.h"
// positions for Martin Victus (37591) and Gorkun Ironskull (37592)
Position const SlaveLeaderPos = {689.7158f, -104.8736f, 513.7360f, 0.0f};
@@ -157,9 +158,15 @@ class instance_pit_of_saron : public InstanceMapScript
if (Creature* summoner = instance->GetCreature(_garfrostGUID))
{
if (_teamInInstance == ALLIANCE)
- summoner->SummonCreature(NPC_MARTIN_VICTUS_1, SlaveLeaderPos, TEMPSUMMON_MANUAL_DESPAWN);
+ {
+ if (TempSummon* summon = instance->SummonCreature(NPC_MARTIN_VICTUS_1, SlaveLeaderPos))
+ summon->SetTempSummonType(TEMPSUMMON_MANUAL_DESPAWN);
+ }
else
- summoner->SummonCreature(NPC_GORKUN_IRONSKULL_2, SlaveLeaderPos, TEMPSUMMON_MANUAL_DESPAWN);
+ {
+ if (TempSummon* summon = instance->SummonCreature(NPC_GORKUN_IRONSKULL_2, SlaveLeaderPos))
+ summon->SetTempSummonType(TEMPSUMMON_MANUAL_DESPAWN);
+ }
}
}
break;
@@ -169,9 +176,15 @@ class instance_pit_of_saron : public InstanceMapScript
if (Creature* summoner = instance->GetCreature(_tyrannusGUID))
{
if (_teamInInstance == ALLIANCE)
- summoner->SummonCreature(NPC_JAINA_PART2, EventLeaderPos2, TEMPSUMMON_MANUAL_DESPAWN);
+ {
+ if (TempSummon * summon = instance->SummonCreature(NPC_JAINA_PART2, EventLeaderPos2))
+ summon->SetTempSummonType(TEMPSUMMON_MANUAL_DESPAWN);
+ }
else
- summoner->SummonCreature(NPC_SYLVANAS_PART2, EventLeaderPos2, TEMPSUMMON_MANUAL_DESPAWN);
+ {
+ if (TempSummon * summon = instance->SummonCreature(NPC_SYLVANAS_PART2, EventLeaderPos2))
+ summon->SetTempSummonType(TEMPSUMMON_MANUAL_DESPAWN);
+ }
}
}
break;