mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-28 16:16:27 +00:00
feat(Core/GameObject): Gob flag helpers (#11287)
This commit is contained in:
@@ -220,7 +220,7 @@ class go_suppression_device : public GameObjectScript
|
||||
if (me->GetGoState() == GO_STATE_ACTIVE)
|
||||
me->SetGoState(GO_STATE_READY);
|
||||
me->SetLootState(GO_READY);
|
||||
me->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
me->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
_events.ScheduleEvent(EVENT_SUPPRESSION_CAST, 5000);
|
||||
me->Respawn();
|
||||
}
|
||||
@@ -231,7 +231,7 @@ class go_suppression_device : public GameObjectScript
|
||||
return;
|
||||
_active = false;
|
||||
me->SetGoState(GO_STATE_ACTIVE);
|
||||
me->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
me->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
_events.CancelEvent(EVENT_SUPPRESSION_CAST);
|
||||
}
|
||||
|
||||
|
||||
@@ -343,7 +343,7 @@ class go_chromaggus_lever : public GameObjectScript
|
||||
_instance->HandleGameObject(ObjectGuid::Empty, true, go);
|
||||
}
|
||||
|
||||
me->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE | GO_FLAG_IN_USE);
|
||||
me->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE | GO_FLAG_IN_USE);
|
||||
me->SetGoState(GO_STATE_ACTIVE);
|
||||
}
|
||||
|
||||
|
||||
@@ -169,7 +169,7 @@ public:
|
||||
case GO_PORTCULLIS_CHROMAGGUS:
|
||||
AddDoor(go, true);
|
||||
chromaggusDoorGUID = go->GetGUID();
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
@@ -143,7 +143,7 @@ public:
|
||||
HandleGameObject(m_uiStageDoorLeftGUID, true);
|
||||
HandleGameObject(m_uiStageDoorRightGUID, true);
|
||||
if (GameObject* sideEntrance = instance->GetGameObject(m_uiSideEntranceDoor))
|
||||
sideEntrance->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
|
||||
sideEntrance->RemoveGameObjectFlag(GO_FLAG_LOCKED);
|
||||
instance->UpdateEncounterState(ENCOUNTER_CREDIT_KILL_CREATURE, 16812, nullptr);
|
||||
}
|
||||
break;
|
||||
@@ -187,9 +187,9 @@ public:
|
||||
case GO_MASSIVE_DOOR:
|
||||
m_uiMassiveDoor = go->GetGUID();
|
||||
if (GetBossState(DATA_ARAN) != IN_PROGRESS)
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
|
||||
go->SetGameObjectFlag(GO_FLAG_LOCKED);
|
||||
else
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
|
||||
go->RemoveGameObjectFlag(GO_FLAG_LOCKED);
|
||||
break;
|
||||
case GO_GAMESMAN_HALL_DOOR:
|
||||
m_uiGamesmansDoor = go->GetGUID();
|
||||
@@ -200,9 +200,9 @@ public:
|
||||
case GO_NETHERSPACE_DOOR:
|
||||
m_uiNetherspaceDoor = go->GetGUID();
|
||||
if (GetBossState(DATA_PRINCE) != IN_PROGRESS)
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
|
||||
go->SetGameObjectFlag(GO_FLAG_LOCKED);
|
||||
else
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
|
||||
go->RemoveGameObjectFlag(GO_FLAG_LOCKED);
|
||||
break;
|
||||
case GO_MASTERS_TERRACE_DOOR:
|
||||
MastersTerraceDoor[0] = go->GetGUID();
|
||||
@@ -213,9 +213,9 @@ public:
|
||||
case GO_SIDE_ENTRANCE_DOOR:
|
||||
m_uiSideEntranceDoor = go->GetGUID();
|
||||
if (GetBossState(DATA_OPERA_PERFORMANCE) == DONE)
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
|
||||
go->SetGameObjectFlag(GO_FLAG_LOCKED);
|
||||
else
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
|
||||
go->RemoveGameObjectFlag(GO_FLAG_LOCKED);
|
||||
break;
|
||||
case GO_DUST_COVERED_CHEST:
|
||||
DustCoveredChest = go->GetGUID();
|
||||
|
||||
@@ -89,7 +89,7 @@ public:
|
||||
HandleGameObject(KaelDoorGUID, data != IN_PROGRESS);
|
||||
if (data == DONE)
|
||||
if (GameObject* escapeOrb = instance->GetGameObject(EscapeOrbGUID))
|
||||
escapeOrb->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
escapeOrb->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
Encounter[identifier] = data;
|
||||
break;
|
||||
}
|
||||
@@ -144,7 +144,7 @@ public:
|
||||
break;
|
||||
case GO_ESCAPE_ORB:
|
||||
if (GetData(DATA_KAELTHAS_EVENT) == DONE)
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
EscapeOrbGUID = go->GetGUID();
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@ public:
|
||||
if (gameobject->GetEntry() < GO_ATALAI_STATUE1 + _statuePhase)
|
||||
{
|
||||
instance->SummonGameObject(GO_ATALAI_LIGHT2, gameobject->GetPositionX(), gameobject->GetPositionY(), gameobject->GetPositionZ(), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
|
||||
gameobject->SetUInt32Value(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
gameobject->ReplaceAllGameObjectFlags(GO_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
break;
|
||||
case GO_ATALAI_IDOL:
|
||||
@@ -93,7 +93,7 @@ public:
|
||||
break;
|
||||
case GO_IDOL_OF_HAKKAR:
|
||||
if (_encounters[TYPE_ATAL_ALARION] == DONE)
|
||||
gameobject->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
gameobject->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
break;
|
||||
case GO_FORCEFIELD:
|
||||
_forcefieldGUID = gameobject->GetGUID();
|
||||
|
||||
@@ -184,7 +184,7 @@ public:
|
||||
{
|
||||
for (uint8 i = 0; i < 4; ++i)
|
||||
if (GameObject* orb = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_1 + i)))
|
||||
orb->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
orb->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
|
||||
void Reset() override
|
||||
@@ -643,9 +643,9 @@ public:
|
||||
{
|
||||
if (GameObject* orb = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_1 + i)))
|
||||
{
|
||||
if (orb->HasFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE))
|
||||
if (orb->HasGameObjectFlag(GO_FLAG_NOT_SELECTABLE))
|
||||
{
|
||||
orb->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
orb->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
if (Creature* trigger = me->SummonTrigger(orb->GetPositionX(), orb->GetPositionY(), orb->GetPositionZ(), 0, 10 * MINUTE * IN_MILLISECONDS))
|
||||
{
|
||||
trigger->CastSpell(trigger, SPELL_RING_OF_BLUE_FLAMES, true, nullptr, nullptr, trigger->GetGUID());
|
||||
|
||||
@@ -55,7 +55,7 @@ public:
|
||||
if (_encounters[DATA_IRONAYA_DOORS] == DONE)
|
||||
{
|
||||
HandleGameObject(ObjectGuid::Empty, true, gameobject);
|
||||
gameobject->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
gameobject->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
break;
|
||||
case GO_TEMPLE_DOOR:
|
||||
|
||||
@@ -671,14 +671,14 @@ public:
|
||||
break;
|
||||
case GONG_EVENT_3:
|
||||
if (GameObject* gong = me->GetMap()->GetGameObject(instance->GetGuidData(GO_STRANGE_GONG)))
|
||||
gong->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
gong->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
_gongEvent = GONG_EVENT_4;
|
||||
_gongTimer = 105000;
|
||||
break;
|
||||
case GONG_EVENT_4:
|
||||
me->RemoveAura(SPELL_BANGING_THE_GONG);
|
||||
if (GameObject* gong = me->GetMap()->GetGameObject(instance->GetGuidData(GO_STRANGE_GONG)))
|
||||
gong->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
gong->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
|
||||
// trigger or gong will need to be scripted to set IN_PROGRESS after enough hits.
|
||||
// This is temp workaround.
|
||||
|
||||
@@ -154,7 +154,7 @@ public:
|
||||
{
|
||||
BossAI::EnterEvadeMode();
|
||||
if (GameObject* object = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_GONG_OF_BETHEKK)))
|
||||
object->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
object->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
me->DespawnOrUnsummon(4000);
|
||||
}
|
||||
|
||||
@@ -428,7 +428,7 @@ public:
|
||||
{
|
||||
if (go->GetInstanceScript() && !go->FindNearestCreature(NPC_ARLOKK, 25.0f))
|
||||
{
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
go->SendCustomAnim(0);
|
||||
go->SummonCreature(NPC_ARLOKK, PosSummonArlokk[0], TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 600000);
|
||||
}
|
||||
|
||||
@@ -83,9 +83,9 @@ public:
|
||||
case GO_GONG_OF_BETHEKK:
|
||||
_goGongOfBethekkGUID = go->GetGUID();
|
||||
if (GetBossState(DATA_ARLOKK) == DONE)
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
else
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
@@ -611,7 +611,7 @@ public:
|
||||
if (Creature* c = me->FindNearestCreature(NPC_SUNWELL_VISUAL_BUNNY, 60.0f, true))
|
||||
c->DespawnOrUnsummon(1);
|
||||
if (GameObject* go = me->FindNearestGameObject(GO_QUEL_DELAR, 60.0f))
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
me->SetWalk(true);
|
||||
if (me->GetCreatureData())
|
||||
me->GetMotionMaster()->MovePoint(0, me->GetCreatureData()->posX, me->GetCreatureData()->posY, me->GetCreatureData()->posZ);
|
||||
|
||||
Reference in New Issue
Block a user