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

@@ -159,7 +159,7 @@ public:
summons.Summon(spark);
spark->CastSpell(spark, me->GetMap()->IsHeroic() ? SPELL_SPARK_VISUAL_TRIGGER_H : SPELL_SPARK_VISUAL_TRIGGER_N, true);
spark->CastSpell(spark, SPELL_RANDOM_LIGHTNING, true);
spark->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PACIFIED | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE);
spark->SetUnitFlag(UNIT_FLAG_PACIFIED | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE);
spark->SetHomePosition(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0);
if (Player* tgt = SelectTargetFromPlayerList(100))

View File

@@ -103,12 +103,12 @@ public:
if (!isActive)
{
me->SetControlled(true, UNIT_STATE_STUNNED);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
}
else
{
me->SetControlled(false, UNIT_STATE_STUNNED);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
}
}
@@ -195,7 +195,7 @@ public:
m_pInstance->SetData(TYPE_LOKEN_INTRO, 1);
me->SetControlled(false, UNIT_STATE_STUNNED);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
if (Player* target = SelectTargetFromPlayerList(80))
AttackStart(target);

View File

@@ -357,7 +357,7 @@ public:
if (uiDamage >= me->GetHealth())
{
me->UpdateEntry(NPC_BRITTLE_GOLEM, 0, false);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_DISABLE_MOVE);
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_DISABLE_MOVE);
me->SetHealth(me->GetMaxHealth());
me->RemoveAllAuras();
me->AttackStop();
@@ -459,7 +459,7 @@ public:
{
_attackGUID.Clear();
_isActive = urand(0, 1);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
me->CastSpell(me, SPELL_FREEZE_ANIM, true);
}
@@ -522,7 +522,7 @@ public:
if (eventId == EVENT_UNFREEZE)
{
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
me->CastSpell(me, SPELL_AWAKEN, true);
me->RemoveAllAuras();
_isActive = true;

View File

@@ -141,10 +141,10 @@ public:
pInstance->SetData(BOSS_SJONNIR, NOT_STARTED);
pInstance->SetData(DATA_SJONNIR_ACHIEVEMENT, false);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
if (pInstance->GetData(BOSS_TRIBUNAL_OF_AGES) == DONE)
{
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
if (GameObject* doors = me->GetMap()->GetGameObject(pInstance->GetGuidData(GO_SJONNIR_DOOR)))
doors->SetGoState(GO_STATE_ACTIVE);

View File

@@ -676,7 +676,7 @@ void brann_bronzebeard::brann_bronzebeardAI::WaypointReached(uint32 id)
pInstance->SetData(BRANN_BRONZEBEARD, 5);
me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
if (Creature* cr = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_SJONNIR)))
cr->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
cr->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
me->SetOrientation(3.132660f);
DoCast(me, 58506, false);
}

View File

