HeroRotation

HeroRotation

5M Downloads

[Assassination] Inefficient use of Echoing Reprimand when holding for exsang

ryanbowen opened this issue ยท 1 comments

commented

The Echoing Reprimand (Exsang Desync) branch below is rarely taken despite 2+ mins remaining on Exsang's CD. This leads to ER being held for 3 mins and missing out on a lot of casts for no reason.

elseif S.ResoundingClarity:IsAvailable() and S.EchoingReprimand:IsReady() and S.Exsanguinate:CooldownRemains() > 40 then
if Cast(S.EchoingReprimand, nil, Settings.Commons.CovenantDisplayStyle, not TargetInMeleeRange) then return "Cast Echoing Reprimand (Exsang Desync)" end
end

While still probably not 100% ideal, a local branch with the this change performs much better than the current release solely because it doesn't sit on ER waiting for exsang when it'll clearly be back off CD in time.

      if ImprovedGarroteRemains() == 0 and Target:DebuffDown(S.Deathmark) and Target:FilteredTimeToDie(">", S.Exsanguinate:CooldownRemains() + 4) then
        if S.ResoundingClarity:IsAvailable() and S.EchoingReprimand:IsReady() and Player:ComboPoints() <= 2 and S.Exsanguinate:CooldownRemains() <= 2
          and not IsDebuffRefreshable(Target, S.Garrote) and Target:DebuffRemains(S.Rupture) > 9.6 then
          if Cast(S.EchoingReprimand, nil, Settings.Commons.CovenantDisplayStyle, not TargetInMeleeRange) then return "Cast Echoing Reprimand (Exsang Sync)" end
        elseif S.ResoundingClarity:IsAvailable() and S.EchoingReprimand:IsReady() and S.Exsanguinate:CooldownRemains() > 40 then
          if Cast(S.EchoingReprimand, nil, Settings.Commons.CovenantDisplayStyle, not TargetInMeleeRange) then return "Cast Echoing Reprimand (Exsang Desync)" end
        end
        if S.Exsanguinate:IsReady() and not IsDebuffRefreshable(Target, S.Garrote) and Target:DebuffRemains(S.Rupture) > 4 + 4 * ExsanguinateRuptureCP()
          or Target:FilteredTimeToDie("<", Target:DebuffRemains(S.Rupture)*0.5) then
          if Cast(S.Exsanguinate, Settings.Assassination.GCDasOffGCD.Exsanguinate) then ShouldReturn = "Cast Exsanguinate" end
        end
      end
    end

Why not just ditch the second conditional for echoing reprimand altogether and just tack the S.Exsanguinate:CooldownRemains() > 40 check onto the first one?

commented

This should be fixed in the previous release. Thanks.