aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Outland
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/scripts/Outland')
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_illidan.cpp6
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp4
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp6
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_ahune.cpp6
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp6
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp6
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp6
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp3
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/shattered_halls.cpp4
-rw-r--r--src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp4
-rw-r--r--src/server/scripts/Outland/zone_hellfire_peninsula.cpp6
-rw-r--r--src/server/scripts/Outland/zone_shadowmoon_valley.cpp3
12 files changed, 35 insertions, 25 deletions
diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
index c1fba1eb033..befa2fa0164 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
@@ -805,7 +805,7 @@ public:
events.ScheduleEvent(EVENT_ENCOUNTER_START, Seconds(3), GROUP_PHASE_ALL);
break;
case EVENT_ENCOUNTER_START:
- me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC));
+ me->SetImmuneToAll(false);
DoZoneInCombat();
if (Creature* akama = instance->GetCreature(DATA_AKAMA))
akama->AI()->DoAction(ACTION_START_ENCOUNTER);
@@ -1179,7 +1179,7 @@ public:
break;
case POINT_MINIONS:
_events.SetPhase(PHASE_MINIONS);
- me->RemoveUnitFlag(UNIT_FLAG_IMMUNE_TO_NPC);
+ me->SetImmuneToNPC(false);
me->SetReactState(REACT_AGGRESSIVE);
if (Creature* illidan = _instance->GetCreature(DATA_ILLIDAN_STORMRAGE))
illidan->AI()->DoAction(ACTION_START_MINIONS_WEAVE);
@@ -1312,7 +1312,7 @@ public:
me->SetReactState(REACT_PASSIVE);
me->AttackStop();
me->HandleEmoteCommand(EMOTE_ONESHOT_EXCLAMATION);
- me->AddUnitFlag(UNIT_FLAG_IMMUNE_TO_NPC);
+ me->SetImmuneToNPC(true);
_events.ScheduleEvent(EVENT_AKAMA_MINIONS_MOVE, Seconds(4));
break;
case EVENT_AKAMA_MINIONS_MOVE:
diff --git a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp
index 3d5b3c3f4a4..a7d20d6dda2 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp
@@ -222,7 +222,7 @@ public:
{
_Reset();
Initialize();
- me->AddUnitFlag(UNIT_FLAG_IMMUNE_TO_PC);
+ me->SetImmuneToPC(true);
me->AddUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
me->SetEmoteState(EMOTE_STATE_STUN);
me->SetWalk(true);
@@ -263,7 +263,7 @@ public:
{
_isInPhaseOne = false;
me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
- me->RemoveUnitFlag(UNIT_FLAG_IMMUNE_TO_PC);
+ me->SetImmuneToPC(false);
me->SetWalk(false);
events.ScheduleEvent(EVENT_ADD_THREAT, Milliseconds(100));
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp
index 3072c388ddb..1a7e2d4719b 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp
@@ -156,7 +156,7 @@ public:
DoCast(me, SPELL_SUBMERGE); // submerge anim
me->SetVisible(false); // we start invis under water, submerged
me->AddUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
- me->AddUnitFlag(UNIT_FLAG_IMMUNE_TO_PC);
+ me->SetImmuneToPC(true);
}
void JustDied(Unit* /*killer*/) override
@@ -219,7 +219,7 @@ public:
{
WaitTimer = 3000;
CanStartEvent = true; // fresh fished from pool
- me->RemoveUnitFlag(UNIT_FLAG_IMMUNE_TO_PC);
+ me->SetImmuneToPC(false);
me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
}
else
@@ -335,7 +335,7 @@ public:
Submerged = false;
me->InterruptNonMeleeSpells(false); // shouldn't be any
me->RemoveAllAuras();
- me->RemoveUnitFlag(UNIT_FLAG_IMMUNE_TO_PC);
+ me->SetImmuneToPC(false);
me->SetEmoteState(EMOTE_ONESHOT_NONE);
DoCast(me, SPELL_EMERGE, true);
Spawned = false;
diff --git a/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_ahune.cpp b/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_ahune.cpp
index 0e36c797a7a..aa5a5a9a170 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_ahune.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_ahune.cpp
@@ -327,7 +327,8 @@ public:
{
if (action == ACTION_AHUNE_RETREAT)
{
- me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_IMMUNE_TO_PC));
+ me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
+ me->SetImmuneToPC(false);
me->RemoveAurasDueToSpell(SPELL_ICE_SPEAR_AURA);
_events.ScheduleEvent(EVENT_SYNCH_HEALTH, Seconds(3), 0, PHASE_TWO);
}
@@ -335,7 +336,8 @@ public:
{
_events.Reset();
DoCast(me, SPELL_ICE_SPEAR_AURA);
- me->AddUnitFlag(UnitFlags(UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_IMMUNE_TO_PC));
+ me->AddUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
+ me->SetImmuneToPC(true);
}
}
diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp
index 190f813495c..9a92c30ecc7 100644
--- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp
@@ -108,14 +108,16 @@ class boss_broggok : public CreatureScript
break;
case ACTION_ACTIVATE_BROGGOK:
me->SetReactState(REACT_AGGRESSIVE);
- me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC | UNIT_FLAG_NON_ATTACKABLE));
+ me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
+ me->SetImmuneToAll(false);
events.ScheduleEvent(EVENT_SLIME_SPRAY, 10000);
events.ScheduleEvent(EVENT_POISON_BOLT, 7000);
events.ScheduleEvent(EVENT_POISON_CLOUD, 5000);
break;
case ACTION_RESET_BROGGOK:
me->SetReactState(REACT_PASSIVE);
- me->AddUnitFlag(UnitFlags(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC | UNIT_FLAG_NON_ATTACKABLE));
+ me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
+ me->SetImmuneToAll(true);
break;
}
}
diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp
index 6ebba7e9c30..ebe2a9ebe09 100644
--- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp
@@ -99,7 +99,8 @@ class boss_kelidan_the_breaker : public CreatureScript
Initialize();
SummonChannelers();
me->SetReactState(REACT_PASSIVE);
- me->AddUnitFlag(UnitFlags(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC | UNIT_FLAG_NON_ATTACKABLE));
+ me->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
+ me->SetImmuneToAll(true);
}
void EnterCombat(Unit* who) override
@@ -143,7 +144,8 @@ class boss_kelidan_the_breaker : public CreatureScript
return;
}
me->SetReactState(REACT_AGGRESSIVE);
- me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC | UNIT_FLAG_NON_ATTACKABLE));
+ me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
+ me->SetImmuneToAll(false);
if (killer)
AttackStart(killer);
}
diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp
index 8d52d7dd09b..014c4086716 100644
--- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp
@@ -219,7 +219,8 @@ class instance_blood_furnace : public InstanceMapScript
{
if (!prisoner->IsAlive())
prisoner->Respawn(true);
- prisoner->AddUnitFlag(UnitFlags(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC | UNIT_FLAG_NON_ATTACKABLE));
+ prisoner->AddUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
+ prisoner->SetImmuneToAll(true);
}
void StorePrisoner(Creature* creature)
@@ -307,7 +308,8 @@ class instance_blood_furnace : public InstanceMapScript
for (GuidSet::const_iterator i = prisoners.begin(); i != prisoners.end(); ++i)
if (Creature* prisoner = instance->GetCreature(*i))
{
- prisoner->RemoveUnitFlag(UnitFlags(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC | UNIT_FLAG_NON_ATTACKABLE));
+ prisoner->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
+ prisoner->SetImmuneToAll(false);
prisoner->SetInCombatWithZone();
}
}
diff --git a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp
index 001031e439f..bdafad65efa 100644
--- a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp
@@ -250,7 +250,8 @@ class boss_magtheridon : public CreatureScript
CombatStart();
break;
case EVENT_RELEASED:
- me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NOT_SELECTABLE));
+ me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
+ me->SetImmuneToPC(false);
me->SetInCombatWithZone();
instance->SetData(DATA_MANTICRON_CUBE, ACTION_ENABLE);
events.ScheduleEvent(EVENT_CLEAVE, Seconds(10));
diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/shattered_halls.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/shattered_halls.cpp
index 3a065b246ac..800a1149115 100644
--- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/shattered_halls.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/shattered_halls.cpp
@@ -94,9 +94,9 @@ class boss_shattered_executioner : public CreatureScript
me->AddLootMode(LOOT_MODE_HARD_MODE_1);
if (instance->GetBossState(DATA_KARGATH) == DONE)
- me->RemoveUnitFlag(UNIT_FLAG_IMMUNE_TO_PC);
+ me->SetImmuneToPC(false);
else
- me->AddUnitFlag(UNIT_FLAG_IMMUNE_TO_PC);
+ me->SetImmuneToPC(true);
Initialize();
}
diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp
index 7c4fea78892..068e0b02211 100644
--- a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp
+++ b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp
@@ -99,7 +99,7 @@ class boss_harbinger_skyriss : public CreatureScript
void Reset() override
{
if (!Intro)
- me->AddUnitFlag(UNIT_FLAG_IMMUNE_TO_PC);
+ me->SetImmuneToPC(true);
Initialize();
}
@@ -182,7 +182,7 @@ class boss_harbinger_skyriss : public CreatureScript
Intro_Timer = 3000;
break;
case 3:
- me->RemoveUnitFlag(UNIT_FLAG_IMMUNE_TO_PC);
+ me->SetImmuneToPC(false);
Intro = true;
break;
}
diff --git a/src/server/scripts/Outland/zone_hellfire_peninsula.cpp b/src/server/scripts/Outland/zone_hellfire_peninsula.cpp
index 6c499d8a280..5e9f422c7ec 100644
--- a/src/server/scripts/Outland/zone_hellfire_peninsula.cpp
+++ b/src/server/scripts/Outland/zone_hellfire_peninsula.cpp
@@ -959,7 +959,7 @@ public:
me->RestoreFaction();
me->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
me->AddNpcFlag(UNIT_NPC_FLAG_GOSSIP);
- me->AddUnitFlag(UNIT_FLAG_IMMUNE_TO_PC);
+ me->SetImmuneToPC(true);
}
void DamageTaken(Unit* /*attacker*/, uint32 &damage) override
@@ -974,7 +974,7 @@ public:
me->GetThreatManager().ClearAllThreat();
me->CombatStop(true);
me->AddNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
- me->AddUnitFlag(UNIT_FLAG_IMMUNE_TO_PC);
+ me->SetImmuneToPC(true);
Talk(SAY_DEFEATED);
_events.ScheduleEvent(EVENT_EVADE, Minutes(1));
@@ -994,7 +994,7 @@ public:
_events.ScheduleEvent(EVENT_ATTACK, Seconds(2));
break;
case EVENT_ATTACK:
- me->RemoveUnitFlag(UNIT_FLAG_IMMUNE_TO_PC);
+ me->SetImmuneToPC(false);
me->SetFaction(FACTION_MONSTER_2);
if (Player* player = ObjectAccessor::GetPlayer(*me, _playerGUID))
me->EngageWithTarget(player);
diff --git a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp
index 804139e2f60..9f66c247a98 100644
--- a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp
+++ b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp
@@ -167,7 +167,8 @@ public:
{
if (spell->Id == SPELL_SUMMON_INFERNAL)
{
- me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_PACIFIED | UNIT_FLAG_NOT_SELECTABLE));
+ me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_PACIFIED | UNIT_FLAG_NOT_SELECTABLE));
+ me->SetImmuneToPC(false);
me->SetDisplayId(MODEL_INFERNAL);
}
}