Hi Eminence, Valid points. 1) You can easily check the debuff on the target by using Me.CurrentTarget.HasAura("name") or by using ID. So yes 2) Yes 3) Yes I'll see if I can add in those later today so you can see how I did it. You can easily add your own cross-class skills as long as they popup in the Action Manager. Hi stewiethecat, Please update to latest ! Thanks I forgot to remove my auto-updater. I will fix the auto-updater in a later point for the new svn address
I am trying to figure out how hotkeymode works. I added something like this Code: public static async Task<bool> HotkeyMode() { if (!Me.CurrentTarget.IsViable()) await Spell.CastSpell("Defiance", Me, () => !Me.HasAura("Defiance")); await Spell.CastSpell("Infuriate", Me, () => !Me.HasAura("Infuriated") && !Me.HasAura("Wrath") && !Me.HasAura("Wrath II") && !Me.HasAura("Wrath III") && !Me.HasAura("Wrath IV")); await Spell.CastSpell("Butcher's Block", () => Actionmanager.LastSpell.Name == "Skull Sunder"); await Spell.CastSpell("Skull Sunder", () => Actionmanager.LastSpell.Name == "Heavy Swing"); await Spell.CastSpell("Heavy Swing", () => true); return false; return false; // if (VariableBook.HkmMultiTarget) await WarriorAoE(); return await WarriorRotation(); } I have been able to figure out that when Hotkeymode is selected it will do this rotation, but what I cant figure out is how to toggle through Hotkeymode and normal rotation. If that makes any sense. I have tried messing with the settings and i can't figure it out
I get that, I think i may have used hotkeymode for the wrong thing. What i am trying to do is activate certain rotations when i press a button. I think that is where i got messed up. So i want to do my normal rotation, and be able to press a button and do another rotation. Is this possible within your gui? I see an option to keybind a secondary rotation. How can I code in a secondary rotation Here is an example of what i am talking about from an old routine from exmortem I used to use. Code: protected override Composite CreateCombat() { return new PrioritySelector( new Decorator(ret => { if (KeyboardPolling.IsKeyDown(System.Windows.Forms.Keys.LShiftKey)) return true; return false; }, new PrioritySelector( Cast("Butcher's Block", r => Actionmanager.LastSpell.Name == "Skull Sunder", r => Core.Player.CurrentTarget), Cast("Skull Sunder", r => Actionmanager.LastSpell.Name == "Heavy Swing", r => Core.Player.CurrentTarget), Cast("Heavy Swing", r => true, r => Core.Player.CurrentTarget) )), new Decorator(ret => { if (KeyboardPolling.IsKeyDown(System.Windows.Forms.Keys.LControlKey)) return true; return false; }, new PrioritySelector( Apply("Fracture"), Cast("Storm's Eye", r => !Core.Player.CurrentTarget.HasAura("Storm's Eye", true, msLeft:3000) && Actionmanager.LastSpell.Name == "Maim", r => Core.Player.CurrentTarget), Cast("Storm's Path", r => !Core.Player.CurrentTarget.HasAura("Storm's Path", true, msLeft:3000) && Actionmanager.LastSpell.Name == "Maim", r => Core.Player.CurrentTarget), Cast("Maim", r => Actionmanager.LastSpell.Name == "Heavy Swing", r => Core.Player.CurrentTarget), Cast("Heavy Swing", r => true, r => Core.Player.CurrentTarget) )),
Hi stewiethecat, You are looking for Managers.HotkeyManager.IsKeyDown, it's already there. However, this will only apply when you're holding down the key, I'll see if I can create the guide of creating real proper keys soon.
Hi Eminence, On latest update I've added the rotation you've asked for. Please test it out and let me know!
Xcesius, The Paladin rotation is working perfectly - thank you! Please note, however, that when I made my original post, in order to keep things simple I referred to the Rage of Halone debuff as "Rage of Halone debuff." It's actually called "Strength Down." I didn't want to create any confusion since I was explaining rotations with multiple abilities so I simply referred to the debuff with the name of the ability that applies it. I changed the debuff name in your latest update (which I've copied below) and everything is golden. Code: await Spell.CastSpell("Royal Authority", () => Actionmanager.LastSpell.Name == "Savage Blade" && Me.CurrentTarget.HasAura("Strength Down") && Me.CurrentTarget.HasAura("Goring Blade")); await Spell.CastSpell("Rage of Halone", () => Actionmanager.LastSpell.Name == "Savage Blade" && !Me.CurrentTarget.HasAura("Strength Down")); await Spell.CastSpell("Goring Blade", () => Actionmanager.LastSpell.Name == "Riot Blade" && Me.CurrentTarget.HasAura("Strength Down") && !Me.CurrentTarget.HasAura("Goring Blade")); await Spell.CastSpell("Savage Blade", () => Actionmanager.LastSpell.Name == "Fast Blade" && !Me.CurrentTarget.HasAura("Strength Down")); await Spell.CastSpell("Savage Blade", () => Actionmanager.LastSpell.Name == "Fast Blade" && Me.CurrentTarget.HasAura("Strength Down") && Me.CurrentTarget.HasAura("Goring Blade")); await Spell.CastSpell("Riot Blade", () => Me.CurrentTarget.HasAura("Strength Down") && Actionmanager.LastSpell.Name == "Fast Blade"); await Spell.CastSpell("Fast Blade", () => true); return false; Also: Royal Authority is a level 60 skill, so I'm not sure how this routine would run for Paladins not yet level 60.
I seem to be getting the following error message in my RB log. Sometimes it's right when I click start, others it's after I've been playing with the routine for a little while. I've disabled all plugins just to ensure that there were not conflicts. Class is set to Paladin. Sometimes the routine will continue to function even after the error is received. Other times it won't and RB must be restarted. Aside from this error everything is great.
Hi Eminence, That's something I forgot to disable for Healing testing, I'll disable it when I wake up. Thanks!
Same error as Eminence - I was so g'd up to see it in action. Oh well, sleep well raidingbuddy prince
Trying to edit the default ninja routine. 1. I added Dream Within a Dream and Armor Crush. These work how I want them. However no matter how simple I make the condition the spell Duality it never works. Xcesius if you can help me out with this that would be awesome. The condition i am looking for is pretty much to use it right before Aeolian Edge is casted so it buffs it. This is what I currently have. Code: await Spell.CastSpell("Duality", () => Actionmanager.LastSpell.Name == "Gust Slash" && !Me.CurrentTarget.HasAura("Dancing Edge") || !Me.CurrentTarget.HasAura("Storm's Eye") && !Core.Me.HasAura("Huton", true, 26000)); 2. Does changing the UI settings for ninja not work? I set the Rogue Opener Order to Dancing Edge / Shadow Fang / Mutilate but it always casts Shadow Fang / Mutilate / Dancing Edge 3. How do I turn off Kassatsu? I would like to cast it manually. I tried deleting the spell from the routine but then the routine would not load. 4. What exactly does the ! mark mean. What is the difference between Code: !Me.CurrentTarget.HasAura(AuraBook.Mutilate) and Me.CurrentTarget.HasAura(AuraBook.Mutilate)
Hi tichy, The error should be fixed soon. I'll post a reply when Hi wolfrain62, wow lot's of questions. 1) are they are debuff or a buff? 2) No, none of the UI settings of ninja works because I only added them to be examples. To access / use them, you need to use InternalSettings.Instance.Ninja.SettingHere 3) I'll add a setting for Kassatsu soon. 4) without the "!" it means it will only return true when the target has Mutilate, with "!" it will only return true when the target DOESN'T have the debuff Mutilate. Hi heinzskies, Please look into Ninja or Paladin for examples of this.
New version is up :: Resolved an issue with HealTargetting pulsing when non-healing class. Restricted this to White-Mage only for now Added a setting for Kassatsu in Ninja