mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-21 20:56:23 +00:00
feat(Core/Unit): New helpers for UnitFlag and UnitFlag2 (#11227)
This commit is contained in:
@@ -189,7 +189,7 @@ public:
|
||||
trigger->SetFaction(FACTION_FRIENDLY);
|
||||
trigger->SetMaxHealth(100000);
|
||||
trigger->SetHealth(100000);
|
||||
trigger->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
trigger->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||
if (Cloud)
|
||||
Cloud->CastCustomSpell(trigger, /*43661*/SPELL_ZAP, &bp0, nullptr, nullptr, true, 0, 0, Cloud->GetGUID());
|
||||
}
|
||||
@@ -284,7 +284,7 @@ public:
|
||||
Cloud->SetFaction(FACTION_FRIENDLY);
|
||||
Cloud->SetMaxHealth(9999999);
|
||||
Cloud->SetHealth(9999999);
|
||||
Cloud->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
Cloud->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
StormCount = 1;
|
||||
events.ScheduleEvent(EVENT_ELECTRICAL_STORM, 60000); // 60 seconds(bosskillers)
|
||||
|
||||
@@ -176,7 +176,7 @@ public:
|
||||
if (Unit* pLynx = ObjectAccessor::GetUnit(*me, LynxGUID))
|
||||
{
|
||||
Talk(SAY_MERGE);
|
||||
pLynx->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
pLynx->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||
pLynx->GetMotionMaster()->Clear();
|
||||
pLynx->GetMotionMaster()->MoveFollow(me, 0, 0);
|
||||
me->GetMotionMaster()->Clear();
|
||||
@@ -347,7 +347,7 @@ public:
|
||||
|
||||
void AttackStart(Unit* who) override
|
||||
{
|
||||
if (!me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
|
||||
if (!me->HasUnitFlag(UNIT_FLAG_NON_ATTACKABLE))
|
||||
ScriptedAI::AttackStart(who);
|
||||
}
|
||||
|
||||
|
||||
@@ -438,7 +438,7 @@ public:
|
||||
else
|
||||
{
|
||||
trigger->SetDisplayId(11686);
|
||||
trigger->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
trigger->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||
trigger->CastSpell(target, SPELL_SIPHON_SOUL, true);
|
||||
trigger->GetMotionMaster()->MoveChase(me);
|
||||
|
||||
|
||||
@@ -274,9 +274,9 @@ public:
|
||||
{
|
||||
if (Unit* FireBomb = ObjectAccessor::GetUnit(*me, FireBombGUIDs[BombCount]))
|
||||
{
|
||||
FireBomb->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
FireBomb->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||
DoCast(FireBomb, SPELL_FIRE_BOMB_THROW, true);
|
||||
FireBomb->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
FireBomb->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
++BombCount;
|
||||
if (BombCount == 40)
|
||||
|
||||
@@ -117,8 +117,8 @@ public:
|
||||
{
|
||||
if (MoveEvent)
|
||||
{
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||
inMove = false;
|
||||
waitTimer = 0;
|
||||
me->SetSpeed(MOVE_RUN, 2);
|
||||
@@ -268,8 +268,8 @@ public:
|
||||
|
||||
Talk(SAY_WAVE4);
|
||||
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||
|
||||
MoveEvent = false;
|
||||
}
|
||||
|
||||
@@ -269,8 +269,8 @@ public:
|
||||
if (creature)
|
||||
{
|
||||
creature->CastSpell(creature, SPELL_SPIRIT_AURA, true);
|
||||
creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
creature->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||
creature->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||
SpiritGUID[i] = creature->GetGUID();
|
||||
}
|
||||
}
|
||||
@@ -336,7 +336,7 @@ public:
|
||||
{
|
||||
Vortex->CastSpell(Vortex, SPELL_CYCLONE_PASSIVE, true);
|
||||
Vortex->CastSpell(Vortex, SPELL_CYCLONE_VISUAL, true);
|
||||
Vortex->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
Vortex->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||
Vortex->SetSpeed(MOVE_RUN, 1.0f);
|
||||
Vortex->AI()->AttackStart(SelectTarget(SelectTargetMethod::Random, 0));
|
||||
DoZoneInCombat(Vortex);
|
||||
|
||||
@@ -194,7 +194,7 @@ public:
|
||||
{
|
||||
if (Unit* Hostage = i_pl->SummonCreature(HostageInfo[num].npc, HostageInfo[num].x, HostageInfo[num].y, HostageInfo[num].z, HostageInfo[num].o, TEMPSUMMON_DEAD_DESPAWN, 0))
|
||||
{
|
||||
Hostage->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
Hostage->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||
Hostage->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -724,13 +724,13 @@ public:
|
||||
if (ptarget->GetPositionX() > 120)
|
||||
{
|
||||
ptarget->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, uint32(WEAPON_SPEAR));
|
||||
ptarget->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
|
||||
ptarget->SetUnitFlag(UNIT_FLAG_IMMUNE_TO_PC);
|
||||
ptarget->SetReactState(REACT_PASSIVE);
|
||||
ptarget->AI()->SetData(0, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
ptarget->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
|
||||
ptarget->SetUnitFlag(UNIT_FLAG_IMMUNE_TO_PC);
|
||||
ptarget->SetReactState(REACT_PASSIVE);
|
||||
ptarget->AI()->SetData(0, 2);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user