Advertisement
SnackS

InnovativeOrdnance

Jun 29th, 2015
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.75 KB | None | 0 0
  1. using Buddy.BehaviorTree;
  2. using DefaultCombat.Core;
  3. using DefaultCombat.Helpers;
  4.  
  5. namespace DefaultCombat.Routines
  6. {
  7.     public class InnovativeOrdnance : RotationBase
  8.     {
  9.         public override string Name { get { return "Mercenary Innovative Ordnance"; } }
  10.  
  11.         public override Composite Buffs
  12.         {
  13.             get
  14.             {
  15.                 return new PrioritySelector(
  16.                     Spell.Buff("Combustible Gas Cylinder"),
  17.                     Spell.Buff("Hunter's Boon")
  18.                     );
  19.             }
  20.         }
  21.  
  22.         public override Composite Cooldowns
  23.         {
  24.             get
  25.             {
  26.                 return new LockSelector(
  27.                     Spell.Buff("Determination", ret => Me.IsStunned),
  28.                     Spell.Buff("Vent Heat", ret => Me.ResourcePercent() >= 70),
  29.                     Spell.Buff("Supercharged Gas", ret => Me.BuffCount("Supercharge") == 10),
  30.                     Spell.Buff("Energy Shield", ret => Me.HealthPercent <= 40),
  31.                     Spell.Buff("Kolto Overload", ret => Me.HealthPercent <= 30)
  32.                     );
  33.             }
  34.         }
  35.  
  36.         public override Composite SingleTarget
  37.         {
  38.             get
  39.             {
  40.                 return new LockSelector(
  41.  
  42.                     //Movement
  43.                     CombatMovement.CloseDistance(Distance.Ranged),
  44.  
  45.                     new Decorator(ret => Me.ResourcePercent() > 75,
  46.                         new LockSelector(
  47.                             Spell.Cast("Mag Shot", ret => Me.HasBuff("Innovative Particle Accelerator")),
  48.                             Spell.Cast("Rapid Shots")
  49.                     )),
  50.  
  51.                     //Rotation
  52.                     Spell.DoT("Serrated Shot", "", 15000),
  53.                     Spell.DoT("Incendiary Missile", "", 15000),
  54.                     Spell.Cast("Mag Shot"),
  55.                     Spell.Cast("Unload"),
  56.                     Spell.Cast("Supercharged Gas"),
  57.                     Spell.Cast("Electro Net"),
  58.                     Spell.Cast("Thermal Detonator"),
  59.                     Spell.Cast("Mag Shot"),
  60.                     Spell.Cast("Power Shot", ret => Me.HasBuff("Speed to Burn")),
  61.                     Spell.Cast("Mag Shot"),
  62.                     Spell.Cast("Power Shot"),
  63.                     Spell.Cast("Power Shot")
  64.                     );
  65.             }
  66.         }
  67.  
  68.         public override Composite AreaOfEffect
  69.         {
  70.             get
  71.             {
  72.                 return new Decorator(ret => Targeting.ShouldAOE,
  73.                     new LockSelector(
  74.                         Spell.CastOnGround("Death from Above", ret => Me.CurrentTarget.Distance > Distance.MeleeAoE),
  75.                         Spell.Cast("Fusion Missle", ret => Me.HasBuff("Thermal Sensor Override")),
  76.                         Spell.Cast("Explosive Dart"))
  77.                 );
  78.             }
  79.         }
  80.     }
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement