Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- From 0c94d8fb9e0518c78005b785819b2782d14b4e67 Mon Sep 17 00:00:00 2001
- From: unknown <cristi@cristis-PC.(none)>
- Date: Sat, 28 Jul 2012 18:15:05 +0300
- Subject: [PATCH] Fix talents: Shadow Apparition,Harnessed Shadows,Shadow Orbs
- spell and Mastery on Shadow spec - Prist
- ---
- src/server/game/Entities/Unit/Unit.cpp | 25 ++++++++++++++++++++++---
- src/server/game/Spells/SpellEffects.cpp | 31 ++++++++++++++++---------------
- 2 files changed, 38 insertions(+), 18 deletions(-)
- diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
- index 5b84ebd..c72878a 100644
- --- a/src/server/game/Entities/Unit/Unit.cpp
- +++ b/src/server/game/Entities/Unit/Unit.cpp
- @@ -6295,9 +6295,9 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere
- break;
- }
- case SPELLFAMILY_PRIEST:
- - {
- + {
- // Shadowy Apparition
- - if (dummySpell->SpellIconID == 4879)
- + if (procSpell->Id == 589 && dummySpell->SpellIconID == 4879)
- {
- if (!victim || !victim->isAlive())
- return false;
- @@ -6313,7 +6313,7 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere
- // Summon Shadowy Apparition
- if (roll_chance_i(roll_chance))
- {
- - ToPlayer()->CastSpell(ToPlayer(), 87212, true, castItem, triggeredByAura);
- + ToPlayer()->CastSpell(ToPlayer(), 87426, true, castItem, triggeredByAura);
- return true;
- }
- return false;
- @@ -6363,6 +6363,13 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere
- target = this;
- break;
- }
- + if(dummySpell->SpellIconID == 4313) //shadow orbs
- + {
- + if(procSpell->Id != 580 && procSpell->Id != 15407)
- + return false;
- + CastSpell(this, 77487, true);
- + break;
- + }
- switch (dummySpell->Id)
- {
- // Vampiric Embrace
- @@ -11595,6 +11602,18 @@ uint32 Unit::SpellCriticalDamageBonus(SpellInfo const* spellProto, uint32 damage
- }
- }
- }
- +
- + if(spellProto->SpellFamilyName == SPELLFAMILY_PRIEST)
- + {
- + uint32 chance = 0;
- + if (modOwner->HasAura(33191))
- + chance = 50;
- + else if (modOwner->HasAura(78228))
- + chance = 100;
- +
- + if (chance && roll_chance_i(chance))
- + modOwner->CastSpell(modOwner, 77487, true);
- + }
- return damage;
- }
- diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
- index 15f6762..28fd4b5 100644
- --- a/src/server/game/Spells/SpellEffects.cpp
- +++ b/src/server/game/Spells/SpellEffects.cpp
- @@ -540,21 +540,6 @@ void Spell::EffectSchoolDMG(SpellEffIndex effIndex)
- case 588: // inner fire
- m_caster->RemoveAurasDueToSpell(73413);
- break;
- - case 589: // Shadow Word: Pain | mind flay
- - case 15407:
- - if (m_caster->HasSpell(95740)) // Shadow Orbs
- - {
- - int chance = 10;
- -
- - if (m_caster->HasAura(33191)) // Harnessed Shadows rank1
- - chance += 4;
- - else if (m_caster->HasAura(78228)) // Harnessed Shadows rank2
- - chance += 8;
- -
- - if (roll_chance_i(chance))
- - m_caster->CastSpell(m_caster, 77487, true);
- - }
- - break;
- case 8092: //improved Mind Blast -- mind trauma debuff
- if(m_caster->HasAura(15473))
- {
- @@ -571,6 +556,22 @@ void Spell::EffectSchoolDMG(SpellEffIndex effIndex)
- {
- m_caster->CastSpell(unitTarget,48301);
- }
- + } //no break here - Shadows Orbs can be consumed on Mind Blast too.
- + case 73510:
- + // Shadow orbs -- check at Mind blast(8092) and mind Spike(73510);
- + if (m_caster->HasAura(77487))
- + {
- + uint8 stack = m_caster->GetAura(77487)->GetStackAmount();
- + uint32 pct = stack * 10;
- +
- + // Mastery
- + if (m_caster->HasAuraType(SPELL_AURA_MASTERY))
- + if (m_caster->ToPlayer()->GetTalentBranchSpec(m_caster->ToPlayer()->GetActiveSpec()) == BS_PRIEST_SHADOW)
- + pct += 27 + 1.5f * m_caster->ToPlayer()->GetMasteryPoints();
- +
- + AddPctN(damage, pct);
- + m_caster->AddAura(95799,m_caster); // cast empowered shadow
- + m_caster->RemoveAurasDueToSpell(77487); // remove orbs
- }
- break;
- }
- --
- 1.7.10.msysgit.1
Advertisement
Add Comment
Please, Sign In to add comment