Drain Soul Channel ticks not work properly (Cata Classic) #431


Open
  • user_cmkt840sujunh93t created this issue Jun 26, 2024

    Although the bar that indicates when the tick will do damage is shown, it does not correspond to the moment in which the ability does damage.

  • user_cmkt840sujunh93t edited title Jun 26, 2024
  • darkweever posted a comment Jun 26, 2024

    Hello, can confirm the issue above issue, the ticks are showing but are not synced with the moment the damage happens

     

    Video recording of the issue

     

     

     

     


    Edited Jun 26, 2024
  • prototty posted a comment Jul 29, 2024
    For Cataclysm, the ticks should be updating based on the amount of haste you get, sometimes they change based on the buffs you have aswell like BL/Eradication/Nature's grace<br /> I did something like this (see below) for earlier quartz version (private server one).
    
    Feel free to play with this yourself (users) or add this into the next release (creator)
    
    The file is Player.txt located inside the modules folder located in the Quartz addon folder.
    
    

     

    -- TODO: this will need updates for Cataclysm
    local function getDSCap()
    local playerHaste = UnitSpellHaste("player")
    if playerHaste > 150.104231 then
    return 13
    elseif playerHaste > 129.973187 then
    return 12
    elseif playerHaste > 110.010515 then
    return 11
    elseif playerHaste > 90.053861 then
    return 10
    elseif playerHaste > 70.019845 then
    return 9
    elseif playerHaste > 49.962517 then
    return 8
    elseif playerHaste > 30.010840 then
    return 7
    elseif playerHaste > 9.990838 then
    return 6
    else
    return 5
    end
    end

    local function getTranqCap()
    local playerHaste = UnitSpellHaste("player")
    if playerHaste > 137.388752 then
    return 10
    elseif playerHaste > 112.427001 then
    return 9
    elseif playerHaste > 87.529319 then
    return 8
    elseif playerHaste > 62.535568 then
    return 7
    elseif playerHaste > 37.504306 then
    return 6
    elseif playerHaste > 12.517587 then
    return 5
    else
    return 5
    end
    end

    local function getHymnCap()
    local playerHaste = UnitSpellHaste("player")
    if playerHaste > 87.529319 then
    return 8
    elseif playerHaste > 62.535568 then
    return 7
    elseif playerHaste > 37.504306 then
    return 6
    elseif playerHaste > 12.517587 then
    return 5
    else
    return 4
    end
    end

    local function getFinalTicks()
    if UnitChannelInfo("player") == GetSpellInfo(1120) then
    return getDSCap()
    elseif UnitChannelInfo("player") == GetSpellInfo(740) then
    return getTranqCap()
    elseif UnitChannelInfo("player") == GetSpellInfo(64843) then
    return getHymnCap()
    elseif UnitChannelInfo("player") == GetSpellInfo(5740) then
    return 4
    elseif UnitChannelInfo("player") == GetSpellInfo(689) then
    return 3
    elseif UnitChannelInfo("player") == GetSpellInfo(16914) then
    return 10
    elseif UnitChannelInfo("player") == GetSpellInfo(15407) then
    return 3
    elseif UnitChannelInfo("player") == GetSpellInfo(48045) then
    return 5
    elseif UnitChannelInfo("player") == GetSpellInfo(47540) then
    return 3
    elseif UnitChannelInfo("player") == GetSpellInfo(5143) then
    return 5
    elseif UnitChannelInfo("player") == GetSpellInfo(10) then
    return 5
    elseif UnitChannelInfo("player") == GetSpellInfo(12051) then
    return 4
    else
    return 0
    end
    end

     

    function Player:UNIT_SPELLCAST_START(bar, unit)
    if bar.channeling then
    local spell = UnitChannelInfo(unit)
    bar.channelingTicks = getFinalTicks()
    setBarTicks(bar.channelingTicks)
    else
    setBarTicks(0)
    end
    end


    Edited Jul 29, 2024

To post a comment, please login or register a new account.