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

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

YourRaidingBuddy - Coming Soon

Getting compiler Errors since last update.

[03:03:22.861 N] Compiler Error: c:\Program Files (x86)\Reborn\Routines\YourRaidingBuddy\Root.cs(30,46) : warning CS0109: The member 'YourRaidingBuddy.Root.Revision' does not hide an inherited member. The new keyword is not required.
[03:03:22.861 N] Compiler Error: c:\Program Files (x86)\Reborn\Routines\YourRaidingBuddy\Behaviors.cs(370,127) : error CS0234: The type or namespace name 'Machinist' does not exist in the namespace 'YourRaidingBuddy.Rotations' (are you missing an assembly reference?)
[03:03:22.861 N] Compiler Error: c:\Program Files (x86)\Reborn\Routines\YourRaidingBuddy\Behaviors.cs(381,127) : error CS0234: The type or namespace name 'Machinist' does not exist in the namespace 'YourRaidingBuddy.Rotations' (are you missing an assembly reference?)
[03:03:22.861 N] Compiler Error: c:\Program Files (x86)\Reborn\Routines\YourRaidingBuddy\Root.cs(158,40) : warning CS1998: This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
[03:03:22.861 N] Compiler Error: c:\Program Files (x86)\Reborn\Routines\YourRaidingBuddy\Core\Helpers\Movement.cs(133,13) : warning CS0162: Unreachable code detected
[03:03:22.861 N] Compiler Error: c:\Program Files (x86)\Reborn\Routines\YourRaidingBuddy\Core\Helpers\Spell.cs(491,40) : warning CS1998: This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
[03:03:22.861 N] Compiler Error: c:\Program Files (x86)\Reborn\Routines\YourRaidingBuddy\Rotations\Jobs\Bard.cs(36,40) : warning CS1998: This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
 
Correct File - Machinist



Thanks again Xcesius,

You were right, I uploaded a really old version. I'm including the one I meant to post, sorry. I updated MachinistSettings and tied them to my rotation. Added null checks following your example. Please let me know if there's anything else I can improve.
 

Attachments

Dragoooonnnnnn.

Had so much fun doing this, still not perfect and some bits untested but it mostly works and usable. Super minimal for now but I do want to expand on some of these skills.

I'm unsure how to use Semi-Hotkey mode though. I'm afraid to say that I haven't used YRB in WoW much so I don't know how it was used in WoW. So I made it a simple press button to AoE mode, its either this or press button to CD mode.

In full Hotkey mode, press Special key to spam jumps. AoE button works and CD button works.

I can't get it to AoE magically. Or maybe it does work but I haven't pulled enough mobs? Whatever.
 
it was working fine for like 5 minutes then my game crashed and its not working anymore. i deleted it and re installed it and still wont work. anyone know whats going on?
 
New update is out -->


  • Updated Dark Knight rotation //Thanks heinzskies!
  • Added Dragoon Rotation and Settings //Thanks khld!
  • Updated Machinist rotation and settings //Thanks Warcren!
  • Added new spell cast method (Work in progress) that uses CanCastOrQueue, if you want to use this please use SpellBook for SpellID's. Using CanCastOrQueue means you won't be able to queue manually anymore. It will follow the rotation to the point (400-500 ms queue timer)
  • Tweaked CastLocation on spell to be sort of randomized upto 3f (CombatReach * 0.5 * 0.0-1.0) //Thanks Chris!
  • Fixed ApplyCast bug where it wouldn't take dot spells into account. Should work for Summoner now
 
When i finished leveling i will try to work something out for BLM. You seem to have a nice core base for creating profiles :).

One question tho Xcesius:
BLM in 3.0 requires us to switch situation wise between rotations and for that it has to check 3 given cases. Is this possible to do in a way of good performance with your routine?

To clarify my question i will put a quote about rotations in 3.0 from a good guide source into the following spoiler.

Rotations
It's finally time to talk about the BLM rotations. By now you should notice that rotation is in plural. The reason behind it is because we don't have a static rotation like Dragoons for example. It is all based on Enochian and your available CDs.

First of all, you will notice when I link the rotations I do not track the time. That's because Enochian acts like a time tracker itself. The first time you use it, it lasts 30 seconds. The second time 25 seconds, the third time 20 seconds and your rotation will vary according to the random procs your will get from Fire I and your filler Thunder 1.

