How Attack Stacking Works, and What Changed
Dec 1, 2020 18:45:28 GMT
Paradoom, Raj, and 4 more like this
Post by FunkySwerve on Dec 1, 2020 18:45:28 GMT
So, stacking of added attacks has been convoluted on HG ever since we stopped permitting all spells to stack, to avoid OP situations. This post is offered with the goal of helping players to understand exactly how things work, both before and now. While I have done my best to simplify it, it's still dense. Ask as many clarifying questions as you like.
First, when I refer to spells effected by this system, I mean ALL spells that add attacks, EXCEPT Mass Haste and Haste. Haste still adds an attack regardless of source, and Mass Haste still stacks with everything. They are not effected when using the spells that ARE in this system. I will list the spells that ARE effected by this system a bit further down, after more clarification.
The major change to attack stacking spells in this system is that the added attack effects have been de-linked from the other spell effects, so that they can be removed/replaced without removing the spells other effects. This allows, for example, a CoT using Wrath to keep all his other buffs but get the benefit of a higher number of added attacks from another source. So, when you use a spell or ability linked to this system, it will strip all other effects from the same spell (so that repeat uses do not stack - this is and has always been standard), and then check for attack adding effects from other spells. If the target has another attack adding effect in this system, the new effect will only apply if:
1) It is a higher number of added attacks, or
2) It is an equal number of added attacks with a greater duration than that remaining on the existing attack adding effect
If the new affect applies, it will then strip the old attack adding effect, while leaving all the other effects of the spell that gave the old effect in place. That's the core of the new system.
Now, some further information and clarification:
One thing that you must first understand about these spells is that some are separate, and some are treated as the same spell. This was done to avoid absurd amounts of added attacks. As a result, the following spells are all treated as the same spell id, and automatically replace each other's effects when cast. This has been the case for many years, and has not changed:
SPELL_TENSERS_TRANSFORMATION
HGSPELL_HEROISM
HGSPELL_IMPROVED_HEROISM
SPELL_DIVINE_POWER (and the SPELL_STORM_OF_VENGEANCE that sometimes applies it)
HGSPELL_PARAGON_DIVINE_FERVOR
We'll call these the DP Spells, for future reference.
Under the old and new system, these are all treated as the same spell. When you cast one, it strips the effects of all the others. This has not changed. As some of them give a higher number of added attacks, caution is still merited when using them so as not to remove another effect granting more attacks. This is in contrast to all the other spells in the system, which will only replace added attacks with better effects. The other spells in this system are:
SPELL_TYMORAS_SMILE (2 added attacks)
HGEFFECT_SD_SH_EVADE_ATTACK_BONUS (1 added attack)
HGEFFECT_COT_WRATH_ATTACK_BONUS (1 added attack)
HGEFFECT_PDK_RALLY_ATTACK_BONUS (1 added attack)
HGSPELL_HEROISM
HGSPELL_IMPROVED_HEROISM
used to add one extra attack (we'll call it the CL55 Attack) at casterlevel 55+, so long as:
1) You did not have Harper Scout boots on you
2) You had fewer than 40 levels (including LL) of Champion of Torm
3) You had fewer than 50 levels (including LL) of Shadow Dancer
HGSPELL_PARAGON_DIVINE_FERVOR would also add the CL55 Attack, but only to the caster.
The CL55 Attack has been removed, though I honestly just realized that it was also removed for the caster of Divine Fervor. We will patch that. Frankly, now that I am going through this again, I realize the attack should have been left in, but restricted on Fervor to the caster (unless we decide to edit Fervor, which may be warranted). Again, patch coming Comments welcome. Sorry, this code is inordinately complex, and stripping old nonstacking and adding new nonstacking confused things considerably from a coding perspective.
Other than the CL55 Attack, the DP Spells add attacks as follows:
1) 1 attack per 5 points of ab gained from their ab buff (simulating a tier 1 number of attacks), capping at 2 added attacks max.
2) An additional attack at casterlevel 45.
Both of these worked that way before, and will continue to in the future.
Hopefully this explains the workings of the new system, and why some of you are losing 1 attack (until we hotpatch).
Funky
First, when I refer to spells effected by this system, I mean ALL spells that add attacks, EXCEPT Mass Haste and Haste. Haste still adds an attack regardless of source, and Mass Haste still stacks with everything. They are not effected when using the spells that ARE in this system. I will list the spells that ARE effected by this system a bit further down, after more clarification.
The major change to attack stacking spells in this system is that the added attack effects have been de-linked from the other spell effects, so that they can be removed/replaced without removing the spells other effects. This allows, for example, a CoT using Wrath to keep all his other buffs but get the benefit of a higher number of added attacks from another source. So, when you use a spell or ability linked to this system, it will strip all other effects from the same spell (so that repeat uses do not stack - this is and has always been standard), and then check for attack adding effects from other spells. If the target has another attack adding effect in this system, the new effect will only apply if:
1) It is a higher number of added attacks, or
2) It is an equal number of added attacks with a greater duration than that remaining on the existing attack adding effect
If the new affect applies, it will then strip the old attack adding effect, while leaving all the other effects of the spell that gave the old effect in place. That's the core of the new system.
Now, some further information and clarification:
One thing that you must first understand about these spells is that some are separate, and some are treated as the same spell. This was done to avoid absurd amounts of added attacks. As a result, the following spells are all treated as the same spell id, and automatically replace each other's effects when cast. This has been the case for many years, and has not changed:
SPELL_TENSERS_TRANSFORMATION
HGSPELL_HEROISM
HGSPELL_IMPROVED_HEROISM
SPELL_DIVINE_POWER (and the SPELL_STORM_OF_VENGEANCE that sometimes applies it)
HGSPELL_PARAGON_DIVINE_FERVOR
We'll call these the DP Spells, for future reference.
Under the old and new system, these are all treated as the same spell. When you cast one, it strips the effects of all the others. This has not changed. As some of them give a higher number of added attacks, caution is still merited when using them so as not to remove another effect granting more attacks. This is in contrast to all the other spells in the system, which will only replace added attacks with better effects. The other spells in this system are:
SPELL_TYMORAS_SMILE (2 added attacks)
HGEFFECT_SD_SH_EVADE_ATTACK_BONUS (1 added attack)
HGEFFECT_COT_WRATH_ATTACK_BONUS (1 added attack)
HGEFFECT_PDK_RALLY_ATTACK_BONUS (1 added attack)
Because the old system did not allow the flexibility of only swapping attack-adding effects and leaving other spell effects, we had a series of piecemeal offsets to block stacking in some circumstances. Those offsets have now been removed. While I did my best to avoid unintended consequences from this edit, it's possible some cropped up. To help players flag them, I list the old offsets below, and note where they have been removed in the old system.
PREVIOUS offsets:
1) For caster level 55+,
SPELL_TENSERS_TRANSFORMATIONHGSPELL_HEROISM
HGSPELL_IMPROVED_HEROISM
SPELL_DIVINE_POWER (and the SPELL_STORM_OF_VENGEANCE that sometimes applies it)
used to add one extra attack (we'll call it the CL55 Attack) at casterlevel 55+, so long as:
1) You did not have Harper Scout boots on you
2) You had fewer than 40 levels (including LL) of Champion of Torm
3) You had fewer than 50 levels (including LL) of Shadow Dancer
HGSPELL_PARAGON_DIVINE_FERVOR would also add the CL55 Attack, but only to the caster.
The CL55 Attack has been removed, though I honestly just realized that it was also removed for the caster of Divine Fervor. We will patch that. Frankly, now that I am going through this again, I realize the attack should have been left in, but restricted on Fervor to the caster (unless we decide to edit Fervor, which may be warranted). Again, patch coming Comments welcome. Sorry, this code is inordinately complex, and stripping old nonstacking and adding new nonstacking confused things considerably from a coding perspective.
Other than the CL55 Attack, the DP Spells add attacks as follows:
1) 1 attack per 5 points of ab gained from their ab buff (simulating a tier 1 number of attacks), capping at 2 added attacks max.
2) An additional attack at casterlevel 45.
Both of these worked that way before, and will continue to in the future.
Hopefully this explains the workings of the new system, and why some of you are losing 1 attack (until we hotpatch).
Funky