vmangos / core

Progressive Vanilla Core aimed at all versions from 1.2 to 1.12
GNU General Public License v2.0
688 stars 492 forks source link

🐛 [Bug] [Discussion] Accurate replication of Seal Twisting #1075

Closed YellowRyder closed 3 years ago

YellowRyder commented 3 years ago

🐛 Bug report

Hello. I'd like to address several issues with the Custom Seal Twisting system that was added to vmangos. While I appreciate all the hard work done by the devs at attempting to recreate a true blizzlike experience, some things of course are more guess work than anything. Such is the case with Seal Twisting, the vanilla mechanic which was lost to the ages due to advancements in technology. The current pserv iteration neither matches the original vanilla twisting, nor does it match what Blizzard has given us on PTR.

Expected behavior

Seal Twisting should work by activating a different seal than the current one activate right before you swing. This would cause both seals to be applied, as the seals were handled client-side which resulted in both being batched on the same hit. The method of replicating this in vmangos is brilliant - adding a "ghost aura" that persists 0.5 seconds after swapping seals. However, the current iteration has many shortcomings which keep it from being "blizzlike":

1.) Only SoC can be twisted. Although not much information exists regarding all the details of twisting, this is a key difference between vmangos iteration and blizzard PTR version. Neither are real vanilla, of course; simply artificial recreations. The vmangos devs state that no evidence exists of other seals besides SoC into X being twistable, yet blizzard seems to disagree with this. Their seal system allows any and all seals to be twisted on top of each other, provided you use different ranks, which would seemingly mirror the original vanilla twist mechanic of batching two seals on top of each other.

2.) Multiple ranks of SoC cannot be twisted. This is due to the custom aura used by vmangos to allow SoC to be twisted; It simply places an aura on the player when they remove SoC by swapping to a new seal, and does not account for individual ranks. The original vanilla twist would've batched two ranks of SoC together on a twist, checked both for procs, and issued a proc while triggering the ICD. This would make SoC unable to "double proc", but you could effectively double the proc chance of SoC by twisting two ranks together. The current version of vmangos twisting would need to be updated to apply the aura when twisting to a different rank of SoC; This would then allow the game to check both the aura and the new SoC rank on the swing.

3.) Twisting to a new seal and judging it right before the weapon swing removes the custom aura. This was intended to prevent players from receiving a SoC proc after judging it off; But it has the side effect of making the custom SoC aura dissipate when you judge a different seal after the twist but before the swing. This is an unintended deficiency in the new system that may have been overlooked in design.

As an aside; The single day in which the PPM flag was not placed on SoC and caused it to proc 100% of the time when you twisted it was the most fun and engaging dps rotation I've ever experienced in all of WoW. Every single correctly timed twist was rewarded with a tangible (although minor) increase to overall dps. It made the paladin dps rotation intricate, twisting seals carefully around the swing timer and having to think about the specific timings and interactions of each seal twisted was extremely enjoyable. I don't ask for vmangos core to implement this 100% proc, as it is indeed not vanilla; However, fixing the issue of SoC ranks twisting onto itself would go a very long way in helping fix a class that has been destroyed not only by malicious actors within Blizzard, but pserv devs who had accidentally scripted many paladin mechanics incorrectly over the years.

Version & Environment