コード例 #1
0
        bool SetBossState(uint32 id, EncounterState state)
        {
            if (!InstanceScript::SetBossState(id, state))
                return false;

            switch (id)
            {
                case BOSS_KOLOGARN:
                    if (state == DONE)
                        HandleGameObject(uiKologarnBridge, false);
                    break;
                case BOSS_HODIR:
                    CheckKeepersState();
                    break;
                case BOSS_THORIM:
                    if (GameObject* pThorimLever = instance->GetGameObject(uiThorimLever))
                    {
                        if (state == IN_PROGRESS)
                            pThorimLever->RemoveFlag(GAMEOBJECT_FLAGS,GO_FLAG_UNK1);
                    }
                    CheckKeepersState();
                    break;
                case BOSS_MIMIRON:
                    CheckKeepersState();
                    break;
                case BOSS_FREYA:
                    CheckKeepersState();
                    break;
                case BOSS_VEZAX:
                    if (state == DONE)
                    {
                        // Keeper's Images
                        if (Creature* pFreya = instance->GetCreature(uiFreyaImage))
                            pFreya->SetVisible(true);
                        if (Creature* pThorim = instance->GetCreature(uiThorimImage))
                            pThorim->SetVisible(true);
                        if (Creature* pMimiron = instance->GetCreature(uiMimironImage))
                            pMimiron->SetVisible(true);
                        if (Creature* pHodir = instance->GetCreature(uiHodirImage))
                            pHodir->SetVisible(true);
                    }
                    break;
                case BOSS_ALGALON:
                    if (GameObject* pCelestialDoor = instance->GetGameObject(uiCelestialDoor))
                        pCelestialDoor->SetGoState(GO_STATE_READY);
                    if (GameObject* pUniverseFloorCelestial = instance->GetGameObject(uiUniverseFloorCelestial))
                        pUniverseFloorCelestial->SetGoState(GO_STATE_READY);
                    if (state == DONE)
                        DoRespawnGameObject(uiAlagonLoot, 30*MINUTE);
                    break;
            }

            return true;
        }
コード例 #2
0
ファイル: instance_ulduar.cpp プロジェクト: Archives/ro_core
 bool SetBossState(uint32 id, EncounterState state)
 {
     if (!InstanceData::SetBossState(id, state))
         return false;
         
     switch (id)
     {
         case BOSS_KOLOGARN:
             if (state == DONE)
             {
                 HandleGameObject(uiKologarnBridge, false);
                 KologarnChest->SetRespawnTime(KologarnChest->GetRespawnDelay());
             }
             break;
         case BOSS_HODIR:
             if (state == DONE)
                 HodirChest->SetRespawnTime(HodirChest->GetRespawnDelay());
             CheckKeepersState();
             break;
         case BOSS_THORIM:
             if (state == IN_PROGRESS)
                 pThorimLever->RemoveFlag(GAMEOBJECT_FLAGS,GO_FLAG_UNK1);
             CheckKeepersState();
             break;
         case BOSS_MIMIRON:
             CheckKeepersState();
             break;
         case BOSS_FREYA:
             CheckKeepersState();
             break;
         case BOSS_VEZAX:
             if (state == DONE)
             {
               // Keeper's Images
             if (Creature* pFreya = instance->GetCreature(uiFreyaImage))
                  pFreya->SetVisibility(VISIBILITY_ON);
                 if (Creature* pThorim = instance->GetCreature(uiThorimImage))
                     pThorim->SetVisibility(VISIBILITY_ON);
                 if (Creature* pMimiron = instance->GetCreature(uiMimironImage))
                     pMimiron->SetVisibility(VISIBILITY_ON);
                 if (Creature* pHodir = instance->GetCreature(uiHodirImage))
                     pHodir->SetVisibility(VISIBILITY_ON);
             }
             break;
     }
     
     return true;
 }
コード例 #3
0
 bool SetBossState(uint32 id, EncounterState state)
 {
     if (!InstanceScript::SetBossState(id, state))
         return false;
     
     switch (id)
     {
         case BOSS_KOLOGARN:
             if (state == DONE)
                 HandleGameObject(uiKologarnBridge, false);
             break;
         case BOSS_HODIR:
             CheckKeepersState();
             break;
         case BOSS_THORIM:
             if (GameObject* pThorimLever = instance->GetGameObject(ThorimLeverGUID))
             {
                 if (state == IN_PROGRESS)
                     pThorimLever->RemoveFlag(GAMEOBJECT_FLAGS,GO_FLAG_UNK1);
             }
             CheckKeepersState();
             break;
         case BOSS_MIMIRON:
             CheckKeepersState();
             break;
         case BOSS_FREYA:
             CheckKeepersState();
             break;
         case BOSS_VEZAX:
             if (state == DONE)
             {
                 // Keeper's Images
                 if (Creature* pFreya = instance->GetCreature(uiFreyaImage))
                     pFreya->SetVisible(true);
                 if (Creature* pThorim = instance->GetCreature(uiThorimImage))
                     pThorim->SetVisible(true);
                 if (Creature* pMimiron = instance->GetCreature(uiMimironImage))
                     pMimiron->SetVisible(true);
                 if (Creature* pHodir = instance->GetCreature(uiHodirImage))
                     pHodir->SetVisible(true);
             }
             break;
     }
 
     return true;
 }