[b21] Shield of Light doesn't play well with burning hex
Moderator: Moderator
[b21] Shield of Light doesn't play well with burning hex
After being hit with a burning hex and curse of death, after trying to use one of my skills I got hit with a massive spike of lag, and ended up with about +4k max positive energy each time. I'm guessing it's due to Shield of Light and Burning Hex going into a bit of a loop, with the +max positive energy coming from Shield of Lights deactivations. I was unable to actually deactivate Shield of Light until I had cleared the curses off, afterwards everything was peachy.
Re: [b21] Shield of Light doesn't play well with burning hex
I think there's a way to fix Shield of Light so it doesn't do this but upon testing I think the real issue is that Burning Hex triggers when sustains are deactivated (which has caused issues for people when leveling up and may cause problems with other talents that deactivate on damage).
If Burning Hex shouldn't trigger when sustains deactivate this is just a matter of removing the trigger lines from all the ab.sustain deactivates in actor (lines 1840 - 1868).
I'll look at Shield of Light though and see if I can figure out a way to fix it so it doesn't cause any future recursions.
*edit* And this should fix Shield of Light for anyone that wants to fix their local copy (Actor 1018). I'm going to send DG a diff with an updated Shield of Light though that will include a gamelog message when it crumbles and won't heal when positive energy is already zero.
If Burning Hex shouldn't trigger when sustains deactivate this is just a matter of removing the trigger lines from all the ab.sustain deactivates in actor (lines 1840 - 1868).
I'll look at Shield of Light though and see if I can figure out a way to fix it so it doesn't cause any future recursions.
*edit* And this should fix Shield of Light for anyone that wants to fix their local copy (Actor 1018). I'm going to send DG a diff with an updated Shield of Light though that will include a gamelog message when it crumbles and won't heal when positive energy is already zero.
Code: Select all
if value > 0 and self:isTalentActive(self.T_SHIELD_OF_LIGHT) then
if value <= 2 then
drain = value
else
drain = 2
end
self:incPositive(- drain)
if self:getPositive() <= 0 then
self:forceUseTalent(self.T_SHIELD_OF_LIGHT, {ignore_energy=true})
self:heal(self:combatTalentSpellDamage(self.T_SHIELD_OF_LIGHT, 5, 25), self)
else
self:heal(self:combatTalentSpellDamage(self.T_SHIELD_OF_LIGHT, 5, 25), self)
end
end