The opener is concrete however, because all your cooldowns will be up and it last roughly 23-24 seconds.
n3RQ7o4.png


The rotation when you do not have any cooldown up is this:
hfBgnVB.png





There are two options for this. First of all, any ability with a * means if you get a proc. Also, if you get a Thundercloud and Firestarter and it's your 25 seconds Enochian, you cannot use both or you'll lose Enochian. It is best to use the F3P and use T3P during the Umbral Ice after B4.

The rotation when Sharpcast and Enochian CDs are up. These CDs should be use inside the Umbral Ice rotation. Not inside Astral Fire.
KFpomPH.png




There are two options again. They will give the same results in term of DPS. The difference is if you have to deal with a mechanic while this is your rotation. Your proc should be used as a buffer to move.

These are the main rotations I work with on my BLM. When it comes to movement, I use my procs, Aetherial or Swiftcast to move around and deal with them. Ultimately, if I have nothing and I must move. I will either turn a F4 into a F1 to keep my stats or use Scathe. I haven't seen a single fight in 3.0 so far that forced the usage of Scathe.

Now let's talk about the Umbral Ice rotations. It is the time during your rotation you deal the least amount of damage. You do not want this rotation to last. When I described the spells, I mentioned that Thunder I and Blizzard 1 were filler moves. They are only part of the rotation because we can't control the server mana ticks. You need two ticks of mana to be full in MP. Each tick is 3 seconds. So it could take as little as 3 seconds or as much as about 6 seconds. Blizzard IV is required in this rotation and its cast time is 3 seconds and to change back into Astral Fire, you need to cast Fire III which is 1.5 seconds. Let's see the possibilities.

uulbw6S.png


The first situation is a quick mana tick and you have enough mana for B4. There is no filler spell to use.

The second situation, you have enough mana for B4 but it's a slow mana tick so you use a filler. You will have to use T1. There is a possibility that you got a previous Thundercloud proc and it's a great time to use it. There is also a possibility you already have a Thunder DoT going on, this mean B1 is superior.

The third situation is with a slow mana tick and you do not have MP to cast B4. This will happen a lot in your opener. You'll end up with about 600 to 700 MP. You will cast with mana priority either T1 or B1 then you will cast B4.

The final situation is when Enochian and Sharpcast are up. This mean you do not want to refresh Enochian. You will T1 then precast Sharpcast, F3 then Enochian. Unless you have a DoT going on, you'll use B1.

There is also another possiblity that I did not do the maths on but I found interesting. It is definitely more risky but on the video that you'll see it shows it. You may do Sharpcast > T1 > F3 > Enochian. This mean you will get a Thundercloud Proc you can only use after casting F1 in your Astral Fire rotation. This situation bets on the 40% chance to get a F3 Proc. This situation will always happen when you have 30 seconds Enochian and extra procs does not hurt Enochian. It definitely did not hurt on the dummy fight.

What rotation should you use if you ever lose Enochian?

It's unfortunate but it will happen that you lose Enochian. It leaves you to the old 2.0 rotation which is F3 > F1x4 > Procs > B3

AoE rotation

