protected override void OnBeforeAction(ActionBase action) { if (Leader == null || !Leader.IsValid) Leader = WoWParty.Members.FirstOrDefault() ?? WoWPlayer.Invalid; if (action is CatSpellAction && Manager.LocalPlayer.Shapeshift != ShapeshiftForm.Cat) { WoWSpell.GetSpell("Cat Form").Cast(); Sleep(Globals.SpellWait); } if (action is BearSpellAction && Manager.LocalPlayer.Shapeshift != ShapeshiftForm.Bear) { WoWSpell.GetSpell("Bear Form").Cast(); Sleep(Globals.SpellWait); } var cd = WoWSpell.GetSpell("Tiger's Fury"); if (action is CatSpellAction && cd.IsValid && cd.IsReady) { Log.WriteLine("Popping {0}", cd.Name); cd.Cast(); Sleep(Globals.SpellWait); } }
public override void OnStart() { Leader = WoWParty.Members.FirstOrDefault() ?? WoWPlayer.Invalid; if (Leader.IsValid) { Print("Leader set to {0}", Leader.Name); } }
protected override void OnBeforeAction(ActionBase action) { PartyTank = WoWParty.Members.OrderByDescending(m => m.MaxHealth).First() ?? WoWPlayer.Invalid; var ns = WoWSpell.GetSpell("Nature's Swiftness"); if (action is HealingTouch) { if (HelpfulTarget.IsValid && HelpfulTarget.Distance < Globals.MaxDistance && HelpfulTarget.HealthPercentage < 20 && ns.IsValid && ns.IsReady) { Log.WriteLine("Casting {0} for instant Healing Touch", ns.Name); ns.Cast(HelpfulTarget); Sleep(200); } } }
public override bool Start() { if (!Manager.IsInGame) return false; if (Combat.Brain == null) return false; Leader = WoWParty.Members.FirstOrDefault() ?? WoWPlayer.Invalid; if (!Leader.IsValid) return false; FSM.Start(); return true; }
public override void Stop() { FSM.Stop(); Leader = WoWPlayer.Invalid; FollowingLeader = false; }
public override void OnTerminate() { Leader = WoWPlayer.Invalid; }