Advertisement
Guest User

Beaste

a guest
Oct 27th, 2009
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.49 KB | None | 0 0
  1. diff --git a/src/game/SharedDefines.h b/src/game/SharedDefines.h
  2. index a96b80a..39ba400 100644
  3. --- a/src/game/SharedDefines.h
  4. +++ b/src/game/SharedDefines.h
  5. @@ -2453,6 +2453,7 @@ enum SummonType
  6.      SUMMON_TYPE_TOTEM       = 121,
  7.      SUMMON_TYPE_UNKNOWN3    = 181,
  8.      SUMMON_TYPE_UNKNOWN4    = 187,
  9. +    SUMMON_TYPE_RUNE_BLADE  = 208,
  10.      SUMMON_TYPE_UNKNOWN1    = 247,
  11.      SUMMON_TYPE_CRITTER2    = 407,
  12.      SUMMON_TYPE_CRITTER3    = 307,
  13. diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
  14. index 2901cf3..d78017b 100644
  15. --- a/src/game/SpellEffects.cpp
  16. +++ b/src/game/SpellEffects.cpp
  17. @@ -3340,6 +3340,7 @@ void Spell::EffectSummonType(uint32 i)
  18.          case SUMMON_TYPE_POSESSED2:
  19.          case SUMMON_TYPE_FORCE_OF_NATURE:
  20.          case SUMMON_TYPE_GUARDIAN2:
  21. +        case SUMMON_TYPE_RUNE_BLADE:
  22.          case SUMMON_TYPE_GUARDIAN3:
  23.              // Jewelery statue case (totem like)
  24.              if(m_spellInfo->SpellIconID == 2056)
  25. diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
  26. index f31c738..be64e7d 100644
  27. --- a/src/game/Unit.cpp
  28. +++ b/src/game/Unit.cpp
  29. @@ -6380,7 +6380,40 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
  30.                      return false;
  31.                  // TODO: wite script for this "fights on its own, doing the same attacks"
  32.                  // NOTE: Trigger here on every attack and spell cast
  33. -                return false;
  34. +                Pet* runeBlade = FindGuardianWithEntry(27893);
  35. +                if (!runeBlade)
  36. +                    return false;
  37. +                else
  38. +                {
  39. +                    if(!procSpell) // triggered from auto-attack
  40. +                    {
  41. +                        // copy paste from attacker state update...
  42. +                        pVictim = SelectMagnetTarget(pVictim);
  43. +
  44. +                        CalcDamageInfo damageInfo;
  45. +                        CalculateMeleeDamage(pVictim, 0, &damageInfo, BASE_ATTACK);
  46. +                        damageInfo.attacker = runeBlade;
  47. +                        damageInfo.damage = damageInfo.damage / 2;
  48. +                        // Send log damage message to client
  49. +                        runeBlade->DealDamageMods(pVictim,damageInfo.damage,&damageInfo.absorb);
  50. +                        runeBlade->SendAttackStateUpdate(&damageInfo);
  51. +                        runeBlade->ProcDamageAndSpell(damageInfo.target, damageInfo.procAttacker, damageInfo.procVictim, damageInfo.procEx, damageInfo.damage, damageInfo.attackType);
  52. +                        runeBlade->DealMeleeDamage(&damageInfo,true);
  53. +
  54. +                        // if damage pVictim call AI reaction
  55. +                        if(pVictim->GetTypeId()==TYPEID_UNIT && ((Creature*)pVictim)->AI())
  56. +                            ((Creature*)pVictim)->AI()->AttackedBy(runeBlade);
  57. +                    }
  58. +                    else           // only melee based spells?
  59. +                    {
  60. +                        // is it really half???
  61. +                        basepoints0 = procSpell->EffectBasePoints[0] / 2;
  62. +                        int32 basepoints1 = procSpell->EffectBasePoints[1] / 2;
  63. +                        int32 basepoints2 = procSpell->EffectBasePoints[2] / 2;
  64. +                        runeBlade->CastCustomSpell(pVictim,procSpell,&basepoints0,&basepoints1,&basepoints2,true,castItem,triggeredByAura);
  65. +                    }
  66. +                    return true;
  67. +                }
  68.              }
  69.              // Mark of Blood
  70.              if (dummySpell->Id == 49005)
  71.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement