Advertisement
Guest User

Untitled

a guest
Mar 1st, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 8.07 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace _AnotherWotlk
  8. {
  9.     public class HunterLeveling : Routine
  10.     {
  11.         public override void ClassSpecific()
  12.         {
  13.             bool safeshot = false;
  14.  
  15.             if (gottarget &&
  16.                 (!havepet || target.IsPlayer || target.Name.Contains("Training Dummy") || me.IsInInstance))
  17.             {
  18.                 safeshot = true;
  19.             }
  20.  
  21.             if (gottarget
  22.                 && havepet
  23.                 && target.ThreatMeORPet
  24.                 && (target.ThreatPercent < 70))
  25.             {
  26.                 safeshot = true;
  27.             }          
  28.  
  29.             if (false) { }
  30.  
  31.             //else if (spellFailed != ""
  32.             //    && (me.Use(spellFailed) || SpellFailedTime.Millisec() > 5000))
  33.             //{
  34.             //    spellFailed = "";
  35.             //}
  36.  
  37.             else if ((!gottarget || !target.CanShoot("Auto Shot") || !safeshot)
  38.                 && me.IsAutoshootingH
  39.                 && StopAttack())
  40.             { }
  41.  
  42.             else if (gottarget
  43.                 && !me.IsMoving
  44.                 && target.CanShoot("Auto Shot")
  45.                 && !me.IsMoving
  46.                 && target.FaceRanged())
  47.             { }
  48.  
  49.             else if (havepet
  50.                 //  if i dont have target or have target and it threatens us then do PetAttack
  51.                 //  if i have target that dont threatens us then skip
  52.                 && !(gottarget && !target.ThreatMeORPet)
  53.                 && (me.PetAttack(enemyUnits.FindAll(e =>
  54.                     e.Target == me && (!me.IsInInstance
  55.                     || e.DistanceTo(pet) < 7
  56.                     || e.Distance < 25)).MinBy(d => d.Distance))
  57.                 || !me.IsInInstance && me.PetAttack(enemyUnits.FindAll(e => e.ThreatMe).MaxBy(t => t.ThreatPercent))))
  58.             { }
  59.  
  60.             else if (havepet
  61.                 && gottarget
  62.                 && target != pet.Target
  63.                 && !target.ThreatMeORPet
  64.                 && me.PetAttack(target))
  65.             { }
  66.  
  67.             else if (havepet
  68.                 && pet.Target == null
  69.                 && me.PetAttack(enemyUnits.FindAll(e => e.ThreatMeORPet && (!me.IsInInstance
  70.                     || e.DistanceTo(pet) < 7
  71.                     || e.Distance < 25)).MinBy(u => u.DistanceTo(pet))))
  72.             { }
  73.  
  74.             else if (target == null
  75.                 && havepet
  76.                 && pet.Target != null
  77.                 && pet.Target.CanAttack
  78.                 && pet.Target.Select())
  79.             { }
  80.  
  81.             else if (gottarget
  82.                 && target.CanShoot("Kill Shot")
  83.                 && (me.HasAura("Aspect of the Viper") || !me.AuraNameContains("Aspect"))
  84.                 && (me.Buff("Aspect of the Dragonhawk", "Aspect of the Hawk")))
  85.             { }
  86.  
  87.             else if (gottarget
  88.                 && target.ShootRanged("Kill Shot"))
  89.             { }
  90.  
  91.             else if (havepet
  92.                 && gottarget
  93.                 && pet.InMeleeTo(target)
  94.                 && pet.Use("Bestial Wrath"))
  95.             { }
  96.  
  97.             else if (safeshot
  98.                 && target.ShootRanged("Chimera Shot"))
  99.             { }
  100.  
  101.             else if (safeshot
  102.                 && target.ShootRanged("Aimed Shot"))
  103.             { }
  104.  
  105.             else if (havepet
  106.                 && gottarget
  107.                 && pet.InMeleeTo(target)
  108.                 && pet.Use("Kill Command"))         //TODO replace pet.inmeleeto with canshoot kill command
  109.             { }
  110.  
  111.             else if (havepet
  112.                 && pet.HealthPercent < 95
  113.                 && (!pet.HasAura("Mend Pet")
  114.                     || pet.GetAuraByName("Mend Pet").Remaining < 1.5)
  115.                 && me.IsCastingOrChannelling
  116.                 && pet.CanUse("Mend Pet"))
  117.             {
  118.                 StopCasting();                        
  119.             }
  120.  
  121.             else if (havepet
  122.                 && pet.HealthPercent < 95
  123.                 && (!pet.HasAura("Mend Pet")
  124.                     || pet.GetAuraByName("Mend Pet").Remaining < 1.5)
  125.                 && pet.Use("Mend Pet"))
  126.             { }
  127.  
  128.             else if ((me.HasAura("Aspect of the Viper") || !me.AuraNameContains("Aspect"))
  129.                 && me.PowerPercent >= 90
  130.                 && me.IsInCombat
  131.                 && (me.Buff("Aspect of the Dragonhawk", "Aspect of the Hawk")))
  132.             { }
  133.  
  134.             else if (me.PowerPercent <= 25
  135.                 && me.Buff("Aspect of the Viper"))
  136.             { }
  137.  
  138.             else if (EnemiesInXXXRange(5f).Count > 1
  139.             //&& !me.IsMoving
  140.             //&& me.ManaPercent > 40.0
  141.             && (me.Use("Explosive Trap")
  142.                 || !me.IsInInstance && me.Use("Snake Trap")))
  143.             { }
  144.  
  145.             else if (safeshot
  146.                 && target.CanShoot("Auto Shot")
  147.                 && me.Use("Rapid Fire"))
  148.             { }
  149.  
  150.             else if (me.Race == WoWRace.Troll
  151.                 && safeshot
  152.                 && target.CanShoot("Auto Shot")
  153.                 && me.Use("Berserking"))
  154.             { }
  155.  
  156.             else if (me.HasAura("Aspect of the Cheetah")
  157.                 && me.IsInCombat
  158.                 && (me.Buff("Aspect of the Dragonhawk", "Aspect of the Hawk")))
  159.             { }
  160.  
  161.             else if (gottarget
  162.                 && target.IsMoving
  163.                 && target.Target == me
  164.                 && !target.IsSlowed
  165.                 && !target.IsCCed
  166.                 && (target.ShootRanged("Concussive Shot", "Wing Clip")))
  167.             { }
  168.  
  169.             else if (safeshot
  170.                 && !me.IsMoving
  171.                 && EnemiesInXXXRange(40f).Count > 1
  172.                 && EnemiesInXXXRange(40f).FirstOrDefault().Shoot("Multi-Shot"))
  173.             { }
  174.  
  175.             else if (safeshot
  176.                 && target.DebuffRanged("Serpent Sting"))
  177.             { }
  178.  
  179.             else if (safeshot
  180.                 && target.CanShoot("Chimera Shot")
  181.                 && (me.HasAura("Aspect of the Viper") || !me.AuraNameContains("Aspect"))
  182.                 && (me.Buff("Aspect of the Dragonhawk") || me.Buff("Aspect of the Hawk")))
  183.             { }
  184.  
  185.             else if (DotUnits("Serpent Sting"))
  186.             { }
  187.  
  188.             else if (safeshot
  189.                 && target.ShootRanged("Arcane Shot"))
  190.             { }
  191.  
  192.             else if (safeshot
  193.                 && target.IsFacingRanged
  194.                 && !me.IsFalling
  195.                 && !me.IsAutoshootingH
  196.                 && target.InSpellRange("Auto Shot"))
  197.             //&& me.Use("Auto Shot"))
  198.             {
  199.                 Spell.CastSpellOnPlayer("auto shot");                
  200.             }
  201.  
  202.             else if (gottarget
  203.                 && me.Power >= 7
  204.                 && !target.HasAura("Hunter's Mark")
  205.                 && target.Shoot("Hunter's Mark"))
  206.             { }
  207.  
  208.             else if (gottarget
  209.                 && me.IsAutoshootingH
  210.                 && UseTrinket())
  211.             { }
  212.  
  213.             else if (safeshot
  214.                 && target.IsFacingRanged
  215.                 && !me.IsFalling
  216.                 && !me.IsMoving
  217.                 && !me.IsCastingOrChannelling
  218.                 && target.Shoot("Steady Shot"))
  219.             { }
  220.  
  221.             else if (gottarget
  222.                 && !me.IsAutoAttacking
  223.                 && target.Distance < 5f
  224.                 && target.Health > 0
  225.                 && target.ShootMelee("Auto Attack"))
  226.             {
  227.                 Log.Add("casting Auto Attack");
  228.             }
  229.  
  230.             else if (gottarget
  231.                 && target.Target == me
  232.                 && target.InMelee
  233.                 && !me.IsMoving
  234.                 && target.FaceMelee())
  235.             {
  236.                 Log.Add("facing melee");
  237.             }
  238.  
  239.             else if (gottarget
  240.                 && target.InMelee
  241.                 && !me.IsSpellPending
  242.                 && target.ShootMelee("Raptor Strike"))
  243.             {
  244.                 Log.Add("Raptor Strike");
  245.             }
  246.  
  247.             else if (Loot()) { }
  248.  
  249.             else if (me.Buff("Trueshot Aura")) { }
  250.         }
  251.     }
  252. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement