private void BuffManager() { if (TargetSelectEvent.Run()) { List <WowUnit> CastBuff = new List <WowUnit>(WowInterface.ObjectManager.Partymembers) { WowInterface.ObjectManager.Player }; CastBuff = CastBuff.Where(e => (!e.HasBuffByName("Prayer of Fortitude") || !e.HasBuffByName("Prayer of Shadow Protection")) && !e.IsDead).OrderBy(e => e.HealthPercentage).ToList(); if (CastBuff != null) { if (CastBuff.Count > 0) { if (WowInterface.ObjectManager.TargetGuid != CastBuff.FirstOrDefault().Guid) { WowInterface.HookManager.WowTargetGuid(CastBuff.FirstOrDefault().Guid); } } if (WowInterface.ObjectManager.TargetGuid != 0 && WowInterface.ObjectManager.Target != null) { if (!TargetInLineOfSight) { return; } if (!WowInterface.ObjectManager.Target.HasBuffByName("Prayer of Fortitude") && CustomCastSpell(PrayerofFortitude)) { return; } if (!WowInterface.ObjectManager.Target.HasBuffByName("Prayer of Shadow Protection") && CustomCastSpell(PrayerofShadowProtection)) { return; } } } } //if ((!WowInterface.ObjectManager.Player.HasBuffByName("Power Word: Fortitude") || !WowInterface.ObjectManager.Target.HasBuffByName("Power Word: Fortitude")) && CustomCastSpell(PowerWordFortitudeSpell)) //{ // return; //} if (!WowInterface.ObjectManager.Player.HasBuffByName("Divine Spirit") && CustomCastSpell(DivineSpiritSpell, true)) { return; } if (!WowInterface.ObjectManager.Player.HasBuffByName("Inner Fire") && CustomCastSpell(InnerFireSpell, true)) { return; } if (!WowInterface.ObjectManager.Player.HasBuffByName("Fear Ward") && CustomCastSpell(FearWardSpell, true)) { return; } //if (!WowInterface.ObjectManager.Player.HasBuffByName("Shadow Protection") && CustomCastSpell(ShadowProtectionSpell)) //{ // return; //} }
private void BuffManager() { if (TargetSelectEvent.Run()) { List <WowUnit> CastBuff = new List <WowUnit>(WowInterface.ObjectManager.Partymembers) { WowInterface.ObjectManager.Player }; CastBuff = CastBuff.Where(e => !e.HasBuffByName("Blessing of Kings") && !e.IsDead).OrderBy(e => e.HealthPercentage).ToList(); if (CastBuff != null) { if (CastBuff.Count > 0) { if (WowInterface.ObjectManager.TargetGuid != CastBuff.FirstOrDefault().Guid) { WowInterface.HookManager.WowTargetGuid(CastBuff.FirstOrDefault().Guid); } } if (WowInterface.ObjectManager.TargetGuid != 0 && WowInterface.ObjectManager.Target != null) { if (!TargetInLineOfSight) { return; } if (!WowInterface.ObjectManager.Target.HasBuffByName("Blessing of Kings") && CustomCastSpell(blessingofKingsSpell)) { return; } } } } if (!WowInterface.ObjectManager.Player.HasBuffByName("Seal of Wisdom") && CustomCastSpell(sealofWisdomSpell)) { return; } if (!WowInterface.ObjectManager.Player.HasBuffByName("Devotion Aura") && CustomCastSpell(devotionAuraSpell)) { return; } if (!WowInterface.ObjectManager.Player.HasBuffByName("Righteous Fury") && CustomCastSpell(righteousFurySpell)) { return; } }
public void TargetselectionTank() { if (TargetSelectEvent.Run()) { WowUnit nearTargetToTank = WowInterface.ObjectManager.GetEnemiesTargetingPartymembers <WowUnit>(WowInterface.Player.Position, 60) .Where(e => e.IsInCombat && !e.IsNotAttackable && e.Type != WowObjectType.Player && e.Name != "The Lich King" && e.Name != "Anub'Rekhan" && !(WowInterface.ObjectManager.MapId == WowMapId.DrakTharonKeep && e.CurrentlyChannelingSpellId == 47346)) .OrderBy(e => e.Position.GetDistance(WowInterface.Player.Position)) .FirstOrDefault(); if (nearTargetToTank != null) { WowInterface.HookManager.WowTargetGuid(nearTargetToTank.Guid); if (!TargetInLineOfSight) { return; } else { AttackTarget(); } } else { WowUnit nearTarget = WowInterface.ObjectManager.GetNearEnemies <WowUnit>(WowInterface.Player.Position, 80) .Where(e => e.IsInCombat && !e.IsNotAttackable && e.Type == WowObjectType.Player) .OrderBy(e => e.Position.GetDistance(WowInterface.Player.Position)) .FirstOrDefault();//&& e.Type(Player) if (nearTarget != null) { WowInterface.HookManager.WowTargetGuid(nearTarget.Guid); if (!TargetInLineOfSight) { return; } } else { AttackTarget(); } } } }
private void Targetselection() { if (TargetSelectEvent.Run()) { WowUnit nearTarget = WowInterface.ObjectManager.GetNearEnemies <WowUnit>(WowInterface.ObjectManager.Player.Position, 40) .Where(e => e.IsInCombat && !e.IsNotAttackable && e.Name != "The Lich King" && !(WowInterface.ObjectManager.MapId == MapId.DrakTharonKeep && e.CurrentlyChannelingSpellId == 47346)) .OrderBy(e => e.Position.GetDistance(WowInterface.ObjectManager.Player.Position)) .FirstOrDefault(); if (nearTarget != null) { WowInterface.HookManager.TargetGuid(nearTarget.Guid); if (!TargetInLineOfSight) { return; } } } }
public void Targetselection() { if (TargetSelectEvent.Run()) { WowUnit nearTarget = WowInterface.ObjectManager.GetNearEnemies <WowUnit>(WowInterface.Player.Position, 50) .Where(e => !e.IsNotAttackable && (e.Type == WowObjectType.Player && (e.IsPvpFlagged && !e.IsFriendyTo(WowInterface, WowInterface.Player)) || (e.IsInCombat)) || (e.IsInCombat && e.Name != "The Lich King" && !(WowInterface.ObjectManager.MapId == WowMapId.DrakTharonKeep && e.CurrentlyChannelingSpellId == 47346))) .OrderBy(e => e.Position.GetDistance(WowInterface.Player.Position)) .FirstOrDefault();//&& e.Type(Player) if (nearTarget != null) { WowInterface.HookManager.WowTargetGuid(nearTarget.Guid); if (!TargetInLineOfSight) { return; } } else { AttackTarget(); } } }
private void Targetselection() { if (TargetSelectEvent.Run()) { if (!OffTank) { WowUnit nearTargetToTank = WowInterface.ObjectManager.GetEnemiesTargetingPartymembers <WowUnit>(WowInterface.ObjectManager.Player.Position, 60) .Where(e => e.IsInCombat && !e.IsNotAttackable && e.Type != WowObjectType.Player && e.Name != "The Lich King" && e.Name != "Anub'Rekhan" && !(WowInterface.ObjectManager.MapId == MapId.DrakTharonKeep && e.CurrentlyChannelingSpellId == 47346)) .OrderBy(e => e.Position.GetDistance(WowInterface.ObjectManager.Player.Position)) .FirstOrDefault(); if (nearTargetToTank != null) { WowInterface.HookManager.WowTargetGuid(nearTargetToTank.Guid); if (!TargetInLineOfSight) { return; } } else { WowUnit nearTarget = WowInterface.ObjectManager.GetNearEnemies <WowUnit>(WowInterface.ObjectManager.Player.Position, 80) .Where(e => e.IsInCombat && !e.IsNotAttackable && e.Type == WowObjectType.Player) .OrderBy(e => e.Position.GetDistance(WowInterface.ObjectManager.Player.Position)) .FirstOrDefault();//&& e.Type(Player) if (nearTarget != null) { WowInterface.HookManager.WowTargetGuid(nearTarget.Guid); if (!TargetInLineOfSight) { return; } } } } else { WowUnit nearTargetToTank = WowInterface.ObjectManager.GetEnemiesTargetingPartymembers <WowUnit>(WowInterface.ObjectManager.Player.Position, 80) .Where(e => e.IsInCombat && !e.IsNotAttackable && e.Type != WowObjectType.Player && e.Name != "Anub'Rekhan") .OrderBy(e => e.Position.GetDistance(WowInterface.ObjectManager.Player.Position)) .FirstOrDefault(); if (nearTargetToTank != null) { WowInterface.HookManager.WowTargetGuid(nearTargetToTank.Guid); if (!TargetInLineOfSight) { return; } if (WowInterface.ObjectManager.Target.Name != "Anub'Rekhan" && WowInterface.ObjectManager.Target.TargetGuid == WowInterface.ObjectManager.PlayerGuid) { //HandlesMovement = false; WowInterface.MovementEngine.SetMovementAction(Movement.Enums.MovementAction.Moving, new Vector3(3272, -3476, 287)); } } else { WowUnit nearTargetToTankOffTank = WowInterface.ObjectManager.GetEnemiesTargetingPartymembers <WowUnit>(WowInterface.ObjectManager.Player.Position, 80) .Where(e => e.IsInCombat && !e.IsNotAttackable && e.Type != WowObjectType.Player && e.Name == "Anub'Rekhan") .OrderBy(e => e.Position.GetDistance(WowInterface.ObjectManager.Player.Position)) .FirstOrDefault(); if (nearTargetToTank != null) { WowInterface.HookManager.WowTargetGuid(nearTargetToTank.Guid); if (!TargetInLineOfSight) { return; } } } } } }
private void StartHeal() { List <WowUnit> partyMemberToHeal = new List <WowUnit>(WowInterface.ObjectManager.Partymembers); //healableUnits.AddRange(WowInterface.ObjectManager.PartyPets); partyMemberToHeal.Add(WowInterface.ObjectManager.Player); partyMemberToHeal = partyMemberToHeal.Where(e => e.HealthPercentage <= 94 && !e.IsDead).OrderBy(e => e.HealthPercentage).ToList(); if (partyMemberToHeal.Count > 0) { if (WowInterface.ObjectManager.TargetGuid != partyMemberToHeal.FirstOrDefault().Guid) { WowInterface.HookManager.WowTargetGuid(partyMemberToHeal.FirstOrDefault().Guid); } if (WowInterface.ObjectManager.TargetGuid != 0 && WowInterface.ObjectManager.Target != null) { targetIsInRange = WowInterface.ObjectManager.Player.Position.GetDistance(WowInterface.ObjectManager.GetWowObjectByGuid <WowUnit>(partyMemberToHeal.FirstOrDefault().Guid).Position) <= 30; if (targetIsInRange) { if (!TargetInLineOfSight) { return; } if (WowInterface.MovementEngine.MovementAction != Movement.Enums.MovementAction.None) { WowInterface.HookManager.WowStopClickToMove(); WowInterface.MovementEngine.Reset(); } if (WowInterface.ObjectManager.Target != null && WowInterface.ObjectManager.Target.HealthPercentage >= 90) { WowInterface.HookManager.LuaDoString("SpellStopCasting()"); return; } if (UseSpellOnlyInCombat && (WowInterface.ObjectManager.Player.IsConfused || WowInterface.ObjectManager.Player.IsSilenced || WowInterface.ObjectManager.Player.IsDazed) && CustomCastSpell(EveryManforHimselfSpell)) { return; } if (UseSpellOnlyInCombat && WowInterface.ObjectManager.Player.ManaPercentage <= 20 && CustomCastSpell(HymnofHopeSpell)) { return; } if (partyMemberToHeal.Count >= 5 && WowInterface.ObjectManager.Target.HealthPercentage < 50 && CustomCastSpell(DivineHymnSpell)) { return; } if (UseSpellOnlyInCombat && WowInterface.ObjectManager.Player.HealthPercentage < 50 && CustomCastSpell(FadeSpell)) { return; } if (UseSpellOnlyInCombat && WowInterface.ObjectManager.Target.HealthPercentage < 30 && CustomCastSpell(GuardianSpiritSpell)) { return; } if (UseSpellOnlyInCombat && WowInterface.ObjectManager.Target.HealthPercentage < 30 && CustomCastSpell(DesperatePrayerSpell)) { return; } if (WowInterface.ObjectManager.Target.HealthPercentage < 55 && CustomCastSpell(GreaterHealSpell)) { return; } if (WowInterface.ObjectManager.Target.HealthPercentage < 80 && CustomCastSpell(FlashHealSpell)) { return; } if (partyMemberToHeal.Count >= 3 && WowInterface.ObjectManager.Target.HealthPercentage < 80 && CustomCastSpell(CircleOfHealingSpell)) { return; } if (UseSpellOnlyInCombat && partyMemberToHeal.Count >= 2 && WowInterface.ObjectManager.Target.HealthPercentage < 80 && CustomCastSpell(PrayerofMendingSpell)) { return; } if (UseSpellOnlyInCombat && partyMemberToHeal.Count >= 3 && WowInterface.ObjectManager.Target.HealthPercentage < 80 && CustomCastSpell(PrayerofHealingSpell)) { return; } if (!WowInterface.ObjectManager.Target.HasBuffByName("Renew") && WowInterface.ObjectManager.Target.HealthPercentage < 90 && CustomCastSpell(RenewSpell)) { return; } if (UseSpellOnlyInCombat && !WowInterface.ObjectManager.Target.HasBuffByName("Weakened Soul") && !WowInterface.ObjectManager.Target.HasBuffByName("Power Word: Shield") && WowInterface.ObjectManager.Target.HealthPercentage < 90 && CustomCastSpell(PowerWordShieldSpell)) { return; } } } } else { if (TargetSelectEvent.Run()) { WowUnit nearTarget = WowInterface.ObjectManager.GetNearEnemies <WowUnit>(WowInterface.ObjectManager.Player.Position, 30) .Where(e => e.IsInCombat && !e.IsNotAttackable && e.Name != "The Lich King" && !(WowInterface.ObjectManager.MapId == MapId.DrakTharonKeep && e.CurrentlyChannelingSpellId == 47346))//&& e.IsCasting .OrderBy(e => e.Position.GetDistance(WowInterface.ObjectManager.Player.Position)) .FirstOrDefault(); if (WowInterface.ObjectManager.TargetGuid != 0 && WowInterface.ObjectManager.Target != null && nearTarget != null) { WowInterface.HookManager.WowTargetGuid(nearTarget.Guid); if (!TargetInLineOfSight) { return; } if (WowInterface.MovementEngine.MovementAction != Movement.Enums.MovementAction.None) { WowInterface.HookManager.WowStopClickToMove(); WowInterface.MovementEngine.Reset(); } if (UseSpellOnlyInCombat && WowInterface.ObjectManager.Player.ManaPercentage >= 80 && CustomCastSpell(HolyFireSpell)) { return; } if (UseSpellOnlyInCombat && WowInterface.ObjectManager.Player.ManaPercentage >= 80 && CustomCastSpell(SmiteSpell)) { return; } } } //target gui id is bigger than null //{ //WowInterface.HookManager.ClearTarget(); //return; //} //Attacken } }
private void StartHeal() { // List<WowUnit> partyMemberToHeal = WowInterface.ObjectManager.Partymembers.Where(e => e.HealthPercentage <= 94 && !e.IsDead).OrderBy(e => e.HealthPercentage).ToList();//FirstOrDefault => tolist List <WowUnit> partyMemberToHeal = new List <WowUnit>(WowInterface.ObjectManager.Partymembers) { //healableUnits.AddRange(WowInterface.ObjectManager.PartyPets); WowInterface.ObjectManager.Player }; partyMemberToHeal = partyMemberToHeal.Where(e => e.HealthPercentage <= 94 && !e.IsDead).OrderBy(e => e.HealthPercentage).ToList(); if (partyMemberToHeal.Count > 0) { if (WowInterface.ObjectManager.TargetGuid != partyMemberToHeal.FirstOrDefault().Guid) { WowInterface.HookManager.WowTargetGuid(partyMemberToHeal.FirstOrDefault().Guid); } if (WowInterface.ObjectManager.TargetGuid != 0 && WowInterface.ObjectManager.Target != null) { targetIsInRange = WowInterface.ObjectManager.Player.Position.GetDistance(WowInterface.ObjectManager.GetWowObjectByGuid <WowUnit>(partyMemberToHeal.FirstOrDefault().Guid).Position) <= 30; if (targetIsInRange) { if (!TargetInLineOfSight) { return; } if (WowInterface.MovementEngine.MovementAction != Movement.Enums.MovementAction.None) { WowInterface.HookManager.WowStopClickToMove(); WowInterface.MovementEngine.Reset(); } if (WowInterface.ObjectManager.Target != null && WowInterface.ObjectManager.Target.HealthPercentage >= 90) { WowInterface.HookManager.LuaDoString("SpellStopCasting()"); return; } //if (UseSpellOnlyInCombat) //{ // WowInterface.HookManager.UseItemByName("Talisman of Resuregence"); // return; //} if (UseSpellOnlyInCombat && WowInterface.ObjectManager.Player.HealthPercentage < 20 && CustomCastSpell(heroismSpell)) { return; } if (UseSpellOnlyInCombat && WowInterface.ObjectManager.Target.HealthPercentage < 20 && CustomCastSpell(naturesswiftSpell) && CustomCastSpell(healingWaveSpell)) { return; } if (UseSpellOnlyInCombat && WowInterface.ObjectManager.Target.HealthPercentage < 40 && CustomCastSpell(tidalForceSpell)) { return; } //if (partyMemberToHeal.Count >= 3 && WowInterface.ObjectManager.Target.HealthPercentage < 40 && CustomCastSpell(Bloodlust)) //{ // return; //} //Race Draenei if (WowInterface.ObjectManager.Player.Race == WowRace.Draenei && WowInterface.ObjectManager.Target.HealthPercentage < 50 && CustomCastSpell(giftOfTheNaaruSpell)) { return; } if (WowInterface.ObjectManager.Target.HealthPercentage <= 50 && CustomCastSpell(healingWaveSpell)) { return; } if (WowInterface.ObjectManager.Target.HealthPercentage <= 75 && CustomCastSpell(lesserHealingWaveSpell)) { return; } if (partyMemberToHeal.Count >= 4 && WowInterface.ObjectManager.Target.HealthPercentage >= 80 && CustomCastSpell(chainHealSpell)) { return; } if (UseSpellOnlyInCombat && earthShieldEvent.Run() && !WowInterface.ObjectManager.Target.HasBuffByName("Earth Shield") && !WowInterface.ObjectManager.Target.HasBuffByName("Water Shield") && WowInterface.ObjectManager.Target.HealthPercentage < 90 && CustomCastSpell(earthShieldSpell)) { return; } if (!WowInterface.ObjectManager.Target.HasBuffByName("Riptide") && WowInterface.ObjectManager.Target.HealthPercentage < 90 && CustomCastSpell(riptideSpell)) { return; } } totemItemCheck(); if (totemcastEvent.Run() && hasTotemItems) { if (WowInterface.ObjectManager.Player.ManaPercentage <= 10 && CustomCastSpell(ManaTideTotemSpell)) { return; } } } } else { totemItemCheck(); if (totemcastEvent.Run() && hasTotemItems) { if (WowInterface.ObjectManager.Player.ManaPercentage >= 50 && !WowInterface.ObjectManager.Player.HasBuffByName("Windfury Totem") && !WowInterface.ObjectManager.Player.HasBuffByName("Stoneskin") && !WowInterface.ObjectManager.Player.HasBuffByName("Flametongue Totem") && CustomCastSpell(CalloftheElementsSpell)) { return; } } if (TargetSelectEvent.Run()) { WowUnit nearTarget = WowInterface.ObjectManager.GetNearEnemies <WowUnit>(WowInterface.ObjectManager.Player.Position, 30) .Where(e => e.IsInCombat && !e.IsNotAttackable && e.Name != "The Lich King" && !(WowInterface.ObjectManager.MapId == MapId.DrakTharonKeep && e.CurrentlyChannelingSpellId == 47346))//&& e.IsCasting .OrderBy(e => e.Position.GetDistance(WowInterface.ObjectManager.Player.Position)) .FirstOrDefault(); //if (nearTarget != null ) if (WowInterface.ObjectManager.TargetGuid != 0 && WowInterface.ObjectManager.Target != null && nearTarget != null) { WowInterface.HookManager.WowTargetGuid(nearTarget.Guid); if (!TargetInLineOfSight) { return; } if (WowInterface.MovementEngine.MovementAction != Movement.Enums.MovementAction.None) { WowInterface.HookManager.WowStopClickToMove(); WowInterface.MovementEngine.Reset(); } if (UseSpellOnlyInCombat && WowInterface.ObjectManager.Target.IsCasting && CustomCastSpell(windShearSpell)) { return; } if (UseSpellOnlyInCombat && WowInterface.ObjectManager.Player.ManaPercentage >= 80 && CustomCastSpell(flameShockSpell)) { return; } //if (UseSpellOnlyInCombat && WowInterface.ObjectManager.Player.ManaPercentage >= 90 && CustomCastSpell(earthShockSpell)) //{ // return; //} } } //target gui id is bigger than null //{ //WowInterface.HookManager.ClearTarget(); //return; //} //Attacken } }