Jump to content

[patch] Implement 59088 talent and ranks


Recommended Posts

Posted

What features does the patch add?

Implement 59088 talent (second part).

For which repository revision was the patch created?

8896 + dual spec patch (if you use clean Mangos - use HasSpell instead HasTalent)

diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
index b1c03f8..0867f1b 100644
--- a/src/game/SpellEffects.cpp
+++ b/src/game/SpellEffects.cpp
@@ -2724,6 +2724,47 @@ void Spell::EffectApplyAura(uint32 i)
    if(!caster)
        return;

+    switch(m_spellInfo->Id)
+    {
+        case 23920:                // Improved Spell Reflection
+        {    
+            
+            if (m_caster->GetTypeId() == TYPEID_PLAYER)
+            {
+                 Player* pPlayer = (Player*)m_caster;
+                 
+                 int count = 0;
+                 if(pPlayer->HasTalent(59088, pPlayer->GetActiveSpec())) count = 2;
+                 if(pPlayer->HasTalent(59089, pPlayer->GetActiveSpec())) count = 4;
+                             
+                 if (count == 0)
+                    break;
+                      
+                 Group *pGroup = pPlayer->GetGroup();
+                 if (pGroup)
+                 {
+                     for (GroupReference *itr = pGroup->GetFirstMember(); itr != NULL; itr = itr->next())
+                     {
+                            Player* pGroupie = itr->getSource();
+
+                            if (count == 0)
+                                break;
+
+                            if (!pGroupie || (pPlayer->GetGUID() == pGroupie->GetGUID()))
+                             continue;
+
+                            if (pPlayer->IsWithinDistInMap(pGroupie, 20.0f) && (pGroupie->GetSubGroup() == pPlayer->GetSubGroup()) && pGroupie->isAlive() && pGroupie->IsInWorld())
+                            {
+                                pGroupie->CastSpell(pGroupie, 43443, false);
+                                count--;
+                            }
+                     } 
+                 }
+             }
+             break;
+        }
+    }
+
    sLog.outDebug("Spell: Aura is: %u", m_spellInfo->EffectApplyAuraName[i]);

    Aura* Aur = CreateAura(m_spellInfo, i, &m_currentBasePoints[i], unitTarget, caster, m_CastItem);

Posted

Patch incorrect by implementation

1) this not very nice put in apply aura raw code

2) exist special spell 59725 that targeted TARGET_ALL_RAID_AROUND_CASTER maybe it must casted

(this need check because unclear is this correct spell or not)

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use