mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Core/Spells: Added missing changes for ade34a7f48
This commit is contained in:
@@ -62,6 +62,7 @@
|
||||
#include "PhasingHandler.h"
|
||||
#include "Player.h"
|
||||
#include "ReputationMgr.h"
|
||||
#include "RestMgr.h"
|
||||
#include "SceneObject.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "SharedDefines.h"
|
||||
@@ -321,8 +322,8 @@ NonDefaultConstructible<SpellEffectHandlerFn> SpellEffectHandlers[TOTAL_SPELL_EF
|
||||
&Spell::EffectNULL, //233 SPELL_EFFECT_RANDOMIZE_FOLLOWER_ABILITIES
|
||||
&Spell::EffectNULL, //234 SPELL_EFFECT_234
|
||||
&Spell::EffectUnused, //235 SPELL_EFFECT_235
|
||||
&Spell::EffectNULL, //236 SPELL_EFFECT_GIVE_EXPERIENCE
|
||||
&Spell::EffectNULL, //237 SPELL_EFFECT_GIVE_RESTED_EXPERIENCE_BONUS
|
||||
&Spell::EffectGiveExperience, //236 SPELL_EFFECT_GIVE_EXPERIENCE
|
||||
&Spell::EffectGiveRestedExperience, //237 SPELL_EFFECT_GIVE_RESTED_EXPERIENCE_BONUS
|
||||
&Spell::EffectNULL, //238 SPELL_EFFECT_INCREASE_SKILL
|
||||
&Spell::EffectNULL, //239 SPELL_EFFECT_END_GARRISON_BUILDING_CONSTRUCTION
|
||||
&Spell::EffectGiveArtifactPower, //240 SPELL_EFFECT_GIVE_ARTIFACT_POWER
|
||||
@@ -5342,6 +5343,32 @@ void Spell::EffectGrantBattlePetLevel()
|
||||
playerCaster->GetSession()->GetBattlePetMgr()->GrantBattlePetLevel(unitTarget->GetBattlePetCompanionGUID(), damage);
|
||||
}
|
||||
|
||||
void Spell::EffectGiveExperience()
|
||||
{
|
||||
if (effectHandleMode != SPELL_EFFECT_HANDLE_HIT_TARGET)
|
||||
return;
|
||||
|
||||
Player* playerTarget = Object::ToPlayer(unitTarget);
|
||||
if (!playerTarget)
|
||||
return;
|
||||
|
||||
uint32 xp = Quest::XPValue(playerTarget, effectInfo->MiscValue, effectInfo->MiscValueB);
|
||||
playerTarget->GiveXP(xp, nullptr);
|
||||
}
|
||||
|
||||
void Spell::EffectGiveRestedExperience()
|
||||
{
|
||||
if (effectHandleMode != SPELL_EFFECT_HANDLE_HIT_TARGET)
|
||||
return;
|
||||
|
||||
Player* playerTarget = Object::ToPlayer(unitTarget);
|
||||
if (!playerTarget)
|
||||
return;
|
||||
|
||||
// effect value is number of resting hours
|
||||
playerTarget->GetRestMgr().AddRestBonus(REST_TYPE_XP, damage * HOUR * playerTarget->GetRestMgr().CalcExtraPerSec(REST_TYPE_XP, 0.125f));
|
||||
}
|
||||
|
||||
void Spell::EffectHealBattlePetPct()
|
||||
{
|
||||
if (effectHandleMode != SPELL_EFFECT_HANDLE_HIT_TARGET)
|
||||
|
||||
Reference in New Issue
Block a user