Description:
Open water fishing is based on the wrong values.
Current behaviour:
Current skill_fishing_base_level seems based on the old minimum required fishing values instead of the "no junk" values.
Expected behaviour:
Should be based on the no-junk values.
Steps to reproduce the problem:
Fish at any level between minimum to fish and no-junk, you'll get no-junk.
Branch(es):
3.3.5
TC rev. hash/commit:
858782f
Operating system: Windows
Please see the following websites:
https://wowwiki.fandom.com/wiki/Fishing_locations
https://wowwiki.fandom.com/wiki/Fishing_skill_requirements_by_zone?oldid=2600183
https://web.archive.org/web/20100920125050/http://elsanglin.com/the_role_of_skill.html
And the revised (I believe correct) sql for the table including all the zones updated with el's information along with missing zones:
delete from skill_fishing_base_level;
insert into skill_fishing_base_level (entry, skill) values('1','25');
insert into skill_fishing_base_level (entry, skill) values('12','25');
insert into skill_fishing_base_level (entry, skill) values('14','25');
insert into skill_fishing_base_level (entry, skill) values('85','25');
insert into skill_fishing_base_level (entry, skill) values('141','25');
insert into skill_fishing_base_level (entry, skill) values('215','25');
insert into skill_fishing_base_level (entry, skill) values('3524','25');
insert into skill_fishing_base_level (entry, skill) values('3430','25');
insert into skill_fishing_base_level (entry, skill) values('17','75');
insert into skill_fishing_base_level (entry, skill) values('38','75');
insert into skill_fishing_base_level (entry, skill) values('40','75');
insert into skill_fishing_base_level (entry, skill) values('130','75');
insert into skill_fishing_base_level (entry, skill) values('148','75');
insert into skill_fishing_base_level (entry, skill) values('718','75');
insert into skill_fishing_base_level (entry, skill) values('719','75');
insert into skill_fishing_base_level (entry, skill) values('1519','75');
insert into skill_fishing_base_level (entry, skill) values('1537','75');
insert into skill_fishing_base_level (entry, skill) values('1581','75');
insert into skill_fishing_base_level (entry, skill) values('1637','75');
insert into skill_fishing_base_level (entry, skill) values('1638','75');
insert into skill_fishing_base_level (entry, skill) values('1657','75');
insert into skill_fishing_base_level (entry, skill) values('3525','75');
insert into skill_fishing_base_level (entry, skill) values('3433','75');
insert into skill_fishing_base_level (entry, skill) values('10','150');
insert into skill_fishing_base_level (entry, skill) values('11','150');
insert into skill_fishing_base_level (entry, skill) values('44','150');
insert into skill_fishing_base_level (entry, skill) values('267','150');
insert into skill_fishing_base_level (entry, skill) values('331','150');
insert into skill_fishing_base_level (entry, skill) values('406','150');
insert into skill_fishing_base_level (entry, skill) values('8','225');
insert into skill_fishing_base_level (entry, skill) values('15','225');
insert into skill_fishing_base_level (entry, skill) values('33','225');
insert into skill_fishing_base_level (entry, skill) values('36','225');
insert into skill_fishing_base_level (entry, skill) values('45','225');
insert into skill_fishing_base_level (entry, skill) values('400','225');
insert into skill_fishing_base_level (entry, skill) values('405','225');
insert into skill_fishing_base_level (entry, skill) values('796','225');
insert into skill_fishing_base_level (entry, skill) values('16','300');
insert into skill_fishing_base_level (entry, skill) values('28','300');
insert into skill_fishing_base_level (entry, skill) values('47','300');
insert into skill_fishing_base_level (entry, skill) values('357','300');
insert into skill_fishing_base_level (entry, skill) values('361','300');
insert into skill_fishing_base_level (entry, skill) values('440','300');
insert into skill_fishing_base_level (entry, skill) values('490','300');
insert into skill_fishing_base_level (entry, skill) values('493','300');
insert into skill_fishing_base_level (entry, skill) values('1417','300');
insert into skill_fishing_base_level (entry, skill) values('2100','300');
insert into skill_fishing_base_level (entry, skill) values('3483','375');
insert into skill_fishing_base_level (entry, skill) values('3520','375');
insert into skill_fishing_base_level (entry, skill) values('3521','400');
insert into skill_fishing_base_level (entry, skill) values('41','425');
insert into skill_fishing_base_level (entry, skill) values('46','425');
insert into skill_fishing_base_level (entry, skill) values('139','425');
insert into skill_fishing_base_level (entry, skill) values('618','425');
insert into skill_fishing_base_level (entry, skill) values('1377','425');
insert into skill_fishing_base_level (entry, skill) values('387','100');
insert into skill_fishing_base_level (entry, skill) values('2017','425');
insert into skill_fishing_base_level (entry, skill) values('2057','425');
insert into skill_fishing_base_level (entry, skill) values('3805','425');
insert into skill_fishing_base_level (entry, skill) values('3519','450');
insert into skill_fishing_base_level (entry, skill) values('4080','450');
insert into skill_fishing_base_level (entry, skill) values('3518','475');
insert into skill_fishing_base_level (entry, skill) values('3523','475');
insert into skill_fishing_base_level (entry, skill) values('297','300');
insert into skill_fishing_base_level (entry, skill) values('3625','375');
insert into skill_fishing_base_level (entry, skill) values('1112','425');
insert into skill_fishing_base_level (entry, skill) values('1222','425');
insert into skill_fishing_base_level (entry, skill) values('1227','425');
insert into skill_fishing_base_level (entry, skill) values('3140','425');
insert into skill_fishing_base_level (entry, skill) values('3653','450');
insert into skill_fishing_base_level (entry, skill) values('3656','450');
insert into skill_fishing_base_level (entry, skill) values('3658','450');
insert into skill_fishing_base_level (entry, skill) values('3614','490');
insert into skill_fishing_base_level (entry, skill) values('3621','490');
insert into skill_fishing_base_level (entry, skill) values('3690','500');
insert into skill_fishing_base_level (entry, skill) values('3691','500');
insert into skill_fishing_base_level (entry, skill) values('3692','500');
insert into skill_fishing_base_level (entry, skill) values('3859','500');
insert into skill_fishing_base_level (entry, skill) values('3607','400');
insert into skill_fishing_base_level (entry, skill) values('495','475');
insert into skill_fishing_base_level (entry, skill) values('3537','475');
insert into skill_fishing_base_level (entry, skill) values('65','475');
insert into skill_fishing_base_level (entry, skill) values('394','475');
insert into skill_fishing_base_level (entry, skill) values('2817','500');
insert into skill_fishing_base_level (entry, skill) values('3711','525');
insert into skill_fishing_base_level (entry, skill) values('3979','575');
insert into skill_fishing_base_level (entry, skill) values('4395','525');
insert into skill_fishing_base_level (entry, skill) values('4197','525');
insert into skill_fishing_base_level (entry, skill) values('1497','75');
insert into skill_fishing_base_level (entry, skill) values('386','100');
insert into skill_fishing_base_level (entry, skill) values('388','100');
insert into skill_fishing_base_level (entry, skill) values('1477','300');
insert into skill_fishing_base_level (entry, skill) values('3905','400');
insert into skill_fishing_base_level (entry, skill) values('19','425');
insert into skill_fishing_base_level (entry, skill) values('4742','550');
insert into skill_fishing_base_level (entry, skill) values('210','550');
insert into skill_fishing_base_level (entry, skill) values('67','550');
insert into skill_fishing_base_level (entry, skill) values('4273','550');
insert into skill_fishing_base_level (entry, skill) values('66','475');
-- Notes --
-- Entries needing to be added
-- 100 - Barrens (Oasis) - Forgotten Pools, Lushwater Oasis, Stagnant Oasis
-- 300 - The Temple of Atal'Hakkar
-- 400 - Coilfang Reservoir
-- 425 - Zul'gurub
-- 475 - Zuldrak
-- 550 - Hrothgar's Landing, Icecrown, Storm Peaks, Ulduar
-- Removed entries - need source if they should be different from surrounding zones:
-- The Conservatory of Life - Included in Ulduar
-- Bloodvenom Post - Included in Feralas
-- Zones with unknown data - can't find source for these - set to max of any of the other WOTLK zones (575)
insert into skill_fishing_base_level (entry, skill) values('4813','575'); -- 4813 Pit of Saron
insert into skill_fishing_base_level (entry, skill) values('4710','575'); -- 4710 Isle of Conquest
insert into skill_fishing_base_level (entry, skill) values('4722','575'); -- 4722 Trial of the Crusader
insert into skill_fishing_base_level (entry, skill) values('4987','575'); -- 4987 The Ruby Sanctum
insert into skill_fishing_base_level (entry, skill) values('4100','575'); -- 4100 The Culling of Stratholme
Maximum fishing skill in Wotlk 450. The database has more records than you got on the total
ugly sql, i recomend you to use UPDATE where ENTRY in.
@Kodekc that is not true, fishing has large bonuses from equipping fishing pole and lures
I agree with Aokromes, the SQL needs improvements.
Cosmetic/in-game detail:
-- Bloodvenom Post - Included in Feralas
You were likely thinking of Felwood, but typed something else.
You're right, Felwood, but again should be included.
Remember these values are for junk free fishing; you can bonus up your fishing skill to get no junk, but as of patch 3.1 anyone can fish anywhere, albeit with junk. The code is correct in the server from what I can tell.
I don't believe there is a single record in the current table which is correct, so I dumped the corrected version rather than making update lines for each specific line that is in there. If someone else would like to reformat the SQL to be pretty, have at it--I'm not going to waste my time with it.
On the other hand, if anyone would like to have comments so as to verify why values are set the way they are (for example, the Terokkar lakes) I would be happy to do that.
Current table data (for those who don't have access to TDB 335.19031 while reading this issue page):
SELECT * FROM `skill_fishing_base_level` ORDER BY `skill`,`entry`;
```sql
entry skill
1 -70
12 -70
14 -70
85 -70
141 -70
215 -70
3430 -70
3524 -70
17 -20
38 -20
40 -20
130 -20
148 -20
718 -20
719 -20
1497 -20
1519 -20
1537 -20
1581 -20
1637 -20
1638 -20
1657 -20
3433 -20
3525 -20
10 55
11 55
44 55
267 55
331 55
406 55
8 130
15 130
33 130
36 130
45 130
400 130
405 130
796 130
16 205
28 205
47 205
297 205
357 205
361 205
440 205
490 205
493 205
1417 205
2100 205
3483 280
3520 280
3625 280
3607 300
3521 305
41 330
46 330
139 330
618 330
1112 330
1222 330
1227 330
1377 330
1977 330
2017 330
2057 330
3140 330
3805 330
3519 355
3653 355
3656 355
3658 355
4080 355
65 380
394 380
495 380
3518 380
3523 380
3537 380
3614 395
3621 395
2817 405
3690 405
3691 405
3692 405
3859 405
3711 430
4197 430
4395 430
4656 430
4722 430
4100 450
4813 450
3979 480
4710 480
4987 480
improved version of your inserts in accordance with TC SQL codestyle:
```sql
DELETE FROM `skill_fishing_base_level`;
INSERT INTO `skill_fishing_base_level` (`entry`,`skill`) VALUES
( 1, 25),
( 12, 25),
( 14, 25),
( 85, 25),
( 141, 25),
( 215, 25),
(3524, 25),
(3430, 25),
( 17, 75),
( 38, 75),
( 40, 75),
( 130, 75),
( 148, 75),
( 718, 75),
( 719, 75),
(1497, 75),
(1519, 75),
(1537, 75),
(1581, 75),
(1637, 75),
(1638, 75),
(1657, 75),
(3433, 75),
(3525, 75),
( 386,100),
( 387,100),
( 388,100),
( 10,150),
( 11,150),
( 44,150),
( 267,150),
( 331,150),
( 406,150),
( 8,225),
( 15,225),
( 33,225),
( 36,225),
( 45,225),
( 400,225),
( 405,225),
( 796,225),
( 16,300),
( 28,300),
( 47,300),
( 297,300),
( 357,300),
( 361,300),
( 440,300),
( 490,300),
( 493,300),
(1417,300),
(1477,300),
(2100,300),
(3483,375),
(3520,375),
(3625,375),
(3521,400),
(3607,400),
(3905,400),
( 41,425),
( 46,425),
( 139,425),
( 618,425),
(1377,425),
(2017,425),
(2057,425),
(3805,425),
( 19,425),
(1112,425),
(1222,425),
(1227,425),
(3140,425),
(3519,450),
(3653,450),
(3656,450),
(3658,450),
(4080,450),
( 65,475),
( 66,475),
( 394,475),
( 495,475),
(3518,475),
(3523,475),
(3537,475),
(3614,490),
(3621,490),
(3690,500),
(3691,500),
(3692,500),
(3859,500),
(2817,500),
(3711,525),
(4197,525),
(4395,525),
( 67,550),
( 210,550),
(4273,550),
(4742,550),
(3979,575);
-- Notes: Missing entries to be added:
-- 100 - Barrens Oases (Forgotten Pools, Lushwater Oasis, Stagnant Oasis)
-- 300 - The Temple of Atal'Hakkar
-- 400 - Coilfang Reservoir
-- 425 - Zul'Gurub
-- 475 - Zul'Drak
-- 550 - Hrothgar's Landing, Icecrown, Storm Peaks, Ulduar
-- Removed entries (provide source if different from surrounding zones):
-- The Conservatory of Life - included in Ulduar
-- Bloodvenom Post - included in Feralas
-- Zones with unknown data (can't find source for these). Set max of other zones (575)
INSERT INTO `skill_fishing_base_level` (`entry`, `skill`) VALUES
(4813,575), -- 4813 Pit of Saron
(4710,575), -- 4710 Isle of Conquest
(4722,575), -- 4722 Trial of the Crusader
(4987,575), -- 4987 The Ruby Sanctum
(4100,575); -- 4100 The Culling of Stratholme
if you want the SQL sorted by zone entry, I recommend adding the names in line end comments.
heh nice to know the accepted codestyle--that's actually what came out of the dump by default, but I was afraid it wouldn't be acceptable. I'll use that from now on.
I can add the text if it helps people verify or whatever. Obviously the sort is irrelevant to play. I have the spreadsheet I put together to help make it and can put it in if requested.
Updated with comments. Any question on where any value came from, just ask.
DELETE FROM `skill_fishing_base_level`;
INSERT INTO `skill_fishing_base_level` (`entry`,`skill`) VALUES
( 1, 25), -- Dun Morogh
( 12, 25), -- Elwynn Forest
( 14, 25), -- Durotar
( 85, 25), -- Tirisfal Glades
( 141, 25), -- Teldrassil
( 215, 25), -- Mulgore
(3524, 25), -- Azuremyst Isle
(3430, 25), -- Eversong Woods
( 17, 75), -- The Barrens
( 38, 75), -- Loch Modan
( 40, 75), -- Westfall
( 130, 75), -- Silverpine Forest
( 148, 75), -- Darkshore
( 718, 75), -- Wailing Caverns
( 719, 75), -- Blackfathom Deeps
(1497, 75), -- Undercity
(1519, 75), -- Stormwind City
(1537, 75), -- Ironforge
(1581, 75), -- The Deadmines
(1637, 75), -- Orgrimmar
(1638, 75), -- Thunder Bluff
(1657, 75), -- Darnassus
(3433, 75), -- Ghostlands
(3525, 75), -- Bloodmyst Isle
( 386,100), -- The Forgotten Pools
( 387,100), -- Lushwater Oasis
( 388,100), -- The Stagnant Oasis
( 10,150), -- Duskwood
( 11,150), -- Wetlands
( 44,150), -- Redridge Mountains
( 267,150), -- Hillsbrad Foothills
( 331,150), -- Ashenvale
( 406,150), -- Stonetalon Mountains
( 8,225), -- Swamp of Sorrows
( 15,225), -- Dustwallow Marsh
( 33,225), -- Stranglethorn Vale
( 36,225), -- Alterac Mountains
( 45,225), -- Arathi Highlands
( 400,225), -- Thousand Needles
( 405,225), -- Desolace
( 796,225), -- Scarlet Monastery
( 16,300), -- Azshara
( 28,300), -- Western Plaguelands
( 47,300), -- The Hinterlands
( 297,300), -- Jaguero Isle
( 357,300), -- Feralas
( 361,300), -- Felwood
( 440,300), -- Tanaris
( 490,300), -- Un'Goro Crater
( 493,300), -- Moonglade
(1417,300), -- Sunken Temple
(1477,300), -- The Temple of Atal'Hakkar
(2100,300), -- Maraudon
(3483,375), -- Hellfire Peninsula
(3520,375), -- Shadowmoon Valley
(3625,375), -- Forge Camp: Hate
(3521,400), -- Zangarmarsh
(3607,400), -- Serpentshrine Cavern
(3905,400), -- Coilfang Reservoir
( 41,425), -- Deadwind Pass
( 46,425), -- Burning Steppes
( 139,425), -- Eastern Plaguelands
( 618,425), -- Winterspring
(1377,425), -- Silithus
(2017,425), -- Stratholme
(2057,425), -- Scholomance
(3805,425), -- Zul'Aman
( 19,425), -- Zul'Gurub
(1112,425), -- Jademir Lake
(1222,425), -- Hetaera's Clutch
(1227,425), -- Bay of Storms
(3140,425), -- Scalebeard's Cave
(3519,450), -- Terokkar Forest
(3653,450), -- Serpent Lake
(3656,450), -- Marshlight Lake
(3658,450), -- Sporewind Lake
(4080,450), -- Isle of Quel'Danas
( 65,475), -- Dragonblight
( 66,475), -- Zul'Drak
( 394,475), -- Grizzly Hills
( 495,475), -- Howling Fjord
(3518,475), -- Nagrand
(3523,475), -- Netherstorm
(3537,475), -- Borean Tundra
(3614,490), -- Skysong Lake
(3621,490), -- Lake Sunspring
(3690,500), -- Blackwind Lake
(3691,500), -- Lake Ere'Noru
(3692,500), -- Lake Jorune
(3859,500), -- Silmyr Lake
(2817,500), -- Crystalsong Forest
(3711,525), -- Sholazar Basin
(4197,525), -- Wintergrasp
(4395,525), -- Dalaran
( 67,550), -- The Storm Peaks
( 210,550), -- Icecrown
(4273,550), -- Ulduar
(4742,550), -- Hrothgar's Landing
(3979,575); -- The Frozen Sea
-- Removed entries (need a source if different from their surrounding zones):
-- The Conservatory of Life - included in Ulduar
-- Bloodvenom Post - included in Felwood
-- Zones with unknown data (can't find source for these). Set max of other zones (575)
INSERT INTO `skill_fishing_base_level` (`entry`, `skill`) VALUES
(4813,575), -- 4813 Pit of Saron
(4710,575), -- 4710 Isle of Conquest
(4722,575), -- 4722 Trial of the Crusader
(4987,575), -- 4987 The Ruby Sanctum
(4100,575); -- 4100 The Culling of Stratholme
@lactoseti : for easier reading of the SQL code, could you add ```sql on top of your SQL code block (and maybe add only the 3 back ticks on a blank line after, in case you want to write something else below that).
like that? good chance to get familiar with the system 馃槃
indeed, thank you. it is always nice to see MarkDown code being put to good use in the comments
(feel free to look up the MarkDown cheat sheet & Github Flavored Markdown pages).
What's missing here?
Good question. I have not tested it, nor do I know what the consequences of the changes are.
I believe this is as complete as it can be right now. I identified all the missing zones that El had painstakingly gathered data for in his website and corrected all the values that were in the current version of the database.
The consequence of the change is pretty simple--you have an increased chance of junk when fishing in zones which currently is inappropriately partially absent pretty much throughout all zones right now.
@lactoseti : Just a detail question about catching something, be it junk or fish. Up until now, I have noticed that I sometimes, maybe 1 out of 50-100 (1% - 2%) of my fishing casts, I see the bobber splash, but I am unable to retrieve anything (feels like the bobber is stuck). If I leave it on the water until the cast time runs out, I obviously get the "Your fish got away" message. This is likely a random chance in the source code, but it was removed in patch 3.1.0 in retail. I presume your suggested fix won't affect that part?
In which part of the code this random result happen?
Sorry, my previous comment was full of guesswork. I don't know. I just thought it would be caused by something in the core, but I don't know and have not tried to find out. I just thought it might have something to do with randomization in whatever part of the source code the fishing actions are handled.