Cool stuff. Not sure if it's because of your last update, but I've been able to modify the combat routine a little bit. So I started working on the Warrior Tank Routine.
It's nothing special, as it only supports this LAS. I've kept Atomic Surge and Plasma Blast out of it since they are taunt and I think you always should taunt manually.
But yeah it looks like you can just add about any spell into the routine now without any issue.
think our fearless leader is MIA!
come back DD!
public bool CastingSpell(string spellName)
{
SpellManager.SpellInformation spell = SpellManager.GetSpell(spellName);
return Me.CurrentCast != null && spell != null && Me.CurrentCast.BaseSpellId == spell.Ability.BaseSpellId;
}
so do i add this to the medic.cs or is it to be added to some other part of agility?(programming skills=0I have been gone for a bit, however in terms of Quantum Cascade, I made a function a while back that checks if you're casting a ability. So instead of spamming Quantum Cascade, the bot will instead use it once, then use other abilities.
Code:public bool CastingSpell(string spellName) { SpellManager.SpellInformation spell = SpellManager.GetSpell(spellName); return Me.CurrentCast != null && spell != null && Me.CurrentCast.BaseSpellId == spell.Ability.BaseSpellId; }
if (!SpellController.CastingSpell("Quantum Cascade") && SpellController.CanCast("Quantum Cascade"))
return "Quantum Cascade";
DD,
i was thinking bout it,i've started working on a medic heal routine too.
can we get the option to load a specific cs when we start wildbuddy?that way i can take tank,dps and heal builds in the same directory and the option to choose it before starting
Cool stuff. Not sure if it's because of your last update, but I've been able to modify the combat routine a little bit. So I started working on the Warrior Tank Routine.
It's nothing special, as it only supports this LAS. I've kept Atomic Surge and Plasma Blast out of it since they are taunt and I think you always should taunt manually.
But yeah it looks like you can just add about any spell into the routine now without any issue.
Cool stuff. Not sure if it's because of your last update, but I've been able to modify the combat routine a little bit. So I started working on the Warrior Tank Routine.
It's nothing special, as it only supports this LAS. I've kept Atomic Surge and Plasma Blast out of it since they are taunt and I think you always should taunt manually.
But yeah it looks like you can just add about any spell into the routine now without any issue.
here,i reduced bloat in the tank profile.
also i put taunts on #2,def grid on #4.
DD,is there a way we can rename(not just rebind) the keys?i dont think anyone uses slowattack() or Heal(),if i can rename them to lets say Taunt(), Survival Mechanics() and Movement abilities()..its gonna be groovy
using Agility;
using Buddy.Wildstar.Game;
namespace Agility.Routines
{
class [U]Warrior_AutoAttack[/U] : IAgilityRoutine
{
public string Name { get { return "[U]Auto-Attack[/U]"; } }
public string Version { get { return "[U]0.1[/U]"; } }
public string Author { get { return "[U]Deathdisguise[/U]"; } }
public string Routine()
{
[U]if (SpellController.CanCast("Relentless Strikes"))[/U]
[U]return "Relentless Strikes";[/U]
[U]if (SpellController.CanCast("Menacing Strike"))[/U]
[U]return "Menacing Strike";[/U]
return null;
}
}
}
using Buddy.Wildstar.Game;
using Buddy.Wildstar.Game.Actors;
namespace Agility.Routines
{
class Warrior_Tank : IAgilityRoutine
{
public string Name { get { return "Tank"; } }
public string Version { get { return "1.3"; } }
public string Author { get { return "Palenie"; } }
private Player Me { get { return GameManager.LocalPlayer; } }
public string Routine()
{
if (SpellController.CanCast("Power Link") && Me.InnateResource >= 350 && SpellController.BuffCount("Power Link") == 0)
return "Power Link";
if (SpellController.CanCast("Breaching Strikes") && Me.HasBuff("Breaching Strikes"))
return "Breaching Strikes";
if (SpellController.CanCast("Atomic Spear") && Me.HasBuff("Atomic Spear"))
return "Atomic Spear";
if (SpellController.CanCast("Expulsion") && Me.HasDebuff)
return "Expulsion";
if (SpellController.CanCast("Bolstering Strike") && Me.ShieldPercent <= 85)
return "Bolstering Strike";
if (SpellController.CanCast("Jolt"))
return "Jolt";
if (SpellController.CanCast("Shield Burst"))
return "Shield Burst";
if (SpellController.CanCast("Menacing Strike"))
return "Menacing Strike";
return null;
}
}
}
Oh I see what you did! Using Palenie's tank routine as an example (since it was included in your PM)
Code:using Buddy.Wildstar.Game; using Buddy.Wildstar.Game.Actors; namespace Agility.Routines { class Warrior_Tank : IAgilityRoutine { public string Name { get { return "Tank"; } } public string Version { get { return "1.3"; } } public string Author { get { return "Palenie"; } } private Player Me { get { return GameManager.LocalPlayer; } } public string Routine() { if (SpellController.CanCast("Power Link") && Me.InnateResource >= 350 && SpellController.BuffCount("Power Link") == 0) return "Power Link"; if (SpellController.CanCast("Breaching Strikes") && Me.HasBuff("Breaching Strikes")) return "Breaching Strikes"; if (SpellController.CanCast("Atomic Spear") && Me.HasBuff("Atomic Spear")) return "Atomic Spear"; if (SpellController.CanCast("Expulsion") && Me.HasDebuff) return "Expulsion"; if (SpellController.CanCast("Bolstering Strike") && Me.ShieldPercent <= 85) return "Bolstering Strike"; if (SpellController.CanCast("Jolt")) return "Jolt"; if (SpellController.CanCast("Shield Burst")) return "Shield Burst"; if (SpellController.CanCast("Menacing Strike")) return "Menacing Strike"; return null; } } }
Each routine file is it's own routine now. You can assign this to one of eight hotkeys in the settings menu via the drop down boxes. Hotkey customization itself is coming along shortly!
I am planning to add the above to the repo early tomorrow, as alcohol became a factor tonight, and I may have been distracted!![]()
using Buddy.Wildstar.Game;
using Buddy.Wildstar.Game.Actors;
namespace Agility.Routines
{
class Warrior_Tank : IAgilityRoutine
{
public string Name { get { return "Tank"; } }
public string Version { get { return "1.3"; } }
public string Author { get { return "Palenie"; } }
private Player Me { get { return GameManager.LocalPlayer; } }
public string Routine()
{
if (SpellController.CanCast("Power Link") && Me.InnateResource >= 350 && SpellController.BuffCount("Power Link") == 0)
return "Power Link";
if (SpellController.CanCast("Breaching Strikes") && Me.HasBuff("Breaching Strikes"))
return "Breaching Strikes";
if (SpellController.CanCast("Atomic Spear") && Me.HasBuff("Atomic Spear"))
return "Atomic Spear";
if (SpellController.CanCast("Expulsion"))
return "Expulsion";
if (SpellController.CanCast("Bolstering Strike") && Me.InnateResource >= 500)
return "Bolstering Strike";
if (SpellController.CanCast("Jolt"))
return "Jolt";
if (SpellController.CanCast("Shield Burst") && Me.InnateResource >= 500)
return "Shield Burst";
if (SpellController.CanCast("Menacing Strike"))
return "Menacing Strike";
if (SpellController.CanCast("Defense Grid"))
return "Defense Grid";
return null;
}
}
}
using Buddy.Wildstar.Game;
using Buddy.Wildstar.Game.Actors;
namespace Agility.Routines
{
class Warrior_AutoAttack : IAgilityRoutine
{
public string Name { get { return "Auto-Attack"; } }
public string Version { get { return "0.1"; } }
public string Author { get { return "Deathdisguise"; } }
private Player Me { get { return GameManager.LocalPlayer; } }
public string Routine()
{
if (SpellController.CanCast("Relentless Strikes"))
return "Relentless Strikes";
if (SpellController.CanCast("Menacing Strike"))
return "Menacing Strike";
if (SpellController.CanCast ("Plasma Blast"))
return "Plasma Blast";
if (SpellController.CanCast ("Atomic Surge"))
return "Atomic Surge";
return null;
}
}
}
Will be updated and pushed shortly!Please dont use that one. Bolstering Strike and Shield Burst bug out if you dont have any kinetic energy. Use this code:
Remember, there's no longer a need to revise current routines, you can simply make them your own! Either make an AutoAttackTaunt one, or a whole new Taunt one! There's up to 8 hotkeys now, so plenty of potential for customization!I also edited the 'AutoAttack' routine so you can use it for taunts.
using Buddy.Wildstar.Game;
using Buddy.Wildstar.Game.Actors;
namespace Agility.Routines
{
class Warrior_Taunt : IAgilityRoutine
{
public string Name { get { return "Taunt"; } }
public string Version { get { return "0.1"; } }
public string Author { get { return "Palenie"; } }
private Player Me { get { return GameManager.LocalPlayer; } }
public string Routine()
{
if (SpellController.CanCast ("Plasma Blast"))
return "Plasma Blast";
if (SpellController.CanCast ("Atomic Surge"))
return "Atomic Surge";
if (SpellController.CanCast("Menacing Strike"))
return "Menacing Strike";
if (SpellController.CanCast("Relentless Strikes"))
return "Relentless Strikes";
return null;
}
}
}
Yeap! That's on the list, after I touch up the GUI aspects of the routine system, and finish adding custom binding of hotkeys!Now we just have to get the bot so that we do not have to restart it every time we change LAS and it is a really solid bot. Good work DD
DD,
is there a way we can use the charges on a spell instead of SpellController.CanCast?
because Collider(dps medic spell), is castable even when it doesnt have charges,it just spams the message "Not enough Charges".