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!

[Release] RebornBuddy64 Version 1.0.681 - DirectX11 / x64 bit compatible

Seems that Mud Assist didn't work, so I switched to built in Combat Assist and it's getting held up with the bite rotations. I also had to seem to engage the target first for it to start working. In the second clean test, it uses Mage's Ballad and then immediately Paeon.

[02:27:20.863 N] Clearing all hooks.
[02:27:20.863 D] Inserted new hook [TreeStart @0] 2f2bbeb1-d792-49a8-a25c-b4c462a59fd5
[02:27:20.863 D] Replaced hook [PreCombatBuff] 20325a52-8c75-4d80-8efb-1c213e6ccd74
[02:27:20.863 D] Replaced hook [Heal] 8e7d1e93-229f-4836-bd0f-dd7c4bb98fca
[02:27:20.863 D] Replaced hook [Pull] 00582e3f-1a93-4f30-98cd-8cafd93b6f64
[02:27:20.863 D] Replaced hook [CombatBuff] 8d32fdac-94a2-47f5-836f-a6e41c4d9c1f
[02:27:20.863 D] Replaced hook [Combat] 3223592e-03bb-4471-942d-754f9f16d66d
[02:27:20.863 D] Replaced hook [Rest] 7fca8099-f8a4-4631-9bc3-ef4f59665ca4
[02:27:20.863 N] [Kupo] Hooks cleared, re-creating behaviors
[02:27:20.863 D] Replaced hook [Kupo.Combat] e6b23f27-36c3-428d-af81-5d1ade7b37fc
[02:27:20.864 D] Replaced hook [Kupo.Pull] b79cbe7d-49f1-493b-b1c6-bd43ac11ae5d
[02:27:20.864 D] Replaced hook [Kupo.Rest] 887e0bb0-3b43-440d-86ad-44c8ffdf44ba
[02:27:20.864 D] Replaced hook [Kupo.CombatBuffs] e9d8df8a-a4e0-4c26-aeca-37f18086394c
[02:27:20.864 D] Replaced hook [Kupo.Heal] 1a45a12f-2782-477f-8579-3ba5b90b34b4
[02:27:20.864 D] Replaced hook [Kupo.PreCombatBuffs] 10dda9ee-a0fb-4bb0-9a3c-bb203ea5bedc
[02:27:20.864 D] Navigator.Clear()
[02:27:20.864 D] OnStop event
[02:27:20.864 D] OnStop Event Invoking
[02:27:20.864 N] Bot Thread Ended.
[02:29:08.904 N] Bot Thread Started.
[02:29:08.905 N] Starting Combat Assist
[02:29:14.873 N] [Kupo] Applying Barrage
[02:29:14.873 D] DoAction Spell 107 0x106DCDDB
[02:29:14.905 N] [Kupo] Applying Raging Strikes
[02:29:14.905 D] DoAction Spell 101 0x106DCDDB
[02:29:15.705 N] [Kupo] Casting Empyreal Arrow
[02:29:15.705 D] DoAction Spell 3558 0x4000107F
[02:29:16.506 N] [Kupo] Casting Straight Shot
[02:29:16.506 D] DoAction Spell 98 0x4000107F
[02:29:17.339 N] [Kupo] Casting Bloodletter
[02:29:17.339 D] DoAction Spell 110 0x4000107F
[02:29:18.139 N] [Kupo] Casting Mage's Ballad
[02:29:18.139 D] DoAction Spell 114 0x4000107F
[02:29:18.938 N] [Kupo] Casting Army's Paeon
[02:29:18.938 D] DoAction Spell 116 0x4000107F
[02:29:19.873 N] [Kupo] Applying Windbite
[02:29:19.873 D] DoAction Spell 113 0x4000107F
[02:29:23.238 N] [Kupo] Applying Windbite
[02:29:23.238 D] DoAction Spell 113 0x4000107F
[02:29:25.738 N] [Kupo] Casting Straight Shot
[02:29:25.738 D] DoAction Spell 98 0x4000107F
[02:29:28.139 N] [Kupo] Applying Windbite
[02:29:28.139 D] DoAction Spell 113 0x4000107F
[02:29:30.445 N] [Kupo] Applying Venomous Bite
[02:29:30.445 D] DoAction Spell 100 0x4000107F
[02:29:30.738 N] [Kupo] Casting Battle Voice
[02:29:30.738 D] DoAction Spell 118 0x106DCDDB
[02:29:32.739 N] [Kupo] Casting Straight Shot
[02:29:32.739 D] DoAction Spell 98 0x4000107F
[02:29:33.139 N] [Kupo] Casting Bloodletter
[02:29:33.139 D] DoAction Spell 110 0x4000107F
[02:29:35.038 N] [Kupo] Applying Windbite
[02:29:35.038 D] DoAction Spell 113 0x4000107F
[02:29:36.176 N] Stopping the bot. Reason:pushed the stop button.
[02:29:36.206 D] CurrentBot.Stop()
[02:29:36.206 D] TreeHooks.Instance.ClearAll()
[02:29:36.206 N] Clearing all hooks.
[02:29:36.206 D] Inserted new hook [TreeStart @0] 9c3c762d-0e34-4ad3-934a-d2b19fce8a30
[02:29:36.206 D] Replaced hook [PreCombatBuff] 20325a52-8c75-4d80-8efb-1c213e6ccd74
[02:29:36.206 D] Replaced hook [Heal] 8e7d1e93-229f-4836-bd0f-dd7c4bb98fca
[02:29:36.206 D] Replaced hook [Pull] 00582e3f-1a93-4f30-98cd-8cafd93b6f64
[02:29:36.206 D] Replaced hook [CombatBuff] 8d32fdac-94a2-47f5-836f-a6e41c4d9c1f
[02:29:36.206 D] Replaced hook [Combat] 3223592e-03bb-4471-942d-754f9f16d66d
[02:29:36.206 D] Replaced hook [Rest] 7fca8099-f8a4-4631-9bc3-ef4f59665ca4
[02:29:36.206 N] [Kupo] Hooks cleared, re-creating behaviors
[02:29:36.207 D] Replaced hook [Kupo.Combat] 13c3b413-472d-4c46-942f-511db79a1564
[02:29:36.207 D] Replaced hook [Kupo.Pull] ab5707b1-b1fd-4150-aacd-223163cf9079
[02:29:36.207 D] Replaced hook [Kupo.Rest] 02fcae27-b4af-4a48-81e4-53852a5960b8
[02:29:36.207 D] Replaced hook [Kupo.CombatBuffs] 6265c3e2-c235-438d-974e-e089e1363f22
[02:29:36.207 D] Replaced hook [Kupo.Heal] 610a0869-e8a5-4afe-a123-6f7d021fc190
[02:29:36.207 D] Replaced hook [Kupo.PreCombatBuffs] 0e548518-72b2-4757-9b85-716395191caf
[02:29:36.207 D] Navigator.Clear()
[02:29:36.207 D] OnStop event
[02:29:36.207 D] OnStop Event Invoking
[02:29:36.207 N] Bot Thread Ended.

