Core/Units: Power handling improvements

* Don't include creature_template power multipliers in CreateMana updatefield
* Allow NPCs to have power types other than mana
* Add missing Essence config regeneration rate
* Fixed demon hunter powers not decaying immediately after combat
* Fixed some powers decaying immediately out of combat after energizing (for example holy power)
* Replace hardcoded list of powers to set to full on levelup with a db2 flag check
* Updated Creature::GetPowerIndex for 10.1 new power types
Port From (https://github.com/TrinityCore/TrinityCore/commit/1325e0c4b279d590acbcbb05d6abdf5fdb66a882)
This commit is contained in:
hondacrx
2023-05-23 05:44:42 -04:00
parent 06f99fda8b
commit d55f4f836f
13 changed files with 191 additions and 62 deletions
+9
View File
@@ -1172,6 +1172,15 @@ namespace Game.Entities
public void EnergizeBySpell(Unit victim, SpellInfo spellInfo, int damage, PowerType powerType)
{
Player player = victim.ToPlayer();
if (player != null)
{
var powerTypeEntry = Global.DB2Mgr.GetPowerTypeEntry(powerType);
if (powerTypeEntry != null)
if (powerTypeEntry.GetFlags().HasFlag(PowerTypeFlags.UseRegenInterrupt))
player.InterruptPowerRegen(powerType);
}
int gain = victim.ModifyPower(powerType, damage, false);
int overEnergize = damage - gain;