From 404842681c699f23d6fa3d00b2330ff3b109ac57 Mon Sep 17 00:00:00 2001 From: hondacrx Date: Thu, 5 Jan 2023 17:13:45 -0500 Subject: [PATCH] Core/Spells: Added missing changes Port From (https://github.com/TrinityCore/TrinityCore/commit/14c48272fbdf29075152471f2bd8dfb2eac2e548) --- Source/Game/Spells/SpellEffects.cs | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/Source/Game/Spells/SpellEffects.cs b/Source/Game/Spells/SpellEffects.cs index 29dfbe969..6aabb2dba 100644 --- a/Source/Game/Spells/SpellEffects.cs +++ b/Source/Game/Spells/SpellEffects.cs @@ -5144,6 +5144,34 @@ namespace Game.Spells playerCaster.GetSession().GetBattlePetMgr().GrantBattlePetLevel(unitTarget.GetBattlePetCompanionGUID(), (ushort)damage); } + [SpellEffectHandler(SpellEffectName.GiveExperience)] + void EffectGiveExperience() + { + if (effectHandleMode != SpellEffectHandleMode.HitTarget) + return; + + Player playerTarget = unitTarget?.ToPlayer(); + if (!playerTarget) + return; + + uint xp = Quest.XPValue(playerTarget, (uint)effectInfo.MiscValue, (uint)effectInfo.MiscValueB); + playerTarget.GiveXP(xp, null); + } + + [SpellEffectHandler(SpellEffectName.GiveRestedEcperienceBonus)] + void EffectGiveRestedExperience() + { + if (effectHandleMode != SpellEffectHandleMode.HitTarget) + return; + + Player playerTarget = unitTarget?.ToPlayer(); + if (!playerTarget) + return; + + // effect value is number of resting hours + playerTarget.GetRestMgr().AddRestBonus(RestTypes.XP, damage * Time.Hour * playerTarget.GetRestMgr().CalcExtraPerSec(RestTypes.XP, 0.125f)); + } + [SpellEffectHandler(SpellEffectName.HealBattlepetPct)] void EffectHealBattlePetPct() {