bool SetBossState(uint32 id, EncounterState state)
        {
            //if (!InstanceScript::SetBossState(id, state))
            //    return false;

            //if(m_auiEncounter[id] != state)
            //{
            UpdateNaxxMinionState(id,state);
            UpdateNaxxDoorState(id,state);
            //}

            if(m_auiEncounter[id] != DONE)
                m_auiEncounter[id] = state;

            if (id == BOSS_HEIGAN && state == NOT_STARTED)
                m_HeiganPlayerDeathCount = 0;

            if (id == BOSS_HORSEMEN && state == DONE)
            {
                if (GameObject *pHorsemenChest = instance->GetGameObject(HorsemenChestGUID))
                    pHorsemenChest->SetRespawnTime(pHorsemenChest->GetRespawnDelay());
            }
            if(state == DONE)
                SaveToDB();
            return true;
        }
        bool SetBossState(uint32 id, EncounterState state)
        {
            UpdateNaxxMinionState(id,state);
            UpdateNaxxDoorState(id,state);

            if(m_auiEncounter[id] != DONE)
                m_auiEncounter[id] = state;

            if (id == BOSS_HEIGAN && state == NOT_STARTED)
                m_HeiganPlayerDeathCount = 0;

            if (id == BOSS_SAPPHIRON && state == DONE)
            {
                if (GameObject* pWalls = instance->GetGameObject(SapphironWall))
                    pWalls->SetGoState(GO_STATE_ACTIVE);
            }

            if (id == BOSS_PATCHWERK && state == DONE)
            {
                if (GameObject* pDoors = instance->GetGameObject(GrobbulusDoor))
                    pDoors->SetGoState(GO_STATE_ACTIVE);
            }

            if (id == BOSS_GROBBULUS && state == DONE)
            {
                if (GameObject* pDoors = instance->GetGameObject(GluthDoor))
                    pDoors->SetGoState(GO_STATE_ACTIVE);
            }

            if (id == BOSS_GLUTH && state == DONE)
            {
                if (GameObject* pDoors = instance->GetGameObject(ThaddiusDoor))
                    pDoors->SetGoState(GO_STATE_ACTIVE);
            }

            if (id == BOSS_ANUBREKHAN && state != DONE || id == BOSS_ANUBREKHAN && state == DONE)
            {
                if (GameObject* pDoors = instance->GetGameObject(AnubrekhanDoor))
                    pDoors->SetGoState(GO_STATE_ACTIVE);
            }

            if (id == BOSS_ANUBREKHAN && state == DONE)
            {
                if (GameObject* pDoors = instance->GetGameObject(FaerlinaDoor))
                    pDoors->SetGoState(GO_STATE_ACTIVE);
            }

            if (id == BOSS_FAERLINA && state == DONE)
            {
                if (GameObject* pDoors = instance->GetGameObject(MaexxnaDoor))
                    pDoors->SetGoState(GO_STATE_ACTIVE);
            }

            if (id == BOSS_NOTH && state == DONE)
            {
                if (GameObject* pDoors = instance->GetGameObject(NothDoor_Out))
                    pDoors->SetGoState(GO_STATE_ACTIVE);
            }

            if (id == BOSS_NOTH && state == DONE)
            {
                if (GameObject* pDoors = instance->GetGameObject(HeiganDoor))
                    pDoors->SetGoState(GO_STATE_ACTIVE);
            }

            if (id == BOSS_RAZUVIOUS && state == DONE)
            {
                if (GameObject* pDoors = instance->GetGameObject(GothicDoor))
                    pDoors->SetGoState(GO_STATE_ACTIVE);
            }

            if (id == BOSS_GOTHIK && state == DONE)
            {
                if (GameObject* pDoors = instance->GetGameObject(HorsemenDoor))
                    pDoors->SetGoState(GO_STATE_ACTIVE);
            }

            if (id == BOSS_HORSEMEN && state == DONE)
            {
                if (GameObject* pHorsemenChest = instance->GetGameObject(HorsemenChestGUID))
                    pHorsemenChest->SetRespawnTime(pHorsemenChest->GetRespawnDelay());
            }

            if(state == DONE)
                SaveToDB();
            return true;
        }