aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Player/Player.cpp10
-rw-r--r--src/server/game/Entities/Player/Player.h2
2 files changed, 4 insertions, 8 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index bb4ada2d61c..ab468f48476 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -5834,19 +5834,15 @@ bool Player::UpdateSkillPro(uint16 SkillId, int32 Chance, uint32 step)
return false;
}
-void Player::UpdateWeaponSkill(WeaponAttackType attType)
+void Player::UpdateWeaponSkill(Unit* victim, WeaponAttackType attType)
{
- Unit* victim = GetVictim();
- if (!victim)
- return;
-
if (IsInFeralForm())
return; // always maximized SKILL_FERAL_COMBAT in fact
if (GetShapeshiftForm() == FORM_TREE)
return; // use weapon but not skill up
- if (victim && victim->GetTypeId() == TYPEID_UNIT && (victim->ToCreature()->GetCreatureTemplate()->flags_extra & CREATURE_FLAG_EXTRA_NO_SKILLGAIN))
+ if (victim->GetTypeId() == TYPEID_UNIT && (victim->ToCreature()->GetCreatureTemplate()->flags_extra & CREATURE_FLAG_EXTRA_NO_SKILLGAIN))
return;
uint32 weapon_skill_gain = sWorld->getIntConfig(CONFIG_SKILL_GAIN_WEAPON);
@@ -5905,7 +5901,7 @@ void Player::UpdateCombatSkills(Unit* victim, WeaponAttackType attType, bool def
if (defense)
UpdateDefense();
else
- UpdateWeaponSkill(attType);
+ UpdateWeaponSkill(victim, attType);
}
else
return;
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index 6cbe23394f1..85c2eb2c059 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -1727,7 +1727,7 @@ class TC_GAME_API Player : public Unit, public GridObject<Player>
JoinedChannelsList const& GetJoinedChannels() const { return m_channels; }
void UpdateDefense();
- void UpdateWeaponSkill (WeaponAttackType attType);
+ void UpdateWeaponSkill(Unit* victim, WeaponAttackType attType);
void UpdateCombatSkills(Unit* victim, WeaponAttackType attType, bool defense);
void SetSkill(uint16 id, uint16 step, uint16 newVal, uint16 maxVal);