diff options
author | click <none@none> | 2010-04-12 11:34:57 +0200 |
---|---|---|
committer | click <none@none> | 2010-04-12 11:34:57 +0200 |
commit | ca661f7acfa9d0b11cbce43b013fe11d8142adf7 (patch) | |
tree | 890f925fe7f26097fabb489509ed8d606f1a7549 /src/game | |
parent | 8bbbf0bc86eba95dd4937c9f77e84e0514db5ad8 (diff) |
* Fix: correct dancing rune blade damage output - patch by tbaart
Fixes issue #1354
Fixes issue #1479
--HG--
branch : trunk
Diffstat (limited to 'src/game')
-rw-r--r-- | src/game/SpellAuraEffects.cpp | 5 | ||||
-rw-r--r-- | src/game/Unit.cpp | 14 |
2 files changed, 11 insertions, 8 deletions
diff --git a/src/game/SpellAuraEffects.cpp b/src/game/SpellAuraEffects.cpp index 6a70fd58ad0..28f525fe544 100644 --- a/src/game/SpellAuraEffects.cpp +++ b/src/game/SpellAuraEffects.cpp @@ -5531,8 +5531,9 @@ void AuraEffect::HandleAuraDummy(AuraApplication const * aurApp, uint8 mode, boo target->ToPlayer()->RemoveAmmo(); // not use ammo and not allow use break; case 49028: - GetBase()->SetDuration(GetBase()->GetDuration() + (caster->GetPower(POWER_RUNIC_POWER) * 10)); - caster->SetPower(POWER_RUNIC_POWER, 0); + if (caster) + if (AuraEffect *aurEff = caster->GetAuraEffect(63330, 0)) // glyph of Dancing Rune Weapon + GetBase()->SetDuration(GetBase()->GetDuration() + aurEff->GetAmount()); break; case 62061: // Festive Holiday Mount if (target->HasAuraType(SPELL_AURA_MOUNTED)) diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 4c541c7e9df..c5994617a2a 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -7192,20 +7192,22 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger if (dummySpell->Id == 49028) { // 1 dummy aura for dismiss rune blade - if (effIndex != 2) + if (effIndex != 1) return false; - uint64 PetGUID = NULL; + + Unit* pPet = NULL; for (ControlList::const_iterator itr = m_Controlled.begin(); itr != m_Controlled.end(); ++itr) //Find Rune Weapon if ((*itr)->GetEntry() == 27893) { - PetGUID = (*itr)->GetGUID(); + pPet = (*itr); break; } - if (PetGUID && pVictim && damage && procSpell) + if (pPet && pPet->getVictim() && damage && procSpell) { - int32 procDmg = damage / 2; - CastCustomSpell(pVictim, procSpell->Id, &procDmg, NULL, NULL, true, NULL, NULL, PetGUID); + uint32 procDmg = damage / 2; + pPet->SendSpellNonMeleeDamageLog(pPet->getVictim(),procSpell->Id,procDmg,GetSpellSchoolMask(procSpell),0,0,false,0,false); + pPet->DealDamage(pPet->getVictim(),procDmg,NULL,SPELL_DIRECT_DAMAGE,GetSpellSchoolMask(procSpell),procSpell,true); break; } else |