Buddywing folder/Routines/DefaultCombat/Routines/Advanced/Vanguard For plasma tech I'll need any new abilities and new buff/debuff names.
The Fury discipline Marauder is detected as Rage, the bot uses the rotation of the Juggernaut and discipline Concentration of Sentinnel is detected as Focus, the bot uses the rotation of the Guardian. Can you tell to Aevitas to fix this please? Maybe it's à routine problem i dont know
Can you snag a log of what happens when you sign in? Specifically the message you get when the bot selects the rotation to use. I think that should be enough info for him.
I used to just paste the routines into this translator. If we have the mirror done, it works quite well. SWTOR Mirror Skill Translator | BiowareFans.com
Yup, I use that as well. It doesn't always work for buffs and debuffs though. Also, can you look into the routine selection issue Swtor was mentioning?
Ok I updated with the below . it runs but dosent use Gut for some reason , I want that to always stay on target . if gut is on the target the rest of the abilities work in the code . Code: using Buddy.BehaviorTree; using DefaultCombat.Core; using DefaultCombat.Helpers; namespace DefaultCombat.Routines { public class Tactics : RotationBase { public override string Name { get { return "Vanguard Tactics"; } } public override Composite Buffs { get { return new PrioritySelector( Spell.Buff("High Energy Cell"), Spell.Buff("Fortification") ); } } public override Composite Cooldowns { get { return new LockSelector( Spell.Buff("Tenacity", ret => Me.IsStunned), Spell.Buff("Recharge Cells", ret => Me.ResourcePercent() >= 50), Spell.Buff("Reactive Shield", ret => Me.HealthPercent <= 40), Spell.Buff("Adrenaline Rush", ret => Me.HealthPercent <= 30), Spell.Buff("Shoulder Cannon", ret => !Me.HasBuff("Shoulder Cannon") && Me.CurrentTarget.BossOrGreater()) ); } } public override Composite SingleTarget { get { return new LockSelector( //Movement CombatMovement.CloseDistance(Distance.Melee), new Decorator(ret => Me.ResourcePercent() > 40, new LockSelector( Spell.Cast("High Impact Bolt", ret => Me.HasBuff("Tactical Accelerator")), Spell.Cast("Hammer Shot") )), Spell.Cast("Riot Strike", ret => Me.CurrentTarget.IsCasting && !DefaultCombat.MovementDisabled), Spell.Cast("Cell Burst", ret => Me.BuffCount("Energy Lode") == 4), Spell.Cast("High Impact Bolt", ret => Me.CurrentTarget.HasDebuff("Bleeding (Gut)") && Me.HasBuff("Tactical Accelerator")), Spell.DoT("Gut", "Bleeding (Gut)"), Spell.Cast("Assault Plastique"), Spell.Cast("Stock Strike"), Spell.Cast("Tactical Surge", ret => Me.Level >= 26), Spell.Cast("Ion Pulse", ret => Me.Level < 26) ); } } public override Composite AreaOfEffect { get { return new LockSelector( new Decorator(ret => Targeting.ShouldAOE, new LockSelector( Spell.CastOnGround("Morter Volley"), Spell.Cast("Sticky Grenade", ret => Me.CurrentTarget.HasDebuff("Bleeding (Retractable Blade)")) )), new Decorator(ret => Targeting.ShouldPBAOE, new LockSelector( Spell.Cast("Pulse Cannon"), Spell.Cast("Explosive Surge")) )); } } } }
The syntax on Gut looks good. Make sure 1. you're in range (4m) for Gut to work and 2. the debuff ("Bleeding (Gut)") is how it appears in the debuff window in-game.
oh he is in range alright , vanguard is all up on the ass of the npc , but not working ("Bleeding (Gut)") is not exactly what it says it just says Bleeding on the NPC dot
So any plans in putting "skinning" mobs ( droids and such) in this routine, cause it seems this is the only one that will be supported now ?
Bounty hunter doesn't seem to include shoulder cannon or explosive fuel in it's rotation. Skills probably better left used manually, but would be nice to have the option to include it in the rotation.
I updated yours for Powertech AP spec, but I see it will only activate shoulder cannon and use the first one. It never spams them after. How exactly could we get this to just use all of them everytime its up? View attachment AdvancedPrototype.cs
i Think it has to do with this line: Code: Spell.Buff("Shoulder Cannon", ret => !Me.HasBuff("Shoulder Cannon") && Me.CurrentTarget.BossOrGreater()) Try to use this one: Code: Spell.Buff("Shoulder Cannon", ret => !Me.HasBuff("Shoulder Cannon")) If im reading it right, Shoulder cannon is now used whenever i DONT have the buff up named Shoulder Cannon, else it will cast it. You also had a check in, to ONLY use when your target is a boss (gold starred i think or higher)
Nah, that's not the problem at all. You need one call to put the Shoulder Cannon buff on yourself (this is the "loading missiles" buff). Then, you need to cast the actual missiles. The buff: Code: Spell.Buff("Shoulder Cannon", ret => !Me.HasBuff("Shoulder Cannon")) Firing missiles: Code: Spell.Cast("Shoulder Cannon", ret => Me.HasBuff("Shoulder Cannon") && Me.CurrentTarget.BossOrGreater()),
The way Shoulder Cannon works is like this: When you first click the button, it puts a buff on you that "loads" missiles over ten seconds. This buff stacks to 4 (I think), but you can use it any time it's over 0. The next 4 times you click the button, it fires one of your loaded missiles. The way we handle it is to put the first section into the Cooldowns section. This handles the buff. If I don't currently have the buff, and the spell is on cooldown, buff me up. The second section goes into the rotation itself. Since the missiles are off the GCD, we can put them at the top. This will check if we have the missile buff, and if we do and the boss is a boss, it will fire the missiles until we don't have any more of the buff. EDIT: and yeah, it's a pretty unique spell in form and function. I had to test out a couple of different methods to get it to work.