Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/src/game/SharedDefines.h b/src/game/SharedDefines.h
- index a96b80a..39ba400 100644
- --- a/src/game/SharedDefines.h
- +++ b/src/game/SharedDefines.h
- @@ -2453,6 +2453,7 @@ enum SummonType
- SUMMON_TYPE_TOTEM = 121,
- SUMMON_TYPE_UNKNOWN3 = 181,
- SUMMON_TYPE_UNKNOWN4 = 187,
- + SUMMON_TYPE_RUNE_BLADE = 208,
- SUMMON_TYPE_UNKNOWN1 = 247,
- SUMMON_TYPE_CRITTER2 = 407,
- SUMMON_TYPE_CRITTER3 = 307,
- diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
- index 2901cf3..d78017b 100644
- --- a/src/game/SpellEffects.cpp
- +++ b/src/game/SpellEffects.cpp
- @@ -3340,6 +3340,7 @@ void Spell::EffectSummonType(uint32 i)
- case SUMMON_TYPE_POSESSED2:
- case SUMMON_TYPE_FORCE_OF_NATURE:
- case SUMMON_TYPE_GUARDIAN2:
- + case SUMMON_TYPE_RUNE_BLADE:
- case SUMMON_TYPE_GUARDIAN3:
- // Jewelery statue case (totem like)
- if(m_spellInfo->SpellIconID == 2056)
- diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
- index f31c738..be64e7d 100644
- --- a/src/game/Unit.cpp
- +++ b/src/game/Unit.cpp
- @@ -6380,7 +6380,40 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
- return false;
- // TODO: wite script for this "fights on its own, doing the same attacks"
- // NOTE: Trigger here on every attack and spell cast
- - return false;
- + Pet* runeBlade = FindGuardianWithEntry(27893);
- + if (!runeBlade)
- + return false;
- + else
- + {
- + if(!procSpell) // triggered from auto-attack
- + {
- + // copy paste from attacker state update...
- + pVictim = SelectMagnetTarget(pVictim);
- +
- + CalcDamageInfo damageInfo;
- + CalculateMeleeDamage(pVictim, 0, &damageInfo, BASE_ATTACK);
- + damageInfo.attacker = runeBlade;
- + damageInfo.damage = damageInfo.damage / 2;
- + // Send log damage message to client
- + runeBlade->DealDamageMods(pVictim,damageInfo.damage,&damageInfo.absorb);
- + runeBlade->SendAttackStateUpdate(&damageInfo);
- + runeBlade->ProcDamageAndSpell(damageInfo.target, damageInfo.procAttacker, damageInfo.procVictim, damageInfo.procEx, damageInfo.damage, damageInfo.attackType);
- + runeBlade->DealMeleeDamage(&damageInfo,true);
- +
- + // if damage pVictim call AI reaction
- + if(pVictim->GetTypeId()==TYPEID_UNIT && ((Creature*)pVictim)->AI())
- + ((Creature*)pVictim)->AI()->AttackedBy(runeBlade);
- + }
- + else // only melee based spells?
- + {
- + // is it really half???
- + basepoints0 = procSpell->EffectBasePoints[0] / 2;
- + int32 basepoints1 = procSpell->EffectBasePoints[1] / 2;
- + int32 basepoints2 = procSpell->EffectBasePoints[2] / 2;
- + runeBlade->CastCustomSpell(pVictim,procSpell,&basepoints0,&basepoints1,&basepoints2,true,castItem,triggeredByAura);
- + }
- + return true;
- + }
- }
- // Mark of Blood
- if (dummySpell->Id == 49005)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement