lnteractive
New Member
- Joined
- Oct 31, 2013
- Messages
- 4
Hello guys, I'm quite new to Wing Buddy (Bought member to test this out).
Due to me starting to have arthritis from having to raid day and night mashing all my buttons, I resorted to using a rotational bot to go easy on my fingers. I've tried scripting using AHK but they're nowhere near as efficient as what I've tested so far.
I do have some understanding of C++ coding and all codes usually structure the same.
I came to a simple understanding of how rotational bot works however these are my questions, I hope somebody would be able to answer them and I do apologize for sounding noob, yes I've read through the entire thread.
Q1: What is the difference between Pure SWTOR and Unpure SWTOR, from importing the SVN directly to my WingBuddy rotation folder, those 2 options seem to come along in the PURE SVN.
I've only used Pure.
Q2: I came to an understanding that all I need to do is choose a blank profile (That means it doesn't grind, it just does rotation for you), choose your CR (Combat rotation ), and target monsters you want to start performing monsters on. Anything I'm missing out?
Q3: Currently, I'm running an annihilation marauder, the bot has specifically detected this and therefore read the file annihilation.cs. This is the file:
I am guessing that the #rotation is where the skills you want rotated is placed there.
I've played SWTOR and I have a very set way of running my rotations in priority to max out my dps (3.1k DPS) for raids. However through this I realise that it is only just randomly mashing buttons not in priority and I was wondering if I'm doing something wrong?
Since C++ Reads from top to bottom does this code do the same and whichever skills is placed on top of the code is more of a priority?
This is some parse.
Realise that it's casting tons of assault, this is not really needed as through the spec we're running, your rage should always be more than 6> with just battering assault and there's a very small window you will need to use assault however the rotational bot seems to be using assault a lot.
Please do advice on how do i sort out the priorities.
Q4: Is there a way to set a hotkey trigger to activate the bot, eg when I target a monster it immediately jumps and attack it, is there a way to set a hotkey, like , example, 'A', so it only triggers the rotation when i use A.
Due to me starting to have arthritis from having to raid day and night mashing all my buttons, I resorted to using a rotational bot to go easy on my fingers. I've tried scripting using AHK but they're nowhere near as efficient as what I've tested so far.
I do have some understanding of C++ coding and all codes usually structure the same.
I came to a simple understanding of how rotational bot works however these are my questions, I hope somebody would be able to answer them and I do apologize for sounding noob, yes I've read through the entire thread.
Q1: What is the difference between Pure SWTOR and Unpure SWTOR, from importing the SVN directly to my WingBuddy rotation folder, those 2 options seem to come along in the PURE SVN.
I've only used Pure.
Q2: I came to an understanding that all I need to do is choose a blank profile (That means it doesn't grind, it just does rotation for you), choose your CR (Combat rotation ), and target monsters you want to start performing monsters on. Anything I'm missing out?
Q3: Currently, I'm running an annihilation marauder, the bot has specifically detected this and therefore read the file annihilation.cs. This is the file:
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using Buddy.BehaviorTree;
using Buddy.Swtor;
using Buddy.Swtor.Objects;
using PureSWTor.Helpers;
using PureSWTor.Core;
using PureSWTor.Managers;
using Action = Buddy.BehaviorTree.Action;
using Distance = PureSWTor.Helpers.Global.Distance;
namespace PureSWTor.Classes.Marauder
{
class Annihilation : RotationBase
{
#region Overrides of RotationBase
public override string Revision
{
get { return ""; }
}
public override SWTorSpec KeySpec
{
get { return SWTorSpec.MarauderAnnihilation; }
}
public override string Name
{
get { return "Marauder Annihilation by aquintus"; }
}
public override Composite PreCombat
{
get
{
return new PrioritySelector(
Spell.Buff("Juyo Form"),
Spell.Buff("Unnatural Might", ret => !LazyRaider.MovementDisabled),
//Scavenge.ScavengeCorpse,
Rest.HandleRest
);
}
}
private Composite HandleCoolDowns
{
get
{
return new PrioritySelector(
Spell.Buff("Unleash"),
Spell.Buff("Cloak of Pain", ret => Me.HealthPercent <= 50),
Spell.Buff("Undying Rage", ret => Me.HealthPercent <= 10),
Spell.Buff("Saber Ward", ret => Me.HealthPercent <= 30)
);
}
}
private Composite HandlePull
{
get
{
return new Decorator(
ret => !Me.InCombat,
new PrioritySelector(
Spell.Cast("Force Charge"),
Spell.Buff("Deadly Saber"),
Spell.Cast("Battering Assault"),
Spell.Cast("Rupture"),
Spell.Cast("Annihilate"),
Spell.Cast("Ravage")
)
);
}
}
private Composite HandleSingleTarget
{
get
{
return new PrioritySelector(
//Move To Range
CloseDistance(Distance.Melee),
//Rotation
Spell.Cast("Disruption", ret => Me.CurrentTarget.IsCasting && !LazyRaider.MovementDisabled),
Spell.Buff("Berserk", ret => Me.HasBuff("Fury") && Me.BuffCount("Fury") > 29),
Spell.Buff("Frenzy", ret => Me.HasBuff("Fury") && Me.BuffCount("Fury") < 15),
Spell.Cast("Vicious Throw", ret => Me.CurrentTarget.HealthPercent <= 30),
Spell.Buff("Deadly Saber"),
Spell.Cast("Annihilate"),
Spell.Cast("Rupture"),
//Spell.Cast("Vicious Slash"),
Spell.Cast("Battering Assault", ret => Me.Energy <= 5),
Spell.Cast("Ravage"),
//Spell.Cast("Force Scream", ret => Me.ActionPoints >= 4),
//Spell.Cast("Force Charge"),
Spell.Cast("Assault", ret => Me.Energy <= 5),
Spell.Cast("Retaliation")
);
}
}
private Composite HandleAOE
{
get
{
return new Decorator(ret => ShouldAOE(3, Distance.MeleeAoE),
new PrioritySelector(
Spell.Cast("Smash", ret => Me.CurrentTarget.Distance <= 0.5f),
Spell.Cast("Sweeping Slash")
)
);
}
}
public override Composite PVERotation
{
get
{
return new PrioritySelector(
Spell.WaitForCast(),
HandleCoolDowns,
HandleAOE,
HandlePull,
HandleSingleTarget
);
}
}
public override Composite PVPRotation
{
get { return PVERotation; }
}
#endregion
}
}
I am guessing that the #rotation is where the skills you want rotated is placed there.
I've played SWTOR and I have a very set way of running my rotations in priority to max out my dps (3.1k DPS) for raids. However through this I realise that it is only just randomly mashing buttons not in priority and I was wondering if I'm doing something wrong?
Since C++ Reads from top to bottom does this code do the same and whichever skills is placed on top of the code is more of a priority?
This is some parse.
>> Casting << Assault
>> Casting << Retaliation
>> Casting << Battering Assault
>> Casting << Battering Assault
>> Casting << Assault
>> Casting << Assault
>> Casting << Berserk
>> Casting << Retaliation
>> Casting << Battering Assault
>> Casting << Battering Assault
>> Casting << Assault
>> Casting << Assault
>> Casting << Berserk
Realise that it's casting tons of assault, this is not really needed as through the spec we're running, your rage should always be more than 6> with just battering assault and there's a very small window you will need to use assault however the rotational bot seems to be using assault a lot.
Please do advice on how do i sort out the priorities.
Q4: Is there a way to set a hotkey trigger to activate the bot, eg when I target a monster it immediately jumps and attack it, is there a way to set a hotkey, like , example, 'A', so it only triggers the rotation when i use A.