From b4e36084122aff66b6e8e663ad8266253a01dec7 Mon Sep 17 00:00:00 2001 From: "wrenczes@gmail.com" Date: Fri, 22 Apr 2011 00:44:13 +0000 Subject: [PATCH] Fixed a subtle bug with the Random player deck choice - I kept getting my first deck every time. It turns out that the 'random' implementation was actually multiplying the random seed by a value of 1001, which isn't prime - I have seven player decks on my one dev system, which divides neatly into that multiplier. Removed the multiplier, as it's unnecessary. --- projects/mtg/src/GameStateDuel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/mtg/src/GameStateDuel.cpp b/projects/mtg/src/GameStateDuel.cpp index db180061b..efb9a3bc6 100644 --- a/projects/mtg/src/GameStateDuel.cpp +++ b/projects/mtg/src/GameStateDuel.cpp @@ -753,7 +753,7 @@ void GameStateDuel::ButtonPressed(int controllerId, int controlId) if (controlId == MENUITEM_RANDOM_PLAYER) // Random Player Deck Selection { vector * playerDeckList = deckManager->getPlayerDeckOrderList(); - deckNumber = playerDeckList->at(WRand() * 1001 % (playerDeckList->size()))->getDeckId(); + deckNumber = playerDeckList->at(WRand() % (playerDeckList->size()))->getDeckId(); loadPlayer(0, deckNumber); deckmenu->Close(); mGamePhase = DUEL_STATE_CHOOSE_DECK2_TO_PLAY;