azerothcore / azerothcore-wotlk

Complete Open Source and Modular solution for MMO
http://www.azerothcore.org
GNU Affero General Public License v3.0
6.5k stars 2.61k forks source link

Refreshed dots doesn't keep modifiers #9867

Closed laasker closed 2 years ago

laasker commented 2 years ago

Current Behaviour

Corruption is not keeping spell Critical Chance and Bonus % Damage Auras when refreshed through Everlasting Affliction talent

People call it ''Rolling Corruption'' in Warlock PvE guides

I recorded a few videos:

first showing the bonus damage aura https://www.youtube.com/watch?v=He4O3UFT1v0 Refreshed Corruption doesnt keep the bonus dmg buff that expired

and now showing the crit chance https://www.youtube.com/watch?v=CkYljbMI38Y without the +50% spell crit chance buff, out of 28 corruption ticks, 10 were Criticals (35.7%) then with +50% spell crit chance buff, out of 8 corruption ticks, 7 were Criticals (87.5%)

And then i removed the 50% spell crit buff and refreshed Corruption with Drain Life Now, out of 8 Corruption ticks, only 2 were Criticals (26.4%)

Expected Blizzlike Behaviour

If you have a % Damage Buff and a X Percentage of Spell Crit Chance before casting Corruption, and then Refreshing Corruption through the Everlasting Affliction (casting Haunt/Drain Life/Drain Soul/Shadow Bolt) those 2 stats should be kept

Example: a warlock have a +20% damage buff and cast Corruption, then he loses the +20% damage buff and refreshes Corruption with Haunt or Drain Soul (everlasting affliction talent), the corruption should keep the +20% damage buff till the corruption expires or he manually casts Corruption again without the +20% damage buff.

As for haste and spell power, they should reset with the current haste and spell power the warlock have when refreshing corruption (which only works for spell power, the haste which is given by the Glyph of Quick Decay doesnt work with Everlasting Affliction, but has already been reported)

Source

https://www.wowhead.com/forums/topic/rolling-corruption-an-overview-162195 ''Q: What stats refresh with Corruption and how do I use this mechanic well? A: The deep Affliction PvE build uses the talent Everlasting Affliction to allow commonly used spells to refresh the currently ticking Corruption (the strongest DoT an Affliction Warlock possesses) on the target. This "refresh", as opposed to the spell getting recast specifically by the player, is the source of an emergent gameplay mechanic which is not intuitive but is incredibly powerful when mastered.

The important thing to understand about the "rolling Corruption" is that certain stats continue when the spell is refreshed while others are reset to what you character has at the time of the refresh.

The stats that do roll are: Critical strike chance Percentage damage modifiers

The stats that do not roll are: Spellpower Haste

What this means is that if we can push our Crit chance and damage buffs as high as possible when we cast the initial Corruption on a boss fight, that high chance will continue for the full length of the fight or for as long as we can keep it refreshed.''

https://www.wowhead.com/forums/topic/please-confirm-rolling-of-corruption-phenomenon-159443 ''As we all know, NMIC is a BiS for Affliction due to the "rolling" effect. My question is, exactly what rolls with it? I know crit rating does, but do things like Tricks of the Trade and Devious Minds roll with it too?

crit and percentage modifiers DO sp and haste do NOT

tricks, yes devious minds, yes''

Steps to reproduce the problem

to test Bonus Damage Auras:

  1. create a warlock
  2. .go xyz -4925 -1147 502 0
  3. spend talent points in Affliction, till you have 5/5 Everlasting Affliction
  4. cast corruption on dummy (.cast 47813)
  5. watch the Corruption damage
  6. now grant yourself +10% damage buff (Devious Mind - 4 t10 proc chance) (.aura 70840 targeting yourself)
  7. refresh corruption with Drain Life (.cast 47857)
  8. wait for the buff to end
  9. refresh Corruption with Drain Life (.cast 47857) without Devious Mind buff
  10. the Corruption damage has been reduced

to test Critical Chance:

  1. create a warlock
  2. .go xyz -4925 -1147 502 0
  3. spend talent points in Affliction, till you have 5/5 Everlasting Affliction
  4. give yourself +50% spell critical chance (.aura 23434 targeting yourself)
  5. cast Corruption (.cast 47813) on dummy target
  6. watch how most Corruption ticks do Critical damage
  7. remove +50% spell crit chance (.unaura 23434 targeting yourself)
  8. refresh Corruption with drain life (.cast 47857)
  9. watch how corruption ticks have a low crit chance

Extra Notes

AC rev. hash/commit

https://github.com/azerothcore/azerothcore-wotlk/commit/43fcd168cfc5

Operating system

Windows 10 x64

Custom changes or Modules

none

Shineslippers commented 2 years ago

It's not related to warlock, but to dots in general. Refreshed dots doesn't keep modifiers

.aura 47582 .cast 48125 wait for damage tick .aura 70840 .cast 48156 wait for tick .unaura 70840 or other way to remove aura .cast 48156

https://user-images.githubusercontent.com/85256266/147352590-fb99a5b4-7d4d-413f-9166-5b54ca36d871.mp4

laasker commented 2 years ago

It's not related to warlock, but to dots in general. Refreshed dots doesn't keep modifiers

.aura 47582 .cast 48125 wait for damage tick .aura 70840 .cast 48156 wait for tick .unaura 70840 or other way to remove aura .cast 48156

hmm, i forgot shadow priest have the same mechanic with Shadow Word: Pain. Now that im thinking its only affliction and shadow priest that have this, right? maybe DKs diseases with glyph of disease?

Shineslippers commented 2 years ago

Well, i guess yes. Every dot that can be resfreshed.

laasker commented 2 years ago

I think this only applies to DoTs which can be refreshed through another spell, not to reapplied/recast DoT (warlock and shadow priest talent refreshes the corruption/shadow word: pain duration, while for example a warrior Rend doesnt have any way to refresh the duration if not by recasting

''This "refresh", as opposed to the spell getting recast specifically by the player, is the source of an emergent gameplay mechanic which is not intuitive but is incredibly powerful when mastered.'' https://www.wowhead.com/forums/topic/rolling-corruption-an-overview-162195

but we will have to dig more to know for sure

ridai260 commented 2 years ago

I've found several sources that contribute information that crit should stay at it's originally applied value when refreshing via Everlasting Corruption.

Explains the mechanics with some values from his testing: https://www.mmo-champion.com/threads/690864-Affliction-Learning-to-corrupt?p=7216917&viewfull=1#post7216917

Discussing the Everlasting Corruption mechanic and how it works (again points to crit on application staying the same during refresh): https://www.mmo-champion.com/threads/700670-affliction-lock-Haste-and-corruption?p=7433845&viewfull=1#post7433845

Now need to find some info about the Priest SW:P being the same.

ridai260 commented 2 years ago

Priest evidence, reply #17 and #20 and on subsequent pages (2009-05): https://www.mmo-champion.com/threads/646764-Priest-Shadow-DPS-101?p=6244314&viewfull=1#post6244314

Under title "2) How SW:Pain Works - When to Recast" (2009-01): https://web.archive.org/web/20090304171015/http://forums.worldofwarcraft.com/thread.html?topicId=14697490358&sid=1

UltraNix commented 2 years ago

@laasker @Shineslippers What about this one: https://github.com/azerothcore/azerothcore-wotlk/pull/9316 https://github.com/azerothcore/azerothcore-wotlk/issues/8962

laasker commented 2 years ago

@laasker @Shineslippers What about this one: #9316 #8962

@UltraNix its a different problem, this old one the DoTs wouldnt benefit from bonus modifier if the player reapply/recast the DoT with a bonus modifier

while on this report, dots that are actually refreshed through other spell (Everlasting Affliction for example), should keep the bonus modifier and crit chance you had the first time you apply, and everytime you Refresh (not recast), the dot should keep the old bonus modifiers and crit chance I didnt know of this issue, or else i would have report on https://github.com/azerothcore/azerothcore-wotlk/issues/8962

but to summarise:

  1. if i have a Corruption applied to a target, and cast Corruption again, thats a recast/reapply (crit chance/damage modifiers should reset when i cast Corruption on the second time)

  2. if i have a Corruption applied to a target, and cast Drain Life/Haunt/Drain Soul/Shadow Bolt, the Corruption duration is renewed/refreshed (crit chance/damage modifiers on the dot should be the same it was the first time Corruption was cast)

on 2. some spells/talents that refreshes the duration of DoTs are: Everlasting Affliction https://wotlkdb.com/?spell=47205 Pain and Suffering

UltraNix commented 2 years ago

But server does not know if the resfresh is done by your recast or by some different spell. For core it's the same - refresh is refresh.

laasker commented 2 years ago

damn, so this cant be fixed?

UltraNix commented 2 years ago

Seriously, I don't see any difference between refresh done by recast and refresh done by other spell. It's the same.

lingxDEV commented 2 years ago

When reading through this issue, it’s clearly not the same. And now we have an edge case where we need the core to know the difference. That is of course if the reported issue is Blizzlike behavior.

laasker commented 2 years ago

Maybe Everlasting Affliction is casting corruption again then? where it should only refresh the dot duration, then it would keep the bonus modifiers

UltraNix commented 2 years ago

@laasker But if the Corruptions is refreshed by your recast, it should reapply modifiers?

laasker commented 2 years ago

if manually recasting corruption, it should apply the current modifiers and crit chance

@bgcfg claims that Everlasting Affliction stopped working with Glyph of Quick Decay after https://github.com/azerothcore/azerothcore-wotlk/pull/7559 Maybe its related to the same problem we are having here?

UltraNix commented 2 years ago

Are you sure that #8962 was a valid issue?

laasker commented 2 years ago

Yes, 100%, dots would only benefit from modifiers if you wait for it to end and then cast again

UltraNix commented 2 years ago

Okay.

UltraNix commented 2 years ago

Yep - that mechanic was removed with no reason in a9796af174799 I'm going to restore it.