I have been looking at the API and am wondering, what is the difference between Me.AbilityActivate and AbilityManager.Cast (other than the passed parameters being different)?
Are there spells/abilities that are meant to work with one but not the other?
trying to figure out how to cast a spell once every certain amount of seconds? the ability has no cd
Spell.DoT("Spell Name, "debuff name", float time)
Code:Spell.DoT("Spell Name, "debuff name", float time)
You need the spell name, leave the debuff name blank, and use the float time in milliseconds.
well the ability is a CastOnGround ability...
trying to use the ability plasma probe on my target every 9 seconds
Spell.CastonGround("Plasma Probe", ret => !Me.CurrentTarget.HasDebuff("whatever the debuff is named"))
the ability dosent give a debuff like that its just an aoe... i wish i could show you....That's a DoT ability, right? So all you have to do is check for the debuff to be missing and cast it then:
Code:Spell.CastonGround("Plasma Probe", ret => !Me.CurrentTarget.HasDebuff("whatever the debuff is named"))
the ability dosent give a debuff like that its just an aoe... i wish i could show you....
public override Composite SingleTarget
{
get
{
return new LockSelector(
//Movement
CombatMovement.CloseDistance(Distance.Melee),
//Low Energy
new Decorator(ret => Me.EnergyPercent < 60,
new LockSelector(
Spell.Cast("Rifle Shot", ret => !Me.IsInCover())
)),
//Rotation
Spell.Cast("Distraction", ret => Me.CurrentTarget.IsCasting && !DefaultCombat.MovementDisabled),
Spell.Cast("Series of Shots"),
Spell.Cast("Explosive Probe"),
Spell.Cast("EMP Discharge", ret => Me.CurrentTarget.HasDebuff("Interrogation Probe")),
Spell.CastOnGround("Plasma Probe", ret => !Me.CurrentTarget.HasDebuff("Slowed")),
Spell.DoT("Interrogation Probe", "Interrogation Probe"),
Spell.DoT("Corrosive Dart", "Corrosive Dart"),
Spell.Cast("Takedown", ret => Me.CurrentTarget.HealthPercent <= 30),
Spell.Cast("Snipe")
);
}
}
public override Composite AreaOfEffect
{
get
{
return new Decorator(ret => Targeting.ShouldAoe,
new LockSelector(
Spell.CastOnGround("Plasma Probe", ret => !Me.CurrentTarget.HasDebuff("Slowed")),
Spell.CastOnGround("Orbital Strike"),
Spell.Cast("Fragmentation Grenade")
));
}
}
using Buddy.BehaviorTree;
using DefaultCombat.Core;
using DefaultCombat.Helpers;
namespace DefaultCombat.Routines
{
internal class Engineering : RotationBase
{
public override string Name
{
get { return "Sniper Engineering"; }
}
public override Composite Buffs
{
get
{
return new PrioritySelector(
Spell.Buff("Coordination")
);
}
}
public override Composite Cooldowns
{
get
{
return new LockSelector(
Spell.Buff("Escape"),
Spell.Buff("Shield Probe", ret => Me.HealthPercent <= 50),
Spell.Buff("Evasion", ret => Me.HealthPercent <= 30),
Spell.Buff("Adrenaline Probe", ret => Me.EnergyPercent <= 50),
Spell.Buff("Laze Target"),
Spell.Cast("Target Acquired")
);
}
}
public override Composite SingleTarget
{
get
{
return new LockSelector(
//Movement
CombatMovement.CloseDistance(Distance.Melee),
//Low Energy
new Decorator(ret => Me.EnergyPercent < 60,
new LockSelector(
Spell.Buff("Laze Target"),
Spell.Cast("Series of Shots")
)),
//Rotation
Spell.Cast("Distraction", ret => Me.CurrentTarget.IsCasting && !DefaultCombat.MovementDisabled),
Spell.Buff("Crouch", ret => !Me.IsInCover() && !Me.IsMoving),
Spell.Buff("Target Aquired"),
Spell.Cast("Series of Shots", ret => Me.IsInCover()),
Spell.Cast("Takedown", ret => Me.CurrentTarget.HealthPercent <= 30),
Spell.Cast("Fragmentation Grenade", ret => !Me.CurrentTarget.HasDebuff("Energy Overides")),
Spell.CastOnGround("Plasma Probe", ret => !Me.CurrentTarget.HasDebuff("Slowed")),
Spell.Cast("Explosive Probe"),
Spell.Cast("EMP Discharge"),
Spell.DoT("Interrogation Probe", "", 15000),
Spell.Cast("Orbital Strike"),
Spell.DoT("Corrosive Dart", "", 12000),
Spell.Cast("Fragmentation Grenade")
);
}
}
public override Composite AreaOfEffect
{
get
{
return new Decorator(ret => Targeting.ShouldAoe,
new LockSelector(
Spell.CastOnGround("Orbital Strike"),
Spell.CastOnGround("Plasma Probe"),
Spell.Cast("Fragmentation Grenade")
));
}
}
}
}
lol nothing i was just posting my crappy coding lol cause i was working on itWhat was wrong with the one I posted?