Hello MMOPro


This is a Shadowmourne Effect Fix



/src/redrum-world/SpellFixes.cpp (revision 12)
Code:
+            case 71903: // ShadowMourne Effect
+                {
+                    sp->Effect[0] = SPELL_EFFECT_APPLY_AURA;
+                    sp->EffectApplyAuraName[0] = SPELL_AURA_DUMMY;
+                    sp->procFlags = PROC_ON_MELEE_ATTACK |  PROC_ON_PHYSICAL_ATTACK | PROC_ON_CRIT_ATTACK;
+                    sp->procChance = 20;
+                    sp->Effect[1] = SPELL_EFFECT_APPLY_AURA;
+                    sp->EffectApplyAuraName[1] =  SPELL_AURA_PROC_TRIGGER_SPELL;
+                    sp->EffectTriggerSpell[1] = 71905;
+                }break;
+
+            case 71905:
+                {
+                    sp->Effect[1] = SPELL_EFFECT_APPLY_AURA;
+                    sp->EffectApplyAuraName[1] = SPELL_AURA_DUMMY;
+                }break;
/src/redrum-world/SpellAuras.cpp (revision 12)
Code:
+    case 71903: // SM-Effect
+        {
+            if(GetCaster()->IsPlayer())
+            {
+                if(!apply)
+                {
+                    TO_PLAYER(GetCaster())->RemoveAura(71905);
+                    TO_PLAYER(GetCaster())->RemoveAura(72521);
+                    TO_PLAYER(GetCaster())->RemoveAura(72523);
+                }
+            }
+        }break;
+
+    case 71905: // SM-Shards
+        {
+            if(GetCaster()->IsPlayer())
+            {
+                Player* plr = TO_PLAYER(GetCaster());
+                if(apply)
+                {
+                    SetDuration(60000); // Stack 
+                    if(stackSize >= 1 && stackSize <= 5)
+                    {
+                        plr->RemoveAura(72523);
+                        if(!plr->HasAura(72521))
+                            plr->CastSpell(plr, 72521, false);
+                    }
+                    if(stackSize >= 6 && stackSize <= 9)
+                    {
+                        plr->RemoveAura(72521);
+                        if(!plr->HasAura(72523))
+                            plr->CastSpell(plr, 72523,  false);                        
+                    }
+                    if(stackSize >= 10)
+                    {
+                        SpellEntry* sp = dbcSpell.LookupEntry(71904);
+                        plr->CastSpellAoF(plr->GetPositionX(),  plr->GetPositionY(), plr->GetPositionZ(), sp, false);
+                        plr->RemoveAura(72521);
+                        plr->RemoveAura(72523);
+                        plr->RemoveAura(71905);
+                    }
+                }
+                else
+                {
+                    plr->RemoveAura(72521);
+                    plr->RemoveAura(72523);
+                }
+            }
+        }break;
+

I don't take any credits , All Credits goes to Algorithm





› See More: [C++] Shadowmourne effect fix for Ascent Based Emu's