Jump to content

Talk:Pans: Difference between revisions

From Stardew Valley Wiki
imported>Margotbean
add missing signature AGAIN
imported>Charly
→Game Code: new section
Line 2: Line 2:
==Difficulty==
==Difficulty==
Is it just me or is panning really, REALLY hard? [[User:StardewValley4eva|StardewValley4eva]] ([[User talk:StardewValley4eva|talk]]) 12:12, 4 April 2021
Is it just me or is panning really, REALLY hard? [[User:StardewValley4eva|StardewValley4eva]] ([[User talk: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.
<samp>GameLocation::performOrePanTenMinuteUpdate</samp>
<syntaxhighlight lang="C#">
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);
}
}
</syntaxhighlight>
<samp>GameLocation::performOrePanTenMinuteUpdate</samp>
<syntaxhighlight lang="C#">
Point point = new Point(r.Next(4, 15), r.Next(45, 70));
</syntaxhighlight>
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 location is reduced to a specific portion of the map, but otherwise the process is the same.

Revision as of 00:44, 16 November 2021

This talk page is for discussing Pans.
  • Sign and date your posts by typing four tildes (~~~~).
  • Put new text below old text.
  • Be polite.
  • Assume good faith.
  • Don't delete discussions.

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:

  1. There can be only one OrePanPoint per Location
  2. Every 10 minutes, the ongoing Point has a 10% chance to disappear
  3. 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.