void Update(uint32 diff)
            {
                if (BosesIsDone)
                {
                    if (uiUpdateTimer <= diff)
                    {
                        BosesIsDone = false;
                        SiamatFree();

                        if (Creature* siamat = instance->GetCreature(uiSiamatGUID))
                            DoScriptText(YELL_FREE, siamat);
                    }
                    else
                        uiUpdateTimer -= diff;
                    }
            }
            void Update(uint32 diff)
            {
                if (BarimIsDone)
                {
                    if (uiUpdateTimer <= diff)
                    {
                        BarimIsDone = false;
                        SiamatFree();

                        if (Creature* siamat = instance->GetCreature(uiSiamatGUID))
                            siamat->AI()->Talk(YELL_FREE);
                    }
                    else
                        uiUpdateTimer -= diff;
                    }
            }
            void SetData(uint32 type, uint32 data)
            {
                Encounter[type] = data;

                if (GetData(DATA_GENERAL_HUSAM)==DONE && GetData(DATA_LOCKMAW)==DONE && GetData(DATA_HIGH_PROPHET_BARIM)==DONE)
                    if (Encounter[DATA_SIAMAT] != DONE)
                        BosesIsDone = true;

                if (type == DATA_SIAMAT && data == DONE)
                {
                    SiamatFree();
                }

                if (data == DONE)
                    SaveToDB();
            }
            void SetData(uint32 type, uint32 data)
            {
                Encounter[type] = data;

                if (type == DATA_HIGH_PROPHET_BARIM && data == DONE)
                    if (Encounter[DATA_SIAMAT] != DONE)
                        BarimIsDone = true;

                if (type == DATA_SIAMAT && data == DONE)
                {
                    SiamatFree();
                }

                if (data == DONE)
                    SaveToDB();
            }