mirror of
https://github.com/mangosfour/server.git
synced 2025-12-15 19:37:02 +00:00
[11538] Add safeguard against weirdness in UpdateCombatSkills
Prevent weapon/defense update also in case of negative skill difference result (may become negative after use of .level -N -command) Signed-off-by: NoFantasy <nofantasy@nf.no>
This commit is contained in:
parent
4b919b1f32
commit
0fbf2cf7d3
2 changed files with 6 additions and 3 deletions
|
|
@ -5614,8 +5614,11 @@ void Player::UpdateCombatSkills(Unit *pVictim, WeaponAttackType attType, bool de
|
||||||
if(lvldif < 3)
|
if(lvldif < 3)
|
||||||
lvldif = 3;
|
lvldif = 3;
|
||||||
|
|
||||||
uint32 skilldif = 5 * plevel - (defence ? GetBaseDefenseSkillValue() : GetBaseWeaponSkillValue(attType));
|
int32 skilldif = 5 * plevel - (defence ? GetBaseDefenseSkillValue() : GetBaseWeaponSkillValue(attType));
|
||||||
if(skilldif <= 0)
|
|
||||||
|
// Max skill reached for level.
|
||||||
|
// Can in some cases be less than 0: having max skill and then .level -1 as example.
|
||||||
|
if (skilldif <= 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
float chance = float(3 * lvldif * skilldif) / plevel;
|
float chance = float(3 * lvldif * skilldif) / plevel;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#ifndef __REVISION_NR_H__
|
#ifndef __REVISION_NR_H__
|
||||||
#define __REVISION_NR_H__
|
#define __REVISION_NR_H__
|
||||||
#define REVISION_NR "11537"
|
#define REVISION_NR "11538"
|
||||||
#endif // __REVISION_NR_H__
|
#endif // __REVISION_NR_H__
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue