aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/EasternKingdoms/ScarletMonastery
diff options
context:
space:
mode:
authorTeleqraph <nyrdeveloper@gmail.com>2023-07-20 19:09:27 +0200
committerGitHub <noreply@github.com>2023-07-20 19:09:27 +0200
commit88ff97c1f96381565c47f8ca1993bdc7fce19fd6 (patch)
treee2b89eb2da0a1a01e8f4eef0a37328e997cb344c /src/server/scripts/EasternKingdoms/ScarletMonastery
parentd4112334142f85addcf784bf3b4fb3b04773f1cd (diff)
Core/Units: Added helper functions to modify UNIT_FLAG_UNINTERACTIBLE (#29159)
Co-authored-by: Shauren <shauren.trinity@gmail.com>
Diffstat (limited to 'src/server/scripts/EasternKingdoms/ScarletMonastery')
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp12
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp8
2 files changed, 11 insertions, 9 deletions
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
index 8342512a234..83850147e3f 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
@@ -198,7 +198,7 @@ struct npc_headless_horseman_head : public PassiveAI
void HandleInitialSetup()
{
DoCastSelf(SPELL_HEADLESS_HORSEMAN_C_HEAD_STUN);
- me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE);
+ me->SetUninteractible(true);
_phase = PHASE_1;
_events.SetPhase(PHASE_1);
}
@@ -255,7 +255,7 @@ struct npc_headless_horseman_head : public PassiveAI
{
me->RemoveAurasDueToSpell(SPELL_HEADLESS_HORSEMAN_C_HEAD_STUN);
DoCastSelf(SPELL_HEADLESS_HORSEMAN_C_HEAD_VISUAL, true);
- me->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE);
+ me->SetUninteractible(false);
me->GetMotionMaster()->MoveRandom(30.0f);
switch (_phase)
@@ -310,11 +310,11 @@ struct npc_headless_horseman_head : public PassiveAI
DoCast(horseman, SPELL_HEADLESS_HORSEMAN_C_RETURN_HEAD, true);
me->RemoveAllAttackers();
me->GetMotionMaster()->Clear();
- me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE);
+ me->SetUninteractible(true);
break;
case EVENT_RAIN_OF_TREATS:
DoCastSelf(SPELL_RAIN_OF_TREATS);
- me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE);
+ me->SetUninteractible(true);
_instance->SetData(DATA_PREPARE_RESET, 0);
if (GameObject* pumpkin = me->SummonGameObject(GO_PUMPKIN_SHRINE, GOPumpkinSpawnPosition, GOPumpkinSpawnQuat, 7_days))
me->RemoveGameObject(pumpkin, false);
@@ -707,7 +707,7 @@ struct npc_sir_thomas : public PassiveAI
void Reset() override
{
me->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
- me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE);
+ me->SetUninteractible(true);
DoCastSelf(SPELL_HEADLESS_HORSEMAN_WISP_INVIS);
_scheduler.Schedule(9s, [this](TaskContext /*context*/)
@@ -720,7 +720,7 @@ struct npc_sir_thomas : public PassiveAI
{
if (spellInfo->Id == SPELL_HEADLESS_HORSEMAN_WISP_FLIGHT_PORT)
{
- me->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE);
+ me->SetUninteractible(false);
me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
me->RemoveAurasDueToSpell(SPELL_HEADLESS_HORSEMAN_WISP_INVIS);
DoCastSelf(SPELL_HEADLESS_HORSEMAN_C_GHOST_VISUAL, true);
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp
index ce94275294c..f054558afcf 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp
@@ -95,7 +95,8 @@ public:
_killYellTimer.Reset(0s);
DoCastSelf(SPELL_RETRIBUTION_AURA, true);
- me->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_NON_ATTACKABLE);
+ me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
+ me->SetUninteractible(false);
me->SetStandState(UNIT_STAND_STATE_STAND);
me->SetReactState(REACT_AGGRESSIVE);
@@ -168,7 +169,8 @@ public:
me->InterruptNonMeleeSpells(true);
me->RemoveAllAuras();
me->ClearAllReactives();
- me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_NON_ATTACKABLE);
+ me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
+ me->SetUninteractible(true);
me->SetStandState(UNIT_STAND_STATE_DEAD);
me->SetReactState(REACT_PASSIVE); // prevent Mograine from attacking while fake death
@@ -190,7 +192,7 @@ public:
// Say text
Talk(SAY_MO_RESURRECTED);
- me->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE);
+ me->SetUninteractible(false);
me->SetStandState(UNIT_STAND_STATE_STAND);
});