Example #1
0
 void SetData(uint32 type, uint32 data)
 {
     switch (type)
     {
         case TYPE_COLOSSUS:
             ColossusData = data;
             if (data == 2)
             {
                 if (Creature* pBoss = instance->GetCreature(uiLeviathanGUID))
                     pBoss->AI()->DoAction(10);
                 if (GameObject* pGate = instance->GetGameObject(uiLeviathanGateGUID))
                     pGate->SetGoState(GO_STATE_ACTIVE_ALTERNATIVE);
                 SaveToDB();
             }
             break;
         case DATA_CALL_TRAM:
             if (GameObject* go = instance->GetGameObject(uiMimironTrainGUID))
                 go->UseDoorOrButton();
             break;
         case DATA_MIMIRON_ELEVATOR:
             if (GameObject* go = instance->GetGameObject(uiMimironElevatorGUID))
                 go->SetGoState(GOState(data));
             break;
         case DATA_RUNIC_DOOR:
             if (GameObject* go = instance->GetGameObject(uiRunicDoorGUID))
                 go->SetGoState(GOState(data));
             break;
         case DATA_STONE_DOOR:
             if (GameObject* go = instance->GetGameObject(uiStoneDoorGUID))
                 go->SetGoState(GOState(data));
             break;
         case DATA_ADD_HELP_FLAG:
             uiSupportKeeperFlag |= UlduarKeeperSupport(data);
             break;
         case DATA_HODIR_RARE_CHEST:
             HodirRareCacheData = data;
             break;
         default:
             break;
     }
 }
Example #2
0
            void SetData(uint32 type, uint32 data)
            {
                switch (type)
                {
                    case DATA_COLOSSUS:
                        ColossusData = data;
                        if (data == 2)
                        {
                            if (Creature* Leviathan = instance->GetCreature(LeviathanGUID))
                                Leviathan->AI()->DoAction(ACTION_MOVE_TO_CENTER_POSITION);
                            if (GameObject* gameObject = instance->GetGameObject(LeviathanGateGUID))
                                gameObject->SetGoState(GO_STATE_ACTIVE_ALTERNATIVE);
                            SaveToDB();
                        }
                        break;
                    case DATA_CALL_TRAM:
                        if (GameObject* go = instance->GetGameObject(MimironTrainGUID))
                            go->UseDoorOrButton();
                        break;
                    case DATA_MIMIRON_ELEVATOR:
                        if (GameObject* go = instance->GetGameObject(MimironElevatorGUID))
                            go->SetGoState(GOState(data));
                        break;
                    case DATA_RUNIC_DOOR:
                        if (GameObject* go = instance->GetGameObject(RunicDoorGUID))
                            go->SetGoState(GOState(data));
                        break;
                    case DATA_STONE_DOOR:
                        if (GameObject* go = instance->GetGameObject(StoneDoorGUID))
                            go->SetGoState(GOState(data));
                        break;
                    case DATA_HODIR_RARE_CACHE:
                        HodirRareCacheData = data;
                        if (!HodirRareCacheData)
                        {
                            if (Creature* Hodir = instance->GetCreature(HodirGUID))
                                if (GameObject* gameObject = instance->GetGameObject(HodirRareCacheGUID))
                                    Hodir->RemoveGameObject(gameObject, false);
                        }
                        break;
                    case DATA_UNBROKEN:
                        Unbroken = bool(data);
                        break;
                    case DATA_ADD_HELP_FLAG:
                        SupportKeeperFlag |= UlduarKeeperSupport(data);
                        break;
                    case DATA_ALGALON_INTRO:
                        AlgalonIntroDone = data;
                        SaveToDB();
                        break;
                    case DATA_ALGALON_TIMER:
                        {
                            if (SignalTimerState == data)
                                break;
                            switch (data)
                            {
                                case IN_PROGRESS:
                                    SignalTimer = 60000;
                                    SignalTimerMinutes = 60;
                                    DoUpdateWorldState(WORLDSTATE_SHOW_TIMER, 1);
                                    DoUpdateWorldState(WORLDSTATE_ALGALON_TIMER , SignalTimerMinutes);
                                    break;
                                case DONE:
                                    SignalTimer = 0;
                                    SignalTimerMinutes = 0;
                                    DoUpdateWorldState(WORLDSTATE_SHOW_TIMER, 0);
                                    break;
                                default:
                                    break;
                            }

                            SignalTimerState = data;
                            SaveToDB();
                        break;
                        }
                    default:
                        break;
                }
            }
Example #3
0
        void SetData(uint32 type, uint32 data)
        {
            switch (type)
            {
            case TYPE_COLOSSUS:
                ColossusData = data;
                if (data == 2)
                {
                    if (Creature* pBoss = instance->GetCreature(uiLeviathanGUID))
                        pBoss->AI()->DoAction(10);
                    if (GameObject* pGate = instance->GetGameObject(uiLeviathanGateGUID))
                        pGate->SetGoState(GO_STATE_ACTIVE_ALTERNATIVE);
                    SaveToDB();
                }
                break;
            case DATA_CALL_TRAM:
                if (GameObject* go = instance->GetGameObject(uiMimironTrainGUID))
                    go->UseDoorOrButton();
                break;
            case DATA_MIMIRON_ELEVATOR:
                if (GameObject* go = instance->GetGameObject(uiMimironElevatorGUID))
                    go->SetGoState(GOState(data));
                break;
            case DATA_RUNIC_DOOR:
                if (GameObject* go = instance->GetGameObject(uiRunicDoorGUID))
                    go->SetGoState(GOState(data));
                break;
            case DATA_STONE_DOOR:
                if (GameObject* go = instance->GetGameObject(uiStoneDoorGUID))
                    go->SetGoState(GOState(data));
                break;
            case DATA_ADD_HELP_FLAG:
                uiSupportKeeperFlag |= UlduarKeeperSupport(data);
                break;
            case DATA_HODIR_RARE_CHEST:
                HodirRareCacheData = data;
                break;
            case DATA_ALGALON_INTRO:
                AlgalonIntroDone = data;
                SaveToDB();
                break;
            case DATA_ALGALON_TIMER:
            {
                if (SignalTimerState == data)
                    break;
                switch (data)
                {
                case IN_PROGRESS:
                    SignalTimer = 60000;
                    SignalTimerMinutes = 60;
                    DoUpdateWorldState(WORLDSTATE_SHOW_TIMER, 1);
                    DoUpdateWorldState(WORLDSTATE_ALGALON_TIMER , SignalTimerMinutes);
                    break;
                case DONE:
                    SignalTimer = 0;
                    SignalTimerMinutes = 0;
                    DoUpdateWorldState(WORLDSTATE_SHOW_TIMER, 0);
                    break;
                default:
                    break;
                }

                SignalTimerState = data;
                SaveToDB();
                break;
            }
            default:
                break;
            }
        }