Core/Units: No longer send PowerUpdate packets when gaining power via energize spell effects

Port From (https://github.com/TrinityCore/TrinityCore/commit/a0a4d23fed58880c5ad1ebf4216d15d957035b65)
This commit is contained in:
hondacrx
2021-05-13 20:37:31 -04:00
parent 1509cdfded
commit cb06e572f3
2 changed files with 7 additions and 7 deletions
+6 -6
View File
@@ -187,7 +187,7 @@ namespace Game.Entities
int GetMinPower(PowerType power) { return power == PowerType.LunarPower ? -100 : 0; } int GetMinPower(PowerType power) { return power == PowerType.LunarPower ? -100 : 0; }
// returns negative amount on power reduction // returns negative amount on power reduction
public int ModifyPower(PowerType power, int dVal) public int ModifyPower(PowerType power, int dVal, bool withPowerUpdate = true)
{ {
int gain = 0; int gain = 0;
@@ -202,19 +202,19 @@ namespace Game.Entities
int val = (dVal + curPower); int val = (dVal + curPower);
if (val <= GetMinPower(power)) if (val <= GetMinPower(power))
{ {
SetPower(power, GetMinPower(power)); SetPower(power, GetMinPower(power), withPowerUpdate);
return -curPower; return -curPower;
} }
int maxPower = GetMaxPower(power); int maxPower = GetMaxPower(power);
if (val < maxPower) if (val < maxPower)
{ {
SetPower(power, val); SetPower(power, val, withPowerUpdate);
gain = val - curPower; gain = val - curPower;
} }
else if (curPower != maxPower) else if (curPower != maxPower)
{ {
SetPower(power, maxPower); SetPower(power, maxPower, withPowerUpdate);
gain = maxPower - curPower; gain = maxPower - curPower;
} }
@@ -601,7 +601,7 @@ namespace Game.Entities
if (val < cur_power) if (val < cur_power)
SetPower(powerType, val); SetPower(powerType, val);
} }
public void SetPower(PowerType powerType, int val) public void SetPower(PowerType powerType, int val, bool withPowerUpdate = true)
{ {
uint powerIndex = GetPowerIndex(powerType); uint powerIndex = GetPowerIndex(powerType);
if (powerIndex == (int)PowerType.Max || powerIndex >= (int)PowerType.MaxPerClass) if (powerIndex == (int)PowerType.Max || powerIndex >= (int)PowerType.MaxPerClass)
@@ -614,7 +614,7 @@ namespace Game.Entities
int oldPower = m_unitData.Power[(int)powerIndex]; int oldPower = m_unitData.Power[(int)powerIndex];
SetUpdateFieldValue(ref m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.Power, (int)powerIndex), val); SetUpdateFieldValue(ref m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.Power, (int)powerIndex), val);
if (IsInWorld) if (IsInWorld && withPowerUpdate)
{ {
PowerUpdate packet = new(); PowerUpdate packet = new();
packet.Guid = GetGUID(); packet.Guid = GetGUID();
+1 -1
View File
@@ -1523,7 +1523,7 @@ namespace Game.Entities
void EnergizeBySpell(Unit victim, SpellInfo spellInfo, int damage, PowerType powerType) void EnergizeBySpell(Unit victim, SpellInfo spellInfo, int damage, PowerType powerType)
{ {
int gain = victim.ModifyPower(powerType, damage); int gain = victim.ModifyPower(powerType, damage, false);
int overEnergize = damage - gain; int overEnergize = damage - gain;
victim.GetThreatManager().ForwardThreatForAssistingMe(this, damage / 2, spellInfo, true); victim.GetThreatManager().ForwardThreatForAssistingMe(this, damage / 2, spellInfo, true);