aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/SpellEffects.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-12-02 15:29:02 +0100
committerShauren <shauren.trinity@gmail.com>2024-12-02 15:29:02 +0100
commit1fb4acc25ae89360e71d33a8f7cba99bcc028b32 (patch)
tree6a12714df0e1bd8a96b1f5452fbc4efcb83f7200 /src/server/game/Spells/SpellEffects.cpp
parent49699bc966e4543044da7f1fd75d57fbebfac4e4 (diff)
Core/Quests: Implemented QUEST_OBJECTIVE_KILL_WITH_LABEL
Diffstat (limited to 'src/server/game/Spells/SpellEffects.cpp')
-rw-r--r--src/server/game/Spells/SpellEffects.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index c0af44a549a..7b17a52d53b 100644
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -404,8 +404,8 @@ NonDefaultConstructible<SpellEffectHandlerFn> SpellEffectHandlers[TOTAL_SPELL_EF
&Spell::EffectNULL, //313 SPELL_EFFECT_CHANGE_ITEM_BONUSES_2
&Spell::EffectNULL, //314 SPELL_EFFECT_ADD_SOCKET_BONUS
&Spell::EffectNULL, //315 SPELL_EFFECT_LEARN_TRANSMOG_APPEARANCE_FROM_ITEM_MOD_APPEARANCE_GROUP
- &Spell::EffectNULL, //316 SPELL_EFFECT_KILL_CREDIT_LABEL_1
- &Spell::EffectNULL, //317 SPELL_EFFECT_KILL_CREDIT_LABEL_2
+ &Spell::EffectKillCreditLabel, //316 SPELL_EFFECT_KILL_CREDIT_LABEL_1
+ &Spell::EffectKillCreditLabel, //317 SPELL_EFFECT_KILL_CREDIT_LABEL_2
&Spell::EffectNULL, //318 SPELL_EFFECT_318
&Spell::EffectNULL, //319 SPELL_EFFECT_319
&Spell::EffectNULL, //320 SPELL_EFFECT_320
@@ -4767,6 +4767,18 @@ void Spell::EffectKillCredit()
unitTarget->ToPlayer()->RewardPlayerAndGroupAtEvent(creatureEntry, unitTarget);
}
+void Spell::EffectKillCreditLabel()
+{
+ if (effectHandleMode != SPELL_EFFECT_HANDLE_HIT_TARGET)
+ return;
+
+ Player* playerTarget = Object::ToPlayer(unitTarget);
+ if (!playerTarget)
+ return;
+
+ playerTarget->UpdateQuestObjectiveProgress(QUEST_OBJECTIVE_KILL_WITH_LABEL, effectInfo->MiscValue, std::max(1, effectInfo->MiscValueB));
+}
+
void Spell::EffectQuestFail()
{
if (effectHandleMode != SPELL_EFFECT_HANDLE_HIT_TARGET)