diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/game/GameObject.cpp | 2 | ||||
-rw-r--r-- | src/game/Player.cpp | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/game/GameObject.cpp b/src/game/GameObject.cpp index a005e5ddee1..42c2fd04cc4 100644 --- a/src/game/GameObject.cpp +++ b/src/game/GameObject.cpp @@ -1155,7 +1155,7 @@ void GameObject::Use(Unit* user) sLog.outErrorDb("Fishable areaId %u are not properly defined in `skill_fishing_base_level`.",subzone); int32 skill = player->GetSkillValue(SKILL_FISHING); - int32 chance = skill - zone_skill + 5; + int32 chance = pow((double)skill/zone_skill,2) * 100; int32 roll = irand(1,100); DEBUG_LOG("Fishing check (skill: %i zone min skill: %i chance %i roll: %i",skill,zone_skill,chance,roll); diff --git a/src/game/Player.cpp b/src/game/Player.cpp index 5e99593c305..a510c1bd658 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -5425,10 +5425,10 @@ bool Player::UpdateSkillPro(uint16 SkillId, int32 Chance, uint32 step) uint16 SkillValue = SKILL_VALUE(data); uint16 MaxValue = SKILL_MAX(data); - if ( !MaxValue || !SkillValue || SkillValue >= MaxValue ) + if (!MaxValue || !SkillValue || SkillValue >= MaxValue ) return false; - int32 Roll = irand(1,1000); + int32 Roll = irand(1,100); if ( Roll <= Chance ) { |