PDA

View Full Version : [C++] Shadowmourne effect fix for Ascent Based Emu's



Wise
20-03-10, 08:47 PM
Hello MMOPro


This is a Shadowmourne Effect Fix

http://i218.photobucket.com/albums/cc100/rr2739/dfdddd.jpg

/src/redrum-world/SpellFixes.cpp (revision 12)

+ 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)

+ 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