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

[Warrior] Beastmaster, Riftblade, Champion

Natfoth

Community Developer
Joined
Jan 15, 2010
Messages
1,446
Reaction score
37
BeastWarrior Routine

BeastWarrior Routine is based to allow to have a pet to hold aggro while leveling and focus the rest of the talents on pure dps.

Based of the Default CC with modifications

Soul Configurations
Beastmaster: 10 points tops just to hold aggro
Champion: Place most primary talents
Rift: Supports all spells but aoe as the Champion uses them.

Rotation
- Supports the Avatars, Marks, and Bearings
- Charge to pull, if on cooldown uses the best Spear
- Heals Pet
- Checks all Attack point spells first, will check based on HP, Attack count, and attack points
- Does all attack point creator spells in champion soul tree
- Will interrupt targets
- Will Stone wall


To Install Unzip and drop BeastWarrior.dll into your Ryftomate\Routines\ Folder and select BeastWarrior from the routines drop down in Ryftomate

Code:
Version 1.03
- Problem is fully fixed now for pets
Version 1.02
- Fixed the bot not detecting the pet and health. Should cast all pet spells now.
Version 1.01
- Added 3 spells from the Champion Tree
 

Attachments

Code:
Version 1.01
- Added 3 spells from the Champion Tree
 
Code:
Version 1.02
- Fixed the bot not detecting the pet and health. Should cast all pet spells now.

Have to work now, will update soul spells soon again.
 
I only included the first 10 points on beastmaster in the current build. I will update it to support all the spells though probably in a few hours. So that way any build can be primary and secondary.

Awesome. i wanted to try a more bm heavy build so that I had 3 heals. Thank you.
 
Am working on a fix for the pet detection still, guess the last fix had its issues still.
 
Please post when all skills are used by the bot so i can start my bm heavy build. thank you.
 
Hi, i've two questions:
First doesn't your routine auto position the spells in the actionbars?
Second after 10 minutes with your routine i get this
Code:
[15:23:50.300 N] System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
   at System.ThrowHelper.ThrowArgumentOutOfRangeException()
   at natfoth.Routines.BeastWarrior.<CreateCombatBehavior>b__2e(Object ctx)
   at Giga.RiftBot.Routines.ClassRoutine..œ.(Object ret)
   at TreeSharp.Decorator.CanRun(Object context)
   at TreeSharp.Decorator.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at TreeSharp.Decorator.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at Giga.RiftBot.GigaBot.(Composite tree)
   at Giga.RiftBot.GigaBot.()
   at Giga.RiftBot.GigaBot.()
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
   at System.RuntimeMethodHandle.InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
   at System.Delegate.DynamicInvokeImpl(Object[] args)
   at System.Delegate.DynamicInvoke(Object[] args)
   at Giga.Pulsator.FramePulsator.(Delegate e, Object[] args)
[15:23:50.313 N] Health: 7,276819 
[15:23:51.100 N] System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
   at System.ThrowHelper.ThrowArgumentOutOfRangeException()
   at natfoth.Routines.BeastWarrior.<CreateCombatBehavior>b__2e(Object ctx)
   at Giga.RiftBot.Routines.ClassRoutine..œ.(Object ret)
   at TreeSharp.Decorator.CanRun(Object context)
   at TreeSharp.Decorator.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at TreeSharp.Decorator.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at Giga.RiftBot.GigaBot.(Composite tree)
   at Giga.RiftBot.GigaBot.()
   at Giga.RiftBot.GigaBot.()
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
   at System.RuntimeMethodHandle.InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
   at System.Delegate.DynamicInvokeImpl(Object[] args)
   at System.Delegate.DynamicInvoke(Object[] args)
   at Giga.Pulsator.FramePulsator.(Delegate e, Object[] args)
[15:23:51.112 N] Health: 7,276819 
[15:23:51.190 N] Health: 6,451612 
[15:23:51.899 N] System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
   at System.ThrowHelper.ThrowArgumentOutOfRangeException()
   at natfoth.Routines.BeastWarrior.<CreateCombatBehavior>b__2e(Object ctx)
   at Giga.RiftBot.Routines.ClassRoutine..œ.(Object ret)
   at TreeSharp.Decorator.CanRun(Object context)
   at TreeSharp.Decorator.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at TreeSharp.Decorator.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at Giga.RiftBot.GigaBot.(Composite tree)
   at Giga.RiftBot.GigaBot.()
   at Giga.RiftBot.GigaBot.()
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
   at System.RuntimeMethodHandle.InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
   at System.Delegate.DynamicInvokeImpl(Object[] args)
   at System.Delegate.DynamicInvoke(Object[] args)
   at Giga.Pulsator.FramePulsator.(Delegate e, Object[] args)
