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; }
// 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;
@@ -202,19 +202,19 @@ namespace Game.Entities
int val = (dVal + curPower);
if (val <= GetMinPower(power))
{
SetPower(power, GetMinPower(power));
SetPower(power, GetMinPower(power), withPowerUpdate);
return -curPower;
}
int maxPower = GetMaxPower(power);
if (val < maxPower)
{
SetPower(power, val);
SetPower(power, val, withPowerUpdate);
gain = val - curPower;
}
else if (curPower != maxPower)
{
SetPower(power, maxPower);
SetPower(power, maxPower, withPowerUpdate);
gain = maxPower - curPower;
}
@@ -601,7 +601,7 @@ namespace Game.Entities
if (val < cur_power)
SetPower(powerType, val);
}
public void SetPower(PowerType powerType, int val)
public void SetPower(PowerType powerType, int val, bool withPowerUpdate = true)
{
uint powerIndex = GetPowerIndex(powerType);
if (powerIndex == (int)PowerType.Max || powerIndex >= (int)PowerType.MaxPerClass)
@@ -614,7 +614,7 @@ namespace Game.Entities
int oldPower = m_unitData.Power[(int)powerIndex];
SetUpdateFieldValue(ref m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.Power, (int)powerIndex), val);
if (IsInWorld)
if (IsInWorld && withPowerUpdate)
{
PowerUpdate packet = new();
packet.Guid = GetGUID();
+1 -1
View File
@@ -1523,7 +1523,7 @@ namespace Game.Entities
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;
victim.GetThreatManager().ForwardThreatForAssistingMe(this, damage / 2, spellInfo, true);