├── OBJECT ├── WORDS.TOK ├── RM20.MSG ├── RM58.MSG ├── RM19.MSG ├── RM9.MSG ├── COLORS.H ├── RM56.MSG ├── IV_NAMES.H ├── SLOTS.H ├── IV_VIEWS.H ├── RM8.MSG ├── RM33.MSG ├── RM58.CG ├── RM20.CG ├── RM31.MSG ├── OBJECT.TXT ├── RM1.MSG ├── RM50.CG ├── CONTRLRS.H ├── RM44.MSG ├── RM37.MSG ├── RM54.CG ├── RM6.MSG ├── RM11.MSG ├── RM35.MSG ├── RM32.MSG ├── RM57.MSG ├── RM14.MSG ├── BJ.H ├── RM23.MSG ├── RM55.MSG ├── README.md ├── RM24.MSG ├── RM19.CG ├── RM55.CG ├── FLAG_VAR.H ├── RM10.MSG ├── RM6.CG ├── RM13.MSG ├── RM38.MSG ├── RM17.MSG ├── RM40.MSG ├── RM34.MSG ├── RM51.CG ├── RM56.CG ├── RM45.MSG ├── RM33.CG ├── RM9.CG ├── RM16.MSG ├── VIEWS.H ├── RM12.MSG ├── RM43.MSG ├── RM25.MSG ├── RM21.MSG ├── RM52.CG ├── RM3.CG ├── RM4.CG ├── RM2.CG ├── RM1.CG ├── RM41.MSG ├── RM53.CG ├── RM31.CG ├── RM42.MSG ├── RM22.MSG ├── RM23.CG ├── RM15.MSG └── RM44.CG /OBJECT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/historicalsource/leisuresuitlarry/HEAD/OBJECT -------------------------------------------------------------------------------- /WORDS.TOK: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/historicalsource/leisuresuitlarry/HEAD/WORDS.TOK -------------------------------------------------------------------------------- /RM20.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 20 -- rmBoss 2 | [ "Leisure-Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | %message 1 7 | "Sorry, but you'll have to restore your game; 8 | when you panic, I forget everything!" 9 | 10 | -------------------------------------------------------------------------------- /RM58.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 58 -- lgcSlots 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | 7 | %message 1 8 | "Bet is $%v200.00 You have $%v90.00" 9 | 10 | %message 4 11 | "Congratulations, you've broken the bank! 12 | This casino has a limit of $250.00 per person, and you've reached it. 13 | No more for you, Larry!" 14 | 15 | -------------------------------------------------------------------------------- /RM19.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 19 -- rmSunrise 2 | [ "Leisure-Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | %message 1 7 | "Oh, no!\n\n 8 | Stepping outside, you see the sun rising in the east. 9 | Glancing at your watch, you realize the terrible truth..." 10 | 11 | %message 2 12 | "...your night in Sierra World is over, 13 | and (technically speaking) you're still..." 14 | 15 | %message 3 16 | "a" 17 | 18 | %message 4 19 | "\n\n 20 | VIRGIN!!!\n\n" 21 | 22 | -------------------------------------------------------------------------------- /RM9.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 9 -- rmDarkAlley 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | 7 | %message 1 8 | "Larry, when are you gonna learn to stay out of those dark alleys!!" 9 | 10 | %message 2 11 | "" 12 | 13 | %message 3 14 | "\"Hey guys!! 15 | He's screwed up again! 16 | Dump this one down the tubes, and get him another body!\"" 17 | 18 | %message 4 19 | "Since you're dead, why are you talking?? Just hang on for the ride." 20 | 21 | %message 5 22 | "It appears he wants something -- YOU! Get out of here!" 23 | 24 | -------------------------------------------------------------------------------- /COLORS.H: -------------------------------------------------------------------------------- 1 | [ 2 | [ colors.h 3 | [ 4 | [ IBM COLOR DEFINES 5 | [ 6 | [ Sunday, February 22, 1987 at 02:31 p.m. 7 | [ 8 | 9 | 10 | 11 | %define BLACK 0 12 | %define BLUE 1 13 | %define GREEN 2 14 | %define CYAN 3 15 | %define RED 4 16 | %define MAGENTA 5 17 | %define BROWN 6 18 | %define WHITE 7 19 | %define GREY 8 20 | %define GRAY 8 21 | %define LIGHT_BLUE 9 22 | %define LIGHT_GREEN 10 23 | %define LIGHT_CYAN 11 24 | %define LIGHT_RED 12 25 | %define LIGHT_MAGENTA 13 26 | %define YELLOW 14 27 | %define LIGHT_WHITE 15 28 | 29 | -------------------------------------------------------------------------------- /RM56.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 56 -- lgcBlackjack 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | 7 | %message 1 8 | "Bet is $%v226.00 You have $%v90.00" 9 | 10 | %message 2 11 | "Bet is $%v225.00 You have $%v90.00" 12 | 13 | %message 3 14 | "Bet is $%v255.00 You have $%v90.00" 15 | 16 | %message 4 17 | "Congratulations, you've broken the bank. 18 | This casino has a limit of $250.00 per person, and you've reached it. 19 | No more for you, Larry!" 20 | 21 | %message 5 22 | "Dealer=%v222 Player=%v223 Split=%v224 " 23 | 24 | -------------------------------------------------------------------------------- /IV_NAMES.H: -------------------------------------------------------------------------------- 1 | [ 2 | [ iv_names.h 3 | [ 4 | [ LEISURE SUIT LARRY IN THE LAND OF THE LOUNGE LIZARDS INVENTORY OBJECT NAMES 5 | [ 6 | [ Thursday, May 14, 1987 at 1:20 p.m. 7 | [ 8 | 9 | 10 | 11 | %define Wallet 1 12 | %define BreathSpray 2 13 | %define PocketLint 3 14 | %define Watch 4 15 | %define Apple 5 16 | %define Ring 6 17 | %define Whiskey 7 18 | %define RemoteControl 8 19 | %define Rose 9 20 | %define Rubber 10 21 | %define UsedRubber 11 22 | %define Candy 12 23 | %define Doll 13 24 | %define DiscoPass 14 25 | %define PocketKnife 15 26 | %define Wine 16 27 | %define Magazine 17 28 | %define Hammer 18 29 | %define Pills 19 30 | %define Rope 20 31 | -------------------------------------------------------------------------------- /SLOTS.H: -------------------------------------------------------------------------------- 1 | [ 2 | [ slots.h 3 | [ 4 | [ LEISURE SUIT LARRY IN THE LAND OF THE LOUNGE LIZARDS BLACKJACK HEADER 5 | [ 6 | [ Thursday, March 5, 1987 at 10:49 a.m. 7 | [ 8 | 9 | 10 | 11 | %object aLights 1 12 | %object aWheel1 2 13 | %object aWheel2 3 14 | %object aWheel3 4 15 | %object aWinner 13 [ Animated objects. 16 | 17 | 18 | %flag readyToLeave 200 19 | %flag readyToPlay 201 20 | %flag pulledHandle 202 21 | %flag showOdds 203 22 | 23 | 24 | %var bet 200 25 | %var wheel1 201 26 | %var wheel2 202 27 | %var wheel3 203 28 | %var multiple 204 29 | %var winnings 205 30 | %var winnerCycles 206 31 | %var function 207 32 | #define PAY_WINNER 1 33 | #define UPDATE_STATUS 2 34 | -------------------------------------------------------------------------------- /IV_VIEWS.H: -------------------------------------------------------------------------------- 1 | [ 2 | [ iv_views.h 3 | [ 4 | [ LEISURE SUIT LARRY IN THE LAND OF THE LOUNGE LIZARDS INVENTORY VIEWS 5 | [ 6 | [ Saturday, April 4, 1987 at 12:55 p.m. 7 | [ Thursday, May 14, 1987 at 1:20 p.m. 8 | [ 9 | 10 | 11 | 12 | %view ivWallet 101 13 | %view ivBreathSpray 102 14 | %view ivPocketLint 103 15 | %view ivWatch 104 16 | %view ivApple 105 17 | %view ivRing 106 18 | %view ivWhiskey 107 19 | %view ivRemoteControl 108 20 | %view ivRose 109 21 | %view ivRubber 110 22 | %view ivUsedRubber 111 23 | %view ivCandy 112 24 | %view ivDoll 113 25 | %view ivDiscoPass 114 26 | %view ivPocketKnife 115 27 | %view ivWine 116 28 | %view ivMagazine 117 29 | %view ivHammer 118 30 | %view ivPills 119 31 | %view ivRope 120 32 | -------------------------------------------------------------------------------- /RM8.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 8 -- rmWorkshop 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | 7 | %message 1 8 | "Hey! You're not alive yet." 9 | 10 | %message 2 11 | "" 12 | 13 | %message 3 14 | "The Sierra adventure team races to your rescue, 15 | dumping your worthless, leisure suit- clad hulk into their giant bit bucket, 16 | for recycling into future games. 17 | Their underground workshop is humming with activity. 18 | This is \"Where Adventurers Are Made, Not Born!\"" 19 | 20 | %message 4 21 | "Commander Cavin quickly assembles a replacement Larry, 22 | while subordinates repair players damaged in other Sierra adventure games." 23 | 24 | %message 5 25 | "With your new body and ego, you are returned to 26 | fight again the battles of Lost Wages!\n\n 27 | (Now you know what we have to go through 28 | every time you press that \"Restart\" key.)" 29 | 30 | -------------------------------------------------------------------------------- /RM33.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 33 -- rmOutsideChapel 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | 7 | %message 1 8 | "You are outside a romantic, quickie marriage parlor." 9 | 10 | %message 2 11 | "It's a door. Try opening it." 12 | 13 | %message 3 14 | "Funny. No one knocks back." 15 | 16 | %message 4 17 | "It's a guy wearing a trench coat." 18 | 19 | %message 5 20 | "It's obvious he doesn't have much to hide!" 21 | 22 | %message 6 23 | "You greet the stranger in the trench coat." 24 | 25 | %message 7 26 | "\"Hey, sonny! Come over here!!\" he replies." 27 | 28 | %message 8 29 | "\"Say,\" you ask him. \"By any chance, is your name Shorty?\"" 30 | 31 | %message 9 32 | "You have better things to do than mess around with this pervert." 33 | 34 | %message 10 35 | "It's there to keep you from going that way!" 36 | 37 | %message 11 38 | "Strange, you think." 39 | 40 | %message 12 41 | "He doesn't reply." 42 | 43 | -------------------------------------------------------------------------------- /RM58.CG: -------------------------------------------------------------------------------- 1 | [logics for room 58 -- lgcSlots 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | %include "rm58.msg" 6 | %include "gamedefs.h" 7 | %include "slots.h" 8 | 9 | 10 | 11 | if (function == PAY_WINNER) 12 | { 13 | winnings = bet; 14 | MulV( winnings, multiple); 15 | work = 250; 16 | work -= winnings; 17 | 18 | if (work > dollars) 19 | { 20 | dollars += winnings; 21 | } 22 | else 23 | { 24 | winnings = 250; 25 | winnings -= dollars; 26 | dollars = 250; 27 | Print( 4); 28 | Set( readyToLeave); 29 | } 30 | 31 | function = UPDATE_STATUS; [ Auto update. 32 | } 33 | 34 | 35 | if (function == UPDATE_STATUS) 36 | { 37 | if (monitorType == MONO) 38 | { 39 | ClearLines( 24, 24, BG_COLOR); 40 | Display( 24, 0, 1); 41 | } 42 | else 43 | { 44 | ClearLines( 21, 21, BG_COLOR); 45 | Display( 21, 0, 1); 46 | } 47 | } 48 | 49 | 50 | 51 | [***** 52 | :exit 53 | [***** 54 | 55 | function = 0; 56 | 57 | -------------------------------------------------------------------------------- /RM20.CG: -------------------------------------------------------------------------------- 1 | [logics for room 20 -- rmBoss 2 | [ "Leisure-Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | %include "rm20.msg" 6 | %include "gamedefs.h" 7 | 8 | 9 | if (initLog) 10 | { 11 | PreventInput(); 12 | Reset( enableMenu); 13 | Set( handsOff); 14 | Reset( soundOn); 15 | 16 | Random( 1, 3, work); 17 | if (work == 1) {picture = rmBoss;} 18 | if (work == 2) {picture = picBoss2;} 19 | if (work == 3) {picture = picBoss3;} 20 | 21 | LoadPic( picture); 22 | DrawPic( picture); 23 | DiscardPic( picture); 24 | 25 | Reset( clockOn); 26 | StatusLineOff(); 27 | ShowPic( ); 28 | 29 | Return( ); 30 | 31 | } [ end initLOG 32 | 33 | 34 | 35 | [***** 36 | :handleInput 37 | [***** 38 | 39 | if (haveInput) 40 | { 41 | Print( 1); 42 | RestoreGame(); 43 | } 44 | 45 | 46 | [***** 47 | :noInput 48 | [***** 49 | 50 | Reset( clockOn); 51 | StatusLineOff(); 52 | 53 | if (HaveKey()) 54 | { 55 | Print( 1); 56 | RestoreGame(); 57 | } 58 | 59 | [***** 60 | :exit [ test for leaving the room 61 | [***** 62 | 63 | -------------------------------------------------------------------------------- /RM31.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 31 -- rmInsideCasino 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | 7 | %message 1 8 | "You are in the casino. 9 | There are slot machines to the right, and blackjack tables to the left. 10 | This place is a gambler's paradise!" 11 | 12 | %message 2 13 | "The front blackjack table is presently unoccupied." 14 | 15 | %message 3 16 | "The rear blackjack table is rather busy now. Try the front table." 17 | 18 | %message 4 19 | "Move to an unoccupied slot machine first." 20 | 21 | %message 5 22 | "At least one person appears to be winning at the slot machines. 23 | Perhaps you could too." 24 | 25 | %message 6 26 | "They appear to be having a great time. Perhaps you'd like to join them?" 27 | 28 | %message 7 29 | "Move to a slot machine and put in some money. 30 | Or, find an empty blackjack table and sit down." 31 | 32 | %message 8 33 | "You could, if you'd sit down first." 34 | 35 | %message 9 36 | "Don't interrupt them; they're trying to win." 37 | 38 | %message 10 39 | "Casino dealers are notoriously silent." 40 | 41 | -------------------------------------------------------------------------------- /OBJECT.TXT: -------------------------------------------------------------------------------- 1 | [ 2 | [ object.txt 3 | [ 4 | [ LEISURE-SUIT LARRY IN THE LAND OF THE LOUNGE LIZARDS OBJECT TABLES 5 | [ 6 | [ Thursday, May 14, 1987 at 11:06 a.m. 7 | [ 8 | 9 | 10 | 11 | [************* ANIMATED OBJECTS 12 | [.numani # of animated objects 13 | 14 | .numani 16 15 | 16 | 17 | 18 | [************* INVENTORY OBJECTS 19 | [.obj object#, "Status screen name", room # at beginning of game 20 | 21 | .obj 1, "Wallet", 255 22 | .obj 2, "Breath Spray", 255 23 | .obj 3, "Pocket Lint", 255 24 | .obj 4, "Wrist Watch", 255 25 | .obj 5, "Apple", 32 26 | .obj 6, "Diamond Ring", 13 27 | .obj 7, "Glass of Whiskey", 15 28 | .obj 8, "Remote Control", 14 29 | .obj 9, "Rose", 14 30 | .obj 10, "Prophylactic", 21 31 | .obj 11, "Used Prophylactic", 0 32 | .obj 12, "Box of Candy", 17 33 | .obj 13, "Inflatable Doll", 45 34 | .obj 14, "Disco Pass", 35 35 | .obj 15, "Pocket Knife", 22 36 | .obj 16, "Bottle of Wine", 21 37 | .obj 17, "\"Jugs\" Magazine", 21 38 | .obj 18, "Hammer", 12 39 | .obj 19, "Bottle of Pills", 12 40 | .obj 20, "Rope", 41 41 | -------------------------------------------------------------------------------- /RM1.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 1 -- rm.titles 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | 7 | [ %message 1 "by Al Lowe & Mark Crowe" 8 | %message 2 "Adventure Game Development System" 9 | %message 3 "(C) 1987 by Sierra On-Line, Inc." 10 | [ | | | | | | | | | 11 | [ 0 5 10 15 20 25 30 35 39 12 | 13 | 14 | 15 | [--------------------------------------------------------------------------] 16 | 17 | 18 | [ %message 11 "Lots of other stuff was done by:" 19 | [ %message 12 "Al Lowe" 20 | [ %message 13 "Mark Crowe" 21 | [ 22 | [ %message 21 "Quality Assurance by:" 23 | [ %message 22 "Larry Weissenborn" 24 | [ %message 23 "Bob Ballew" 25 | [ %message 24 "Russ TrueLove" 26 | [ %message 25 "Kim Covert" 27 | [ %message 26 "Linda Bye" 28 | [ 29 | [ %message 31 "Packaging and Documentation by:" 30 | [ %message 32 "Mark Crowe" 31 | [ %message 33 "John Williams" 32 | [ 33 | [ %message 41 "Inspired by a Recent Wet Dream of:" 34 | [ %message 42 "Ken Williams" 35 | [ | | | | | | | | | 36 | [ 0 5 10 15 20 25 30 35 39 37 | 38 | -------------------------------------------------------------------------------- /RM50.CG: -------------------------------------------------------------------------------- 1 | [logics for room 50 -- initLog for room 0 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | %include "gamedefs.h" 6 | 7 | 8 | 9 | if (monitorType != MONO) 10 | { 11 | ClearLines( 22, 22, BG_COLOR); 12 | ClearLines( 24, 24, BG_COLOR); 13 | } 14 | 15 | if (!forceAtest) [ activate close to shipping 16 | { 17 | Reset( debugging); 18 | Reset( enableTrace); 19 | } 20 | 21 | if (demo) 22 | { 23 | PreventInput(); 24 | } 25 | 26 | AnimateObj( ego); 27 | StepSize( ego, egoStepSize); 28 | StepTime( ego, egoStepTime); 29 | CycleTime( ego, egoCycleTime); 30 | GetPosn( ego, egoX, egoY); 31 | ObserveBlocks( ego); 32 | ObserveObjs( ego); 33 | ObserveHorizon( ego); 34 | 35 | egoLocation = 0; 36 | secondsInRoom = 0; 37 | passInRoom = 0; 38 | newRoom = 0; 39 | script = 0; 40 | scriptCycles = 0; 41 | scriptTimer = 0; 42 | 43 | Reset( outOfMemory); 44 | Reset( survivableFall); 45 | Reset( egoArrived); 46 | Reset( scriptDone); 47 | Reset( musicDone); 48 | Reset( soundDone); 49 | Reset( noScript); 50 | 51 | work = 255; 52 | :mrLooper [All that remains of "Reset the world" 53 | ResetV( work); 54 | work @= 0; 55 | --work; 56 | if (work > 199) 57 | { 58 | goto mrLooper; 59 | } 60 | -------------------------------------------------------------------------------- /CONTRLRS.H: -------------------------------------------------------------------------------- 1 | [ 2 | [ contrlrs.h 3 | [ 4 | [ STANDARD AGI KEY CONTROLLERS 5 | [ 6 | [ Friday, May 15, 1987 at 0:47 a.m. 7 | [ 8 | 9 | 10 | 11 | %define cHelp 1 [ Function keys 12 | %define cSoundToggle 2 13 | %define cEchoLine 3 14 | %define cF4 4 15 | %define cSave 5 16 | %define cF6 6 17 | %define cRestore 7 18 | %define cF8 8 19 | %define cRestart 9 20 | %define cSpeed 10 21 | 22 | %define cStatus 11 [ Control keys 23 | %define cInitJoy 12 24 | %define cToggleMonitor 13 25 | %define cCancelLine 14 26 | 27 | %define cDebug 15 [ Alt keys 28 | %define cShowEgo 16 29 | %define cShowObj 17 30 | %define cShowMem 18 31 | %define cObjInfo 19 32 | %define cShowPriority 20 33 | %define cSkipTest 21 34 | %define cQuit 22 35 | 36 | %define cMenu 23 [ Menu stuff 37 | %define cDummy 24 38 | %define cAbout 25 39 | %define cCalculator 26 40 | %define cPuzzle 27 41 | %define cBodilyFunction 28 42 | %define cClock 29 43 | %define cPause 30 44 | %define cSpeedSlow 31 45 | %define cSpeedNormal 32 46 | %define cSpeedFast 33 47 | %define cSpeedFastest 34 48 | 49 | %define cInvNumbers 35 [ Debug stuff 50 | %define cXY 36 51 | %define cGimme 37 52 | 53 | %define cCrescendo 38 [ Tandy odds & ends. 54 | %define cDecrescendo 39 55 | 56 | %define cVersion 40 57 | %define cBoss 41 58 | 59 | -------------------------------------------------------------------------------- /RM44.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 44 -- rmLivingRoom 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | 7 | %message 1 8 | "This is the living room of the hotel's penthouse suite. 9 | Obviously, the hotel spared no expense here. 10 | There's a fireplace on the wall to the south. 11 | No one is here, but you hear a gurgling noise coming from somewhere." 12 | 13 | %message 2 14 | "You wonder how they can make those gas logs look so real!" 15 | 16 | %message 3 17 | "There is a button on either side of the elevator." 18 | 19 | %message 4 20 | "The bear looks back at you with a glassy-eyed stare, 21 | possibly because his eyes are made of glass!" 22 | 23 | %message 5 24 | "It's another one of those boring works of modern art; 25 | this one is signed \"Mark Crowe.\"" 26 | 27 | %message 6 28 | "Yep. It's a sofa!" 29 | 30 | %message 7 31 | "From this height, the view of the city is spectacular." 32 | 33 | %message 8 34 | "The elevator doors are already open. Just walk inside." 35 | 36 | %message 9 37 | "Instead of sitting, you should investigate that gurgling sound you hear." 38 | 39 | %message 10 40 | "There's a sound coming from outside." 41 | 42 | %message 11 43 | "The door to the terrace is already open." 44 | 45 | %message 12 46 | "You find nothing but dust." 47 | 48 | %message 13 49 | "Tired already?" 50 | 51 | %message 14 52 | "You can't. It's screwed to the wall." 53 | 54 | -------------------------------------------------------------------------------- /RM37.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 37 -- rmSlots 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | 7 | %message 1 8 | "\n 9 | Press F4 to decrease bet.\n\n 10 | Press F6 to increase bet.\n\n 11 | Press F8 to pull handle.\n 12 | " 13 | 14 | %message 2 15 | "\n 16 | RESULTS PAYS\n 17 | |--------------------------------|\n 18 | | Cherry | | | 1 |\n 19 | | Cherry | Cherry | | 2 |\n 20 | | Cherry | Cherry | Cherry | 4 |\n 21 | |--------|--------|--------|-----|\n 22 | | Orange | Orange | | 2 |\n 23 | | Orange | Orange | Orange | 4 |\n 24 | |--------|--------|--------|-----|\n 25 | | Seven | Seven | | 3 |\n 26 | | Seven | Seven | Seven | 5 |\n 27 | |--------|--------|--------|-----|\n 28 | | Bar | Bar | Bar | 7 |\n 29 | |--------------------------------|\n 30 | " 31 | 32 | %message 3 33 | "You insert zero dollars, and pretend to pull the handle." 34 | 35 | %message 4 36 | "You win zero dollars!" 37 | 38 | %message 5 39 | "Is this your idea of a good time?" 40 | 41 | %message 6 42 | "This machine has a $20.00 limit." 43 | 44 | %message 7 45 | "You can't bet more than you have." 46 | 47 | %message 8 48 | "It's an electronic slot machine. 49 | When you tire of playing, just type \"stop.\"" 50 | 51 | %message 9 52 | "" 53 | 54 | %message 10 55 | "" 56 | 57 | %message 11 58 | "Don't be in such a hurry!" 59 | 60 | %message 12 61 | "Slow down!" 62 | 63 | %message 13 64 | "What are you? A \"Type-A\" personality?" 65 | 66 | -------------------------------------------------------------------------------- /RM54.CG: -------------------------------------------------------------------------------- 1 | [logics for room 54 -- disk-based error handling 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | #include "sysdefs.h" 6 | 7 | 8 | %message 1 "DiscardView(%v18):%m30"; 9 | %message 2 "SetView(%v18,_):%m26"; 10 | %message 3 "SetView(_,%v18):%m30"; 11 | %message 4 "SetLoop(%v18,_):%m26"; 12 | %message 5 "SetLoop(%v18,_):\nBad loop #.%m25"; 13 | %message 6 "SetLoop(%v18,_):%m31"; 14 | %message 7 "SetCel(%v18,_):%m26"; 15 | %message 8 "SetCel(%v18,_):\nBad cel #.%m25"; 16 | %message 9 "Sound(%v18):\nSound not loaded.%m25"; 17 | %message 10 "SetCel(%v18,_):%m31"; 18 | %message 11 "Script buffer overflow.\nMaximum size = %v18%m25"; 19 | %message 12 "Erase(%v18):%m26"; 20 | %message 13 "AnimateObj(%v18):%m26"; 21 | %message 14 "Print(%v18): no message%m25"; 22 | %message 15 "Bad test: %v18%m25"; 23 | %message 16 "Bad action: %v18%m25"; 24 | %message 17 "StartUpdate(%v18):%m28"; 25 | %message 18 "DrawPic(%v18):%m32"; 26 | %message 19 "Draw(%v18):%m26"; 27 | %message 20 "Draw(%v18):%m31"; 28 | %message 21 "DiscardPic(%v18):%m32"; 29 | %message 22 "SetScanStart() already active\nin logic %v18.%m25"; 30 | %message 23 "Get(%v18) or Put(%v18):%m26"; 31 | 32 | %message 24 "" 33 | 34 | %message 25 "\nPress ESC to quit."; 35 | %message 26 "%m27.%m25"; [Bad object number 36 | %message 27 "\nBad object number"; 37 | %message 28 "%m27 or object not drawn.%m25" [ " " " or object not drawn 38 | %message 29 "\nView not "; 39 | %message 30 "%m29loaded.%m25"; [View not loaded 40 | %message 31 "%m29set.%m25"; [View not set 41 | %message 32 "Picture not loaded.%m25"; 42 | 43 | 44 | PrintV( errorNumber); 45 | Quit(1); 46 | -------------------------------------------------------------------------------- /RM6.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 6 -- rmAgeTest 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | 7 | %message 1 8 | "Warning:\n\n\"Leisure Suit Larry in the Land of the Lounge Lizards\" 9 | contains some elements of plot which may not be 10 | considered appropriate for some children." 11 | 12 | %message 2 13 | "How old are you? " 14 | 15 | %message 3 16 | "To verify you are really %v209, 17 | please answer five simple questions." 18 | 19 | %message 4 20 | "Sorry.\n\n 21 | This game can only be played by adults, or with an adult.\n\n 22 | Please find an adult, come back, and try again." 23 | 24 | %message 5 25 | "Oops. You blew that one!\n\n 26 | If you miss another, you can't possibly be %v209." 27 | 28 | %message 6 29 | "You're a kid!!\n\n 30 | Shame on you for trying to deceive a friendly game like this!\n\n 31 | Please play again when you're older." 32 | 33 | %message 7 34 | "Please answer a, b, c, or d: " 35 | 36 | %message 8 37 | "Correct." 38 | 39 | %message 9 40 | "So far, so good.\n\n 41 | Now for the final question." 42 | 43 | %message 10 44 | " Thank you.\n\n 45 | And now, slip into your leisure suit and prepare to enter the 46 | \"Land of the Lounge Lizards\" with \"Leisure Suit Larry!\"" 47 | 48 | %message 11 49 | " Warning!\n\n 50 | This game may be hazardous to those with heart conditions!" 51 | 52 | %message 12 53 | "No, you're not!" 54 | 55 | %message 13 56 | "Question #%v208. Correct answer is %v211." 57 | 58 | %message 14 59 | "a" 60 | 61 | %message 15 62 | "b" 63 | 64 | %message 16 65 | "c" 66 | 67 | %message 17 68 | "d" 69 | 70 | %message 18 71 | "%v62 cycles in %v63 seconds" 72 | 73 | -------------------------------------------------------------------------------- /RM11.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 11 -- rmOutsideBar 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | 7 | %message 1 8 | "You are outside Lefty's bar. Isn't it wonderful what can be done 9 | with a little neon?" 10 | 11 | %message 2 12 | "There is a sign on that utility pole." 13 | 14 | %message 3 15 | "It appears that the hooker gave you a little more than you bargained for!" 16 | 17 | %message 4 18 | "Considering the looks of this place, you decide that next time you'd be 19 | better off to spend a little more money on your computer games!" 20 | 21 | %message 5 22 | "While life may be possible, it is no longer worth living." 23 | 24 | %message 6 25 | "The windows are too dirty to see through." 26 | 27 | %message 7 28 | "Nah. Lefty would probably break both your legs!" 29 | 30 | %message 8 31 | "Nice tuck and roll job, eh?" 32 | 33 | %message 9 34 | "\"Welcome\"" 35 | 36 | %message 10 37 | "Amazed by your own cleverness, you lift the door mat and discover..." 38 | 39 | %message 11 40 | "...absolutely nothing!" 41 | 42 | %message 12 43 | "(What did you expect? A key?)" 44 | 45 | %message 13 46 | "You can't. The door is securely locked. " 47 | 48 | %message 14 49 | "Lefty's closes at 3:00 a.m." 50 | 51 | %message 15 52 | "\"STOP, PERVERT!!!\" shouts the cop.\n\n 53 | \"I wonder who he's yelling at,\" you think." 54 | 55 | %message 16 56 | "\"Caught you, pervert!\" the cop shouts. 57 | \"We don't like people exposing themselves around this town, 58 | especially wearing one of those!\"" 59 | 60 | %message 17 61 | "Next time, if you insist on wearing your \"lubber\" in public, 62 | you should at least zip your fly." 63 | 64 | %message 18 65 | "He appears to be chasing someone!" 66 | 67 | -------------------------------------------------------------------------------- /RM35.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 35 -- rmElevators 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | 7 | %message 1 8 | "The entrance to the Cabaret Lounge is to the right, by the telephone. 9 | A glass elevator awaits you. 10 | An ashtray is in front of the planter." 11 | 12 | %message 2 13 | "You are inside the glass elevator. 14 | Your favorite kind of music is playing. 15 | You hum along, insipidly." 16 | 17 | %message 3 18 | "There are buttons labeled \"one\" through \"eight.\"" 19 | 20 | %message 4 21 | "Type a word, like \"one\" or \"two.\"" 22 | 23 | %message 5 24 | "Whee!" 25 | 26 | %message 6 27 | "You know, the people on those plants look like ants from up here." 28 | 29 | %message 7 30 | "\"strangers in the night, da da da dee da...\"" 31 | 32 | %message 8 33 | "Those ARE ants, you fool; we haven't left the ground yet!" 34 | 35 | %message 9 36 | "Wasn't that a fast ride!" 37 | 38 | %message 10 39 | "They're of your favorite species: polyvinyl chloride. 40 | There is an ashtray in front of the planter." 41 | 42 | %message 11 43 | "You carefully remove the card from the cancerous remains in the ashtray. 44 | It's a valid pass to the disco!" 45 | 46 | %message 12 47 | "There's some kind of card in the ashtray." 48 | 49 | %message 13 50 | "Yuck!" 51 | 52 | %message 14 53 | "Where?" 54 | 55 | %message 15 56 | "The doors close whenever you choose a floor." 57 | 58 | %message 16 59 | "Go inside and push a button." 60 | 61 | %message 17 62 | "It's of no interest." 63 | 64 | %message 18 65 | "The ashtray is of no further interest since you have the card." 66 | 67 | %message 19 68 | "It's not ringing." 69 | 70 | %message 20 71 | "All the pages are torn out." 72 | 73 | %message 21 74 | "Somebody filled the coin slot with chewing gum." 75 | 76 | %message 22 77 | "You can't. It's so firmly embedded, nothing will get it out. 78 | You'll just have to find another telephone." 79 | 80 | -------------------------------------------------------------------------------- /RM32.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 32 -- rmOutsideCasino 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | 7 | %message 1 8 | "It's a casino!" 9 | 10 | %message 2 11 | "\"Hello, sir. 12 | Would you help out a poor unfortunate by purchasing an apple?\"" 13 | 14 | %message 3 15 | "\"The price is reasonable: only $1.00.\"" 16 | 17 | %message 4 18 | "\"I take that as a 'No,'\" he says pleasantly. 19 | \"Very well then, perhaps some other time.\"" 20 | 21 | %message 5 22 | "He's yet another poor soul who donated his everything so the shrine 23 | of Lost Wages could continue to flourish." 24 | 25 | %message 6 26 | "\"My pleasure was always the slot machines,\" he says. 27 | \"Say, are we going to stand here and chitchat all night, 28 | or am I going to make a sale?\"" 29 | 30 | %message 7 31 | "\"Why, Steve. Nice of you to ask,\" he responds." 32 | 33 | %message 8 34 | "\"Well, my friends call me 'Woz,' but I don't consider you a friend.\"" 35 | 36 | %message 9 37 | "\"Thank you very much, sir. 38 | Please call again, whenever you are in the neighborhood,\" 39 | says the man. And with that, he walks away into the night." 40 | 41 | %message 10 42 | "\"Hey, come back!\" says the man. 43 | \"Are you sure you don't want to buy an apple?\"" 44 | 45 | %message 11 46 | "\"You know,\" says the man, peering deep into his barrel, 47 | \"I'm all out! But thank you for your continued interest.\"" 48 | 49 | %message 12 50 | "\"Ok, be that way!\" he says, and disappears into the night." 51 | 52 | %message 13 53 | "\"Oh no, you don't!\" exclaims the man." 54 | 55 | %message 14 56 | "\"Say, you really did lose everything,\" you tell the man." 57 | 58 | %message 15 59 | "They are nicely manicured, but of no help to you." 60 | 61 | %message 16 62 | "They're automatic. Get closer." 63 | 64 | %message 17 65 | "Pretty flashy, eh?" 66 | 67 | %message 18 68 | "\"Apples. Apples! APPLES for sale!!\"" 69 | 70 | %message 19 71 | "\"Thanks a lot. See you later, pal.\"" 72 | 73 | %message 20 74 | "Isn't it wonderful what can be done with a few light bulbs?" 75 | 76 | -------------------------------------------------------------------------------- /RM57.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 57 -- lgcStreet 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | 7 | %message 1 8 | "You know, the traffic here is really a killer! You should forget about 9 | crossing these streets!" 10 | 11 | %message 2 12 | "\"YO!!\n\nTAXI!!!\"" 13 | 14 | %message 3 15 | "Vowing to hold your breath forever, 16 | you enter this miserable excuse for public transportation." 17 | 18 | %message 4 19 | "It's not very clean." 20 | 21 | %message 5 22 | "It's not very new." 23 | 24 | %message 6 25 | "(And those are its good points!)" 26 | 27 | %message 7 28 | "Look out! Here he comes again!" 29 | 30 | %message 8 31 | "Obviously, he thinks you're a fire plug." 32 | 33 | %message 9 34 | "Dogs like that make you want to keep moving." 35 | 36 | %message 10 37 | "\"I can't wait all day, bub!\"" 38 | 39 | %message 11 40 | "\"You'll not ride with me again!\"" 41 | 42 | %message 12 43 | "" 44 | 45 | %message 13 46 | "" 47 | 48 | %message 14 49 | "Sick-o!" 50 | 51 | %message 15 52 | "After all he's done for you?" 53 | 54 | %message 16 55 | "He presently smells quite bad, although still better than you." 56 | 57 | %message 17 58 | "\"TAXI\n 59 | STAND\"" 60 | 61 | %message 18 62 | "It's dark. Real dark." 63 | 64 | %message 19 65 | "You'd better get out of the street first." 66 | 67 | %message 20 68 | "\"BEEP\n 69 | BEEP!\"" 70 | 71 | %message 21 72 | "Thousands of cars stream past, just below the edge of your screen." 73 | 74 | %message 22 75 | "Trust me, they're there!" 76 | 77 | %message 23 78 | "It smells like an old cab." 79 | 80 | %message 24 81 | "Isn't it funny how there's so little traffic?" 82 | 83 | %message 25 84 | "The glow of the city lights obliterate the stars." 85 | 86 | %message 26 87 | "As you bend over to do so, his bare teeth convince you otherwise." 88 | 89 | %message 27 90 | "You shinny up the pole, read the sign, and come right back down." 91 | 92 | %message 28 93 | "Who'd want him?" 94 | 95 | %message 29 96 | "" 97 | 98 | %message 30 99 | "Where?" 100 | 101 | %message 31 102 | "There is a sign on the pole." 103 | 104 | %message 32 105 | "" 106 | 107 | -------------------------------------------------------------------------------- /RM14.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 14 -- rmHallway 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | 7 | %message 1 8 | "You are in a dimly lit hallway. 9 | The paint peeling off the walls gives the cockroaches something to watch. 10 | An old table is pushed against the west wall. 11 | A filthy drunk sits on the filthy floor, leaning against the filthy wall." 12 | 13 | %message 2 14 | "\"Jeeezz! Somethin' die in there??\"" 15 | 16 | %message 3 17 | "You can remember when that table held a rose." 18 | 19 | %message 4 20 | "You find nothing but odor." 21 | 22 | %message 5 23 | "\"Hiya shhhhonny. How's 'bout you 'n' me havin' a lil' drink?\"" 24 | 25 | %message 6 26 | "Glug, glug, glug, glug, glug." 27 | 28 | %message 7 29 | "Slurp! \"Ahhhh! That did hit the ol' spot!\"" 30 | 31 | %message 8 32 | "\"Ya know, ya mus' be ma only frien' in the whole world! 33 | Shhoooo, I'm gonna give ya my only posshhess... hhic!" 34 | 35 | %message 9 36 | "He's a poor little lamb, who has lost his way..." 37 | 38 | %message 10 39 | "...and also his bladder control!" 40 | 41 | %message 11 42 | "There is a single, lovely, long-stemmed, 43 | red rose lying incongruously on the table." 44 | 45 | %message 12 46 | "\"Wadda ya tryin' to do; make me a soprano??\"" 47 | 48 | %message 13 49 | "\"Geeze! Them pointy-toed shoes hurt!\"" 50 | 51 | %message 14 52 | "You generously hand him a dollar." 53 | 54 | %message 15 55 | "\"Shhaay, thanksh buddy! How 'bout sshhom'ore?\"" 56 | 57 | %message 16 58 | "He responds, \"Ya know, whad I really need is a good, sshhtiff belt!\"" 59 | 60 | %message 17 61 | "You spend hours carefully examining every brick. 62 | You find nothing." 63 | 64 | %message 18 65 | "You have no drink to give him." 66 | 67 | %message 19 68 | "There's no one selling anything here. Try the bartender out front." 69 | 70 | %message 20 71 | "He's too drunk to want anything." 72 | 73 | %message 21 74 | "He's beyond help, but thirsty." 75 | 76 | %message 22 77 | "\"...my only posshhess... hhic!" 78 | 79 | %message 23 80 | "\"...all I got in the world.\n\n 81 | What'sha guy like me need witta TV remote control!?\"" 82 | 83 | %message 24 84 | "\"Hey! Wake up!\"" 85 | 86 | %message 25 87 | "Caught ya! Now open the door, 88 | then get your nose out of that manual 89 | and start playing this game the right way!" 90 | 91 | -------------------------------------------------------------------------------- /BJ.H: -------------------------------------------------------------------------------- 1 | [ 2 | [ bj.h 3 | [ 4 | [ LEISURE SUIT LARRY IN THE LAND OF THE LOUNGE LIZARDS BLACKJACK HEADER 5 | [ 6 | [ Wednesday, March 4, 1987 at 11:21 p.m. 7 | [ Sunday, May 31, 1987 at 8:56 p.m. 8 | [ 9 | 10 | 11 | 12 | %object aWinner 13 [ Animated objects. 13 | %object aQuestion 14 14 | %object aCards 15 15 | 16 | 17 | #define CLUBS 152 [ Defines of view numbers. 18 | #define SPADES 153 19 | #define HEARTS 154 20 | #define DIAMONDS 155 21 | #define BLANK_CARD 156 22 | #define CARD_BACK 157 23 | 24 | 25 | %flag pSoftAce 242 [ Flags. 26 | %flag dSoftAce 243 27 | %flag sSoftAce 244 28 | %flag showHelpMessage 245 29 | %flag pBlackjack 246 30 | %flag dBlackjack 247 31 | %flag pDoubledDown 248 32 | %flag sDoubledDown 249 33 | %flag pSixCardWinner 250 34 | %flag sSixCardWinner 251 35 | %flag softAce 252 36 | %flag waitingForInput 253 37 | %flag insured 254 38 | %flag readyToLeave 255 39 | 40 | 41 | %var oldDTotal 216 42 | %var oldPTotal 217 43 | %var oldSTotal 218 44 | %var clueTimer 219 45 | %var work2 220 [ Vars. 46 | %var work3 221 47 | %var dTotal 222 48 | %var pTotal 223 49 | %var sTotal 224 50 | %var sBet 225 51 | %var pBet 226 52 | %var insurance 227 53 | %var winnings 228 54 | %var function 229 [which function to execute in rm56. 55 | #define DRAW_CARD 1 56 | #define ERASE_CARD 2 57 | #define DRAW_FACE_DOWN 3 58 | #define GET_SUIT_VALUE 4 59 | #define PAY_WINNER 5 60 | #define UPDATE_STATUS 6 61 | #define SHOW_TOTALS 7 62 | 63 | %var suit 230 64 | %var value 231 65 | %var card 232 66 | %var cardCount 233 [ How many cards are visible. 67 | %var cardToTest 234 68 | %var currentCard 235 [ Used as a pointer to vars below. 69 | %var handInPlay 236 70 | #define NONE 0 71 | #define PLAYER 1 72 | #define SPLIT 2 73 | #define DEALER 3 74 | #define HAND_DONE 255 75 | 76 | 77 | [ Vars numbered 237 through 254 contain the card values for the 3 hands. 78 | [They are only referenced indirectly, so no defines are needed. 79 | 80 | %define firstCard 237 [ First var containing a card. 81 | %define dFirstCard 237 [ Var numbers of the 82 | %define pFirstCard 243 [ first card of 83 | %define sFirstCard 249 [ each hand. 84 | %define lastCard 254 [ Last var containing a card. 85 | 86 | %var oldBet 255 87 | -------------------------------------------------------------------------------- /RM23.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 23 -- rmOutsideDisco 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | 7 | %message 1 8 | "You are outside a flashy disco. The bouncer does not look happy." 9 | 10 | %message 2 11 | "\"Either show your membership card, or get lost, Scum-Breath!\"" 12 | 13 | %message 3 14 | "\"Good evening, Sir. I'm so sorry I didn't recognize you sooner. 15 | Please, come right in!!\"" 16 | 17 | %message 4 18 | "You whip out your \"borrowed\" membership card, and lay it on him." 19 | 20 | %message 5 21 | "It seems he's uninterested in idle chit-chat, Larry." 22 | 23 | %message 6 24 | "You don't have a membership card!" 25 | 26 | %message 7 27 | "\"We hope you enjoyed your visit tonight, Sir!\"" 28 | 29 | %message 8 30 | "\"Oh, there's no need to do that, Sir!\" says the bouncer." 31 | 32 | %message 9 33 | "\"HALT!!\n\n 34 | I'm sorry, Sir,\" says the bouncer, \"but this is a private club.\"" 35 | 36 | %message 10 37 | "He seems glad to see you leave." 38 | 39 | %message 11 40 | "He's physically well-developed, 41 | but you bet he's not as wise in the ways of women as you are." 42 | 43 | %message 12 44 | "Larry! How could you!" 45 | 46 | %message 13 47 | "You know he'd beat you to a pulp!" 48 | 49 | %message 14 50 | "Gazing up at the storefronts before you, a feeling comes over you. 51 | Surely every one of those windows has a deep, 52 | wonderful story hidden behind it. 53 | There are millions of stories here in Lost Wages, 54 | but you'll never know any of them. 55 | Such is the fate of those who are morally-weak, 56 | but financially-strong." 57 | 58 | %message 15 59 | "(What the hell was that all about????)" 60 | 61 | %message 16 62 | "Gaudy, aren't they?" 63 | 64 | %message 17 65 | "He's far too strong for you, Larry." 66 | 67 | %message 18 68 | "" 69 | 70 | %message 19 71 | "All the stores are locked. But, that disco sure looks inviting." 72 | 73 | %message 20 74 | "\"You can only get a card if you already have a card,\" he laughs, 75 | \"but then, of course, you wouldn't NEED a card.\"" 76 | 77 | %message 21 78 | "\"So, beat it, Chump!\"" 79 | 80 | %message 22 81 | "\"How's about a little green sliding across your palm?\" 82 | you ask the bouncer." 83 | 84 | %message 23 85 | "\"How's about your rear end sliding across the pavement?\" he replies." 86 | 87 | %message 24 88 | "Why does the dog use you, and not it?" 89 | 90 | -------------------------------------------------------------------------------- /RM55.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 55 -- lgc.help 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | [ 0 5 10 15 20 25 30 35 39 21 | [ | | | | | | | | | 22 | 23 | %message 1 "Leisure Suit Larry in" 24 | %message 2 "the Land of the Lounge Lizards" 25 | 26 | 27 | %message 3 "KEYBOARD COMMANDS" 28 | 29 | 30 | 31 | %message 4 "Use arrows or number keys to move" 32 | %message 5 "Larry." 33 | 34 | 35 | %message 6 "Press ESC to use the menus." 36 | %message 7 "Press ENTER to choose from a menu," 37 | %message 8 "or ESC to return to the game." 38 | 39 | 40 | %message 9 "Some menu choices list a function key" 41 | %message 10 "\"shortcut\" beside their name." 42 | 43 | %message 17 "For a Hint Book, call (209) 683-6858."[ 44 | %message 18 " (For a good time, call the author!)" [ 45 | [%message 1 "Leisure Suit Larry in" 46 | [%message 2 "the Land of the Lounge Lizards" 47 | 48 | 49 | %message 21 "JOYSTICK COMMANDS" 50 | 51 | 52 | 53 | %message 22 "Point joystick in desired direction" 54 | %message 23 "to move Larry." 55 | 56 | 57 | %message 24 "Press top button to use the menus." 58 | %message 25 "Press other button to see the status" 59 | %message 26 "screen." 60 | 61 | %message 11 "Press button to use the menus." 62 | %message 12 "Double-click button to see the status" 63 | %message 13 "screen." 64 | 65 | [%message 9 "Some menu choices list a function key" 66 | [%message 10 "\"shortcut\" beside their name." 67 | 68 | 69 | 70 | [%message 1 "Leisure Suit Larry in" 71 | [%message 2 "the Land of the Lounge Lizards" 72 | 73 | 74 | %message 41 "MOUSE COMMANDS" 75 | 76 | 77 | 78 | %message 42 "Put cursor where you want Larry to" [ EVERYBODY! 79 | %message 43 "go, then click the button." [ Mac/Cortland only 80 | %message 48 "go, then click left button." [ non-Apple 81 | %message 44 "Press right button to use menus." [ ST only 82 | %message 49 "Double-click right button to see the" [ ST only 83 | %message 50 "status screen." 84 | %message 45 "Press left button in the window" [ AMIGA only 85 | %message 46 "bar to use menus." [ AMIGA only 86 | 87 | 88 | [%message 9 "Some menu choices list a function key" 89 | [%message 10 "\"shortcut\" beside their name." 90 | 91 | 92 | %message 47 "Press any key to return to game." 93 |  -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Leisure Suit Larry in the Land of the Lounge Lizards 2 | 3 | A collection of script and definition files related to the game "Leisure Suit Larry in the Land of Lounge Lizards" (often simply called "Leisure Suit Larry") created by Al Lowe based on the game "Softporn/Super Stud Adventure" by Chuck Benton. These collection of files are shown to have been generated (or at least, completed) between February and June of 1987. (Lowe at one point mentioned how slow initial sales of Leisure Suit Larry made him feel he had "wasted six months" of his life, so that timeframe for work could be consided the development time). 4 | 5 | This collection contains only the scripts and definitions for Leisure Suit Larry - it will not specifically compile into a game, instead requiring access to a Sierra On-Line engine (Adventure Game Interpreter/AGI) that takes these definitions and drives the games. 6 | 7 | AGI/Adventure Games Interpreter source code is not included in this repository. 8 | 9 | ## Plot 10 | 11 | The protagonist Larry Laffer is a 38-year-old (40-year-old in the 1991 remake) "loser" who lives in his mother's basement and has not yet lost his virginity. Having grown weary of his lonely existence, he decides to visit the resort city of Lost Wages (a parody of "Las Vegas") hoping to experience what he has not lived before and to finally find the woman of his dreams. Larry starts with nothing but an out-of-style 1970s disco-era leisure suit and $94 in his pocket. His quest involves four possible women: a nameless, seedy-looking sex worker; Fawn, a club-goer of low moral fiber; Faith, a receptionist who (true to her name) is faithful to her boyfriend; and Eve, a bathing beauty and Larry's ultimate goal. 12 | 13 | ## More Information on Leisure Suit Larry and the Land of the Lounge Wizards 14 | 15 | * [Wikipedia](https://en.wikipedia.org/wiki/Leisure_Suit_Larry_in_the_Land_of_the_Lounge_Lizards) 16 | * [TVTropes Overview of Cultural References](https://tvtropes.org/pmwiki/pmwiki.php/VideoGame/LeisureSuitLarry1InTheLandOfTheLoungeLizards) 17 | * [Mobygames Overview](https://www.mobygames.com/game/leisure-suit-larry-in-the-land-of-the-lounge-lizards) 18 | * [Complete Video Walkthrough of Leisure Suit Larry](https://www.youtube.com/watch?v=9aPVnZTJ_mY) 19 | * [Adventure Game Interpreter Wikipedia Entry](https://en.wikipedia.org/wiki/Adventure_Game_Interpreter) 20 | * [ScummVM Overview of AGI Games](https://wiki.scummvm.org/index.php/AGI) 21 | * [Feel Like Leisure Suit Larry, by YTCracker Introducing Neals (Music Videp)](https://www.youtube.com/watch?v=b2dvfmD9DvA) 22 | -------------------------------------------------------------------------------- /RM24.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 24 -- rmInsideDisco 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | 7 | %message 1 8 | "The disco is filled with remarkably similar guys, all looking for girls." 9 | 10 | %message 2 11 | "Don't mess around, Larry. Get out there and dance with her!" 12 | 13 | %message 5 14 | "Perhaps they're waiting for Fawn to return." 15 | 16 | %message 6 17 | "Not now, you're busy." 18 | 19 | 20 | %message 8 21 | "\"Come on, Larry. What are you waiting for? 22 | I'm hot to get it on with you!\"" 23 | 24 | 25 | %message 19 26 | "(What are you into this time, Larry?)" 27 | 28 | 29 | %message 21 30 | "\"Either give me some money, or I'll leave without you.\"" 31 | 32 | %message 22 33 | "\"That's it! See ya later, chump!\"" 34 | 35 | 36 | %message 29 37 | "You smile at the girl and say, \"May I join you?\"" 38 | 39 | %message 30 40 | "And, of course she replies, \"Why, am I coming apart?\"" 41 | 42 | %message 31 43 | "(Drum fill)" 44 | 45 | 46 | %message 38 47 | "You are sitting." 48 | 49 | %message 39 50 | "You are standing." 51 | 52 | %message 40 53 | "The dance floor is lit from below with brightly colored lights. 54 | It is presently unused." 55 | 56 | %message 41 57 | "Evidently every guy here has been turned down by the only girl in the place. 58 | Her beauty has them frozen in their tracks." 59 | 60 | %message 42 61 | "There isn't one. This place is run by computer. 62 | (Besides, at this time of night DJ should be home with Chris.)" 63 | 64 | 65 | %message 44 66 | "Perhaps you should sit with her first." 67 | 68 | %message 45 69 | "She might listen to you, if you can establish eye contact." 70 | 71 | 72 | %message 52 73 | "\"Oooh, you're so sweet. I just love " 74 | 75 | %message 53 76 | "Sitting here brings back fond memories of those minutes you spent with 77 | Fawn." 78 | 79 | %message 54 80 | "Your heart just isn't in it." 81 | 82 | %message 55 83 | "You miss her, don't you?" 84 | 85 | %message 56 86 | "Gosh, Larry. Maybe you should have loaned her some money!" 87 | 88 | %message 57 89 | "Funny, this is a dry club." 90 | 91 | 92 | %message 59 93 | "\"Not again. That trip through the ceiling gave me a headache!\"" 94 | 95 | %message 60 96 | "You're being a little too direct again, Larry." 97 | 98 | %message 61 99 | "There's a gorgeous blond sitting at the table, and she's all alone!" 100 | 101 | %message 62 102 | "You can't sit there; she would think you rude to take her chair." 103 | 104 | %message 63 105 | "They seem to be staring at something they all want." 106 | 107 | 108 | %message 66 109 | "You can't sit there; she would think you rude to sit on top of her." 110 | 111 | -------------------------------------------------------------------------------- /RM19.CG: -------------------------------------------------------------------------------- 1 | [logics for room 19 -- rmSunrise 2 | [ "Leisure-Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | %include "rm19.msg" 6 | %include "gamedefs.h" 7 | 8 | 9 | 10 | #define shakeCycles lv0 11 | 12 | #object aSun 1 13 | #object aBang 2 14 | 15 | 16 | 17 | if (initLog) 18 | { 19 | Print( 1); 20 | Print( 2); 21 | Print( 3); 22 | Print( 4); 23 | 24 | SetHorizon( 4); 25 | 26 | PreventInput(); 27 | 28 | picture = picBlack; 29 | LoadPic( picture); 30 | LoadPic( currentRoom); 31 | 32 | LoadView( vSunrise); 33 | LoadView( vEgoSunrise); 34 | LoadView( vSunriseBang); 35 | 36 | LoadSound( mSunrise); 37 | LoadSound( mFuneral); 38 | LoadSound( sBang); 39 | 40 | [ DON'T Draw( ego); 41 | 42 | DrawPic( currentRoom); 43 | 44 | AddToPic( vEgoSunrise, 0, 0, 56, 129, 5, 4); [ Larry's face 45 | 46 | AnimateObj( aSun); 47 | SetPriority( aSun, 4); 48 | SetView( aSun, vSunrise); 49 | SetLoop( aSun, 0); 50 | SetCel( aSun, 0); 51 | Position( aSun, 23, 91); 52 | Draw( aSun); 53 | MoveObj( aSun, 81, 33, 1, scriptDone); 54 | 55 | 56 | ShowPic( ); 57 | 58 | Sound( mSunrise, done); 59 | Return( ); 60 | 61 | } [ end initLOG 62 | 63 | 64 | 65 | [***** 66 | :handleInput 67 | [***** 68 | 69 | PreventInput(); 70 | 71 | [***** 72 | :noInput 73 | [***** 74 | 75 | if (scriptDone) 76 | { 77 | Reset( scriptDone); 78 | ++script; 79 | 80 | if (script == 1) 81 | { 82 | UnanimateAll(); 83 | AddToPic( vEgoSunrise, 0, 1, 32, 161, 14, 4); 84 | [view, loop, cel, x, y, obj priority, box priority 85 | scriptTimer = 4; 86 | } 87 | 88 | if (script == 2) 89 | { 90 | AddToPic( vEgoSunrise, 1, 0, 69, 119, 5, 4); 91 | Sound( mFuneral, done); 92 | scriptTimer = 4; 93 | } 94 | 95 | if (script == 3) 96 | { 97 | AddToPic( vEgoSunrise, 1, 1, 69, 119, 6, 4); 98 | scriptTimer = 4; 99 | } 100 | 101 | if (script == 4) 102 | { 103 | DrawPic( picture); 104 | 105 | AnimateObj( aBang); 106 | SetView( aBang, vSunriseBang); 107 | SetLoop( aBang, 0); 108 | Position( aBang, 50, 105); 109 | StartCycling( aBang); 110 | Draw( aBang); 111 | 112 | ShowPic(); 113 | 114 | shakeCycles = 14; 115 | } 116 | 117 | if (script == 5) 118 | { 119 | Erase( aBang); 120 | Set( certainDeath); 121 | } 122 | } 123 | 124 | 125 | --shakeCycles; 126 | if ((shakeCycles == 10 || 127 | shakeCycles == 8 || 128 | shakeCycles == 6 || 129 | shakeCycles == 4 || 130 | shakeCycles == 2)) 131 | { 132 | Sound( sBang, done); 133 | ShakeScreen( 1); 134 | } 135 | 136 | if (shakeCycles == 1) 137 | { 138 | Set( scriptDone); 139 | } 140 | 141 | 142 | 143 | [***** 144 | :exit [ test for leaving the room 145 | [***** 146 | 147 | -------------------------------------------------------------------------------- /RM55.CG: -------------------------------------------------------------------------------- 1 | [logics for room 55 -- lgc.help 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | %include "rm55.msg" 6 | %include "gamedefs.h" 7 | %include "colors.h" 8 | 9 | 10 | 11 | 12 | 13 | PreventInput(); 14 | StatusLineOff(); 15 | SetTextAttribute( BLUE, WHITE); 16 | TextScreen(); 17 | lastChar = 0; 18 | Reset( haveMatch); 19 | 20 | Display( 1, 9, 1); 21 | Display( 2, 5, 2); 22 | 23 | 24 | Display( 5, 11, 3); 25 | 26 | 27 | 28 | Display( 9, 1, 4); 29 | Display( 10, 1, 5); 30 | 31 | 32 | Display( 13, 1, 6); 33 | Display( 14, 1, 7); 34 | Display( 15, 1, 8); 35 | 36 | 37 | Display( 18, 1, 9); 38 | Display( 19, 1, 10); 39 | 40 | Display( 22, 1, 17); 41 | Display( 23, 1, 18); 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | :checkKb 55 | if (!HaveKey()) 56 | { 57 | goto checkKb; 58 | } 59 | 60 | 61 | lastChar = 0; 62 | SetTextAttribute( TEXT_COLOR, BG_COLOR); 63 | TextScreen( ); 64 | Display( 1, 9, 1); 65 | Display( 2, 5, 2); 66 | 67 | 68 | Display( 5, 11, 21); 69 | 70 | 71 | 72 | Display( 9, 1, 22); 73 | Display( 10, 1, 23); 74 | 75 | 76 | if (machineType == ST) 77 | { 78 | Display( 13, 1, 11); 79 | Display( 14, 1, 12); 80 | Display( 15, 1, 13); 81 | } 82 | else 83 | { 84 | Display( 13, 1, 24); 85 | Display( 14, 1, 25); 86 | Display( 15, 1, 26); 87 | } 88 | 89 | 90 | Display( 18, 1, 9); 91 | Display( 19, 1, 10); 92 | 93 | 94 | if (mouseMachine) 95 | { 96 | :checkKb2 97 | if (!HaveKey( )) 98 | { 99 | goto checkKb2; 100 | } 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | [ helpScreen3: 113 | lastChar = 0; 114 | SetTextAttribute( TEXT_COLOR, BG_COLOR); 115 | TextScreen( ); 116 | 117 | Display( 1, 9, 1); 118 | Display( 2, 5, 2); 119 | 120 | 121 | Display( 5, 13, 41); 122 | 123 | 124 | Display( 9, 1, 42); 125 | if (machineType == ST) 126 | { 127 | Display( 10, 1, 48); 128 | Display( 13, 1, 44); 129 | Display( 14, 1, 49); 130 | Display( 15, 1, 50); 131 | } 132 | else 133 | { 134 | if ((machineType == CORTLAND || 135 | machineType == MAC)) 136 | { 137 | Display( 10, 1, 43); 138 | } 139 | else 140 | { 141 | if (machineType == AMIGA) 142 | { 143 | Display( 10, 1, 48); 144 | Display( 13, 1, 45); 145 | Display( 14, 1, 46); 146 | } 147 | } 148 | } 149 | 150 | 151 | 152 | Display( 18, 1, 9); 153 | Display( 19, 1, 10); 154 | } 155 | 156 | Display( 23, 7, 47); 157 | 158 | 159 | 160 | :checkKb3 161 | if (!HaveKey( )) 162 | { 163 | goto checkKb3; 164 | } 165 | 166 | lastChar = 0; 167 | SetTextAttribute( TEXT_COLOR, BG_COLOR); 168 | AcceptInput(); 169 | StatusLineOn(); 170 | Graphics(); 171 | Set( haveMatch); 172 | 173 | 174 | 175 |  -------------------------------------------------------------------------------- /FLAG_VAR.H: -------------------------------------------------------------------------------- 1 | [ 2 | [ lcl_temp.h 3 | [ 4 | [ LEISURE SUIT LARRY IN THE LAND OF THE LOUNGE LIZARDS GAME DEFINITIONS 5 | [ 6 | [ Wednesday, March 11, 1987 at 9:48 a.m. 7 | [ 8 | 9 | 10 | 11 | [ The 30 locals are numbered 200 - 229. The 26 dynamics are numbered 12 | [230 - 255. Every flag and var in this list is reset by every new room. 13 | 14 | 15 | 16 | [ LOCAL FLAGS, for use in room logics. 17 | %flag lf0 200 18 | %flag lf1 201 19 | %flag lf2 202 20 | %flag lf3 203 21 | %flag lf4 204 22 | %flag lf5 205 23 | %flag lf6 206 24 | %flag lf7 207 25 | %flag lf8 208 26 | %flag lf9 209 27 | %flag lf10 210 28 | %flag lf11 211 29 | %flag lf12 212 30 | %flag lf13 213 31 | %flag lf14 214 32 | %flag lf15 215 33 | %flag lf16 216 34 | %flag lf17 217 35 | %flag lf18 218 36 | %flag lf19 219 37 | %flag lf20 220 38 | %flag lf21 221 39 | %flag lf22 222 40 | %flag lf23 223 41 | %flag lf24 224 42 | %flag lf25 225 43 | %flag lf26 226 44 | %flag lf27 227 45 | %flag lf28 228 46 | %flag lf29 229 47 | 48 | [ TEMP FLAGS for use in dynamic logics. 49 | %flag df0 230 50 | %flag df1 231 51 | %flag df2 232 52 | %flag df3 233 53 | %flag df4 234 54 | %flag df5 235 55 | %flag df6 236 56 | %flag df7 237 57 | %flag df8 238 58 | %flag df9 239 59 | %flag df10 240 60 | %flag df11 241 61 | %flag df12 242 62 | %flag df13 243 63 | %flag df14 244 64 | %flag df15 245 65 | %flag df16 246 66 | %flag df17 247 67 | %flag df18 248 68 | %flag df19 249 69 | %flag df20 250 70 | %flag df21 251 71 | %flag df22 252 72 | %flag df23 253 73 | %flag df24 254 74 | %flag df25 255 75 | 76 | 77 | 78 | [ LOCAL VARS for use in room logics. 79 | %var lv0 200 80 | %var lv1 201 81 | %var lv2 202 82 | %var lv3 203 83 | %var lv4 204 84 | %var lv5 205 85 | %var lv6 206 86 | %var lv7 207 87 | %var lv8 208 88 | %var lv9 209 89 | %var lv10 210 90 | %var lv11 211 91 | %var lv12 212 92 | %var lv13 213 93 | %var lv14 214 94 | %var lv15 215 95 | %var lv16 216 96 | %var lv17 217 97 | %var lv18 218 98 | %var lv19 219 99 | %var lv20 220 100 | %var lv21 221 101 | %var lv22 222 102 | %var lv23 223 103 | %var lv24 224 104 | %var lv25 225 105 | %var lv26 226 106 | %var lv27 227 107 | %var lv28 228 108 | %var lv29 229 109 | 110 | 111 | [ TEMP VARS for use in dynamic logics. 112 | %var dv0 230 113 | %var dv1 231 114 | %var dv2 232 115 | %var dv3 233 116 | %var dv4 234 117 | %var dv5 235 118 | %var dv6 236 119 | %var dv7 237 120 | %var dv8 238 121 | %var dv9 239 122 | %var dv10 240 123 | %var dv11 241 124 | %var dv12 242 125 | %var dv13 243 126 | %var dv14 244 127 | %var dv15 245 128 | %var dv16 246 129 | %var dv17 247 130 | %var dv18 248 131 | %var dv19 249 132 | %var dv20 250 133 | %var dv21 251 134 | %var dv22 252 135 | %var dv23 253 136 | %var dv24 254 137 | %var dv25 255 138 | -------------------------------------------------------------------------------- /RM10.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 10 -- rmTaxi 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | 7 | %message 1 8 | "The cabbie snarls a \"Where to, buddy?\" as he swings the meter flag down." 9 | 10 | %message 2 11 | "\"Lookin' for action, eh? Dis town is full of it. 12 | We gotta disco that's usually full of foxes this time of night. 13 | Den dere's the casino, next to the all-night weddin' chapel. 14 | And we gotta lovely bar, but you've been dere. 15 | Me, I like da convenience store next to da disco, 16 | but of course, that's just personal preference.\"" 17 | 18 | %message 3 19 | "\"It won't take us long to get back dere, 20 | but I'll have to circle 'round da block.\"" 21 | 22 | %message 4 23 | "\"Well, here we are, buddy. That'll be $%v200.00.\"" 24 | 25 | %message 5 26 | "\"So, wadda we gonna do, buddy? 27 | Ya just gonna sit here all night? 28 | I gotta earn a livin' too, ya know!\"" 29 | 30 | %message 6 31 | "\"Why don'cha wait'll we git there, buddy?\"" 32 | 33 | %message 7 34 | "\"Sorry, but the meter's runnin'. Where ja wanna go?\"" 35 | 36 | %message 8 37 | "\"Thanks, buddy. Maybe I'll see ya again sometime!\"" 38 | 39 | %message 9 40 | "\"Waddaya tryin' to do, peahead! 41 | You're not gonna stiff me, and get away with it!\"" 42 | 43 | %message 10 44 | "You wish you hadn't. 45 | Mr. America, he ain't. 46 | His strongest feature seems to be his odor!" 47 | 48 | %message 11 49 | "He wonders why you keep looking at him, 50 | and flashes a coy little smile back at you in the mirror. 51 | Your stomach turns, and not from the ride!" 52 | 53 | %message 12 54 | "The driver looks at you and says, 55 | \"Hey! What's that you got? Wine?\" 56 | He grabs your bottle of wine, and guzzles it down!" 57 | 58 | %message 13 59 | "\"Ok, but it'll cost ja extra!\"" 60 | 61 | %message 14 62 | "\"Waddaya mean, 'no money!!'\" snarls the driver. 63 | \"Step outside my office, chump!\"" 64 | 65 | %message 15 66 | "\"Ok. You got it, Mac!\"" 67 | 68 | %message 16 69 | "Hang on, Larry. He's swerving all over the road!" 70 | 71 | %message 17 72 | "Whew! You're glad to get out of here." 73 | 74 | %message 18 75 | "It seems a bridge abutment has brought your game to a sudden stop! 76 | Remember, Larry: \"Friends don't let cabbies drive drunk!\"" 77 | 78 | %message 19 79 | "\"I'm sorry, but it's against my personal philosophy to accept a gratuity!\"" 80 | 81 | %message 20 82 | "Sheepishly, you apologize to the cabbie for not carrying enough money 83 | to pay for the ride." 84 | 85 | %message 21 86 | "\"So? Are ya gonna get outta my cab, or not?? 87 | Thanks for da business, but I didn't want ta make no career outta this!\"" 88 | 89 | %message 22 90 | "\"So? Are ya gonna pay up, or do I have ta get rough with cha??\"" 91 | 92 | %message 23 93 | "It seems to be running a little fast, but then, this is an expensive town!" 94 | 95 | %message 24 96 | "You wonder if cab companies have full-time employees to make these floors 97 | sticky." 98 | 99 | %message 25 100 | "Even the ceiling's grungy." 101 | 102 | %message 26 103 | "\"Ok, buddy,\" says the cabbie. \"But why would cha wanna go there?\"" 104 | 105 | %message 27 106 | "He sure drives fast, doesn't he?" 107 | 108 | %message 28 109 | "\"Nope. Next time, make up your mind before ya gets in da cab!\"" 110 | 111 | -------------------------------------------------------------------------------- /RM6.CG: -------------------------------------------------------------------------------- 1 | [logics for room 6 -- rmAgeTest 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | %include "rm6.msg" 6 | %include "gamedefs.h" 7 | 8 | 9 | %define FIRST_QUESTION 1 10 | %define LAST_QUESTION 43 11 | 12 | %define missedOne lf0 13 | 14 | %define age lv9 [ used in message 5 15 | %define lgcQuestion lv20 16 | 17 | 18 | if (!forceAtest && 19 | (passedTest || questionStatus == allDone)) 20 | { 21 | Set( passedTest); 22 | AcceptInput(); 23 | CancelLine(); 24 | PreventInput(); 25 | ClearLines( 22, 24, BG_COLOR); 26 | Reset( handsOff); 27 | Reset( programControl); 28 | AcceptInput(); 29 | 30 | Print( 10); 31 | NewRoom( rmRestart); 32 | } 33 | 34 | if (initLog) 35 | { 36 | animationInterval = FASTEST_SPEED; 37 | Set( handsOff); 38 | PreventInput(); 39 | Reset( enableMenu); 40 | StopMotion( ego); 41 | Set( programControl); 42 | 43 | LoadSound( sError); 44 | 45 | picture = rmTitle; 46 | LoadPic( picture); 47 | DrawPic( picture); 48 | DiscardPic( picture); 49 | 50 | LoadView( vTitles); 51 | AddToPic( vTitles, 0, 0, 4, 18, 4, 4); 52 | AddToPic( vTitles, 0, 1, 4, 36, 4, 4); 53 | AddToPic( vTitles, 0, 2, 46, 36, 4, 4); 54 | AddToPic( vTitles, 0, 3, 11, 87, 4, 4); 55 | [view, loop, cel, x, y, obj priority, box priority 56 | DiscardView( vTitles); 57 | 58 | Random( 2, 4, lgcQuestion); 59 | LoadLogicsV( lgcQuestion); 60 | 61 | ClearLines( 22, 24, BG_COLOR); 62 | 63 | ShowPic( ); 64 | 65 | questionStatus = askAnother; 66 | 67 | [ Set( forceAtest); 68 | if (!forceAtest) 69 | { 70 | Print( 1); 71 | 72 | GetNum( 2, age); 73 | PreventInput(); 74 | AcceptInput(); 75 | 76 | if (age < 18) 77 | { 78 | Print( 4); [ He's so dumb, he admits he's a kid. 79 | Quit( 1); 80 | } 81 | 82 | if (age > 99) 83 | { 84 | Print( 12); [ You can't be THAT old! 85 | Quit( 1); 86 | } 87 | 88 | if (age > 65) 89 | { 90 | Print( 11); [ You're an old fart! 91 | } 92 | 93 | Print( 3); [ He says he's an adult. 94 | 95 | question = 1; 96 | } 97 | } 98 | 99 | 100 | if (questionStatus == askAnother) 101 | { 102 | CallV( lgcQuestion); 103 | } 104 | 105 | 106 | if (questionStatus == waiting) [ now have answer in answer 107 | { 108 | CloseWindow( ); 109 | if ((answer == correctAnswer || 110 | !correctAnswer)) 111 | { 112 | Set( leaveWindow); 113 | Print( 8); [ "Right 114 | questionStatus = waitAwhileAlthoughCorrect; 115 | scriptCycles = 8; 116 | if (machineType == MAC) 117 | { 118 | scriptCycles = 3; 119 | } 120 | } 121 | else 122 | { 123 | if (!missedOne) 124 | { 125 | questionStatus = askAnother; 126 | Print( 5); [ "You blew it. 127 | Set( missedOne); 128 | --question; 129 | } 130 | else 131 | { 132 | Print( 6); [ "Ah Ha!!! 133 | Quit( 1); 134 | } 135 | } 136 | } 137 | 138 | 139 | 140 | if (scriptDone) 141 | { 142 | Reset( scriptDone); 143 | if ((forceAtest || 144 | questionStatus == waitAwhileAlthoughCorrect)) 145 | { 146 | questionStatus = askAnother; 147 | } 148 | else 149 | { 150 | ClearLines( 23, 23, BG_COLOR); 151 | questionStatus = waiting; 152 | } 153 | } 154 | 155 | if (aSecondPassed && secondsInRoom == 5) 156 | { 157 | animationInterval = NORMAL_SPEED; 158 | if ((passInRoom < 250 || 159 | machineType == MAC)) 160 | { 161 | Set( slowProcessor); 162 | } 163 | if (forceAtest) 164 | { 165 | Print( 18); 166 | } 167 | } 168 | -------------------------------------------------------------------------------- /RM13.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 13 -- rmToilet 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | 7 | %message 1 8 | "You are in Lefty's one and only restroom. 9 | The stench is overpowering, there is graffiti on the walls, and you 10 | doubt that the sink was clean even when it was installed. 11 | Even roaches can't survive in this place!" 12 | 13 | %message 2 14 | "%m8Scott me up, Beamie!\"" 15 | 16 | %message 3 17 | "Ahhhhhhh." 18 | 19 | %message 4 20 | "%m8Attention arcade game players: please don't eat the urinal cakes!\"" 21 | 22 | %message 5 23 | "%m8It takes leather balls to play rugby!\"" 24 | 25 | %message 6 26 | "Funny. No one knocks back." 27 | 28 | %message 7 29 | "NOW??" 30 | 31 | %message 8 32 | "You see many messages. One is:\n\n\"" 33 | 34 | %message 9 35 | "You see a handsome, dashing, macho, sexy, young man. 36 | (Obviously, this mirror has quite a bit of distortion!)" 37 | 38 | %message 10 39 | "You grab an ancient copy of the \"Ball Street Journal,\" 40 | and settle in to \"sit and think!\"" 41 | 42 | %message 11 43 | "You feel a great relief!" 44 | 45 | %message 12 46 | "Why, look! 47 | Some woman removed her diamond ring to wash her hands, 48 | and forgot to take it with her." 49 | 50 | %message 13 51 | "Got it!\n\n 52 | You briefly consider an attempt to find the ring's owner, 53 | but return to your normal self and pocket it instead." 54 | 55 | %message 14 56 | "A small, neatly lettered sign reminds you:\n\n 57 | \"Since we can't clean up after every customer, 58 | please rinse out this sink when you are finished.\"" 59 | 60 | %message 15 61 | "Evidently, you are the first customer who can read." 62 | 63 | %message 16 64 | "My, my. Aren't we the little sick-o!" 65 | 66 | %message 17 67 | "Say, here's an interesting one:\n\n 68 | \"The password is: 'Ken sent me.'\"" 69 | 70 | %message 18 71 | "Bad idea, eh Larry?" 72 | 73 | %message 19 74 | "Your life passes before your eyes." 75 | 76 | %message 20 77 | "You doze briefly." 78 | 79 | %message 21 80 | "What's that aroma?" 81 | 82 | %message 22 83 | "Ok." 84 | 85 | %message 23 86 | "It's not a pretty sight!" 87 | 88 | %message 24 89 | "Say, there's no soap." 90 | 91 | %message 25 92 | "There's no towels." 93 | 94 | %message 26 95 | "Move closer to the handle." 96 | 97 | %message 27 98 | "Your hands are still dirty, but now they're wet!" 99 | 100 | %message 28 101 | "The toilet paper is only there for official purposes." 102 | 103 | %message 29 104 | "Carefully finishing your duties, 105 | you wipe and toss the newspaper behind the toilet for the next user." 106 | 107 | %message 30 108 | "You only read while \"enthroned.\"" 109 | 110 | %message 31 111 | "Your face is still dirty, but at least it's now dripping with water." 112 | 113 | %message 32 114 | "Ok. You're dry (but your keyboard is still damp)!" 115 | 116 | %message 33 117 | "Realizing your mistake, you quickly jiggle the handle, 118 | attempting to stem the onrushing tide of water." 119 | 120 | %message 34 121 | "It doesn't work." 122 | 123 | %message 35 124 | "It's nice of you to try, but this sink is too far gone to save!" 125 | 126 | %message 36 127 | "No one would drink from ANY fixture in here!" 128 | 129 | %message 37 130 | "Nice idea, but the mirror is firmly attached to the wall." 131 | 132 | %message 38 133 | "Yuck!" 134 | 135 | %message 39 136 | "Lefty must be running low on air freshener." 137 | 138 | %message 40 139 | "No wonder your eyesight is so bad!" 140 | 141 | %message 41 142 | "Been drinking Lefty's liquor again, eh?" 143 | 144 | -------------------------------------------------------------------------------- /RM38.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 38 -- rmBlackjack 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | 7 | %message 1 8 | "You are sitting at a blackjack table in the casino. 9 | There is a sign on the table titled \"House Rules.\"" 10 | 11 | %message 2 12 | "Do you want insurance? " 13 | 14 | %message 3 15 | "Amount in dollars: $" 16 | 17 | %message 4 18 | "Please bet an even number of dollars (2, 4, 6, etc.). 19 | The house does not keep half-dollars." 20 | 21 | %message 5 22 | "The dealer has blackjack!" 23 | 24 | %message 6 25 | "Surrendering your cards, you are refunded half of your bet." 26 | 27 | %message 7 28 | "You bet zero dollars, receive zero cards, and win zero dollars and 29 | zero cents." 30 | 31 | %message 8 32 | "You can play all night like this!" 33 | 34 | %message 9 35 | "Your insurance bet pays 2 to 1." 36 | 37 | %message 10 38 | "Please answer \"y\" or \"n\"." 39 | 40 | %message 11 41 | "You are busted." 42 | 43 | %message 12 44 | "The dealer busted." 45 | 46 | %message 13 47 | "She's a beautiful young lady, 48 | but you vow to keep your thoughts on the game." 49 | 50 | %message 14 51 | "It's a push!" 52 | 53 | %message 15 54 | "\"Thanks for playing,\" says the dealer, finally cracking a smile. 55 | \"Come back anytime.\"" 56 | 57 | %message 16 58 | "You lose!" 59 | 60 | %message 17 61 | "You have blackjack." 62 | 63 | %message 18 64 | "Six cards make a winner." 65 | 66 | %message 19 67 | "You can only " 68 | 69 | %message 20 70 | " when you have two cards." 71 | 72 | %message 21 73 | "\"Please, no talking at the tables.\"" 74 | 75 | %message 22 76 | "That's not a pair." 77 | 78 | %message 23 79 | "\"I'm sorry, Sir. We're not permitted to accept gratuities!\"" 80 | 81 | %message 24 82 | "%m19double when you have 10 or 11 points." 83 | 84 | %message 25 85 | "%m19split%m20" 86 | 87 | %message 26 88 | "%m19surrender%m20" 89 | 90 | %message 27 91 | "You don't have enough money!" 92 | 93 | %message 28 94 | "Don't be in such a hurry. Finish this hand first!" 95 | 96 | %message 29 97 | "It's too late now. This hand is already being played." 98 | 99 | %message 30 100 | "You can't bet more than you have." 101 | 102 | %message 31 103 | "$20.00 is the maximum bet at this table." 104 | 105 | %message 32 106 | "" 107 | 108 | %message 33 109 | "" 110 | 111 | %message 34 112 | "Your first hand " 113 | 114 | %message 35 115 | "%m34is a push!" 116 | 117 | %message 36 118 | "%m34wins!" 119 | 120 | %message 37 121 | "%m34loses!" 122 | 123 | %message 38 124 | "%m34busted!" 125 | 126 | %message 39 127 | "%m43is a push!" 128 | 129 | %message 40 130 | "%m43wins!" 131 | 132 | %message 41 133 | "%m43loses!" 134 | 135 | %message 42 136 | "%m43busted!" 137 | 138 | %message 43 139 | "Your split hand " 140 | 141 | %message 44 142 | "Please wait until it's your turn." 143 | 144 | %message 45 145 | "\n 146 | HOUSE RULES\n\n 147 | This table has a $20.00 limit. 148 | Bets must be a multiple of $2.00.\n\n 149 | Dealer must hit 16, and must stand on 17.\n\n 150 | Blackjack pays 1-1/2 to 1 odds.\n\n 151 | Any six cards under 22 wins.\n 152 | " 153 | 154 | %message 46 155 | "\n 156 | Insurance bets are offered whenever the dealer shows an ace. 157 | They are half your bet, and pay 2 to 1 odds.\n\n 158 | You may split a pair or surrender whenever you have only two cards.\n\n 159 | You may double down if your cards total 10 or 11 points.\n 160 | " 161 | 162 | %message 47 163 | "\n 164 | Press F4 when ready to play.\n\n 165 | Press F6 for another card.\n\n 166 | Press F8 to stand.\n\n 167 | To change the amount of your bet, type \"change bet.\"\n" 168 | 169 | -------------------------------------------------------------------------------- /RM17.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 17 -- rmHooker 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | 7 | %message 1 8 | "This is the hooker's seedy bedroom. 9 | The bed's a mess, ditto the hooker!" 10 | 11 | %message 2 12 | "Yep! This would be a perfect time! The Surgeon General would be proud." 13 | 14 | %message 3 15 | "You already are wearing it." 16 | 17 | %message 4 18 | "It looks like the hooker has a box of candy on her table." 19 | 20 | %message 5 21 | "Although successful, you feel less than satisfied. 22 | Technically speaking, you're no longer a virgin, 23 | but for some reason, the thrill just wasn't there. 24 | You vow to continue your quest until you please your heart, 25 | not just your other organs!" 26 | 27 | %message 6 28 | "Sniffing the air, you're suddenly hungry for tuna." 29 | 30 | %message 7 31 | "\"Come on over here, Larry!\"" 32 | 33 | %message 8 34 | "She says, \"Me first!\" as she%m25" 35 | 36 | %message 9 37 | "Not again! A guy can only take so much!!" 38 | 39 | %message 10 40 | "She seems more interested in that cigarette than she was in you." 41 | 42 | %message 11 43 | "It's a good thing you were wearing that rubber!" 44 | 45 | %message 12 46 | "It's already open." 47 | 48 | %message 13 49 | "Nah. This room needs the fresh air!" 50 | 51 | %message 14 52 | "You repeatedly bang your head against the closed glass." 53 | 54 | %message 15 55 | "" 56 | 57 | %message 16 58 | "It's a really ugly table." 59 | 60 | %message 17 61 | "\"Jeez, Mister! What've you been eating? Buffalo chips???\"" 62 | 63 | %message 18 64 | "She certainly seems to enjoy that gum." 65 | 66 | %message 19 67 | "A sign near the bed says: \"Substantial penalty for early withdrawals.\"" 68 | 69 | %message 20 70 | "\"So,\" she snarls, \"you just gonna stand there, or what?\"" 71 | 72 | %message 21 73 | "\"Was it good for you, baby?\" you ask her." 74 | 75 | %message 22 76 | "\"Was what good?\" she replies." 77 | 78 | %message 23 79 | "Although you might look precious in that little white lace number, 80 | you're just not that kind of guy!" 81 | 82 | %message 24 83 | "She%m25" 84 | 85 | %message 25 86 | " goes to work on you. 87 | Then she smiles as she bites it off! 88 | \"Sorry, Larry. No oral sex in this game. Suffer!\"" 89 | 90 | %message 26 91 | "Now's a great time to think of that!" 92 | 93 | %message 27 94 | "\"Is that a toothpick in your pocket, 95 | or are you just happy to get past my pimp?\"" 96 | 97 | %message 28 98 | "You'd have a better view if you'd move to the front of the bed!" 99 | 100 | %message 29 101 | "There is a fire escape outside the window." 102 | 103 | %message 30 104 | "The clothesline is barely strong enough to hold its present load. 105 | Poor girl, you'd think at these prices she could afford a laundromat." 106 | 107 | %message 31 108 | "\"Hey, what kind of girl do you think I am?\"" 109 | 110 | %message 32 111 | "It's getting old and rusty -- not unlike you, Larry." 112 | 113 | %message 33 114 | "It just hangs there." 115 | 116 | %message 34 117 | "There's nothing (and no one) there." 118 | 119 | %message 35 120 | "It, too, is broken." 121 | 122 | %message 36 123 | "" 124 | 125 | %message 37 126 | "It's barely strong enough to hold up its present load. 127 | Besides, if you take it, her underwear would fall down." 128 | 129 | %message 38 130 | "There is a table near the window." 131 | 132 | %message 39 133 | "There's nothing there." 134 | 135 | %message 40 136 | "You have no use for a stained pillow." 137 | 138 | %message 41 139 | "You are as naked as you're going to get!" 140 | 141 | %message 42 142 | "With all your clothes on?" 143 | 144 | %message 43 145 | "You slyly tap out a message in Morse code; unfortunately, only some rats 146 | hear it." 147 | 148 | %message 44 149 | "You can't. She's nailed it to the floor." 150 | 151 | %message 45 152 | "Your rope is not long enough to reach outside." 153 | 154 | %message 46 155 | "NOW!? 156 | You've come this far, Larry; now's the time to do more than just look!" 157 | 158 | -------------------------------------------------------------------------------- /RM40.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 40 -- rmElevatorMaze 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | 7 | %message 1 8 | "You are in the Casino's hotel. 9 | Doors line each side, many with \"Do Not Disturb\" signs on their doorknobs." 10 | 11 | %message 2 12 | "There's a door with a heart on it to the west." 13 | 14 | %message 3 15 | "Not one for those long elevator rides, eh, Larry?" 16 | 17 | %message 4 18 | "You rap your knuckles on the door. 19 | There is no response, but now your knuckles hurt." 20 | 21 | %message 5 22 | "Whee!" 23 | 24 | %message 6 25 | "Fawn's delicate voice booms out across the hotel:\n\n 26 | \"Just a minute, Larry!\"" 27 | 28 | %message 7 29 | "\"strangers in the night, da da da dee da...\"" 30 | 31 | %message 8 32 | "There's a click as she unlocks the door, then a piercing 33 | \"Come on in. The door's open.\"" 34 | 35 | %message 9 36 | "You can't. This door is locked." 37 | 38 | %message 10 39 | "Subtly, you shout, \"Here I come, baby!\"" 40 | 41 | %message 11 42 | "It's a door not unlike all the others, except this one has a cute, 43 | trite, cracked, little, plastic heart stuck to it with a thumbtack." 44 | 45 | %message 12 46 | "It's a door just like all the others." 47 | 48 | %message 13 49 | "" 50 | 51 | %message 14 52 | "" 53 | 54 | %message 15 55 | "" 56 | 57 | %message 16 58 | "They almost look real, don't they?" 59 | 60 | %message 17 61 | "You seem surprised that the door is locked." 62 | 63 | %message 18 64 | "You close the door behind you, and jiggle the knob to confirm it is locked." 65 | 66 | %message 19 67 | "Type a word, like \"one\" or \"two.\"" 68 | 69 | %message 20 70 | "There are buttons labeled \"one\" through \"eight.\"" 71 | 72 | %message 21 73 | "You can't. There's no key in this game!" 74 | 75 | %message 22 76 | "Isn't it funny how the elevator is always waiting for you?" 77 | 78 | %message 23 79 | "The cheap, plastic heart is not worth the bother." 80 | 81 | %message 24 82 | "Where?" 83 | 84 | %message 25 85 | "Fawn's sexy voice oozes through the door, 86 | \"Oh, baby, it's you! You're back!!\"" 87 | 88 | %message 26 89 | "There's a click as she unlocks the door. 90 | \"Come on in, you wonderful hunk!\"" 91 | 92 | %message 27 93 | "It's no good. The door resists all of your efforts." 94 | 95 | %message 28 96 | "You contemplate expec- toration, but remember that discretion is the better 97 | part of valium." 98 | 99 | %message 29 100 | "...or helium," 101 | 102 | %message 30 103 | "...or something." 104 | 105 | %message 31 106 | "Suicide is illegal here." 107 | 108 | %message 32 109 | "You rap your knuckles on the nearest door." 110 | 111 | %message 33 112 | "This must not be the right door, Larry." 113 | 114 | %message 34 115 | "\"Hey, Scott, the girls are here!!\"" 116 | 117 | %message 35 118 | "\"It says 'Do NOT Disturb!' Can't you read?\"" 119 | 120 | %message 36 121 | "You hear some extremely heavy breathing." 122 | 123 | %message 37 124 | "\"Go away! I gave at the office!\"" 125 | 126 | %message 38 127 | "\"Oh, Russ, there's someone at the door!\"\n\n 128 | \"They're gonna have to wait, Kim Baby! 129 | It's too late for me to stop now!!\"" 130 | 131 | %message 39 132 | "\"Baaaaah. Baaaaah!\"\n\n 133 | Don't even ask, Larry!" 134 | 135 | %message 40 136 | "\"Oh, Bruce!\n 137 | Oh, Howard!\n\n 138 | Oh, Terri!\n 139 | Oh, Carrie!\"" 140 | 141 | %message 41 142 | "\"Ken! Get off me, Ken!!\"" 143 | 144 | %message 42 145 | "\"Oh, gawd, Ed!! Get in the closet. It's my husband!!\"" 146 | 147 | %message 43 148 | "\"Bobbit, is that you?\"" 149 | 150 | %message 44 151 | "\"Not now; I've got wessonality!\"" 152 | 153 | %message 45 154 | "\"Is that Room Service? I didn't order anchovies.\"" 155 | 156 | %message 46 157 | "An eye appears at the peephole. 158 | \"Hey, Mary! Isn't it a little early for Trick or Treaters?\"" 159 | 160 | %message 47 161 | "\"Oh, gawd, Ed!! Get in the closet. It's my wife!!\"" 162 | 163 | %message 48 164 | "Hmmm. Is that the smell of burning rubber?" 165 | 166 | %message 49 167 | "\"Oh, Jeff. You really know how to hurt a guy!\"" 168 | 169 | %message 50 170 | "\"Get away from him, you big bully! He's mine.\"" 171 | 172 | -------------------------------------------------------------------------------- /RM34.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 34 -- rmInsideChapel 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | 7 | %message 1 8 | "You are in a quickie marriage parlor. 9 | A flashing neon sign on the rear wall asks: 10 | \"Why wait? Marry the girl of your dreams, today! 11 | You provide the girl, we'll do the rest for only $100!!\"" 12 | 13 | %message 2 14 | "Fawn is waiting for you at the altar. Go for it, Larry!" 15 | 16 | %message 3 17 | "The minister intones in his basso voice..." 18 | 19 | %message 4 20 | "\"Dearly beloved, we are gathered together today in the sight of, 21 | er, ah, um... each other, 22 | to enter these two people into the eternal bonds of marriage.\"" 23 | 24 | %message 5 25 | "\"But before we really get rollin', I'd like to say a few words.\n\n 26 | Many's the marriage that I've performed here, in this little chapel, 27 | wearing this cheap suit, before those shiny plastic-covered pews, 28 | with these electric candles, 29 | looking at those genuine plexiglas stained-glass windows, 30 | for these measly few bucks...\"" 31 | 32 | %message 6 33 | "(He pauses for another nip from his pocket flask.)" 34 | 35 | %message 7 36 | "\"Where was I?\" he hiccups." 37 | 38 | %message 8 39 | "\"Digressing,\" you answer." 40 | 41 | %message 9 42 | "\"Oh, well, have you got a ring?\" he asks." 43 | 44 | %message 10 45 | "\"Yep,\" you reply. \"She's wearing it.\"" 46 | 47 | %message 11 48 | "\"Good enough for me! Have you got a hundred bucks?\"" 49 | 50 | %message 12 [ Skip to message 21, if dollars > 100 51 | "\"Of course,\" you reply, forking over your dough." 52 | 53 | %message 13 54 | "\"Not me,\" you reply. \"I thought this was a temple of love!\"" 55 | 56 | %message 14 57 | "\"Sorry, buddy, you two are SOL until you can come back here with 58 | 100 cold, hard ones!\" he says indignantly, as he pushes between you 59 | and heads for the door." 60 | 61 | %message 15 62 | "Well, Larry, it looks like you're going to have to leave your new bride 63 | waiting at the altar, while you generate a little positive cash flow!" 64 | 65 | %message 16 66 | "As you leave, she says, \"Hurry back, Larry, I don't know how long I 67 | can wait before I have you!\"" 68 | 69 | %message 17 70 | "\"By the way, Larry,\" she asks. \"What does SOL stand for?\"" 71 | 72 | %message 18 73 | "\"Why, Sierra On-Line, I presume!\" you respond." 74 | 75 | %message 19 76 | "(Drum fill)" 77 | 78 | %message 20 79 | "\"Wait here, Fawn baby! I'll be back in a flash!!\"" 80 | 81 | %message 21 82 | "\"Ok, close enough. 83 | I now pronounce you man and wife, till death do you part, 84 | or until you get tired of each other, 85 | per the currently acceptable social standards!\"" 86 | 87 | %message 22 88 | "\"You may kiss the bride,\" he says, 89 | scurrying out the door to refill his flask." 90 | 91 | %message 23 92 | "\"Not now; that can wait,\" Fawn says with a smile. 93 | \"I'll meet you at the Casino Hotel's honeymoon suite, 94 | and give you a lot more than kisses, my big, strong, handsome sweetheart!!\"" 95 | 96 | %message 24 97 | "\"Hey!\" you shout, \"Wait for me!!\"" 98 | 99 | %message 25 100 | "Somehow this entire ceremony was less than you expected. 101 | The sacred bonds of marriage certainly get tied loosely in this joint!" 102 | 103 | %message 26 104 | "It's customary to position yourself to the bride's right." 105 | 106 | %message 27 107 | "\"So... shall we try again?\"" 108 | 109 | %message 28 110 | "You can't see through the \"stained glass\" windows. 111 | They're fake, like everything else about this place." 112 | 113 | %message 29 114 | "Seems like everything here is covered in plastic." 115 | 116 | %message 30 117 | "The plastic covers are so slick, you'd probably slide right off." 118 | 119 | %message 31 120 | "Perhaps you should find a mate, mate!" 121 | 122 | %message 32 123 | "You can barely tell they're made from pressed sawdust." 124 | 125 | %message 33 126 | "Who'd want them?" 127 | 128 | %message 34 129 | "He looks a lot like his brother, 130 | the bad comedian in the Lizard Lounge." 131 | 132 | %message 35 133 | "\"Make up your mind, son. Time is money!\"" 134 | 135 | %message 36 136 | "\"Don't stand around talking, Larry,\" says Fawn. \"Let's get married!!\"" 137 | 138 | %message 37 139 | "What an old romantic!" 140 | 141 | %message 38 142 | "You wonder why Michelangelo didn't use dropped fluorescents on 143 | his big ceiling job." 144 | 145 | %message 39 146 | "It's not your birthday!" 147 | 148 | -------------------------------------------------------------------------------- /RM51.CG: -------------------------------------------------------------------------------- 1 | [logics for room 51 -- lgc.startup 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | %include "gamedefs.h" 6 | %include "contrlrs.h" 7 | 8 | 9 | 10 | %message 1 "_" 11 | %message 2 "]" 12 | %message 3 "LLLLL" 13 | 14 | 15 | 16 | SetCursorChar( 1); [ cursor 17 | SetString( 0, 2); [ prompt 18 | SetGameId( 3); [ id 19 | TraceInfo( lgcTrace, 2, 9); [ sets: room, y TOP, lines tall 20 | SetTextAttribute( TEXT_COLOR, BG_COLOR); 21 | maxScore = 222; [ set up the status line first 22 | if (monitorType != MONO) 23 | { 24 | ClearLines( 22, 24, BG_COLOR); 25 | } 26 | 27 | ConfigureScreen( 1, 23, 0); 28 | Set( enableMenu); 29 | DisableItem( cDummy); 30 | Set( soundOn); 31 | egoStepSize = 1; 32 | egoStepTime = 1; 33 | egoCycleTime = 1; 34 | egoX = 77; 35 | egoY = 166; 36 | mouthMessage = 157; [ First bad breath message. 37 | 38 | if ((machineType == PC || 39 | machineType == JR || 40 | machineType == TANDY || 41 | machineType == APPLEII)) 42 | { 43 | Set( twoButtonJoystick); 44 | } 45 | else 46 | { 47 | Set( mouseMachine); 48 | if (machineType == ST) 49 | { 50 | Set( enableDoubleClick); 51 | } 52 | } 53 | 54 | dollars = 94; 55 | cabFareMin = 5; 56 | cabRideLength = 15; 57 | Set( mouthOK); 58 | sprayMinutes = SPRAY_INIT_MINUTES; 59 | watchHours = WATCH_INIT_HOURS; 60 | 61 | one = 1; 62 | two = 2; 63 | three = 3; 64 | four = 4; 65 | five = 5; 66 | 67 | [testRoom = 12; 68 | if (testRoom) 69 | { 70 | [ Set( debugging); 71 | [ Reset( demo); 72 | [ Reset( programControl); 73 | [ AcceptInput(); 74 | [ animationInterval = FASTEST_SPEED; 75 | [ Set( clockOn); 76 | [ Set( enableMenu); 77 | [ Set( passedTest); 78 | [ StatusLineOn(); 79 | } 80 | else 81 | { 82 | if (!restartInProgress) 83 | { 84 | Set( demo); [ Set up for a real start! 85 | Set( programControl); 86 | PreventInput(); 87 | animationInterval = NORMAL_SPEED; 88 | Reset( clockOn); 89 | Reset( enableMenu); 90 | StatusLineOff(); 91 | } 92 | else 93 | { 94 | Reset( demo); [ Don't do a real start. 95 | StatusLineOn(); 96 | Set( passedTest); 97 | Return(); [ Don't reassign keys. 98 | } 99 | } 100 | 101 | 102 | [ Assign keys to controller functions. 103 | SetKey( 0, 59, cHelp); [F1 104 | SetKey( 0, 60, cSoundToggle); [F2 105 | SetKey( 0, 61, cEchoLine); [F3 106 | SetKey( 0, 62, cF4); [F4 107 | SetKey( 0, 63, cSave); [F5 108 | SetKey( 0, 64, cF6); [F6 109 | SetKey( 0, 65, cRestore); [F7 110 | SetKey( 0, 66, cF8); [F8 111 | SetKey( 0, 67, cRestart); [F9 112 | SetKey( 0, 68, cSpeed); [F10 113 | 114 | 115 | [ Set control & alt keys. 116 | if (machineType == TANDY) 117 | { 118 | SetKey( 61, 0, cCrescendo); [+ 119 | SetKey( 45, 0, cDecrescendo); [- 120 | SetKey( 43, 0, cCrescendo); [+ 121 | } 122 | SetKey( 9, 0, cStatus); [TAB 123 | if (machineType == AMIGA) 124 | { 125 | SetKey( 27, 0, cPause); [ESC 126 | } 127 | else 128 | { 129 | SetKey( 27, 0, cMenu); [ESC 130 | } 131 | 132 | SetKey( 2, 0, cBoss); [^B 133 | SetKey( 3, 0, cCancelLine); [^C 134 | SetKey( 5, 0, cEchoLine); [^E 135 | SetKey( 10, 0, cInitJoy); [^J 136 | SetKey( 18, 0, cToggleMonitor); [^R 137 | SetKey( 19, 0, cSoundToggle); [^S 138 | 139 | SetKey( 0, 32, cDebug); [@D 140 | SetKey( 0, 18, cShowEgo); [@E 141 | SetKey( 0, 23, cObjInfo); [@I 142 | SetKey( 0, 50, cShowMem); [@M 143 | SetKey( 0, 25, cShowPriority); [@P 144 | SetKey( 0, 45, cSkipTest); [@X 145 | SetKey( 0, 47, cVersion); [@V 146 | SetKey( 0, 44, cQuit); [@Z 147 | 148 | 149 | 150 | [ Substitute PCjr number keys as function keys. 151 | if (machineType == JR) 152 | { 153 | SetKey( 49, 0, cHelp); [1 154 | SetKey( 50, 0, cSoundToggle); [2 155 | SetKey( 51, 0, cEchoLine); [3 156 | SetKey( 52, 0, cF4); [4 157 | SetKey( 53, 0, cSave); [5 158 | SetKey( 54, 0, cF6); [6 159 | SetKey( 55, 0, cRestore); [7 160 | SetKey( 56, 0, cF8); [8 161 | SetKey( 57, 0, cRestart); [9 162 | SetKey( 48, 0, cSpeed); [0 163 | } 164 | 165 | 166 | [ Set joystick controllers. 167 | SetKey( JOYSTICK_LOW_BYTE, BUTTON_0, cMenu); 168 | if (twoButtonJoystick) 169 | { 170 | SetKey( JOYSTICK_LOW_BYTE, BUTTON_1, cStatus); 171 | [SetKey( JOYSTICK_LOW_BYTE, BUTTON_0_DOUBLE, c.doit); 172 | [SetKey( JOYSTICK_LOW_BYTE, BUTTON_1_DOUBLE, c.useit); 173 | } 174 | else { 175 | if (machineType == ST) 176 | { 177 | SetKey( JOYSTICK_LOW_BYTE, BUTTON_0_DOUBLE, cStatus); 178 | } 179 | } 180 | -------------------------------------------------------------------------------- /RM56.CG: -------------------------------------------------------------------------------- 1 | [logics for room 56 -- lgcBlackjack 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | %include "rm56.msg" 6 | %include "gamedefs.h" 7 | %include "bj.h" 8 | 9 | 10 | 11 | [ Structure: 12 | [ cards are numbered from 0 through 51. 13 | [ cells are numbered 0 through 12. 14 | [ a card's value is 2 more than its number. 15 | [ a card's cell is equal to its number. 16 | 17 | 18 | 19 | if ((function == DRAW_CARD || 20 | function == DRAW_FACE_DOWN || 21 | function == ERASE_CARD)) 22 | { 23 | 24 | [ Requires for input the pointer "currentCard" which points to a var 25 | [that contains a card. Leaves "currentCard" unaffected, but does muck 26 | [up "card" as a local "work", and by calling "getSuitValue." 27 | [Correctly sets "value" too. 28 | 29 | #define CARD_1_X 28 30 | #define CARD_2_X 46 31 | #define CARD_3_X 64 32 | #define CARD_4_X 82 33 | #define CARD_5_X 100 34 | #define CARD_6_X 118 35 | 36 | #define DEALER_Y 45 37 | #define PLAYER_Y 152 38 | #define SPLIT_HAND_Y 106 39 | 40 | 41 | if (!currentCard < sFirstCard) [ is it a split? 42 | { 43 | y = SPLIT_HAND_Y; 44 | card = currentCard; 45 | card -= sFirstCard; 46 | } 47 | else 48 | { 49 | if (!currentCard < pFirstCard) [ is it a player card? 50 | { 51 | y = PLAYER_Y; 52 | card = currentCard; 53 | card -= pFirstCard; 54 | } 55 | else [ Nope, it's the dealer's. 56 | { 57 | y = DEALER_Y; 58 | card = currentCard; 59 | card -= dFirstCard; 60 | } 61 | } 62 | 63 | 64 | if (card == 0) {x = CARD_1_X;} 65 | if (card == 1) {x = CARD_2_X;} 66 | if (card == 2) {x = CARD_3_X;} 67 | if (card == 3) {x = CARD_4_X;} 68 | if (card == 4) {x = CARD_5_X;} 69 | if (card == 5) {x = CARD_6_X;} 70 | 71 | card =@ currentCard; 72 | 73 | goto getSuitValue; [ This 74 | :returnToHere; [ is ugly!! 75 | 76 | if (function == ERASE_CARD) 77 | { 78 | view = BLANK_CARD; 79 | cell = 0; 80 | } 81 | else 82 | { 83 | if (function == DRAW_FACE_DOWN) 84 | { 85 | view = CARD_BACK; 86 | cell = 0; 87 | } 88 | else 89 | { 90 | view = suit; 91 | } 92 | } 93 | 94 | loop = 0; 95 | priority = 4; 96 | AddToPicV( view, loop, cell, x, y, priority, priority); 97 | Sound( sCard, done); 98 | } 99 | 100 | 101 | 102 | if (function == GET_SUIT_VALUE) 103 | { 104 | 105 | [ Takes "card" as input, leaves "card" unaffected, and adjusts 106 | ["cell," "value," and "suit." 107 | 108 | :getSuitValue; 109 | 110 | cell = card; 111 | if (card < 13) 112 | { 113 | suit = HEARTS; 114 | } 115 | else 116 | { 117 | if (card < 26) 118 | { 119 | suit = CLUBS; 120 | cell -= 13; 121 | } 122 | else 123 | { 124 | if (card < 39) 125 | { 126 | suit = SPADES; 127 | cell -= 26; 128 | } 129 | else 130 | { 131 | suit = DIAMONDS; 132 | cell -= 39; 133 | } 134 | } 135 | } 136 | 137 | value = cell; 138 | value += 2; 139 | if (value > 13) 140 | { 141 | value = 1; 142 | Set( softAce); 143 | } 144 | 145 | if (value > 10) 146 | { 147 | value = 10; 148 | } 149 | 150 | if (function != GET_SUIT_VALUE) [ This 151 | { [ is 152 | goto returnToHere; [ uglier! 153 | } 154 | } 155 | 156 | 157 | 158 | if (function == PAY_WINNER) 159 | { 160 | work = 250; 161 | work -= winnings; 162 | 163 | if (work > dollars) 164 | { 165 | dollars += winnings; 166 | } 167 | else 168 | { 169 | winnings = 250; 170 | winnings -= dollars; 171 | dollars = 250; 172 | Print( 4); 173 | Set( readyToLeave); 174 | } 175 | 176 | winnings = 0; 177 | function = UPDATE_STATUS; 178 | } 179 | 180 | 181 | if (function == UPDATE_STATUS) 182 | { 183 | if (monitorType == MONO) 184 | { 185 | ClearLines( 24, 24, BG_COLOR); 186 | y = 24; 187 | } 188 | else 189 | { 190 | ClearLines( 21, 21, BG_COLOR); 191 | y = 21; 192 | } 193 | 194 | if (handInPlay == PLAYER) 195 | { 196 | message = 1; 197 | } 198 | else 199 | { 200 | if (handInPlay == SPLIT) 201 | { 202 | message = 2; 203 | } 204 | else 205 | { 206 | message = 3; 207 | } 208 | } 209 | x = 0; 210 | DisplayV( y, x, message); 211 | function = SHOW_TOTALS; 212 | } 213 | 214 | 215 | if (function == SHOW_TOTALS) 216 | { 217 | if (debugging && forceAtest) 218 | { 219 | oldPTotal = pTotal; 220 | oldSTotal = sTotal; 221 | oldDTotal = dTotal; 222 | SetTextAttribute( 6, 0); 223 | Display( 24, 0, 5); 224 | SetTextAttribute( 15, 0); 225 | } 226 | } 227 | 228 | 229 | [***** 230 | :exit 231 | [***** 232 | 233 | function = 0; 234 | 235 | -------------------------------------------------------------------------------- /RM45.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 45 -- rmBedroom 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | 7 | %message 1 8 | "The penthouse bedroom is quite deluxe." 9 | 10 | %message 2 11 | "Didn't your Mother tell you that doing that would make you go blind?" 12 | 13 | %message 3 14 | "Geez, Larry. Do we have to?" 15 | 16 | %message 4 17 | "Now?! When she's waiting for you on the bed??" 18 | 19 | %message 5 20 | "It is open." 21 | 22 | %message 6 23 | "It's not open." 24 | 25 | %message 7 26 | "There's no inflatable doll out here." 27 | 28 | %message 8 29 | "All right, you asked for it.\n\n 30 | In fact, you've asked for it twice! Here we go..." 31 | 32 | %message 9 33 | "Got her!" 34 | 35 | %message 10 36 | "Selecting your own personal favorite from the three available openings, 37 | you shyly try out the doll. 38 | This has to be the kinkiest thing you've done in a long time, Larry.\n\n 39 | You gradually increase your tempo as you lose your inhibitions 40 | (not to mention your self-esteem). 41 | Faster and faster you go, until suddenly, there's a loud, flatulent sound..." 42 | 43 | %message 11 44 | "You lost her, remember!" 45 | 46 | %message 12 47 | "You've found a closet full of uninteresting stuff, plus one inflatable doll." 48 | 49 | %message 13 50 | "The rest of the closet is rather dull compared to the inflatable doll." 51 | 52 | %message 14 53 | "Walking out of the closet, you clumsily catch your new friend on a 54 | protruding nail! 55 | There's a loud, flatulent sound, and..." 56 | 57 | %message 15 58 | "The closet is closed." 59 | 60 | %message 16 61 | "You huff, and you puff, and you blow your doll up. 62 | Holding her out at arm's length, you pause to admire your handiwork..." 63 | 64 | %message 17 65 | "...somehow you expected more." 66 | 67 | %message 18 68 | "What more would you want to see?" 69 | 70 | %message 19 71 | "Move closer to the handle." 72 | 73 | %message 20 74 | "Move out of the way of the door first." 75 | 76 | %message 21 77 | "Go get her, Larry." 78 | 79 | %message 22 80 | "It's another one of those boring works of modern art; 81 | this one is signed \"Mark Crowe.\"" 82 | 83 | %message 23 84 | "The bedspread is made of genuine, 100 per cent, acrylic zebrahide." 85 | 86 | %message 24 87 | "Congratulations, Larry!!!\n\n 88 | You've done it!!\n\n 89 | You've successfully completed your evening in Sierra World, 90 | lost your virginity, and emerged victorious!" 91 | 92 | %message 25 93 | "Of course, your feelings of success are short-lived, 94 | since this is where Ken Williams has to tell you about our 95 | soon-to-be-released sequel.\n\n 96 | Hey, Ken! Come here, and give 'em your pitch..." 97 | 98 | %message 26 99 | "\"Hi, folks! Remember, coming to this very computer Real Soon Now, 100 | is the next installment in the saga of Larry Laffer, 101 | traveling software salesman. 102 | I'd tell you the name now, but we haven't made one up yet!\n\n 103 | (Be sure to pick up a few extra copies, 104 | just in case our disk copier is screwed up again!)\"" 105 | 106 | %message 27 107 | "Oh, wait. We almost forget to tell you how well you played." 108 | 109 | %message 28 110 | "You can't bear the thought of deflating your new friend, so you don't!" 111 | 112 | %message 29 113 | "What fun is an uninflated inflatable doll?" 114 | 115 | %message 30 116 | "...thanks for playing, 117 | and be sure to tell each and every one of your friends 118 | to buy their own personal copy of this game." 119 | 120 | %message 31 121 | "Move inside the closet." 122 | 123 | %message 32 124 | "You played ok, I guess!" 125 | 126 | %message 33 127 | "On behalf of Mark and Sandy, Al and Marg, Jeff and Chris, 128 | Russ and Kim, Larry and Bob, Ken and Roberta, Bob and Marilyn and/or 129 | Bob and Jeannine, John and Mary, Bob and Carol and Ted and Alice..." 130 | 131 | %message 34 132 | "Don't you find it difficult to have a meaningful relationship with latex?" 133 | 134 | %message 35 135 | "OK." 136 | 137 | %message 36 138 | "Love ya, baby!" 139 | 140 | %message 37 141 | "Sorry. One's your limit!" 142 | 143 | %message 38 144 | "You don't have time to rest!" 145 | 146 | %message 39 147 | "You are standing." 148 | 149 | %message 40 150 | "Perhaps if you first established mouth/latex contact..." 151 | 152 | %message 41 153 | "Picking up the corner of the expensive, vinyl, zebra-skin bedspread, you 154 | discover..." 155 | 156 | %message 42 157 | "...nothing." 158 | 159 | %message 43 160 | "You can't. It's screwed to the wall." 161 | 162 | %message 44 163 | "That's not what she's for, Larry." 164 | 165 | %message 45 166 | "...and that's exactly the way she used to look!" 167 | 168 | %message 46 169 | "Ladies and gentlemen...\n\n 170 | Mr. Ken Williams!" 171 | 172 | -------------------------------------------------------------------------------- /RM33.CG: -------------------------------------------------------------------------------- 1 | [logics for room 33 -- rmOutsideChapel 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | %include "rm33.msg" 6 | %include "gamedefs.h" 7 | 8 | 9 | 10 | [ %define L_DOORS 2 11 | 12 | %define nearDoor lf0 13 | %define doorOpenDone lf1 14 | %define nearFlasher lf2 15 | %define coatOpen lf3 16 | 17 | %object aDoor 1 18 | %object aSign 2 19 | %object aFlasher 3 20 | 21 | 22 | 23 | if (initLog) 24 | { 25 | if (watchHours > 4 && [ Anything after 5 am. 26 | watchHours < 10) 27 | { 28 | NewRoom( rmSunrise); 29 | } 30 | 31 | LoadPic( currentRoom); 32 | DrawPic( currentRoom); 33 | DiscardPic( currentRoom); 34 | 35 | LoadLogics( lgcStreet); 36 | 37 | LoadView( vChapelExterior); 38 | LoadView( vFlasher); 39 | 40 | 41 | AnimateObj( aFlasher); 42 | SetView( aFlasher, vFlasher); 43 | SetCel( aFlasher, 0); 44 | Position( aFlasher, 129, 145); 45 | Draw( aFlasher); 46 | StopCycling( aFlasher); 47 | 48 | AnimateObj( aDoor); 49 | IgnoreHorizon( aDoor); 50 | IgnoreBlocks( aDoor); 51 | IgnoreObjs( aDoor); 52 | SetView( aDoor, vChapelExterior); 53 | SetLoop( aDoor, 2); 54 | SetCel( aDoor, 0); 55 | Position( aDoor, 83, 114); 56 | Draw( aDoor); 57 | work = DOOR_CYCLE_TIME; 58 | CycleTime( aDoor, work); 59 | StopUpdate( aDoor); 60 | 61 | AddToPic( vChapelExterior, 1, 0, 63, 60, 4, 4); 62 | [view, loop, cel, x, y, obj priority, box priority 63 | 64 | AnimateObj( aSign); 65 | IgnoreHorizon( aSign); 66 | IgnoreBlocks( aSign); 67 | IgnoreObjs( aSign); 68 | SetView( aSign, vChapelExterior); 69 | SetLoop( aSign, 0); 70 | Position( aSign, 86, 42); 71 | CycleTime( aSign, two); 72 | Draw( aSign); 73 | 74 | 75 | if (previousRoom == rmInsideChapel) 76 | { 77 | egoX = 93; 78 | egoY = 116; 79 | SetLoop( ego, FACING_FRONT); 80 | Reset( programControl); 81 | } 82 | else 83 | { 84 | if (previousRoom == rmDarkAlley) 85 | { 86 | egoX = 153; 87 | egoY = 138; 88 | } 89 | } 90 | PositionV( ego, egoX, egoY); 91 | Draw( ego); 92 | 93 | Call( lgcStreet); 94 | 95 | ShowPic( ); 96 | 97 | Return( ); 98 | 99 | } [ end initLOG 100 | 101 | 102 | 103 | Reset( nearDoor); 104 | if (Posn( ego, 80, 115, 105, 120)) 105 | { 106 | Set( nearDoor); 107 | } 108 | 109 | Reset( nearFlasher); 110 | if (Posn( ego, 120, 129, 142, 144)) 111 | { 112 | Set( nearFlasher); 113 | Set( nearPerson); 114 | } 115 | 116 | 117 | [***** 118 | :handleInput 119 | [***** 120 | 121 | if (!haveInput) {goto noInput;} 122 | 123 | if ((Said( look) || 124 | Said( look, room) || 125 | Said( look, building) || 126 | Said( look, chapel))) 127 | { 128 | Print( 1); 129 | } 130 | 131 | if (Said( look, man)) 132 | { 133 | if (!coatOpen) 134 | { 135 | Print( 4); 136 | } 137 | else 138 | { 139 | Print( 5); 140 | } 141 | } 142 | 143 | if (Said( talk, man, anyword, rol)) 144 | { 145 | Print( 12); 146 | } 147 | 148 | if (Said( talk, man)) 149 | { 150 | if (!coatOpen) 151 | { 152 | Print( 6); 153 | Print( 7); 154 | } 155 | else 156 | { 157 | Print( 8); 158 | if (!talkedToFlasher) 159 | { 160 | Set( talkedToFlasher); 161 | currentScore += 1; 162 | } 163 | } 164 | } 165 | 166 | if ((Said( get, coat, rol) || 167 | Said( anyword, man, rol))) 168 | { 169 | Print( 9); 170 | } 171 | 172 | 173 | if (Said( look, door)) 174 | { 175 | if (nearTaxi) 176 | { 177 | Reset( haveMatch); 178 | } 179 | else 180 | { 181 | Print( 2); 182 | } 183 | } 184 | 185 | if (Said( open, door)) 186 | { 187 | if (nearTaxi) 188 | { 189 | Reset( haveMatch); 190 | } 191 | else 192 | { 193 | if (!nearDoor) 194 | { 195 | Set( notCloseEnough); 196 | } 197 | else 198 | { 199 | Set( OK); 200 | StopMotion( ego); 201 | Set( programControl); 202 | StartUpdate( aDoor); 203 | EndOfLoop( aDoor, doorOpenDone); 204 | } 205 | } 206 | } 207 | 208 | if ((Said( look, fence) || 209 | Said( climb, fence) || 210 | Said( climb, over, fence) || 211 | Said( look, over, fence))) 212 | { 213 | Print( 10); 214 | } 215 | 216 | 217 | [***** 218 | :noInput 219 | [***** 220 | 221 | if (nearFlasher) 222 | { 223 | if (!coatOpen) 224 | { 225 | Set( coatOpen); 226 | EndOfLoop( aFlasher, done); 227 | } 228 | } 229 | else 230 | { 231 | if (coatOpen) 232 | { 233 | Reset( coatOpen); 234 | BeginningOfLoop( aFlasher, done); 235 | } 236 | } 237 | 238 | 239 | [***** 240 | :exit [ test for leaving the room 241 | [***** 242 | 243 | Call( lgcStreet); 244 | 245 | if (doorOpenDone) 246 | { 247 | Reset( programControl); 248 | newRoom = rmInsideChapel; 249 | } 250 | if (edgeEgoHit == LEFT) {newRoom = rmOutsideCasino;} 251 | if (edgeEgoHit == RIGHT) {newRoom = rmDarkAlley;} 252 | 253 | -------------------------------------------------------------------------------- /RM9.CG: -------------------------------------------------------------------------------- 1 | [logics for room 9 -- rmDarkAlley 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | %include "rm9.msg" 6 | %include "gamedefs.h" 7 | 8 | 9 | %define manOnScreen lf0 10 | %define manLeaving lf1 11 | 12 | %object aMan 1 13 | 14 | 15 | if (initLog) 16 | { 17 | LoadView( vEgoDead); 18 | LoadView( vEgoCollapsing); 19 | LoadView( vEgoGettingBeaten); 20 | LoadView( vMugger); 21 | LoadView( vMuggerAttacking); 22 | 23 | LoadSound( mAlley); 24 | 25 | LoadPic( currentRoom); 26 | DrawPic( currentRoom); 27 | DiscardPic( currentRoom); 28 | 29 | AnimateObj( aMan); 30 | IgnoreObjs( aMan); 31 | SetView( aMan, vMugger); 32 | SetLoop( aMan, FACING_LEFT); 33 | SetCel( aMan, 1); 34 | Position( aMan, 124, 131); 35 | Draw( aMan); 36 | StepSize( aMan, two); 37 | Set( scriptDone); 38 | Set( manOnScreen); 39 | 40 | if ((oldEdgeEgoHit == LEFT || 41 | oldEdgeEgoHit == RIGHT)) 42 | { 43 | if (egoY < 158) 44 | { 45 | egoY = 158; 46 | } 47 | } 48 | 49 | if ((oldEdgeEgoHit == TOP || 50 | oldEdgeEgoHit == BOTTOM)) 51 | { 52 | egoX = 77; 53 | egoY = 167; 54 | } 55 | 56 | PositionV( ego, egoX, egoY); 57 | Draw( ego); 58 | 59 | ShowPic( ); 60 | 61 | Sound( mAlley, musicDone); 62 | 63 | Return( ); 64 | 65 | } [ end initLOG 66 | 67 | 68 | 69 | [***** 70 | :handleInput 71 | [***** 72 | 73 | if (haveInput) 74 | { 75 | Set( haveMatch); 76 | if (script > 5) 77 | { 78 | Print( 4); 79 | } 80 | else 81 | { 82 | Print( 5) 83 | } 84 | } 85 | 86 | 87 | 88 | [***** 89 | :noInput 90 | [***** 91 | 92 | if (scriptDone) 93 | { 94 | Reset( scriptDone); 95 | ++script; 96 | 97 | if (script == 1) 98 | { 99 | MoveObj( aMan, 112, 131, 2, scriptDone); 100 | } 101 | 102 | if (script == 2) 103 | { 104 | FollowEgo( aMan, 8, scriptDone); 105 | } 106 | 107 | if (script == 3) 108 | { 109 | Set( handsOff); 110 | StopMotion( ego); 111 | Set( programControl); 112 | SetView( aMan, vMuggerAttacking); 113 | GetPosn( aMan, x, y); 114 | 115 | if (x < egoX) 116 | { 117 | SetLoop( aMan, 1); 118 | if (egoX > 12) 119 | { 120 | x = egoX; 121 | x -= 13; 122 | } 123 | else 124 | { 125 | x = 0; 126 | } 127 | } 128 | else 129 | { 130 | SetLoop( aMan, 0); 131 | if (egoX < 140) 132 | { 133 | x = egoX; 134 | x += 5; 135 | } 136 | else 137 | { 138 | x = 145; 139 | } 140 | } 141 | 142 | y = egoY; 143 | SetCel( aMan, 0); 144 | RepositionToV( aMan, x, y); 145 | scriptCycles = 7; 146 | } 147 | 148 | if (script == 4) 149 | { 150 | Erase( aMan); 151 | Reset( manOnScreen); 152 | 153 | Set( keepCycling); 154 | SetView( ego, vEgoGettingBeaten); 155 | if (egoX > 5) 156 | { 157 | egoX -= 5; 158 | } 159 | else 160 | { 161 | egoX = 0; 162 | } 163 | if (egoY < 162) 164 | { 165 | egoY += 5; 166 | } 167 | else 168 | { 169 | egoY = 167; 170 | } 171 | RepositionToV( ego, egoX, egoY); 172 | scriptTimer = 5; 173 | } 174 | 175 | if (script == 5) 176 | { 177 | SetView( aMan, vMugger); 178 | Draw( aMan); 179 | Wander( aMan); 180 | Set( manLeaving); 181 | scriptTimer = 3; 182 | } 183 | 184 | if (script == 6) 185 | { 186 | SetView( ego, vEgoCollapsing); 187 | currentStatus = COLLAPSING; 188 | CycleTime( ego, two); 189 | EndOfLoop( ego, scriptDone); 190 | } 191 | 192 | if (script == 6) 193 | { 194 | Print( 1); 195 | scriptTimer = 3; 196 | } 197 | 198 | if (script == 7) 199 | { 200 | Reset( keepCycling); 201 | SetView( ego, vEgoDead); 202 | currentStatus = RECYCLING; 203 | SetCel( ego, 0); 204 | if (egoX > 2) 205 | { 206 | egoX -= 3; 207 | } 208 | if (egoY < 160) 209 | { 210 | egoY += 7; 211 | } 212 | RepositionToV( ego, egoX, egoY); 213 | 214 | scriptTimer = 5; 215 | } 216 | 217 | if (script == 8) 218 | { 219 | Print( 3); 220 | Set( keepCycling); 221 | CycleTime( ego, three); 222 | EndOfLoop( ego, scriptDone); 223 | } 224 | 225 | if (script == 9) 226 | { 227 | Reset( handsOff); 228 | newRoom = rmWorkshop; 229 | } 230 | } 231 | 232 | 233 | if (musicDone && manOnScreen) 234 | { 235 | Sound( mAlley, musicDone); 236 | } 237 | 238 | 239 | [***** 240 | :exit [ test for leaving the room 241 | [***** 242 | 243 | if (manLeaving && 244 | edgeObjHit && 245 | objHitEdge == aMan) 246 | { 247 | Reset( manLeaving); 248 | Erase( aMan); 249 | StopSound(); 250 | } 251 | 252 | if (oldEdgeEgoHit == RIGHT && 253 | edgeEgoHit == LEFT) {newRoom = previousRoom;} 254 | 255 | if (oldEdgeEgoHit == LEFT && 256 | edgeEgoHit == RIGHT) {newRoom = previousRoom;} 257 | 258 | if (edgeEgoHit == BOTTOM && 259 | (oldEdgeEgoHit == TOP || 260 | oldEdgeEgoHit == BOTTOM)) {newRoom = previousRoom;} 261 | 262 | -------------------------------------------------------------------------------- /RM16.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 16 -- rmBackroom 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | 7 | %message 1 8 | "The bar's storage room is almost empty. 9 | Its most significant feature is a big, mean-looking dude." 10 | 11 | %message 2 12 | "\"Ya wanna go upstairs?\" he says in a scholarly voice, \"ya 13 | gotta pays da price!\"" 14 | 15 | %message 3 16 | "\"$100.00, cash up front, no refunds.\"" 17 | 18 | %message 4 19 | "He certainly has a pleasing manner about him." 20 | 21 | %message 5 22 | "\"Thanks,\" he growls. \"Remember, no refunds!\"" 23 | 24 | %message 6 25 | "Evidently no one in the bar wants to play \"Knock, knock\" with you." 26 | 27 | %message 7 28 | "It's the door from the bar. Its far side looks better than this side." 29 | 30 | %message 8 31 | "You don't have enough money." 32 | 33 | %message 9 34 | "\"You like that stuff, eh, boy?\"" 35 | 36 | %message 10 37 | "The pimp seems vaguely interested, 38 | but not enough to leave his post by the stairs." 39 | 40 | %message 11 41 | "The pimp growls, 42 | \"You got no business goin' up these stairs, little man!\"" 43 | 44 | %message 12 45 | "It appears you've finally reached the pimp's cultural level." 46 | 47 | %message 13 48 | "He ignores you. 49 | It looks like he's \"engrossed\" in something right now." 50 | 51 | %message 14 52 | " 53 | \"Oh, John.\" \"Oh, Marsha.\"\n 54 | \"OH, John.\" \"OH, Marsha.\"\n 55 | \"Oh, JOHN!\" \"Oh, MARSHA!\"\n 56 | \"OH, JOHN!!\" \"OH, MARSHA!!\"" 57 | 58 | %message 15 59 | "\"...I'm Al Fartles, and this is my partner, Fed Ames. 60 | We just want to tell you how much we appreciate your support...\"" 61 | 62 | %message 16 63 | "\"...and now, ALoHa Productions is proud to present 64 | 'The Revenge of the Software Developers' in full color and stereo sound...\"" 65 | 66 | %message 17 67 | "\"...while Jim is fighting for his life with the raging female rhinoceros 68 | in heat, I'll slip into my tent with the native girl and 69 | this pitcher of Mai Tais...\"" 70 | 71 | %message 18 72 | "\"...it's a beautiful day in the neighbor...\"" 73 | 74 | %message 19 75 | "\"...live from Malaga, California, 76 | it's the Cable Sports Network presentation of the 77 | Miniature Female Mud Wrestlers 500-kilometer Cross-Country 78 | Nude Bicycle Race...\"" 79 | 80 | %message 20 81 | "\"...And next, Master Piece Theatre presents a special 3-D broadcast of 82 | 'Naugahyde Goddesses of Oakhurst!'\"" 83 | 84 | %message 21 85 | "\"...oh, baby, yeah. Yeah, I love it when you do that! Ooooooooooh!! 86 | That hurts so good, pull it out a little deeper!!!\"" 87 | 88 | %message 22 89 | "The knob is broken off. There's no way to turn it." 90 | 91 | %message 23 92 | "It already is!" 93 | 94 | %message 24 95 | "You click the power switch on the remote control." 96 | 97 | %message 25 98 | "You click the channel selector on the remote control." 99 | 100 | %message 26 101 | "Nah. He's having a good time!" 102 | 103 | %message 27 104 | "They're boxes, all right." 105 | 106 | %message 28 107 | "The remote control seems ineffectual from this angle." 108 | 109 | %message 29 110 | "The TV is off." 111 | 112 | %message 30 113 | "\"Pretty good stuff, eh, boy?\" laughs the pimp." 114 | 115 | %message 34 116 | "%m56soap opera." 117 | 118 | %message 35 119 | "%m56commercial." 120 | 121 | %message 36 122 | "%m56musical comedy." 123 | 124 | %message 37 125 | "%m56documentary." 126 | 127 | %message 38 128 | "No, no!! Anything but that!" 129 | 130 | %message 39 131 | "%m56cable sports show." 132 | 133 | %message 40 134 | "%m56educational show." 135 | 136 | %message 41 137 | "Well, now. What's this??" 138 | 139 | %message 42 140 | "Slow down. You're gonna blow the punch line!" 141 | 142 | %message 43 143 | "\"Have a nice lay.\"" 144 | 145 | %message 44 146 | "He's no rocket scientist!" 147 | 148 | %message 45 149 | "Its screen is blank; much like the pimp's mind." 150 | 151 | %message 46 152 | "%m56program." 153 | 154 | %message 47 155 | "Get your mind back on the game, Larry!" 156 | 157 | %message 48 158 | "What does this look like, the ship's hold in \"King's Quest III?\"" 159 | 160 | %message 49 161 | "The walls do a good job of separating the floor from the ceiling." 162 | 163 | %message 50 164 | "It's just hanging around." 165 | 166 | %message 51 167 | "Wait 'til you get upstairs." 168 | 169 | %message 52 170 | "He's far too big, and you're far too wimpy." 171 | 172 | %message 53 173 | "\"Hey! Outta da way!!\"" 174 | 175 | %message 54 176 | "There is no need to pay; he's pleasantly distracted. Help yourself!" 177 | 178 | %message 55 179 | "You wonder what palace of earthly delights resides above you." 180 | 181 | %message 56 182 | "Another boring " 183 | 184 | %message 57 185 | "Evidently the remote control's off button is broken." 186 | 187 | %message 58 188 | "Its operation is beyond his mental capacities." 189 | 190 | %message 59 191 | "He's unaffected by the remote control." 192 | 193 | %message 60 194 | "He's too strong for you, Larry." 195 | 196 | -------------------------------------------------------------------------------- /VIEWS.H: -------------------------------------------------------------------------------- 1 | [ 2 | [ views.h 3 | [ 4 | [ LEISURE SUIT LARRY IN THE LAND OF THE LOUNGE LIZARDS VIEW DEFINITIONS 5 | [ 6 | [ Monday, April 6, 1987 at 9:01 p.m. 7 | [ Thursday, May 14, 1987 at 10:23 p.m. 8 | [ 9 | 10 | 11 | 12 | [************* VIEWS ************] 13 | %view vEgo 0 14 | %view vEgoCollapsing 1 15 | %view vEgoUndressing 2 16 | %view vEgoDrowning 3 17 | %view vEgoDead 4 18 | %view vEgoBreathSpray 5 19 | %view vEgoOnRope 6 20 | %view vEgoInHotTub 7 21 | %view vEgoWearingTowel 8 22 | %view vEgoSittingOnBed 9 23 | %view vEgoLeavingDumpster 10 24 | [ %view 11 25 | %view vEgoGettingBeaten 12 26 | %view vEgoDiscoing1 13 27 | %view vEgoFlingingFawn 14 28 | %view vEgoOnToilet 15 29 | %view vEgoWithHooker 16 30 | %view vEgoPushingElevator 17 31 | %view vEgoWithFawnRm41 18 32 | [ %view 19 33 | %view vEgoFalling 20 34 | %view vEgoMissingGroin 21 35 | %view vEgoRoadKill 22 36 | #define ROAD_KILL 22 37 | 38 | [ %view 23 39 | %view vEgoTiedOnBed 24 40 | [ %view 25 41 | %view vEgoLeavingWindow 26 42 | %view vEgoIntoDumpster 27 43 | %view vEgoOnLadder 28 44 | %view vEgoDiscoing2 29 45 | %view vEgoSittingLounge 30 46 | %view vEgoSunrise 31 47 | %view vSunrise 32 48 | %view vSunriseBang 33 49 | [ %view vEgo 34 50 | [ %view vEgo 35 51 | [ %view vEgo 36 52 | [ %view vEgo 37 53 | %view vCreditNames4 38 54 | %view vCreditNames1 39 55 | %view vCreditNames2 40 56 | %view vCreditNames3 41 57 | %view vTitles 42 58 | %view vTitleDoll 43 59 | %view vTitleEgo 44 60 | %view vKen 45 61 | [ %view 46 62 | %view vRm14Drunk 47 63 | %view vTransparentPixel 48 64 | %view vBartender 49 65 | %view vBarExterior 50 [ various lights, etc. 66 | %view vBarInterior 51 67 | %view vBarDoor 52 68 | %view vBarFlys 53 [ 2 single cels + 1 girl loop 69 | %view vBarGreaser 54 70 | %view vPainting 55 71 | %view vPimpDoor 56 72 | %view vRm14Stuff 57 73 | %view vToiletDoor 58 74 | %view vToiletOverflowing 59 75 | %view vToiletFountain 60 76 | %view vRm16Door 61 77 | %view vPimp 62 78 | %view vPimpBlockingStairs 63 79 | %view vTVOn 64 80 | %view vHookerFace 65 81 | %view vHookerWindow 66 82 | %view vHooker 67 83 | %view vCandy 68 84 | %view vRing 69 85 | [ %view 70 86 | [ %view 71 87 | %view vAlleyStuff 72 88 | %view vMugger 73 89 | %view vMuggerAttacking 74 90 | %view vDog 75 [ if dog below ego 91 | %view vDogPissing 76 92 | %view vCop 77 93 | %view vFlasher 78 94 | %view vDogPissing2 79 [ if dog behind ego 95 | %view vTaxi 80 96 | %view vTaxiDriver 81 97 | %view vTaxiMeter 82 98 | %view vTaxiWindshieldMovie 83 99 | [ %view 84 100 | %view vDeathCar 85 101 | [ %view 86 102 | [ %view 87 103 | %view vEgoAndFawnSitting 88 104 | %view vFawnFace 89 105 | %view vDiscoExterior 90 106 | %view vDiscoBouncer 91 107 | [ %view 92 108 | %view v7_11Bum 93 109 | %view vDiscoCustomers 94 110 | [ %view 95 111 | [ %view 96 112 | [ %view 97 113 | %view vFawn 98 114 | %view vFawnDancing 99 115 | %view vDiscoInterior 100 116 | 117 | [Views 101 - 129 are "Show object" inventory views, defined in "IV_VIEWS.H" 118 | 119 | %view v7_11Exterior 130 120 | [ %view 131 121 | %view v7_11Iranian 132 122 | %view v7_11Customers 133 [ 4 heads 123 | %view v7_11Interior 134 124 | %view vMagazines 135 125 | %view vCasinoExterior 136 126 | [ %view 137 127 | %view vCasinoManInBarrel 138 128 | %view vCasinoInterior 139 129 | [ %view 140 130 | %view vCasinoPatrons 141 131 | [ %view 142 132 | [ %view 143 133 | [ %view 144 134 | [ %view 145 135 | %view vMONOCardsShuffling 146 136 | %view vSlots 147 137 | %view vSlotsWinner 148 138 | %view vNonWinner 149 139 | %view vWinner 150 140 | %view vCardsShuffling 151 141 | %view vClubs 152 142 | %view vSpades 153 143 | %view vHearts 154 144 | %view vDiamonds 155 145 | %view vBlankCard 156 146 | %view vCardBack 157 147 | %view vLoungeComedian 158 148 | %view vLoungeDancers 159 149 | [ %view 160 150 | [ %view 161 151 | %view vLoungeCandles 162 152 | %view vDrummer 163 153 | %view vAshtray 164 154 | %view vElevator 165 155 | #define L_EMPTY 0 156 | #define L_FLOOR 1 157 | #define L_DOORS 2 158 | #define L_WITH_EGO 3 159 | 160 | %view vReceptionist 166 161 | %view vReceptionistFace 167 162 | %view vElevatorDoors 168 163 | %view vBedroomDoors 169 164 | %view vChapelExterior 170 165 | %view vChapelInterior 171 166 | %view vChapelMinister 172 167 | [ %view 173 168 | %view vElevatorNumbers 174 169 | %view vHoneymoonHallwayDoor 175 170 | %view vHoneymoonSuiteStuff 176 171 | %view vCloseupBubbles 177 172 | %view vFireworks 178 173 | %view vRm44ElevatorDoors 179 174 | %view vEveFace 180 175 | %view vEveInTub 181 176 | %view vEve 182 177 | #define L_WALKING_RIGHT 0 178 | #define L_SITTING_ON_BED 1 179 | #define L_AFTER_SEX 2 180 | 181 | %view vHotTubBubbles 183 182 | %view vDollDeflating 184 183 | %view vWorkshopDeadEgo 185 [ death workshop views 184 | %view vWorkshopStuff 186 185 | %view vWorkshopScientist 187 186 | %view vWorkshopMen 188 187 | %view vWorkshopLogo 189 188 | %view vWorkshopDroid 190 189 | 190 | -------------------------------------------------------------------------------- /RM12.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 12 -- rmAlley 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | 7 | %message 1 8 | "Try moving to the east end of the fire escape." 9 | 10 | %message 2 11 | "Try moving to the west end of the fire escape." 12 | 13 | %message 3 14 | "%m7 and a fence." 15 | 16 | %message 4 17 | "Nah. That room needs the fresh air!" 18 | 19 | %message 5 20 | "You are on a fire escape. 21 | A rusty ladder is at one end. 22 | East of the fire escape is another window, just out of your reach." 23 | 24 | %message 6 25 | "%m7, a fence, and something sitting in the east window." 26 | 27 | %message 7 28 | "It's a nice little alley, with a trash bin, two windows, a fire escape" 29 | 30 | %message 8 31 | "Move closer to the ladder." 32 | 33 | %message 9 34 | "(Of course, you can't play the violin now, but you get the idea.)" 35 | 36 | %message 10 37 | "Unlock it? From the outside?" 38 | 39 | %message 11 40 | "You can't. It's locked from the inside." 41 | 42 | %message 12 43 | "Looking inside the west window, you see the room you just left." 44 | 45 | %message 13 46 | "Looking at the east window, 47 | you notice a bottle of pills sitting on the window ledge." 48 | 49 | %message 14 50 | "There are two windows high above you. 51 | The west window by the fire escape has a dim, reddish glow; 52 | the east window is dark. 53 | There may be something on the sill of the east window, 54 | but you can't make it out from down here." 55 | 56 | %message 15 57 | "You broke it, didn't you?" 58 | 59 | %message 16 60 | "You lean far out over the railing before remembering that 61 | agility is yet another of your short suits." 62 | 63 | %message 17 64 | "With the rope securely holding you to the railing, 65 | you can reach all the way over to the window. 66 | NOW, of all times, you notice the window's locked!" 67 | 68 | %message 18 69 | "Subtly, you smash the window with your hammer. 70 | Your future as a second-story man seems quite plausible!" 71 | 72 | %message 19 73 | "You got 'em! But what are they?" 74 | 75 | %message 20 76 | "You might try reaching over to the window first." 77 | 78 | %message 21 79 | "You consider sticking your hand through a solid glass window, 80 | but realize that if you did, you wouldn't be able to play the violin." 81 | 82 | %message 22 83 | "It already is." 84 | 85 | %message 23 86 | "What is this; a death wish?" 87 | 88 | %message 24 89 | "You already took them. Why do this again?" 90 | 91 | %message 25 92 | "Amidst assorted, odoriferous refuse from Lefty's clientel, you discover 93 | Lefty's old, left-handed hammer." 94 | 95 | %message 26 96 | "There's nothing else here worth describing, let alone taking." 97 | 98 | %message 27 99 | "\"YUCK!!\"" 100 | 101 | %message 28 102 | "Unfortunately, you can't see much from out here." 103 | 104 | %message 29 105 | "Wow! Does your head hurt!!" 106 | 107 | %message 30 108 | "Hey! Where are you?" 109 | 110 | %message 31 111 | "After a careful analysis of your surroundings, 112 | you conclude you are at the bottom of a pile of garbage!" 113 | 114 | %message 32 115 | "Move to the front of the trash bin." 116 | 117 | %message 33 118 | "There's no way to reach the ladder from down here. 119 | It's only accessible from above." 120 | 121 | %message 34 122 | "You see alleys stretching off to infinity." 123 | 124 | %message 35 125 | "The fence is much too tall for you to climb over." 126 | 127 | %message 36 128 | "It's not long enough to reach from here." 129 | 130 | %message 37 131 | "It's not long enough to reach anywhere, 132 | but you might want to use it for safety purposes." 133 | 134 | %message 38 135 | "Be more specific." 136 | 137 | %message 39 138 | "You untie the rope." 139 | 140 | %message 40 141 | "How can you do that?" 142 | 143 | %message 41 144 | "Using the dull pocket knife, you cut the rope free." 145 | 146 | %message 42 147 | "%g176" [ That's AN idea... 148 | 149 | %message 43 150 | "A rickety fire escape, complete with safety ladder, 151 | is loosely attached to the building. 152 | A mild, reddish glow comes from the window behind it." 153 | 154 | %message 44 155 | "Unfortunately the lid on the trash bin just will not close." 156 | 157 | %message 45 158 | "Try as you might, it is impossible to move the trash bin." 159 | 160 | %message 46 161 | "The solution is closer to you than that." 162 | 163 | %message 47 164 | "There is an old neon sign hanging on the wall that says \"Hotel\"..." 165 | 166 | %message 48 167 | "...approximately." 168 | 169 | %message 49 170 | "You can't. Even its rusty bolts are too tough for you!" 171 | 172 | %message 50 173 | "Not now!" 174 | 175 | %message 51 176 | "There may be something in the east window, but from here, you're not sure." 177 | 178 | %message 52 179 | "It's a long way to the ground!" 180 | 181 | %message 53 182 | "Whee!" 183 | 184 | %message 54 185 | "Move closer to the window, if you want to go back in the hooker's room." 186 | 187 | %message 55 188 | "You reconsider after noticing the trash bin is behind where you would fall!" 189 | 190 | %message 56 191 | "You ain't got no knife!!" 192 | 193 | %message 57 194 | "You're currently all tied up!" 195 | 196 | -------------------------------------------------------------------------------- /RM43.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 43 -- rmHotTub 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | 7 | %message 1 8 | "The moon lights an expansive rooftop garden with a spa in one corner. 9 | You've found the source of the gurgling noise!" 10 | 11 | %message 2 12 | "Wasting no time, you hop into the water. 13 | Oooh, does it feel good! 14 | The warm water swirls about you, 15 | the bubbles stimulating you nearly as much as the beautiful woman across 16 | from you. 17 | With the warmth of the water soaking into your body, 18 | you become quite relaxed." 19 | 20 | %message 3 21 | "Wow! Just the way you like your women: nearby and naked! 22 | She has a beautiful tan, and a gorgeous body. 23 | You've waited a lifetime for this moment." 24 | 25 | %message 4 26 | "What a beautiful face! 27 | She's leaning back, relaxing in the spa with 28 | the water bubbling up around her. 29 | It's even possible you could become sexually aroused by this!" 30 | 31 | %message 5 32 | "Eve takes your apple, and with a sweet, innocent look, 33 | raises it to her mouth. 34 | She takes a small bite out of it, while a sexy smile comes across her face. 35 | She winks, and lies back in the water, chewing delicately." 36 | 37 | %message 6 38 | "Eve gently moves her sensuous tongue around the apple, 39 | tiny drops of the apple's juice glistening on her lips." 40 | 41 | %message 7 42 | "In the hot tub is the most beautiful girl you've ever seen! 43 | Beside her is her towel, and swim suit. 44 | You can't believe she doesn't mind your presence here." 45 | 46 | %message 8 47 | "You have no apple." 48 | 49 | %message 9 50 | "Looking over at the next hotel, you notice an ugly girl getting undressed." 51 | 52 | %message 10 53 | "She's not really that pretty." 54 | 55 | %message 11 56 | "Well, she's looking better." 57 | 58 | %message 12 59 | "You know, she's not that bad." 60 | 61 | %message 13 62 | "You could ignore some of her faults." 63 | 64 | %message 14 65 | "Perhaps you're in love!" 66 | 67 | %message 15 68 | "Pant, pant, pant, pant, pant." 69 | 70 | %message 16 71 | "Something tells you that's the wrong approach with this one, Larry." 72 | 73 | %message 17 74 | "She's really turning you on! 75 | You had no idea fruit could be so exciting." 76 | 77 | %message 18 78 | "\"Bad breath's one thing, Mister; but you could knock a buzzard off 79 | a manure truck!\"" 80 | 81 | %message 19 82 | "Nah. Who wants to go hot-tubbing alone?" 83 | 84 | %message 20 85 | "\"Hey, handsome, why don't you slip into the water with me, 86 | so we can REALLY get to know each other!\"" 87 | 88 | %message 21 89 | "Her hand is resting near a fluffy, white, expensive bath towel, 90 | embroidered in florid script with the name: \"Eve.\"" 91 | 92 | %message 22 93 | "You can take a hint. \"Let's go, baby!\" you whisper!" 94 | 95 | %message 23 96 | "\"This water feels SO good!\"" 97 | 98 | %message 24 99 | "After finishing the apple, Eve slowly slides out of the hot tub, 100 | her steamy, naked body glistening in the moonlight. 101 | Barely covering her tremendous assets with the towel, 102 | she smiles and motions for you to follow her." 103 | 104 | %message 25 105 | "\"Who loves ya, baby?\"" 106 | 107 | %message 26 108 | "\"So long, baby!\" you shout!" 109 | 110 | %message 27 111 | "As you leave the hot tub, Eve speaks at last, 112 | \"Say, Larry. You really ARE glad to see ME!!\"" 113 | 114 | %message 28 115 | "" 116 | 117 | %message 29 118 | "It's difficult to take your eyes off the beautiful woman with 119 | whom you share the hot tub." 120 | 121 | %message 30 122 | "She says nothing, but that smile tells you a lot." 123 | 124 | %message 31 125 | "Perhaps if you establish eye contact first..." 126 | 127 | %message 32 128 | "\"What's your name, gorgeous?\" you ask." 129 | 130 | %message 33 131 | "\"Have you ever tried it underwater?\" you coyly ask." 132 | 133 | %message 34 134 | "She doesn't say." 135 | 136 | %message 35 137 | "\"What's your sign, dollface?\" you ask." 138 | 139 | %message 36 140 | "At last she speaks. \"Yield,\" she says simply." 141 | 142 | %message 37 143 | "Although she smiles, it appears she's a woman of few words. 144 | She's waiting for you to determine what it is she wants!" 145 | 146 | %message 38 147 | "\"Share your wine with me?\" you ask." 148 | 149 | %message 39 150 | "She hands you the glass, and you take an uncustomarily small sip. 151 | She replenishes it from the bottle, so it appears no different 152 | than before." 153 | 154 | %message 40 155 | "It appears she doesn't like that!" 156 | 157 | %message 41 158 | "She wouldn't like that." 159 | 160 | %message 42 161 | "Say; what's this? A beautiful woman all alone in a hot tub! 162 | And, she's smiling at you? And, and..." 163 | 164 | %message 43 165 | "Why take it, when you can drink it?" 166 | 167 | %message 44 168 | "It looks like a bottle of fine champagne, suitable for two." 169 | 170 | %message 45 171 | "They ARE off." 172 | 173 | %message 46 174 | "They ARE on." 175 | 176 | %message 47 177 | "Her gold bracelet is engraved with the word \"Eve.\"" 178 | 179 | %message 48 180 | "...and, she speaks, \"Hi, handsome. Where have you been all my life?\"" 181 | 182 | %message 49 183 | "(Larry, this one seems to LIKE you!)" 184 | 185 | %message 50 186 | "SLAP!" 187 | 188 | %message 51 189 | "\"Oooh, I like that name!\"" 190 | 191 | %message 52 192 | "SLAP!\n\n 193 | SLAP!!" 194 | 195 | -------------------------------------------------------------------------------- /RM25.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 25 -- rmInsideDisco 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | 7 | %message 1 8 | "The disco is filled with remarkably similar guys, all looking for girls." 9 | 10 | %message 2 11 | "What a knock-out! 12 | She has bright blue eyes, and a dazzling smile. 13 | Your eyes roam her body, and what you see, you like. 14 | She's sensational!!" 15 | 16 | %message 3 17 | "Larry, this MUST be love!" 18 | 19 | %message 4 20 | "\"Please,\" she says coyly, \"stop staring there.\"" 21 | 22 | %message 5 23 | "Perhaps they're waiting for Fawn to return." 24 | 25 | %message 6 26 | "Not now, you're busy." 27 | 28 | %message 7 29 | "%m52dancing. I thought you'd never ask! Come on!!\"" 30 | 31 | %message 8 32 | "" 33 | 34 | %message 9 35 | "%m52roses.\"" 36 | 37 | %message 10 38 | "%m52candy.\"" 39 | 40 | %message 11 41 | "%m52diamonds.\"" 42 | 43 | %message 12 44 | "It appears Fawn has caught you a \"little short,\" Larry. 45 | Better try the casino, and hope for a run of good luck!" 46 | 47 | %message 13 48 | "\"Well, really. I'm not that kind of girl!!\"" 49 | 50 | %message 14 51 | "%m52money.\"" 52 | 53 | %message 15 54 | "\"Thanks, Larry. You won't regret this. 55 | Meet me at the Marriage Chapel near the Casino in a few minutes. 56 | I'll get us a room. Hurry, Larry, I can hardly wait!\"" 57 | 58 | %message 16 59 | "\"Oooh, you're so sweet. I just LOVE you! 60 | Larry, I want you to make wild, passionate love to me!\"" 61 | 62 | %message 17 63 | "(All right, Larry. At last, you're gonna get lucky!!)" 64 | 65 | %message 18 66 | "She continues, \"But first, we must get married. 67 | I could never make love to a man not my husband. 68 | If you would loan me a hundred dollars, 69 | I'd rent the Honeymoon Suite at the Casino Hotel for us. 70 | Then, after we're married, we'll celebrate there.\"" 71 | 72 | %message 19 73 | "\"You seem like a sweet, old-fashioned kind of guy,\" 74 | she says with a beautiful smile." 75 | 76 | %message 20 77 | "\"What! At a time like this?!\"" 78 | 79 | %message 21 80 | "\"Either give me some money, or I'll leave without you.\"" 81 | 82 | %message 22 83 | "\"That's it! See ya later, chump!\"" 84 | 85 | %message 23 86 | "\"Hi ya, Baby. What say you and me get it on?\"" 87 | 88 | %message 24 89 | "Those beautiful eyes tell you this doll requires 90 | more than your usual smooth talk." 91 | 92 | %message 25 93 | "\"Bad breath's one thing, Larry, but you could knock a buzzard off 94 | a manure truck!!\"" 95 | 96 | %message 26 97 | "She smiles and says, \"I'm just a girl who can't say no..." 98 | 99 | %message 27 100 | "(All right, Larry; this is what you've been waiting for!)" 101 | 102 | %message 28 103 | "\"...to nice presents,\" she concludes." 104 | 105 | %message 29 106 | "Her hair is beautiful, not thinning like some people we know." 107 | 108 | %message 30 109 | "\"So what?\"" 110 | 111 | %message 31 112 | "Her lips are moist and inviting, but remember that you also thought that 113 | about old Mrs. Bradley, your homeroom teacher!" 114 | 115 | %message 32 116 | "\"What's your name, beautiful?\" you ask." 117 | 118 | %message 33 119 | "\"Fawn,\" she replies." 120 | 121 | %message 34 122 | "Somehow you knew that." 123 | 124 | %message 35 125 | "\"I'm sorry, but I'll need at least a hundred dollars,\" 126 | she says with a coy smile." 127 | 128 | %message 36 129 | "You fervently hope she'll wait for your return." 130 | 131 | %message 37 132 | "Conveniently, she offers, \"I'll wait right here until you return.\"" 133 | 134 | %message 38 135 | "I AM the marrying type, but you must convince me." 136 | 137 | %message 39 138 | "\"How nice,\" she says, \"I love me, too.\"" 139 | 140 | %message 40 141 | "The dance floor is lit from below with brightly colored lights. 142 | It is presently unused." 143 | 144 | %message 41 145 | "Evidently every guy here has been turned down by the only 146 | girl in the place. 147 | Her beauty has them frozen in their tracks." 148 | 149 | %message 42 150 | "There isn't one. This place is run by computer. 151 | (Besides, at this time of night DJ should be home with Chris.)" 152 | 153 | %message 43 154 | "\"Say, Larry,\" she chuckles, glancing downward, 155 | \"is that a pez dispenser in your pocket, or are you just lonely?\"" 156 | 157 | %message 44 158 | "\"Perhaps we shall,\" she replies, \"if you play your cards right!\"" 159 | 160 | 161 | %message 46 162 | "\"Get lost, creep.\"" 163 | 164 | %message 47 165 | "\"Hey, sweetheart. What's your sign?\" you ask her." 166 | 167 | %message 48 168 | "\"Octagonal,\" she replies. \"Like in 'STOP!'\"" 169 | 170 | %message 49 171 | "\"My name is Larry,\" you offer. \"Larry Laffer.\"" 172 | 173 | %message 50 174 | "\"I'd really like to get to know you better,\" you say. 175 | \"What kind of girl are you, anyway?\"" 176 | 177 | %message 51 178 | "(Oops.)" 179 | 180 | %message 52 181 | "\"Oooh, you're so sweet. I just love " 182 | 183 | 184 | %message 57 185 | "Funny, this is a dry club." 186 | 187 | %message 58 188 | "\"So, how about it, Larry?\" Fawn says in her petite voice. 189 | \"May I have a measly hundred bucks, or not?\"" 190 | 191 | %message 59 192 | "\"Not again. That trip through the ceiling gave me a headache!\"" 193 | 194 | %message 60 195 | "SLAP!" 196 | 197 | %message 61 198 | "SLAP!\n\n 199 | SLAP!!" 200 | 201 | 202 | %message 63 203 | "They seem to be staring at something they all want." 204 | 205 | %message 64 206 | "\"Uh, gosh, Fawn,\" you mumble. \"I've only got %v90 bucks on me!\"" 207 | 208 | %message 65 209 | "Gee, Larry, this is working out swell." 210 | 211 | -------------------------------------------------------------------------------- /RM21.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 21 -- rmInside7_11 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | 7 | %message 1 8 | "You are in a 24-hour convenience store. 9 | There is a magazine rack near the front door, with a sign reading 10 | \"This no library -- no leeding.\" 11 | Except for the clerk standing behind the counter, 12 | the store appears to be deserted. A small sign graces the counter." 13 | 14 | %message 2 15 | "There are many magazines on the rack, 16 | but your eyes immediately go to the ones with the naked girls on the cover." 17 | 18 | %message 3 19 | "Move to the counter when you are ready to pay for your selections." 20 | 21 | %message 4 22 | "Shouldn't you TAKE your purchases before paying for them?" 23 | 24 | %message 5 25 | "\n\"WHAT A PERVERT!!!\"\n" 26 | 27 | %message 6 28 | "The shelves are filled with all the necessities of life: 29 | \"Dwinkies,\" \"Wallo-Wars,\" \"Loritos,\" various colas, 30 | cheap wine, and coffee. 31 | You don't see anything you really need in this part of the store." 32 | 33 | %message 7 34 | "Nah. You'd just be wasting your money." 35 | 36 | %message 8 37 | "\"You haven't used your old one yet!\"" 38 | 39 | %message 9 40 | "Apparently the clerk is new to this country. 41 | He only knows a few English words." 42 | 43 | %message 10 44 | "\"Sure, we got lubbers!\"" 45 | 46 | %message 11 47 | "(Obviously you've hit his area of expertise!)" 48 | 49 | %message 12 50 | "\"What kind lubber you want? Smooth or libbed?\"" 51 | 52 | %message 13 53 | "\"Colored or plain?\"" 54 | 55 | %message 14 56 | "\"Lubricated or rough-cut?\"" 57 | 58 | %message 15 59 | "\"Striped or plaid?\"" 60 | 61 | %message 16 62 | "\"Peppermint or spearmint flavor?\"" 63 | 64 | %message 17 65 | "\"Hey, everybody!! 66 | This weird-o just bought a %s5-flavored, %s4, %s3, %s2, %s1 lubber!!!\"" 67 | 68 | %message 18 69 | "After looking around to make certain you're alone, 70 | you quietly ask the clerk if he has any available behind the counter." 71 | 72 | %message 19 73 | "The clerk does not take kindly to your shoplifting. 74 | His shotgun makes a permanent impression on you. 75 | (And, IN you!)" 76 | 77 | %message 20 78 | "\"Oakie, doakie Meester!\"" 79 | 80 | %message 21 81 | "smooth" 82 | 83 | %message 22 84 | "libbed" 85 | 86 | %message 23 87 | "colored" 88 | 89 | %message 24 90 | "plain" 91 | 92 | %message 25 93 | "lubricated" 94 | 95 | %message 26 96 | "rough-cut" 97 | 98 | %message 27 99 | "striped" 100 | 101 | %message 28 102 | "plaid" 103 | 104 | %message 29 105 | "peppermint" 106 | 107 | %message 30 108 | "spearmint" 109 | 110 | %message 31 111 | "He hands you the package, saying 112 | \"All together, that will be $%v200.00, prease.\"" 113 | 114 | %message 32 115 | "Unfortunately, you only have $%v90.00. 116 | (Perhaps you can sneak out without paying.)" 117 | 118 | %message 33 119 | "You give him the money, with a pleasant \"Thanks a lot, big mouth!\"" 120 | 121 | %message 34 [ MUST remain 1 single space!! 122 | " " 123 | 124 | %message 35 125 | "\"Hey, Meester!!\" yells the clerk. 126 | \"I hope you enjoy your %s5-flavored, %s4, %s3, %s2, %s1 lubber!!!\"" 127 | 128 | %message 36 129 | "The magazines are on the rack nearest the door." 130 | 131 | %message 37 132 | "" 133 | 134 | %message 38 135 | "Nah. That's enough reading material for one game." 136 | 137 | %message 39 138 | "\"Ooooooh, Meester! 139 | Thank you for free money. 140 | What wonderful country thees is!!\"" 141 | 142 | %message 40 143 | "\"Oakie, doakie Meester! That'll be $%v200.00.\"" 144 | 145 | %message 41 146 | "\"Have a nice day.\"" 147 | 148 | %message 42 149 | "You grab a bottle of cheap wine, 150 | and wonder how they can make a profit selling this stuff for only a 151 | dollar a gallon!" 152 | 153 | %message 43 154 | "Not here. This place is too expensive!" 155 | 156 | %message 44 157 | "A small, discreetly hand-lettered sign says:\n\n 158 | \"Prophylactics For Sale\n 159 | Ask Clerk\"" 160 | 161 | %message 45 162 | "\"Nice turban, Leroy.\"" 163 | 164 | %message 46 165 | "\"Hey, meester! Come over here, and get your lubber!!\"" 166 | 167 | %message 47 168 | "He smiles back, pretending to understand." 169 | 170 | %message 48 171 | "The wine is on the left end of the back wall." 172 | 173 | %message 49 174 | "That extra large jug of wine looks like a bargain." 175 | 176 | %message 50 177 | "There's nothing of interest inside." 178 | 179 | %message 51 180 | "That is located behind the counter. Ask the clerk." 181 | 182 | %message 52 183 | "You still have some." 184 | 185 | %message 53 186 | "\"Here, Meester,\" he says. \"Thees smells like chur brand!\"" 187 | 188 | %message 54 189 | "Hmm. That one looks particularly interesting." 190 | 191 | %message 55 192 | "Whew. One of those bottles is about all a guy needs, Larry." 193 | 194 | %message 56 195 | "The wall behind the clerk is blank and 196 | the counter is completely bare, except for a small sign. 197 | (You wonder where he keeps the slim jims.)" 198 | 199 | %message 57 200 | "\"Sorry, no gottee!\"" 201 | 202 | %message 58 203 | "\"Fposwqa feinnzx. Ofewass gewyiu qfbva.\"" 204 | 205 | %message 59 206 | "\"Poolskd asd woefpo lkjfq feps of foeps.\"" 207 | 208 | %message 60 209 | "\"Owf wepa vpifk qpqwf? Qqwpp apifrp qp foiw!\"" 210 | 211 | %message 61 212 | "\"Tqp nbq bqopni ba ajpqoi fqyq. HA HA HA!!\"" 213 | 214 | %message 62 215 | "\"Pqwwo qfp qwfnbv qozdvie. Ppqow poqw fvzxc ioplhjk.\"" 216 | 217 | %message 63 218 | "\"Qufe weax zxo zvp zvqiw vpozcvajpbnv wf, apoz. Wfipa?\"" 219 | 220 | %message 64 221 | "\"Zxxz pofqsoo afpoistr zxcv.\"" 222 | 223 | -------------------------------------------------------------------------------- /RM52.CG: -------------------------------------------------------------------------------- 1 | [logics for room 52 -- lgc.debug 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | %include "gamedefs.h" 6 | %include "contrlrs.h" 7 | %include "colors.h" 8 | 9 | 10 | 11 | [ if (Said( blow$me, boob, hump, fag)) 12 | [ { 13 | [ Call( lgcID); 14 | [ } 15 | 16 | 17 | %message 1 "New room:" 18 | %message 2 "X coordinate:" 19 | %message 3 "Y coordinate:" 20 | %message 4 "Object number:" 21 | %message 5 "Flag number:" 22 | %message 6 "New value:" 23 | %message 7 "You gottum, Larry." 24 | %message 8 "Variable number:" 25 | %message 9 "Variable %v45 = %v46" 26 | %message 10 "Flag %v45 set" 27 | %message 11 "Flag %v45 not set" 28 | %message 12 "New priority:" 29 | %message 13 "Object %v46 is in room %v45." 30 | %message 14 "%v45|3/%v46|3" 31 | %message 15 "Room %v0|3" 32 | %message 16 "%v45|2 %o45" 33 | %message 17 "Number Name of Object" 34 | %message 18 "%v8 memory pages left." 35 | %message 19 "" 36 | %message 20 "Unknown word: \"" 37 | [ %message 21 "%m20%w1\"" 38 | [ %message 22 "%m20%w2\"" 39 | [ %message 23 "%m20%w3\"" 40 | [ %message 24 "%m20%w4\"" 41 | [ %message 25 "%m20%w5\"" 42 | [ %message 26 "%m20%w6\"" 43 | [ %message 27 "%m20%w7\"" 44 | [ %message 28 "%m20%w8\"" 45 | %message 29 "H" 46 | %message 30 " " 47 | %message 31 "" 48 | 49 | 50 | 51 | if (initLog && xyOn && monitorType != MONO) 52 | { 53 | SetTextAttribute( BROWN, BG_COLOR); 54 | ClearTextRect( 24, 26, 24, 34, BG_COLOR); 55 | Display( 24, 26, 15); 56 | SetTextAttribute( TEXT_COLOR, BG_COLOR); 57 | [ if (memoryCheck) 58 | [ { 59 | [ Log( 18); 60 | [ } 61 | } 62 | 63 | if (Controller( cObjInfo)) 64 | { 65 | GetNum( 4, debug0); 66 | if (debug0 > 15) 67 | { 68 | debug0 = 15; 69 | } 70 | ObjStatusV( debug0); 71 | } 72 | 73 | if ((Controller( cShowEgo) || 74 | Said( where))) 75 | { 76 | debug0 = 0; 77 | ObjStatusV( debug0); 78 | } 79 | 80 | if (Controller( cShowMem)) 81 | { 82 | ShowMem(); 83 | [ Log( 18); 84 | } 85 | 86 | if ((Controller( cShowPriority) || 87 | Said( show, priority))) 88 | { 89 | ShowPriScreen(); 90 | } 91 | 92 | if (monitorType != MONO) 93 | { 94 | if (handsOff) 95 | { 96 | SetTextAttribute( BROWN, BG_COLOR); 97 | Display( 24, 35, 29); 98 | SetTextAttribute( TEXT_COLOR, BG_COLOR); 99 | } 100 | else 101 | { 102 | Display( 24, 35, 30); 103 | } 104 | } 105 | 106 | 107 | if ((Controller( cInvNumbers) || 108 | Said( object, number))) 109 | { 110 | lastChar = 0; 111 | SetTextAttribute( BROWN, WHITE); 112 | TextScreen( ); 113 | Display( 2, 6, 17); 114 | debug0 = 1; [ Object number counter. 115 | x = 10; 116 | y = 4; 117 | message = 16; 118 | 119 | :mrLooper2; 120 | DisplayV( y, x, message); 121 | ++debug0; 122 | ++y; 123 | if (!debug0 > SIZE_OF_INVENTORY) 124 | { 125 | goto mrLooper2; 126 | } 127 | 128 | :checkKb2; 129 | if (!HaveKey( )) 130 | { 131 | goto checkKb2; 132 | } 133 | SetTextAttribute( TEXT_COLOR, BG_COLOR); 134 | Graphics( ); 135 | } 136 | 137 | 138 | if (Said( object, room)) 139 | { 140 | GetNum( 4, debug1); 141 | GetRoomV( debug1, debug0); 142 | Print( 13); 143 | } 144 | 145 | if (Said( set, priority)) 146 | { 147 | GetNum( 12, debug1); 148 | SetPriorityV( ego, debug1); 149 | } 150 | 151 | if (Said( release, priority)) 152 | { 153 | ReleasePriority( ego); 154 | } 155 | 156 | if (said( tp)) 157 | { 158 | GetNum( 1, debug0); 159 | NewRoomV( debug0); 160 | } 161 | 162 | if (said( position)) 163 | { 164 | GetNum( 2, debug0); 165 | GetNum( 3, debug1); 166 | RepositionToV( ego, debug0, debug1); 167 | } 168 | 169 | if (monitorType != MONO && 170 | (Said( show, position) || 171 | Said( room, number) || 172 | Said( room) || 173 | Controller( cXY) || 174 | Said( xy))) 175 | { 176 | Toggle( xyOn); 177 | SetTextAttribute( BROWN, BG_COLOR); 178 | Display( 24, 26, 15); 179 | SetTextAttribute( TEXT_COLOR, BG_COLOR); 180 | } 181 | 182 | if (monitorType != MONO && xyOn) 183 | { 184 | debug0 = egoX; 185 | debug1 = egoY; 186 | SetTextAttribute( BROWN, BG_COLOR); 187 | Display( 24, 16, 14); 188 | SetTextAttribute( TEXT_COLOR, BG_COLOR); 189 | } 190 | 191 | if ((Said( gimme, gimme) || 192 | Controller( cGimme))) 193 | { 194 | Display( 0, 0, 7); 195 | debug0 = 0; 196 | debug1 = INVENTORY; 197 | 198 | :mrLooper3; 199 | ++debug0; 200 | if (!debug0 > SIZE_OF_INVENTORY) 201 | { 202 | PutV( debug0, debug1); 203 | goto mrLooper3; 204 | } 205 | } 206 | 207 | if (Said( get, object)) 208 | { 209 | GetNum( 4, debug0); 210 | GetV( debug0); 211 | } 212 | 213 | if (Said( show, flag)) 214 | { 215 | GetNum( 5, debug0); 216 | if (IssetV( debug0)) 217 | { 218 | Print( 10); 219 | } 220 | else { 221 | Print( 11); 222 | } 223 | } 224 | 225 | if (Said( set, flag)) 226 | { 227 | GetNum( 5, debug0); 228 | SetV( debug0); 229 | } 230 | 231 | if (Said( Reset, flag)) 232 | { 233 | GetNum( 5, debug0); 234 | ResetV( debug0); 235 | } 236 | 237 | if (Said( show, var)) 238 | { 239 | GetNum( 8, debug0); 240 | debug1 =@ debug0; 241 | Print( 9); 242 | } 243 | 244 | if (Said( set, var)) 245 | { 246 | GetNum( 8, debug0); 247 | GetNum( 6, debug1); 248 | debug0 @= debug1; 249 | } 250 | 251 | [ if (unknownWord) 252 | [ { 253 | [ if (unknownWord == 1) {Log( 21);} 254 | [ if (unknownWord == 2) {Log( 22);} 255 | [ if (unknownWord == 3) {Log( 23);} 256 | [ if (unknownWord == 4) {Log( 24);} 257 | [ if (unknownWord == 5) {Log( 25);} 258 | [ if (unknownWord == 6) {Log( 26);} 259 | [ if (unknownWord == 7) {Log( 27);} 260 | [ if (unknownWord > 7) {Log( 28);} 261 | [ } 262 | 263 | 264 | [***** 265 | :exit 266 | [***** 267 | -------------------------------------------------------------------------------- /RM3.CG: -------------------------------------------------------------------------------- 1 | [logics for room 3 -- lgcQuestions1 2 | [ "Leisure-Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | %include "rm3.msg" 6 | %include "gamedefs.h" 7 | 8 | 9 | %define FIRST_QUESTION 1 10 | %define LAST_QUESTION 53 11 | 12 | %define toldLastQuestion lf1 13 | 14 | %define allsWell lv0 15 | %define question1 lv1 16 | %define question2 lv2 17 | %define question3 lv3 18 | %define question4 lv4 19 | %define question5 lv5 20 | 21 | 22 | 23 | if (initLog) 24 | { 25 | if (forceAtest) 26 | { 27 | Print( 60); 28 | currentQuestion = FIRST_QUESTION; 29 | } 30 | } [ end initLOG 31 | 32 | 33 | 34 | if (!forceAtest) 35 | { 36 | :askAgain; 37 | Random( FIRST_QUESTION, LAST_QUESTION, currentQuestion); 38 | if ((currentQuestion == question1 || 39 | currentQuestion == question2 || 40 | currentQuestion == question3 || 41 | currentQuestion == question4 || 42 | currentQuestion == question5)) 43 | { 44 | goto askAgain; 45 | } 46 | else 47 | { 48 | if (question == 1) {question1 = currentQuestion}; 49 | if (question == 2) {question2 = currentQuestion}; 50 | if (question == 3) {question3 = currentQuestion}; 51 | if (question == 4) {question4 = currentQuestion}; 52 | if (question == 5) {question5 = currentQuestion}; 53 | if (question == 6) {questionStatus = allDone;} 54 | if (question == 5 && 55 | !toldLastQuestion) 56 | { 57 | Set( toldLastQuestion); 58 | Print( 69); 59 | } 60 | 61 | ++question; 62 | } 63 | } 64 | 65 | if (currentQuestion == 1) {correctAnswer = 3;} 66 | if (currentQuestion == 2) {correctAnswer = 2;} 67 | if (currentQuestion == 3) {correctAnswer = 4;} 68 | if (currentQuestion == 4) {correctAnswer = 3;} 69 | if (currentQuestion == 5) {correctAnswer = 2;} 70 | if (currentQuestion == 6) {correctAnswer = 1;} 71 | if (currentQuestion == 7) {correctAnswer = 4;} 72 | if (currentQuestion == 8) {correctAnswer = 0;} 73 | if (currentQuestion == 9) {correctAnswer = 1;} 74 | if (currentQuestion == 10) {correctAnswer = 2;} 75 | if (currentQuestion == 11) {correctAnswer = 4;} 76 | if (currentQuestion == 12) {correctAnswer = 3;} 77 | if (currentQuestion == 13) {correctAnswer = 3;} 78 | if (currentQuestion == 14) {correctAnswer = 1;} 79 | if (currentQuestion == 15) {correctAnswer = 4;} 80 | if (currentQuestion == 16) {correctAnswer = 2;} 81 | if (currentQuestion == 17) {correctAnswer = 0;} 82 | if (currentQuestion == 18) {correctAnswer = 3;} 83 | if (currentQuestion == 19) {correctAnswer = 1;} 84 | if (currentQuestion == 20) {correctAnswer = 0;} 85 | if (currentQuestion == 21) {correctAnswer = 4;} 86 | if (currentQuestion == 22) {correctAnswer = 4;} 87 | if (currentQuestion == 23) {correctAnswer = 4;} 88 | if (currentQuestion == 24) {correctAnswer = 2;} 89 | if (currentQuestion == 25) {correctAnswer = 2;} 90 | if (currentQuestion == 26) {correctAnswer = 4;} 91 | if (currentQuestion == 27) {correctAnswer = 3;} 92 | if (currentQuestion == 28) {correctAnswer = 1;} 93 | if (currentQuestion == 29) {correctAnswer = 3;} 94 | if (currentQuestion == 30) {correctAnswer = 4;} 95 | if (currentQuestion == 31) {correctAnswer = 0;} 96 | if (currentQuestion == 32) {correctAnswer = 0;} 97 | if (currentQuestion == 33) {correctAnswer = 2;} 98 | if (currentQuestion == 34) {correctAnswer = 4;} 99 | if (currentQuestion == 35) {correctAnswer = 4;} 100 | if (currentQuestion == 36) {correctAnswer = 2;} 101 | if (currentQuestion == 37) {correctAnswer = 4;} 102 | if (currentQuestion == 38) {correctAnswer = 2;} 103 | if (currentQuestion == 39) {correctAnswer = 2;} 104 | if (currentQuestion == 40) {correctAnswer = 2;} 105 | if (currentQuestion == 41) {correctAnswer = 3;} 106 | if (currentQuestion == 42) {correctAnswer = 3;} 107 | if (currentQuestion == 43) {correctAnswer = 3;} 108 | if (currentQuestion == 44) {correctAnswer = 1;} 109 | if (currentQuestion == 45) {correctAnswer = 2;} 110 | if (currentQuestion == 46) {correctAnswer = 2;} 111 | if (currentQuestion == 47) {correctAnswer = 3;} 112 | if (currentQuestion == 48) {correctAnswer = 1;} 113 | if (currentQuestion == 49) {correctAnswer = 2;} 114 | if (currentQuestion == 50) {correctAnswer = 3;} 115 | if (currentQuestion == 51) {correctAnswer = 2;} 116 | if (currentQuestion == 52) {correctAnswer = 4;} 117 | if (currentQuestion == 53) {correctAnswer = 1;} 118 | 119 | 120 | if (questionStatus != allDone) 121 | { 122 | if (forceAtest) 123 | { 124 | ClearLines( 23, 23, 0); 125 | Display( 23, 0, 66); 126 | PrintV( currentQuestion); 127 | ++currentQuestion; 128 | if (!currentQuestion > LAST_QUESTION) 129 | { 130 | questionStatus = waitAwhile; 131 | scriptTimer = 2; 132 | } 133 | else 134 | { 135 | questionStatus = allDone; 136 | } 137 | } 138 | else 139 | { 140 | AcceptInput(); 141 | CancelLine(); 142 | PreventInput(); 143 | ClearLines( 22, 24, BG_COLOR); 144 | 145 | Set( leaveWindow); 146 | PrintV( currentQuestion); 147 | lastChar = 0; 148 | Display( 23, 0, 67); 149 | 150 | 151 | SetScanStart(); 152 | if (!lastChar) 153 | { 154 | Return(); 155 | } 156 | 157 | if (lastChar > 64 && [ ABCD 158 | lastChar < 69) 159 | { 160 | lastChar += 32; [ Convert to abcd (lower case). 161 | } 162 | 163 | if ((lastChar < 97 || 164 | lastChar > 100)) 165 | { 166 | Sound( sError, done); 167 | Return(); 168 | } 169 | ResetScanStart(); [ We've got a valid letter. 170 | 171 | 172 | answer = lastChar; 173 | lastChar = 0; 174 | answer -= 96; [ Now answer between a and d. 175 | 176 | message = 60; [ 1 less than first message # 177 | message += answer; 178 | y = 23; 179 | x = 29; 180 | DisplayV( y, x, message); 181 | questionStatus = waitAwhile; 182 | scriptTimer = 3; 183 | } 184 | } 185 | 186 | 187 | [***** 188 | :exit [ test for leaving the room 189 | [***** 190 | -------------------------------------------------------------------------------- /RM4.CG: -------------------------------------------------------------------------------- 1 | [logics for room 4 -- lgcQuestions1 2 | [ "Leisure-Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | %include "rm4.msg" 6 | %include "gamedefs.h" 7 | 8 | 9 | %define FIRST_QUESTION 1 10 | %define LAST_QUESTION 53 11 | 12 | %define toldLastQuestion lf1 13 | 14 | %define allsWell lv0 15 | %define question1 lv1 16 | %define question2 lv2 17 | %define question3 lv3 18 | %define question4 lv4 19 | %define question5 lv5 20 | 21 | 22 | 23 | if (initLog) 24 | { 25 | if (forceAtest) 26 | { 27 | Print( 60); 28 | currentQuestion = FIRST_QUESTION; 29 | } 30 | } [ end initLOG 31 | 32 | 33 | 34 | if (!forceAtest) 35 | { 36 | :askAgain; 37 | Random( FIRST_QUESTION, LAST_QUESTION, currentQuestion); 38 | if ((currentQuestion == question1 || 39 | currentQuestion == question2 || 40 | currentQuestion == question3 || 41 | currentQuestion == question4 || 42 | currentQuestion == question5)) 43 | { 44 | goto askAgain; 45 | } 46 | else 47 | { 48 | if (question == 1) {question1 = currentQuestion}; 49 | if (question == 2) {question2 = currentQuestion}; 50 | if (question == 3) {question3 = currentQuestion}; 51 | if (question == 4) {question4 = currentQuestion}; 52 | if (question == 5) {question5 = currentQuestion}; 53 | if (question == 6) {questionStatus = allDone;} 54 | if (question == 5 && 55 | !toldLastQuestion) 56 | { 57 | Set( toldLastQuestion); 58 | Print( 69); 59 | } 60 | 61 | ++question; 62 | } 63 | } 64 | 65 | if (currentQuestion == 1) {correctAnswer = 2;} 66 | if (currentQuestion == 2) {correctAnswer = 3;} 67 | if (currentQuestion == 3) {correctAnswer = 4;} 68 | if (currentQuestion == 4) {correctAnswer = 3;} 69 | if (currentQuestion == 5) {correctAnswer = 4;} 70 | if (currentQuestion == 6) {correctAnswer = 1;} 71 | if (currentQuestion == 7) {correctAnswer = 3;} 72 | if (currentQuestion == 8) {correctAnswer = 4;} 73 | if (currentQuestion == 9) {correctAnswer = 4;} 74 | if (currentQuestion == 10) {correctAnswer = 4;} 75 | if (currentQuestion == 11) {correctAnswer = 3;} 76 | if (currentQuestion == 12) {correctAnswer = 3;} 77 | if (currentQuestion == 13) {correctAnswer = 3;} 78 | if (currentQuestion == 14) {correctAnswer = 3;} 79 | if (currentQuestion == 15) {correctAnswer = 3;} 80 | if (currentQuestion == 16) {correctAnswer = 4;} 81 | if (currentQuestion == 17) {correctAnswer = 1;} 82 | if (currentQuestion == 18) {correctAnswer = 3;} 83 | if (currentQuestion == 19) {correctAnswer = 3;} 84 | if (currentQuestion == 20) {correctAnswer = 2;} 85 | if (currentQuestion == 21) {correctAnswer = 1;} 86 | if (currentQuestion == 22) {correctAnswer = 3;} 87 | if (currentQuestion == 23) {correctAnswer = 1;} 88 | if (currentQuestion == 24) {correctAnswer = 2;} 89 | if (currentQuestion == 25) {correctAnswer = 4;} 90 | if (currentQuestion == 26) {correctAnswer = 4;} 91 | if (currentQuestion == 27) {correctAnswer = 3;} 92 | if (currentQuestion == 28) {correctAnswer = 4;} 93 | if (currentQuestion == 29) {correctAnswer = 0;} 94 | if (currentQuestion == 30) {correctAnswer = 4;} 95 | if (currentQuestion == 31) {correctAnswer = 2;} 96 | if (currentQuestion == 32) {correctAnswer = 3;} 97 | if (currentQuestion == 33) {correctAnswer = 2;} 98 | if (currentQuestion == 34) {correctAnswer = 3;} 99 | if (currentQuestion == 35) {correctAnswer = 4;} 100 | if (currentQuestion == 36) {correctAnswer = 1;} 101 | if (currentQuestion == 37) {correctAnswer = 3;} 102 | if (currentQuestion == 38) {correctAnswer = 1;} 103 | if (currentQuestion == 39) {correctAnswer = 2;} 104 | if (currentQuestion == 40) {correctAnswer = 3;} 105 | if (currentQuestion == 41) {correctAnswer = 1;} 106 | if (currentQuestion == 42) {correctAnswer = 2;} 107 | if (currentQuestion == 43) {correctAnswer = 4;} 108 | if (currentQuestion == 44) {correctAnswer = 4;} 109 | if (currentQuestion == 45) {correctAnswer = 3;} 110 | if (currentQuestion == 46) {correctAnswer = 4;} 111 | if (currentQuestion == 47) {correctAnswer = 2;} 112 | if (currentQuestion == 48) {correctAnswer = 4;} 113 | if (currentQuestion == 49) {correctAnswer = 3;} 114 | if (currentQuestion == 50) {correctAnswer = 2;} 115 | if (currentQuestion == 51) {correctAnswer = 3;} 116 | if (currentQuestion == 52) {correctAnswer = 1;} 117 | if (currentQuestion == 53) {correctAnswer = 4;} 118 | 119 | 120 | if (questionStatus != allDone) 121 | { 122 | if (forceAtest) 123 | { 124 | ClearLines( 23, 23, 0); 125 | Display( 23, 0, 66); 126 | PrintV( currentQuestion); 127 | ++currentQuestion; 128 | if (!currentQuestion > LAST_QUESTION) 129 | { 130 | questionStatus = waitAwhile; 131 | scriptTimer = 2; 132 | } 133 | else 134 | { 135 | questionStatus = allDone; 136 | } 137 | } 138 | else 139 | { 140 | AcceptInput(); 141 | CancelLine(); 142 | PreventInput(); 143 | ClearLines( 22, 24, BG_COLOR); 144 | 145 | Set( leaveWindow); 146 | PrintV( currentQuestion); 147 | lastChar = 0; 148 | Display( 23, 0, 67); 149 | 150 | 151 | SetScanStart(); 152 | if (!lastChar) 153 | { 154 | Return(); 155 | } 156 | 157 | if (lastChar > 64 && [ ABCD 158 | lastChar < 69) 159 | { 160 | lastChar += 32; [ Convert to abcd (lower case). 161 | } 162 | 163 | if ((lastChar < 97 || 164 | lastChar > 100)) 165 | { 166 | Sound( sError, done); 167 | Return(); 168 | } 169 | ResetScanStart(); [ We've got a valid letter. 170 | 171 | 172 | answer = lastChar; 173 | lastChar = 0; 174 | answer -= 96; [ Now answer between a and d. 175 | 176 | message = 60; [ 1 less than first message # 177 | message += answer; 178 | y = 23; 179 | x = 29; 180 | DisplayV( y, x, message); 181 | questionStatus = waitAwhile; 182 | scriptTimer = 3; 183 | } 184 | } 185 | 186 | 187 | [***** 188 | :exit [ test for leaving the room 189 | [***** 190 | -------------------------------------------------------------------------------- /RM2.CG: -------------------------------------------------------------------------------- 1 | [logics for room 2 -- lgcQuestions1 2 | [ "Leisure-Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | %include "rm2.msg" 6 | %include "gamedefs.h" 7 | 8 | 9 | %define FIRST_QUESTION 1 10 | %define LAST_QUESTION 53 11 | 12 | %define toldLastQuestion lf1 13 | 14 | %define allsWell lv0 15 | %define question1 lv1 16 | %define question2 lv2 17 | %define question3 lv3 18 | %define question4 lv4 19 | %define question5 lv5 20 | 21 | 22 | 23 | if (initLog) 24 | { 25 | if (forceAtest) 26 | { 27 | Print( 60); 28 | currentQuestion = FIRST_QUESTION; 29 | } 30 | } [ end initLOG 31 | 32 | 33 | 34 | if (!forceAtest) 35 | { 36 | :askAgain; 37 | Random( FIRST_QUESTION, LAST_QUESTION, currentQuestion); 38 | if ((currentQuestion == question1 || 39 | currentQuestion == question2 || 40 | currentQuestion == question3 || 41 | currentQuestion == question4 || 42 | currentQuestion == question5)) 43 | { 44 | goto askAgain; 45 | } 46 | else 47 | { 48 | if (question == 1) {question1 = currentQuestion}; 49 | if (question == 2) {question2 = currentQuestion}; 50 | if (question == 3) {question3 = currentQuestion}; 51 | if (question == 4) {question4 = currentQuestion}; 52 | if (question == 5) {question5 = currentQuestion}; 53 | if (question == 6) {questionStatus = allDone;} 54 | if (question == 5 && 55 | !toldLastQuestion) 56 | { 57 | Set( toldLastQuestion); 58 | Print( 69); 59 | } 60 | 61 | ++question; 62 | } 63 | } 64 | 65 | if (currentQuestion == 1) {correctAnswer = 3;} 66 | if (currentQuestion == 2) {correctAnswer = 4;} 67 | if (currentQuestion == 3) {correctAnswer = 1;} 68 | if (currentQuestion == 4) {correctAnswer = 3;} 69 | if (currentQuestion == 5) {correctAnswer = 0;} 70 | if (currentQuestion == 6) {correctAnswer = 2;} 71 | if (currentQuestion == 7) {correctAnswer = 4;} 72 | if (currentQuestion == 8) {correctAnswer = 4;} 73 | if (currentQuestion == 9) {correctAnswer = 1;} 74 | if (currentQuestion == 10) {correctAnswer = 2;} 75 | if (currentQuestion == 11) {correctAnswer = 2;} 76 | if (currentQuestion == 12) {correctAnswer = 3;} 77 | if (currentQuestion == 13) {correctAnswer = 3;} 78 | if (currentQuestion == 14) {correctAnswer = 1;} 79 | if (currentQuestion == 15) {correctAnswer = 3;} 80 | if (currentQuestion == 16) {correctAnswer = 2;} 81 | if (currentQuestion == 17) {correctAnswer = 3;} 82 | if (currentQuestion == 18) {correctAnswer = 3;} 83 | if (currentQuestion == 19) {correctAnswer = 2;} 84 | if (currentQuestion == 20) {correctAnswer = 4;} 85 | if (currentQuestion == 21) {correctAnswer = 3;} 86 | if (currentQuestion == 22) {correctAnswer = 4;} 87 | if (currentQuestion == 23) {correctAnswer = 3;} 88 | if (currentQuestion == 24) {correctAnswer = 0;} 89 | if (currentQuestion == 25) {correctAnswer = 4;} 90 | if (currentQuestion == 26) {correctAnswer = 2;} 91 | if (currentQuestion == 27) {correctAnswer = 4;} 92 | if (currentQuestion == 28) {correctAnswer = 4;} 93 | if (currentQuestion == 29) {correctAnswer = 0;} 94 | if (currentQuestion == 30) {correctAnswer = 3;} 95 | if (currentQuestion == 31) {correctAnswer = 4;} 96 | if (currentQuestion == 32) {correctAnswer = 3;} 97 | if (currentQuestion == 33) {correctAnswer = 2;} 98 | if (currentQuestion == 34) {correctAnswer = 1;} 99 | if (currentQuestion == 35) {correctAnswer = 2;} 100 | if (currentQuestion == 36) {correctAnswer = 3;} 101 | if (currentQuestion == 37) {correctAnswer = 3;} 102 | if (currentQuestion == 38) {correctAnswer = 1;} 103 | if (currentQuestion == 39) {correctAnswer = 3;} 104 | if (currentQuestion == 40) {correctAnswer = 3;} 105 | if (currentQuestion == 41) {correctAnswer = 3;} 106 | if (currentQuestion == 42) {correctAnswer = 2;} 107 | if (currentQuestion == 43) {correctAnswer = 1;} 108 | if (currentQuestion == 44) {correctAnswer = 1;} 109 | if (currentQuestion == 45) {correctAnswer = 2;} 110 | if (currentQuestion == 46) {correctAnswer = 1;} 111 | if (currentQuestion == 47) {correctAnswer = 2;} 112 | if (currentQuestion == 48) {correctAnswer = 4;} 113 | if (currentQuestion == 49) {correctAnswer = 1;} 114 | if (currentQuestion == 50) {correctAnswer = 4;} 115 | if (currentQuestion == 51) {correctAnswer = 3;} 116 | if (currentQuestion == 52) {correctAnswer = 4;} 117 | if (currentQuestion == 53) {correctAnswer = 2;} 118 | 119 | 120 | if (questionStatus != allDone) 121 | { 122 | if (forceAtest) 123 | { 124 | ClearLines( 23, 23, 0); 125 | Display( 23, 0, 66); 126 | PrintV( currentQuestion); 127 | ++currentQuestion; 128 | if (!currentQuestion > LAST_QUESTION) 129 | { 130 | questionStatus = waitAwhile; 131 | scriptTimer = 2; 132 | } 133 | else 134 | { 135 | questionStatus = allDone; 136 | } 137 | } 138 | else 139 | { 140 | AcceptInput(); 141 | CancelLine(); 142 | PreventInput(); 143 | ClearLines( 22, 24, BG_COLOR); 144 | 145 | Set( leaveWindow); 146 | PrintV( currentQuestion); 147 | lastChar = 0; 148 | Display( 23, 0, 67); 149 | 150 | 151 | SetScanStart(); 152 | if (!lastChar) 153 | { 154 | Return(); 155 | } 156 | 157 | if (lastChar > 64 && [ ABCD 158 | lastChar < 69) 159 | { 160 | lastChar += 32; [ Convert to abcd (lower case). 161 | } 162 | 163 | if ((lastChar < 97 || [ not abcd. 164 | lastChar > 100)) 165 | { 166 | Sound( sError, done); 167 | Return(); 168 | } 169 | ResetScanStart(); [ We've got a valid letter. 170 | 171 | 172 | answer = lastChar; [ abcd. 173 | lastChar = 0; 174 | answer -= 96; [ Now answer between a and d. 175 | 176 | message = 60; [ 1 less than first message # 177 | message += answer; 178 | y = 23; 179 | x = 29; 180 | DisplayV( y, x, message); 181 | questionStatus = waitAwhile; 182 | scriptTimer = 3; 183 | } 184 | } 185 | 186 | 187 | [***** 188 | :exit [ test for leaving the room 189 | [***** 190 | -------------------------------------------------------------------------------- /RM1.CG: -------------------------------------------------------------------------------- 1 | [Logics for room 1 -- title, credits 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | %include "rm1.msg" 6 | %include "gamedefs.h" 7 | 8 | 9 | 10 | [ This loops through the title screen, and the credits screens, until a 11 | [key is pressed. It then starts the game, at room 11. 12 | 13 | [ Note: using the standard "frame" pic, first line to print on is y = 3, 14 | [lowest is y = 19. X = 4 leaves 1 character blank at LEFT edge. 15 | 16 | [ View# Name Loop Cell Size X Y Contents 17 | [--------------------------------------------------------------------- 18 | [ 39 vCreditNames1 0 0 65x23 41 94 programmed by 19 | [ 39 vCreditNames1 0 1 69x60 41 114 designed by 20 | [ 40 vCreditNames2 0 0 62x23 53 80 graphics by 21 | [ 40 vCreditNames2 0 1 44x23 65 84 written by 22 | [ 41 vCreditNames3 0 0 38x23 68 59 music by 23 | [ 41 vCreditNames3 0 1 82x56 25 155 AGI by 24 | 25 | 26 | 27 | 28 | %define designPic lv2 29 | %define creditsPic lv3 30 | %define agdsPic lv4 31 | %define framePic lv5 32 | 33 | 34 | %object aDoll 1 35 | %object aName 2 36 | 37 | 38 | 39 | if (initLog) 40 | { 41 | SetHorizon( 1); 42 | StatusLineOff(); 43 | Set( demo); 44 | Set( handsOff); 45 | Set( programControl); 46 | PreventInput(); 47 | lastChar = 0; 48 | animationInterval = NORMAL_SPEED; 49 | 50 | LoadSound( mTitle); 51 | 52 | LoadView( vTitles); 53 | LoadView( vTitleDoll); 54 | LoadView( vTitleEgo); 55 | LoadView( vCreditNames1); 56 | LoadView( vCreditNames2); 57 | LoadView( vCreditNames3); 58 | LoadView( vCreditNames4); 59 | 60 | 61 | designPic = picCredits1; 62 | creditsPic = picCredits2; 63 | agdsPic = picCredits3; 64 | 65 | 66 | LoadPic( designPic); 67 | LoadPic( creditsPic); 68 | LoadPic( agdsPic); 69 | 70 | LoadPic( currentRoom); 71 | DrawPic( currentRoom); 72 | DiscardPic( currentRoom); 73 | 74 | 75 | AnimateObj( aDoll); 76 | IgnoreObjs( aDoll); 77 | SetView( aDoll, vTitleDoll); 78 | SetLoop( aDoll, FACING_RIGHT); 79 | Position( aDoll, 0, 130); 80 | 81 | AnimateObj( aName); 82 | SetView( aName, vCreditNames1); 83 | SetCel( aName, 0); 84 | SetPriority( aName, 4); 85 | StopCycling( aName); 86 | 87 | StepSize( ego, three); 88 | Position( ego, 0, 160); 89 | SetView( ego, vTitleEgo); 90 | SetLoop( ego, FACING_RIGHT); 91 | 92 | Sound( mTitle, musicDone); 93 | script = 0; 94 | 95 | AddToPic( vTitles, 0, 0, 4, 18, 4, 4); 96 | AddToPic( vTitles, 0, 1, 4, 36, 4, 4); 97 | AddToPic( vTitles, 0, 2, 46, 36, 4, 4); 98 | AddToPic( vTitles, 0, 3, 11, 87, 4, 4); 99 | [view, loop, cel, x, y, obj priority, box priority 100 | 101 | 102 | scriptTimer = 8; 103 | ShowPic(); 104 | 105 | Return(); 106 | 107 | } [ end initLOG 108 | 109 | 110 | [***** 111 | :noInput 112 | [***** 113 | 114 | if (scriptDone) 115 | { 116 | Reset( scriptDone); 117 | ++script; 118 | 119 | if (script == 1) 120 | { 121 | Draw( aDoll); 122 | MoveObj( aDoll, 36, 94, 2, scriptDone); 123 | } 124 | 125 | 126 | if (script == 2) 127 | { 128 | MoveObj( aDoll, 136, 94, 2, scriptDone); 129 | 130 | Draw( ego); 131 | MoveObj( ego, 80, 160, 3, scriptDone); 132 | } 133 | 134 | 135 | if (script == 3) 136 | { 137 | if (monitorType != MONO) 138 | { 139 | Display( 23, 3, 2); 140 | Display( 24, 4, 3); 141 | } 142 | 143 | SetLoop( ego, 2); 144 | FixLoop( ego); 145 | MoveObj( ego, 149, 160, 2, scriptDone); 146 | } 147 | 148 | 149 | if (script == 4) 150 | { 151 | Erase( aDoll); 152 | } 153 | 154 | 155 | if (script == 5) 156 | { 157 | Erase( ego); 158 | 159 | if (monitorType != MONO) 160 | { 161 | ClearLines( 23, 24, BG_COLOR); 162 | } 163 | 164 | DrawPic( designPic); [ draw new picture (pic.2) 165 | 166 | Position( aName, 41, 94); 167 | Draw( aName); [ programmed by 168 | 169 | ShowPic(); 170 | 171 | scriptTimer = 8; 172 | } 173 | 174 | 175 | if (script == 6) 176 | { 177 | SetCel( aName, 1); [ designed by 178 | RepositionTo( aName, 41, 114); 179 | 180 | SetLoop( aDoll, FACING_LEFT); 181 | Draw( aDoll); 182 | MoveObj( aDoll, 100, 94, 2, scriptDone); 183 | } 184 | 185 | 186 | if (script == 7) 187 | { 188 | MoveObj( aDoll, 0, 94, 2, scriptDone); 189 | 190 | SetLoop( ego, FACING_LEFT); 191 | Draw( ego); 192 | MoveObj( ego, 50, 160, 3, scriptDone); 193 | } 194 | 195 | 196 | if (script == 8) 197 | { 198 | SetLoop( ego, 3); 199 | FixLoop( ego); 200 | MoveObj( ego, 0, 160, 2, scriptDone); 201 | } 202 | 203 | 204 | if (script == 9) 205 | { 206 | Erase( aDoll); 207 | } 208 | 209 | 210 | if (script == 10) 211 | { 212 | Erase( ego); 213 | SetView( ego, vEgo); 214 | Erase( aName); 215 | 216 | DrawPic( creditsPic); [ Draw pic.3 217 | SetView( aName, vCreditNames2); 218 | SetCel( aName, 0); [ graphics by 219 | Position( aName, 53, 80); 220 | Draw( aName); 221 | ShowPic(); 222 | 223 | scriptTimer = 9; 224 | } 225 | 226 | 227 | if (script == 11) 228 | { 229 | SetCel( aName, 1); [ written by 230 | RepositionTo( aName, 65, 84); 231 | scriptTimer = 8; 232 | } 233 | 234 | 235 | if (script == 12) 236 | { 237 | Erase( aName); 238 | 239 | DrawPic( agdsPic); [ draw pic.4 240 | AddToPic( vCreditNames3, 0, 0, 68, 59, 4, 4); [ Music by 241 | AddToPic( vCreditNames3, 0, 1, 25, 155, 4, 4); [ AGDS by 242 | [view, loop, cel, x, y, obj priority, box priority 243 | 244 | ShowPic(); 245 | 246 | scriptTimer = 8; 247 | } 248 | 249 | 250 | if (script == 13) 251 | { 252 | DrawPic( creditsPic); [ Draw pic.3 253 | AddToPic( vCreditNames4, 0, 0, 64, 84, 4, 4); [ Kenny 254 | ShowPic(); 255 | 256 | scriptTimer = 3; 257 | } 258 | 259 | 260 | if (script == 14 && !soundOn) 261 | { 262 | NewRoom( rmTitle); [ Let's do it again, and real soon. 263 | } 264 | } 265 | 266 | 267 | [***** 268 | :exit 269 | [***** 270 | 271 | if (musicDone) 272 | { 273 | if (script > 13) 274 | { 275 | NewRoom( rmTitle); [ Let's do it again, and real soon. 276 | } 277 | else 278 | { 279 | Sound( mTitle, musicDone); [ Play it again, Samantha. 280 | } 281 | } 282 | -------------------------------------------------------------------------------- /RM41.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 41 -- rmHoneymoonSuite 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | 7 | %message 1 8 | "Your are in the casino hotel's honeymoon suite. 9 | The heart-shaped bed is just waiting for you and Fawn. 10 | The dim lighting provides the perfect atmosphere. 11 | You've always appreciated the \"Early American Gaudy\" look. 12 | There is a radio on the shelf behind the bed." 13 | 14 | %message 2 15 | "This is the honeymoon suite. 16 | The heart-shaped bed would have been perfect for you and Fawn. 17 | Too bad things worked out like this!" 18 | 19 | %message 3 20 | "" 21 | 22 | %message 4 23 | "The radio interrupts the Frank Sinatra medley with an obnoxious 24 | singing commercial..." 25 | 26 | %message 5 27 | "\" 28 | We're Ajax Liquor,\n 29 | and we're proud to say,\n 30 | we deliver all across\n 31 | the U.S.A.\"" 32 | 33 | %message 6 34 | "\" 35 | You're out of luck\n 36 | if you want to dine,\n 37 | but if you just need booze,\n 38 | dial 555-8039!\"" 39 | 40 | %message 7 41 | "Sounds like a nice mellow station..." 42 | 43 | %message 8 44 | "\"And now, back to our music.\"" 45 | 46 | %message 9 47 | "Click." 48 | 49 | %message 10 50 | "She doesn't appear to be in the mood yet, Larry." 51 | 52 | %message 11 53 | "Good idea. Unfortunately, you have nothing with which to cut a rope, Larry." 54 | 55 | %message 12 56 | "Right!\n\n 57 | Using the pocket knife you got from the old bum by the convenience store, 58 | you saw through the ropes holding you to the bed." 59 | 60 | %message 13 61 | "You never know when a nice piece of rope will come in handy." 62 | 63 | %message 14 64 | "Since you have no way of cutting the ropes, 65 | and they're far too tightly tied for you to loosen, 66 | it looks like this is the end for you, Larry." 67 | 68 | %message 15 69 | "You can't. She fastened them quite securely!" 70 | 71 | %message 16 72 | "You can't. You're tied to a bed!" 73 | 74 | %message 17 75 | "She is so beautiful you want to do wonderful things to, er, ah, FOR her." 76 | 77 | %message 18 78 | "\"You know, a little wine would help me get in the mood, Larry.\"" 79 | 80 | %message 19 81 | "\"I'd think the least a gentleman would do is to buy a lady 82 | a bottle of wine.\"" 83 | 84 | %message 20 85 | "She looks ready, Larry." 86 | 87 | %message 21 88 | "She says, \"Lie down, Larry. 89 | I have a special surprise for you!\"" 90 | 91 | %message 22 92 | "Then she says, \"Close your eyes,\" 93 | and you do because you're sure that, finally, success is at hand." 94 | 95 | %message 23 96 | "\"Oh, Fawn!\" you moan." 97 | 98 | %message 24 99 | "You grab your wallet and look inside.\n\n 100 | Oh, well. 101 | At least she didn't find the %v90 bucks you hid in that secret compartment. 102 | With your consummate gambling skills, you should be back on your feet 103 | in no time!" 104 | 105 | %message 25 106 | "You're tied to the bed and can't move." 107 | 108 | %message 26 109 | "When Fawn has you securely tied to the bed, she grabs your wallet, saying, 110 | \"You forgot to pay me for the wine,\" then heads out the door." 111 | 112 | %message 27 113 | "\"FAWN! Come back!\" you shout. \"This isn't funny!!\"" 114 | 115 | %message 28 116 | "\"Aren't you going to pour the wine?\" she says, her eyes flashing." 117 | 118 | %message 29 119 | "\"I'm ready when you are, honey!\"\n\n 120 | Come on, Larry; what are you waiting for?" 121 | 122 | %message 30 123 | "She looks like she could use some of that wine." 124 | 125 | %message 31 126 | "There's no wine here." 127 | 128 | %message 32 129 | "Right. Sure. Pour another for her while you're at it!" 130 | 131 | %message 33 132 | "You grab the bottle, and fortify your courage with a long, hard belt!" 133 | 134 | %message 34 135 | "You carefully remove the bottle from the wine bucket, 136 | unscrew the cap, and pour two glasses. 137 | She downs her glass immediately, you refill it, and she does it again. 138 | Her eyes meet yours, and you're sure luck is with you this time!" 139 | 140 | %message 35 141 | "This room doesn't even have a telephone!" 142 | 143 | %message 36 144 | "It's pretty complicated. There's a knob that says \"On.\"" 145 | 146 | %message 37 147 | "The radio IS off." 148 | 149 | %message 38 150 | "The radio IS on." 151 | 152 | %message 39 153 | "\"Ooh, Baby!\n\n 154 | That feels so good!\n\n 155 | Ooooooooooh!!\"" 156 | 157 | %message 40 158 | "\"Hey, what's the deal with the rope?\"" 159 | 160 | %message 41 161 | "" 162 | 163 | %message 42 164 | "\"Why are you tying me to the bed?\"" 165 | 166 | %message 43 167 | "You have more important things on your mind than sitting." 168 | 169 | %message 44 170 | "This window doesn't open." 171 | 172 | %message 45 173 | "The tuning knob on the radio is stuck. 174 | Looks like you're stuck with the Easy Listening station." 175 | 176 | %message 46 177 | "You can't move the knob, 178 | but it doesn't matter since the radio isn't on anyway!" 179 | 180 | %message 47 181 | "You see the lights of Lost Wages spread out before you." 182 | 183 | %message 48 184 | "\"Oh, Larry, it's you!\" Fawn says. 185 | \"I thought it was that cute, young delivery boy again.\"" 186 | 187 | %message 49 188 | "Hmmm. Was \"Tuesday\" a good year?" 189 | 190 | %message 50 191 | "It's a table model, not a portable." 192 | 193 | %message 51 194 | "Besides, the hotel bolted it to the table." 195 | 196 | %message 52 197 | "You are unable to break the window." 198 | 199 | %message 53 200 | "You can't. 201 | It's the same brand that people can't break 202 | when they want to christen a ship!" 203 | 204 | %message 54 205 | "Move closer to the handle." 206 | 207 | %message 55 208 | "Don't you think a heart-shaped bed is trite?" 209 | 210 | %message 56 211 | "You can't. The delivery boy glued it to the table." 212 | 213 | %message 57 214 | "\"FAWN!! You scum-sucking gutter slug, get back in here!\"" 215 | 216 | %message 58 217 | "Unfortunately, your pleas go unheeded." 218 | 219 | %message 59 220 | "\"Say, Fawn, when are you going to get undressed?\"" 221 | 222 | %message 60 223 | "Hmmm. You wonder if there's any way a guy can \"consummate\" by himself?" 224 | 225 | %message 61 226 | "Larry, it looks like \"the honeymoon's over.\"" 227 | 228 | %message 62 229 | "As she heads out the door, she laughs and says, \"So long, turkey!\"" 230 | 231 | -------------------------------------------------------------------------------- /RM53.CG: -------------------------------------------------------------------------------- 1 | [Room 53 -- lgc.trace messages 2 | 3 | 4 | 5 | #message 1 "increment" 6 | #message 2 "decrement" 7 | #message 3 "assignn" 8 | #message 4 "assignv" 9 | #message 5 "addn" 10 | #message 6 "addv" 11 | #message 7 "subn" 12 | #message 8 "subv" 13 | #message 9 "lindirectv" 14 | #message 10 "rindirect" 15 | #message 11 "lindirectn" 16 | 17 | #message 12 "set" 18 | #message 13 "reset" 19 | #message 14 "toggle" 20 | #message 15 "set.v" 21 | #message 16 "reset.v" 22 | #message 17 "toggle.v" 23 | 24 | [Logics 25 | #message 18 "new.room" 26 | #message 19 "new.room.v" 27 | #message 20 "load.logics" 28 | #message 21 "load.logics.v" 29 | #message 22 "call" 30 | #message 23 "call.v" 31 | 32 | [Pictures 33 | #message 24 "load.pic" 34 | #message 25 "draw.pic" 35 | #message 26 "show.pic" 36 | #message 27 "discard.pic" 37 | #message 28 "overlay.pic" 38 | #message 29 "show.pri.screen" 39 | 40 | [Views 41 | #message 30 "load.view" 42 | #message 31 "load.view.v" 43 | #message 32 "discard.view" 44 | 45 | [Animated objects 46 | #message 33 "animate.obj" 47 | #message 34 "unanimate.all" 48 | #message 35 "draw" 49 | #message 36 "erase" 50 | #message 37 "position" 51 | #message 38 "position.v" 52 | #message 39 "get.posn" 53 | #message 40 "reposition" 54 | 55 | [Views of animated objects 56 | #message 41 "set.view" 57 | #message 42 "set.view.v" 58 | #message 43 "set.loop" 59 | #message 44 "set.loop.v" 60 | #message 45 "fix.loop" 61 | #message 46 "release.loop" 62 | #message 47 "set.cel" 63 | #message 48 "set.cel.v" 64 | #message 49 "last.cel" 65 | #message 50 "current.cel" 66 | #message 51 "current.loop" 67 | #message 52 "current.view" 68 | #message 53 "number.of.loops" 69 | 70 | [Priority control of animated objects 71 | #message 54 "set.priority" 72 | #message 55 "set.priority.v" 73 | #message 56 "release.priority" 74 | #message 57 "get.priority" 75 | 76 | [Attributes of animated objects 77 | #message 58 "stop.update" 78 | #message 59 "start.update" 79 | #message 60 "force.update" 80 | #message 61 "ignore.horizon" 81 | #message 62 "observe.horizon" 82 | #message 63 "set.horizon" 83 | #message 64 "object.onWater" 84 | #message 65 "object.on.land" 85 | #message 66 "object.on.anything" 86 | #message 67 "ignore.objs" 87 | #message 68 "observe.objs" 88 | #message 69 "distance" 89 | 90 | [Cycling of animated objects 91 | #message 70 "stop.cycling" 92 | #message 71 "start.cycling" 93 | #message 72 "normal.cycle" 94 | #message 73 "end.of.loop" 95 | #message 74 "reverse.cycle" 96 | #message 75 "reverse.loop" 97 | #message 76 "cycle.time" 98 | 99 | [Motion of animated objects 100 | #message 77 "stop.motion" 101 | #message 78 "start.motion" 102 | #message 79 "step.size" 103 | #message 80 "step.time" 104 | #message 81 "move.obj" 105 | #message 82 "move.obj.v" 106 | #message 83 "follow.ego" 107 | #message 84 "wander" 108 | #message 85 "normal.motion" 109 | #message 86 "set.dir" 110 | #message 87 "get.dir" 111 | 112 | #message 88 "ignore.blocks" 113 | #message 89 "observe.blocks" 114 | #message 90 "block" 115 | #message 91 "unblock" 116 | 117 | [Inventory objects 118 | #message 92 "get" 119 | #message 93 "get.v" 120 | #message 94 "drop" 121 | #message 95 "put" 122 | #message 96 "put.v" 123 | #message 97 "get.room.v" 124 | 125 | [Sounds 126 | #message 98 "load.sound" 127 | #message 99 "sound" 128 | #message 100 "stop.sound" 129 | 130 | [Screen Display 131 | #message 101 "print" 132 | #message 102 "print.v" 133 | #message 103 "display" 134 | #message 104 "display.v" 135 | #message 105 "clear.lines" 136 | #message 106 "text.screen" 137 | #message 107 "graphics" 138 | #message 108 "set.cursor.char" 139 | #message 109 "set.text.attribute" 140 | #message 110 "shake.screen" 141 | 142 | [Screen handling 143 | #message 111 "configure.screen" 144 | #message 112 "status.line.on" 145 | #message 113 "status.line.off" 146 | 147 | [String handling 148 | #message 114 "set.string" 149 | #message 115 "get.string" 150 | #message 116 "word.to.string" 151 | #message 117 "parse" 152 | #message 118 "get.num" 153 | 154 | [Input handling 155 | #message 119 "prevent.input" 156 | #message 120 "accept.input" 157 | #message 121 "set.key" 158 | 159 | [Add to picture 160 | #message 122 "add.to.pic" 161 | #message 123 "add.to.pic.v" 162 | 163 | [User requested actions 164 | #message 124 "status" 165 | #message 125 "save.game" 166 | #message 126 "restore.game" 167 | #message 127 "init.disk" 168 | #message 128 "restart.game" 169 | 170 | [Show object view 171 | #message 129 "show.obj" 172 | 173 | [Miscellaneous 174 | #message 130 "random" 175 | #message 131 "program.control" 176 | #message 132 "player.control" 177 | #message 133 "obj.status.v" 178 | #message 134 "quit" 179 | 180 | #message 135 "show.mem" 181 | #message 136 "pause" 182 | #message 137 "echo.line" 183 | #message 138 "cancel.line" 184 | #message 139 "init.joy" 185 | #message 140 "toggle.monitor" 186 | #message 141 "version" 187 | #message 142 "script.size" 188 | #message 143 "set.game.id" 189 | #message 144 "log" 190 | #message 145 "set.scan.start" 191 | #message 146 "reset.scan.start" 192 | 193 | #message 147 "reposition.to" 194 | #message 148 "reposition.to.v" 195 | 196 | #message 149 "trace.on" 197 | #message 150 "trace.info" 198 | 199 | #message 151 "print.at" 200 | #message 152 "print.at.v" 201 | 202 | #message 153 "discard.view.v" 203 | #message 154 "clear.text.rect" 204 | #message 155 "set.upper.left" 205 | #message 156 "set.menu" 206 | #message 157 "set.menu.item" 207 | #message 158 "submit.menu" 208 | #message 159 "enable.item" 209 | #message 160 "disable.item" 210 | 211 | #message 161 "menu.input" 212 | #message 162 "show.obj.v" 213 | 214 | #message 163 "open.dialogue" 215 | #message 164 "close.dialogue" 216 | 217 | #message 165 "mul.n" 218 | #message 166 "mul.v" 219 | #message 167 "div.n" 220 | #message 168 "div.v" 221 | 222 | #message 169 "close.window" 223 | 224 | 225 | 226 | 227 | 228 | 229 | #message 220 "equaln" 230 | #message 221 "equalv" 231 | #message 222 "lessn" 232 | #message 223 "lessv" 233 | #message 224 "greatern" 234 | #message 225 "greaterv" 235 | #message 226 "isset" 236 | #message 227 "isset.v" 237 | #message 228 "has" 238 | #message 229 "obj.in.room" 239 | #message 230 "posn" 240 | #message 231 "controller" 241 | #message 232 "have.key" 242 | #message 233 "said" 243 | #message 234 "compare.strings" 244 | #message 235 "obj.in.box" 245 | #message 236 "center.posn" 246 | #message 237 "right.posn" 247 | 248 | -------------------------------------------------------------------------------- /RM31.CG: -------------------------------------------------------------------------------- 1 | [logics for room 31 -- rmInsideCasino 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | %include "rm31.msg" 6 | %include "gamedefs.h" 7 | 8 | 9 | 10 | %define L_21_PLAYERS 0 11 | %define L_21_GIRL 1 12 | %define L_SLOT_PLAYERS 2 13 | %define L_SLOT_WINNER 3 14 | 15 | 16 | %define nearWrong21 lf0 17 | %define near21 lf1 18 | %define nearSlots lf2 19 | %define dealing lf3 20 | [%define lf4 21 | [%define lf5 22 | 23 | 24 | %define bjTimer lv0 25 | %define slotTimer lv1 26 | [%define lv2 27 | [%define lv3 28 | [%define lv4 29 | 30 | 31 | %object a21Game 1 32 | %object aSlotWinner 2 33 | [%object a 3 34 | 35 | 36 | 37 | if (initLog) 38 | { 39 | SetHorizon( 91); 40 | 41 | LoadPic( currentRoom); 42 | DrawPic( currentRoom); 43 | DiscardPic( currentRoom); 44 | 45 | LoadView( vCasinoPatrons); 46 | [ LoadView( v); 47 | 48 | AnimateObj( a21Game); 49 | IgnoreBlocks( a21Game); 50 | IgnoreObjs( a21Game); 51 | SetView( a21Game, vCasinoPatrons); 52 | SetLoop( a21Game, L_21_PLAYERS); 53 | SetCel( a21Game, 0); 54 | SetPriority( a21Game, 12); 55 | Position( a21Game, 39, 121); 56 | Draw( a21Game); 57 | StopUpdate( a21Game); 58 | bjTimer = 21; 59 | 60 | AnimateObj( aSlotWinner); 61 | SetView( aSlotWinner, vCasinoPatrons); 62 | SetLoop( aSlotWinner, L_SLOT_WINNER); 63 | SetCel( aSlotWinner, 0); 64 | Position( aSlotWinner, 113, 128); 65 | Draw( aSlotWinner); 66 | StopUpdate( aSlotWinner); 67 | slotTimer = 0; 68 | 69 | LoadView( vCasinoInterior); 70 | AddToPic( vCasinoInterior, 0, 0, 92, 116, 11, 4); 71 | AddToPic( vCasinoInterior, 0, 0, 111, 140, 13, 4); 72 | DiscardView( vCasinoInterior); 73 | 74 | AddToPic( vCasinoPatrons, L_SLOT_PLAYERS, 0, 101, 128, 11, 0); 75 | AddToPic( vCasinoPatrons, L_SLOT_PLAYERS, 1, 138, 153, 13, 0); 76 | AddToPic( vCasinoPatrons, L_SLOT_PLAYERS, 2, 125, 153, 13, 0); 77 | AddToPic( vCasinoPatrons, L_SLOT_PLAYERS, 3, 107, 104, 11, 4); 78 | AddToPic( vCasinoPatrons, L_SLOT_PLAYERS, 4, 123, 126, 13, 4); 79 | AddToPic( vCasinoPatrons, L_SLOT_PLAYERS, 5, 114, 105, 11, 4); 80 | 81 | AddToPic( vCasinoPatrons, L_21_GIRL, 0, 35, 127, 13, 4); 82 | [view, loop, cel, x, y, obj priority, box priority 83 | 84 | 85 | if (previousRoom == rmElevatorBottom) 86 | { 87 | egoX = 75; 88 | egoY = 93; 89 | } 90 | else 91 | { 92 | if ((previousRoom == rmSlots || 93 | previousRoom == rmBlackjack)) 94 | { 95 | egoX = sourceX; 96 | egoY = sourceY; 97 | } 98 | else 99 | { 100 | egoX = 77; 101 | egoY = 167; 102 | } 103 | } 104 | PositionV( ego, egoX, egoY); 105 | Draw( ego); 106 | 107 | ShowPic( ); 108 | 109 | Return( ); 110 | 111 | } [ end initLOG 112 | 113 | 114 | Reset( nearSlots); 115 | if ((Posn( ego, 106, 137, 140, 143) || 116 | Posn( ego, 108, 153, 120, 157) || 117 | Posn( ego, 89, 128, 98, 133) || 118 | Posn( ego, 88, 116, 98, 119))) 119 | { 120 | Set( nearSlots); 121 | Set( nearPerson); 122 | } 123 | 124 | Reset( near21); 125 | if (Posn( ego, 18, 133, 47, 154)) 126 | { 127 | Set( near21); 128 | Set( nearPerson); 129 | } 130 | 131 | Reset( nearWrong21); 132 | if (Posn( ego, 31, 121, 60, 136)) 133 | { 134 | Set( nearWrong21); 135 | Set( nearPerson); 136 | } 137 | 138 | 139 | [***** 140 | :handleInput 141 | [***** 142 | 143 | if (!haveInput) {goto noInput;} 144 | 145 | if ((Said( look) || 146 | Said( look, room) || 147 | Said( look, casino) || 148 | Said( look, hall))) 149 | { 150 | Print( 1); 151 | } 152 | 153 | if ((Said( talk, man) || 154 | Said( talk, women) || 155 | Said( talk, people))) 156 | { 157 | if (near21) 158 | { 159 | Print( 10); 160 | } 161 | else 162 | { 163 | Print( 9); 164 | } 165 | } 166 | 167 | if ((Said( look, man) || 168 | Said( look, women) || 169 | Said( look, people))) 170 | { 171 | Print( 6); 172 | } 173 | 174 | if ((Said( talk, blackjack, man) || 175 | Said( talk, blackjack, women) || 176 | Said( talk, blackjack, people) || 177 | Said( look, blackjack, table) || 178 | Said( look, blackjack, man) || 179 | Said( look, blackjack, women) || 180 | Said( look, blackjack, people))) 181 | { 182 | Print( 8); 183 | } 184 | 185 | 186 | if ((Said( look, table) || 187 | Said( look, blackjack) || 188 | Said( look, blackjack, table))) 189 | { 190 | if (nearWrong21) 191 | { 192 | Print( 3); 193 | } 194 | else 195 | { 196 | Print( 2); 197 | } 198 | } 199 | 200 | if (Said( look, slots)) 201 | { 202 | Print( 5); 203 | } 204 | 205 | 206 | if ((Said( bet, money) || 207 | Said( play) || 208 | Said( gamble, rol))) 209 | { 210 | Print( 7); 211 | } 212 | 213 | if ((Said( play, blackjack) || 214 | Said( sit) || 215 | Said( sit, stool) || 216 | Said( sit, down))) 217 | { 218 | if (nearWrong21) 219 | { 220 | Print( 3); 221 | } 222 | else 223 | { 224 | if (!near21) 225 | { 226 | Set( notCloseEnough); 227 | } 228 | else 229 | { 230 | Set( OK); 231 | sourceX = egoX; 232 | sourceY = egoY; 233 | newRoom = rmBlackjack; 234 | } 235 | } 236 | } 237 | 238 | if ((Said( use, slot) || 239 | Said( pull, handle) || 240 | Said( put, money, slot) || 241 | Said( put, money, machine) || 242 | Said( play, slots))) 243 | { 244 | if (!nearSlots) 245 | { 246 | Set( notCloseEnough); 247 | } 248 | else 249 | { 250 | Set( OK); 251 | sourceX = egoX; 252 | sourceY = egoY; 253 | newRoom = rmSlots; 254 | } 255 | } 256 | 257 | 258 | 259 | [***** 260 | :noInput 261 | [***** 262 | 263 | --slotTimer; 264 | if (slotTimer == 1) 265 | { 266 | SetCel( aSlotWinner, 0); 267 | StopUpdate( aSlotWinner); 268 | ForceUpdate( aSlotWinner); 269 | Random( 33, 77, bjTimer); 270 | } 271 | 272 | if (slotTimer == 21) 273 | { 274 | StartUpdate( aSlotWinner); 275 | } 276 | 277 | 278 | --bjTimer; 279 | if (bjTimer == 1) 280 | { 281 | Toggle( dealing); 282 | if (!dealing) 283 | { 284 | SetCel( a21Game, 0); 285 | StopUpdate( a21Game); 286 | ForceUpdate( a21Game); 287 | Random( 55, 222, slotTimer); 288 | } 289 | else 290 | { 291 | StartUpdate( a21Game); 292 | Random( 11, 33, bjTimer); 293 | } 294 | } 295 | 296 | 297 | [***** 298 | :exit [ test for leaving the room 299 | [***** 300 | 301 | if (edgeEgoHit == BOTTOM) {newRoom = rmOutsideCasino;} 302 | if (edgeEgoHit == TOP) {newRoom = rmElevatorBottom;} 303 | -------------------------------------------------------------------------------- /RM42.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 42 -- rmSecurityDesk 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | 7 | %message 1 8 | "%m14 A beautiful security guard sits behind a desk." 9 | 10 | %message 2 11 | "She takes one look at the bottle of Spanish Fly and says, 12 | \"Boy, thanks! How did you know that I love this stuff?!\" 13 | She tosses down a couple of pills, then a few more, 14 | and finally gulps the whole bottle! 15 | Her breathing becomes faster and faster until she begins to pant." 16 | 17 | %message 3 18 | "She is a knockout! 19 | But that pair of pistols slung around her hips brings a sense 20 | of foreboding to your gut." 21 | 22 | %message 4 23 | "(Looks like tonight's your lucky night, Larry.)" 24 | 25 | %message 5 26 | "Whee!" 27 | 28 | %message 6 29 | "The rumors were right. You are quick on the trigger, Larry!" 30 | 31 | %message 7 32 | "\"strangers in the night, da da da dee da...\"" 33 | 34 | %message 8 35 | "\"Try it, and I'll blow your head off.\"" 36 | 37 | %message 9 38 | "There are buttons labeled \"one\" through \"eight.\"" 39 | 40 | %message 10 41 | "Evidently, this exit is for employees only. You'd better use the elevator." 42 | 43 | %message 11 44 | "The beautiful security guard is sitting at the desk. 45 | A pair of large pistols are in a holster around her slim waist. 46 | She looks friendly, but quick on the trigger." 47 | 48 | %message 12 49 | "Since you're no longer staring at Faith's ample weapons, 50 | you notice an unlabeled button on her desk." 51 | 52 | %message 13 53 | "Oh, oh. Where are we goin' now, Larry?" 54 | 55 | %message 14 56 | "You are at the top floor of the hotel." 57 | 58 | %message 15 59 | "%m14 That desk is where you lost your Faith, remember? 60 | (So glad there was a chance to use THAT line!)" 61 | 62 | %message 16 63 | "A brass plate near the elevator says: \"Private.\"" 64 | 65 | %message 17 66 | "\"Hi, my name's Faith. Nice suit!\"" 67 | 68 | %message 18 69 | "\"Bad breath's one thing, Mister; 70 | but, you could knock a buzzard off a manure truck!\"" 71 | 72 | %message 19 73 | "\"Touch that button, and you're dead meat, White-Suit!\"" 74 | 75 | %message 20 76 | "\"So long!\" Faith says. 77 | \"I've got to find my boy friend before this stuff wears off!\"" 78 | 79 | %message 21 80 | "The penthouse elevator doors glide open." 81 | 82 | %message 22 83 | "The doors are securely closed. %m16 There is no button nearby." 84 | 85 | %message 23 86 | "Type a word, like \"one\" or \"two.\"" 87 | 88 | %message 24 89 | "It's a door just like all the others." 90 | 91 | %message 25 92 | "They almost look real, don't they?" 93 | 94 | %message 26 95 | "You contemplate expec- toration, but remember that discretion is the better 96 | part of valium." 97 | 98 | %message 27 99 | "...or helium," 100 | 101 | %message 28 102 | "...or something." 103 | 104 | %message 29 105 | "You run to the nearest door, and rap your knuckles loudly. 106 | You run right back to where you were." 107 | 108 | %message 30 109 | "You seem surprised that the door is locked." 110 | 111 | %message 31 112 | "(She is, of course, referring to the use of her gun, Larry.)" 113 | 114 | %message 32 115 | "\"Larry,\" you reply, getting your hopes aroused (among other things)." 116 | 117 | %message 33 118 | "It appears Faith IS true to her name. 119 | Twisting her key in the lock, she disappears down the employee stairs." 120 | 121 | %message 34 122 | "The doors are open. Go on in." 123 | 124 | %message 35 125 | "She might listen to you, if you can establish eye contact." 126 | 127 | %message 36 128 | "\"Hi ya, Baby. I think I loves ya!!\"" 129 | 130 | %message 37 131 | "\"May I help you in some way, Sir?\" she responds in a pleasant, but 132 | businesslike voice." 133 | 134 | %message 38 135 | "\"My name is Larry,\" you offer. \"Larry Laffer.\"" 136 | 137 | %message 39 138 | "\"Say, Larry,\" she says with a smile, 139 | \"Is that a roll of dimes in your pocket, or are you just glad to see me?\"" 140 | 141 | %message 40 142 | "\"Hey, sweetheart. What's your sign?\" you ask her." 143 | 144 | %message 41 145 | "\"'EXIT,\" she replies. \"Try using it!\"" 146 | 147 | %message 42 148 | "\"What's your name, beautiful?\" you ask." 149 | 150 | %message 43 151 | "\"Faith,\" she replies." 152 | 153 | %message 44 154 | "Hmmm. Unusual name." 155 | 156 | %message 45 157 | "\"I'm only in town for one night,\" you try again. 158 | \"How about we get together when you get off duty?\"" 159 | 160 | %message 46 161 | "She smiles and says, \"Oh, I could never be unfaithful to my boyfriend.\"" 162 | 163 | %message 47 164 | "(Larry, it seems this one's gonna require outside assistance.)" 165 | 166 | %message 48 167 | "Try looking at the girl first." 168 | 169 | %message 49 170 | "They are a beautiful pair, aren't they?" 171 | 172 | %message 50 173 | "Not now, you're busy." 174 | 175 | %message 51 176 | "Her sweater reveals she's built like a brick shipyard." 177 | 178 | %message 52 179 | "\"Stop staring there,\" she says softly." 180 | 181 | %message 53 182 | "\"Really? I'm not that kind of girl.\"" 183 | 184 | %message 54 185 | "Evidently the rooms on this floor are all unoccupied." 186 | 187 | %message 55 188 | "Her eyes are as sensuous as her lips." 189 | 190 | %message 56 191 | "You're a man of the world, Larry. 192 | Perhaps some sort of medical stimulant would help." 193 | 194 | %message 57 195 | "She waves back." 196 | 197 | %message 58 198 | "The glass elevator only goes down from here. How about you?" 199 | 200 | %message 59 201 | "\"I'm sorry, but I can't.\"" 202 | 203 | %message 60 204 | "It's no good. The door resists all of your efforts." 205 | 206 | %message 61 207 | "You can't. There's no key in this game!" 208 | 209 | %message 62 210 | "Suicide is illegal here." 211 | 212 | %message 63 213 | "There's no need to do that." 214 | 215 | %message 64 216 | "\"Usually when I'm with someone romantic!\" she replies." 217 | 218 | %message 65 219 | "\"You know, I'm supposed to be working!\"" 220 | 221 | %message 66 222 | "Her hair is thick and beautiful, falling in cascades around her delicate 223 | shoulders." 224 | 225 | %message 67 226 | "\"So what?\"" 227 | 228 | %message 68 229 | "Her lips are moist and inviting, but then, you also felt that way 230 | about old Mr. Weissenborn, your high school shop teacher!" 231 | 232 | %message 69 233 | "I'm sorry,\" Faith replies, \"but you don't know me that well!\"" 234 | 235 | %message 70 236 | "\"Well, now. Isn't THAT special!\"" 237 | 238 | %message 71 239 | "\"Perhaps,\" she says, \"but right now, I'm working.\"" 240 | 241 | %message 72 242 | "\"I'll be here all night.\"" 243 | 244 | -------------------------------------------------------------------------------- /RM22.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 22 -- rmOutside7_11 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | 7 | %message 1 8 | "You are outside an all-night convenience store. 9 | There is a telephone on the pole. 10 | The portion of the telephone book that wasn't illegible from 11 | being water-soaked has been torn out." 12 | 13 | %message 2 14 | "\"Slurp. Thanks, I needed that! See ya 'round!!\"" 15 | 16 | %message 3 17 | "\"Hello, you have reached the National Hot Line Sex Survey. 18 | Please answer the following questions. 19 | There may be a wonderful prize waiting for you!!\"" 20 | 21 | %message 4 22 | "\"What is the name of your favorite sex partner?\"" 23 | 24 | %message 5 25 | "\"What's the best part of your partner's anatomy?\"" 26 | 27 | %message 6 28 | "\"What do the two of you like to do together?\"" 29 | 30 | %message 7 31 | "\"What is the best part of your body?\"" 32 | 33 | %message 8 34 | "\"And, finally, name your partner's favorite object.\"" 35 | 36 | %message 9 37 | "\"Thanks for participating. Your prize is...\"" 38 | 39 | %message 10 40 | " \n 41 | \n 42 | \n" 43 | 44 | %message 11 45 | "Hum. Looks like they hung up on you. 46 | Oh, well. It was probably a bummer prize anyway!" 47 | 48 | %message 12 49 | "Where?!" 50 | 51 | %message 13 52 | "\"Ring.\"" 53 | 54 | %message 14 55 | "\"Ring ring.\"" 56 | 57 | %message 15 58 | "\"Ring ring ring.\"" 59 | 60 | %message 16 61 | "\"Ring ring ring ring.\"" 62 | 63 | %message 17 64 | "How long are we going to do this before you type in \"answer phone?!\"" 65 | 66 | %message 18 67 | "You pick up the telephone, and hear a woman's voice." 68 | 69 | %message 19 70 | "\"Hello, Larry! This is %s6. Why don't you forget this silly game, 71 | and come over to my place so we can %s8?\"" 72 | 73 | %message 20 74 | "\"After all, your %s9 has always turned me on! So bring along a %s10 and 75 | come play with my %s7! Bye, now.\"" 76 | 77 | %message 21 78 | "You hang up the telephone and wipe the sweat from your hands!" 79 | 80 | %message 22 81 | "There are some numbers scribbled on the side of the telephone. 82 | The only thing legible (and printable) is: \"555-6969.\"" 83 | 84 | %message 23 85 | "\"Howsha 'bout a drink, Shonney?\"" 86 | 87 | %message 24 88 | "\"Why, thanshk, Shonney!\" (Glug, glug.)" 89 | 90 | %message 25 91 | "\"I ain't got no remote control, but, sssshay, I'll tell ya what: 92 | here'ssh my trussshty ol' pocket knife. 93 | Ya never know! 94 | There are sssshome kinky girlssh in this town. 95 | Sssshexy hunkssh like ussh might have to defend oursshelves sometime!\"" 96 | 97 | %message 26 98 | "With that, he \"sssshtumbles\" off into the darkness." 99 | 100 | %message 27 101 | "\"Got any sshhpare change, buddy?\"" 102 | 103 | %message 28 104 | "\"Al'right. Be that way!\"" 105 | 106 | %message 29 107 | "Cheezzzz! He makes that dog smell refreshing!" 108 | 109 | %message 30 110 | "Please enter number: " 111 | 112 | %message 31 113 | "You fish a dollar out of your wallet, and hand it to the bum. 114 | \"Gossshhh thanssskks, buddy,\" he says sarcastically. 115 | \"With all thisssh, maybe I can finally invessst in sssome mutual fundsssh!\"" 116 | 117 | %message 32 118 | "He looks like a man that could (ab)use a drink." 119 | 120 | %message 33 121 | "There's nothing to see on this side of the pole." 122 | 123 | %message 34 124 | "The store is open all night for your convenience. 125 | That's why they call it an \"all-night convenience store,\" Larry!" 126 | 127 | %message 35 128 | "\"Why, thanshk, Shonney! Glug, glug.\"" 129 | 130 | %message 36 131 | "All you get is a busy signal." 132 | 133 | %message 37 134 | "Try dialing the telephone." 135 | 136 | %message 38 137 | "What's left is illegible." 138 | 139 | %message 39 140 | "Try answering the telephone." 141 | 142 | %message 40 143 | "It's not that easy; you'll have to find the correct telephone 144 | number yourself!" 145 | 146 | %message 41 147 | "Give him the bottle of what?" 148 | 149 | %message 42 150 | "\"I'm sorry, but you have reached a number that is disconnected, or 151 | no longer in service. Please hang up and dial again.\"" 152 | 153 | %message 43 154 | "\"This is a computer.\"" 155 | 156 | %message 44 157 | "\"Hello. Ajax Liquor Store. We deliver!\"" 158 | 159 | %message 45 160 | "\"So, what do you want to buy?\"" 161 | 162 | %message 46 163 | "\"Fine. Where do you want it delivered?\"" 164 | 165 | %message 47 166 | "\"Ok. We'll get it right there. Consider it done, and thanks for 167 | calling!\"" 168 | 169 | %message 48 170 | "\"Well, ok. Have ya got any spare wine, then?\"" 171 | 172 | %message 49 173 | "You find a strong aroma, which you allow him to keep!" 174 | 175 | %message 50 176 | "It's not ringing." 177 | 178 | %message 51 179 | "\"Hello.\"" 180 | 181 | %message 52 [ This must REMAIN a single blank! 182 | " " 183 | 184 | %message 53 [ The phony prompt. 185 | "]" 186 | 187 | %message 54 188 | "\"Sorry, by law all we can deliver is wine. Ok, talk to ya again 189 | sometime. Bye!\"" 190 | 191 | %message 55 192 | "\"Ok, I'll take it there, but I doubt if you ever see it! Bye!\"" 193 | 194 | %message 56 195 | "555-8039" 196 | 197 | %message 57 198 | "5558039" 199 | 200 | %message 58 201 | "555-6969" 202 | 203 | %message 59 204 | "5556969" 205 | 206 | %message 60 207 | "(209) 683-6858" 208 | 209 | %message 61 210 | "209 683-6858" 211 | 212 | %message 62 213 | "209 683-6858" 214 | 215 | %message 63 216 | "2096836858" 217 | 218 | %message 64 219 | "209683-6858" 220 | 221 | %message 65 222 | "209 6836858" 223 | 224 | %message 66 225 | "You could see better if you'd walk inside." 226 | 227 | %message 67 228 | "It IS open." 229 | 230 | %message 68 231 | "\"Hello,\" a pleasant voice responds. \"Sierra On-Line.\"" 232 | 233 | %message 69 234 | "\"We're not open right now, but if you'd call during business hours 235 | (and stop using this pretend telephone), 236 | we would be happy to sell you a 'Leisure Suit Larry Hint Book.'\"" 237 | 238 | %message 70 239 | "\"Written by Al Lowe, the author of Leisure Suit Larry, 240 | you know it at least tries to be humorous. 241 | The answers are invisible, until you mark them with the special pen provided, 242 | so you never have to worry about inadvertently learning something 243 | you didn't want to know.\"" 244 | 245 | %message 71 246 | "\"Thank you for calling Sierra On-Line, and for your purchase of 247 | 'Leisure Suit Larry in the Land of the Lounge Lizards.' Good bye.\"" 248 | 249 | %message 72 250 | "Such blatant commercialism turns you on. 251 | You make a mental note to purchase one of those great, 252 | Al Lowe Hint Books!" 253 | 254 | %message 73 255 | "Now?!" 256 | 257 | %message 74 "" [MUST REMAIN A NULL STRING!! 258 | 259 | %message 75 260 | "\"I guess that means you don't want to take the survey!\"" 261 | 262 | -------------------------------------------------------------------------------- /RM23.CG: -------------------------------------------------------------------------------- 1 | [logics for room 23 -- rmOutsideDisco 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | %include "rm23.msg" 6 | %include "gamedefs.h" 7 | 8 | 9 | 10 | %define nearBouncer lf0 11 | %define readMessage lf1 12 | %define preventBouncer lf2 13 | %define stopBouncer lf3 14 | %define bouncerWorking lf4 15 | 16 | %object aSign1 1 17 | %object aSign2 2 18 | %object aSign3 3 19 | %object aBouncer 4 20 | 21 | 22 | 23 | if (initLog) 24 | { 25 | if (watchHours > 4 && [ Anything after 5 am. 26 | watchHours < 10) 27 | { 28 | NewRoom( rmSunrise); 29 | } 30 | 31 | SetHorizon( 76); 32 | 33 | LoadLogics( lgcStreet); 34 | 35 | LoadPic( currentRoom); 36 | DrawPic( currentRoom); 37 | DiscardPic( currentRoom); 38 | 39 | LoadView( vDiscoExterior); 40 | LoadView( vDiscoBouncer); 41 | 42 | if (slowProcessor) 43 | { 44 | AddToPic( vDiscoExterior, 0, 1, 64, 59, 15, 4); 45 | [view, loop, cel, x, y, obj priority, box priority 46 | } 47 | else 48 | { 49 | AnimateObj( aSign1); 50 | IgnoreHorizon( aSign1); 51 | SetView( aSign1, vDiscoExterior); 52 | SetLoop( aSign1, 0); 53 | Position( aSign1, 64, 59); 54 | SetPriority( aSign1, 15); 55 | Draw( aSign1); 56 | } 57 | 58 | AnimateObj( aSign2); 59 | IgnoreHorizon( aSign2); 60 | SetView( aSign2, vDiscoExterior); 61 | SetLoop( aSign2, 1); 62 | SetCel( aSign2, 0); 63 | Position( aSign2, 39, 66); 64 | CycleTime( aSign2, two); 65 | Draw( aSign2); 66 | 67 | AnimateObj( aSign3); 68 | IgnoreHorizon( aSign3); 69 | SetView( aSign3, vDiscoExterior); 70 | SetLoop( aSign3, 1); 71 | SetCel( aSign3, 1); 72 | Position( aSign3, 103, 66); 73 | CycleTime( aSign3, two); 74 | Draw( aSign3); 75 | 76 | AnimateObj( aBouncer); 77 | IgnoreBlocks( aBouncer); 78 | SetView( aBouncer, vDiscoBouncer); 79 | SetCel( aBouncer, 0); 80 | 81 | if (previousRoom == rmInsideDisco) 82 | { 83 | IgnoreBlocks( ego); 84 | Set( preventBouncer); 85 | Position( aBouncer, 73, 120); 86 | 87 | egoX = 77; 88 | egoY = 83; 89 | } 90 | else 91 | { 92 | Position( aBouncer, 76, 120); 93 | ObserveBlocks( ego); 94 | 95 | if (previousRoom != rmOutside7_11 && 96 | previousRoom != rmDarkAlley) 97 | { 98 | egoX = 77; 99 | egoY = 146; 100 | } 101 | } 102 | PositionV( ego, egoX, egoY); 103 | Draw( ego); 104 | 105 | Draw( aBouncer); 106 | StopUpdate( aBouncer); 107 | 108 | Call( lgcStreet); 109 | 110 | ShowPic( ); 111 | 112 | Return( ); 113 | 114 | } [ end initLOG 115 | 116 | 117 | 118 | Reset( nearBouncer); 119 | if (Posn( ego, 65, 120, 91, 127)) 120 | { 121 | Set( nearBouncer); 122 | Set( nearPerson); 123 | } 124 | 125 | 126 | [***** 127 | :handleInput 128 | [***** 129 | 130 | if (!haveInput) {goto noInput;} 131 | 132 | if ((Said( look) || 133 | Said( look, building) || 134 | Said( look, room) || 135 | Said( look, disco))) 136 | { 137 | Print( 1); 138 | } 139 | 140 | if (Said( look, light)) 141 | { 142 | Print( 16); 143 | } 144 | 145 | if (Said( look, fireplug)) 146 | { 147 | Print( 24); 148 | } 149 | 150 | if (Said( look, building)) 151 | { 152 | Print( 14); 153 | Print( 15); 154 | } 155 | 156 | 157 | 158 | [ Here's the bouncer's stuff: 159 | 160 | if ((Said( talk, man) || 161 | Said( talk))) 162 | { 163 | if (!nearBouncer) 164 | { 165 | Set( notCloseEnough); 166 | } 167 | else 168 | { 169 | if (preventBouncer) 170 | { 171 | Print( 7); 172 | } 173 | else 174 | { 175 | Print( 2); 176 | Print( 5); 177 | } 178 | } 179 | } 180 | 181 | if ((Said( look, man) || 182 | Said( look))) 183 | { 184 | if (preventBouncer) 185 | { 186 | Print( 10); 187 | } 188 | else 189 | { 190 | Print( 11); 191 | } 192 | } 193 | 194 | if ((Said( move, man) || 195 | Said( push, man))) 196 | { 197 | if (!nearBouncer) 198 | { 199 | Set( notCloseEnough); 200 | } 201 | else 202 | { 203 | Print( 17); 204 | } 205 | } 206 | 207 | 208 | if ((Said( hit, man) || 209 | Said( kill, man))) 210 | { 211 | Print( 12); 212 | Print( 13); 213 | } 214 | 215 | if ((Said( offer, bouncer, money) || 216 | Said( offer, money, bouncer) || 217 | Said( bribe, bouncer))) 218 | { 219 | if (!nearBouncer) 220 | { 221 | Set( notCloseEnough); 222 | } 223 | else 224 | { 225 | Print( 22); 226 | Print( 23); 227 | } 228 | } 229 | 230 | if ((Said( buy, card, from, man) || 231 | Said( pay, man) || 232 | Said( ask, man, about, card) || 233 | Said( ask, man, card))) 234 | { 235 | if (!nearBouncer) 236 | { 237 | Set( notCloseEnough); 238 | } 239 | else 240 | { 241 | Print( 20); 242 | Print( 21); 243 | } 244 | } 245 | 246 | if ((Said( show, pass) || 247 | Said( give, pass, man) || 248 | Said( give, man, pass) || 249 | Said( give, pass) || 250 | Said( show, man, pass) || 251 | Said( show, pass, man))) 252 | { 253 | if (!Has( iDiscoPass)) 254 | { 255 | Print( 6); 256 | } 257 | else 258 | { 259 | if (!nearBouncer) 260 | { 261 | Set( notCloseEnough); 262 | } 263 | else 264 | { 265 | if (preventBouncer) 266 | { 267 | Print( 8); 268 | } 269 | else 270 | { 271 | Print( 4); 272 | Print( 3); 273 | Set( preventBouncer); 274 | StartUpdate( aBouncer); 275 | SetCel( aBouncer, 0); 276 | RepositionTo( aBouncer, 73, 120); 277 | StopUpdate( aBouncer); 278 | ForceUpdate( aBouncer); 279 | IgnoreBlocks( ego); 280 | if (!shownPassToBouncer) 281 | { 282 | Set( shownPassToBouncer); 283 | currentScore += 5; 284 | } 285 | 286 | } 287 | } 288 | } 289 | } 290 | 291 | 292 | 293 | [ Errors, but still I'm gracious enough to handle them... 294 | 295 | if ((Said( open, door) || 296 | Said( knock) || 297 | Said( knock, on, door) || 298 | Said( knock, door))) 299 | { 300 | if (nearTaxi) 301 | { 302 | Reset( haveMatch); 303 | } 304 | else 305 | { 306 | Print( 19); 307 | } 308 | } 309 | 310 | 311 | [***** 312 | :noInput 313 | [***** 314 | 315 | if (!preventBouncer) 316 | { 317 | if (nearBouncer && !bouncerWorking) 318 | { 319 | Set( bouncerWorking); 320 | StartUpdate( aBouncer); 321 | EndOfLoop( aBouncer, stopBouncer); 322 | } 323 | else 324 | { 325 | if (!nearBouncer && bouncerWorking) 326 | { 327 | Reset( bouncerWorking); 328 | SetCel( aBouncer, 0); 329 | ForceUpdate( aBouncer); 330 | Set( stopBouncer); 331 | } 332 | } 333 | 334 | if (stopBouncer) 335 | { 336 | Reset( stopBouncer); 337 | StopUpdate( aBouncer); 338 | 339 | if (!readMessage) 340 | { 341 | Set( readMessage); 342 | Print( 9); 343 | } 344 | } 345 | } 346 | 347 | 348 | 349 | [***** 350 | :exit [ test for leaving the room 351 | [***** 352 | 353 | Call( lgcStreet); 354 | 355 | if (edgeEgoHit == LEFT) {newRoom = rmOutside7_11;} 356 | if (edgeEgoHit == TOP) {newRoom = rmInsideDisco;} 357 | if (edgeEgoHit == RIGHT) {newRoom = rmDarkAlley;} 358 | -------------------------------------------------------------------------------- /RM15.MSG: -------------------------------------------------------------------------------- 1 | [messages for room 15 -- rmInsideBar 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | 6 | 7 | %message 1 8 | "This is the sleaziest bar you've ever been in. 9 | And you've been in quite a few." 10 | 11 | %message 2 12 | "You are standing." 13 | 14 | %message 3 15 | "You are sitting." 16 | 17 | %message 4 18 | "You insert a dollar into the juke box, and select a suitably sleazy song." 19 | 20 | %message 5 21 | "You rap loudly on the naugahyde door. 22 | You wonder how many naugas had to give their 23 | all just to decorate this sleazehole." 24 | 25 | %message 6 26 | "So what?" 27 | 28 | %message 7 29 | "\"Yeah. Whatsda passwoid?\"" 30 | 31 | %message 8 32 | "\"Scram, dog breath!\"" 33 | 34 | %message 9 35 | "\"Come on in!\"" 36 | 37 | %message 10 38 | "\"...blah, blah, blah, blah, blah...\"" 39 | 40 | %message 11 41 | "\"...a lotta guys just leave her hanging in a tree somewhere!\"" 42 | 43 | %message 12 44 | "\"...'cause Thursday's your night in the barrel!\"" 45 | 46 | %message 13 47 | "\"...just think of the money he saved!\"" 48 | 49 | %message 14 50 | "\"...and there stood the pig and the cow!\"" 51 | 52 | %message 15 53 | "\"...dammit Liza, doncha know ya own reflection?\"" 54 | 55 | %message 16 56 | "\"...we are coming back this way, aren't we?\"" 57 | 58 | %message 17 59 | "\"...You idiot! I said POSSE!!\"" 60 | 61 | %message 18 62 | "\"...nobody can eat THAT much ice cream!\"" 63 | 64 | %message 19 65 | "\"...25 bucks, same as in town!\"" 66 | 67 | %message 20 68 | "You'd better sit down first." 69 | 70 | %message 21 71 | "You greet the bartender.\n\n 72 | \"What'll it be,\" Lefty responds, \"whiskey, wine or beer?\"" 73 | 74 | %message 22 75 | "\"I'll have a glass of your fine, well whiskey!\" you tell Lefty." 76 | 77 | %message 23 78 | "\"Gimme a mug o' beer!\" you order Lefty." 79 | 80 | %message 24 81 | "\"That'll be $3.00, please.\"" 82 | 83 | %message 25 84 | "You flip three bucks onto the counter." 85 | 86 | %message 26 87 | "\"I'm presently a little short,\" you stammer." 88 | 89 | %message 27 90 | "\"Yeah, and not just in the financial department, I bet!\" he replies, 91 | grabbing back your order." 92 | 93 | %message 28 94 | "You down the beer in your pseudo-macho style, 95 | and slam the mug back on the bar." 96 | 97 | %message 29 98 | "You delicately sip the wine until it's all gone.\n\n 99 | You tell Lefty, 100 | \"I find this impudent and sassy, with the slightest hint of impertinence.\"" 101 | 102 | %message 30 103 | "He gazes at you longingly and moistens his lips!" 104 | 105 | %message 31 106 | "Suddenly you feel a little woozy." 107 | 108 | %message 32 109 | "This one tastes even better than the last. 110 | One more sounds like a good idea." 111 | 112 | %message 33 113 | "Try sitting at the bar; that usually gets Lefty's attention." 114 | 115 | %message 34 116 | "It's not good etiquette to drink standing up." 117 | 118 | %message 35 119 | "Since you can only balance one open glass of whiskey at a time, 120 | you toss this one down immediately." 121 | 122 | %message 36 123 | "\"May I please have a glass of your delicate white zinfandel, sir?\" 124 | you ask Lefty." 125 | 126 | %message 37 127 | "Hey, was that your voice?" 128 | 129 | %message 38 130 | "You don't drink the whiskey, but instead, 131 | decide to carry it with you wherever you go, 132 | precariously balanced in an open shot glass." 133 | 134 | %message 39 135 | "The whiskey burns its way down your throat. 136 | You vow to never again buy a \"well\" brand." 137 | 138 | %message 40 139 | "Hold on; you haven't got your last order yet!" 140 | 141 | %message 41 142 | "You feel a little light-headed." 143 | 144 | %message 42 145 | "Shaking your head, you clear away the cobwebs and are able to once again 146 | walk in your standard, studly style." 147 | 148 | %message 43 149 | "\"Cram it, clown!\" you tell the bore on the stool next to you!" 150 | 151 | %message 44 152 | "\"Same to ya!\" shouts Lefty." 153 | 154 | %message 45 155 | "It's an antique, left over from \"King's Quest III.\"" 156 | 157 | %message 46 158 | "Patience, Larry; patience!" 159 | 160 | %message 47 161 | "The door is locked. And, there is no key." 162 | 163 | %message 48 164 | "She may not be a great looker, but think of the muscles in that leg." 165 | 166 | %message 49 167 | "It's just going around in circles..." 168 | 169 | %message 50 170 | "...like your life." 171 | 172 | %message 51 173 | "You don't know much about art, but you do know what you like!" 174 | 175 | %message 52 176 | "You mean to say you're playing a 3-D adventure game, 177 | and all you want is LIGHT beer??" 178 | 179 | %message 53 180 | "They're just sitting at the bar, drinking their livers into oblivion." 181 | 182 | %message 54 183 | "\"Sorry, we don't sell them sissy drinks here,\" says Lefty. 184 | \"We got whiskey, wine and beer. What do you want?\"" 185 | 186 | %message 55 187 | "My, aren't we the little savage! 188 | Didn't your mother teach you anything?" 189 | 190 | %message 56 191 | "\"Who cares,\" she replies sarcastically. 192 | \"Stop bugging me, or I'll have my boy friend 193 | take care of you when he gets back from the rest room!\"" 194 | 195 | %message 57 196 | "Looks like you're operating at your standard level of charm, Larry." 197 | 198 | %message 58 199 | "\"Har, har!!\"" 200 | 201 | %message 59 202 | "He has nothing to say, but says it continuously." 203 | 204 | %message 60 205 | "\"Hi there, lovely legs!\" you say sweetly. 206 | \"My name's Larry; Larry Laffer.\"" 207 | 208 | %message 61 209 | "They have no comment." 210 | 211 | %message 62 212 | "He's not bothering you now; leave him alone, you big bully!" 213 | 214 | %message 63 215 | "You can't. There's no key in this game!" 216 | 217 | %message 64 218 | "Gee, Dad. It's a Wurlitzer!" 219 | 220 | %message 65 221 | "The peephole is locked from the inside." 222 | 223 | %message 66 224 | "Boy, are you drunk!" 225 | 226 | %message 67 227 | "SLAP!" 228 | 229 | %message 68 230 | "\"Ya got me!\"" 231 | 232 | %message 69 233 | "\"No, thanks,\" Lefty replies. \"I don't drink.\"" 234 | 235 | %message 70 236 | "\"Ok,\" says Lefty, \"but that'll cost ya $%v90.00!\"" 237 | 238 | %message 71 239 | "The last of the big time spenders, 240 | you go down in a blaze of glory, ordering drinks for everybody in the place." 241 | 242 | %message 72 243 | "\"I'll not help you,\" says Lefty, \"no matter how much you offer me!\"" 244 | 245 | %message 73 246 | "The naugahyde bounces the hammer back, grazing your scalp but slightly." 247 | 248 | %message 74 249 | "You flip a fiver out on the bar. 250 | Lefty grabs it, smiles, and says, \"Hey, thanks buddy! " 251 | 252 | %message 75 253 | "%m74" 254 | 255 | %message 76 256 | "You don't have enough money!" 257 | 258 | %message 77 259 | "\"Double down on eleven.\"" 260 | 261 | %message 78 262 | "\"If you're short of money, you could always try gambling at the casino.\"" 263 | 264 | %message 79 265 | "\"If you're bored hanging around my place, try hailing a cab outside.\"" 266 | 267 | %message 80 268 | "\"Have you talked to Sierra On-Line lately?\"" 269 | 270 | %message 81 271 | "\"Guys tell me I need to clean my rest room walls.\"" 272 | 273 | %message 82 274 | "He appears to be perverted, twisted and sick!" 275 | 276 | %message 83 277 | "You instantly take a liking to him." 278 | 279 | -------------------------------------------------------------------------------- /RM44.CG: -------------------------------------------------------------------------------- 1 | [logics for room 44 -- rmLivingRoom 2 | [ "Leisure Suit Larry in the Land of the Lounge Lizards" 3 | [ by Al Lowe 4 | 5 | %include "rm44.msg" 6 | %include "gamedefs.h" 7 | 8 | 9 | 10 | %define FIRST_QUESTION 1 11 | %define LAST_QUESTION 43 12 | 13 | %define nearElevator lf0 14 | %define insideElevator lf1 15 | %define inWayOfDoors lf2 16 | %define doorsOpen lf3 17 | %define dollDone lf4 18 | %define egoDone lf5 19 | %define dollSoundDone lf6 20 | %define dollOnScreen lf9 21 | 22 | %define dollScript lv0 23 | 24 | 25 | %object aDoor 1 26 | %object aEve 2 27 | %object aDoll 3 28 | 29 | 30 | 31 | if (initLog) 32 | { 33 | LoadPic( currentRoom); 34 | DrawPic( currentRoom); 35 | DiscardPic( currentRoom); 36 | 37 | LoadView( vRm44ElevatorDoors); 38 | [ LoadView( v); 39 | 40 | 41 | AnimateObj( aDoor); 42 | IgnoreBlocks( aDoor); 43 | IgnoreObjs( aDoor); 44 | SetView( aDoor, vRm44ElevatorDoors); 45 | SetCel( aDoor, 0); 46 | SetPriority( aDoor, 10); 47 | Position( aDoor, 130, 129); 48 | work = DOOR_CYCLE_TIME; 49 | CycleTime( aDoor, work); 50 | Draw( aDoor); 51 | StopUpdate( aDoor); 52 | 53 | 54 | if (currentStatus == CHASING_DOLL) 55 | { 56 | PreventInput(); 57 | Set( handsOff); 58 | Set( programControl); 59 | 60 | LoadView( vDollDeflating); 61 | LoadSound( sDollDeflating); 62 | 63 | AnimateObj( aDoll); 64 | IgnoreHorizon( aDoll); 65 | IgnoreBlocks( aDoll); 66 | IgnoreObjs( aDoll); 67 | SetView( aDoll, vDollDeflating); 68 | Position( aDoll, 55, 95); 69 | Draw( aDoll); 70 | MoveObj( aDoll, 27, 123, 2, dollDone); 71 | Set( dollOnScreen); 72 | Set( dollSoundDone); 73 | } 74 | 75 | if (currentStatus == FOLLOWING_EVE) 76 | { 77 | Set( programControl); [ Even though still set! 78 | script = 250; 79 | Set( scriptDone); 80 | 81 | LoadView( vEve); 82 | LoadView( vEgoWearingTowel); 83 | 84 | [ SetView( ego, vEve); [ Done automatically by rm0. 85 | 86 | AnimateObj( aEve); 87 | SetView( aEve, vEgoWearingTowel); 88 | Position( aEve, 0, 125); 89 | Draw( aEve); 90 | } 91 | 92 | 93 | if (previousRoom == rmHotTub) 94 | { 95 | egoX = 8; 96 | egoY = 125; 97 | } 98 | else 99 | { 100 | if (previousRoom == rmBedroom) 101 | { 102 | egoX = 98; 103 | egoY = 100; 104 | } 105 | else 106 | { 107 | egoX = 138; [ in elevator 108 | egoY = 127; 109 | SetLoop( ego, FACING_LEFT); 110 | StopUpdate( ego); 111 | StartMotion( ego); 112 | 113 | script = 0; 114 | Set( scriptDone); [ Let's open up the doors. 115 | } 116 | } 117 | PositionV( ego, egoX, egoY); 118 | Draw( ego); 119 | 120 | ShowPic( ); 121 | 122 | if (currentStatus == CHASING_DOLL) 123 | { 124 | script = 150; 125 | MoveObj( ego, 60, 100, 1, scriptDone); 126 | } 127 | 128 | Return( ); 129 | 130 | } [ end initLOG 131 | 132 | 133 | 134 | if (doorsOpen) 135 | { 136 | IgnoreBlocks( ego); 137 | } 138 | else 139 | { 140 | ObserveBlocks( ego); 141 | } 142 | 143 | 144 | Reset( nearElevator); 145 | if (Posn( ego, 120, 113, 135, 143)) 146 | { 147 | Set( nearElevator); 148 | } 149 | 150 | Reset( inWayOfDoors); 151 | if (Posn( ego, 123, 119, 138, 131)) 152 | { 153 | Set( inWayOfDoors); 154 | } 155 | 156 | Reset( insideElevator); 157 | if (Posn( ego, 139, 119, 155, 131)) 158 | { 159 | Set( insideElevator); 160 | } 161 | 162 | if (doorsOpen && 163 | !insideElevator && 164 | !inWayOfDoors) 165 | { 166 | Set( scriptDone); 167 | } 168 | 169 | if (doorsOpen && insideElevator) 170 | { 171 | script = 100; 172 | Set( scriptDone); [ Let's go downstairs. 173 | } 174 | 175 | 176 | [***** 177 | :handleInput 178 | [***** 179 | 180 | if (!haveInput) {goto noInput;} 181 | 182 | if ((Said( look) || 183 | Said( look, penthouse) || 184 | Said( look, room))) [ To catch "look living room" 185 | { 186 | Print( 1); 187 | } 188 | 189 | if ((Said( look, elevator) || 190 | Said( look, door) || 191 | Said( look, button) || 192 | Said( look, wall))) 193 | { 194 | Print( 3); 195 | } 196 | 197 | if (Said( look, fireplace)) 198 | { 199 | Print( 2); 200 | } 201 | 202 | if ((Said( look, floor) || 203 | Said( look, rug))) 204 | { 205 | Print( 4); 206 | } 207 | 208 | if ((Said( lift, rug) || 209 | Said( move, rug) || 210 | Said( pull, rug) || 211 | Said( look, under, rug))) 212 | { 213 | Print( 12); 214 | } 215 | 216 | if (Said( look, painting)) 217 | { 218 | Print( 5); 219 | } 220 | 221 | if (Said( look, behind, painting)) 222 | { 223 | Print( 14); 224 | } 225 | 226 | if (Said( look, sofa)) 227 | { 228 | Print( 6); 229 | } 230 | 231 | if ((Said( sit) || 232 | Said( sit, down) || 233 | Said( use, sofa))) 234 | { 235 | Print( 9); 236 | } 237 | 238 | if ((Said( lie, down) || 239 | Said( sleep))) 240 | { 241 | Print( 13); 242 | } 243 | 244 | if (Said( listen, rol)) 245 | { 246 | Print( 10); 247 | } 248 | 249 | if (Said( open, door)) 250 | { 251 | Print( 11); 252 | } 253 | 254 | if ((Said( look, outside) || 255 | Said( look, terrace) || 256 | Said( look, window) || 257 | Said( look, out, window))) 258 | { 259 | Print( 7); 260 | } 261 | 262 | if ((Said( open, elevator) || 263 | Said( push, button))) 264 | { 265 | if (!nearElevator) 266 | { 267 | Set( notCloseEnough); 268 | } 269 | else 270 | { 271 | if (doorsOpen) 272 | { 273 | Print( 8); 274 | } 275 | else 276 | { 277 | Set( OK); 278 | script = 0; 279 | Set( scriptDone); [ Let's open up the doors. 280 | } 281 | } 282 | } 283 | 284 | 285 | [***** 286 | :noInput 287 | [***** 288 | 289 | if (scriptDone) 290 | { 291 | Reset( scriptDone); 292 | ++script; 293 | 294 | if (script == 1) [ open doors 295 | { 296 | StartUpdate( aDoor); 297 | EndOfLoop( aDoor, scriptDone); 298 | } 299 | 300 | if (script == 2) 301 | { 302 | StopUpdate( aDoor); 303 | Set( doorsOpen); 304 | } 305 | 306 | if (script == 3) [ He's clear; close the doors. 307 | { 308 | Reset( doorsOpen); 309 | StartUpdate( aDoor); 310 | BeginningOfLoop( aDoor, scriptDone); 311 | } 312 | 313 | if (script == 4) 314 | { 315 | script = 0; 316 | } 317 | 318 | 319 | 320 | if (script == 101) [ Close the doors. Go downstairs. 321 | { 322 | Reset( doorsOpen); 323 | StopUpdate( ego); 324 | StartUpdate( aDoor); 325 | BeginningOfLoop( aDoor, scriptDone); 326 | } 327 | 328 | if (script == 102) 329 | { 330 | newRoom = rmSecurityDesk; 331 | } 332 | 333 | 334 | 335 | [ Chasing the elusive latex muff... 336 | 337 | if (script == 151) 338 | { 339 | MoveObj( ego, 40, 120, 1, scriptDone); 340 | } 341 | 342 | if (script == 152) 343 | { 344 | MoveObj( ego, 1, 120, 1, scriptDone); 345 | } 346 | 347 | if (script == 153) 348 | { 349 | Reset( handsOff); 350 | newRoom = rmHotTub; 351 | } 352 | 353 | 354 | 355 | if (script == 251) [ Walking egoTransvestite to bed. 356 | { 357 | MoveObj( ego, 35, 125, 1, scriptDone); 358 | } 359 | 360 | if (script == 252) 361 | { 362 | MoveObj( ego, 60, 103, 1, scriptDone); 363 | } 364 | 365 | if (script == 253) 366 | { 367 | MoveObj( ego, 114, 103, 1, scriptDone); 368 | } 369 | 370 | if (script == 254) 371 | { 372 | } 373 | 374 | 375 | if (!script) 376 | { 377 | StopUpdate( aDoor); 378 | } 379 | } 380 | 381 | 382 | if (script > 250) 383 | { 384 | Distance( ego, aEve, work); 385 | if (work > 10) 386 | { 387 | FollowEgo( aEve, 2, done); 388 | } 389 | } 390 | 391 | 392 | if (dollDone) 393 | { 394 | Reset( dollDone); 395 | ++dollScript; 396 | 397 | if (dollScript == 1) 398 | { 399 | MoveObj( aDoll, 0, 123, 2, dollDone); 400 | } 401 | 402 | if (dollScript == 2) 403 | { 404 | MoveObj( aDoll, 0, 97, 2, dollDone); 405 | } 406 | 407 | if (dollScript == 3) 408 | { 409 | Erase( aDoll); 410 | } 411 | } 412 | 413 | if (dollSoundDone && dollOnScreen) 414 | { 415 | Sound( sDollDeflating, dollSoundDone); 416 | } 417 | 418 | 419 | [***** 420 | :exit [ test for leaving the room 421 | [***** 422 | 423 | if (edgeEgoHit == LEFT) {newRoom = rmHotTub;} 424 | if (Posn( ego, 113, 93, 114, 106)) {newRoom = rmBedroom;} 425 | 426 | --------------------------------------------------------------------------------