Scripts/Oculus: Fix Eregos loot.

This commit is contained in:
johnholiver
2011-05-05 18:18:02 -03:00
parent e617c1618f
commit a1c708d62c
3 changed files with 29 additions and 8 deletions
@@ -0,0 +1,4 @@
UPDATE `gameobject` SET `spawnMask`=1 WHERE `guid`=2853;
DELETE FROM `gameobject` WHERE `id`=193603;
INSERT INTO `gameobject` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`position_x`,`position_y`,`position_z`,`orientation`,`rotation0`,`rotation1`,`rotation2`,`rotation3`,`spawntimesecs`,`animprogress`,`state`) VALUES
(150,193603,578,2,1,1015.06,1051.09,605.619,0.017452,0,0,0,1,-608400,0,1);
@@ -52,6 +52,8 @@ public:
platformUrom = 0; platformUrom = 0;
centrifugueConstructCounter = 0; centrifugueConstructCounter = 0;
eregosCacheGUID = 0;
azureDragonsList.clear(); azureDragonsList.clear();
gameObjectList.clear(); gameObjectList.clear();
} }
@@ -124,14 +126,21 @@ public:
void OnGameObjectCreate(GameObject* go) void OnGameObjectCreate(GameObject* go)
{ {
if (go->GetEntry() == GO_DRAGON_CAGE_DOOR) switch (go->GetEntry())
{ {
if (GetBossState(DATA_DRAKOS_EVENT) == DONE) case GO_DRAGON_CAGE_DOOR:
go->SetGoState(GO_STATE_ACTIVE); if (GetBossState(DATA_DRAKOS_EVENT) == DONE)
else go->SetGoState(GO_STATE_ACTIVE);
go->SetGoState(GO_STATE_READY); else
go->SetGoState(GO_STATE_READY);
gameObjectList.push_back(go->GetGUID()); gameObjectList.push_back(go->GetGUID());
break;
case GO_EREGOS_CACHE_N:
case GO_EREGOS_CACHE_H:
eregosCacheGUID = go->GetGUID();
break;
default:
break;
} }
} }
@@ -154,6 +163,10 @@ public:
if (state == DONE) if (state == DONE)
DoUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_SHOW, 0); DoUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_SHOW, 0);
break; break;
case DATA_EREGOS_EVENT:
if (state == DONE)
DoRespawnGameObject(eregosCacheGUID, 7*DAY);
break;
} }
return true; return true;
@@ -257,6 +270,8 @@ public:
uint8 platformUrom; uint8 platformUrom;
uint8 centrifugueConstructCounter; uint8 centrifugueConstructCounter;
uint64 eregosCacheGUID;
std::string str_data; std::string str_data;
std::list<uint64> gameObjectList; std::list<uint64> gameObjectList;
@@ -48,7 +48,9 @@ enum Bosses
enum GameObjects enum GameObjects
{ {
GO_DRAGON_CAGE_DOOR = 193995 GO_DRAGON_CAGE_DOOR = 193995,
GO_EREGOS_CACHE_N = 191349,
GO_EREGOS_CACHE_H = 193603
}; };
enum SpellEvents enum SpellEvents