diff options
Diffstat (limited to 'src/server/scripts')
| -rw-r--r-- | src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp | 29 | ||||
| -rw-r--r-- | src/server/scripts/Northrend/Nexus/Oculus/oculus.h | 4 | 
2 files changed, 25 insertions, 8 deletions
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp b/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp index 41aa988583d..412a30abb3b 100644 --- a/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp +++ b/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp @@ -52,6 +52,8 @@ public:              platformUrom = 0;              centrifugueConstructCounter = 0; +            eregosCacheGUID = 0; +              azureDragonsList.clear();              gameObjectList.clear();          } @@ -124,14 +126,21 @@ public:          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;              }          } @@ -154,6 +163,10 @@ public:                      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; @@ -257,6 +270,8 @@ public:              uint8 platformUrom;              uint8 centrifugueConstructCounter; +            uint64 eregosCacheGUID; +              std::string str_data;              std::list<uint64> gameObjectList; diff --git a/src/server/scripts/Northrend/Nexus/Oculus/oculus.h b/src/server/scripts/Northrend/Nexus/Oculus/oculus.h index 8c669b91917..e04f2c8aab9 100644 --- a/src/server/scripts/Northrend/Nexus/Oculus/oculus.h +++ b/src/server/scripts/Northrend/Nexus/Oculus/oculus.h @@ -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  | 