I won't detail this too much since we've got zero new AoE abilities. The regular AoE opener is F3 > RS + Enochian > F2 (until low mana > Flare > Convert Swiftcast Flare > [Transpose > F3 > F2 > Flare]*On repeat.

This rotation should only be use for 3 targets or more.

If you face a pull or a boss that has 2 targets next to each other there's a little variation you may do. First, this variation shouldn't be use if it's going to cost you to lose Enochian early. You keep your single target rotation and finish with Flare. You should only do that if you have about 6 seconds left on Enochian so you can refresh it with Blizzard 4. You may also use Swiftcast on B4 if it's available.


credits/source
 
New update is out -->


  • Tweaked CastLocation on spell to be sort of randomized upto 3f (CombatReach * 0.5 * 0.0-1.0) //Thanks Chris!


Awesome update. Does this happen to include all ground targetted spells (ie. Dark Knight Salted Earth)?

Thanks for the work on this routine!
 
Awesome update. Does this happen to include all ground targetted spells (ie. Dark Knight Salted Earth)?

Thanks for the work on this routine!

Hi anonbuddy1,

Yes, it applies to all spells being casted from usage :: Spell.CastLocation
 
i freaking love the DRK ruitine so much but i am unable to use orber bot with it and going back to kupo after using this is sooooooo sad. is there any chance to make this work with order bot?
 
Some people wanted me to post the code for ninja where I changed raiton to fuma. I will eventually get to simply adding a hotkey function that switches ration and fuma on or off.

Change Lines 230 and 242 from CastFuma(); to CastRaiton(); in the Ninja.cs file.

Before Change:
Code:
        internal static async Task<bool> DoNinjutsu()
        {


            //Exit early if player was inputting something
            if (Core.Player.HasAura("Mudra"))
                return true;

            if (Actionmanager.CanCastOrQueue(Jin, null))
            {
                if (!Core.Player.HasAura("Huton", true, HutonRecast))
                {
                    Logger.Write("YourRaidingBuddy Casting " + "Huton" + "Chi Combo!");
                    await CastHuton();
                    return false;
                }

                var curTarget = Core.Target as BattleCharacter;
                if (curTarget == null)
                    return false;

                //  if (curTarget.TimeToDeath() <= 3)
                //       return false;

                //Suiton
                var taCD = Trick_Attack.Cooldown;
                //We can start casting suiton before trick attack is ready cause its going to take some time
                if (taCD.TotalMilliseconds <= 1300)
                {
                    if (!await CastSuiton())
                        return false;

                    

                    return false;

                }

                if (taCD.TotalSeconds >= 5)
                {
         [B]  HERE!!!!         await CastFuma();[/B]
                }


                return false;
            }



            if (Actionmanager.CanCastOrQueue(Chi, null) && Me.CurrentTarget.HasAura("Shadow Fang"))
            {
                Logger.Write("YourRaidingBuddy Casting " + "Fuma");
             [B]HERE!!  await CastFuma();[/B]
                return false;
            }

            if (Actionmanager.CanCastOrQueue(Ten, null))
            {
                Logger.Write("YourRaidingBuddy Casting " + "Ten" + "Ninjutsu!");

                {
                    await Coroutine.Wait(2000, () => Actionmanager.DoAction(Ten, null));
                    await CastNinjutsu();
                    return false;
                }
            }




            return false;
        }

After Change:
Code:
        internal static async Task<bool> DoNinjutsu()
        {


            //Exit early if player was inputting something
            if (Core.Player.HasAura("Mudra"))
                return true;

            if (Actionmanager.CanCastOrQueue(Jin, null))
            {
                if (!Core.Player.HasAura("Huton", true, HutonRecast))
                {
                    Logger.Write("YourRaidingBuddy Casting " + "Huton" + "Chi Combo!");
                    await CastHuton();
                    return false;
                }

                var curTarget = Core.Target as BattleCharacter;
                if (curTarget == null)
                    return false;

                //  if (curTarget.TimeToDeath() <= 3)
                //       return false;

                //Suiton
                var taCD = Trick_Attack.Cooldown;
                //We can start casting suiton before trick attack is ready cause its going to take some time
                if (taCD.TotalMilliseconds <= 1300)
                {
                    if (!await CastSuiton())
                        return false;

                    

                    return false;

                }

                if (taCD.TotalSeconds >= 5)
                {
             [B]  HERE!!!     await CastRaiton();[/B]
                }


                return false;
            }



            if (Actionmanager.CanCastOrQueue(Chi, null) && Me.CurrentTarget.HasAura("Shadow Fang"))
            {
                Logger.Write("YourRaidingBuddy Casting " + "Raiton");
           [B]  Here!!!   await CastRaiton();[/B]
                return false;
            }

            if (Actionmanager.CanCastOrQueue(Ten, null))
            {
                Logger.Write("YourRaidingBuddy Casting " + "Ten" + "Ninjutsu!");

                {
                    await Coroutine.Wait(2000, () => Actionmanager.DoAction(Ten, null));
                    await CastNinjutsu();
                    return false;
                }
            }




            return false;
        }

Do not forget to delete the HERE !!!! from the code if your doing copy and paste.
 
Last edited:
Back
Top