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:
Lopin
2011-08-19 11:45:49 +02:00
parent dad2fc78e2
commit 868c1c53f2
15 changed files with 48 additions and 48 deletions
@@ -1478,7 +1478,7 @@ enum GameObjectFlags
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_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,
@@ -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;
+1 -1
View File
@@ -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;
}