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/Kalimdor | |
| 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/Kalimdor')
9 files changed, 25 insertions, 19 deletions
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp index 3263af0cd5e..15a5567584a 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp @@ -426,7 +426,7 @@ public: CanMove = false; Delay = rand32() % 30000; me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); - me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUninteractible(true); me->SetDisplayId(MODEL_INVIS); go = false; Initialize(); @@ -490,7 +490,7 @@ public: if (spawnTimer <= diff) { me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); - me->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUninteractible(false); me->SetDisplayId(me->GetNativeDisplayId()); CanMove = true; if (instance->GetData(DATA_ALLIANCE_RETREAT) && !instance->GetData(DATA_HORDE_RETREAT)) diff --git a/src/server/scripts/Kalimdor/Firelands/boss_alysrazor.cpp b/src/server/scripts/Kalimdor/Firelands/boss_alysrazor.cpp index 79caac8dbab..a3aeb643c55 100644 --- a/src/server/scripts/Kalimdor/Firelands/boss_alysrazor.cpp +++ b/src/server/scripts/Kalimdor/Firelands/boss_alysrazor.cpp @@ -299,7 +299,7 @@ class npc_blazing_monstrosity : public CreatureScript // Our passenger is another vehicle (boardable by players) DoCast(passenger, SPELL_SHARE_HEALTH, true); passenger->SetFaction(35); - passenger->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + passenger->SetUninteractible(false); // Hack to relocate vehicle on vehicle so exiting players are not moved under map Movement::MoveSplineInit init(passenger); diff --git a/src/server/scripts/Kalimdor/HallsOfOrigination/boss_anraphet.cpp b/src/server/scripts/Kalimdor/HallsOfOrigination/boss_anraphet.cpp index a993f30c802..ebe2ae71072 100644 --- a/src/server/scripts/Kalimdor/HallsOfOrigination/boss_anraphet.cpp +++ b/src/server/scripts/Kalimdor/HallsOfOrigination/boss_anraphet.cpp @@ -156,7 +156,7 @@ public: if (instance->GetData(DATA_DEAD_ELEMENTALS) == 4) { // Set to combat automatically, Brann's event won't repeat - me->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUninteractible(false); events.SetPhase(PHASE_COMBAT); ScheduleCombatEvents(); me->SetHomePosition(AnraphetActivatePos); @@ -240,7 +240,7 @@ public: events.ScheduleEvent(EVENT_ANRAPHET_READY, 6s, 0, PHASE_INTRO); break; case EVENT_ANRAPHET_READY: - me->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUninteractible(false); events.SetPhase(PHASE_COMBAT); ScheduleCombatEvents(); break; diff --git a/src/server/scripts/Kalimdor/HallsOfOrigination/boss_earthrager_ptah.cpp b/src/server/scripts/Kalimdor/HallsOfOrigination/boss_earthrager_ptah.cpp index fb645aaa715..6f2ecff5f14 100644 --- a/src/server/scripts/Kalimdor/HallsOfOrigination/boss_earthrager_ptah.cpp +++ b/src/server/scripts/Kalimdor/HallsOfOrigination/boss_earthrager_ptah.cpp @@ -294,7 +294,8 @@ public: { if (Unit* ptah = GetCaster()) { - ptah->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT); + ptah->SetUninteractible(true); + ptah->SetUnitFlag(UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT); ptah->SetUnitFlag2(UNIT_FLAG2_FEIGN_DEATH); } } @@ -303,7 +304,8 @@ public: { if (Unit* ptah = GetCaster()) { - ptah->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT); + ptah->SetUninteractible(false); + ptah->RemoveUnitFlag(UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT); ptah->RemoveUnitFlag2(UNIT_FLAG2_FEIGN_DEATH); } } diff --git a/src/server/scripts/Kalimdor/Maraudon/boss_noxxion.cpp b/src/server/scripts/Kalimdor/Maraudon/boss_noxxion.cpp index ac6d038bfa9..ef86e220646 100644 --- a/src/server/scripts/Kalimdor/Maraudon/boss_noxxion.cpp +++ b/src/server/scripts/Kalimdor/Maraudon/boss_noxxion.cpp @@ -83,7 +83,7 @@ public: { //Become visible again me->SetFaction(FACTION_MONSTER); - me->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUninteractible(false); //Noxxion model me->SetDisplayId(11172); Invisible = false; @@ -123,7 +123,7 @@ public: //me->m_canMove = true; me->InterruptNonMeleeSpells(false); me->SetFaction(FACTION_FRIENDLY); - me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUninteractible(true); // Invisible Model me->SetDisplayId(11686); SummonAdds(me->GetVictim()); diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp index a5a695d7429..ea02ccf3d0e 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp @@ -209,7 +209,8 @@ public: //Reset flags me->RemoveAurasDueToSpell(SPELL_RED_COLORATION); me->RemoveAurasDueToSpell(SPELL_FREEZE_ANIM); - me->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_NON_ATTACKABLE); + me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUninteractible(false); me->SetVisible(true); //Reset Phase @@ -420,7 +421,8 @@ public: me->RemoveAurasDueToSpell(SPELL_RED_COLORATION); //Reset to normal emote state and prevent select and attack - me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUninteractible(true); //Remove Target field me->SetTarget(ObjectGuid::Empty); @@ -523,7 +525,8 @@ public: //Reset flags me->RemoveAurasDueToSpell(SPELL_TRANSFORM); - me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_NON_ATTACKABLE); + me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUninteractible(true); me->SetVisible(false); instance->SetData(DATA_CTHUN_PHASE, PHASE_NOT_STARTED); @@ -632,7 +635,8 @@ public: me->SetFullHealth(); me->SetVisible(true); - me->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_NON_ATTACKABLE); + me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); + me->SetUninteractible(false); //Emerging phase //AttackStart(ObjectAccessor::GetUnit(*me, HoldpPlayer)); diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp index baa45489f71..743dacb9951 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp @@ -112,7 +112,7 @@ public: { //Cast me->HandleEmoteCommand(EMOTE_ONESHOT_SUBMERGE); - me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUninteractible(true); me->SetFaction(FACTION_FRIENDLY); DoCast(me, SPELL_DIRTMOUND_PASSIVE); @@ -132,7 +132,7 @@ public: //Back_Timer if (Submerged && Back_Timer <= diff) { - me->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUninteractible(false); me->SetFaction(FACTION_MONSTER); DoCastVictim(SPELL_GROUND_RUPTURE); diff --git a/src/server/scripts/Kalimdor/zone_felwood.cpp b/src/server/scripts/Kalimdor/zone_felwood.cpp index fd37411ab82..097b803488d 100644 --- a/src/server/scripts/Kalimdor/zone_felwood.cpp +++ b/src/server/scripts/Kalimdor/zone_felwood.cpp @@ -63,7 +63,7 @@ public: } else { - me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + me->SetUninteractible(true); } me->RemoveNpcFlag(UNIT_NPC_FLAG_SPELLCLICK); diff --git a/src/server/scripts/Kalimdor/zone_the_barrens.cpp b/src/server/scripts/Kalimdor/zone_the_barrens.cpp index 9c09e0d8cb6..9895a06c7eb 100644 --- a/src/server/scripts/Kalimdor/zone_the_barrens.cpp +++ b/src/server/scripts/Kalimdor/zone_the_barrens.cpp @@ -283,7 +283,7 @@ public: if (!creature) continue; creature->SetFaction(35); - creature->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + creature->SetUninteractible(true); creature->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); creature->HandleEmoteCommand(EMOTE_ONESHOT_ROAR); AffrayChallenger[i] = creature->GetGUID(); @@ -320,7 +320,7 @@ public: Creature* creature = ObjectAccessor::GetCreature(*me, AffrayChallenger[Wave]); if (creature && (creature->IsAlive())) { - creature->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + creature->SetUninteractible(false); creature->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); creature->HandleEmoteCommand(EMOTE_ONESHOT_ROAR); creature->SetFaction(14); @@ -352,7 +352,7 @@ public: } else // Makes BIG WILL attackable. { - creature->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE); + creature->SetUninteractible(false); creature->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); creature->HandleEmoteCommand(EMOTE_ONESHOT_ROAR); creature->SetFaction(14); |