I have the same problem
 
Machinist overheat and battery
Dark knight darkside

ActionResourceManager.CostTypesStruct is now public, for classes that still need additonal fixes please log in the console

Log("struct: {0}",ActionResourceManager.CostTypesStruct);

a few times before and after generating the resources that need to be added/updated
 
Is there any way for the converted-to-other-skills to return false for their converted counterpart in CanCast while not proc'd?

For example, Veraero(7507) becomes Verholy(7526) at level 70, but only when proc'd off of a different combo. When you try to `Log(ActionManager.CanCast(7526, Core.Me.CurrentTarget));` even when it's not proc'd though, it still returns as true, because you *can* still cast Veraero at the target.
Verholy probably shouldn't be in the actioncache, i tried to filter out actions that aren't stuff you can actually put on your bars but getting the other resources working was taking priority. Don't try and cancast Verholy, it should be converted automatically if you cancast veraero

Alternatively, is it possible to check the ComboTimeLeft after a particular skill, in place of in general? I ask this because you can have multiple skills that have a valid ComboTimeLeft for them at the same time.

Example please of where thats needed
 
Example please of where thats needed

Sure, so in the case of Red Mage, while going through the rotation, you are using Veraero and Verstone to proc Verstone and Verfire. Those are easy to see if procc'd, because you get an aura "X-Ready", but in the case of Verholy and Verflare, the proc happens after you execute Enchanted Reboublement. The proc in this case, while still a combo (it surrounds the ability in the combo border) is changing the spells Veraero/Verthunder to Verholy/Verflare. Verholy and Verflare are no longer their own spell. (If you try to cast their spell ID without it being ready, it just casts Veraero/Verthunder instead.)