[15:23:51.912 N] Health: 6,451612 
[15:23:52.730 N] System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
   at System.ThrowHelper.ThrowArgumentOutOfRangeException()
   at natfoth.Routines.BeastWarrior.<CreateCombatBehavior>b__2e(Object ctx)
   at Giga.RiftBot.Routines.ClassRoutine..œ.(Object ret)
   at TreeSharp.Decorator.CanRun(Object context)
   at TreeSharp.Decorator.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at TreeSharp.Decorator.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at Giga.RiftBot.GigaBot.(Composite tree)
   at Giga.RiftBot.GigaBot.()
   at Giga.RiftBot.GigaBot.()
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
   at System.RuntimeMethodHandle.InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
   at System.Delegate.DynamicInvokeImpl(Object[] args)
   at System.Delegate.DynamicInvoke(Object[] args)
   at Giga.Pulsator.FramePulsator.(Delegate e, Object[] args)
[15:23:52.742 N] Health: 6,451612 
[15:23:53.335 N] Dreadbone Wretch has 335 health left.
[15:23:53.348 N] Health: 6,451612 
[15:23:53.546 N] System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
   at System.ThrowHelper.ThrowArgumentOutOfRangeException()
   at natfoth.Routines.BeastWarrior.<CreateCombatBehavior>b__2e(Object ctx)
   at Giga.RiftBot.Routines.ClassRoutine..œ.(Object ret)
   at TreeSharp.Decorator.CanRun(Object context)
   at TreeSharp.Decorator.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at TreeSharp.Decorator.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at Giga.RiftBot.GigaBot.(Composite tree)
   at Giga.RiftBot.GigaBot.()
   at Giga.RiftBot.GigaBot.()
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
   at System.RuntimeMethodHandle.InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
   at System.Delegate.DynamicInvokeImpl(Object[] args)
   at System.Delegate.DynamicInvoke(Object[] args)
   at Giga.Pulsator.FramePulsator.(Delegate e, Object[] args)
[15:23:53.559 N] Health: 6,451612
anybody know?
 
Hi, i've two questions:
First doesn't your routine auto position the spells in the actionbars?
Second after 10 minutes with your routine i get this
Code:
[15:23:50.300 N] System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
   at System.ThrowHelper.ThrowArgumentOutOfRangeException()
   at natfoth.Routines.BeastWarrior.<CreateCombatBehavior>b__2e(Object ctx)
   at Giga.RiftBot.Routines.ClassRoutine..œ.(Object ret)
   at TreeSharp.Decorator.CanRun(Object context)
   at TreeSharp.Decorator.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at TreeSharp.Decorator.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at Giga.RiftBot.GigaBot.(Composite tree)
   at Giga.RiftBot.GigaBot.()
   at Giga.RiftBot.GigaBot.()
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
   at System.RuntimeMethodHandle.InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
   at System.Delegate.DynamicInvokeImpl(Object[] args)
   at System.Delegate.DynamicInvoke(Object[] args)
   at Giga.Pulsator.FramePulsator.(Delegate e, Object[] args)
[15:23:50.313 N] Health: 7,276819 
[15:23:51.100 N] System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
   at System.ThrowHelper.ThrowArgumentOutOfRangeException()
   at natfoth.Routines.BeastWarrior.<CreateCombatBehavior>b__2e(Object ctx)
   at Giga.RiftBot.Routines.ClassRoutine..œ.(Object ret)
   at TreeSharp.Decorator.CanRun(Object context)
   at TreeSharp.Decorator.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at TreeSharp.Decorator.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at Giga.RiftBot.GigaBot.(Composite tree)
   at Giga.RiftBot.GigaBot.()
   at Giga.RiftBot.GigaBot.()
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
   at System.RuntimeMethodHandle.InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
   at System.Delegate.DynamicInvokeImpl(Object[] args)
   at System.Delegate.DynamicInvoke(Object[] args)
   at Giga.Pulsator.FramePulsator.(Delegate e, Object[] args)
