Hekili Priority Helper

Hekili Priority Helper

46M Downloads

[FEATURE] Outlaw Rogue. BtE with Crackshot triggers CtO.

IIeTpoc opened this issue ยท 0 comments

commented

Before You Begin

  • I confirm that I have downloaded the latest version of the addon.
  • I am not playing on a private server.
  • I checked for an existing, open ticket for this request and was not able to find one.
  • I edited the title of this feature request (above) so that it describes the issue I am reporting.

Feature Request

Outlaw Rogue. Between The Eyes with Crackshot talent during Crackshot windows can actually trigger Count The Ods and grant one of Roll The Bones buffs for 5 seconds.
This new interaction is not yet added to the addon and might affect Roll the Bones reroll calculation.

In RogueOutlaw.lua line 504 there are spells, that can applicate RtB.

local rtbApplicators = {
    roll_the_bones = true,
    ambush = true,
    dispatch = true,
    keep_it_rolling = true,
}

local lastApplicator = "roll_the_bones"

local rtbSpellIDs = {
    [315508] = "roll_the_bones",
    [381989] = "keep_it_rolling",
    [193356] = "broadside",
    [199600] = "buried_treasure",
    [193358] = "grand_melee",
    [193357] = "ruthless_precision",
    [199603] = "skull_and_crossbones",
    [193359] = "true_bearing",
}
local rtbAuraAppliedBy = {}

Starting from line 546 addon tracks the source of RtB which is later used for, i guess, rerolling purposes with Keep It Rolling talent

local aura = rtbSpellIDs[ spellID ]

    if aura and ( subtype == "SPELL_AURA_APPLIED" or subtype == "SPELL_AURA_REFRESH" ) then
        if IsCurrentSpell( 2098 ) then
            rtbAuraAppliedBy[ aura ] = "dispatch"
        elseif IsCurrentSpell( 8676 ) then
            rtbAuraAppliedBy[ aura ] = "ambush"
        elseif IsCurrentSpell( 193315 ) then
            rtbAuraAppliedBy[ aura ] = "sinister_strike"
        elseif aura == "roll_the_bones" then
            lastApplicator = aura
        elseif aura == "keep_it_rolling" then
            lastApplicator = aura
            for bone in pairs( rtbAuraAppliedBy ) do
                rtbAuraAppliedBy[ bone ] = aura
            end
        else
            rtbAuraAppliedBy[ aura ] = lastApplicator
        end

I am not skilled enought to make a decent change by myself sadly.

Additional Information

No response

Contact Information

IIeTpoc#3818 discord ID