aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkaelima <kaelima@live.se>2011-10-29 15:07:08 +0100
committerkaelima <kaelima@live.se>2011-10-29 15:07:08 +0100
commit008329032210acab0227756d9f8f012b7559f2eb (patch)
tree1dd8efa919df0b465ddc61d32ddaf664b3e8ea3b
parent2575b50b0507379e3dab9204f42b8940af191408 (diff)
Core/Player: Fix gaining fishing skill of wielding fishing pole in offhand
Closes #3717
-rwxr-xr-xsrc/server/game/Entities/Player/Player.cpp41
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;