feat(Core/Unit): New helpers for UnitFlag and UnitFlag2 (#11227)

This commit is contained in:
Kitzunu
2022-03-30 12:59:42 +02:00
committed by GitHub
parent 54c06eb72e
commit 856aed6fc6
243 changed files with 1205 additions and 1191 deletions

View File

@@ -441,7 +441,7 @@ public:
target->m_invisibility.AddFlag(type);
target->m_invisibility.AddValue(type, aurEff->GetAmount());
GetUnitOwner()->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
GetUnitOwner()->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
GetUnitOwner()->SetStandState(UNIT_STAND_STATE_DEAD);
GetUnitOwner()->m_last_notify_position.Relocate(0.0f, 0.0f, 0.0f);
GetUnitOwner()->m_delayed_unit_relocation_timer = 1000;
@@ -449,7 +449,7 @@ public:
void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
{
GetUnitOwner()->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
GetUnitOwner()->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
GetUnitOwner()->SetStandState(UNIT_STAND_STATE_STAND);
}

View File

@@ -199,7 +199,7 @@ public:
{
advisor->Respawn(true);
advisor->StopMovingOnCurrentPos();
advisor->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
advisor->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
advisor->SetReactState(REACT_PASSIVE);
summons.Summon(advisor);
}
@@ -215,7 +215,7 @@ public:
{
summon->SetReactState(REACT_PASSIVE);
summon->setDeathState(JUST_RESPAWNED);
summon->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
summon->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
}
}
}
@@ -238,8 +238,8 @@ public:
phase = PHASE_NONE;
me->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_HOVER, true);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_DISABLE_MOVE);
me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_DISABLE_MOVE);
SetRoomState(GO_STATE_READY);
me->SetDisableGravity(false);
me->SetWalk(false);
@@ -321,7 +321,7 @@ public:
void JustDied(Unit* killer) override
{
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
Talk(SAY_DEATH);
BossAI::JustDied(killer);
@@ -357,7 +357,7 @@ public:
me->SetWalk(false);
me->RemoveAurasDueToSpell(SPELL_KAEL_FULL_POWER);
me->SetReactState(REACT_AGGRESSIVE);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE);
me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE);
events.SetTimer(60000);
events.ScheduleEvent(EVENT_SPELL_FIREBALL, 0);
events.ScheduleEvent(EVENT_SPELL_FLAMESTRIKE, 10000);
@@ -389,7 +389,7 @@ public:
if (Creature* advisor = summons.GetCreatureWithEntry(NPC_THALADRED))
{
advisor->SetReactState(REACT_AGGRESSIVE);
advisor->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
advisor->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
advisor->AI()->AttackStart(target);
advisor->SetInCombatWithZone();
@@ -403,7 +403,7 @@ public:
if (Creature* advisor = summons.GetCreatureWithEntry(NPC_LORD_SANGUINAR))
{
advisor->SetReactState(REACT_AGGRESSIVE);
advisor->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
advisor->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
advisor->AI()->AttackStart(target);
advisor->SetInCombatWithZone();
@@ -417,7 +417,7 @@ public:
if (Creature* advisor = summons.GetCreatureWithEntry(NPC_CAPERNIAN))
{
advisor->SetReactState(REACT_AGGRESSIVE);
advisor->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
advisor->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
advisor->AI()->AttackStart(target);
advisor->SetInCombatWithZone();
@@ -431,7 +431,7 @@ public:
if (Creature* advisor = summons.GetCreatureWithEntry(NPC_TELONICUS))
{
advisor->SetReactState(REACT_AGGRESSIVE);
advisor->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
advisor->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
advisor->AI()->AttackStart(target);
advisor->SetInCombatWithZone();
@@ -449,7 +449,7 @@ public:
if (Creature* summon = ObjectAccessor::GetCreature(*me, *i))
if (!summon->GetSpawnId())
{
summon->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE);
summon->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE);
summon->SetInCombatWithZone();
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
summon->AI()->AttackStart(target);
@@ -472,7 +472,7 @@ public:
if (summon->GetSpawnId())
{
summon->SetReactState(REACT_AGGRESSIVE);
summon->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
summon->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
summon->SetInCombatWithZone();
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
summon->AI()->AttackStart(target);
@@ -484,7 +484,7 @@ public:
Talk(SAY_PHASE4_INTRO2);
phase = PHASE_FINAL;
DoResetThreat();
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_DISABLE_MOVE);
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_DISABLE_MOVE);
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
AttackStart(target);
@@ -669,7 +669,7 @@ public:
if (me->HealthBelowPct(51))
{
events.Reset();
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
me->SetReactState(REACT_PASSIVE);
me->GetMotionMaster()->MovePoint(POINT_MIDDLE, me->GetHomePosition(), true, true);
me->ClearUnitState(UNIT_STATE_MELEE_ATTACKING);