if (isset(newRoom)) { set.horizon(1); reset(f33); load.logics(Logic_Casino_inGame); load.view(YouWin); load.view(Game_Card_Trefle); load.view(Game_Card_Piques); load.view(Game_Card_Coeur); load.view(Game_Card_Diamond); load.view(Game_Card_NoCard); load.view(Game_Card_Back); load.sound(Sound6); load.sound(Sound7); load.sound(Sound5); if (monitorType != MONO) { load.view(Game_Card_Shuffle); } else { load.view(Game_Cards_Draw); } load.pic(currentRoom); draw.pic(currentRoom); animate.obj(o15); ignore.objs(o15); position(o15, 61, 55); if (monitorType != MONO) { set.view(o15, Game_Card_Shuffle); } else { set.view(o15, Game_Cards_Draw); } animate.obj(o13); ignore.objs(o13); set.view(o13, YouWin); position(o13, 54, 82); v255 = 2; v227 = 1; v219 = 45; show.pic(); v229 = 6; call(Logic_Casino_inGame); print("\nPress F4 when ready to play.\n\nPress F6 for another card.\n\nPress " "F8 to stand.\n\nTo change the amount of your bet, type \"change " "bet.\"\n"); set(f48); set(noScript); return(); } set(f69); if ((controller(CtrlHelp) || said("help"))) { set(f245); } if ((said("tip", "blond") || said("add", "blond", "bucks") || said("add", "bucks", "blond"))) { print("\"I'm sorry, Sir. We're not permitted to accept gratuities!\""); } if ((controller(c4) || said("bargain", "fingers") || said("bargain", "card") || said("bargain"))) { v219 = 45; if (v236 > 0) { print("Don't be in such a hurry. Finish this hand first!"); } else { if (v255 <= 0) { print("You bet zero dollars, receive zero cards, and win zero dollars and " "zero cents."); print("You can play all night like this!"); } else { if (v255 > varInGameMoney) { varTitlePageStep = 0; print("You can't bet more than you have."); } else { set(boolTimingDelayOut); varTitlePageStep = 0; } } } } if ((controller(c8) || said("get up"))) { v219 = 45; if (!isset(f253)) { print("Please wait until it's your turn."); } else { if (v236 == 1) { varTitlePageStep = 100; set(boolTimingDelayOut); } else { if (v236 == 2) { varTitlePageStep = 200; set(boolTimingDelayOut); } else { print("Please wait until it's your turn."); } } } } if ((controller(c6) || said("beat") || said("beat", "i'm") || said("card") || said("add", "i'm", "card"))) { v219 = 45; if (!isset(f253)) { print("Please wait until it's your turn."); } else { if (v236 == 1) { ++v233; v235 = 243; v235 += v233; --v235; v229 = 1; call(Logic_Casino_inGame); v223 += v231; } else { if (v236 == 2) { ++v233; v235 = 249; v235 += v233; --v235; v229 = 1; call(Logic_Casino_inGame); v224 += v231; } else { print("Please wait until it's your turn."); } } } } if (!isset(haveInput)) { goto(Label4); } if ((said("double") || said("double", "up") || said("double", "down"))) { v219 = 45; if (!isset(f253)) { print("Please wait until it's your turn."); } else { if (v236 == 1) { if ((v223 < 10 || v223 > 11)) { print("%m19double when you have 10 or 11 points."); } else { if (varInGameMoney < v226) { print("You don't have enough money!"); } else { set(boolTimingDelayOut); varTitlePageStep = 20; } } } else { if (v236 != 2) { print("Please wait until it's your turn."); } else { if ((v224 < 10 || v224 > 11)) { print("%m19double when you have 10 or 11 points."); } else { if (varInGameMoney < v225) { print("You don't have enough money!"); } else { set(boolTimingDelayOut); varTitlePageStep = 120; } } } } } } if ((said("split") || said("split", "card") || said("split", "fingers"))) { v219 = 45; if (!isset(f253)) { print("Please wait until it's your turn."); } else { if (v236 != 1) { print("Please wait until it's your turn."); } else { if (v233 != 2) { print("%m19split%m20"); } else { v235 = 243; v232 = *v235; v229 = 4; call(Logic_Casino_inGame); varRandomValue = v55; ++v235; v232 = *v235; v229 = 4; call(Logic_Casino_inGame); if (v55 != varRandomValue) { print("That's not a pair."); } else { if (v226 > varInGameMoney) { print("You don't have enough money!"); } else { set(boolTimingDelayOut); varTitlePageStep = 10; } } } } } } if ((said("surrender") || said("surrender", "card") || said("surrender", "fingers"))) { v219 = 45; if (!isset(f253)) { print("Please wait until it's your turn."); } else { if (v236 != 1) { print("Please wait until it's your turn."); } else { if (v233 != 2) { print("%m19surrender%m20"); } else { print("Surrendering your cards, you are refunded half of your bet."); v228 = v227; v229 = 5; call(Logic_Casino_inGame); v236 = 255; } } } } if ((said("alter", "bet", "rol") || said("new", "bet", "rol") || said("increase", "bet", "rol") || said("decrease", "bet", "rol") || said("bet", "rol"))) { v219 = 45; if (v236 > 0) { print("It's too late now. This hand is already being played."); } else { Label1: get.num("Amount in dollars: $", v255); varRandomValue = v255; v227 = 0; if (varRandomValue > 20) { print("$20.00 is the maximum bet at this table."); goto(Label1); } Label2: if (varRandomValue > 1) { varRandomValue -= 2; ++v227; goto(Label2); } if (varRandomValue == 1) { print("Please bet an even number of dollars (2, 4, 6, etc.). The house " "does not keep half-dollars."); goto(Label1); } if (v255 > varInGameMoney) { print("You don't have enough money!"); goto(Label1); } v229 = 6; call(Logic_Casino_inGame); } } if (isset(boolCallDebugger) && said("examine", "all")) { v235 = 237; Label3: v229 = 1; call(Logic_Casino_inGame); ++v235; if (v235 <= 254) { goto(Label3); } } if ((said("board", "rol") || said("done", "rol") || said("board", "casino") || said("examine", "area") || said("examine", "casino") || said("get up", "up"))) { print("\"Thanks for playing,\" says the dealer, finally cracking a smile. " "\"Come back anytime.\""); set(f255); } if ((said("house rules") || said("examine", "desk") || said("examine", "brick") || said("examine", "house rules"))) { set(f245); } if ((said("examine") || said("examine", "desk"))) { v219 = 45; print("You are sitting at a blackjack table in the casino. There is a sign on " "the table titled \"House Rules.\""); } if ((said("examine", "blond") || said("examine", "blond"))) { print("She's a beautiful young lady, but you vow to keep your thoughts on the " "game."); } if ((said("ask", "blond") || said("ask", "blond"))) { print("\"Please, no talking at the tables.\""); } Label4: if (isset(f44)) { --v219; if (v219 == 1) { set(f245); } } if (isset(f245)) { reset(f245); print("\n HOUSE RULES\n\nThis table has a $20.00 limit. Bets must be a " "multiple of $2.00.\n\nDealer must hit 16, and must stand on " "17.\n\nBlackjack pays 1-1/2 to 1 odds.\n\nAny six cards under 22 " "wins.\n"); print("\nInsurance bets are offered whenever the dealer shows an ace. They " "are half your bet, and pay 2 to 1 odds.\n\nYou may split a pair or " "surrender whenever you have only two cards.\n\nYou may double down if " "your cards total 10 or 11 points.\n"); print("\nPress F4 when ready to play.\n\nPress F6 for another card.\n\nPress " "F8 to stand.\n\nTo change the amount of your bet, type \"change " "bet.\"\n"); v219 = 45; } if (isset(boolTimingDelayOut)) { reset(boolTimingDelayOut); ++varTitlePageStep; v219 = 45; if (varTitlePageStep == 1) { reset(f246); reset(f247); reset(f248); reset(f249); reset(f250); reset(f251); reset(f252); reset(f254); v222 = 0; v223 = 0; v224 = 0; v225 = 0; v226 = 0; v233 = 0; v226 = v255; varInGameMoney -= v226; v236 = 1; set(f87); v235 = 237; Label5: random(0, 51, varRandomValue); if (v235 != 237) { v234 = 237; Label6: v232 = *v234; if (v232 == varRandomValue) { goto(Label5); } ++v234; if (v234 < v235) { goto(Label6); } } if (v235 == 249) { v232 = varRandomValue; v229 = 4; call(Logic_Casino_inGame); varQuestionnaireID = v231; v221 = 243; v232 = *v221; v229 = 4; call(Logic_Casino_inGame); if (varQuestionnaireID == v231) { goto(Label5); } } *v235 = varRandomValue; ++v235; if (v235 <= 254) { goto(Label5); } draw.pic(currentRoom); show.pic(); v229 = 6; call(Logic_Casino_inGame); set.cel(o15, 0); draw(o15); varQuestionnaireTiming = 28; sound(Sound5, f53); } if (varTitlePageStep == 2) { erase(o15); varQuestionnaireTiming = 9; } if (varTitlePageStep == 3) { v235 = 243; v229 = 1; call(Logic_Casino_inGame); v223 = v231; varQuestionnaireTiming = 9; } if (varTitlePageStep == 4) { v235 = 237; v229 = 1; call(Logic_Casino_inGame); varQuestionnaireTiming = 9; v222 = v231; } if (varTitlePageStep == 5) { v235 = 243; ++v235; v229 = 1; call(Logic_Casino_inGame); v223 += v231; varQuestionnaireTiming = 9; } if (varTitlePageStep == 6) { v235 = 237; ++v235; v229 = 3; call(Logic_Casino_inGame); v222 += v231; v233 = 2; v235 = 243; v232 = *v235; v229 = 4; call(Logic_Casino_inGame); if ((v231 == 1 || v231 == 10)) { varRandomValue = v231; ++v235; v232 = *v235; v229 = 4; call(Logic_Casino_inGame); if (varRandomValue == 1 && v231 == 10) { set(f246); } if (varRandomValue == 10 && v231 == 1) { set(f246); } } v235 = 237; v232 = *v235; v229 = 4; call(Logic_Casino_inGame); if (v231 == 1) { cancel.line(); prevent.input(); if (monitorType == MONO) { clear.lines(24, 24, BLACK); display(24, 0, "Do you want insurance? "); } else { clear.lines(23, 23, BLACK); display(23, 0, "Do you want insurance? "); } lastChar = 0; set.scan.start(); if (lastChar <= 0) { return(); } if ((lastChar == 89 || lastChar == 121)) { if (v227 > varInGameMoney) { print("You don't have enough money!"); } else { set(f254); varInGameMoney -= v227; v229 = 6; call(Logic_Casino_inGame); } } else { if (lastChar != 78 && lastChar != 110) { print("Please answer \"y\" or \"n\"."); lastChar = 0; return(); } } reset.scan.start(); lastChar = 0; if (monitorType == MONO) { clear.lines(24, 24, BLACK); } else { clear.lines(23, 23, BLACK); } accept.input(); } v235 = 237; v232 = *v235; v229 = 4; call(Logic_Casino_inGame); if ((v231 == 1 || v231 == 10)) { varRandomValue = v231; ++v235; v232 = *v235; v229 = 4; call(Logic_Casino_inGame); if (varRandomValue == 1 && v231 == 10) { set(f247); } if (varRandomValue == 10 && v231 == 1) { set(f247); } } if (isset(f246)) { print("You have blackjack."); if (isset(f247)) { v236 = 255; v235 = 237; ++v235; v229 = 1; call(Logic_Casino_inGame); print("The dealer has blackjack!"); print("It's a push!"); v228 = v226; v229 = 5; call(Logic_Casino_inGame); if (isset(f254)) { print("Your insurance bet pays 2 to 1."); v228 = v227; v228 += v227; v229 = 5; call(Logic_Casino_inGame); } } else { v228 = v226; v228 += v226; v228 += v227; v229 = 5; call(Logic_Casino_inGame); varQuestionnaireTiming = 55; draw(o13); set(f53); } } else { if (!isset(f247)) { set(f253); varTitlePageStep = 8; } else { v236 = 255; v235 = 237; ++v235; v229 = 1; call(Logic_Casino_inGame); v229 = 6; call(Logic_Casino_inGame); print("The dealer has blackjack!"); if (isset(f254)) { print("Your insurance bet pays 2 to 1."); v228 = v227; v228 += v227; v229 = 5; call(Logic_Casino_inGame); } } } } if (varTitlePageStep == 7) { erase(o13); v236 = 255; } if (varTitlePageStep == 11) { reset(f253); v225 = v255; varInGameMoney -= v225; v229 = 6; call(Logic_Casino_inGame); v235 = 249; varRandomValue = *v235; varQuestionnaireID = 243; ++varQuestionnaireID; v221 = *varQuestionnaireID; *v235 = v221; *varQuestionnaireID = varRandomValue; v235 = 243; ++v235; v229 = 2; call(Logic_Casino_inGame); varQuestionnaireTiming = 9; } if (varTitlePageStep == 12) { v235 = 249; v229 = 1; call(Logic_Casino_inGame); v223 -= v231; varQuestionnaireTiming = 9; } if (varTitlePageStep == 13) { set(f253); v235 = 243; ++v235; v229 = 1; call(Logic_Casino_inGame); v223 += v231; } if (varTitlePageStep == 21) { reset(f253); varInGameMoney -= v226; v226 += v226; v229 = 6; call(Logic_Casino_inGame); varQuestionnaireTiming = 9; } if (varTitlePageStep == 22) { set(f253); set(f248); ++v233; v235 = 243; v235 += v233; --v235; v229 = 1; call(Logic_Casino_inGame); v223 += v231; varTitlePageStep = 101; } if (varTitlePageStep == 31) { print("Six cards make a winner."); varTitlePageStep = 101; set(f250); } if (varTitlePageStep == 101) { v236 = 2; reset(f253); if (isset(f252) && v223 < 12) { reset(f252); v223 += 10; } if (v223 > 21) { if (v225 <= 0) { print("You are busted."); } else { print("%m34busted!"); } } if (v225 <= 0) { varTitlePageStep = 201; } else { set(f253); reset(f252); v233 = 2; v235 = 249; v232 = *v235; v229 = 4; call(Logic_Casino_inGame); v224 = v231; v235 = 249; ++v235; v229 = 1; call(Logic_Casino_inGame); v224 += v231; } } if (varTitlePageStep == 121) { reset(f253); varInGameMoney -= v225; v225 += v225; v229 = 6; call(Logic_Casino_inGame); varQuestionnaireTiming = 9; } if (varTitlePageStep == 122) { set(f253); set(f249); ++v233; v235 = 249; v235 += v233; --v235; v229 = 3; call(Logic_Casino_inGame); v224 += v231; varTitlePageStep = 201; } if (varTitlePageStep == 131) { print("Six cards make a winner."); varTitlePageStep = 201; set(f251); } if (varTitlePageStep == 201) { reset(f253); v236 = 3; varQuestionnaireTiming = 9; if (v225 > 0 && isset(f252) && v224 < 12) { reset(f252); v224 += 10; } if (v224 > 21) { print("%m43busted!"); } if (v223 < 22) { if (isset(f250)) { varTitlePageStep = 230; } } else { if (v225 <= 0) { varTitlePageStep = 220; } else { if (v224 > 21) { varTitlePageStep = 220; } else { if (isset(f251)) { varTitlePageStep = 230; } } } } } if (varTitlePageStep == 202) { reset(f252); varQuestionnaireTiming = 9; v233 = 2; v235 = 237; ++v235; v229 = 1; call(Logic_Casino_inGame); } if (varTitlePageStep == 203) { varQuestionnaireTiming = 9; if (isset(f252) && v222 > 6 && v222 < 12) { reset(f252); v222 += 10; } if (v222 < 17) { ++v233; v235 = 237; v235 += v233; --v235; v229 = 1; call(Logic_Casino_inGame); v222 += v231; if (v233 < 6) { varTitlePageStep -= 1; } } } if (varTitlePageStep == 204) { if (isset(f248)) { v235 = 243; ++v235; ++v235; v229 = 1; call(Logic_Casino_inGame); } if (v222 > 21) { print("The dealer busted."); if (v223 > 21) { ++varTitlePageStep; } else { v228 = v226; v228 += v226; v229 = 5; call(Logic_Casino_inGame); varQuestionnaireTiming = 22; draw(o13); set(f53); } } else { if (v223 > 21) { ++varTitlePageStep; } else { if (v223 > v222) { if (v225 > 0) { print("%m34wins!"); } v228 = v226; v228 += v226; v229 = 5; call(Logic_Casino_inGame); varQuestionnaireTiming = 33; draw(o13); set(f53); } if (v223 == v222) { if (v225 > 0) { print("%m34is a push!"); } else { print("It's a push!"); } v228 = v226; v229 = 5; call(Logic_Casino_inGame); ++varTitlePageStep; } if (v223 < v222) { ++varTitlePageStep; if (v225 > 0) { print("%m34loses!"); } else { print("You lose!"); } } } } } if (varTitlePageStep == 205) { if (v225 <= 0) { ++varTitlePageStep; } else { if (isset(f249)) { v235 = 249; ++v235; ++v235; v229 = 1; call(Logic_Casino_inGame); } if (v222 > 21) { if (v223 > 21) { print("The dealer busted."); } if (v224 > 21) { ++varTitlePageStep; } else { v228 = v225; v228 += v225; v229 = 5; call(Logic_Casino_inGame); varQuestionnaireTiming = 22; if (v223 > 21) { draw(o13); } set(f53); } } else { if (v224 > 21) { ++varTitlePageStep; } else { if (v224 > v222) { print("%m43wins!"); v228 = v225; v228 += v225; v229 = 5; call(Logic_Casino_inGame); varQuestionnaireTiming = 33; if (v223 > 21) { draw(o13); } set(f53); } if (v224 == v222) { print("%m43is a push!"); v228 = v225; v229 = 5; call(Logic_Casino_inGame); ++varTitlePageStep; } if (v224 < v222) { print("%m43loses!"); ++varTitlePageStep; } } } } } if (varTitlePageStep == 206) { erase(o13); v236 = 255; } if (varTitlePageStep == 221) { v235 = 237; ++v235; v229 = 1; call(Logic_Casino_inGame); v236 = 255; } if (varTitlePageStep == 231) { if (!isset(f250)) { ++varTitlePageStep; } else { v228 = v226; v228 += v226; v229 = 5; call(Logic_Casino_inGame); varQuestionnaireTiming = 44; draw(o13); set(f53); } } if (varTitlePageStep == 232) { if (!isset(f251)) { ++varTitlePageStep; } else { v228 = v225; v228 += v225; v229 = 5; call(Logic_Casino_inGame); varQuestionnaireTiming = 44; draw(o13); set(f53); } } if (varTitlePageStep == 233) { erase(o13); v236 = 255; } } if (v236 == 255) { v236 = 0; reset(f253); reset(f87); varTitlePageStep = 0; varQuestionnaireTiming = 0; v219 = 45; if (varInGameMoney <= 0) { varTitlePageStep = 0; v229 = 6; call(Logic_Casino_inGame); } } if (v236 == 1) { if (v223 > 21) { set(boolTimingDelayOut); varTitlePageStep = 100; } else { if (v233 > 5) { set(boolTimingDelayOut); varTitlePageStep = 30; } } } if (v236 == 2) { if (v224 > 21) { set(boolTimingDelayOut); varTitlePageStep = 200; } else { if (v233 > 5) { set(boolTimingDelayOut); varTitlePageStep = 130; } } } if (isset(f53)) { reset(f53); if (varTitlePageStep == 1) { sound(Sound5, f53); } if ((varTitlePageStep == 6 || varTitlePageStep == 204 || varTitlePageStep == 205 || varTitlePageStep == 231 || varTitlePageStep == 232)) { sound(Sound7, f53); } } if (isset(gameRestored)) { v229 = 6; call(Logic_Casino_inGame); } if (isset(f255)) { reset(f48); reset(noScript); reset(f87); v76 = 31; } if (isset(boolCallDebugger) && isset(boolDebugInGame)) { if ((v223 != v217 || v224 != v218 || v222 != v216)) { v229 = 7; call(Logic_Casino_inGame); } } return(); [ Messages #message 1 "You are sitting at a blackjack table in the casino. There is a sign on the table titled \"House Rules.\"" #message 2 "Do you want insurance? " #message 3 "Amount in dollars: $" #message 4 "Please bet an even number of dollars (2, 4, 6, etc.). The house does not keep half-dollars." #message 5 "The dealer has blackjack!" #message 6 "Surrendering your cards, you are refunded half of your bet." #message 7 "You bet zero dollars, receive zero cards, and win zero dollars and zero cents." #message 8 "You can play all night like this!" #message 9 "Your insurance bet pays 2 to 1." #message 10 "Please answer \"y\" or \"n\"." #message 11 "You are busted." #message 12 "The dealer busted." #message 13 "She's a beautiful young lady, but you vow to keep your thoughts on the game." #message 14 "It's a push!" #message 15 "\"Thanks for playing,\" says the dealer, finally cracking a smile. \"Come back anytime.\"" #message 16 "You lose!" #message 17 "You have blackjack." #message 18 "Six cards make a winner." #message 19 "You can only " #message 20 " when you have two cards." #message 21 "\"Please, no talking at the tables.\"" #message 22 "That's not a pair." #message 23 "\"I'm sorry, Sir. We're not permitted to accept gratuities!\"" #message 24 "%m19double when you have 10 or 11 points." #message 25 "%m19split%m20" #message 26 "%m19surrender%m20" #message 27 "You don't have enough money!" #message 28 "Don't be in such a hurry. Finish this hand first!" #message 29 "It's too late now. This hand is already being played." #message 30 "You can't bet more than you have." #message 31 "$20.00 is the maximum bet at this table." #message 32 "" #message 33 "" #message 34 "Your first hand " #message 35 "%m34is a push!" #message 36 "%m34wins!" #message 37 "%m34loses!" #message 38 "%m34busted!" #message 39 "%m43is a push!" #message 40 "%m43wins!" #message 41 "%m43loses!" #message 42 "%m43busted!" #message 43 "Your split hand " #message 44 "Please wait until it's your turn." #message 45 "\n HOUSE RULES\n\nThis table has a $20.00 limit. Bets must be a multiple of $2.00.\n\nDealer must hit 16, and must stand on 17.\n\nBlackjack pays 1-1/2 to 1 odds.\n\nAny six cards under 22 wins.\n" #message 46 "\nInsurance bets are offered whenever the dealer shows an ace. They are half your bet, and pay 2 to 1 odds.\n\nYou may split a pair or surrender whenever you have only two cards.\n\nYou may double down if your cards total 10 or 11 points.\n" #message 47 "\nPress F4 when ready to play.\n\nPress F6 for another card.\n\nPress F8 to stand.\n\nTo change the amount of your bet, type \"change bet.\"\n"