HeroRotation

HeroRotation

5M Downloads

[Assassination] Bug: Rupture with no combo point

beati opened this issue ยท 1 comments

commented

Hi,

While playing I noticed that rupture was sometimes suggested with no combo point which is a problem because we can't cast rupture without combo point.

I think 3ec3c98 introduced the bug. It's also probably a bug in simcraft apl but not sure.

Here rupture can be cast with 0 combo point if HL.CombatTime() > 10 :

if Target:IsInRange("Melee") and (ComboPoints >= 4 and Target:DebuffRefreshableP(S.Rupture, RuptureThreshold)
or (not Target:DebuffP(S.Rupture) and (HL.CombatTime() > 10 or (ComboPoints >= 2)))) and Evaluate_Rupture_Target(Target) then
if HR.Cast(S.Rupture) then return "Cast Rupture (Refresh)"; end
end

The corresponding APL line is :

-- actions.dot+=/rupture,if=!variable.skip_rupture&(combo_points>=4&refreshable|!ticking&(time>10|combo_points>=2))&(pmultiplier<=1|remains<=tick_time&spell_targets.fan_of_knives>=3+azerite.shrouded_suffocation.enabled)&(!exsanguinated|remains<=tick_time*2&spell_targets.fan_of_knives>=3+azerite.shrouded_suffocation.enabled)&target.time_to_die-remains>4

which is not consistent with the one at the end of the file
-- actions.dot+=/rupture,if=!variable.skip_rupture&combo_points>=4&refreshable&(pmultiplier<=1|remains<=tick_time&spell_targets.fan_of_knives>=3+azerite.shrouded_suffocation.enabled)&(!exsanguinated|remains<=tick_time*2&spell_targets.fan_of_knives>=3+azerite.shrouded_suffocation.enabled)&target.time_to_die-remains>4

There is an extra
&(time>10|combo_points>=2)
as far as I understand this condition can't be correct for rupture because it can be true with 0 combo point.
The condition is also present in this APL line :
-- actions.dot+=/rupture,if=talent.exsanguinate.enabled&((combo_points>=cp_max_spend&cooldown.exsanguinate.remains<1)|(!ticking&(time>10|combo_points>=2)))

which is probably a bug in simcraft.

commented

Thanks for the report. SimC knows that Rupture cannot be used without CP so this has no effect on it. However, in HR we have to manually add a check for CP even if the amount does not matter to avoid these 0CP bugs. So, yeah, I think this is a simple oversight and easy to fix, but I'll wait for @EvanMichaels input as he was fiddling with that.