If, for example, we were able to find what is telling which skill is next in the combo as a valid combo step, we could check for that before trying to cast the ability. So, in this case, check the skill Verholy itself for the ComboTimeRemaining to use it if it is in fact the next step in the combo, or check a"NextComboStep" to see what is next in the combo that we could cast. In the second case, if we could check "NextComboStep" We could then apply that to *ALL* combos in all classes, the 1,2,3's of the rotation, rather than relying on Actionmanager.LastSpell.

As an example, again in the case of RDM,(I left out the targets on the DoActions):

DoAction(Riposte);

if (NextComboStep == Spells.Zerchhau)
DoAction(Zerchhau);

if (NextComboStep == Spells.Redoublement)
DoAction(Redoublement);

if (NextComboStep == Spells.Verholy || NextComboStep == Spells.Verfare)
{
if (WhiteMana < BlackMana)
DoAction(Verholy);
DoAction(Verflare);
}
 
That was a long explanation that did little to explain why ActionManager.ComboTimeLeft was insufficient
 
I've fixed the issue preventing deepdive from working and deployed the update to the navigation server.
 
Sure, so in the case of Red Mage, while going through the rotation, you are using Veraero and Verstone to proc Verstone and Verfire. Those are easy to see if procc'd, because you get an aura "X-Ready", but in the case of Verholy and Verflare, the proc happens after you execute Enchanted Reboublement. The proc in this case, while still a combo (it surrounds the ability in the combo border) is changing the spells Veraero/Verthunder to Verholy/Verflare. Verholy and Verflare are no longer their own spell. (If you try to cast their spell ID without it being ready, it just casts Veraero/Verthunder instead.)

If, for example, we were able to find what is telling which skill is next in the combo as a valid combo step, we could check for that before trying to cast the ability. So, in this case, check the skill Verholy itself for the ComboTimeRemaining to use it if it is in fact the next step in the combo, or check a"NextComboStep" to see what is next in the combo that we could cast. In the second case, if we could check "NextComboStep" We could then apply that to *ALL* combos in all classes, the 1,2,3's of the rotation, rather than relying on Actionmanager.LastSpell.

As an example, again in the case of RDM,(I left out the targets on the DoActions):

DoAction(Riposte);

if (NextComboStep == Spells.Zerchhau)
DoAction(Zerchhau);

if (NextComboStep == Spells.Redoublement)
DoAction(Redoublement);

if (NextComboStep == Spells.Verholy || NextComboStep == Spells.Verfare)
{
if (WhiteMana < BlackMana)
DoAction(Verholy);
DoAction(Verflare);
}
After re-reading it, you want what a function that returns a list of spells that are currently eligible to progress the active combo? The property SpellData.ComboSpellId was broken but works again in the next version, so you can iterate the actioncache compare the spelldata.combospellid against actionmanager.lastspell.id and that will give you the spells that will progress a combo.

Again tho, you shouldn't really check verholy since its not an action you can drag onto your bars.
 
That was a long explanation that did little to explain why ActionManager.ComboTimeLeft was insufficient

That's fair.

Its insufficient, because we don't know what combo we should execute next. There can be multiple combos that are active and valid at the same time, and there's no way to differentiate.

Edit: Reading your last post, and that should help as well. Heard and understood about the Verholy thing as well.

Edit2: Yes, having a function that returns the spells that are combo eligible would be fantastic, though we could make a comparison to the comboid of the spell previous as well. The first method would just be simpler to work with.
 
Last edited:
That's fair.

Its insufficient, because we don't know what combo we should execute next. There can be multiple combos that are active and valid at the same time, and there's no way to differentiate.

Edit: Reading your last post, and that should help as well. Heard and understood about the Verholy thing as well.

Edit2: Yes, having a function that returns the spells that are combo eligible would be fantastic, though we could make a comparison to the comboid of the spell previous as well. The first method would just be simpler to work with.

Those secondary combos seem to be part of the actionresourcemanager stuff, log the previously provided statements and see if its there. if it is ill add it to the manager.
 
