Changes

→‎Contents: Unless I need to look elsewhere, it seems that 8 raccoon seeds are always dropped.
Line 76: Line 76:     
===Fish Size & Quality===
 
===Fish Size & Quality===
The factors that influence fish size are fishing zone and level, with some randomness involved. This is controlled by a variable called <samp>fFishSize</samp> which ranges between 0 and 1 and is used to calculate variations in fish sizes: a value of 0.00 for <samp>fFishSize</samp> will result in the least possible fish size while a value of 1.00 for <samp>fFishSize</samp> will result in the highest possible fish size.<ref name="fish_quality" />
+
The size of each fish caught using a Fishing Rod is dependent on the Fishing Zone, the farmer's Fishing Level, the type of fish, and how close to "Perfect" the catch was. When catching a fish, a "size factor", <samp>fishSize</samp>, is determined by the equation <code>fishSize = Zone/5 * (Skill+2)/10 * Random/100</code>, where "Zone" refers to the Fishing Zone, "Skill" refers to the farmer's Fishing Level (rounded down to the nearest even value), and "Random" is a random integer value between 90 and 110, inclusive. Also note that if the player has not reached Fishing level 10 yet, the value for Skill ranges ranges between all possible even numbers from the farmer's Fishing Level (rounded down to the nearest even value) and 10 inclusive. This size factor is then limited to a range of 0 to 1 inclusive.<ref name="fishSize"/>
   −
