diff --git a/src/game/Player.cpp b/src/game/Player.cpp index 4dc56063b..a03d970ed 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -5477,11 +5477,11 @@ bool Player::UpdateSkillPro(uint16 SkillId, int32 Chance, uint32 step) return false; } -void Player::UpdateWeaponSkill (WeaponAttackType attType) +void Player::UpdateWeaponSkill(WeaponAttackType attType) { // no skill gain in pvp - Unit *pVictim = getVictim(); - if(pVictim && pVictim->IsCharmerOrOwnerPlayerOrPlayerItself()) + Unit* pVictim = getVictim(); + if (pVictim && pVictim->IsCharmerOrOwnerPlayerOrPlayerItself()) return; if (IsInFeralForm()) @@ -5490,29 +5490,14 @@ void Player::UpdateWeaponSkill (WeaponAttackType attType) if (GetShapeshiftForm() == FORM_TREE) return; // use weapon but not skill up - uint32 weapon_skill_gain = sWorld.getConfig(CONFIG_UINT32_SKILL_GAIN_WEAPON); + uint32 weaponSkillGain = sWorld.getConfig(CONFIG_UINT32_SKILL_GAIN_WEAPON); - switch(attType) - { - case BASE_ATTACK: - { - Item *tmpitem = GetWeaponForAttack(attType,true,true); + Item* pWeapon = GetWeaponForAttack(attType, true, true); + if (pWeapon && pWeapon->GetProto()->SubClass != ITEM_SUBCLASS_WEAPON_FISHING_POLE) + UpdateSkill(pWeapon->GetSkill(), weaponSkillGain); + else if (!pWeapon && attType == BASE_ATTACK) + UpdateSkill(SKILL_UNARMED, weaponSkillGain); - if (!tmpitem) - UpdateSkill(SKILL_UNARMED,weapon_skill_gain); - else if(tmpitem->GetProto()->SubClass != ITEM_SUBCLASS_WEAPON_FISHING_POLE) - UpdateSkill(tmpitem->GetSkill(),weapon_skill_gain); - break; - } - case OFF_ATTACK: - case RANGED_ATTACK: - { - Item *tmpitem = GetWeaponForAttack(attType,true,true); - if (tmpitem) - UpdateSkill(tmpitem->GetSkill(),weapon_skill_gain); - break; - } - } UpdateAllCritPercentages(); } diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index e5de1338b..bb9daa3e6 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "11837" + #define REVISION_NR "11838" #endif // __REVISION_NR_H__