From fd73bedd735596ac6ddb3db4ead3938732b2ec43 Mon Sep 17 00:00:00 2001 From: Golrag Date: Thu, 24 Aug 2017 20:39:22 +0200 Subject: Core/Transmog: Implemented transmog sets Closes #20133 Closes #20135 --- src/server/game/Spells/Spell.h | 1 + src/server/game/Spells/SpellEffects.cpp | 13 ++++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) (limited to 'src/server/game/Spells') diff --git a/src/server/game/Spells/Spell.h b/src/server/game/Spells/Spell.h index 881e578813e..be318a0d541 100644 --- a/src/server/game/Spells/Spell.h +++ b/src/server/game/Spells/Spell.h @@ -477,6 +477,7 @@ class TC_GAME_API Spell void EffectGiveArtifactPowerNoBonus(SpellEffIndex effIndex); void EffectPlayScene(SpellEffIndex effIndex); void EffectGiveHonor(SpellEffIndex effIndex); + void EffectLearnTransmogSet(SpellEffIndex effIndex); typedef std::unordered_set UsedSpellMods; diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index cdc6aeb4751..53bb34eae34 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -328,7 +328,7 @@ pEffect SpellEffects[TOTAL_SPELL_EFFECTS]= &Spell::EffectTeleportUnits, //252 SPELL_EFFECT_TELEPORT_UNITS &Spell::EffectGiveHonor, //253 SPELL_EFFECT_GIVE_HONOR &Spell::EffectNULL, //254 SPELL_EFFECT_254 - &Spell::EffectNULL, //255 SPELL_EFFECT_LEARN_TRANSMOG_SET + &Spell::EffectLearnTransmogSet, //255 SPELL_EFFECT_LEARN_TRANSMOG_SET }; void Spell::EffectNULL(SpellEffIndex /*effIndex*/) @@ -5901,3 +5901,14 @@ void Spell::EffectGiveHonor(SpellEffIndex /*effIndex*/) playerTarget->AddHonorXP(damage); playerTarget->SendDirectMessage(packet.Write()); } + +void Spell::EffectLearnTransmogSet(SpellEffIndex /*effIndex*/) +{ + if (effectHandleMode != SPELL_EFFECT_HANDLE_HIT_TARGET) + return; + + if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER) + return; + + unitTarget->ToPlayer()->GetSession()->GetCollectionMgr()->AddTransmogSet(effectInfo->MiscValue); +} -- cgit v1.2.3