Core/Spells: DK Dancing Rune weapon diseases now count towards Heart Strike bonus damage

This commit is contained in:
mik1893
2016-07-30 20:40:46 +01:00
parent f6477b1b04
commit 5c43420133
4 changed files with 18 additions and 1 deletions
@@ -682,6 +682,8 @@ Player::Player(WorldSession* session): Unit(true), m_mover(this)
//[AZTH] initialization
azthPlayer = new AzthPlayer(this);
m_drwGUID = 0;
m_speakTime = 0;
m_speakCount = 0;
+5
View File
@@ -2628,6 +2628,11 @@ class Player : public Unit, public GridObject<Player>
uint32 m_pendingSpectatorInviteInstanceId;
std::set<uint32> m_receivedSpectatorResetFor;
// Dancing Rune weapon
void setRuneWeaponGUID(uint64 guid) { m_drwGUID = guid; };
uint64 getRuneWeaponGUID() { return m_drwGUID; };
uint64 m_drwGUID;
bool CanSeeDKPet() const { return m_ExtraFlags & PLAYER_EXTRA_SHOW_DK_PET; }
void SetShowDKPet(bool on) { if (on) m_ExtraFlags |= PLAYER_EXTRA_SHOW_DK_PET; else m_ExtraFlags &= ~PLAYER_EXTRA_SHOW_DK_PET; };
void PrepareCharmAISpells();
+6 -1
View File
@@ -5047,6 +5047,11 @@ uint32 Unit::GetDiseasesByCaster(uint64 casterGUID, uint8 mode)
SPELL_AURA_NONE
};
uint64 drwGUID = 0;
if (Player* playerCaster = ObjectAccessor::GetPlayer(*this, casterGUID))
drwGUID = playerCaster->getRuneWeaponGUID();
uint32 diseases = 0;
for (uint8 index = 0; diseaseAuraTypes[index] != SPELL_AURA_NONE; ++index)
{
@@ -5054,7 +5059,7 @@ uint32 Unit::GetDiseasesByCaster(uint64 casterGUID, uint8 mode)
{
// Get auras with disease dispel type by caster
if ((*i)->GetSpellInfo()->Dispel == DISPEL_DISEASE
&& (*i)->GetCasterGUID() == casterGUID)
&& ((*i)->GetCasterGUID() == casterGUID || (*i)->GetCasterGUID() == drwGUID)) // if its caster or his dancing rune weapon
{
++diseases;
+5
View File
@@ -332,7 +332,12 @@ class npc_pet_dk_dancing_rune_weapon : public CreatureScript
// Xinef: Hit / Expertise scaling
me->AddAura(61017, me);
if (Unit* owner = me->GetOwner())
{
me->GetMotionMaster()->MoveFollow(owner, 0.01f, me->GetFollowAngle(), MOTION_SLOT_CONTROLLED);
if (Player* player = owner->ToPlayer())
player->setRuneWeaponGUID(me->GetGUID());
}
NullCreatureAI::InitializeAI();
}
};