RonSwanson 2 Posted January 26, 2017 Share Posted January 26, 2017 Hey guys been trying to figure out this Multi Target rotation but I cant figure it out! I need help because my attempt failed but I will link it so other learn from my mistakes. THIS METHOD IS BROKEN :b I need a method that does such: Detect if there is more then 1 mob aggroed to me and or my pet which I believe ObjectManager.GetNumberAttackPlayer() > 1 does that. The method needs have the pet attack each target that is attacking me to try and get aggro. Then I just need to cycle through the aggroed units casting my warlock dots on each one until each target is dead then if all of my dots are on each target then focus the target with the least amount of health, rinse and repeat. I plan on calling this method from my CombatRotation method unless there is a better way. All are welcome to help, thanks! GUYS I SERIOUSLY NEED YOUR HELP (: @Droidz , @iMod private WoWUnit target; internal void MultiTargetRotation() { if (ObjectManager.GetNumberAttackPlayer() > 1) { var UnitToAttack = ObjectManager.GetUnitAttackPlayer().FirstOrDefault(); if (UnitToAttack != null) { target = UnitToAttack; Lua.LuaDoString("PetAttack();"); Logging.Write("PET ATTACKING"); } //IF ALL THE MOBS ARE ATTACKING THE PET FOCUS THE LOWER HP ONE else { double LowerHP = ObjectManager.GetUnitAttackPlayer().Min(unit => unit.HealthPercent); var LowerHPUnit = ObjectManager.GetUnitAttackPlayer().SingleOrDefault(unit => unit.HealthPercent == LowerHP); if (LowerHPUnit != null && LowerHPUnit.Guid != target.Guid) { Logging.Write("WHATS GOING ON"); target = LowerHPUnit; } { } } } } Link to comment https://wrobot.eu/forums/topic/4861-multitarget-rotation-c-trouble/ Share on other sites More sharing options...
Droidz 2738 Posted January 26, 2017 Share Posted January 26, 2017 No tested but use code like internal void MultiTargetRotation() { var unitsAffectingMyCombat = ObjectManager.GetUnitAttackPlayer(); if (unitsAffectingMyCombat.Count <= 0) return; var unitsAttackMe = unitsAffectingMyCombat.Where(u => u != null && u.IsValid && u.IsTargetingMe).ToList(); if (unitsAttackMe.Count > 1) { var unitToAttack = unitsAttackMe.FirstOrDefault(u => u != null && u.IsValid && !u.IsMyPetTarget); if (unitToAttack != null && unitToAttack.IsValid && unitToAttack.IsAlive) { if (!unitToAttack.IsMyTarget) Interact.InteractGameObject(unitToAttack.GetBaseAddress, !ObjectManager.Me.GetMove); if (unitToAttack.IsMyTarget) Lua.LuaDoString("PetAttack();"); Logging.Write("PET ATTACKING: " + unitToAttack); } } //IF ALL THE MOBS ARE ATTACKING THE PET FOCUS THE LOWER HP ONE else { var unitsAttackPet = unitsAffectingMyCombat.Where(u => u != null && u.IsValid && u.IsTargetingMyPet).ToList(); var lowerHpUnit = unitsAttackPet.OrderBy(unit => unit.HealthPercent).FirstOrDefault(); if (lowerHpUnit != null && lowerHpUnit.IsValid && lowerHpUnit.IsAlive && !lowerHpUnit.IsMyPetTarget) { if (!lowerHpUnit.IsMyTarget) Interact.InteractGameObject(lowerHpUnit.GetBaseAddress, !ObjectManager.Me.GetMove); if (lowerHpUnit.IsMyTarget) Lua.LuaDoString("PetAttack();"); Logging.Write("PET ATTACKING LOWER HP: " + lowerHpUnit); } } } loves2spooge and morris79 2 Link to comment https://wrobot.eu/forums/topic/4861-multitarget-rotation-c-trouble/#findComment-22484 Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now