The data for the minimum and maximum possible sizes for all fish can be found in <samp>Data\Fish.xnb</samp> for each fish. The final fish size is calculated by <samp>minFishSize + (maxFishSize - minFishSize) * fFishSize</samp>, rounded down. If the catch was perfect, this value increases by 1. If the catch was not perfect and the original calculation of the fish size was <samp>maxFishSize</samp>, this value decreases by 1. A consequence of this feature is that the maximum possible fish size observed in game is always 1 higher than the value for maxFishSize in <samp>Data\Fish.xnb</samp>. For Legendary Fish, due to the second adjustment for non-perfect catches, the minimum possible fish size will be 1 lower than the value for minFishSize in <samp>Data\Fish.xnb</samp>.<ref name="fish_quality" />
+
Each type of fish has a minimum and maximum size. When a fish is hooked, it is given an initial size based on these values and the size factor, equal to <code>minFishSize + (maxFishSize - minFishSize) * fishSize + 1</code>, rounded down, in inches.<ref name="fishSizeRange"/> The size shrinks by 1" for every 0.8 seconds that the fish is not being reeled in. However, the size cannot go below <samp>minFishSize</samp>. Additionally, if the catch was imperfect and the final size is equal to <samp>maxFishSize</samp> exactly, the fish size is reduced by 1".<ref name="fishShrinking"/> A consequence of this procedure is that the maximum possible fish size observed in game is always 1 higher than the value of <samp>maxFishSize</samp>, which can be obtained with perfect or near-perfect catch (less than 0.8 seconds not reeling in the fish). In addition, some fish have the same values for <samp>minFishSize</samp> and <samp>maxFishSize</samp>, such as the [[Fish#Legendary Fish|Legendary Fish]] and non-Ghostfish Mines fish. Due to the final adjustment for non-perfect catches, the minimum possible size for these fish is 1 lower than the value of <samp>minFishSize</samp> specified in the data.
   −
Base fish quality is directly determined by <samp>fFishSize</samp>: if <samp>fFishSize < 0.33</samp> the quality is normal, otherwise if <samp>fFishSize < 0.66</samp>  the quality is silver, otherwise the quality is gold. This quality can be improved by one grade with the [[Quality Bobber]]. It can also be improved by one grade with a perfect catch as long as the fish was at least silver quality initially. These boosts stack with the Quality Bobber boost considered before the Perfect Catch boost. Since the maximum base fish quality is gold, the only way to get an iridium quality fish is by either getting a perfect catch or using the Quality Bobber.<ref name="fish_quality" />
+
Some fish, namely the [[Sandfish]], [[Scorpion Carp]], and [[Goby]], cannot be caught at their maximum theoretical size, as they are limited by the size of their ponds which only have a maximum [[#Fishing Zone|Fishing Zone]] of 2.
   −
Note that using the [[Training Rod]] will cause all fish to be normal quality. This overrides the calculation mentioned above.
+
Base fish quality is determined directly by the value of <samp>fishSize</samp>. A value below 0.33 corresponds to normal quality, a value between 0.33 and 0.66 corresponds to silver quality, and a value of 0.66 or higher corresponds to gold quality. This quality can be improved by one grade for each [[Quality Bobber]] equipped. It can also be improved by one grade with a perfect catch as long as the fish was at least silver quality initially. These boosts stack, with the Quality Bobber boost considered before the Perfect Catch boost. Since the maximum base fish quality is gold, the only way to get an iridium quality fish is by either getting a perfect catch or using the Quality Bobber.<ref name="fishQuality" />
 +
 
 +
Any fish caught using a [[Training Rod]] has its size set to the minimum and its quality set to normal, overriding the above procedure.<ref name="fishSizeTrainingRod"/>
    
Below is the table for the possible quality of the fish depending on the base fish quality, if the catch was perfect, and how many Quality Bobbers were used.
 
Below is the table for the possible quality of the fish depending on the base fish quality, if the catch was perfect, and how many Quality Bobbers were used.
Line 116: Line 118:  
| Iridium
 
| Iridium
 
|}
 
|}
{{Stub|Fishing zone mechanics changed in 1.6, need to check if fish quality chances as outlined in the table below change}}
+
 
 
Below is the table for the chances of getting certain fish sizes and base quality based on particular fishing zones and fishing levels. Note that this Base Fish Quality does not take into account improvements in quality from perfect catches or from the Quality Bobber. Those adjustments are made after the Base Fish Quality is determined as described in the previous table.
 
Below is the table for the chances of getting certain fish sizes and base quality based on particular fishing zones and fishing levels. Note that this Base Fish Quality does not take into account improvements in quality from perfect catches or from the Quality Bobber. Those adjustments are made after the Base Fish Quality is determined as described in the previous table.
   Line 125: Line 127:  
! rowspan="2" | [[Fishing#Fishing Zone|Fishing Zone]]
 
! rowspan="2" | [[Fishing#Fishing Zone|Fishing Zone]]
 
! rowspan="2" data-sort-type=number | Fishing Level
 
! rowspan="2" data-sort-type=number | Fishing Level
! colspan="2" | fFishSize
+
! colspan="2" | Size Factor
 
! colspan="3" | Base Fish Quality (% chance)
 
! colspan="3" | Base Fish Quality (% chance)
 
! colspan="2" | Perfect Fish Size (inches)
 
! colspan="2" | Perfect Fish Size (inches)
Line 154: Line 156:  
|-
 
|-
 
| 1    || 16-17    || 0.32    || 0.40    || 10      || 90      || 0        ||  5 - 6  || 12 - 13
 
| 1    || 16-17    || 0.32    || 0.40    || 10      || 90      || 0        ||  5 - 6  || 12 - 13
 +
|-
 +
| 1    || 18-19    || 0.36    || 0.44    || 0        || 100      || 0        ||  5 - 6  || 13 - 14
 
|-
 
|-
 
| 2    || 0-1      || 0.07    || 0.44    || 73      || 27      || 0        ||  2 - 6  ||  9 - 14
 
| 2    || 0-1      || 0.07    || 0.44    || 73      || 27      || 0        ||  2 - 6  ||  9 - 14
Line 172: Line 176:  
|-
 
|-
 
| 2    || 16-17    || 0.65    || 0.79    || 0        || 10      || 90      ||  9 - 10 || 16 - 18
 
| 2    || 16-17    || 0.65    || 0.79    || 0        || 10      || 90      ||  9 - 10 || 16 - 18
 +
|-
 +
| 2    || 18-19    || 0.72    || 0.89    || 0        || 0        || 100      ||  9 - 11 || 17 - 19
 
|-
 
|-
 
| 3    || 0-1      || 0.11    || 0.66    || 42      || 57      || 1        ||  3 - 9  || 10 - 16
 
| 3    || 0-1      || 0.11    || 0.66    || 42      || 57      || 1        ||  3 - 9  || 10 - 16
Line 223: Line 229:     
No more than one bubble spot can exist per area (''e.g.,'' [[Pelican Town]], [[Cindersap Forest]]) at any given time, but different bubble spots can occur in multiple areas simultaneously. Some bubble spots are not possible for the player to reach with the fishing rod. Bubble spots cannot spawn on [[the Farm]] unless the player has chosen the [[Farm Maps|Riverland Farm Map]]<ref name="performtenminuteupdate" />.
 
No more than one bubble spot can exist per area (''e.g.,'' [[Pelican Town]], [[Cindersap Forest]]) at any given time, but different bubble spots can occur in multiple areas simultaneously. Some bubble spots are not possible for the player to reach with the fishing rod. Bubble spots cannot spawn on [[the Farm]] unless the player has chosen the [[Farm Maps|Riverland Farm Map]]<ref name="performtenminuteupdate" />.
 +
 +
===Fish Frenzies===
 +
Fish Frenzies are events that can randomly happen during the day (before 11 PM) at either [[The Beach]], [[Cindersap Forest]], [[Pelican Town]], or [[The Mountain]]. They can only occur if the player has caught at least three fish and has played for at least 3 days. They can happen regardless of how many fish have been caught if the player has played for at least 14 days. Fish Frenzies cannot happen on [[Festivals|Festival]] days.
 +
 +
During a frenzy, bubbles will spawn for a specific fish (one that can be caught in that location on that day) in that location. When a Fish Frenzy happens, players are notified with the message " A(n) [Fish name] frenzy has begun in [location]." When fishing in these bubbles, the chances of catching the fish for the frenzy is increased significantly. The effects of these bubbles are similar to those of the combination of [[#Bubbles|normal bubbles]] and [[Targeted Bait]]. [[Fish#Legendary Fish|Legendary Fish]] and catchable items will never be the specific fish for the frenzy.
    
===Energy===
 
===Energy===
Line 501: Line 512:  
|Requires having seen Mr. Qi's cutscene and [[Mastery Cave#Masteries|Foraging Mastery]] not obtained<br />
 
|Requires having seen Mr. Qi's cutscene and [[Mastery Cave#Masteries|Foraging Mastery]] not obtained<br />
 
Chance increases with higher daily [[luck]] and if the player has received the power from the [[Book of Mysteries]]
 
Chance increases with higher daily [[luck]] and if the player has received the power from the [[Book of Mysteries]]
|data-sort-value=13|7-16%
+
|data-sort-value=13|6-15%
|data-sort-value=16|9-20%
+
|data-sort-value=16|8-19%
 
|-
 
|-
 
|{{name|Golden Mystery Box}}
 
|{{name|Golden Mystery Box}}
Line 508: Line 519:  
|Requires obtaining [[Mastery Cave#Masteries|Foraging Mastery]]<br />
 
|Requires obtaining [[Mastery Cave#Masteries|Foraging Mastery]]<br />
 
Chance increases with higher daily [[luck]] and if the player has received the power from the [[Book of Mysteries]]
 
Chance increases with higher daily [[luck]] and if the player has received the power from the [[Book of Mysteries]]
|data-sort-value=13|7-16%
+
|data-sort-value=13|6-15%
|data-sort-value=16|9-20%
+
|data-sort-value=16|8-19%
 
|-
 
|-
 
|{{name|Golden Animal Cracker}}
 
|{{name|Golden Animal Cracker}}
Line 554: Line 565:  
|-
 
|-
 
|{{name|Carrot Seeds}}
 
|{{name|Carrot Seeds}}
|2-8 ||
+
|8 ||
 
|Must be between [[Winter]] 21 and [[Spring]] 23
 
|Must be between [[Winter]] 21 and [[Spring]] 23
 
|0%
 
|0%
Line 560: Line 571:  
|-
 
|-
 
|{{name|Summer Squash Seeds}}
 
|{{name|Summer Squash Seeds}}
|2-8 ||
+
|8 ||
 
|Must be between [[Spring]] 24 and [[Summer]] 20
 
|Must be between [[Spring]] 24 and [[Summer]] 20
 
|0%
 
|0%
Line 566: Line 577:  
|-
 
|-
 
|{{name|Broccoli Seeds}}
 
|{{name|Broccoli Seeds}}
|2-8 ||
+
|8 ||
 
|Must be between [[Summer]] 21 and [[Fall]] 20
 
|Must be between [[Summer]] 21 and [[Fall]] 20
 
|0%
 
|0%
Line 572: Line 583:  
|-
 
|-
 
|{{name|Powdermelon Seeds}}
 
|{{name|Powdermelon Seeds}}
|2-8 ||
+
|8 ||
 
|Must be between [[Fall]] 21 and [[Winter]] 20
 
|Must be between [[Fall]] 21 and [[Winter]] 20
 
|0%
 
|0%
Line 1,116: Line 1,127:  
==References==
 
==References==
 
<references>
 
<references>
<ref name="max_cast"> See <samp>Tools/FishingRod::doStartCasting</samp> in the game code.</ref>
+
<ref name="max_cast"> See <samp>FishingRod::doStartCasting</samp> in the game code.</ref>
 
<ref name="fishing_zone">The fishing zone is calculated by the function <samp>FishingRod::distanceToLand</samp>; the value is assigned to the variable <samp>clearWaterDistance</samp>.</ref>
 
<ref name="fishing_zone">The fishing zone is calculated by the function <samp>FishingRod::distanceToLand</samp>; the value is assigned to the variable <samp>clearWaterDistance</samp>.</ref>
<ref name="fishSize">The size factor is determined in the function <samp>Tools/FishingRod::startMinigameEndFunction</samp> in the game code.</ref>
+
<ref name="fishSize">The size factor is determined in the function <samp>FishingRod::startMinigameEndFunction</samp> in the game code.</ref>
<ref name="fishSizeTrainingRod">The effect of the Training Rod on Fish Size and Quality is determined in <samp>Menus/BobberBar::BobberBar</samp> in the game code.</ref>
+
<ref name="fishSizeTrainingRod">The effect of the Training Rod on Fish Size and Quality is determined in <samp>BobberBar::BobberBar</samp> in the game code.</ref>
<ref name="fishSizeRange">The values for <samp>minFishSize</samp> and <samp>maxFishSize</samp> are given in <samp>Data/Fish.xnb</samp>, while the procedure to actually calculate initial fish size is given in <samp>Menus/BobberBar::BobberBar</samp> in the game code.</ref>
+
<ref name="fishSizeRange">The values for <samp>minFishSize</samp> and <samp>maxFishSize</samp> are given in <samp>Data/Fish.xnb</samp> in the game files, while the procedure to actually calculate initial fish size is given in <samp>BobberBar::BobberBar</samp> in the game code.</ref>
<ref name="fishShrinking">The shrinking of fish from their initial size to their final size can be found in <samp>Menus/BobberBar::Update</samp> in the game code</ref>
+
<ref name="fishShrinking">The shrinking of fish from their initial size to their final size can be found in <samp>BobberBar::Update</samp> in the game code</ref>
<ref name="fishQuality">The conversion from <samp>fishSize</samp> to <samp>fishQuality</samp> can be found in <samp>Menus/BobberBar::BobberBar</samp> in the game code.</ref>
+
<ref name="fishQuality">The conversion from <samp>fishSize</samp> to <samp>fishQuality</samp> can be found in <samp>BobberBar::BobberBar</samp> in the game code.</ref>
 
<ref name="bubbles">The effects of bubbles on fishing bite times is handled in <samp>FishingRod::DoFunction</samp>, specifically at <samp>if (location.fishSplashPoint != null)</samp>.  The effect of bubbles on fish type is also in <samp>FishingRod::doFunction</samp> in the call to <samp>location.getFish</samp>, where the argument <samp>waterDepth</samp> is set to <samp>clearWaterDistance + (splashPoint ? 1 : 0)</samp>.</ref>
 
<ref name="bubbles">The effects of bubbles on fishing bite times is handled in <samp>FishingRod::DoFunction</samp>, specifically at <samp>if (location.fishSplashPoint != null)</samp>.  The effect of bubbles on fish type is also in <samp>FishingRod::doFunction</samp> in the call to <samp>location.getFish</samp>, where the argument <samp>waterDepth</samp> is set to <samp>clearWaterDistance + (splashPoint ? 1 : 0)</samp>.</ref>
<ref name="fishexp">See <samp>Tools/FishingRod::doPullFishFromWater</samp> in the game code.</ref>
+
<ref name="fishexp">See <samp>FishingRod::doPullFishFromWater</samp> in the game code.</ref>
<ref name="treasure_chance">See <samp>Tools/FishingRod::startMinigameEndFunction</samp> in the game code.</ref>
+
<ref name="treasure_chance">See <samp>FishingRod::startMinigameEndFunction</samp> in the game code.</ref>
 
<ref name="treasure">The contents of a treasure chest are determined by <samp>FishingRod::openTreasureMenuEndFunction</samp>.</ref>
 
<ref name="treasure">The contents of a treasure chest are determined by <samp>FishingRod::openTreasureMenuEndFunction</samp>.</ref>
 
<ref name="treasure_artifact">The chance of an artifact appearing in a treasure chest is higher if [[Lost Books]] are not possible, ''e.g.,'' after the Museum's collection is complete.</ref>
 
<ref name="treasure_artifact">The chance of an artifact appearing in a treasure chest is higher if [[Lost Books]] are not possible, ''e.g.,'' after the Museum's collection is complete.</ref>
 
<ref name="treasure_special">The chance of a special item appearing in a treasure chest is adjusted by <samp>LuckModifier</samp>, which is set to <samp>(1 + DailyLuck) * FishingZone/5</samp>. This means that fishing zone is the most important factor, as special items are 5x more likely to be found when caught in a fishing zone of 5 instead of 1. Special items are only 1.25x more likely to be found with maximum daily luck (0.125) instead of minimum (-0.1). For example, the chance of finding a Broken Trident varies from 0.075% (DailyLuck=-0.1, FishingZone=1) to 0.469% (DailyLuck=0.125, FishingZone=5). The page lists the chance of finding special items with neutral luck and Zone=5.</ref>
 
<ref name="treasure_special">The chance of a special item appearing in a treasure chest is adjusted by <samp>LuckModifier</samp>, which is set to <samp>(1 + DailyLuck) * FishingZone/5</samp>. This means that fishing zone is the most important factor, as special items are 5x more likely to be found when caught in a fishing zone of 5 instead of 1. Special items are only 1.25x more likely to be found with maximum daily luck (0.125) instead of minimum (-0.1). For example, the chance of finding a Broken Trident varies from 0.075% (DailyLuck=-0.1, FishingZone=1) to 0.469% (DailyLuck=0.125, FishingZone=5). The page lists the chance of finding special items with neutral luck and Zone=5.</ref>
<ref name="roe_book">If the player has not obtained the [[Jewels Of The Sea]] book before, the chances of the book appearing is <samp>0.02+0.001*X</samp>, where <samp>X</samp> is the total amount of treasure chests the player has opened. If the player has obtained the book before, the chance is constant at <samp>0.02</samp>.</ref>
+
<ref name="roe_book">If the player has not obtained the [[Jewels Of The Sea]] book before, the chances of the book appearing is <samp>0.02+0.001*X</samp>, where <samp>X</samp> is the total amount of treasure chests the player has opened. If the player has obtained the book before, the chance is constant at <samp>0.021</samp>.</ref>
 
<ref name="performtenminuteupdate">The bubbles, or 'fishSplashPoint' is placed in <samp>GameLocation::performTenMinuteUpdate</samp>.</ref>
 
<ref name="performtenminuteupdate">The bubbles, or 'fishSplashPoint' is placed in <samp>GameLocation::performTenMinuteUpdate</samp>.</ref>
 
</references>
 
</references>
Line 1,141: Line 1,152:  
{{History|1.6|Added [[Advanced Iridium Rod]]. Submerged fishing bobber now automatically recolored to match the water. Added [[Mystery Box]], [[Golden Mystery Box]], [[Golden Animal Cracker]], [[Sonar Bobber]], [[Deluxe Bait]], skill books, Golden Bobber, [[Roe]], [[Jewels Of The Sea]], and Golden Tag to potential treasure chest rewards. Added Golden Fishing Tresure Chests with more exclusive rewards. Players are now notified when they first catch each specific type of fish. If you haven't gained fishing experience after obtaining the Bamboo Pole, before spring 28, year 1, Willy comes to your house and give you a training rod after giving you a quick lesson on fishing basics that makes you reach level 1 fishing.}}
 
{{History|1.6|Added [[Advanced Iridium Rod]]. Submerged fishing bobber now automatically recolored to match the water. Added [[Mystery Box]], [[Golden Mystery Box]], [[Golden Animal Cracker]], [[Sonar Bobber]], [[Deluxe Bait]], skill books, Golden Bobber, [[Roe]], [[Jewels Of The Sea]], and Golden Tag to potential treasure chest rewards. Added Golden Fishing Tresure Chests with more exclusive rewards. Players are now notified when they first catch each specific type of fish. If you haven't gained fishing experience after obtaining the Bamboo Pole, before spring 28, year 1, Willy comes to your house and give you a training rod after giving you a quick lesson on fishing basics that makes you reach level 1 fishing.}}
 
{{History|1.6.3|Fixed bug introduced in v1.6 which caused other types of bait to act as [[Targeted Bait|targeted bait]] for no fish, resulting in excess trash fished.}}
 
{{History|1.6.3|Fixed bug introduced in v1.6 which caused other types of bait to act as [[Targeted Bait|targeted bait]] for no fish, resulting in excess trash fished.}}
 +
{{History|1.6.4|Added [[#Fish Frenzies|Fish Frenzies]]. Slightly reduced chance to find [[Mystery Box]]es and [[Golden Mystery Box]]es.}}
    
{{NavboxSkillsStats}}
 
{{NavboxSkillsStats}}
992

edits