aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/World
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/World
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/World')
-rw-r--r--src/server/scripts/World/boss_emerald_dragons.cpp9
-rw-r--r--src/server/scripts/World/npcs_special.cpp10
2 files changed, 11 insertions, 8 deletions
diff --git a/src/server/scripts/World/boss_emerald_dragons.cpp b/src/server/scripts/World/boss_emerald_dragons.cpp
index 8131f134dca..cdb4ee81eaa 100644
--- a/src/server/scripts/World/boss_emerald_dragons.cpp
+++ b/src/server/scripts/World/boss_emerald_dragons.cpp
@@ -95,7 +95,8 @@ struct emerald_dragonAI : public WorldBossAI
void Reset() override
{
WorldBossAI::Reset();
- me->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_NON_ATTACKABLE);
+ me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
+ me->SetUninteractible(false);
me->SetReactState(REACT_AGGRESSIVE);
DoCast(me, SPELL_MARK_OF_NATURE_AURA, true);
events.ScheduleEvent(EVENT_TAIL_SWEEP, 4s);
@@ -633,7 +634,8 @@ class boss_taerar : public CreatureScript
_shades += count;
DoCast(SPELL_SHADE);
- me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_NON_ATTACKABLE);
+ me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
+ me->SetUninteractible(true);
me->SetReactState(REACT_PASSIVE);
++_stage;
@@ -670,7 +672,8 @@ class boss_taerar : public CreatureScript
{
_banished = false;
- me->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE | UNIT_FLAG_NON_ATTACKABLE);
+ me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
+ me->SetUninteractible(false);
me->RemoveAurasDueToSpell(SPELL_SHADE);
me->SetReactState(REACT_AGGRESSIVE);
}
diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp
index ade17b58a2b..25d8237f808 100644
--- a/src/server/scripts/World/npcs_special.cpp
+++ b/src/server/scripts/World/npcs_special.cpp
@@ -637,7 +637,7 @@ public:
void Reset() override
{
Initialize();
- me->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE);
+ me->SetUninteractible(false);
}
void BeginEvent(Player* player)
@@ -662,7 +662,7 @@ public:
}
Event = true;
- me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE);
+ me->SetUninteractible(true);
}
void PatientDied(Position const* point)
@@ -770,7 +770,7 @@ public:
Initialize();
//no select
- me->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE);
+ me->SetUninteractible(false);
//no regen health
me->SetUnitFlag(UNIT_FLAG_IN_COMBAT);
@@ -811,7 +811,7 @@ public:
ENSURE_AI(npc_doctor::npc_doctorAI, doctor->AI())->PatientSaved(me, player, Coord);
//make uninteractible
- me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE);
+ me->SetUninteractible(true);
//regen health
me->RemoveUnitFlag(UNIT_FLAG_IN_COMBAT);
@@ -848,7 +848,7 @@ public:
if (me->IsAlive() && me->GetHealth() <= 6)
{
me->RemoveUnitFlag(UNIT_FLAG_IN_COMBAT);
- me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE);
+ me->SetUninteractible(true);
me->setDeathState(JUST_DIED);
me->SetUnitFlag3(UNIT_FLAG3_FAKE_DEAD);