diff options
| author | Vincent-Michael <Vincent_Michael@gmx.de> | 2013-07-23 21:50:36 +0200 |
|---|---|---|
| committer | Vincent-Michael <Vincent_Michael@gmx.de> | 2013-07-23 21:50:36 +0200 |
| commit | 0bff11cc0f32cd9a0d529ceff117ffcac3efca1c (patch) | |
| tree | 285dadc11f35b67ee250860fb4268e8df71e3621 /src/server/scripts | |
| parent | c08ba7510b5a534d1e45f580fb936979eeaf9f85 (diff) | |
Core/Spells: Update rogue "Blade Flurry" for 4.3.4
Diffstat (limited to 'src/server/scripts')
| -rw-r--r-- | src/server/scripts/Spells/spell_rogue.cpp | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/src/server/scripts/Spells/spell_rogue.cpp b/src/server/scripts/Spells/spell_rogue.cpp index 9307b07ae93..e73da473f2c 100644 --- a/src/server/scripts/Spells/spell_rogue.cpp +++ b/src/server/scripts/Spells/spell_rogue.cpp @@ -28,6 +28,7 @@ enum RogueSpells { + SPELL_ROGUE_BLADE_FLURRY = 13877, SPELL_ROGUE_BLADE_FLURRY_EXTRA_ATTACK = 22482, SPELL_ROGUE_CHEAT_DEATH_COOLDOWN = 31231, SPELL_ROGUE_GLYPH_OF_PREPARATION = 56819, @@ -68,24 +69,27 @@ class spell_rog_blade_flurry : public SpellScriptLoader bool CheckProc(ProcEventInfo& eventInfo) { - _procTarget = eventInfo.GetActor()->SelectNearbyTarget(eventInfo.GetProcTarget()); - return _procTarget; + _procTarget = GetTarget()->SelectNearbyTarget(eventInfo.GetProcTarget()); + return _procTarget && eventInfo.GetDamageInfo(); } void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo) { PreventDefaultAction(); - if (eventInfo.GetDamageInfo()) - { - int32 damage = eventInfo.GetDamageInfo()->GetDamage(); - GetTarget()->CastCustomSpell(SPELL_ROGUE_BLADE_FLURRY_EXTRA_ATTACK, SPELLVALUE_BASE_POINT0, damage, _procTarget, true, NULL, aurEff); - } + + TC_LOG_ERROR(LOG_FILTER_GENERAL, "damage: %u procSpell: %u", + eventInfo.GetDamageInfo()->GetDamage(), eventInfo.GetDamageInfo()->GetSpellInfo() ? eventInfo.GetDamageInfo()->GetSpellInfo()->Id : 0); + + GetTarget()->CastCustomSpell(SPELL_ROGUE_BLADE_FLURRY_EXTRA_ATTACK, SPELLVALUE_BASE_POINT0, eventInfo.GetDamageInfo()->GetDamage(), _procTarget, true, NULL, aurEff); } void Register() OVERRIDE { DoCheckProc += AuraCheckProcFn(spell_rog_blade_flurry_AuraScript::CheckProc); - OnEffectProc += AuraEffectProcFn(spell_rog_blade_flurry_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_MOD_MELEE_HASTE); + if (m_scriptSpellId == SPELL_ROGUE_BLADE_FLURRY) + OnEffectProc += AuraEffectProcFn(spell_rog_blade_flurry_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_MOD_POWER_REGEN_PERCENT); + else + OnEffectProc += AuraEffectProcFn(spell_rog_blade_flurry_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_MOD_MELEE_HASTE); } private: |
