• Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • YourRaidingBuddy - Coming Soon

    Discussion in 'Combat Routines' started by Xcesius, May 20, 2015.

    1. Xcesius

      Xcesius Community Developer

      Joined:
      May 1, 2011
      Messages:
      2,050
      Likes Received:
      61
      Trophy Points:
      48
      Progress ::

      UI has been remade : [​IMG]

      Working on Overlay stuff, fixing up some casting methods.
       
      wolfrain62 likes this.
    2. fallenjade

      fallenjade Member

      Joined:
      Feb 4, 2015
      Messages:
      37
      Likes Received:
      0
      Trophy Points:
      6
      Thank you so much for continuing to work on this routine I love this routine because it seems to be the only actual tanking routine!!! much love <3
       
    3. wolfrain62

      wolfrain62 Member

      Joined:
      Aug 22, 2014
      Messages:
      137
      Likes Received:
      0
      Trophy Points:
      16
      If you could add 2 more hotkey's that would be amazing. Also make the overlay size a bit bigger, when I customized it for my own it could barley fit the 2 new overlays labels without them being cut off.
       
    4. Xcesius

      Xcesius Community Developer

      Joined:
      May 1, 2011
      Messages:
      2,050
      Likes Received:
      61
      Trophy Points:
      48
      Hi wolfrain62,

      I will be adding the new overlay that arrived in Rebornbuddy 1-2 months ago this weekend, I'll add a short guide / template inside the source code when I've added it.
       
    5. Xcesius

      Xcesius Community Developer

      Joined:
      May 1, 2011
      Messages:
      2,050
      Likes Received:
      61
      Trophy Points:
      48
      Core Update is coming along well.

      Overlay is working, GUI has been remade from scratch. I've added 2 more SpecialKeys + some minor documentation on how to edit the name on the keys for Overlay Text + inside the Hotkey Tab.

      [​IMG]

      Overlay Picture (NOT fully complete)

      [​IMG]
       
      y2krazy likes this.
    6. wolfrain62

      wolfrain62 Member

      Joined:
      Aug 22, 2014
      Messages:
      137
      Likes Received:
      0
      Trophy Points:
      16
      OO Yea. Looking really good.
       
    7. Xcesius

      Xcesius Community Developer

      Joined:
      May 1, 2011
      Messages:
      2,050
      Likes Received:
      61
      Trophy Points:
      48
      It's already live, but I haven't made any guides yet.

      Editing the SpecialKeys you need to go to following ::

      Interface.cs (Look under Paladin job for examples) and HotkeyManager (There should be an example there)
       
    8. Krahandas

      Krahandas New Member

      Joined:
      Aug 13, 2012
      Messages:
      3
      Likes Received:
      0
      Trophy Points:
      1
      So, I've been working on a bit of a warrior routine designed to be able to be swapped between stances manually. It takes advantage of the warrior debuffs, aiming for 100% uptime on Storm's Eye and Storm's Path on your primary target, however, this does mean as the target changes, it can have a bit of a painful time as it reapplies both of these. If another warrior already has them up, it won't attempt to apply, and goes straight into a DPS rotation. This is designed with several cross-classes in mind, including Internal Release, Provoke (Manual use only), Convalescence, Flash, Awareness. At 75% health it triggers off Foresight/Awareness for defense while healers heal you, at 35%, it kicks off Thrill of Battle, Convalescenese, equib if you're in tank stance, infuriate, blood bath, and inner beast if you're infuriated and in tank stance. I've mostly been running as an i180 warrior tank in A1-A3, and it's allowed me to keep up threat pretty closely with the current rounds of i200-i210 geared DPS in the raids.

      This also supports some basic AoE rotations, taking advantage of Decimate or Steel Cyclone, and will use Infuriate if you're at 3 stacks or below of Wrath/Abandon to trigger these two off. Out of ApE, it prefers to use it on Fell Cleave if you're in DPS stance, to keep your aggro high.

      At my current iLevel, whacking the training dummies, I'm around 650 DPS in DPS stance, 350-400 in Tank, though my gear is awful, so take it as you will. This also tends to keep my TP relatively high, completely whacking the training dummy, I'm hitting around 4-5 minutes before I run out of TP, and DPS is stable through that time. Running in A1-A3, I'm not having any TP issues at all, likely because of the phase changes and buffs from the various people around me.

      Comments and suggestions are welcome, and I'm glad to try out other rotations that may be suggested.

      Code:
      using System.Net.Configuration;
      using System.Threading.Tasks;
      using ff14bot;
      using ff14bot.Enums;
      using ff14bot.Managers;
      using ff14bot.Objects;
      using YourRaidingBuddy.Helpers;
      using YourRaidingBuddy.Settings;
      using YourRaidingBuddy.Books;
      
      namespace YourRaidingBuddy.Rotations
      {
          public class Warrior : Root
          {
              private static LocalPlayer Me { get { return Core.Player; } } //Core.Player.CurrentTarget as BattleCharacter
      
              public override ClassJobType[] Class
              {
                  get { return new[] { ClassJobType.Warrior }; }
              }
      
              public override void OnInitialize()
              {
                  ;
              }
      
              #region NewRotation
      
      
              public static async Task<bool> AutoMode()
              {
                  return await MainRotation();
              }
      
              public static async Task<bool> HotkeyMode()
              {
                  return await MainRotation();
              }
      
              public static async Task<bool> MainRotation()
              {
                  if (!Me.CurrentTarget.IsViable())
                      return false;
                  if (Me.CurrentHealthPercent < 75) await MitigationRotation();
                  if (Me.CurrentHealthPercent < 35) await HealingRotation();
                  if (VariableBook.HkmMultiTarget && await AoeRotation()) return true;
                  if (await
                      Spell.CastSpell("Fell Cleave",
                          () => Me.HasAura("Uncontrollable") && (Actionmanager.LastSpell.Name == "Skull Sunder" ||
                                                                 Actionmanager.LastSpell.Name == "Butcher's Block")))
                      return true;
                  if (!Me.CurrentTarget.HasAura("Storm's Eye") && await StormEyeRotation()) return true;
                  if (!Me.CurrentTarget.HasAura("Storm's Path") && await StormPathRotation()) return true;
                  // if (await Spell.CastSpell("Fracture", () => !Me.CurrentTarget.HasAura("Fracture"))) return true;
                  return await DpsRotation();
              }
      
              public static async Task<bool> StormEyeRotation()
              {
                  if (await Spell.CastSpell("Storm's Eye", () => Actionmanager.LastSpell.Name == "Maim")) return true;
                  if (await Spell.CastSpell("Maim", () => Actionmanager.LastSpell.Name == "Heavy Swing")) return true;
                  if (await Spell.CastSpell("Heavy Swing", () => true)) return true;
      
                  return false;
              }
      
              public static async Task<bool> StormPathRotation()
              {
                  if (await Spell.CastSpell("Storm's Path", () => Actionmanager.LastSpell.Name == "Maim")) return true;
                  if (await Spell.CastSpell("Maim", () => Actionmanager.LastSpell.Name == "Heavy Swing")) return true;
                  if (await Spell.CastSpell("Heavy Swing", () => true)) return true;
      
                  return false;
              }
              // Me.HasAura("Deliverance") ; !Me.HasAura("Abandon") && !Me.HasAura("Abandon II") && !Me.HasAura("Abandon III") ; Me.HasAura("Uncontrollable")
              // Me.HasAura("Defiance") ; !Me.HasAura("Wrath") && !Me.HasAura("Wrath II") && !Me.HasAura("Wrath III") ; Me.HasAura("Infuriated")
      
              public static async Task<bool> DpsRotation()
              {
                  await Spell.CastSpell("Internal Release", Me, () => true);
                  await Spell.CastSpell("Berserk", Me, () => Me.HasAura("Deliverance"));
                  if (await Spell.CastSpell("Flash", Me, () => Me.HasAura("Defiance") && Me.CurrentMana > 800)) return true;
                  await Spell.CastSpell("Unchained", Me, () => Me.HasAura("Infuriated"));
                  if (await Spell.CastSpell("Steel Cyclone", Me, () => Me.HasAura("Infuriated"))) return true;
                  await Spell.CastSpell("Brutal Swing", () => true);
                  await
                      Spell.CastSpell("Mercy Stroke", () =>
                              Me.CurrentTarget.CurrentHealthPercent < 20 && Me.CurrentTarget != null &&
                              (Actionmanager.LastSpell.Name == "Skull Sunder" ||
                               Actionmanager.LastSpell.Name == "Butcher's Block"));
                  await Spell.CastSpell("Infuriate", Me, () => (Me.HasAura("Abandon") || Me.HasAura("Abandon II") || Me.HasAura("Abandon III")) && (Actionmanager.LastSpell.Name == "Skull Sunder" ||
                                                                 Actionmanager.LastSpell.Name == "Butcher's Block"));
                  if (await
                      Spell.CastSpell("Fell Cleave",
                          () => Me.HasAura("Uncontrollable") && (Actionmanager.LastSpell.Name == "Skull Sunder" ||
                                                                 Actionmanager.LastSpell.Name == "Butcher's Block")))
                      return true;
                  if (await Spell.CastSpell("Butcher's Block", () => Actionmanager.LastSpell.Name == "Skull Sunder")) return true;
                  if (await Spell.CastSpell("Skull Sunder", () => Actionmanager.LastSpell.Name == "Heavy Swing")) return true;
                  if (await Spell.CastSpell("Heavy Swing", () => true)) return true;
                  return false;
              }
      
              public static async Task<bool> AoeRotation()
              {
                  if (Me.HasAura("Deliverance"))
                  {
                      await Spell.CastSpell("Infuriate", Me, () => Me.HasAura("Abandon") || Me.HasAura("Abandon II") || Me.HasAura("Abandon III"));
                      if (await Spell.CastSpell("Decimate", () => Me.HasAura(734))) return true;
                  }
                  else if (Me.HasAura("Defiance"))
                  {
                      await Spell.CastSpell("Infuriate", Me, () => Me.HasAura("Wrath") || Me.HasAura("Wrath II") || Me.HasAura("Wrath III"));
                      if (await Spell.CastSpell("Steel Cyclone", () => Me.HasAura("Infuriated"))) return true;
                  }
                  return false;
              }
      
              public static async Task<bool> MitigationRotation()
              {
                  await Spell.CastSpell("Foresight", Me, () => true);
                  await Spell.CastSpell("Awareness", Me, () => true);
      
                  return true;
              }
      
              public static async Task<bool> HealingRotation()
              {
                  await Spell.CastSpell("Thrill of Battle", Me, () => true);
                  await Spell.CastSpell("Convalescence", Me, () => true);
                  await Spell.CastSpell("Equilibrium", Me, () => Me.HasAura("Defiance"));
                  await Spell.CastSpell("Infuriate", Me, () => true);
                  await Spell.CastSpell("Bloodbath", Me, () => true);
                  await Spell.CastSpell("Inner Beast", Me, () => Me.HasAura("Infuriated"));
                  return true;
              }
      
              #endregion
      
          }
      }
      
       
    9. hkme

      hkme Member

      Joined:
      May 12, 2014
      Messages:
      197
      Likes Received:
      0
      Trophy Points:
      16
      How can I close the overlay? It stays visible even I changed to other botbase & CR
       
    10. Xcesius

      Xcesius Community Developer

      Joined:
      May 1, 2011
      Messages:
      2,050
      Likes Received:
      61
      Trophy Points:
      48
      Soon, I forgot to add the dispose thing on Shutdown.
       
    11. fakeangels3

      fakeangels3 New Member

      Joined:
      Jul 12, 2014
      Messages:
      19
      Likes Received:
      0
      Trophy Points:
      1
      Wolfrain, Love your ninja profile.

      Thank you very much for it.

      One question, can you add HP check for suiton?
       
    12. wolfrain62

      wolfrain62 Member

      Joined:
      Aug 22, 2014
      Messages:
      137
      Likes Received:
      0
      Trophy Points:
      16
      Yea Np, as soon as i find out how to fix the overlay refresh ill upload the updated ninja cr and new overlay files.
       
      Last edited: Dec 30, 2015
    13. wolfrain62

      wolfrain62 Member

      Joined:
      Aug 22, 2014
      Messages:
      137
      Likes Received:
      0
      Trophy Points:
      16
      @Xcesius gonna need some help on the overlay, I got it working but the logs will spam [19:58:21.205 N] [YourRaidingBuddy] Overlay: Rendering the overlay (YRBNinjutsu).

      Here is the log:
      View attachment 11688 2015-12-30 13.57.txt

      Here is the overlaycontrol file I changed:
      View attachment OverlayControl.cs

      I know it has to do with the overlayrefresh but it should work just like the others that do not spam the log.
       
      Last edited: Dec 30, 2015
    14. Xcesius

      Xcesius Community Developer

      Joined:
      May 1, 2011
      Messages:
      2,050
      Likes Received:
      61
      Trophy Points:
      48
      wolfrain62,

      Please create a get; set for OverlayRefreshSpecialKey in VariableBook

      VariableBook.OverlayRefreshCooldowns = false;

      Then edit this line under YRBNinjutsu to VariableBook.OverlayRefreshSpecialKey = false;
       
      Last edited: Dec 30, 2015
    15. wolfrain62

      wolfrain62 Member

      Joined:
      Aug 22, 2014
      Messages:
      137
      Likes Received:
      0
      Trophy Points:
      16
      awesome its fixed tnx.

      Ninja Changelog:
      Updated Overlay with the new overlay
      Added Sution HP setting

      Hotkey Settings:
      Cooldowns include Internal Release, Blood for Blood, Mug, and Dream within a Dream
      Specialkey = Ninjutsu and Kassatsu
      Specialkey1 = Juggulate
      Specialkey2= Suiton
      Specialkey3 = Dancing Edge

      Ninja.cs goes into YourRaidingBuddy > Rotations > Jobs
      NinjaSettings.cs goes into YourRaidingBuddy > Core > Settings > Jobs
      OverlayControl.cs goes into YourRaidingBuddy > Core > Interface > Overlay
       

      Attached Files:

      Last edited: Dec 30, 2015
    16. fakeangels3

      fakeangels3 New Member

      Joined:
      Jul 12, 2014
      Messages:
      19
      Likes Received:
      0
      Trophy Points:
      1
      thank you very much wolfrain and xcesius.

      awesome addition. :) donated

      ps; can i join discord? i am learning, altho very slowly, to trying to make a monk routine.
       
    17. fakeangels3

      fakeangels3 New Member

      Joined:
      Jul 12, 2014
      Messages:
      19
      Likes Received:
      0
      Trophy Points:
      1
      Can anyone guide me a little please?

      I'm trying to make a very simple profile to learn. But, It does not use any spells.

      Could anyone point me my mistake, and help me figure it some please?

      thank you very much in advance.
       

      Attached Files:

      • Monk.cs
        File size:
        2.4 KB
        Views:
        392
    18. Xcesius

      Xcesius Community Developer

      Joined:
      May 1, 2011
      Messages:
      2,050
      Likes Received:
      61
      Trophy Points:
      48
      Added wolfrain62's latest ninja rotation files.
      Added Krahandas's latest warrior rotation files
      Added fakeangels3 Monk rotation. Added Monk into Behaviors.cs so that the rotation executes.

      Also fakeangels3, I have pm'ed both you and wolfrain62 the discord server.
       
    19. nchawk

      nchawk New Member

      Joined:
      Oct 2, 2015
      Messages:
      13
      Likes Received:
      0
      Trophy Points:
      1
      Is the progress bar on the front page still accurate? Judging by recent posts it looks like you're quite a bit further along :).
       
    20. wolfrain62

      wolfrain62 Member

      Joined:
      Aug 22, 2014
      Messages:
      137
      Likes Received:
      0
      Trophy Points:
      16
      yea the progress bar has not been updated for a pretty long time.
       

    Share This Page