Changes

4 bytes added ,  18:47, 4 November 2021
m
Text replacement - "tt>" to "samp>"
Line 6: Line 6:  
|
 
|
 
==Fishing Level==
 
==Fishing Level==
The fishing level requirement currently posted on the page comes from the Ice Pip entry in Fish.xnb.  But Fish.xnb is completely ignored when deciding whether or not an Ice Pip is caught -- similar to all Legendary fish.  There's custom code in <tt>MineShaft::getFish</tt> that decides whether or not an Ice Pip appears.  Higher fishing level increases the chances of catching an Ice Pip, but there's no hard cutoff value. The same holds true for the other level-specific Mine fish, namely Stonefish and Lava Eel.[[User:Nebulous Maestress|Nebulous Maestress]] ([[User talk:Nebulous Maestress|talk]]) 19:37, 13 September 2020 (UTC)
+
The fishing level requirement currently posted on the page comes from the Ice Pip entry in Fish.xnb.  But Fish.xnb is completely ignored when deciding whether or not an Ice Pip is caught -- similar to all Legendary fish.  There's custom code in <samp>MineShaft::getFish</samp> that decides whether or not an Ice Pip appears.  Higher fishing level increases the chances of catching an Ice Pip, but there's no hard cutoff value. The same holds true for the other level-specific Mine fish, namely Stonefish and Lava Eel.[[User:Nebulous Maestress|Nebulous Maestress]] ([[User talk:Nebulous Maestress|talk]]) 19:37, 13 September 2020 (UTC)
 
::So there's code in Fish.xnb that gives a hard Fishing-skill level for the mine fish, but that code is overridden/ignored where the fish type of a catch is decided? Makes for confusing code reading at first, yes? And I'd call that a latent bug. What calls MineShaft:getFish? Change that, and all of a sudden you could introduce the hard Fishing-level skills where they didn't exist before, all without touching the actual functions that are supposed to make the decision. When I was an engineer this was one of the most-hated types of bugs, and I've seen whole teams sweat for days to locate them and have parties once they did. I suspect that CA would appreciate knowing about this. [[User:Butterbur|Butterbur]] ([[User talk:Butterbur|talk]]) 05:20, 14 September 2020 (UTC)
 
::So there's code in Fish.xnb that gives a hard Fishing-skill level for the mine fish, but that code is overridden/ignored where the fish type of a catch is decided? Makes for confusing code reading at first, yes? And I'd call that a latent bug. What calls MineShaft:getFish? Change that, and all of a sudden you could introduce the hard Fishing-level skills where they didn't exist before, all without touching the actual functions that are supposed to make the decision. When I was an engineer this was one of the most-hated types of bugs, and I've seen whole teams sweat for days to locate them and have parties once they did. I suspect that CA would appreciate knowing about this. [[User:Butterbur|Butterbur]] ([[User talk:Butterbur|talk]]) 05:20, 14 September 2020 (UTC)
 
:::My reading concurs.  Location::getFish is reimplemented in MineShaft, and has hardcoded checks for the level specific fish.  For 20 and 60, if the level specific fish check fails, the base implementation on getFish is called, for 100 a random piece of trash is returned. [[User:BlaDe|BlaDe]] ([[User talk:BlaDe|talk]]) 07:35, 14 September 2020 (UTC)
 
:::My reading concurs.  Location::getFish is reimplemented in MineShaft, and has hardcoded checks for the level specific fish.  For 20 and 60, if the level specific fish check fails, the base implementation on getFish is called, for 100 a random piece of trash is returned. [[User:BlaDe|BlaDe]] ([[User talk:BlaDe|talk]]) 07:35, 14 September 2020 (UTC)
105,853

edits