diff options
author | Machiavelli <none@none> | 2009-11-30 16:54:33 +0100 |
---|---|---|
committer | Machiavelli <none@none> | 2009-11-30 16:54:33 +0100 |
commit | f6d80f9da41aa5b66489d0746c4c747ec14a4963 (patch) | |
tree | cbbf21008c4ea3b0ed69a0dfd66a3c73ec22e2f4 /src | |
parent | ca7a2e64176ed0345a0040982018a867479680fc (diff) |
Fix some issues with fishing. Closes #421, patch by make_the_king
--HG--
branch : trunk
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 ) { |