So recently I have noticed a problem as I continue my never ending ways to squeeze more damage out.
The problem with my Wl/Mage DIYCE currently reads:
if enemy then
Skill2 = {
{ name = "Willpower Blade", use = ((PsiPoints == 6) and (not pbuffs["Willpower Blade"])) },
{ name = "Ruthless Judgment", use = ((PsiPoints >= 6) and (thealth <.20) and (not pbuffs["Ruthless Judgment"]) and (pbuffs["Willpower Blade"])) },
{ name = "Flaming Heart Strike", use = ((PsiPoints > 0) and (pbuffs["Willpower Blade"])) },
{ name = "Soul Brand Sting", use = ((PsiPoints > 0) and (pbuffs["Willpower Blade"])) },
ETC
Now the problem: Soul Brand Sting resets Flaming Heart Strike but the game needs to wait for GCD of soul brand sting to reset it. So when I am burning through this Diyce is seeing FHS isn't up yet and casting back to back Soul Brand Stings. At the end of a boss fight my scruit reads something like 17 SBS cast, 9 FHS cast. IF it was all done correctly it should have more FHS than SBS. When I manually cast these skills the rotation goes by too slow. My first thought was to put a wait time in but I was afraid that would slow it down too much. Anyone have ideas?
FHS is an instant that triggers GCD
SBS is a casted skill of 1sec cast
due to cast speed buffs SBS cast time is reduced and is not 1sec. so after the cast of SBS, theGCD (triggered by FHS) isnt finished yet.
now lets simulate the procedure:
- FHS > GCD triggered
- SBS (casted skill so unaffected by GCD and also doesnt re-trigger GCD)
- [..normally u should see FHS here but..] SBS since GCD isnt off yet since 1sec hasnt yet passed due to reduced casted time of SBS. so casts SBS again
- FHS > GCD triggered
- and the story goes on
...
that is the reason why u get exactly SBS = 2x FHS
as the diyce creator already has posted u need g_lastaction to perfectly time them. so that u cast SBS -only- if u previously casted FHS, in order to avoid sequential casts of SBS.
hope it helps,
Fin