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();
}