Core/GameObjects: Unrevealed GO_FLAG_UNK1. Now GO_FLAG_NOT_SELECTABLE makes gameobjects to be unselectable even in GM mode
This commit is contained in:
@@ -1474,13 +1474,13 @@ enum GameobjectTypes
|
||||
|
||||
enum GameObjectFlags
|
||||
{
|
||||
GO_FLAG_IN_USE = 0x00000001, //disables interaction while animated
|
||||
GO_FLAG_LOCKED = 0x00000002, //require key, spell, event, etc to be opened. Makes "Locked" appear in tooltip
|
||||
GO_FLAG_INTERACT_COND = 0x00000004, //cannot interact (condition to interact)
|
||||
GO_FLAG_TRANSPORT = 0x00000008, //any kind of transport? Object can transport (elevator, boat, car)
|
||||
GO_FLAG_UNK1 = 0x00000010, //
|
||||
GO_FLAG_NODESPAWN = 0x00000020, //never despawn, typically for doors, they just change state
|
||||
GO_FLAG_TRIGGERED = 0x00000040, //typically, summoned objects. Triggered by spell or other events
|
||||
GO_FLAG_IN_USE = 0x00000001, // disables interaction while animated
|
||||
GO_FLAG_LOCKED = 0x00000002, // require key, spell, event, etc to be opened. Makes "Locked" appear in tooltip
|
||||
GO_FLAG_INTERACT_COND = 0x00000004, // cannot interact (condition to interact)
|
||||
GO_FLAG_TRANSPORT = 0x00000008, // any kind of transport? Object can transport (elevator, boat, car)
|
||||
GO_FLAG_NOT_SELECTABLE = 0x00000010, // not selectable even in GM mode
|
||||
GO_FLAG_NODESPAWN = 0x00000020, // never despawn, typically for doors, they just change state
|
||||
GO_FLAG_TRIGGERED = 0x00000040, // typically, summoned objects. Triggered by spell or other events
|
||||
GO_FLAG_DAMAGED = 0x00000200,
|
||||
GO_FLAG_DESTROYED = 0x00000400,
|
||||
};
|
||||
|
||||
@@ -357,7 +357,7 @@ public:
|
||||
if (GameObject* pGo = me->SummonGameObject(183410, -533.140f, -105.322f, -156.016f, 0, 0, 0, 0, 0, 1000))
|
||||
{
|
||||
GoSummonList.push_back(pGo->GetGUID());
|
||||
pGo->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1); //We can't use it!
|
||||
pGo->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); //We can't use it!
|
||||
}
|
||||
Summon(3);
|
||||
break;
|
||||
@@ -372,7 +372,7 @@ public:
|
||||
if (GameObject* pGo = me->SummonGameObject(183410, -542.199f, -96.854f, -155.790f, 0, 0, 0, 0, 0, 1000))
|
||||
{
|
||||
GoSummonList.push_back(pGo->GetGUID());
|
||||
pGo->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
pGo->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
@@ -392,7 +392,7 @@ public:
|
||||
if (GameObject* pGo = me->SummonGameObject(183410, -507.820f, -103.333f, -151.353f, 0, 0, 0, 0, 0, 1000))
|
||||
{
|
||||
GoSummonList.push_back(pGo->GetGUID());
|
||||
pGo->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1); //We can't use it!
|
||||
pGo->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); //We can't use it!
|
||||
Summon(6);
|
||||
}
|
||||
break;
|
||||
@@ -400,7 +400,7 @@ public:
|
||||
if (GameObject* pGo = me->SummonGameObject(183410, -511.829f, -86.249f, -151.431f, 0, 0, 0, 0, 0, 1000))
|
||||
{
|
||||
GoSummonList.push_back(pGo->GetGUID());
|
||||
pGo->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1); //We can't use it!
|
||||
pGo->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); //We can't use it!
|
||||
}
|
||||
break;
|
||||
case 9:
|
||||
|
||||
@@ -58,7 +58,7 @@ public:
|
||||
if (pInstance)
|
||||
{
|
||||
pGo->SetGoState(GO_STATE_ACTIVE);
|
||||
pGo->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
pGo->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
pInstance->SetData(DATA_FIRE, pInstance->GetData(DATA_FIRE) + 1);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -126,12 +126,12 @@ public:
|
||||
case GO_SHRINE_OF_GELIHAST:
|
||||
m_uiShrineOfGelihastGUID = go->GetGUID();
|
||||
if (m_auiEncounter[0] != DONE)
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
break;
|
||||
case GO_ALTAR_OF_THE_DEEPS:
|
||||
m_uiAltarOfTheDeepsGUID = go->GetGUID();
|
||||
if (m_auiEncounter[3] != DONE)
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
break;
|
||||
case GO_AKU_MAI_DOOR:
|
||||
if (m_auiEncounter[2] == DONE)
|
||||
@@ -149,14 +149,14 @@ public:
|
||||
m_auiEncounter[0] = uiData;
|
||||
if (uiData == DONE)
|
||||
if (GameObject* go = instance->GetGameObject(m_uiShrineOfGelihastGUID))
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
break;
|
||||
case TYPE_AKU_MAI:
|
||||
m_auiEncounter[3] = uiData;
|
||||
if (uiData == DONE)
|
||||
if (GameObject* go = instance->GetGameObject(m_uiAltarOfTheDeepsGUID))
|
||||
{
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->SummonCreature(NPC_MORRIDUNE, SpawnsLocation[4], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 300000);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -105,7 +105,7 @@ public:
|
||||
case GO_GONG:
|
||||
uiGongGUID = go->GetGUID();
|
||||
if (m_auiEncounter[0] == DONE)
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -123,7 +123,7 @@ public:
|
||||
case 9:
|
||||
case 14:
|
||||
if (GameObject* go = instance->GetGameObject(uiGongGUID))
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
break;
|
||||
case 1:
|
||||
case 10:
|
||||
@@ -134,7 +134,7 @@ public:
|
||||
if (!go)
|
||||
return;
|
||||
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
|
||||
uint32 uiCreature = 0;
|
||||
uint8 uiSummonTimes = 0;
|
||||
|
||||
@@ -331,7 +331,7 @@ class npc_muglash : public CreatureScript
|
||||
|
||||
if (GameObject* pGo = GetClosestGameObjectWithEntry(me, GO_NAGA_BRAZIER, INTERACTION_DISTANCE*2))
|
||||
{
|
||||
pGo->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
pGo->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
SetEscortPaused(true);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -394,7 +394,7 @@ public:
|
||||
if (pPrinceTaldaram && pPrinceTaldaram->isAlive())
|
||||
{
|
||||
// maybe these are hacks :(
|
||||
pGO->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
pGO->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
pGO->SetGoState(GO_STATE_ACTIVE);
|
||||
|
||||
switch(pGO->GetEntry())
|
||||
|
||||
@@ -115,17 +115,17 @@ public:
|
||||
if (spheres[0] == IN_PROGRESS)
|
||||
{
|
||||
go->SetGoState(GO_STATE_ACTIVE);
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
else go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
else go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
break;
|
||||
case 193094: Prince_TaldaramSpheres[1] = go->GetGUID();
|
||||
if (spheres[1] == IN_PROGRESS)
|
||||
{
|
||||
go->SetGoState(GO_STATE_ACTIVE);
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
else go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
else go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
break;
|
||||
case 192236: Prince_TaldaramGate = go->GetGUID(); // Web gate past Prince Taldaram
|
||||
if (m_auiEncounter[1] == DONE)HandleGameObject(0, true, go);break;
|
||||
|
||||
@@ -159,11 +159,11 @@ public:
|
||||
case 192518:
|
||||
uiSladRanAltar = go->GetGUID();
|
||||
// Make sure that they start out as unusuable
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
if (m_auiEncounter[0] == DONE)
|
||||
{
|
||||
if (uiSladRanStatueState == GO_STATE_ACTIVE)
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
else
|
||||
{
|
||||
++phase;
|
||||
@@ -174,11 +174,11 @@ public:
|
||||
case 192519:
|
||||
uiMoorabiAltar = go->GetGUID();
|
||||
// Make sure that they start out as unusuable
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
if (m_auiEncounter[0] == DONE)
|
||||
{
|
||||
if (uiMoorabiStatueState == GO_STATE_ACTIVE)
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
else
|
||||
{
|
||||
++phase;
|
||||
@@ -189,11 +189,11 @@ public:
|
||||
case 192520:
|
||||
uiDrakkariColossusAltar = go->GetGUID();
|
||||
// Make sure that they start out as unusuable
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
if (m_auiEncounter[0] == DONE)
|
||||
{
|
||||
if (uiDrakkariColossusStatueState == GO_STATE_ACTIVE)
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
else
|
||||
{
|
||||
++phase;
|
||||
@@ -261,7 +261,7 @@ public:
|
||||
{
|
||||
GameObject* go = instance->GetGameObject(uiSladRanAltar);
|
||||
if (go)
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
break;
|
||||
case DATA_MOORABI_EVENT:
|
||||
@@ -270,7 +270,7 @@ public:
|
||||
{
|
||||
GameObject* go = instance->GetGameObject(uiMoorabiAltar);
|
||||
if (go)
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
if (bHeroicMode)
|
||||
HandleGameObject(uiEckTheFerociousDoor, true);
|
||||
}
|
||||
@@ -281,7 +281,7 @@ public:
|
||||
{
|
||||
GameObject* go = instance->GetGameObject(uiDrakkariColossusAltar);
|
||||
if (go)
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
break;
|
||||
case DATA_GAL_DARAH_EVENT:
|
||||
@@ -524,7 +524,7 @@ public:
|
||||
InstanceScript *pInstance = pGO->GetInstanceScript();
|
||||
uint64 uiStatue = 0;
|
||||
|
||||
pGO->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
pGO->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
pGO->SetGoState(GO_STATE_ACTIVE);
|
||||
|
||||
if (pInstance)
|
||||
@@ -545,7 +545,7 @@ public:
|
||||
if (!pInstance->GetData64(DATA_STATUE_ACTIVATE))
|
||||
{
|
||||
pInstance->SetData64(DATA_STATUE_ACTIVATE, uiStatue);
|
||||
pGO->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
pGO->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
pGO->SetGoState(GO_STATE_ACTIVE);
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -216,7 +216,7 @@ public:
|
||||
if (pKeristrasza && pKeristrasza->isAlive())
|
||||
{
|
||||
// maybe these are hacks :(
|
||||
pGO->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
pGO->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
pGO->SetGoState(GO_STATE_ACTIVE);
|
||||
|
||||
CAST_AI(boss_keristrasza::boss_keristraszaAI, pKeristrasza->AI())->CheckContainmentSpheres(true);
|
||||
|
||||
@@ -129,21 +129,21 @@ public:
|
||||
{
|
||||
AnomalusContainmentSphere = go->GetGUID();
|
||||
if (m_auiEncounter[1] == DONE)
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
break;
|
||||
}
|
||||
case 188528:
|
||||
{
|
||||
OrmoroksContainmentSphere = go->GetGUID();
|
||||
if (m_auiEncounter[2] == DONE)
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
break;
|
||||
}
|
||||
case 188526:
|
||||
{
|
||||
TelestrasContainmentSphere = go->GetGUID();
|
||||
if (m_auiEncounter[0] == DONE)
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -171,7 +171,7 @@ public:
|
||||
{
|
||||
GameObject* Sphere = instance->GetGameObject(TelestrasContainmentSphere);
|
||||
if (Sphere)
|
||||
Sphere->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
Sphere->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
m_auiEncounter[0] = data;
|
||||
break;
|
||||
@@ -181,7 +181,7 @@ public:
|
||||
if (data == DONE)
|
||||
{
|
||||
if (GameObject* Sphere = instance->GetGameObject(AnomalusContainmentSphere))
|
||||
Sphere->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
Sphere->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
m_auiEncounter[1] = data;
|
||||
break;
|
||||
@@ -191,7 +191,7 @@ public:
|
||||
if (data == DONE)
|
||||
{
|
||||
if (GameObject* Sphere = instance->GetGameObject(OrmoroksContainmentSphere))
|
||||
Sphere->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
Sphere->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
m_auiEncounter[2] = data;
|
||||
break;
|
||||
|
||||
@@ -301,7 +301,7 @@ class go_razorscale_harpoon : public GameObjectScript
|
||||
{
|
||||
InstanceScript* instance = go->GetInstanceScript();
|
||||
if (ObjectAccessor::GetCreature(*go, instance ? instance->GetData64(BOSS_RAZORSCALE) : 0))
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -446,7 +446,7 @@ class instance_ulduar : public InstanceMapScript
|
||||
{
|
||||
if (GameObject* HodirRareCache = instance->GetGameObject(HodirRareCacheGUID))
|
||||
if (GetData(DATA_HODIR_RARE_CACHE))
|
||||
HodirRareCache->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
HodirRareCache->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
if (GameObject* HodirChest = instance->GetGameObject(HodirChestGUID))
|
||||
HodirChest->SetRespawnTime(HodirChest->GetRespawnDelay());
|
||||
HandleGameObject(HodirDoorGUID, true);
|
||||
|
||||
@@ -147,7 +147,7 @@ public:
|
||||
if (pGo)
|
||||
{
|
||||
pGo->SetGoState(GO_STATE_READY);
|
||||
pGo->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
pGo->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -841,7 +841,7 @@ public:
|
||||
Creature* pPalehoof = Unit::GetCreature(*pGO, pInstance ? pInstance->GetData64(DATA_GORTOK_PALEHOOF) : 0);
|
||||
if (pPalehoof && pPalehoof->isAlive())
|
||||
{
|
||||
pGO->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
pGO->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
pGO->SetGoState(GO_STATE_ACTIVE);
|
||||
|
||||
CAST_AI(boss_palehoof::boss_palehoofAI, pPalehoof->AI())->NextPhase();
|
||||
|
||||
@@ -136,7 +136,7 @@ public:
|
||||
if (m_auiEncounter[1] == DONE)
|
||||
{
|
||||
HandleGameObject(0, true, go);
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user