Difference between revisions of "Talk:Pans"
Jump to navigation
Jump to search
(→Game Code: new section) |
(→Game Code: Forgot to sign) |
||
Line 44: | Line 44: | ||
# Every 10 minutes, there is a 50% chance that a draw occurs. If so, 6 points are chosen on the map. If one is in open water, it becomes an OrePanPoint | # Every 10 minutes, there is a 50% chance that a draw occurs. If so, 6 points are chosen on the map. If one is in open water, it becomes an OrePanPoint | ||
− | On Ginger Island, the location is reduced to a specific portion of the map, but otherwise the process is the same. | + | On Ginger Island, the drawing location is reduced to a specific portion of the map, but otherwise the process is the same. |
+ | |||
+ | -- [[User:Charly|Charly]] ([[User talk:Charly|talk]]) 00:45, 16 November 2021 (UTC) |
Revision as of 00:45, 16 November 2021
This talk page is for discussing Pans. | |
---|---|
|
|
Difficulty
Is it just me or is panning really, REALLY hard? StardewValley4eva (talk) 12:12, 4 April 2021
Game Code
Pan minerals seem to be updated every 10 minutes in each open water of each Location, except the Beach. Island North has an overriding method with one line changing.
GameLocation::performOrePanTenMinuteUpdate
public virtual void performOrePanTenMinuteUpdate(Random r)
{
if (((NetList<string, NetString>)(object)Game1.MasterPlayer.mailReceived).Contains("ccFishTank") && !(this is Beach) && ((NetFieldBase<Point, NetPoint>)(object)orePanPoint).get_Value().Equals(Point.Zero) && r.NextDouble() < 0.5)
{
for (int i = 0; i < 6; i++)
{
Point point = new Point(r.Next(0, Map.GetLayer("Back").get_LayerWidth()), r.Next(0, Map.GetLayer("Back").get_LayerHeight()));
if (isOpenWater(point.X, point.Y) && FishingRod.distanceToLand(point.X, point.Y, this) <= 1 && getTileIndexAt(point, "Buildings") == -1)
{
if (Game1.player.currentLocation.Equals(this))
{
playSound("slosh");
}
((NetFieldBase<Point, NetPoint>)(object)orePanPoint).set_Value(point);
break;
}
}
}
else if (!((NetFieldBase<Point, NetPoint>)(object)orePanPoint).get_Value().Equals(Point.Zero) && r.NextDouble() < 0.1)
{
((NetFieldBase<Point, NetPoint>)(object)orePanPoint).set_Value(Point.Zero);
}
}
GameLocation::performOrePanTenMinuteUpdate
Point point = new Point(r.Next(4, 15), r.Next(45, 70));
Not 100% sure, but from what I understand:
- There can be only one OrePanPoint per Location
- Every 10 minutes, the ongoing Point has a 10% chance to disappear
- Every 10 minutes, there is a 50% chance that a draw occurs. If so, 6 points are chosen on the map. If one is in open water, it becomes an OrePanPoint
On Ginger Island, the drawing location is reduced to a specific portion of the map, but otherwise the process is the same.