[15:23:51.112 N] Health: 7,276819 
[15:23:51.190 N] Health: 6,451612 
[15:23:51.899 N] System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
   at System.ThrowHelper.ThrowArgumentOutOfRangeException()
   at natfoth.Routines.BeastWarrior.<CreateCombatBehavior>b__2e(Object ctx)
   at Giga.RiftBot.Routines.ClassRoutine..œ.(Object ret)
   at TreeSharp.Decorator.CanRun(Object context)
   at TreeSharp.Decorator.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at TreeSharp.Decorator.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at Giga.RiftBot.GigaBot.(Composite tree)
   at Giga.RiftBot.GigaBot.()
   at Giga.RiftBot.GigaBot.()
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
   at System.RuntimeMethodHandle.InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
   at System.Delegate.DynamicInvokeImpl(Object[] args)
   at System.Delegate.DynamicInvoke(Object[] args)
   at Giga.Pulsator.FramePulsator.(Delegate e, Object[] args)
[15:23:51.912 N] Health: 6,451612 
[15:23:52.730 N] System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
   at System.ThrowHelper.ThrowArgumentOutOfRangeException()
   at natfoth.Routines.BeastWarrior.<CreateCombatBehavior>b__2e(Object ctx)
   at Giga.RiftBot.Routines.ClassRoutine..œ.(Object ret)
   at TreeSharp.Decorator.CanRun(Object context)
   at TreeSharp.Decorator.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at TreeSharp.Decorator.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at Giga.RiftBot.GigaBot.(Composite tree)
   at Giga.RiftBot.GigaBot.()
   at Giga.RiftBot.GigaBot.()
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
   at System.RuntimeMethodHandle.InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
   at System.Delegate.DynamicInvokeImpl(Object[] args)
   at System.Delegate.DynamicInvoke(Object[] args)
   at Giga.Pulsator.FramePulsator.(Delegate e, Object[] args)
[15:23:52.742 N] Health: 6,451612 
[15:23:53.335 N] Dreadbone Wretch has 335 health left.
[15:23:53.348 N] Health: 6,451612 
[15:23:53.546 N] System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
   at System.ThrowHelper.ThrowArgumentOutOfRangeException()
   at natfoth.Routines.BeastWarrior.<CreateCombatBehavior>b__2e(Object ctx)
   at Giga.RiftBot.Routines.ClassRoutine..œ.(Object ret)
   at TreeSharp.Decorator.CanRun(Object context)
   at TreeSharp.Decorator.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at TreeSharp.Decorator.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at TreeSharp.PrioritySelector.<Execute>d__0.MoveNext()
   at TreeSharp.Composite.Tick(Object context)
   at Giga.RiftBot.GigaBot.(Composite tree)
   at Giga.RiftBot.GigaBot.()
   at Giga.RiftBot.GigaBot.()
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
   at System.RuntimeMethodHandle.InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
   at System.Delegate.DynamicInvokeImpl(Object[] args)
   at System.Delegate.DynamicInvoke(Object[] args)
   at Giga.Pulsator.FramePulsator.(Delegate e, Object[] args)
[15:23:53.559 N] Health: 6,451612
anybody know?

I will post the update to fix these issue after the new rift update is posted.
 
Thanks for the answer.. But when you want to fix it? The rift update is already over <3
I really want to use it.
 
AWZOME <--- yes with a z

ive been having trouble with the bugged mob handling...

But with ur combat profile... it actaully reacts like it should.. never had for me before, usually it just stands there waiting... but awsome cc! really good pet handling!

Dunno if its alredy implemented and im just stupid, but is it possible "if its not implemented" that if you have 3mobs, the pet takes 2, or if u have 4, the pet tries to take 3 of em?


P.S.!! The pet makes the bugged mob feauture not work often unless u find a new target. because the pet stays on it, and if it has agg, u dont get away till new mobs comes around for u to put pet on.
 
I love your build ty so much for the great lvlng/farming build :D
 
So were the rest of the beastmaster skills added into this profile? I'm now about 40 and my pet is continuously aggroing everything around it now. I need to be able to use the greater version, or I'm going to have to switch to a different profile
 
Back
Top