Skip to content

Commit 3941993

Browse files
committed
chaos+swap fix
1 parent b91b755 commit 3941993

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

sources/Properties/AssemblyInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,5 +31,5 @@
3131
// You can specify all the values or you can default the Build and Revision Numbers
3232
// by using the '*' as shown below:
3333
// [assembly: AssemblyVersion("1.0.*")]
34-
[assembly: AssemblyVersion("102.0.0.0")]
35-
[assembly: AssemblyFileVersion("102.0.0.0")]
34+
[assembly: AssemblyVersion("103.0.0.0")]
35+
[assembly: AssemblyFileVersion("103.0.0.0")]

sources/ui/viewmodel/OverlayWindowViewModel.cs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -286,6 +286,21 @@ public void UpdateScreenState(bool debugMode = false)
286286
ScreenMemory.gameSolver.FindNextMove(ScreenMemory.gameState, out int solverCardIdx, out int solverBoardPos, out var bestChance);
287287

288288
var solverTriadCard = ScreenMemory.deckBlue.GetCard(solverCardIdx);
289+
if ((ScreenMemory.gameState.forcedCardIdx >= 0) && (solverCardIdx != ScreenMemory.gameState.forcedCardIdx))
290+
{
291+
// swap + chaos may cause selecting wrong instance of duplicated card?
292+
// it really, really shouldn't unless solver's agent is broken
293+
294+
var forcedCardOb = ScreenMemory.deckBlue.GetCard(ScreenMemory.gameState.forcedCardIdx);
295+
296+
var solverCardDesc = solverTriadCard != null ? solverTriadCard.Name.GetCodeName() : "??";
297+
var forcedCardDesc = forcedCardOb != null ? forcedCardOb.Name.GetCodeName() : "??";
298+
Logger.WriteLine($"Solver selected card [{solverCardIdx}]:{solverCardDesc}, but game wants: [{ScreenMemory.gameState.forcedCardIdx}]:{forcedCardDesc} !");
299+
300+
solverCardIdx = ScreenMemory.gameState.forcedCardIdx;
301+
solverTriadCard = forcedCardOb;
302+
}
303+
289304
int blueCardIdx = solverCardIdx;
290305
int boardCardIdx = (solverCardIdx < 0) ? -1 : solverBoardPos;
291306

0 commit comments

Comments
 (0)