casucristy

s

Jul 28th, 2012
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.79 KB | None | 0 0
  1. From 0c94d8fb9e0518c78005b785819b2782d14b4e67 Mon Sep 17 00:00:00 2001
  2. From: unknown <cristi@cristis-PC.(none)>
  3. Date: Sat, 28 Jul 2012 18:15:05 +0300
  4. Subject: [PATCH] Fix talents: Shadow Apparition,Harnessed Shadows,Shadow Orbs
  5.  spell and Mastery on Shadow spec - Prist
  6.  
  7. ---
  8.  src/server/game/Entities/Unit/Unit.cpp  |   25 ++++++++++++++++++++++---
  9.  src/server/game/Spells/SpellEffects.cpp |   31 ++++++++++++++++---------------
  10.  2 files changed, 38 insertions(+), 18 deletions(-)
  11.  
  12. diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
  13. index 5b84ebd..c72878a 100644
  14. --- a/src/server/game/Entities/Unit/Unit.cpp
  15. +++ b/src/server/game/Entities/Unit/Unit.cpp
  16. @@ -6295,9 +6295,9 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere
  17.              break;
  18.          }
  19.          case SPELLFAMILY_PRIEST:
  20. -        {
  21. +        {
  22.              // Shadowy Apparition
  23. -            if (dummySpell->SpellIconID == 4879)
  24. +           if (procSpell->Id == 589 && dummySpell->SpellIconID == 4879)
  25.              {
  26.                  if (!victim || !victim->isAlive())
  27.                      return false;
  28. @@ -6313,7 +6313,7 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere
  29.                  // Summon Shadowy Apparition
  30.                  if (roll_chance_i(roll_chance))
  31.                  {
  32. -                    ToPlayer()->CastSpell(ToPlayer(), 87212, true, castItem, triggeredByAura);
  33. +                    ToPlayer()->CastSpell(ToPlayer(), 87426, true, castItem, triggeredByAura);
  34.                      return true;
  35.                  }
  36.                  return false;
  37. @@ -6363,6 +6363,13 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere
  38.                  target = this;
  39.                  break;
  40.              }
  41. +           if(dummySpell->SpellIconID == 4313) //shadow orbs
  42. +           {
  43. +               if(procSpell->Id != 580 && procSpell->Id != 15407)
  44. +                   return false;
  45. +                CastSpell(this, 77487, true);
  46. +                break;
  47. +           }
  48.              switch (dummySpell->Id)
  49.              {
  50.                  // Vampiric Embrace
  51. @@ -11595,6 +11602,18 @@ uint32 Unit::SpellCriticalDamageBonus(SpellInfo const* spellProto, uint32 damage
  52.              }
  53.         }
  54.     }
  55. +  
  56. +   if(spellProto->SpellFamilyName == SPELLFAMILY_PRIEST)
  57. +   {
  58. +       uint32 chance = 0;
  59. +        if (modOwner->HasAura(33191))
  60. +            chance = 50;
  61. +        else if (modOwner->HasAura(78228))
  62. +            chance = 100;
  63. +
  64. +        if (chance && roll_chance_i(chance))
  65. +            modOwner->CastSpell(modOwner, 77487, true);
  66. +   }
  67.  
  68.      return damage;
  69.  }
  70. diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
  71. index 15f6762..28fd4b5 100644
  72. --- a/src/server/game/Spells/SpellEffects.cpp
  73. +++ b/src/server/game/Spells/SpellEffects.cpp
  74. @@ -540,21 +540,6 @@ void Spell::EffectSchoolDMG(SpellEffIndex effIndex)
  75.                      case 588:    // inner fire
  76.                          m_caster->RemoveAurasDueToSpell(73413);
  77.                           break;
  78. -                    case 589:    // Shadow Word: Pain | mind flay
  79. -                    case 15407:
  80. -                        if (m_caster->HasSpell(95740))   // Shadow Orbs
  81. -                        {
  82. -                            int chance = 10;
  83. -
  84. -                            if (m_caster->HasAura(33191)) // Harnessed Shadows rank1
  85. -                                chance += 4;
  86. -                            else if (m_caster->HasAura(78228))  // Harnessed Shadows rank2
  87. -                                chance += 8;
  88. -
  89. -                            if (roll_chance_i(chance))
  90. -                                m_caster->CastSpell(m_caster, 77487, true);
  91. -                        }
  92. -                        break;
  93.                     case 8092:  //improved Mind Blast -- mind trauma debuff
  94.                         if(m_caster->HasAura(15473))
  95.                         {
  96. @@ -571,6 +556,22 @@ void Spell::EffectSchoolDMG(SpellEffIndex effIndex)
  97.                             {
  98.                                 m_caster->CastSpell(unitTarget,48301);
  99.                             }
  100. +                       }   //no break here - Shadows Orbs can be consumed on Mind Blast too.
  101. +                   case 73510:
  102. +                       // Shadow orbs -- check at Mind blast(8092) and mind Spike(73510);
  103. +                       if (m_caster->HasAura(77487))
  104. +                       {
  105. +                           uint8 stack = m_caster->GetAura(77487)->GetStackAmount();
  106. +                           uint32 pct = stack * 10;
  107. +
  108. +                           // Mastery
  109. +                           if (m_caster->HasAuraType(SPELL_AURA_MASTERY))
  110. +                               if (m_caster->ToPlayer()->GetTalentBranchSpec(m_caster->ToPlayer()->GetActiveSpec()) == BS_PRIEST_SHADOW)
  111. +                                   pct += 27 + 1.5f * m_caster->ToPlayer()->GetMasteryPoints();
  112. +
  113. +                           AddPctN(damage, pct);
  114. +                           m_caster->AddAura(95799,m_caster); // cast empowered shadow
  115. +                           m_caster->RemoveAurasDueToSpell(77487); // remove orbs
  116.                         }
  117.                         break;
  118.                  }
  119. --
  120. 1.7.10.msysgit.1
Advertisement
Add Comment
Please, Sign In to add comment