aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/AI
diff options
context:
space:
mode:
authortreeston <treeston.mmoc@gmail.com>2017-07-09 02:07:29 +0200
committerShauren <shauren.trinity@gmail.com>2020-08-18 18:53:13 +0200
commit2dfafa69ebc422feba1aa01e0c4fab76366f552f (patch)
treec5499048f5e797da591f365709d965cd8f2edd74 /src/server/game/AI
parentbefbfbb655731f0202b79586c98f2780ca507edf (diff)
Hi, I'm Treeston, and welcome to Combat PR Prep Refactors.
Today, we're moving UNIT_FLAG_IMMUNE_TO_PC and UNIT_FLAG_IMMUNE_TO_NPC to higher-level abstraction so combat manager can react to it. New methods on Unit: - void SetImmuneTo<All/PC/NPC>(apply, keepCombat = false); - bool IsImmuneTo<All/PC/NPC>() const; (cherry picked from commit 74af880217fc567c9949d7557408718af889402f)
Diffstat (limited to 'src/server/game/AI')
-rw-r--r--src/server/game/AI/CreatureAI.cpp3
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp6
2 files changed, 5 insertions, 4 deletions
diff --git a/src/server/game/AI/CreatureAI.cpp b/src/server/game/AI/CreatureAI.cpp
index 6894f4af091..7e57465443b 100644
--- a/src/server/game/AI/CreatureAI.cpp
+++ b/src/server/game/AI/CreatureAI.cpp
@@ -345,7 +345,8 @@ int32 CreatureAI::VisualizeBoundary(uint32 duration, Unit* owner, bool fill) con
if (TempSummon* point = owner->SummonCreature(BOUNDARY_VISUALIZE_CREATURE, Position(startPosition.GetPositionX() + front.first*BOUNDARY_VISUALIZE_STEP_SIZE, startPosition.GetPositionY() + front.second*BOUNDARY_VISUALIZE_STEP_SIZE, spawnZ), TEMPSUMMON_TIMED_DESPAWN, duration * IN_MILLISECONDS))
{
point->SetObjectScale(BOUNDARY_VISUALIZE_CREATURE_SCALE);
- point->AddUnitFlag(UnitFlags(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_STUNNED | UNIT_FLAG_IMMUNE_TO_NPC));
+ point->AddUnitFlag(UNIT_FLAG_STUNNED);
+ point->SetImmuneToAll(true);
if (!hasOutOfBoundsNeighbor)
point->AddUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
}
diff --git a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp
index c8ecf527f21..fc0ed3fa9e0 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp
+++ b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp
@@ -188,7 +188,7 @@ void npc_escortAI::EnterEvadeMode(EvadeReason /*why*/)
{
me->GetMotionMaster()->MoveTargetedHome();
if (HasImmuneToNPCFlags)
- me->AddUnitFlag(UNIT_FLAG_IMMUNE_TO_NPC);
+ me->SetImmuneToNPC(true);
Reset();
}
}
@@ -472,10 +472,10 @@ void npc_escortAI::Start(bool isActiveAttacker /* = true*/, bool run /* = false
//disable npcflags
me->SetNpcFlags(UNIT_NPC_FLAG_NONE);
me->SetNpcFlags2(UNIT_NPC_FLAG_2_NONE);
- if (me->HasUnitFlag(UNIT_FLAG_IMMUNE_TO_NPC))
+ if (me->IsImmuneToNPC())
{
HasImmuneToNPCFlags = true;
- me->RemoveUnitFlag(UNIT_FLAG_IMMUNE_TO_NPC);
+ me->SetImmuneToNPC(false);
}
TC_LOG_DEBUG("scripts", "EscortAI started with " UI64FMTD " waypoints. ActiveAttacker = %d, Run = %d, %s", uint64(WaypointList.size()), m_bIsActiveAttacker, m_bIsRunning, m_uiPlayerGUID.ToString().c_str());