Talk:Soundtrack

From Stardew Valley Wiki
Revision as of 21:39, 30 October 2021 by Charly (talk | contribs) (Checklist and Formatting and Mines)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Checklist

I did check:

  • Most locations (hopefully all) during most weather/season, and sometimes I did check the time conditions
  • Most Festivals (except Night Market, infos were there already)
  • Every Movies
  • Those checks were in-game, not in the game code, so I may have missed some things

I took what was on the page / other pages, without double check for:

  • Heart-events
  • Junimo Kart and Prairie King

Also:

  • I was unable to trigger Country Shop at Pierre's General Store so I considered it was written by mistake and removed it (correct me if I'm wrong).
  • On Pierre's page, there is no Ten-Hearts event. It may be missing from the Pierre's page, so I didn't remove it from the table.
  • I didn't find any reference in the Wiki to Morris' 50% discount cutscene (at Pierre's), but assisted to it myself (I'm not sure what are the conditions to trigger it).

What I didn't check:

-- Charly (talk) 21:39, 30 October 2021 (UTC)

Formatting of the List Table

The current formatting of the table is the best compromise I came to after several testing. Some remarks:

  • I removed Weather and Season conditions for one-shot events. I felt it was confusing to mix up one-shot events and persistent environment. Technically, we could add Weather, Season and Time condition for every single event (and with one line per event, one then could sort the table to have a list grouped per villager).
  • I find the use of hearts icons quite telling for hearts event, but it could be discussed.
  • I used Junimo Kart Arcade System.png and Prairie King Arcade System.png for those two mini-games. I'm not very satisfied since they look a bit too small to be easily identified, but I still think it's better than nothing.
  • I didn't use any icon for some location neither for festivals, since there are no "official" icons for these, but it could be completed.

-- Charly (talk) 21:39, 30 October 2021 (UTC)

Soundtrack in the Mines

Mines' music mechanisms could be further investigated. I was unable to get every music (even less on each level), but it seems to be coherent with the game code (based on Locations/MineShaft.cs:getMineSong (2933-2944) and Utility.cs:farmerHeardSong (3355-3403)).

I noticed the music triggers everytimes when reaching the 2nd floor in the Mines, and stop when reaching the 11th.

Here are some code excerpts from the decompiled game code, in Locations/MineShaft.cs, that I'm too tired to decipher precisely right now (I don't get why it would stop when reaching level 11, I may be missing something).

// line 80
public static int timeSinceLastMusic = 200000;
// line 2978
protected override void resetLocalState()
{
  (...)
  // line 3148
  if (mineLevel > 1 && (mineLevel == 2 || (mineLevel % 5 != 0 && timeSinceLastMusic > 150000 && Game1.random.NextDouble() < 0.5)))
  {
    playMineSong();
  }
}
// line 2968
public void playMineSong()
{
  string mineSong = getMineSong();
  if ((Game1.getMusicTrackName() == "none" || Game1.isMusicContextActiveButNotPlaying() || Game1.getMusicTrackName().Contains("Ambient")) && !isDarkArea() && mineLevel != 77377)
  {
    Game1.changeMusicTrack(mineSong);
    timeSinceLastMusic = 0;
  }
}
// line 2900
public override void checkForMusic(GameTime time)
{
  (...)
  // line 2925
  if (Game1.getMusicTrackName() == "none" || Game1.isMusicContextActiveButNotPlaying() || (Game1.getMusicTrackName().EndsWith("_Ambient") && Game1.getMusicTrackName() != text))
  {
    Game1.changeMusicTrack(text);
  }
  timeSinceLastMusic = Math.Min(335000, timeSinceLastMusic + time.ElapsedGameTime.Milliseconds);
}

-- Charly (talk) 21:39, 30 October 2021 (UTC)