diff options
| author | Teleqraph <nyrdeveloper@gmail.com> | 2023-07-20 19:09:27 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-07-20 19:09:27 +0200 |
| commit | 88ff97c1f96381565c47f8ca1993bdc7fce19fd6 (patch) | |
| tree | e2b89eb2da0a1a01e8f4eef0a37328e997cb344c /src/server/scripts/EasternKingdoms/ScarletMonastery | |
| parent | d4112334142f85addcf784bf3b4fb3b04773f1cd (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.cpp | 12 | ||||
| -rw-r--r-- | src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp | 8 |
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); }); |
