diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index edf7d6950..982bbc1ea 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -15535,14 +15535,14 @@ void Unit::ProcDamageAndSpellFor(bool isVictim, Unit* target, uint32 procFlag, u !target->IsPet() ) { - // On melee based hit/miss/resist need update skill (for victim and attacker) - if (procExtra & (PROC_EX_NORMAL_HIT | PROC_EX_MISS | PROC_EX_RESIST)) + // On melee based hit/miss/resist/parry/dodge need to update skill (for victim and attacker) + if (procExtra & (PROC_EX_NORMAL_HIT | PROC_EX_MISS | PROC_EX_RESIST | PROC_EX_PARRY | PROC_EX_DODGE)) { - if (target->GetTypeId() != TYPEID_PLAYER && !target->IsCritter()) + if (target->GetTypeId() != TYPEID_PLAYER) ToPlayer()->UpdateCombatSkills(target, attType, isVictim); } - // Update defence if player is victim and parry/dodge/block - else if (isVictim && procExtra & (PROC_EX_DODGE | PROC_EX_PARRY | PROC_EX_BLOCK)) + // Update defence if player is victim and we block + else if (isVictim && procExtra & (PROC_EX_BLOCK)) ToPlayer()->UpdateCombatSkills(target, attType, true); } // If exist crit/parry/dodge/block need update aura state (for victim and attacker)