What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal
RebornBuddy Forums

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

Ability activation question

Teo

Member
Joined
Oct 6, 2012
Messages
35
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?
 
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?

It looks like AbilityActivate just returns a bool (true,false), so I'm guessing AbilityActivate tells the bot if the ability successfully activated.
 
trying to figure out how to cast a spell once every certain amount of seconds? the ability has no cd
 
trying to figure out how to cast a spell once every certain amount of seconds? the ability has no cd

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.
 
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...
 
Last edited:
trying to use the ability plasma probe on my target every 9 seconds

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"))
 
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....
 
its kind of like a shammy fire aoe totem but has no cd, no debuff and it stays up for 9 seconds also how do i put an open on the cr?
 
Okay I just respeced to Engineering to see what the hell is going on. Yeah, this is difficult. There's no way to track when it's out. Here is what I'm think as a quick fix:
The Plasma Probe puts a debuff on the target that lasts 45 seconds. Each tick of the probe refreshes that debuff. We could try tracking the debuff and whenever its time left is less than 42 seconds we refresh the probe. That's cludgy as shit, and I'm not sure how it would work in a group (when someone else is applying the same debuff), but it should work fine solo for now.

Longer term, we'll need to write a Spell.DoTonGround function :/

EDIT: it also puts a slow on the target while it's in range. Maybe that's easier to track?
 
How does this look?

Code:
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")
						));
			}
		}

Also, when did they start allowing you to use Snipe outside of cover? I guess that shows how much I play an IA :D
 
On my phone right now I will give you my cr in about an hour and a half I was moding the cr before I left for class lol
 
this is the coding ive come up with so far it still needs the "Plasma Probe" also still need to put in the opener not sure how to do that part

Code:
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")
						));
			}
		}
	}
}
 
Last edited:
Nothing from what I can tell jumping in on this. Frag grenade only ability seems to be missing from rotation though, maybe a few more conditions such as cover for series of shots is different. But the double implementation of frag grenade in the rotation as well as preference for Orbital Strike in AoE. Mechanically same though.
 
Back
Top