@@ -217,7 +217,7 @@ public:
// Make sjonnir attackable
if (Creature* cr = instance->GetCreature(SjonnirGUID))
cr->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
cr->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
}
if (type == BOSS_TRIBUNAL_OF_AGES && data == NOT_STARTED)
{

View File

@@ -377,7 +377,7 @@ public:
events.Reset();
summons.DespawnAll();
me->SetReactState(REACT_PASSIVE);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
me->RemoveUnitFlag(UNIT_FLAG_IMMUNE_TO_PC);
me->SetSheath(SHEATH_STATE_UNARMED);
me->SetFaction(190);
me->CastSpell(me, SPELL_DUAL_WIELD, true);
@@ -403,8 +403,8 @@ public:
{
case ACTION_START_INTRO:
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
me->SetFlag(UNIT_FIELD_FLAGS_2, UNIT_FLAG2_DO_NOT_FADE_IN);
me->SetUnitFlag(UNIT_FLAG_IMMUNE_TO_PC);
me->SetUnitFlag2(UNIT_FLAG2_DO_NOT_FADE_IN);
me->SetDisableGravity(true);
me->CastSpell(me, SPELL_ARRIVAL, true);
me->CastSpell(me, SPELL_RIDE_THE_LIGHTNING, true);
@@ -438,7 +438,7 @@ public:
me->SetReactState(REACT_PASSIVE);
me->AttackStop();
me->SetFaction(FACTION_FRIENDLY);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
me->InterruptNonMeleeSpells(false);
if (m_pInstance)
m_pInstance->SetData(TYPE_ALGALON, NOT_STARTED);
@@ -446,7 +446,7 @@ public:
case ACTION_INIT_ALGALON:
_firstPull = false;
_fedOnTears = false;
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
me->RemoveUnitFlag(UNIT_FLAG_IMMUNE_TO_PC);
break;
case ACTION_ASCEND:
summons.DespawnAll();
@@ -477,7 +477,7 @@ public:
uint32 introDelay = 0;
me->setActive(true);
me->SetInCombatWithZone();
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_IMMUNE_TO_NPC);
me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_IMMUNE_TO_NPC);
events.Reset();
events.SetPhase(PHASE_ROLE_PLAY);
@@ -603,7 +603,7 @@ public:
me->SetReactState(REACT_PASSIVE);
me->AttackStop();
me->SetFaction(FACTION_FRIENDLY);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
events.Reset();
summons.DespawnAll();
me->InterruptNonMeleeSpells(false);
@@ -649,7 +649,7 @@ public:
break;
case EVENT_INTRO_FINISH:
events.Reset();
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
me->RemoveUnitFlag(UNIT_FLAG_IMMUNE_TO_PC);
if (Creature* brann = ObjectAccessor::GetCreature(*me, m_pInstance->GetGuidData(NPC_BRANN_BRONZBEARD_ALG)))
brann->AI()->DoAction(ACTION_FINISH_INTRO);
break;
@@ -659,7 +659,7 @@ public:
break;
case EVENT_REMOVE_UNNATTACKABLE:
me->SetSheath(SHEATH_STATE_MELEE);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_IMMUNE_TO_NPC);
me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_IMMUNE_TO_NPC);
break;
case EVENT_INTRO_TIMER_DONE:
events.SetPhase(PHASE_NORMAL);
@@ -736,7 +736,7 @@ public:
break;
case EVENT_OUTRO_1:
me->RemoveAllAuras();
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_RENAME);
me->SetUnitFlag(UNIT_FLAG_RENAME);
break;
case EVENT_OUTRO_2:
{
@@ -758,7 +758,7 @@ public:
break;
case EVENT_OUTRO_4:
me->CastSpell((Unit*)nullptr, SPELL_SUPERMASSIVE_FAIL);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
break;
case EVENT_OUTRO_5:
if (Creature* brann = me->SummonCreature(NPC_BRANN_BRONZBEARD_ALG, BrannOutroPos[0], TEMPSUMMON_TIMED_DESPAWN, 131500))
@@ -985,7 +985,7 @@ public:
{
case ACTION_ACTIVATE_STAR:
me->SetReactState(REACT_AGGRESSIVE);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
_isActive = true;
if (Player* target = SelectTargetFromPlayerList(250.0f))

View File

@@ -802,7 +802,7 @@ public:
me->StopMoving();
me->SetReactState(REACT_PASSIVE);
me->SetGuidValue(UNIT_FIELD_TARGET, ObjectGuid::Empty);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED);
me->SetUnitFlag(UNIT_FLAG_STUNNED);
me->SendMonsterMove(_flyTarget->GetPositionX(), _flyTarget->GetPositionY(), _flyTarget->GetPositionZ() + 15, 1500, SPLINEFLAG_FLYING);
me->CastSpell(me, SPELL_LIGHTNING_TENDRILS, true);

View File

@@ -308,11 +308,11 @@ public:
if (m_pInstance->GetData(TYPE_LEVIATHAN) != SPECIAL)
{
m_pInstance->SetData(TYPE_LEVIATHAN, NOT_STARTED);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
}
else
{
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
m_pInstance->SetData(DATA_VEHICLE_SPAWN, VEHICLE_POS_LEVIATHAN);
_startTimer = 0;
}
@@ -372,7 +372,7 @@ public:
}
else if (_speakTimer > 41000 && _speakTimer < 60000)
{
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
TurnGates(true, false);
me->MonsterMoveWithSpeed(homePos.GetPositionX(), homePos.GetPositionY(), homePos.GetPositionZ(), 100.0f);
me->UpdatePosition(homePos);
@@ -768,14 +768,14 @@ public:
{
if (apply)
{
turret->SetUInt32Value(UNIT_FIELD_FLAGS, 0);
turret->ReplaceAllUnitFlags(UNIT_FLAG_NONE);
turret->GetAI()->AttackStart(who);
if (Creature* leviathan = me->GetVehicleCreatureBase())
leviathan->AI()->Talk(FLAME_LEVIATHAN_SAY_PLAYER_RIDING);
}
else
{
turret->SetUInt32Value(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
turret->ReplaceAllUnitFlags(UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
if (turret->GetTypeId() == TYPEID_UNIT)
turret->ToCreature()->AI()->EnterEvadeMode();
}
@@ -817,7 +817,7 @@ public:
if (Vehicle* vehicle = me->GetVehicle())
if (Unit* device = vehicle->GetPassenger(SEAT_DEVICE))
device->SetUInt32Value(UNIT_FIELD_FLAGS, 0); // unselectable
device->ReplaceAllUnitFlags(UNIT_FLAG_NONE); // unselectable
if (Creature* leviathan = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(TYPE_LEVIATHAN)))
leviathan->AI()->DoAction(ACTION_DESTROYED_TURRET);
@@ -874,7 +874,7 @@ public:
if (me->GetVehicle())
{
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
if (Unit* player = me->GetVehicle()->GetPassenger(SEAT_PLAYER))
{

View File

@@ -343,7 +343,7 @@ public:
me->PlayDirectSound(SOUND_DEATH);
damage = 0;
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
me->SetFaction(FACTION_FRIENDLY);
me->SetHealth(me->GetMaxHealth());
me->CombatStop();

View File

@@ -307,7 +307,7 @@ public:
for (ObjectGuid const& guid : summons)
if (Creature* sv = ObjectAccessor::GetCreature(*me, guid))
{
sv->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
sv->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
sv->GetMotionMaster()->MoveIdle();
sv->GetMotionMaster()->MoveCharge(1852.78f, 81.38f, 342.461f, 28.0f);
}

View File

@@ -338,7 +338,7 @@ public:
{
damage = 0;
me->SetReactState(REACT_PASSIVE);
if (!me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
if (!me->HasUnitFlag(UNIT_FLAG_NON_ATTACKABLE))
{
if (pInstance)
{
@@ -346,7 +346,7 @@ public:
me->CastSpell(me, 64899, true); // credit
}
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
me->SetFaction(FACTION_FRIENDLY);
me->GetMotionMaster()->Clear();
me->AttackStop();

View File

@@ -113,7 +113,7 @@ public:
{
timer = 1000;
me->SetReactState(REACT_PASSIVE);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
}
void JustReachedHome() override
@@ -126,7 +126,7 @@ public:
if (spell->Id == SPELL_ACTIVATE_CONSTRUCT)
{
me->RemoveAura(38757);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
me->SetReactState(REACT_AGGRESSIVE);
if (InstanceScript* instance = me->GetInstanceScript())
if (Creature* ignis = ObjectAccessor::GetCreature(*me, instance->GetGuidData(TYPE_IGNIS)))

View File

@@ -235,7 +235,7 @@ public:
_looksAchievement = true;
me->SetDisableGravity(true);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE);
me->SetUnitFlag(UNIT_FLAG_DISABLE_MOVE);
me->DisableRotate(true);
events.Reset();

View File

@@ -335,7 +335,7 @@ public:
ResetGameObjects();
events.Reset();
summons.DespawnAll();
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
if (pInstance && pInstance->GetData(TYPE_MIMIRON) != DONE)
pInstance->SetData(TYPE_MIMIRON, NOT_STARTED);
@@ -358,7 +358,7 @@ public:
me->setActive(true);
DoZoneInCombat();
me->RemoveAllAuras();
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
events.Reset();
if (Creature* c = GetLMK2())
@@ -1030,8 +1030,8 @@ public:
c->ExitVehicle(); // this should never happen!
if (Creature* c = me->SummonCreature(NPC_LEVIATHAN_MKII_CANNON, *me, TEMPSUMMON_MANUAL_DESPAWN))
c->EnterVehicle(me, 3);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
me->SetReactState(REACT_AGGRESSIVE);
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE);
@@ -1050,7 +1050,7 @@ public:
break;
case 1:
Phase = 1;
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
if (Unit* target = SelectTargetFromPlayerList(75.0f))
AttackStart(target);
DoZoneInCombat();
@@ -1067,7 +1067,7 @@ public:
me->SetReactState(REACT_AGGRESSIVE);
DoResetThreat();
Phase = 4;
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
if (Unit* target = SelectTargetFromPlayerList(75.0f))
AttackStart(target);
DoZoneInCombat();
@@ -1089,9 +1089,9 @@ public:
me->SetReactState(REACT_PASSIVE);
if (Phase == 1)
{
if (!me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE))
if (!me->HasUnitFlag(UNIT_FLAG_NOT_SELECTABLE))
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
me->GetMotionMaster()->Clear();
me->AttackStop();
me->SetReactState(REACT_PASSIVE);
@@ -1107,9 +1107,9 @@ public:
}
else if (Phase == 4)
{
if (!me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
if (!me->HasUnitFlag(UNIT_FLAG_NON_ATTACKABLE))
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
me->InterruptNonMeleeSpells(false);
me->RemoveAllAurasExceptType(SPELL_AURA_CONTROL_VEHICLE);
me->CastSpell(me, SPELL_SELF_REPAIR, false);
@@ -1264,7 +1264,7 @@ public:
{
if( spell->Id == SPELL_SELF_REPAIR )
{
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
me->SetReactState(REACT_AGGRESSIVE);
}
}
@@ -1326,7 +1326,7 @@ public:
Phase = 2;
fighting = true;
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_SPELL_CAST_OMNI);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
events.Reset();
events.ScheduleEvent(EVENT_SPELL_HEAT_WAVE, 10000);
events.ScheduleEvent(EVENT_SPELL_ROCKET_STRIKE, 16000);
@@ -1343,7 +1343,7 @@ public:
case 4:
Phase = 4;
fighting = true;
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
events.Reset();
events.ScheduleEvent(EVENT_REINSTALL_ROCKETS, 3000);
events.ScheduleEvent(EVENT_SPELL_ROCKET_STRIKE, 16000);
@@ -1382,9 +1382,9 @@ public:
me->SetReactState(REACT_PASSIVE);
if (Phase == 2)
{
if (!me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE))
if (!me->HasUnitFlag(UNIT_FLAG_NOT_SELECTABLE))
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
SetData(1, 0);
me->InterruptNonMeleeSpells(false);
me->RemoveAllAurasExceptType(SPELL_AURA_CONTROL_VEHICLE);
@@ -1397,9 +1397,9 @@ public:
}
else if (Phase == 4)
{
if (!me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
if (!me->HasUnitFlag(UNIT_FLAG_NON_ATTACKABLE))
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
me->InterruptNonMeleeSpells(false);
me->RemoveAllAurasExceptType(SPELL_AURA_CONTROL_VEHICLE);
me->CastSpell(me, SPELL_SELF_REPAIR, false);
@@ -1606,7 +1606,7 @@ public:
{
if( spell->Id == SPELL_SELF_REPAIR )
{
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
me->SetReactState(REACT_AGGRESSIVE);
}
}
@@ -1666,7 +1666,7 @@ public:
break;
case 3:
Phase = 3;
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
if (Unit* target = SelectTargetFromPlayerList(75.0f))
AttackStart(target);
DoZoneInCombat();
@@ -1683,7 +1683,7 @@ public:
me->SetReactState(REACT_AGGRESSIVE);
DoResetThreat();
Phase = 4;
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
if (Unit* target = SelectTargetFromPlayerList(75.0f))
AttackStart(target);
DoZoneInCombat();
@@ -1714,9 +1714,9 @@ public:
me->SetReactState(REACT_PASSIVE);
if (Phase == 3)
{
if (!me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE))
if (!me->HasUnitFlag(UNIT_FLAG_NOT_SELECTABLE))
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
me->GetMotionMaster()->Clear();
me->StopMoving();
me->AttackStop();
@@ -1734,9 +1734,9 @@ public:
}
else if (Phase == 4)
{
if (!me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
if (!me->HasUnitFlag(UNIT_FLAG_NON_ATTACKABLE))
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
me->InterruptNonMeleeSpells(false);
me->RemoveAllAurasExceptType(SPELL_AURA_CONTROL_VEHICLE);
me->CastSpell(me, SPELL_SELF_REPAIR, false);
@@ -1935,7 +1935,7 @@ public:
{
if( spell->Id == SPELL_SELF_REPAIR )
{
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
me->SetReactState(REACT_AGGRESSIVE);
}
}

View File

@@ -352,13 +352,13 @@ public:
{
if (apply)
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE | UNIT_FLAG_PACIFIED);
me->SetUnitFlag(UNIT_FLAG_DISABLE_MOVE | UNIT_FLAG_PACIFIED);
me->DisableRotate(true);
me->AddUnitState(UNIT_STATE_ROOT);
}
else
{
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE | UNIT_FLAG_PACIFIED);
me->RemoveUnitFlag(UNIT_FLAG_DISABLE_MOVE | UNIT_FLAG_PACIFIED);
me->DisableRotate(false);
me->ClearUnitState(UNIT_STATE_ROOT);
me->resetAttackTimer(BASE_ATTACK);
@@ -569,7 +569,7 @@ public:
if (!_encounterFinished)
{
_encounterFinished = true;
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
me->SetFaction(FACTION_FRIENDLY);
me->SetHealth(me->GetMaxHealth());
me->CombatStop();
@@ -1720,7 +1720,7 @@ public:
events.RepeatEvent(12000);
break;
case EVENT_DR_CHAMPION_WH:
if (!me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISARMED))
if (!me->HasUnitFlag(UNIT_FLAG_DISARMED))
me->CastSpell(me, SPELL_WHIRLWIND, false);
events.RepeatEvent(6000);
break;

View File

@@ -166,7 +166,7 @@ public:
_gravityAchievement = true;
me->SetByteValue(UNIT_FIELD_BYTES_1, UNIT_BYTES_1_OFFSET_STAND_STATE, UNIT_STAND_STATE_STAND); // emerge
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
me->SetControlled(false, UNIT_STATE_STUNNED);
if (m_pInstance)
@@ -370,7 +370,7 @@ public:
// Animation events
case EVENT_START_SECOND_PHASE:
me->TextEmote("XT-002 Deconstructor's heart is exposed and leaking energy.", nullptr, true);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
if (Unit* heart = me->GetVehicleKit() ? me->GetVehicleKit()->GetPassenger(HEART_VEHICLE_SEAT) : nullptr)
heart->GetAI()->DoAction(ACTION_AWAKEN_HEART);
@@ -394,7 +394,7 @@ public:
events.ScheduleEvent(EVENT_REMOVE_EMOTE, 4000);
return;
case EVENT_REMOVE_EMOTE:
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
me->SetControlled(false, UNIT_STATE_STUNNED);
RescheduleEvents();
@@ -421,7 +421,7 @@ public:
{
npc_xt002_heartAI(Creature* pCreature) : PassiveAI(pCreature), summons(me)
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
}
SummonList summons;
@@ -464,7 +464,7 @@ public:
me->SetHealth(me->GetMaxHealth());
me->CastSpell(me, SPELL_HEART_OVERLOAD, true);
me->CastSpell(me, SPELL_EXPOSED_HEART, false); // Channeled
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
if (!summons.HasEntry(NPC_PILE_TRIGGER))
SummonPiles();
@@ -477,7 +477,7 @@ public:
pXT002->AI()->DoAction(_damageDone);
_damageDone = 0;
}
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
}
}
@@ -544,7 +544,7 @@ public:
void UpdateAI(uint32 diff) override
{
if (!me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE))
if (!me->HasUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE))
{
_timerSpawn += diff;
if (_timerSpawn >= 1900)

View File

@@ -415,13 +415,13 @@ public:
{
if (apply)
{
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE);
me->RemoveUnitFlag(UNIT_FLAG_DISABLE_MOVE);
me->DisableRotate(false);
me->ClearUnitState(UNIT_STATE_ROOT);
}
else
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE);
me->SetUnitFlag(UNIT_FLAG_DISABLE_MOVE);
me->DisableRotate(true);
me->AddUnitState(UNIT_STATE_ROOT);
}
@@ -563,7 +563,7 @@ public:
{
if ((cr = me->SummonCreature(NPC_DESCEND_INTO_MADNESS, yoggPortalLoc[i].x, yoggPortalLoc[i].y, yoggPortalLoc[i].z, 0, TEMPSUMMON_TIMED_DESPAWN, 25000)))
{
cr->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE | UNIT_FLAG_NON_ATTACKABLE);
cr->SetUnitFlag(UNIT_FLAG_DISABLE_MOVE | UNIT_FLAG_NON_ATTACKABLE);
cr->SetArmor(_currentIllusion);
}
}
@@ -1112,7 +1112,7 @@ public:
me->HandleEmoteCommand(EMOTE_ONESHOT_EMERGE);
me->SetInCombatWithZone();
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE | UNIT_FLAG_PACIFIED);
me->SetUnitFlag(UNIT_FLAG_DISABLE_MOVE | UNIT_FLAG_PACIFIED);
}
else if (param == ACTION_YOGG_SARON_START_YELL)
{

View File

@@ -185,7 +185,7 @@ public:
else // if (m_algalonTimer = TIMER_ALGALON_TO_SUMMON)
{
m_algalonTimer = TIMER_ALGALON_SUMMONED;
algalon->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
algalon->RemoveUnitFlag(UNIT_FLAG_IMMUNE_TO_PC);
}
}
}