All pastes #938689 Raw Edit

Anonym

public text v1 · immutable
·published 2008-03-11 20:24 UTC
rendered paste body
        public void DeadCheckPulse()
        {
            Thread.Sleep(5000);
            fl.Lock();
            IsDead = isxwow.Me.Dead || isxwow.Me.IsGhost || isxwow.Me.Buff("Ressurection Sickness").IsValid; // we are dead, a ghost or have res sickness
            if (IsDead)
                LavishScript.Events.ExecuteEvent("GUI_BUTTON_HANDLE", "Resume");
            else
            {
                fl.Unlock();
                return;
            }

            int locks = fl.Locks;
            ta.Suspend();
            for (int i = 1; i < fl.Locks; i++) // remove all framelocks - 1
                fl.Unlock();

            while (!isxwow.Me.IsGhost) // spirit not released yet
            {
                fl.Unlock();
                Thread.Sleep(500);
                fl.Lock();
            }
            if (isxwow.Me.IsGhost) // spirit released, lets walk to the spirit healer
            {
                LavishScript.Events.ExecuteEvent("GUI_BUTTON_HANDLE", "Resume");
            }
            while (isxwow.Me.IsGhost) // not revived yet
            {
                fl.Unlock();
                Thread.Sleep(500);
                fl.Lock();
            }
            fl.Unlock();

            Mount();
            FlyTo(vendor); // we are there
            ApproachObject(new WoWObject("-units", "-repair", "-nearest")); // fly down to vendor and dismount
            LavishScript.Events.ExecuteEvent("GUI_BUTTON_HANDLE", "Resume"); // repair, sell and stuff

            fl.Lock();
            while (isxwow.Me.Buff("Resurrection Sickness").IsValid) // wait for rezz sickness to wear off
            {
                fl.Unlock();
                Thread.Sleep(500);
                fl.Lock();
            }
            fl.Unlock();

            while (fl.Locks < locks) // re-set lock count
                fl.Lock();

            ta.Resume();
        }