diff options
author | Shauren <shauren.trinity@gmail.com> | 2020-07-20 17:42:16 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2020-07-20 17:42:16 +0200 |
commit | 0b616e4865f89b1d15ae20dccd83825cddb5c288 (patch) | |
tree | 07cdff61cd77c4f4c71d99392d4ca7302952c7d7 /src | |
parent | cf5babc302d43f903b444b97bfdb934545356da2 (diff) |
Core/Players: Use original proc target to update weapon skills, fixes ranged weapon skill gains
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 10 | ||||
-rw-r--r-- | src/server/game/Entities/Player/Player.h | 2 |
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); |