From 37ac4c684ce3904c5ec614362ed99bb9867ca0f3 Mon Sep 17 00:00:00 2001 From: Michael Date: Mon, 29 May 2017 20:08:30 -0400 Subject: It's amazing what talking to Rylan can do to an integer datatype. --- ShiftOS.WinForms/Applications/ShiftLotto.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'ShiftOS.WinForms/Applications/ShiftLotto.cs') diff --git a/ShiftOS.WinForms/Applications/ShiftLotto.cs b/ShiftOS.WinForms/Applications/ShiftLotto.cs index 5ab8154..3f940c7 100644 --- a/ShiftOS.WinForms/Applications/ShiftLotto.cs +++ b/ShiftOS.WinForms/Applications/ShiftLotto.cs @@ -88,7 +88,7 @@ namespace ShiftOS.WinForms.Applications } else { - if (SaveSystem.CurrentSave.Codepoints - (codePoints * difficulty) <= 0) + if (SaveSystem.CurrentSave.Codepoints - (ulong)(codePoints * difficulty) <= 0) { Infobox.Show("Not enough Codepoints", "You do not have enough Codepoints to gamble this amount!"); } @@ -102,7 +102,7 @@ namespace ShiftOS.WinForms.Applications int winningNumber = rnd.Next(0, difficulty); // Multiply CodePoints * Difficulty - int jackpot = codePoints * difficulty; + ulong jackpot = (ulong)(codePoints * difficulty); // Test the random ints if (guessedNumber == winningNumber) -- cgit v1.2.3 From a152c2c463d7ab45394b4fec84ae46be5105d3fe Mon Sep 17 00:00:00 2001 From: AShifter Date: Mon, 5 Jun 2017 10:01:16 -0600 Subject: Fixed ShiftLotto (again) Recently, Codepoints have been changed to ULong64. While SuperDoggo (on discord) was playing ShiftLotto, he tried to bet 100cp with only 80cp. The check to make sure you don't overbet failed because ShiftLotto subtracts codepoints*difficulty - currentCodepoints. If this value is negitive, it should give you an error. But, due to the transition to ulong,, this does not work and the check passes, removing (or adding if you're lucky) codepoints, crashing the game. I fixed this by simply changing thechecking statment from subtraction to a Less Than check (<). WOW I TYPED ALOT OF STUFF --- ShiftOS.WinForms/Applications/ShiftLotto.cs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'ShiftOS.WinForms/Applications/ShiftLotto.cs') diff --git a/ShiftOS.WinForms/Applications/ShiftLotto.cs b/ShiftOS.WinForms/Applications/ShiftLotto.cs index 3f940c7..03d051b 100644 --- a/ShiftOS.WinForms/Applications/ShiftLotto.cs +++ b/ShiftOS.WinForms/Applications/ShiftLotto.cs @@ -50,11 +50,11 @@ namespace ShiftOS.WinForms.Applications { timer1.Start(); } - + public void OnSkinLoad() { - + } public bool OnUnload() @@ -64,7 +64,7 @@ namespace ShiftOS.WinForms.Applications public void OnUpgrade() { - + } // The Dynamic Display @@ -82,13 +82,13 @@ namespace ShiftOS.WinForms.Applications int codePoints = Convert.ToInt32(Math.Round(cpUpDown.Value, 0)); int difficulty = Convert.ToInt32(Math.Round(difUpDown.Value, 0)); - if (SaveSystem.CurrentSave.Codepoints <= 9) + if (SaveSystem.CurrentSave.Codepoints < 10) { Infobox.Show("Not enough Codepoints", "You do not have enough Codepoints to use ShiftLotto!"); } else { - if (SaveSystem.CurrentSave.Codepoints - (ulong)(codePoints * difficulty) <= 0) + if (SaveSystem.CurrentSave.Codepoints < (ulong)(codePoints * difficulty)) { Infobox.Show("Not enough Codepoints", "You do not have enough Codepoints to gamble this amount!"); } @@ -110,7 +110,7 @@ namespace ShiftOS.WinForms.Applications // If you win // Add Codepoints - SaveSystem.TransferCodepointsFrom("shiftlotto", jackpot); + SaveSystem.TransferCodepointsFrom("shiftlotto", (ulong)(codePoints * difficulty)); // Infobox Infobox.Show("YOU WON!", "Good Job! " + jackpot.ToString() + " CP has been added to your account. "); @@ -122,13 +122,13 @@ namespace ShiftOS.WinForms.Applications // Remove Codepoints SaveSystem.TransferCodepointsToVoid(jackpot); - + // Infobox Infobox.Show("YOU FAILED!", "Sorry! " + jackpot.ToString() + " CP has been removed from your account."); } - } - } + } + } } } } \ No newline at end of file -- cgit v1.2.3