diff options
author | megamage <none@none> | 2009-07-30 10:18:05 +0800 |
---|---|---|
committer | megamage <none@none> | 2009-07-30 10:18:05 +0800 |
commit | 9dcaf305004bf8f669f4be8496201f78f2d72826 (patch) | |
tree | 73fb318f6dd0e48de96a52db1eba673d59163a38 | |
parent | 3f32028e8251ef8b2235a3ec63c2d7e95d438649 (diff) |
[8220] Implement SPELL_EFFECT_PLAY_MUSIC(132) Author: evilstar
Thanks to GriffonHeart for help in reseach.
--HG--
branch : trunk
-rw-r--r-- | src/game/SharedDefines.h | 4 | ||||
-rw-r--r-- | src/game/Spell.h | 1 | ||||
-rw-r--r-- | src/game/SpellEffects.cpp | 23 |
3 files changed, 24 insertions, 4 deletions
diff --git a/src/game/SharedDefines.h b/src/game/SharedDefines.h index a708a80199c..5435f6f759a 100644 --- a/src/game/SharedDefines.h +++ b/src/game/SharedDefines.h @@ -667,10 +667,10 @@ enum SpellEffects SPELL_EFFECT_APPLY_AREA_AURA_ENEMY = 129, SPELL_EFFECT_REDIRECT_THREAT = 130, SPELL_EFFECT_131 = 131, - SPELL_EFFECT_132 = 132, + SPELL_EFFECT_PLAY_MUSIC = 132, SPELL_EFFECT_UNLEARN_SPECIALIZATION = 133, SPELL_EFFECT_KILL_CREDIT2 = 134, - SPELL_EFFECT_135 = 135, + SPELL_EFFECT_CALL_PET = 135, SPELL_EFFECT_HEAL_PCT = 136, SPELL_EFFECT_ENERGIZE_PCT = 137, SPELL_EFFECT_138 = 138, diff --git a/src/game/Spell.h b/src/game/Spell.h index 1f4086280f0..b593bf79881 100644 --- a/src/game/Spell.h +++ b/src/game/Spell.h @@ -354,6 +354,7 @@ class Spell void EffectActivateRune(uint32 i); void EffectTitanGrip(uint32 i); void EffectEnchantItemPrismatic(uint32 i); + void EffectPlayMusic(uint32 i); typedef std::set<Aura *> UsedSpellMods; diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 89845a51bd0..a9a4e2f50b1 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -196,7 +196,7 @@ pEffect SpellEffects[TOTAL_SPELL_EFFECTS]= &Spell::EffectApplyAreaAura, //129 SPELL_EFFECT_APPLY_AREA_AURA_ENEMY &Spell::EffectRedirectThreat, //130 SPELL_EFFECT_REDIRECT_THREAT &Spell::EffectUnused, //131 SPELL_EFFECT_131 used in some test spells - &Spell::EffectNULL, //132 SPELL_EFFECT_PLAY_MUSIC sound id in misc value (SoundEntries.dbc) + &Spell::EffectPlayMusic, //132 SPELL_EFFECT_PLAY_MUSIC sound id in misc value (SoundEntries.dbc) &Spell::EffectUnlearnSpecialization, //133 SPELL_EFFECT_UNLEARN_SPECIALIZATION unlearn profession specialization &Spell::EffectKillCredit, //134 SPELL_EFFECT_KILL_CREDIT misc value is creature entry &Spell::EffectNULL, //135 SPELL_EFFECT_CALL_PET @@ -6867,4 +6867,23 @@ void Spell::EffectRenamePet(uint32 /*eff_idx*/) return; unitTarget->SetByteValue(UNIT_FIELD_BYTES_2, 2, UNIT_RENAME_ALLOWED); -}
\ No newline at end of file +} + +void Spell::EffectPlayMusic(uint32 i) +{ + if(!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER) + return; + + uint32 soundid = m_spellInfo->EffectMiscValue[i]; + + if (!sSoundEntriesStore.LookupEntry(soundid)) + { + sLog.outError("EffectPlayMusic: Sound (Id: %u) not exist in spell %u.",soundid,m_spellInfo->Id); + return; + } + + WorldPacket data(SMSG_PLAY_MUSIC, 4); + data << uint32(soundid); + ((Player*)unitTarget)->GetSession()->SendPacket(&data); +} + |