Skip to content

Commit

Permalink
Scripts/Oculus: Fix Eregos loot.
Browse files Browse the repository at this point in the history
  • Loading branch information
johnholiver committed May 5, 2011
1 parent e617c16 commit a1c708d
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 8 deletions.
4 changes: 4 additions & 0 deletions sql/updates/world/2011_05_05_02_world_gameobject.sql
Original file line number Diff line number Diff line change
@@ -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);
29 changes: 22 additions & 7 deletions src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,8 @@ class instance_oculus : public InstanceMapScript
platformUrom = 0;
centrifugueConstructCounter = 0;

eregosCacheGUID = 0;

azureDragonsList.clear();
gameObjectList.clear();
}
Expand Down Expand Up @@ -124,14 +126,21 @@ class instance_oculus : public InstanceMapScript

void OnGameObjectCreate(GameObject* go)
{
if (go->GetEntry() == GO_DRAGON_CAGE_DOOR)
switch (go->GetEntry())
{
if (GetBossState(DATA_DRAKOS_EVENT) == DONE)
go->SetGoState(GO_STATE_ACTIVE);
else
go->SetGoState(GO_STATE_READY);

gameObjectList.push_back(go->GetGUID());
case GO_DRAGON_CAGE_DOOR:
if (GetBossState(DATA_DRAKOS_EVENT) == DONE)
go->SetGoState(GO_STATE_ACTIVE);
else
go->SetGoState(GO_STATE_READY);
gameObjectList.push_back(go->GetGUID());
break;
case GO_EREGOS_CACHE_N:
case GO_EREGOS_CACHE_H:
eregosCacheGUID = go->GetGUID();
break;
default:
break;
}
}

Expand All @@ -154,6 +163,10 @@ class instance_oculus : public InstanceMapScript
if (state == DONE)
DoUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_SHOW, 0);
break;
case DATA_EREGOS_EVENT:
if (state == DONE)
DoRespawnGameObject(eregosCacheGUID, 7*DAY);
break;
}

return true;
Expand Down Expand Up @@ -257,6 +270,8 @@ class instance_oculus : public InstanceMapScript
uint8 platformUrom;
uint8 centrifugueConstructCounter;

uint64 eregosCacheGUID;

std::string str_data;

std::list<uint64> gameObjectList;
Expand Down
4 changes: 3 additions & 1 deletion src/server/scripts/Northrend/Nexus/Oculus/oculus.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,9 @@ enum Bosses

enum GameObjects
{
GO_DRAGON_CAGE_DOOR = 193995
GO_DRAGON_CAGE_DOOR = 193995,
GO_EREGOS_CACHE_N = 191349,
GO_EREGOS_CACHE_H = 193603
};

enum SpellEvents
Expand Down

0 comments on commit a1c708d

Please sign in to comment.