hose secondary combos seem to be part of the actionresourcemanager stuff, log the previously provided statements and see if its there. if it is ill add it to the manager.

I'll take a looksee. Thanks for all your work.

Edit: Went through a couple of rotations worth, and I am not seeing anything on the combos being in this struct. I can definitely see the White/Blackmana from the ActionManagerResource going up and down, no idea what that timer is, but it looks like a Mana total perhaps? But nothing to do with any of the combos in the Melee set, procs, or Verholy/flare.

struct: ResourceTable: { timer: 19017, timer2: 0, offset_8: 73, offset_9: 74, offset_A: 0, offset_B: 0, offset_C: 0, offset_D: 0, offset_E: 0 }
struct: ResourceTable: { timer: 19017, timer2: 0, offset_8: 73, offset_9: 74, offset_A: 0, offset_B: 0, offset_C: 0, offset_D: 0, offset_E: 0 }
struct: ResourceTable: { timer: 19799, timer2: 0, offset_8: 87, offset_9: 77, offset_A: 0, offset_B: 0, offset_C: 0, offset_D: 0, offset_E: 0 }
struct: ResourceTable: { timer: 19799, timer2: 0, offset_8: 87, offset_9: 77, offset_A: 0, offset_B: 0, offset_C: 0, offset_D: 0, offset_E: 0 }
struct: ResourceTable: { timer: 22624, timer2: 0, offset_8: 96, offset_9: 88, offset_A: 0, offset_B: 0, offset_C: 0, offset_D: 0, offset_E: 0 }
struct: ResourceTable: { timer: 8489, timer2: 0, offset_8: 41, offset_9: 33, offset_A: 0, offset_B: 0, offset_C: 0, offset_D: 0, offset_E: 0 }
struct: ResourceTable: { timer: 2064, timer2: 0, offset_8: 16, offset_9: 8, offset_A: 0, offset_B: 0, offset_C: 0, offset_D: 0, offset_E: 0 }
struct: ResourceTable: { timer: 7440, timer2: 0, offset_8: 16, offset_9: 29, offset_A: 0, offset_B: 0, offset_C: 0, offset_D: 0, offset_E: 0 }
struct: ResourceTable: { timer: 7440, timer2: 0, offset_8: 16, offset_9: 29, offset_A: 0, offset_B: 0, offset_C: 0, offset_D: 0, offset_E: 0 }
struct: ResourceTable: { timer: 9744, timer2: 0, offset_8: 16, offset_9: 38, offset_A: 0, offset_B: 0, offset_C: 0, offset_D: 0, offset_E: 0 }
struct: ResourceTable: { timer: 9755, timer2: 0, offset_8: 27, offset_9: 38, offset_A: 0, offset_B: 0, offset_C: 0, offset_D: 0, offset_E: 0 }
 
Last edited:
@mastahg
The CR isnt updated for ShB yet, but it wouldn't even target Thancred for healing (but will target player tanks in non trust dungeons). I know natively RB doesnt support healing (or didn't), just wondering if this is something that I need to bring up with yourself or CR author.
 

Attachments

@mastahg
The CR isnt updated for ShB yet, but it wouldn't even target Thancred for healing (but will target player tanks in non trust dungeons). I know natively RB doesnt support healing (or didn't), just wondering if this is something that I need to bring up with yourself or CR author.
Probably cr level stuff.
 
Still need someone to run
Code:
Log("struct: {0}",ActionResourceManager.CostTypesStruct);
in the console before and adding power to the bard soul voice gauge.
 
Still need someone to run
Code:
Log("struct: {0}",ActionResourceManager.CostTypesStruct);
in the console before and adding power to the bard soul voice gauge.

Before 0 Charge:
struct: ResourceTable: { timer: 0, timer2: 0, offset_8: 0, offset_9: 0, offset_A: 0, offset_B: 0, offset_C: 0, offset_D: 0, offset_E: 0 }

After 100 Charge:
struct: ResourceTable: { timer: 0, timer2: 25600, offset_8: 0, offset_9: 0, offset_A: 0, offset_B: 100, offset_C: 12, offset_D: 0, offset_E: 0 }
 
thanks, pushing a new build now. Still need one for the dark knight, dark arts
 
Sorry,commit didnt get pushed properly. rebuilding now.
 
Back
Top