Skip to content

Commit 90fde16

Browse files
committed
Fix up bad numbering.
1 parent fd63c46 commit 90fde16

File tree

2 files changed

+13
-12
lines changed

2 files changed

+13
-12
lines changed

ArchipelagoMuseDash/Archipelago/ItemHandler.cs

+7-4
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ public class ItemHandler {
1919
public MusicInfo GoalSong { get; private set; }
2020
public int NumberOfMusicSheetsToWin { get; private set; }
2121
public int CurrentNumberOfMusicSheets { get; private set; }
22+
private int _prospectiveSheetCount;
2223

2324
public HashSet<string> SongsInLogic = new HashSet<string>();
2425
public HashSet<string> UnlockedSongUids = new HashSet<string>();
@@ -147,11 +148,9 @@ IMuseDashItem GetItemFromNetworkItem(NetworkItem item, bool otherPlayersItem) {
147148
}
148149

149150
if (name == MusicSheetItemName) {
150-
CurrentNumberOfMusicSheets++;
151-
152-
if (NumberOfMusicSheetsToWin == CurrentNumberOfMusicSheets)
151+
if (CurrentNumberOfMusicSheets + 1 >= NumberOfMusicSheetsToWin)
153152
return new SongItem(GoalSong);
154-
return new MusicSheetItem(NumberOfMusicSheetsToWin - CurrentNumberOfMusicSheets) { Item = item };
153+
return new MusicSheetItem() { Item = item };
155154
}
156155

157156
if (ArchipelagoStatic.AlbumDatabase.TryGetMusicInfo(name, out var singularInfo))
@@ -166,6 +165,10 @@ IMuseDashItem GetItemFromNetworkItem(NetworkItem item, bool otherPlayersItem) {
166165
return null;
167166
}
168167

168+
public void AddMusicSheet() {
169+
CurrentNumberOfMusicSheets++;
170+
}
171+
169172
public MusicInfo GetRandomUnfinishedSong() {
170173
//Not very efficient, but its a button clicked once.
171174
var unfinishedSongs = UnlockedSongUids.Where(x => !CompletedSongUids.Contains(x)).ToList();

ArchipelagoMuseDash/Archipelago/Items/MusicSheetItem.cs

+6-8
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,17 @@ public class MusicSheetItem : IMuseDashItem {
1010

1111
public string TitleText => "Got a Music Sheet!!";
1212

13-
public string SongText => _amountOfTokensLeft > 0 ? $"Only {_amountOfTokensLeft} left" : "Can't hurt to have spares!";
13+
public string SongText => TokensLeft() > 0 ? $"Only {TokensLeft()} left" : "Can't hurt to have spares!";
1414

15-
public string AuthorText => _amountOfTokensLeft > 0 ? "To unlock the final song!" : "";
15+
public string AuthorText => TokensLeft() > 0 ? "To unlock the final song!" : "";
1616

1717
public string PreUnlockBannerText => "A new song?";
18-
public string PostUnlockBannerText => $"Music Sheet No. {ArchipelagoStatic.SessionHandler.ItemHandler.NumberOfMusicSheetsToWin - _amountOfTokensLeft}";
18+
public string PostUnlockBannerText => $"Music Sheet No. {ArchipelagoStatic.SessionHandler.ItemHandler.NumberOfMusicSheetsToWin - (TokensLeft() + 1)}";
1919

20-
readonly int _amountOfTokensLeft;
20+
float TokensLeft() => (ArchipelagoStatic.SessionHandler.ItemHandler.NumberOfMusicSheetsToWin - ArchipelagoStatic.SessionHandler.ItemHandler.CurrentNumberOfMusicSheets) - 1;
2121

22-
public MusicSheetItem(int amountLeft) {
23-
_amountOfTokensLeft = amountLeft;
22+
public void UnlockItem(ItemHandler handler, bool immediate) {
23+
ArchipelagoStatic.SessionHandler.ItemHandler.AddMusicSheet();
2424
}
25-
26-
public void UnlockItem(ItemHandler handler, bool immediate) { }
2725
}
2826
}

0 commit comments

Comments
 (0)