diff options
Diffstat (limited to 'src')
| -rwxr-xr-x | src/server/game/Entities/Player/Player.cpp | 41 | 
1 files changed, 12 insertions, 29 deletions
| diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 27713586b54..060f668da03 100755 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -6227,11 +6227,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->GetTypeId() == TYPEID_PLAYER) +    Unit* victim = getVictim(); +    if (victim && victim->GetTypeId() == TYPEID_PLAYER)          return;      if (IsInFeralForm()) @@ -6240,42 +6240,25 @@ void Player::UpdateWeaponSkill (WeaponAttackType attType)      if (GetShapeshiftForm() == FORM_TREE)          return;                                             // use weapon but not skill up -    if (pVictim && pVictim->GetTypeId() == TYPEID_UNIT && (pVictim->ToCreature()->GetCreatureInfo()->flags_extra & CREATURE_FLAG_EXTRA_NO_SKILLGAIN)) +    if (victim && victim->GetTypeId() == TYPEID_UNIT && (victim->ToCreature()->GetCreatureInfo()->flags_extra & CREATURE_FLAG_EXTRA_NO_SKILLGAIN))          return;      uint32 weapon_skill_gain = sWorld->getIntConfig(CONFIG_SKILL_GAIN_WEAPON); -    switch (attType) -    { -        case BASE_ATTACK: -        { -            Item* tmpitem = GetWeaponForAttack(attType, true); +    Item* tmpitem = GetWeaponForAttack(attType, true); +    if (!tmpitem && attType == BASE_ATTACK) +        UpdateSkill(SKILL_UNARMED, weapon_skill_gain); +    else if (tmpitem->GetTemplate()->SubClass != ITEM_SUBCLASS_WEAPON_FISHING_POLE) +        UpdateSkill(tmpitem->GetSkill(), weapon_skill_gain); -            if (!tmpitem) -                UpdateSkill(SKILL_UNARMED, weapon_skill_gain); -            else if (tmpitem->GetTemplate()->SubClass != ITEM_SUBCLASS_WEAPON_FISHING_POLE) -                UpdateSkill(tmpitem->GetSkill(), weapon_skill_gain); -            break; -        } -        case OFF_ATTACK: -        case RANGED_ATTACK: -        { -            Item* tmpitem = GetWeaponForAttack(attType, true); -            if (tmpitem) -                UpdateSkill(tmpitem->GetSkill(), weapon_skill_gain); -            break; -        } -        default: -            break; -    }      UpdateAllCritPercentages();  } -void Player::UpdateCombatSkills(Unit* pVictim, WeaponAttackType attType, bool defence) +void Player::UpdateCombatSkills(Unit* victim, WeaponAttackType attType, bool defence)  { -    uint8 plevel = getLevel();                              // if defense than pVictim == attacker +    uint8 plevel = getLevel();                              // if defense than victim == attacker      uint8 greylevel = Trinity::XP::GetGrayLevel(plevel); -    uint8 moblevel = pVictim->getLevelForTarget(this); +    uint8 moblevel = victim->getLevelForTarget(this);      if (moblevel < greylevel)          return; | 
