Leisure Suit Larry Final Source Set
commit
de70c1581c
|
@ -0,0 +1,86 @@
|
|||
[
|
||||
[ bj.h
|
||||
[
|
||||
[ LEISURE SUIT LARRY IN THE LAND OF THE LOUNGE LIZARDS BLACKJACK HEADER
|
||||
[
|
||||
[ Wednesday, March 4, 1987 at 11:21 p.m.
|
||||
[ Sunday, May 31, 1987 at 8:56 p.m.
|
||||
[
|
||||
|
||||
|
||||
|
||||
%object aWinner 13 [ Animated objects.
|
||||
%object aQuestion 14
|
||||
%object aCards 15
|
||||
|
||||
|
||||
#define CLUBS 152 [ Defines of view numbers.
|
||||
#define SPADES 153
|
||||
#define HEARTS 154
|
||||
#define DIAMONDS 155
|
||||
#define BLANK_CARD 156
|
||||
#define CARD_BACK 157
|
||||
|
||||
|
||||
%flag pSoftAce 242 [ Flags.
|
||||
%flag dSoftAce 243
|
||||
%flag sSoftAce 244
|
||||
%flag showHelpMessage 245
|
||||
%flag pBlackjack 246
|
||||
%flag dBlackjack 247
|
||||
%flag pDoubledDown 248
|
||||
%flag sDoubledDown 249
|
||||
%flag pSixCardWinner 250
|
||||
%flag sSixCardWinner 251
|
||||
%flag softAce 252
|
||||
%flag waitingForInput 253
|
||||
%flag insured 254
|
||||
%flag readyToLeave 255
|
||||
|
||||
|
||||
%var oldDTotal 216
|
||||
%var oldPTotal 217
|
||||
%var oldSTotal 218
|
||||
%var clueTimer 219
|
||||
%var work2 220 [ Vars.
|
||||
%var work3 221
|
||||
%var dTotal 222
|
||||
%var pTotal 223
|
||||
%var sTotal 224
|
||||
%var sBet 225
|
||||
%var pBet 226
|
||||
%var insurance 227
|
||||
%var winnings 228
|
||||
%var function 229 [which function to execute in rm56.
|
||||
#define DRAW_CARD 1
|
||||
#define ERASE_CARD 2
|
||||
#define DRAW_FACE_DOWN 3
|
||||
#define GET_SUIT_VALUE 4
|
||||
#define PAY_WINNER 5
|
||||
#define UPDATE_STATUS 6
|
||||
#define SHOW_TOTALS 7
|
||||
|
||||
%var suit 230
|
||||
%var value 231
|
||||
%var card 232
|
||||
%var cardCount 233 [ How many cards are visible.
|
||||
%var cardToTest 234
|
||||
%var currentCard 235 [ Used as a pointer to vars below.
|
||||
%var handInPlay 236
|
||||
#define NONE 0
|
||||
#define PLAYER 1
|
||||
#define SPLIT 2
|
||||
#define DEALER 3
|
||||
#define HAND_DONE 255
|
||||
|
||||
|
||||
[ Vars numbered 237 through 254 contain the card values for the 3 hands.
|
||||
[They are only referenced indirectly, so no defines are needed.
|
||||
|
||||
%define firstCard 237 [ First var containing a card.
|
||||
%define dFirstCard 237 [ Var numbers of the
|
||||
%define pFirstCard 243 [ first card of
|
||||
%define sFirstCard 249 [ each hand.
|
||||
%define lastCard 254 [ Last var containing a card.
|
||||
|
||||
%var oldBet 255
|
|
@ -0,0 +1,28 @@
|
|||
[
|
||||
[ colors.h
|
||||
[
|
||||
[ IBM COLOR DEFINES
|
||||
[
|
||||
[ Sunday, February 22, 1987 at 02:31 p.m.
|
||||
[
|
||||
|
||||
|
||||
|
||||
%define BLACK 0
|
||||
%define BLUE 1
|
||||
%define GREEN 2
|
||||
%define CYAN 3
|
||||
%define RED 4
|
||||
%define MAGENTA 5
|
||||
%define BROWN 6
|
||||
%define WHITE 7
|
||||
%define GREY 8
|
||||
%define GRAY 8
|
||||
%define LIGHT_BLUE 9
|
||||
%define LIGHT_GREEN 10
|
||||
%define LIGHT_CYAN 11
|
||||
%define LIGHT_RED 12
|
||||
%define LIGHT_MAGENTA 13
|
||||
%define YELLOW 14
|
||||
%define LIGHT_WHITE 15
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
[
|
||||
[ contrlrs.h
|
||||
[
|
||||
[ STANDARD AGI KEY CONTROLLERS
|
||||
[
|
||||
[ Friday, May 15, 1987 at 0:47 a.m.
|
||||
[
|
||||
|
||||
|
||||
|
||||
%define cHelp 1 [ Function keys
|
||||
%define cSoundToggle 2
|
||||
%define cEchoLine 3
|
||||
%define cF4 4
|
||||
%define cSave 5
|
||||
%define cF6 6
|
||||
%define cRestore 7
|
||||
%define cF8 8
|
||||
%define cRestart 9
|
||||
%define cSpeed 10
|
||||
|
||||
%define cStatus 11 [ Control keys
|
||||
%define cInitJoy 12
|
||||
%define cToggleMonitor 13
|
||||
%define cCancelLine 14
|
||||
|
||||
%define cDebug 15 [ Alt keys
|
||||
%define cShowEgo 16
|
||||
%define cShowObj 17
|
||||
%define cShowMem 18
|
||||
%define cObjInfo 19
|
||||
%define cShowPriority 20
|
||||
%define cSkipTest 21
|
||||
%define cQuit 22
|
||||
|
||||
%define cMenu 23 [ Menu stuff
|
||||
%define cDummy 24
|
||||
%define cAbout 25
|
||||
%define cCalculator 26
|
||||
%define cPuzzle 27
|
||||
%define cBodilyFunction 28
|
||||
%define cClock 29
|
||||
%define cPause 30
|
||||
%define cSpeedSlow 31
|
||||
%define cSpeedNormal 32
|
||||
%define cSpeedFast 33
|
||||
%define cSpeedFastest 34
|
||||
|
||||
%define cInvNumbers 35 [ Debug stuff
|
||||
%define cXY 36
|
||||
%define cGimme 37
|
||||
|
||||
%define cCrescendo 38 [ Tandy odds & ends.
|
||||
%define cDecrescendo 39
|
||||
|
||||
%define cVersion 40
|
||||
%define cBoss 41
|
||||
|
|
@ -0,0 +1,137 @@
|
|||
[
|
||||
[ lcl_temp.h
|
||||
[
|
||||
[ LEISURE SUIT LARRY IN THE LAND OF THE LOUNGE LIZARDS GAME DEFINITIONS
|
||||
[
|
||||
[ Wednesday, March 11, 1987 at 9:48 a.m.
|
||||
[
|
||||
|
||||
|
||||
|
||||
[ The 30 locals are numbered 200 - 229. The 26 dynamics are numbered
|
||||
[230 - 255. Every flag and var in this list is reset by every new room.
|
||||
|
||||
|
||||
|
||||
[ LOCAL FLAGS, for use in room logics.
|
||||
%flag lf0 200
|
||||
%flag lf1 201
|
||||
%flag lf2 202
|
||||
%flag lf3 203
|
||||
%flag lf4 204
|
||||
%flag lf5 205
|
||||
%flag lf6 206
|
||||
%flag lf7 207
|
||||
%flag lf8 208
|
||||
%flag lf9 209
|
||||
%flag lf10 210
|
||||
%flag lf11 211
|
||||
%flag lf12 212
|
||||
%flag lf13 213
|
||||
%flag lf14 214
|
||||
%flag lf15 215
|
||||
%flag lf16 216
|
||||
%flag lf17 217
|
||||
%flag lf18 218
|
||||
%flag lf19 219
|
||||
%flag lf20 220
|
||||
%flag lf21 221
|
||||
%flag lf22 222
|
||||
%flag lf23 223
|
||||
%flag lf24 224
|
||||
%flag lf25 225
|
||||
%flag lf26 226
|
||||
%flag lf27 227
|
||||
%flag lf28 228
|
||||
%flag lf29 229
|
||||
|
||||
[ TEMP FLAGS for use in dynamic logics.
|
||||
%flag df0 230
|
||||
%flag df1 231
|
||||
%flag df2 232
|
||||
%flag df3 233
|
||||
%flag df4 234
|
||||
%flag df5 235
|
||||
%flag df6 236
|
||||
%flag df7 237
|
||||
%flag df8 238
|
||||
%flag df9 239
|
||||
%flag df10 240
|
||||
%flag df11 241
|
||||
%flag df12 242
|
||||
%flag df13 243
|
||||
%flag df14 244
|
||||
%flag df15 245
|
||||
%flag df16 246
|
||||
%flag df17 247
|
||||
%flag df18 248
|
||||
%flag df19 249
|
||||
%flag df20 250
|
||||
%flag df21 251
|
||||
%flag df22 252
|
||||
%flag df23 253
|
||||
%flag df24 254
|
||||
%flag df25 255
|
||||
|
||||
|
||||
|
||||
[ LOCAL VARS for use in room logics.
|
||||
%var lv0 200
|
||||
%var lv1 201
|
||||
%var lv2 202
|
||||
%var lv3 203
|
||||
%var lv4 204
|
||||
%var lv5 205
|
||||
%var lv6 206
|
||||
%var lv7 207
|
||||
%var lv8 208
|
||||
%var lv9 209
|
||||
%var lv10 210
|
||||
%var lv11 211
|
||||
%var lv12 212
|
||||
%var lv13 213
|
||||
%var lv14 214
|
||||
%var lv15 215
|
||||
%var lv16 216
|
||||
%var lv17 217
|
||||
%var lv18 218
|
||||
%var lv19 219
|
||||
%var lv20 220
|
||||
%var lv21 221
|
||||
%var lv22 222
|
||||
%var lv23 223
|
||||
%var lv24 224
|
||||
%var lv25 225
|
||||
%var lv26 226
|
||||
%var lv27 227
|
||||
%var lv28 228
|
||||
%var lv29 229
|
||||
|
||||
|
||||
[ TEMP VARS for use in dynamic logics.
|
||||
%var dv0 230
|
||||
%var dv1 231
|
||||
%var dv2 232
|
||||
%var dv3 233
|
||||
%var dv4 234
|
||||
%var dv5 235
|
||||
%var dv6 236
|
||||
%var dv7 237
|
||||
%var dv8 238
|
||||
%var dv9 239
|
||||
%var dv10 240
|
||||
%var dv11 241
|
||||
%var dv12 242
|
||||
%var dv13 243
|
||||
%var dv14 244
|
||||
%var dv15 245
|
||||
%var dv16 246
|
||||
%var dv17 247
|
||||
%var dv18 248
|
||||
%var dv19 249
|
||||
%var dv20 250
|
||||
%var dv21 251
|
||||
%var dv22 252
|
||||
%var dv23 253
|
||||
%var dv24 254
|
||||
%var dv25 255
|
|
@ -0,0 +1,422 @@
|
|||
[
|
||||
[ gamedefs.h
|
||||
[
|
||||
[ LEISURE SUIT LARRY IN THE LAND OF THE LOUNGE LIZARDS GAME DEFINITIONS
|
||||
[
|
||||
[ Wednesday, June 10, 1987 at 9:00 p.m.
|
||||
[
|
||||
|
||||
|
||||
|
||||
%include "views.h"
|
||||
%tokens "..\\words.tok"
|
||||
%include "sysdefs.h"
|
||||
%include "flag_var.h"
|
||||
|
||||
|
||||
|
||||
[************ CONSTANTS ************]
|
||||
#define CYCLES_BEFORE_DEATH 44
|
||||
#define TEXT_COLOR 15
|
||||
#define BG_COLOR 0
|
||||
#define NORMAL_STEP_SIZE 1
|
||||
#define FALLING_STEP_SIZE 3
|
||||
#define EGO_STUNNED_TIME 5
|
||||
#define NOWHERE 0
|
||||
#define DOOR_CYCLE_TIME 3
|
||||
#define SMILE_SECONDS 5
|
||||
#define FROWN_SECONDS 7
|
||||
#define INVENTORY 255
|
||||
|
||||
|
||||
|
||||
[************ FLAGS ************]
|
||||
[Only the interpreter can use 0-29 (globals)
|
||||
[ Any room can use 220-239 (lf's)
|
||||
[Only dynamic logics can use 240-255 (df's)
|
||||
|
||||
%flag forceAtest 30
|
||||
%flag testing 31
|
||||
%flag debugging 32
|
||||
%flag xyOn 33
|
||||
%flag keepCycling 34
|
||||
%flag noCycling 35
|
||||
%flag ignoreSpecial 36
|
||||
%flag ignoreWater 37
|
||||
%flag demo 38
|
||||
%flag doit 39
|
||||
%flag done 40
|
||||
%flag egoArrived 41
|
||||
%flag clockOn 42
|
||||
%flag updateClock 43
|
||||
%flag aSecondPassed 44
|
||||
%flag myHaveMatch 45
|
||||
%flag outOfMemory 46
|
||||
%flag survivableFall 47
|
||||
%flag handsOff 48
|
||||
%flag preventNewRoom 49
|
||||
%flag certainDeath 50
|
||||
%flag egoDeathDone 51
|
||||
%flag musicDone 52
|
||||
%flag soundDone 53
|
||||
%flag notCloseEnough 54
|
||||
%flag alreadyGotIt 55
|
||||
%flag TVOn 56
|
||||
%flag knowsPassword 57
|
||||
%flag smellsLikeDogPiss 58
|
||||
%flag toiletPaperOnShoe 59
|
||||
%flag lookedAtCabbie 60
|
||||
%flag nearTaxi 61
|
||||
%flag wearingRubber 62
|
||||
%flag scoredHooker 63
|
||||
%flag hookerWindowOpen 64
|
||||
%flag alleyWindowBroken 65
|
||||
%flag mouthOK 66
|
||||
%flag OK 67
|
||||
%flag dontHaveIt 68
|
||||
%flag nearPerson 69
|
||||
%flag noFawnInDisco 70
|
||||
%flag gaveFawnRose 71
|
||||
%flag gaveFawnCandy 72
|
||||
%flag gaveFawnRing 73
|
||||
%flag dancedWithFawn 74
|
||||
%flag scriptDone 75
|
||||
%flag faithGone 76
|
||||
%flag beenIn43 77
|
||||
%flag answeredSurvey 78
|
||||
%flag gaveFawnEverything 79
|
||||
%flag orderedWine 80
|
||||
%flag ropeOnBed 81
|
||||
%flag fawnInRoom 82
|
||||
%flag unsuccessfulCeremony 83
|
||||
%flag eveGone 84
|
||||
%flag programControl 85
|
||||
%flag egoLoweringDone 86
|
||||
%flag preventSaveGame 87
|
||||
%flag gaveEveApple 88
|
||||
%flag diedOfTheClap 89
|
||||
%flag pimpWatchingTV 90
|
||||
%flag wornRubber 91
|
||||
%flag satWithFawn 92
|
||||
%flag betInProgress 93
|
||||
%flag boughtWhiskey 94
|
||||
%flag lookedAtFawn 95
|
||||
%flag talkedToFawn 96
|
||||
%flag askedForMoney 97
|
||||
%flag gotPimpToWatchTV 98
|
||||
%flag paidPimpForWhore 99
|
||||
%flag rodeInCab 100
|
||||
%flag mouseMachine 101
|
||||
%flag twoButtonJoystick 102
|
||||
%flag talkedToFlasher 103
|
||||
%flag heardLiquorStoreNumber 104
|
||||
%flag beenIn11 105
|
||||
%flag requestedASaveGame 106
|
||||
%flag mouthSmellsBad 107
|
||||
%flag typing 108
|
||||
%flag passedTest 109
|
||||
%flag marriedFawn 110
|
||||
%flag seenDeliveryBoyGag 111
|
||||
%flag readSideOfPhone 112
|
||||
%flag answeredSurveyFirstTime 113
|
||||
%flag heardSurveyFirstTime 114
|
||||
%flag orderedWineFirstTime 115
|
||||
%flag poopedInCan 116
|
||||
%flag satOnWhoopieCushion 117
|
||||
%flag slowProcessor 118
|
||||
%flag shownPassToBouncer 119
|
||||
%flag readMagazine 120
|
||||
%flag dialedSierra 121
|
||||
%flag makeFawnDance 122
|
||||
%flag memoryCheck 123
|
||||
%flag makeEgoRise 124 [ in disco scene
|
||||
%flag makeFawnSplit 125
|
||||
%flag inflatedDoll 126
|
||||
%flag sprayDone 127
|
||||
%flag beenInPenthouse 128
|
||||
[nextflag
|
||||
|
||||
|
||||
|
||||
[************ VARS ************]
|
||||
[Only the interpreter can use 0-29 (globals)
|
||||
[ Any room can use 220-239 (lv's)
|
||||
[Only dynamic logics can use 240-255 (dv's)
|
||||
|
||||
%var currentStatus 30
|
||||
#define NORMAL 0
|
||||
#define DEAD 1
|
||||
#define SLEEPING 2
|
||||
#define COLLAPSING 3
|
||||
#define STUNNED 4
|
||||
#define FALLING 5
|
||||
#define WALKING 6
|
||||
#define ON_BAR_STOOL 7
|
||||
#define DRUNK 8
|
||||
#define ON_TOILET 9
|
||||
#define DROWNING 10
|
||||
#define HUMPING_HOOKER 11
|
||||
#define LEAVING_WINDOW 12
|
||||
#define HANGING_BY_ROPE 13
|
||||
#define IN_DUMPSTER 14
|
||||
#define RUN_OVER 15
|
||||
#define DANCING 16
|
||||
#define SITTING 17
|
||||
#define IN_ELEVATOR 18
|
||||
#define TIED_TO_BED 19
|
||||
#define STIFFED_CABBIE 20
|
||||
#define PISSING 21
|
||||
#define CHASING_DOLL 22
|
||||
#define FOLLOWING_EVE 23
|
||||
#define DYING_OF_CLAP 25
|
||||
#define NAKED 26
|
||||
#define RECYCLING 27
|
||||
[ #define 28
|
||||
[ #define 29
|
||||
|
||||
%var egoLocation 31
|
||||
%var x 32
|
||||
%var y 33
|
||||
%var sourceX 34
|
||||
%var sourceY 35
|
||||
%var targetX 36
|
||||
%var targetY 37
|
||||
%var egoX 38
|
||||
%var egoY 39
|
||||
%var oldEgoX 40
|
||||
%var oldEgoY 41
|
||||
%var oldEgoDir 42
|
||||
%var oldSeconds 43
|
||||
%var oldAnimationInterval 44
|
||||
#define FASTEST_SPEED 0
|
||||
#define FAST_SPEED 1
|
||||
#define NORMAL_SPEED 2
|
||||
#define SLOW_SPEED 3
|
||||
|
||||
%var debug0 45
|
||||
%var debug1 46
|
||||
%var startClimbing 47
|
||||
%var roomBottom 48
|
||||
%var zero 49
|
||||
%var deathMessage 50
|
||||
%var testRoom 51
|
||||
%var work 52
|
||||
%var view 53
|
||||
%var loop 54
|
||||
%var cell 55
|
||||
%var step 56
|
||||
%var priority 57
|
||||
%var message 58
|
||||
%var egoCycleTime 59
|
||||
%var egoStepTime 60
|
||||
%var egoStepSize 61
|
||||
%var passInRoom 62
|
||||
%var secondsInRoom 63
|
||||
%var taxiScript 64
|
||||
#define TAXI_WAITING 4
|
||||
|
||||
%var script 65
|
||||
%var scriptCycles 66
|
||||
%var scriptTimer 67
|
||||
%var clearStatusSeconds 68
|
||||
%var mouthMessage 69
|
||||
%var sprayCount 70
|
||||
%var spraySeconds 71
|
||||
%var sprayMinutes 72
|
||||
#define SPRAY_INIT_MINUTES 10
|
||||
|
||||
[ %var 73
|
||||
[ %var 74
|
||||
|
||||
%var deathTimer 75
|
||||
%var newRoom 76
|
||||
%var currentEgoView 77
|
||||
%var oldEdgeEgoHit 78
|
||||
%var destinationFloor 79
|
||||
%var breathSpraySeconds 80
|
||||
%var picture 81
|
||||
%var TVChannel 82
|
||||
%var moneyTimer 83
|
||||
%var one 84
|
||||
%var two 85
|
||||
%var three 86
|
||||
%var four 87
|
||||
%var five 88
|
||||
%var oldLastChar 89
|
||||
%var dollars 90
|
||||
%var secondsSinceKeystroke 91
|
||||
%var answer 92
|
||||
%var correctAnswer 93
|
||||
%var question 94
|
||||
%var questionStatus 95
|
||||
%define waiting 1
|
||||
%define askAnother 2
|
||||
%define allDone 3
|
||||
%define waitAwhile 4
|
||||
%define waitAwhileAlthoughCorrect 5
|
||||
|
||||
%var currentQuestion 96
|
||||
%var cabFareMin 97
|
||||
%var notMovedCycles 98
|
||||
%var cabRideLength 99
|
||||
%var fawnTalkCount 100
|
||||
%var oldCurrentScore 101
|
||||
[nextvar
|
||||
[ %var 102
|
||||
[ %var 103
|
||||
[ %var 104
|
||||
[ %var 105
|
||||
[ %var 106
|
||||
[ %var 107
|
||||
[ %var 108
|
||||
[ %var 109
|
||||
[ %var 110
|
||||
[ %var 111
|
||||
[ %var 112
|
||||
[ %var 113
|
||||
[ %var 114
|
||||
%var gameSeconds 115
|
||||
%var gameMinutes 116
|
||||
%var gameHours 117
|
||||
%var gameDays 118
|
||||
%var watchHours 119
|
||||
#define WATCH_INIT_HOURS 10
|
||||
|
||||
|
||||
|
||||
|
||||
[*********** ANIMATED OBJECTS ***********]
|
||||
[Define here all objects shared by multiple rooms.
|
||||
%object ego 0
|
||||
[ %object a 10
|
||||
[ %object a 11
|
||||
%object aCop 12
|
||||
%object aTaxi 13
|
||||
%object aDog 14
|
||||
%object aCar 15
|
||||
|
||||
|
||||
|
||||
[********* INVENTORY OBJECTS **********]
|
||||
|
||||
%object iWallet 1
|
||||
%object iBreathSpray 2
|
||||
%object iPocketLint 3
|
||||
%object iWatch 4
|
||||
%object iApple 5
|
||||
%object iRing 6
|
||||
%object iWhiskey 7
|
||||
%object iRemoteControl 8
|
||||
%object iRose 9
|
||||
%object iRubber 10
|
||||
%object iUsedRubber 11
|
||||
%object iCandy 12
|
||||
%object iDoll 13
|
||||
%object iDiscoPass 14
|
||||
%object iPocketKnife 15
|
||||
%object iWine 16
|
||||
%object iMagazine 17
|
||||
%object iHammer 18
|
||||
%object iPills 19
|
||||
%object iRope 20
|
||||
#define SIZE_OF_INVENTORY 20
|
||||
|
||||
|
||||
|
||||
[********* SOUND EFFECTS **********]
|
||||
#define sEgoFalling 1
|
||||
#define sError 2
|
||||
#define sSlots 3
|
||||
#define sSlotsWinner 4
|
||||
#define sCardsShuffling 5
|
||||
#define sCard 6
|
||||
#define sBJWinner 7
|
||||
#define sDrummer 8
|
||||
#define sWhoopieCushion 9
|
||||
#define sTaxiTires 10
|
||||
#define sDeathCar 11
|
||||
#define sPissing 12
|
||||
#define sBang 13
|
||||
#define sFart 14
|
||||
#define sDollDeflating 15
|
||||
|
||||
|
||||
[************ MUSIC *************]
|
||||
#define mTitle 21
|
||||
#define mDog 22
|
||||
#define mWedding 23
|
||||
#define mWinner 24
|
||||
#define mWhoops 25
|
||||
#define mAlley 26
|
||||
#define mRm14Drunk 27
|
||||
#define mRm22Drunk 28
|
||||
#define mCop 29
|
||||
#define mDisco 30
|
||||
#define mCanCan 31
|
||||
#define mSunrise 32
|
||||
#define mFuneral 33
|
||||
|
||||
|
||||
|
||||
[****** ROOM AND PICTURE NAMES ******]
|
||||
#define rmTitle 1
|
||||
#define picCredits1 2
|
||||
#define picCredits2 3
|
||||
#define picCredits3 4
|
||||
#define picFrame 5
|
||||
#define rmAgeTest 6
|
||||
#define picBlack 7
|
||||
#define rmWorkshop 8
|
||||
#define rmDarkAlley 9
|
||||
#define rmInsideTaxi 10
|
||||
#define rmOutsideBar 11
|
||||
#define rmAlley 12
|
||||
#define rmToilet 13
|
||||
#define rmHallway 14
|
||||
#define rmInsideBar 15
|
||||
#define rmBackroom 16
|
||||
#define rmHooker 17
|
||||
%define picHookerCloseup 18
|
||||
%define rmSunrise 19
|
||||
%define rmBoss 20
|
||||
#define rmInside7_11 21
|
||||
#define rmOutside7_11 22
|
||||
#define rmOutsideDisco 23
|
||||
#define rmInsideDisco 24
|
||||
%define rmFawnCloseup 25
|
||||
%define picFaithCloseup 26
|
||||
%define picEveCloseup 27
|
||||
%define picDollCloseup 28
|
||||
%define picBoss2 29
|
||||
%define picBoss3 30
|
||||
#define rmInsideCasino 31
|
||||
#define rmOutsideCasino 32
|
||||
#define rmOutsideChapel 33
|
||||
#define rmInsideChapel 34
|
||||
#define rmElevatorBottom 35
|
||||
#define rmLounge 36
|
||||
#define rmSlots 37
|
||||
#define rmBlackjack 38
|
||||
[ %define rm 39
|
||||
#define rmElevators 40
|
||||
#define rmHoneymoonSuite 41
|
||||
#define rmSecurityDesk 42
|
||||
#define rmHotTub 43
|
||||
#define rmLivingRoom 44
|
||||
#define rmBedroom 45
|
||||
|
||||
#define rmRestart rmOutsideBar
|
||||
|
||||
|
||||
|
||||
[********** DYNAMIC LOGICS **********]
|
||||
#define lgcRm0InitLog 50
|
||||
#define lgcStartup 51
|
||||
#define lgcDebug 52
|
||||
#define lgcTrace 53
|
||||
#define lgcError 54
|
||||
#define lgcHelp 55
|
||||
#define lgcBlackjack 56
|
||||
#define lgcStreet 57
|
||||
#define lgcSlots 58
|
||||
#define lgcID 59
|
|
@ -0,0 +1,30 @@
|
|||
[
|
||||
[ iv_names.h
|
||||
[
|
||||
[ LEISURE SUIT LARRY IN THE LAND OF THE LOUNGE LIZARDS INVENTORY OBJECT NAMES
|
||||
[
|
||||
[ Thursday, May 14, 1987 at 1:20 p.m.
|
||||
[
|
||||
|
||||
|
||||
|
||||
%define Wallet 1
|
||||
%define BreathSpray 2
|
||||
%define PocketLint 3
|
||||
%define Watch 4
|
||||
%define Apple 5
|
||||
%define Ring 6
|
||||
%define Whiskey 7
|
||||
%define RemoteControl 8
|
||||
%define Rose 9
|
||||
%define Rubber 10
|
||||
%define UsedRubber 11
|
||||
%define Candy 12
|
||||
%define Doll 13
|
||||
%define DiscoPass 14
|
||||
%define PocketKnife 15
|
||||
%define Wine 16
|
||||
%define Magazine 17
|
||||
%define Hammer 18
|
||||
%define Pills 19
|
||||
%define Rope 20
|
|
@ -0,0 +1,31 @@
|
|||
[
|
||||
[ iv_views.h
|
||||
[
|
||||
[ LEISURE SUIT LARRY IN THE LAND OF THE LOUNGE LIZARDS INVENTORY VIEWS
|
||||
[
|
||||
[ Saturday, April 4, 1987 at 12:55 p.m.
|
||||
[ Thursday, May 14, 1987 at 1:20 p.m.
|
||||
[
|
||||
|
||||
|
||||
|
||||
%view ivWallet 101
|
||||
%view ivBreathSpray 102
|
||||
%view ivPocketLint 103
|
||||
%view ivWatch 104
|
||||
%view ivApple 105
|
||||
%view ivRing 106
|
||||
%view ivWhiskey 107
|
||||
%view ivRemoteControl 108
|
||||
%view ivRose 109
|
||||
%view ivRubber 110
|
||||
%view ivUsedRubber 111
|
||||
%view ivCandy 112
|
||||
%view ivDoll 113
|
||||
%view ivDiscoPass 114
|
||||
%view ivPocketKnife 115
|
||||
%view ivWine 116
|
||||
%view ivMagazine 117
|
||||
%view ivHammer 118
|
||||
%view ivPills 119
|
||||
%view ivRope 120
|
|
@ -0,0 +1,40 @@
|
|||
[
|
||||
[ object.txt
|
||||
[
|
||||
[ LEISURE-SUIT LARRY IN THE LAND OF THE LOUNGE LIZARDS OBJECT TABLES
|
||||
[
|
||||
[ Thursday, May 14, 1987 at 11:06 a.m.
|
||||
[
|
||||
|
||||
|
||||
|
||||
[************* ANIMATED OBJECTS
|
||||
[.numani # of animated objects
|
||||
|
||||
.numani 16
|
||||
|
||||
|
||||
|
||||
[************* INVENTORY OBJECTS
|
||||
[.obj object#, "Status screen name", room # at beginning of game
|
||||
|
||||
.obj 1, "Wallet", 255
|
||||
.obj 2, "Breath Spray", 255
|
||||
.obj 3, "Pocket Lint", 255
|
||||
.obj 4, "Wrist Watch", 255
|
||||
.obj 5, "Apple", 32
|
||||
.obj 6, "Diamond Ring", 13
|
||||
.obj 7, "Glass of Whiskey", 15
|
||||
.obj 8, "Remote Control", 14
|
||||
.obj 9, "Rose", 14
|
||||
.obj 10, "Prophylactic", 21
|
||||
.obj 11, "Used Prophylactic", 0
|
||||
.obj 12, "Box of Candy", 17
|
||||
.obj 13, "Inflatable Doll", 45
|
||||
.obj 14, "Disco Pass", 35
|
||||
.obj 15, "Pocket Knife", 22
|
||||
.obj 16, "Bottle of Wine", 21
|
||||
.obj 17, "\"Jugs\" Magazine", 21
|
||||
.obj 18, "Hammer", 12
|
||||
.obj 19, "Bottle of Pills", 12
|
||||
.obj 20, "Rope", 41
|
|
@ -0,0 +1,554 @@
|
|||
[messages for room 0
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
[ The following messages are null:
|
||||
[
|
||||
[ ][ 12 22 58
|
||||
[
|
||||
|
||||
|
||||
%message 1 "%m10%w1?"
|
||||
%message 2 "%m10%w2?"
|
||||
%message 3 "%m10%w3?"
|
||||
%message 4 "%m10%w4?"
|
||||
%message 5 "%m10%w5?"
|
||||
%message 6 "%m10%w6?"
|
||||
%message 7 "%m10%w7?"
|
||||
%message 8 "%m10%w8?"
|
||||
|
||||
%message 9
|
||||
"Ok.\n\n
|
||||
You toss back the shot of cheap booze,
|
||||
then dramatically break the glass on the floor!"
|
||||
|
||||
%message 10
|
||||
"What's a "
|
||||
|
||||
%message 11 "\n
|
||||
Leisure Suit Larry\n
|
||||
in the\n
|
||||
Land of the Lounge Lizards\n\n
|
||||
by Al Lowe\n\n
|
||||
Ver 1.05 6/26/87\n"
|
||||
|
||||
%message 12
|
||||
""
|
||||
|
||||
%message 13
|
||||
"Thanks for playing
|
||||
\"Leisure Suit Larry in the Land of the Lounge Lizards.\"\n\n
|
||||
You screwed up this game, but you can probably do better.\n\n
|
||||
Come on, let's do it just one more time!"
|
||||
|
||||
%message 14
|
||||
"Since you're dead...\n\n
|
||||
all you can do is restore a saved game or start over."
|
||||
|
||||
%message 15
|
||||
"You have $%v90.00."
|
||||
|
||||
%message 16
|
||||
"You don't have it."
|
||||
|
||||
%message 17
|
||||
"Sorry, this is a real-time game!"
|
||||
|
||||
%message 18
|
||||
"%m11%m100%v117 hours, %v116 minutes and %v115 seconds.\n"
|
||||
|
||||
%message 19
|
||||
"%m11%m100%v116 minutes and %v115 seconds.\n"
|
||||
|
||||
%message 20
|
||||
"You find your leisure suit very stylish, but empty."
|
||||
|
||||
%message 21 [ logfile message
|
||||
"" [ No local."
|
||||
|
||||
%message 22
|
||||
""
|
||||
|
||||
%message 23
|
||||
"You have no need to take it."
|
||||
|
||||
%message 24
|
||||
"Where!?"
|
||||
|
||||
%message 25
|
||||
"You might need it."
|
||||
|
||||
%message 26
|
||||
"\"Hi.\""
|
||||
|
||||
%message 27
|
||||
"Following your conviction for bestiality,
|
||||
you spend the rest of your life in prison,
|
||||
turning big rocks into little ones!"
|
||||
|
||||
%message 28
|
||||
"\"You're welcome.\""
|
||||
|
||||
%message 29
|
||||
"\"Same to you!\""
|
||||
|
||||
%message 30
|
||||
"%v119:%v116|2:%v115|2 "
|
||||
|
||||
%message 31
|
||||
"\"'Bye.\""
|
||||
|
||||
%message 32
|
||||
"Fastest%m36"
|
||||
|
||||
%message 33
|
||||
"Fast%m36"
|
||||
|
||||
%message 34
|
||||
"Normal%m36"
|
||||
|
||||
%message 35
|
||||
"Slow%m36"
|
||||
|
||||
%message 36
|
||||
" speed."
|
||||
|
||||
%message 37
|
||||
"Once you tasted it, you wouldn't want it!"
|
||||
|
||||
%message 38
|
||||
"Without thinking, you down the entire bottle.
|
||||
Hey, this stuff is ok!
|
||||
Your breathing becomes heavy, and you're suddenly extremely horny!
|
||||
You've just got to do something, and right NOW!\n\n
|
||||
Hey, where's that cute, black dog?"
|
||||
|
||||
%message 39
|
||||
"Wouldn't you rather just remain friends?"
|
||||
|
||||
%message 40
|
||||
"Don't whine!"
|
||||
|
||||
%message 41
|
||||
"Funny, no response."
|
||||
|
||||
%message 42
|
||||
"It doesn't look interesting."
|
||||
|
||||
%message 43
|
||||
"You see nothing special."
|
||||
|
||||
%message 44
|
||||
"It's just as it appears."
|
||||
|
||||
%message 45
|
||||
"How can you do that?"
|
||||
|
||||
%message 46
|
||||
"It's of no use."
|
||||
|
||||
%message 47
|
||||
"You don't need it."
|
||||
|
||||
%message 48
|
||||
"There's no reason to take it."
|
||||
|
||||
%message 49
|
||||
"Just walk there."
|
||||
|
||||
%message 50
|
||||
"Oh, %w1, %w1, %w1! Doesn't anybody _____ anymore?"
|
||||
|
||||
%message 51
|
||||
"%m53?"
|
||||
|
||||
%message 52
|
||||
"%m53 %w3?"
|
||||
|
||||
%message 53
|
||||
"What would you do with the %w2"
|
||||
|
||||
%message 54
|
||||
"How can you use that which you do not have?"
|
||||
|
||||
%message 55
|
||||
"You're not close enough."
|
||||
|
||||
%message 56
|
||||
"You already have it."
|
||||
|
||||
%message 57
|
||||
"Ok."
|
||||
|
||||
%message 58
|
||||
""
|
||||
|
||||
%message 59
|
||||
"That comes later."
|
||||
|
||||
|
||||
[ Menu functions are assigned to messages #60 - 99.
|
||||
|
||||
%message 60 "Sierra " [
|
||||
%message 61 "About Larry" [
|
||||
%message 62 "Help <F1>" [
|
||||
%message 63 "-----------" [
|
||||
%message 64 "Calculator " [
|
||||
%message 65 "Puzzle " [
|
||||
[
|
||||
%message 66 "File " [
|
||||
%message 67 "Save <F5>" [
|
||||
%message 68 "Restore <F7>" [
|
||||
%message 69 "-------------" [
|
||||
%message 70 "Restart <F9>" [
|
||||
[%message 69 "-------------" [
|
||||
%message 71 "Quit <Alt-Z>" [
|
||||
|
||||
%message 72 "Action " [
|
||||
%message 73 "Inventory <Tab>" [
|
||||
%message 74 "See Object " [
|
||||
%message 75 "Bodily Function " [
|
||||
[
|
||||
%message 76 "Special " [
|
||||
%message 96 "Boss Key <Ctrl-B>" [
|
||||
%message 77 "Sound On/Off <F2>" [
|
||||
%message 78 "Graphics Mode <Ctrl-R>" [
|
||||
%message 79 "Joystick <Ctrl-J>" [
|
||||
%message 97 "Joystick/Mouse <Ctrl-J>" [
|
||||
%message 80 "Clock On/Off " [
|
||||
%message 81 "Pause Game " [
|
||||
[
|
||||
%message 82 "Speed " [
|
||||
%message 83 "Normal " [
|
||||
%message 84 "Slow " [
|
||||
%message 85 "Fast " [
|
||||
%message 86 "Fastest " [
|
||||
[%message 69 "-------------" [
|
||||
%message 87 "Change <F10>" [
|
||||
[
|
||||
[ %message 88 "Debug" [
|
||||
[ %message 89 "Ego Info <Alt-E>" [
|
||||
[ %message 90 "P-Screen <Alt-P>" [
|
||||
[ %message 91 "Memory <Alt-M>" [
|
||||
[ %message 92 "Obj Info <Alt-I>" [
|
||||
[ %message 93 "X/Y Display " [
|
||||
[ %message 94 "Get All Inventory" [
|
||||
[ %message 95 "Inventory Numbers" [
|
||||
[
|
||||
%message 98 "" [
|
||||
%message 99 "" [
|
||||
|
||||
|
||||
|
||||
%message 100
|
||||
"\n\nYou've been playing for\n"
|
||||
|
||||
%message 101
|
||||
"Psssft. Psssft."
|
||||
|
||||
%message 102
|
||||
"Ahhh."
|
||||
|
||||
%message 103
|
||||
"Yep, it's a door!"
|
||||
|
||||
%message 104
|
||||
"Watch it, Larry. You're going to get your face slapped!"
|
||||
|
||||
%message 105
|
||||
"Now?!"
|
||||
|
||||
%message 106
|
||||
"Ok.\n\n
|
||||
Your thirst is gone, the bottle is empty, and your breath is revolting."
|
||||
|
||||
%message 107
|
||||
"\"Hey, dork! You've got toilet paper stuck to your shoe!\""
|
||||
|
||||
%message 108
|
||||
"\"Phew! You smell like a used fire hydrant!\""
|
||||
|
||||
%message 109
|
||||
"Just a moment, please..."
|
||||
|
||||
%message 110
|
||||
"2"
|
||||
|
||||
%message 111
|
||||
"+ 2"
|
||||
|
||||
%message 112
|
||||
"---"
|
||||
|
||||
%message 113
|
||||
" 4"
|
||||
|
||||
%message 114
|
||||
" This is about the extent of\n
|
||||
your mathematical abilities."
|
||||
|
||||
%message 115
|
||||
"---------------------"
|
||||
|
||||
%message 116
|
||||
"| 1 | 2 | 3 | 4 |"
|
||||
|
||||
%message 117
|
||||
"| 5 | 6 | 7 | 8 |"
|
||||
|
||||
%message 118
|
||||
"| 9 | 10 | 11 | 12 |"
|
||||
|
||||
%message 119
|
||||
"| 13 | 14 | 15 | 16 |"
|
||||
|
||||
%message 120
|
||||
"|----|----|----|----|"
|
||||
|
||||
%message 121
|
||||
"How's this thing work, anyway?"
|
||||
|
||||
%message 122
|
||||
"Enter function: "
|
||||
|
||||
%message 123
|
||||
"You quickly turn around, %s11, and feel much better.
|
||||
A hint of a smile crosses your lips."
|
||||
|
||||
%message 124
|
||||
"Larry, the whole idea was to stop doing that!"
|
||||
|
||||
%message 125
|
||||
"do nothing"
|
||||
|
||||
%message 126
|
||||
"You talk to yourself, and find you already know what you're going to say."
|
||||
|
||||
%message 127
|
||||
"Good idea. You carefully remove and dispose of it properly."
|
||||
|
||||
%message 128
|
||||
"You nonchalantly scrape it off."
|
||||
|
||||
%message 129
|
||||
"Oh, no! You are now penniless.
|
||||
You hock your leisure suit,
|
||||
and spend the rest of your life on skid row eating discarded fast food."
|
||||
|
||||
%message 130
|
||||
"The rest of your story is too sad to tell.
|
||||
Time for a little \"R & R,\" Larry -- Restart or Restore!"
|
||||
|
||||
%message 131
|
||||
"It smells as bad as you imagined."
|
||||
|
||||
%message 132
|
||||
"It's not for using; IT'S A JOKE!!"
|
||||
|
||||
%message 133
|
||||
"Same to you, buddy!"
|
||||
|
||||
%message 134
|
||||
"And %w1 %w2 you, too!"
|
||||
|
||||
%message 135
|
||||
"Yeah, you probably would, too!"
|
||||
|
||||
%message 136
|
||||
"Tsk, tsk."
|
||||
|
||||
%message 137
|
||||
"Ok, but I don't usually do that!"
|
||||
|
||||
%message 138
|
||||
"You press the button on the remote control and..."
|
||||
|
||||
%message 139
|
||||
"...nothing happens."
|
||||
|
||||
%message 140
|
||||
"Wearing the magic ring gives you powers far beyond those of..."
|
||||
|
||||
%message 141
|
||||
"...Oops. Wrong game."
|
||||
|
||||
%message 142
|
||||
"Pretty dramatic, eh?"
|
||||
|
||||
%message 143
|
||||
"It smells good."
|
||||
|
||||
%message 144
|
||||
"You can't. There's no key in this game!"
|
||||
|
||||
%message 145
|
||||
"\"Eeeyow! Do something about that breath of yours!\""
|
||||
|
||||
%message 146
|
||||
"" [ No lastLog."
|
||||
|
||||
%message 147
|
||||
"\"Remember to buy more Sierra three-dimensional, graphic, adventure games!\""
|
||||
|
||||
%message 148
|
||||
"You might want to read them."
|
||||
|
||||
%message 149
|
||||
"Staring at the walls?"
|
||||
|
||||
%message 150
|
||||
"Climbing the walls already?"
|
||||
|
||||
%message 151
|
||||
"It just lies there, under your feet."
|
||||
|
||||
%message 152
|
||||
"
|
||||
Sierra On-Line, Inc.
|
||||
(209) 683-6858"
|
||||
|
||||
%message 153
|
||||
"It tastes delicious. But nothing happens."
|
||||
|
||||
%message 154
|
||||
"Exactly how would you help?"
|
||||
|
||||
%message 155
|
||||
"You'd better not. You might get your face slapped!"
|
||||
|
||||
%message 156
|
||||
"You don't have one."
|
||||
|
||||
%message 157
|
||||
"Your mouth tastes like the inside of a motorman's glove!"
|
||||
|
||||
%message 158
|
||||
"Your breath smells like floor sweepings from a rendering plant."
|
||||
|
||||
%message 159
|
||||
"Your breath is enough to take your breath away."
|
||||
|
||||
%message 160
|
||||
"Your mouth tastes like the drippings from a marathon runner's sock."
|
||||
|
||||
%message 161
|
||||
"It's still up there!"
|
||||
|
||||
%message 162
|
||||
"It tastes delicious, but what about your acne?"
|
||||
|
||||
%message 163
|
||||
"Whee!"
|
||||
|
||||
%message 164
|
||||
"There's no answer. Try opening it."
|
||||
|
||||
%message 165
|
||||
"Ha, ha."
|
||||
|
||||
%message 166
|
||||
"You find nothing."
|
||||
|
||||
%message 167
|
||||
"\"HELP!\""
|
||||
|
||||
%message 168
|
||||
"\"It's about time!!\""
|
||||
|
||||
%message 169
|
||||
"Well, well. It looks like this month's issue is filled with intelligent,
|
||||
literary articles with redeeming social value."
|
||||
|
||||
%message 170
|
||||
"Since your breath sprayer is empty, you toss it away."
|
||||
|
||||
%message 171
|
||||
"You used it all, remember."
|
||||
|
||||
%message 172
|
||||
"No place in Lost Wages accepts credit cards from the
|
||||
First National Bank of Libya."
|
||||
|
||||
%message 173
|
||||
"Obviously, restraint is no problem for you, Larry."
|
||||
|
||||
%message 174
|
||||
"\"Ha, ha!\""
|
||||
|
||||
%message 175
|
||||
"There's no time!"
|
||||
|
||||
%message 176
|
||||
"That's an idea; it's just not a good idea!"
|
||||
|
||||
%message 177
|
||||
"OK, but now it's gone forever!"
|
||||
|
||||
%message 178
|
||||
"\"Hey, thanks a lot!\""
|
||||
|
||||
%message 179
|
||||
"But, now you'll NEVER get it back!"
|
||||
|
||||
%message 180
|
||||
"%m182rope."
|
||||
|
||||
%message 181
|
||||
"%m182hammer."
|
||||
|
||||
%message 182
|
||||
"You have no "
|
||||
|
||||
%message 183
|
||||
"\"Yuck!\""
|
||||
|
||||
%message 184
|
||||
"No one wants that!"
|
||||
|
||||
%message 185
|
||||
"" [ THIS ONE MUST STAY A NULL!!!!!
|
||||
|
||||
%message 186
|
||||
"Pretty good company, eh?"
|
||||
|
||||
[ %message 187
|
||||
[ ""
|
||||
[
|
||||
[ %message 188
|
||||
[ ""
|
||||
[
|
||||
[ %message 189
|
||||
[ ""
|
||||
[
|
||||
[ %message 190
|
||||
[ ""
|
||||
[
|
||||
[ %message 191
|
||||
[ ""
|
||||
[
|
||||
[ %message 192
|
||||
[ ""
|
||||
[
|
||||
[ %message 193
|
||||
[ ""
|
||||
[
|
||||
[ %message 194
|
||||
[ ""
|
||||
[
|
||||
[ %message 195
|
||||
[ ""
|
||||
[
|
||||
[ %message 196
|
||||
[ ""
|
||||
[
|
||||
[ %message 197
|
||||
[ ""
|
||||
[
|
||||
[ %message 198
|
||||
[ ""
|
||||
[
|
||||
[ %message 199
|
||||
[ ""
|
||||
[
|
|
@ -0,0 +1,281 @@
|
|||
[Logics for room 1 -- title, credits
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "rm1.msg"
|
||||
%include "gamedefs.h"
|
||||
|
||||
|
||||
|
||||
[ This loops through the title screen, and the credits screens, until a
|
||||
[key is pressed. It then starts the game, at room 11.
|
||||
|
||||
[ Note: using the standard "frame" pic, first line to print on is y = 3,
|
||||
[lowest is y = 19. X = 4 leaves 1 character blank at LEFT edge.
|
||||
|
||||
[ View# Name Loop Cell Size X Y Contents
|
||||
[---------------------------------------------------------------------
|
||||
[ 39 vCreditNames1 0 0 65x23 41 94 programmed by
|
||||
[ 39 vCreditNames1 0 1 69x60 41 114 designed by
|
||||
[ 40 vCreditNames2 0 0 62x23 53 80 graphics by
|
||||
[ 40 vCreditNames2 0 1 44x23 65 84 written by
|
||||
[ 41 vCreditNames3 0 0 38x23 68 59 music by
|
||||
[ 41 vCreditNames3 0 1 82x56 25 155 AGI by
|
||||
|
||||
|
||||
|
||||
|
||||
%define designPic lv2
|
||||
%define creditsPic lv3
|
||||
%define agdsPic lv4
|
||||
%define framePic lv5
|
||||
|
||||
|
||||
%object aDoll 1
|
||||
%object aName 2
|
||||
|
||||
|
||||
|
||||
if (initLog)
|
||||
{
|
||||
SetHorizon( 1);
|
||||
StatusLineOff();
|
||||
Set( demo);
|
||||
Set( handsOff);
|
||||
Set( programControl);
|
||||
PreventInput();
|
||||
lastChar = 0;
|
||||
animationInterval = NORMAL_SPEED;
|
||||
|
||||
LoadSound( mTitle);
|
||||
|
||||
LoadView( vTitles);
|
||||
LoadView( vTitleDoll);
|
||||
LoadView( vTitleEgo);
|
||||
LoadView( vCreditNames1);
|
||||
LoadView( vCreditNames2);
|
||||
LoadView( vCreditNames3);
|
||||
LoadView( vCreditNames4);
|
||||
|
||||
|
||||
designPic = picCredits1;
|
||||
creditsPic = picCredits2;
|
||||
agdsPic = picCredits3;
|
||||
|
||||
|
||||
LoadPic( designPic);
|
||||
LoadPic( creditsPic);
|
||||
LoadPic( agdsPic);
|
||||
|
||||
LoadPic( currentRoom);
|
||||
DrawPic( currentRoom);
|
||||
DiscardPic( currentRoom);
|
||||
|
||||
|
||||
AnimateObj( aDoll);
|
||||
IgnoreObjs( aDoll);
|
||||
SetView( aDoll, vTitleDoll);
|
||||
SetLoop( aDoll, FACING_RIGHT);
|
||||
Position( aDoll, 0, 130);
|
||||
|
||||
AnimateObj( aName);
|
||||
SetView( aName, vCreditNames1);
|
||||
SetCel( aName, 0);
|
||||
SetPriority( aName, 4);
|
||||
StopCycling( aName);
|
||||
|
||||
StepSize( ego, three);
|
||||
Position( ego, 0, 160);
|
||||
SetView( ego, vTitleEgo);
|
||||
SetLoop( ego, FACING_RIGHT);
|
||||
|
||||
Sound( mTitle, musicDone);
|
||||
script = 0;
|
||||
|
||||
AddToPic( vTitles, 0, 0, 4, 18, 4, 4);
|
||||
AddToPic( vTitles, 0, 1, 4, 36, 4, 4);
|
||||
AddToPic( vTitles, 0, 2, 46, 36, 4, 4);
|
||||
AddToPic( vTitles, 0, 3, 11, 87, 4, 4);
|
||||
[view, loop, cel, x, y, obj priority, box priority
|
||||
|
||||
|
||||
scriptTimer = 8;
|
||||
ShowPic();
|
||||
|
||||
Return();
|
||||
|
||||
} [ end initLOG
|
||||
|
||||
|
||||
[*****
|
||||
:noInput
|
||||
[*****
|
||||
|
||||
if (scriptDone)
|
||||
{
|
||||
Reset( scriptDone);
|
||||
++script;
|
||||
|
||||
if (script == 1)
|
||||
{
|
||||
Draw( aDoll);
|
||||
MoveObj( aDoll, 36, 94, 2, scriptDone);
|
||||
}
|
||||
|
||||
|
||||
if (script == 2)
|
||||
{
|
||||
MoveObj( aDoll, 136, 94, 2, scriptDone);
|
||||
|
||||
Draw( ego);
|
||||
MoveObj( ego, 80, 160, 3, scriptDone);
|
||||
}
|
||||
|
||||
|
||||
if (script == 3)
|
||||
{
|
||||
if (monitorType != MONO)
|
||||
{
|
||||
Display( 23, 3, 2);
|
||||
Display( 24, 4, 3);
|
||||
}
|
||||
|
||||
SetLoop( ego, 2);
|
||||
FixLoop( ego);
|
||||
MoveObj( ego, 149, 160, 2, scriptDone);
|
||||
}
|
||||
|
||||
|
||||
if (script == 4)
|
||||
{
|
||||
Erase( aDoll);
|
||||
}
|
||||
|
||||
|
||||
if (script == 5)
|
||||
{
|
||||
Erase( ego);
|
||||
|
||||
if (monitorType != MONO)
|
||||
{
|
||||
ClearLines( 23, 24, BG_COLOR);
|
||||
}
|
||||
|
||||
DrawPic( designPic); [ draw new picture (pic.2)
|
||||
|
||||
Position( aName, 41, 94);
|
||||
Draw( aName); [ programmed by
|
||||
|
||||
ShowPic();
|
||||
|
||||
scriptTimer = 8;
|
||||
}
|
||||
|
||||
|
||||
if (script == 6)
|
||||
{
|
||||
SetCel( aName, 1); [ designed by
|
||||
RepositionTo( aName, 41, 114);
|
||||
|
||||
SetLoop( aDoll, FACING_LEFT);
|
||||
Draw( aDoll);
|
||||
MoveObj( aDoll, 100, 94, 2, scriptDone);
|
||||
}
|
||||
|
||||
|
||||
if (script == 7)
|
||||
{
|
||||
MoveObj( aDoll, 0, 94, 2, scriptDone);
|
||||
|
||||
SetLoop( ego, FACING_LEFT);
|
||||
Draw( ego);
|
||||
MoveObj( ego, 50, 160, 3, scriptDone);
|
||||
}
|
||||
|
||||
|
||||
if (script == 8)
|
||||
{
|
||||
SetLoop( ego, 3);
|
||||
FixLoop( ego);
|
||||
MoveObj( ego, 0, 160, 2, scriptDone);
|
||||
}
|
||||
|
||||
|
||||
if (script == 9)
|
||||
{
|
||||
Erase( aDoll);
|
||||
}
|
||||
|
||||
|
||||
if (script == 10)
|
||||
{
|
||||
Erase( ego);
|
||||
SetView( ego, vEgo);
|
||||
Erase( aName);
|
||||
|
||||
DrawPic( creditsPic); [ Draw pic.3
|
||||
SetView( aName, vCreditNames2);
|
||||
SetCel( aName, 0); [ graphics by
|
||||
Position( aName, 53, 80);
|
||||
Draw( aName);
|
||||
ShowPic();
|
||||
|
||||
scriptTimer = 9;
|
||||
}
|
||||
|
||||
|
||||
if (script == 11)
|
||||
{
|
||||
SetCel( aName, 1); [ written by
|
||||
RepositionTo( aName, 65, 84);
|
||||
scriptTimer = 8;
|
||||
}
|
||||
|
||||
|
||||
if (script == 12)
|
||||
{
|
||||
Erase( aName);
|
||||
|
||||
DrawPic( agdsPic); [ draw pic.4
|
||||
AddToPic( vCreditNames3, 0, 0, 68, 59, 4, 4); [ Music by
|
||||
AddToPic( vCreditNames3, 0, 1, 25, 155, 4, 4); [ AGDS by
|
||||
[view, loop, cel, x, y, obj priority, box priority
|
||||
|
||||
ShowPic();
|
||||
|
||||
scriptTimer = 8;
|
||||
}
|
||||
|
||||
|
||||
if (script == 13)
|
||||
{
|
||||
DrawPic( creditsPic); [ Draw pic.3
|
||||
AddToPic( vCreditNames4, 0, 0, 64, 84, 4, 4); [ Kenny
|
||||
ShowPic();
|
||||
|
||||
scriptTimer = 3;
|
||||
}
|
||||
|
||||
|
||||
if (script == 14 && !soundOn)
|
||||
{
|
||||
NewRoom( rmTitle); [ Let's do it again, and real soon.
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:exit
|
||||
[*****
|
||||
|
||||
if (musicDone)
|
||||
{
|
||||
if (script > 13)
|
||||
{
|
||||
NewRoom( rmTitle); [ Let's do it again, and real soon.
|
||||
}
|
||||
else
|
||||
{
|
||||
Sound( mTitle, musicDone); [ Play it again, Samantha.
|
||||
}
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
[messages for room 1 -- rm.titles
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
[ %message 1 "by Al Lowe & Mark Crowe"
|
||||
%message 2 "Adventure Game Development System"
|
||||
%message 3 "(C) 1987 by Sierra On-Line, Inc."
|
||||
[ | | | | | | | | |
|
||||
[ 0 5 10 15 20 25 30 35 39
|
||||
|
||||
|
||||
|
||||
[--------------------------------------------------------------------------]
|
||||
|
||||
|
||||
[ %message 11 "Lots of other stuff was done by:"
|
||||
[ %message 12 "Al Lowe"
|
||||
[ %message 13 "Mark Crowe"
|
||||
[
|
||||
[ %message 21 "Quality Assurance by:"
|
||||
[ %message 22 "Larry Weissenborn"
|
||||
[ %message 23 "Bob Ballew"
|
||||
[ %message 24 "Russ TrueLove"
|
||||
[ %message 25 "Kim Covert"
|
||||
[ %message 26 "Linda Bye"
|
||||
[
|
||||
[ %message 31 "Packaging and Documentation by:"
|
||||
[ %message 32 "Mark Crowe"
|
||||
[ %message 33 "John Williams"
|
||||
[
|
||||
[ %message 41 "Inspired by a Recent Wet Dream of:"
|
||||
[ %message 42 "Ken Williams"
|
||||
[ | | | | | | | | |
|
||||
[ 0 5 10 15 20 25 30 35 39
|
||||
|
|
@ -0,0 +1,649 @@
|
|||
[logics for room 10 -- rmTaxi
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "rm10.msg"
|
||||
%include "gamedefs.h"
|
||||
|
||||
|
||||
[ PROBLEMS: make driver cycle randomly, except when driving drunk.
|
||||
[Drunk driving sequence never speeds up.
|
||||
[Erase driver at start of crash flash.
|
||||
|
||||
|
||||
#define MIN_CABFARE 5
|
||||
#define MAX_CABFARE 15
|
||||
|
||||
%define L_TALKING 0 [ Taxi driver
|
||||
%define L_LOWERING_FLAG 1
|
||||
%define L_STEERING 2
|
||||
|
||||
%define C_FLAG_UP 0 [ Meter cells
|
||||
%define C_FLAG_DOWN 1
|
||||
|
||||
%define L_NORMAL 0 [ Scroll loops
|
||||
%define L_DRUNK 1
|
||||
%define L_CRASH 2
|
||||
|
||||
%define SCROLL_CYCLES 11
|
||||
|
||||
[ %define LOWER_METER 1
|
||||
[ %define METER_DOWN 2
|
||||
[ %define START_SPEEDUP 3 [ script values
|
||||
[ %define START_SLOWDOWN 4
|
||||
[ %define WAITING_FOR_MONEY 5
|
||||
[ %define PAID_FOR_TRIP 6
|
||||
|
||||
|
||||
%define rideDone lf0
|
||||
%define manDone lf1
|
||||
%define stopTalking lf2
|
||||
%define bgOn lf3
|
||||
%define gaveDestination lf4
|
||||
%define speedingUp lf5
|
||||
%define meterDone lf6
|
||||
%define cabbieSteering lf7
|
||||
|
||||
|
||||
%define fare lv0 [ Don't change this one!! %v200!!
|
||||
%define talkCycles lv1
|
||||
%define destCount lv2
|
||||
%define parkTimer lv3
|
||||
%define scrollCycles lv4
|
||||
%define scrollSpeed lv5
|
||||
%define destRoom lv6
|
||||
%define steeringCycles lv7
|
||||
|
||||
|
||||
%object aScroll 1
|
||||
%object aMeter 2
|
||||
%object aCabbie 3
|
||||
|
||||
|
||||
|
||||
if (initLog)
|
||||
{
|
||||
LoadPic( currentRoom);
|
||||
DrawPic( currentRoom);
|
||||
DiscardPic( currentRoom);
|
||||
|
||||
LoadView( vTaxiWindshieldMovie);
|
||||
LoadView( vTaxiMeter);
|
||||
LoadView( vTaxiDriver);
|
||||
|
||||
|
||||
AnimateObj( aScroll);
|
||||
SetView( aScroll, vTaxiWindshieldMovie);
|
||||
SetLoop( aScroll, L_NORMAL);
|
||||
SetPriority( aScroll, 4);
|
||||
Position( aScroll, 57, 77);
|
||||
Draw( aScroll);
|
||||
work = 6;
|
||||
CycleTime( aScroll, work);
|
||||
Set( bgOn); [ Scroll is cycling.
|
||||
|
||||
AnimateObj( aMeter);
|
||||
SetView( aMeter, vTaxiMeter);
|
||||
SetCel( aMeter, C_FLAG_UP);
|
||||
SetPriority( aMeter, 14);
|
||||
Position( aMeter, 75, 82);
|
||||
Draw( aMeter);
|
||||
CycleTime( aMeter, three);
|
||||
StopCycling( aMeter);
|
||||
|
||||
AnimateObj( aCabbie);
|
||||
IgnoreObjs( aCabbie);
|
||||
SetView( aCabbie, vTaxiDriver);
|
||||
SetPriority( aCabbie, 15);
|
||||
Position( aCabbie, 56, 83);
|
||||
|
||||
if (!Has( iWine))
|
||||
{
|
||||
SetLoop( aCabbie, L_LOWERING_FLAG);
|
||||
SetCel( aCabbie, 0);
|
||||
CycleTime( aCabbie, three);
|
||||
StopCycling( aCabbie);
|
||||
}
|
||||
else
|
||||
{
|
||||
SetLoop( aCabbie, L_TALKING);
|
||||
}
|
||||
|
||||
Draw( aCabbie);
|
||||
|
||||
ShowPic( );
|
||||
|
||||
if (!Has( iWine))
|
||||
{
|
||||
Print( 1);
|
||||
AcceptInput();
|
||||
parkTimer = 20;
|
||||
Random( 0, 10, fare);
|
||||
fare += cabFareMin;
|
||||
if (cabFareMin < 40)
|
||||
{
|
||||
++cabFareMin;
|
||||
}
|
||||
if (cabRideLength > 4)
|
||||
{
|
||||
--cabRideLength;
|
||||
}
|
||||
scriptTimer = 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 12);
|
||||
|
||||
PreventInput();
|
||||
Set( programControl);
|
||||
Set( meterDone);
|
||||
steeringCycles = 0;
|
||||
script = 100;
|
||||
scriptTimer = 5;
|
||||
}
|
||||
|
||||
Set( handsOff);
|
||||
Set( programControl);
|
||||
Reset( noFawnInDisco); [ After a drive, she'll be back.
|
||||
|
||||
Return( );
|
||||
|
||||
} [ end initLOG
|
||||
|
||||
|
||||
|
||||
if (aSecondPassed && secondsInRoom > 5)
|
||||
{
|
||||
Set( nearPerson);
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:handleInput
|
||||
[*****
|
||||
|
||||
if (!haveInput) {goto noInput;}
|
||||
|
||||
if ((Said( talk, rol) ||
|
||||
Said( take, me, action) ||
|
||||
Said( take, me, where, action) ||
|
||||
Said( where, action, town) ||
|
||||
Said( where, action)))
|
||||
{
|
||||
Print( 2);
|
||||
}
|
||||
|
||||
|
||||
if ((Said( disco) ||
|
||||
Said( go, disco) ||
|
||||
Said( take, me, disco)))
|
||||
{
|
||||
++destCount;
|
||||
if (destCount > 2)
|
||||
{
|
||||
Print( 28);
|
||||
}
|
||||
else
|
||||
{
|
||||
Set( scriptDone);
|
||||
destRoom = rmOutsideDisco;
|
||||
if (script > 2)
|
||||
{
|
||||
script = 200;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( casino) ||
|
||||
Said( casino, hotel) ||
|
||||
Said( go, casino) ||
|
||||
Said( go, casino, hotel) ||
|
||||
Said( take, me, casino) ||
|
||||
Said( take, me, casino, hotel)))
|
||||
{
|
||||
++destCount;
|
||||
if (destCount > 2)
|
||||
{
|
||||
Print( 28);
|
||||
}
|
||||
else
|
||||
{
|
||||
Set( scriptDone);
|
||||
destRoom = rmOutsideCasino;
|
||||
if (script > 2)
|
||||
{
|
||||
script = 200;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( bar) ||
|
||||
Said( go, bar) ||
|
||||
Said( take, me, bar)))
|
||||
{
|
||||
++destCount;
|
||||
if (destCount > 2)
|
||||
{
|
||||
Print( 28);
|
||||
}
|
||||
else
|
||||
{
|
||||
Set( scriptDone);
|
||||
destRoom = rmOutsideBar;
|
||||
if (script > 2)
|
||||
{
|
||||
script = 200;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( chapel) ||
|
||||
Said( go, chapel) ||
|
||||
Said( take, me, chapel)))
|
||||
{
|
||||
++destCount;
|
||||
if (destCount > 2)
|
||||
{
|
||||
Print( 28);
|
||||
}
|
||||
else
|
||||
{
|
||||
Set( scriptDone);
|
||||
destRoom = rmOutsideChapel;
|
||||
if (script > 2)
|
||||
{
|
||||
script = 200;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( store) ||
|
||||
Said( go, store) ||
|
||||
Said( take, me, store)))
|
||||
{
|
||||
++destCount;
|
||||
if (destCount > 2)
|
||||
{
|
||||
Print( 28);
|
||||
}
|
||||
else
|
||||
{
|
||||
Set( scriptDone);
|
||||
destRoom = rmOutside7_11;
|
||||
if (script > 2)
|
||||
{
|
||||
script = 200;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( leave, rol) ||
|
||||
Said( stop, rol) ||
|
||||
Said( open, door, rol) ||
|
||||
Said( go)))
|
||||
{
|
||||
if (script < 5)
|
||||
{
|
||||
Print( 7);
|
||||
}
|
||||
|
||||
if (script == 5)
|
||||
{
|
||||
Print( 9);
|
||||
Set( rideDone);
|
||||
currentStatus = STIFFED_CABBIE;
|
||||
}
|
||||
|
||||
if (script == 6)
|
||||
{
|
||||
Set( OK);
|
||||
Set( rideDone);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( take, me, home) ||
|
||||
Said( go, home) ||
|
||||
Said( home)))
|
||||
{
|
||||
Print( 26);
|
||||
NewRoom( rmWorkshop);
|
||||
}
|
||||
|
||||
if (Said( look, meter))
|
||||
{
|
||||
Print( 23);
|
||||
}
|
||||
|
||||
if ((Said( look, cab) ||
|
||||
Said( look$in, cab) ||
|
||||
Said( look, room) ||
|
||||
Said( look, seat) ||
|
||||
Said( look, floor) ||
|
||||
Said( look)))
|
||||
{
|
||||
Print( 24);
|
||||
}
|
||||
|
||||
if (Said( look, ceiling))
|
||||
{
|
||||
Print( 25);
|
||||
}
|
||||
|
||||
if ((Said( look, out, window) ||
|
||||
Said( look, window)))
|
||||
{
|
||||
Print( 27);
|
||||
}
|
||||
|
||||
if (Said( look, cabbie))
|
||||
{
|
||||
if (!lookedAtCabbie)
|
||||
{
|
||||
Set( lookedAtCabbie);
|
||||
Print( 10);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 11);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( give, money, man) ||
|
||||
Said( give, man, money) ||
|
||||
Said( give, money) ||
|
||||
Said( pay, man, money) ||
|
||||
Said( pay) ||
|
||||
Said( pay, money, man) ||
|
||||
Said( pay, money) ||
|
||||
Said( pay, man)))
|
||||
{
|
||||
if (script < 5)
|
||||
{
|
||||
Print( 6);
|
||||
}
|
||||
|
||||
if (script == 5)
|
||||
{
|
||||
if (dollars < fare)
|
||||
{
|
||||
Print( 20);
|
||||
Print( 14);
|
||||
Set( rideDone);
|
||||
currentStatus = STIFFED_CABBIE;
|
||||
}
|
||||
else
|
||||
{
|
||||
dollars -= fare;
|
||||
Set( scriptDone);
|
||||
parkTimer = 30;
|
||||
}
|
||||
}
|
||||
|
||||
if (script == 6)
|
||||
{
|
||||
Print( 19);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((Said( give, tip, rol) ||
|
||||
Said( give, man, tip, rol) ||
|
||||
Said( tip, rol)))
|
||||
{
|
||||
Print( 19);
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:noInput
|
||||
[*****
|
||||
|
||||
if (aSecondPassed)
|
||||
{
|
||||
--parkTimer;
|
||||
if (parkTimer == 1)
|
||||
{
|
||||
parkTimer = 30;
|
||||
if (script < 3)
|
||||
{
|
||||
Print( 5);
|
||||
}
|
||||
|
||||
if (script == 5)
|
||||
{
|
||||
Print( 22);
|
||||
}
|
||||
|
||||
if (script == 6)
|
||||
{
|
||||
Print( 21);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (scriptDone)
|
||||
{
|
||||
Reset( scriptDone);
|
||||
++script;
|
||||
|
||||
if (script == 1)
|
||||
{
|
||||
EndOfLoop( aMeter, meterDone);
|
||||
EndOfLoop( aCabbie, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 2)
|
||||
{
|
||||
SetLoop( aCabbie, L_STEERING);
|
||||
steeringCycles = 2;
|
||||
Reset( cabbieSteering); [ This makes him start immediately.
|
||||
CycleTime( aCabbie, two);
|
||||
}
|
||||
|
||||
if (script == 3) [ This starts us moving.
|
||||
{
|
||||
Set( speedingUp);
|
||||
parkTimer = 0;
|
||||
scrollCycles = SCROLL_CYCLES;
|
||||
scrollSpeed = 4;
|
||||
CycleTime( aScroll, scrollSpeed);
|
||||
|
||||
if (destRoom != previousRoom)
|
||||
{
|
||||
scriptTimer = cabRideLength; [Seconds before start slowdown.
|
||||
if (!gaveDestination) [ No message if trip #2 or more.
|
||||
{
|
||||
Print( 15);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
scriptTimer = 6;
|
||||
if (scriptTimer > cabRideLength)
|
||||
{
|
||||
scriptTimer = cabRideLength;
|
||||
}
|
||||
|
||||
if (!gaveDestination)
|
||||
{
|
||||
Print( 3);
|
||||
}
|
||||
}
|
||||
Set( gaveDestination);
|
||||
}
|
||||
|
||||
if (script == 4) [ Trip timer has expired. Slowdown.
|
||||
{
|
||||
Reset( speedingUp);
|
||||
}
|
||||
|
||||
if (script == 5) [ Slowdown has ended.
|
||||
{
|
||||
Reset( bgOn);
|
||||
StopUpdate( aScroll);
|
||||
|
||||
StartUpdate( aMeter);
|
||||
BeginningOfLoop( aMeter, meterDone);
|
||||
|
||||
steeringCycles = 0;
|
||||
StartCycling( aCabbie);
|
||||
SetLoop( aCabbie, L_LOWERING_FLAG);
|
||||
LastCel( aCabbie, work);
|
||||
SetCelV( aCabbie, work);
|
||||
BeginningOfLoop( aCabbie, manDone);
|
||||
|
||||
Print( 4);
|
||||
parkTimer = 30;
|
||||
}
|
||||
|
||||
if (script == 6)
|
||||
{
|
||||
Print( 8);
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (script == 101) [ He be a drunk cabbie!
|
||||
{
|
||||
parkTimer = 0;
|
||||
SetLoop( aCabbie, L_STEERING);
|
||||
steeringCycles = 2;
|
||||
Reset( cabbieSteering); [ This makes him start immediately.
|
||||
CycleTime( aCabbie, one);
|
||||
|
||||
scrollCycles = 0; [ Never change speed of scroll.
|
||||
scrollSpeed = 3;
|
||||
CycleTime( aScroll, scrollSpeed);
|
||||
SetLoop( aScroll, L_DRUNK);
|
||||
StartCycling( aScroll);
|
||||
Print( 16);
|
||||
scriptTimer = 9;
|
||||
}
|
||||
|
||||
if (script == 102) [ He's hit a bridge!
|
||||
{
|
||||
Erase( aCabbie);
|
||||
Erase( aMeter);
|
||||
SetLoop( aScroll, L_CRASH);
|
||||
CycleTime( aScroll, one);
|
||||
scriptTimer = 5;
|
||||
}
|
||||
|
||||
if (script == 103) [ You're dead.
|
||||
{
|
||||
Print( 18);
|
||||
Erase( aScroll);
|
||||
Set( certainDeath);
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (script == 201) [ Start all over again.
|
||||
{
|
||||
Random( MIN_CABFARE, MAX_CABFARE, work);
|
||||
fare += work;
|
||||
Print( 13);
|
||||
LastCel( aMeter, work);
|
||||
SetCelV( aMeter, work);
|
||||
ForceUpdate( aMeter);
|
||||
|
||||
StartUpdate( aCabbie);
|
||||
StartCycling( aCabbie);
|
||||
SetLoop( aCabbie, L_STEERING);
|
||||
steeringCycles = 2;
|
||||
Reset( cabbieSteering); [ This makes him start immediately.
|
||||
CycleTime( aCabbie, two);
|
||||
|
||||
StartUpdate( aScroll);
|
||||
StartCycling( aScroll);
|
||||
Set( bgOn);
|
||||
Set( scriptDone);
|
||||
script = 2;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
--scrollCycles;
|
||||
if (bgOn && scrollCycles == 1)
|
||||
{
|
||||
scrollCycles = SCROLL_CYCLES;
|
||||
if (!speedingUp)
|
||||
{
|
||||
++scrollSpeed;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (scrollSpeed > 1)
|
||||
{
|
||||
--scrollSpeed;
|
||||
}
|
||||
}
|
||||
|
||||
if (scrollSpeed == cabRideLength) [ we go down to 0, then up to CRL.
|
||||
{
|
||||
Set( scriptDone);
|
||||
}
|
||||
else
|
||||
{
|
||||
CycleTime( aScroll, scrollSpeed);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (meterDone)
|
||||
{
|
||||
Reset( meterDone);
|
||||
StopUpdate( aMeter);
|
||||
}
|
||||
|
||||
|
||||
if (manDone)
|
||||
{
|
||||
Reset( manDone);
|
||||
SetLoop( aCabbie, L_TALKING);
|
||||
StartCycling( aCabbie);
|
||||
talkCycles = 22;
|
||||
}
|
||||
|
||||
--talkCycles;
|
||||
if (talkCycles == 1)
|
||||
{
|
||||
StopCycling( aCabbie);
|
||||
}
|
||||
|
||||
|
||||
--steeringCycles; [ turn that wheel
|
||||
if (steeringCycles == 1)
|
||||
{
|
||||
Toggle( cabbieSteering);
|
||||
if (cabbieSteering)
|
||||
{
|
||||
StartCycling( aCabbie);
|
||||
Random( 5, 22, steeringCycles);
|
||||
}
|
||||
else
|
||||
{
|
||||
StopCycling( aCabbie);
|
||||
Random( 22, 44, steeringCycles);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:exit [ test for leaving the room
|
||||
[*****
|
||||
|
||||
if (rideDone)
|
||||
{
|
||||
Reset( programControl);
|
||||
Reset( handsOff);
|
||||
newRoom = destRoom;
|
||||
if (!rodeInCab)
|
||||
{
|
||||
Set( rodeInCab);
|
||||
Reset( OK);
|
||||
currentScore += 1;
|
||||
Print( 17);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,110 @@
|
|||
[messages for room 10 -- rmTaxi
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"The cabbie snarls a \"Where to, buddy?\" as he swings the meter flag down."
|
||||
|
||||
%message 2
|
||||
"\"Lookin' for action, eh? Dis town is full of it.
|
||||
We gotta disco that's usually full of foxes this time of night.
|
||||
Den dere's the casino, next to the all-night weddin' chapel.
|
||||
And we gotta lovely bar, but you've been dere.
|
||||
Me, I like da convenience store next to da disco,
|
||||
but of course, that's just personal preference.\""
|
||||
|
||||
%message 3
|
||||
"\"It won't take us long to get back dere,
|
||||
but I'll have to circle 'round da block.\""
|
||||
|
||||
%message 4
|
||||
"\"Well, here we are, buddy. That'll be $%v200.00.\""
|
||||
|
||||
%message 5
|
||||
"\"So, wadda we gonna do, buddy?
|
||||
Ya just gonna sit here all night?
|
||||
I gotta earn a livin' too, ya know!\""
|
||||
|
||||
%message 6
|
||||
"\"Why don'cha wait'll we git there, buddy?\""
|
||||
|
||||
%message 7
|
||||
"\"Sorry, but the meter's runnin'. Where ja wanna go?\""
|
||||
|
||||
%message 8
|
||||
"\"Thanks, buddy. Maybe I'll see ya again sometime!\""
|
||||
|
||||
%message 9
|
||||
"\"Waddaya tryin' to do, peahead!
|
||||
You're not gonna stiff me, and get away with it!\""
|
||||
|
||||
%message 10
|
||||
"You wish you hadn't.
|
||||
Mr. America, he ain't.
|
||||
His strongest feature seems to be his odor!"
|
||||
|
||||
%message 11
|
||||
"He wonders why you keep looking at him,
|
||||
and flashes a coy little smile back at you in the mirror.
|
||||
Your stomach turns, and not from the ride!"
|
||||
|
||||
%message 12
|
||||
"The driver looks at you and says,
|
||||
\"Hey! What's that you got? Wine?\"
|
||||
He grabs your bottle of wine, and guzzles it down!"
|
||||
|
||||
%message 13
|
||||
"\"Ok, but it'll cost ja extra!\""
|
||||
|
||||
%message 14
|
||||
"\"Waddaya mean, 'no money!!'\" snarls the driver.
|
||||
\"Step outside my office, chump!\""
|
||||
|
||||
%message 15
|
||||
"\"Ok. You got it, Mac!\""
|
||||
|
||||
%message 16
|
||||
"Hang on, Larry. He's swerving all over the road!"
|
||||
|
||||
%message 17
|
||||
"Whew! You're glad to get out of here."
|
||||
|
||||
%message 18
|
||||
"It seems a bridge abutment has brought your game to a sudden stop!
|
||||
Remember, Larry: \"Friends don't let cabbies drive drunk!\""
|
||||
|
||||
%message 19
|
||||
"\"I'm sorry, but it's against my personal philosophy to accept a gratuity!\""
|
||||
|
||||
%message 20
|
||||
"Sheepishly, you apologize to the cabbie for not carrying enough money
|
||||
to pay for the ride."
|
||||
|
||||
%message 21
|
||||
"\"So? Are ya gonna get outta my cab, or not??
|
||||
Thanks for da business, but I didn't want ta make no career outta this!\""
|
||||
|
||||
%message 22
|
||||
"\"So? Are ya gonna pay up, or do I have ta get rough with cha??\""
|
||||
|
||||
%message 23
|
||||
"It seems to be running a little fast, but then, this is an expensive town!"
|
||||
|
||||
%message 24
|
||||
"You wonder if cab companies have full-time employees to make these floors
|
||||
sticky."
|
||||
|
||||
%message 25
|
||||
"Even the ceiling's grungy."
|
||||
|
||||
%message 26
|
||||
"\"Ok, buddy,\" says the cabbie. \"But why would cha wanna go there?\""
|
||||
|
||||
%message 27
|
||||
"He sure drives fast, doesn't he?"
|
||||
|
||||
%message 28
|
||||
"\"Nope. Next time, make up your mind before ya gets in da cab!\""
|
||||
|
|
@ -0,0 +1,463 @@
|
|||
[logics for room 11 -- rmOutsideBar
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "rm11.msg"
|
||||
%include "gamedefs.h"
|
||||
%include "contrlrs.h"
|
||||
|
||||
|
||||
#define L_HOTEL_SIGN 0
|
||||
#define L_BAR_SIGN_1 1
|
||||
#define L_BAR_SIGN_2 2
|
||||
|
||||
%define inClear lf0
|
||||
%define nearDoor lf1
|
||||
%define doorOpen lf2
|
||||
%define titleSongDone lf3
|
||||
%define titleSongPlaying lf4
|
||||
%define copAtEgo lf5
|
||||
%define copOnscreen lf7
|
||||
|
||||
%object aDoor 1
|
||||
%object aBarSign1 2
|
||||
%object aBarSign2 3
|
||||
%object aHotelSign 4
|
||||
|
||||
|
||||
if (initLog)
|
||||
{
|
||||
if (watchHours > 4 && [ Anything after 5 am.
|
||||
watchHours < 10)
|
||||
{
|
||||
NewRoom( rmSunrise);
|
||||
}
|
||||
|
||||
[ if (machineType == MAC)
|
||||
[ {
|
||||
[ Set( slowProcessor);
|
||||
[ }
|
||||
|
||||
if (!beenIn11)
|
||||
{
|
||||
LoadSound( mTitle);
|
||||
if (!testRoom)
|
||||
{
|
||||
Set( enableMenu);
|
||||
DisableItem( cDummy);
|
||||
StatusLineOn();
|
||||
gameSeconds = 0;
|
||||
gameMinutes = 0;
|
||||
gameHours = 0;
|
||||
gameDays = 0;
|
||||
|
||||
Reset( handsOff);
|
||||
Reset( programControl);
|
||||
AcceptInput();
|
||||
animationInterval = NORMAL_SPEED;
|
||||
currentStatus = NORMAL;
|
||||
|
||||
LoadView( vEgo);
|
||||
SetView( ego, vEgo);
|
||||
currentEgoView = NORMAL;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
SetHorizon( 130);
|
||||
|
||||
LoadLogics( lgcStreet);
|
||||
|
||||
LoadPic( currentRoom);
|
||||
DrawPic( currentRoom);
|
||||
DiscardPic( currentRoom);
|
||||
|
||||
LoadView( vBarExterior);
|
||||
LoadView( vBarDoor);
|
||||
|
||||
if (currentStatus != STIFFED_CABBIE &&
|
||||
wearingRubber)
|
||||
{
|
||||
LoadView( vCop);
|
||||
LoadSound( mCop);
|
||||
|
||||
AnimateObj( aCop);
|
||||
SetView( aCop, vCop);
|
||||
Position( aCop, 0, 145);
|
||||
Draw( aCop);
|
||||
FollowEgo( aCop, 8, copAtEgo);
|
||||
Set( copOnscreen);
|
||||
}
|
||||
|
||||
|
||||
AnimateObj( aDoor);
|
||||
IgnoreHorizon( aDoor);
|
||||
IgnoreBlocks( aDoor);
|
||||
Position( aDoor, 60, 131);
|
||||
SetView( aDoor, vBarDoor);
|
||||
SetPriority( aDoor, 8);
|
||||
SetCel( aDoor, 0);
|
||||
Draw( aDoor);
|
||||
work = DOOR_CYCLE_TIME;
|
||||
CycleTime( aDoor, work);
|
||||
StopUpdate( aDoor);
|
||||
|
||||
if (slowProcessor)
|
||||
{
|
||||
AddToPic( vBarExterior, L_BAR_SIGN_1, 0, 36, 83, 4, 4);
|
||||
[view, loop, cel, x, y, obj priority, box priority
|
||||
}
|
||||
else
|
||||
{
|
||||
AnimateObj( aBarSign1);
|
||||
IgnoreHorizon( aBarSign1);
|
||||
IgnoreBlocks( aBarSign1);
|
||||
IgnoreObjs( aBarSign1);
|
||||
Position( aBarSign1, 36, 83);
|
||||
SetView( aBarSign1, vBarExterior);
|
||||
SetLoop( aBarSign1, L_BAR_SIGN_1);
|
||||
Draw( aBarSign1);
|
||||
CycleTime( aBarSign1, four);
|
||||
}
|
||||
|
||||
AnimateObj( aBarSign2);
|
||||
IgnoreHorizon( aBarSign2);
|
||||
IgnoreBlocks( aBarSign2);
|
||||
IgnoreObjs( aBarSign2);
|
||||
Position( aBarSign2, 83, 84);
|
||||
SetView( aBarSign2, vBarExterior);
|
||||
SetLoop( aBarSign2, L_BAR_SIGN_2);
|
||||
Draw( aBarSign2);
|
||||
CycleTime( aBarSign2, one);
|
||||
|
||||
AnimateObj( aHotelSign);
|
||||
IgnoreHorizon( aHotelSign);
|
||||
IgnoreBlocks( aHotelSign);
|
||||
IgnoreObjs( aHotelSign);
|
||||
Position( aHotelSign, 134, 67);
|
||||
SetView( aHotelSign, vBarExterior);
|
||||
SetLoop( aHotelSign, L_HOTEL_SIGN);
|
||||
Draw( aHotelSign);
|
||||
CycleTime( aHotelSign, five);
|
||||
|
||||
if (diedOfTheClap)
|
||||
{
|
||||
LoadView( vEgoMissingGroin);
|
||||
LoadView( vEgoDead);
|
||||
LoadView( vEgoCollapsing);
|
||||
}
|
||||
|
||||
if (previousRoom == rmAlley)
|
||||
{
|
||||
egoX = 134;
|
||||
egoY = 142;
|
||||
SetLoop( ego, FACING_LEFT);
|
||||
StartMotion( ego);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (previousRoom == rmInsideBar)
|
||||
{
|
||||
egoX = 58;
|
||||
egoY = 134;
|
||||
SetLoop( ego, FACING_FRONT);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (previousRoom != rmDarkAlley)
|
||||
{
|
||||
egoX = 63;
|
||||
egoY = 156;
|
||||
SetLoop( ego, FACING_BACK);
|
||||
}
|
||||
}
|
||||
}
|
||||
PositionV( ego, egoX, egoY);
|
||||
Draw( ego);
|
||||
|
||||
Call( lgcStreet);
|
||||
|
||||
ShowPic( );
|
||||
|
||||
if (currentStatus != STIFFED_CABBIE &&
|
||||
wearingRubber)
|
||||
{
|
||||
Sound( mCop, done);
|
||||
}
|
||||
|
||||
if (!beenIn11)
|
||||
{
|
||||
Set( beenIn11);
|
||||
Sound( mTitle, titleSongDone);
|
||||
Set( titleSongPlaying);
|
||||
}
|
||||
|
||||
Return( );
|
||||
|
||||
} [ end initLOG
|
||||
|
||||
|
||||
|
||||
Reset( inClear);
|
||||
if (Posn( ego, 34, 142, 130, 166))
|
||||
{
|
||||
Set( inClear);
|
||||
}
|
||||
|
||||
Reset( nearDoor);
|
||||
if (Posn( ego, 50, 131, 75, 136))
|
||||
{
|
||||
Set( nearDoor);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
[*****
|
||||
:handleInput
|
||||
[*****
|
||||
|
||||
if (!haveInput) {goto noInput;}
|
||||
|
||||
if ((Said( look) ||
|
||||
Said( look, building) ||
|
||||
Said( look, room) ||
|
||||
Said( look, bar)))
|
||||
{
|
||||
Print( 1);
|
||||
Print( 2);
|
||||
}
|
||||
|
||||
if (Said( look, mat))
|
||||
{
|
||||
Print( 9);
|
||||
}
|
||||
|
||||
if ((Said( lift, mat) ||
|
||||
Said( look, under, mat)))
|
||||
{
|
||||
Print( 10);
|
||||
Print( 11);
|
||||
Print( 12);
|
||||
}
|
||||
|
||||
|
||||
[ Now, do the cop stuff.
|
||||
|
||||
if (copOnscreen)
|
||||
{
|
||||
if (Said( look, cop))
|
||||
{
|
||||
Print( 18);
|
||||
}
|
||||
|
||||
if (Said( talk, cop))
|
||||
{
|
||||
Print( 15);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (Said( open, door))
|
||||
{
|
||||
if (nearTaxi)
|
||||
{
|
||||
Reset( haveMatch);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!nearDoor)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (watchHours > 2 && [ Anything after 3 am.
|
||||
watchHours < 10)
|
||||
{
|
||||
Print( 13);
|
||||
Print( 14);
|
||||
}
|
||||
else
|
||||
{
|
||||
Set( OK);
|
||||
StartUpdate( aDoor);
|
||||
EndOfLoop( aDoor, doorOpen);
|
||||
PreventInput();
|
||||
StopMotion( ego);
|
||||
Set( programControl);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( look, door))
|
||||
{
|
||||
if (!nearDoor)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 8);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((Said( look, bar) ||
|
||||
Said( look, building)))
|
||||
{
|
||||
Print( 4);
|
||||
}
|
||||
|
||||
if ((Said( look, window) ||
|
||||
Said( look$in, window)))
|
||||
{
|
||||
Print( 6);
|
||||
}
|
||||
|
||||
if ((Said( break, window) ||
|
||||
Said( hit, window)))
|
||||
{
|
||||
Print( 7);
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:noInput
|
||||
[*****
|
||||
|
||||
if (!handsOff &&
|
||||
diedOfTheClap &&
|
||||
secondsInRoom > 5 &&
|
||||
currentEgoView == NORMAL &&
|
||||
currentStatus == NORMAL &&
|
||||
inClear)
|
||||
{
|
||||
Set( scriptDone);
|
||||
script = 0;
|
||||
}
|
||||
|
||||
if (script == 2 && inClear)
|
||||
{
|
||||
Set( scriptDone);
|
||||
}
|
||||
|
||||
|
||||
if (scriptDone)
|
||||
{
|
||||
Reset( scriptDone);
|
||||
++script;
|
||||
|
||||
if (script == 1)
|
||||
{
|
||||
Reset( diedOfTheClap);
|
||||
currentStatus = DYING_OF_CLAP;
|
||||
Set( handsOff);
|
||||
PreventInput();
|
||||
|
||||
SetView( ego, vEgoMissingGroin);
|
||||
ForceUpdate( ego);
|
||||
Print( 3);
|
||||
scriptTimer = 10;
|
||||
}
|
||||
|
||||
if (script == 2)
|
||||
{
|
||||
[ This makes us wait until previous timer has expired,
|
||||
[then wait again until inClear is set.
|
||||
}
|
||||
|
||||
if (script == 3)
|
||||
{
|
||||
Print( 5);
|
||||
StopMotion( ego);
|
||||
Set( programControl);
|
||||
SetView( ego, vEgoCollapsing);
|
||||
SetCel( ego, 0);
|
||||
CycleTime( ego, two);
|
||||
Set( keepCycling);
|
||||
EndOfLoop( ego, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 4)
|
||||
{
|
||||
Reset( keepCycling);
|
||||
StopCycling( ego);
|
||||
SetView( ego, vEgoDead);
|
||||
SetCel( ego, 0);
|
||||
egoX -= 3;
|
||||
if (egoY < 160)
|
||||
{
|
||||
egoY += 7;
|
||||
}
|
||||
RepositionToV( ego, egoX, egoY);
|
||||
scriptTimer = 5;
|
||||
}
|
||||
|
||||
if (script == 5)
|
||||
{
|
||||
Set( keepCycling);
|
||||
CycleTime( ego, three);
|
||||
EndOfLoop( ego, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 6)
|
||||
{
|
||||
Reset( handsOff);
|
||||
newRoom = rmWorkshop;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
[ Cop stuff:
|
||||
|
||||
if (aSecondPassed &&
|
||||
secondsInRoom == 5 &&
|
||||
wearingRubber)
|
||||
{
|
||||
Print( 15);
|
||||
}
|
||||
|
||||
if (copAtEgo)
|
||||
{
|
||||
Reset( copAtEgo);
|
||||
Set( handsOff);
|
||||
Erase( ego);
|
||||
Erase( aCop);
|
||||
Set( certainDeath);
|
||||
Print( 16);
|
||||
Print( 17);
|
||||
}
|
||||
|
||||
|
||||
if (titleSongDone)
|
||||
{
|
||||
Reset( titleSongDone);
|
||||
Reset( titleSongPlaying);
|
||||
}
|
||||
|
||||
if (titleSongPlaying)
|
||||
{
|
||||
notMovedCycles = 0;
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:exit [ test for leaving the room
|
||||
[*****
|
||||
|
||||
Call( lgcStreet);
|
||||
|
||||
if ((edgeEgoHit == RIGHT ||
|
||||
edgeEgoHit == LEFT)) {newRoom = rmDarkAlley;}
|
||||
if (Posn( ego, 132, 120, SCREEN_RIGHT, 138)) {newRoom = rmAlley;}
|
||||
|
||||
if (doorOpen)
|
||||
{
|
||||
AcceptInput();
|
||||
StartMotion( ego);
|
||||
Reset( programControl);
|
||||
newRoom = rmInsideBar;
|
||||
}
|
|
@ -0,0 +1,66 @@
|
|||
[messages for room 11 -- rmOutsideBar
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"You are outside Lefty's bar. Isn't it wonderful what can be done
|
||||
with a little neon?"
|
||||
|
||||
%message 2
|
||||
"There is a sign on that utility pole."
|
||||
|
||||
%message 3
|
||||
"It appears that the hooker gave you a little more than you bargained for!"
|
||||
|
||||
%message 4
|
||||
"Considering the looks of this place, you decide that next time you'd be
|
||||
better off to spend a little more money on your computer games!"
|
||||
|
||||
%message 5
|
||||
"While life may be possible, it is no longer worth living."
|
||||
|
||||
%message 6
|
||||
"The windows are too dirty to see through."
|
||||
|
||||
%message 7
|
||||
"Nah. Lefty would probably break both your legs!"
|
||||
|
||||
%message 8
|
||||
"Nice tuck and roll job, eh?"
|
||||
|
||||
%message 9
|
||||
"\"Welcome\""
|
||||
|
||||
%message 10
|
||||
"Amazed by your own cleverness, you lift the door mat and discover..."
|
||||
|
||||
%message 11
|
||||
"...absolutely nothing!"
|
||||
|
||||
%message 12
|
||||
"(What did you expect? A key?)"
|
||||
|
||||
%message 13
|
||||
"You can't. The door is securely locked. "
|
||||
|
||||
%message 14
|
||||
"Lefty's closes at 3:00 a.m."
|
||||
|
||||
%message 15
|
||||
"\"STOP, PERVERT!!!\" shouts the cop.\n\n
|
||||
\"I wonder who he's yelling at,\" you think."
|
||||
|
||||
%message 16
|
||||
"\"Caught you, pervert!\" the cop shouts.
|
||||
\"We don't like people exposing themselves around this town,
|
||||
especially wearing one of those!\""
|
||||
|
||||
%message 17
|
||||
"Next time, if you insist on wearing your \"lubber\" in public,
|
||||
you should at least zip your fly."
|
||||
|
||||
%message 18
|
||||
"He appears to be chasing someone!"
|
||||
|
|
@ -0,0 +1,195 @@
|
|||
[messages for room 12 -- rmAlley
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"Try moving to the east end of the fire escape."
|
||||
|
||||
%message 2
|
||||
"Try moving to the west end of the fire escape."
|
||||
|
||||
%message 3
|
||||
"%m7 and a fence."
|
||||
|
||||
%message 4
|
||||
"Nah. That room needs the fresh air!"
|
||||
|
||||
%message 5
|
||||
"You are on a fire escape.
|
||||
A rusty ladder is at one end.
|
||||
East of the fire escape is another window, just out of your reach."
|
||||
|
||||
%message 6
|
||||
"%m7, a fence, and something sitting in the east window."
|
||||
|
||||
%message 7
|
||||
"It's a nice little alley, with a trash bin, two windows, a fire escape"
|
||||
|
||||
%message 8
|
||||
"Move closer to the ladder."
|
||||
|
||||
%message 9
|
||||
"(Of course, you can't play the violin now, but you get the idea.)"
|
||||
|
||||
%message 10
|
||||
"Unlock it? From the outside?"
|
||||
|
||||
%message 11
|
||||
"You can't. It's locked from the inside."
|
||||
|
||||
%message 12
|
||||
"Looking inside the west window, you see the room you just left."
|
||||
|
||||
%message 13
|
||||
"Looking at the east window,
|
||||
you notice a bottle of pills sitting on the window ledge."
|
||||
|
||||
%message 14
|
||||
"There are two windows high above you.
|
||||
The west window by the fire escape has a dim, reddish glow;
|
||||
the east window is dark.
|
||||
There may be something on the sill of the east window,
|
||||
but you can't make it out from down here."
|
||||
|
||||
%message 15
|
||||
"You broke it, didn't you?"
|
||||
|
||||
%message 16
|
||||
"You lean far out over the railing before remembering that
|
||||
agility is yet another of your short suits."
|
||||
|
||||
%message 17
|
||||
"With the rope securely holding you to the railing,
|
||||
you can reach all the way over to the window.
|
||||
NOW, of all times, you notice the window's locked!"
|
||||
|
||||
%message 18
|
||||
"Subtly, you smash the window with your hammer.
|
||||
Your future as a second-story man seems quite plausible!"
|
||||
|
||||
%message 19
|
||||
"You got 'em! But what are they?"
|
||||
|
||||
%message 20
|
||||
"You might try reaching over to the window first."
|
||||
|
||||
%message 21
|
||||
"You consider sticking your hand through a solid glass window,
|
||||
but realize that if you did, you wouldn't be able to play the violin."
|
||||
|
||||
%message 22
|
||||
"It already is."
|
||||
|
||||
%message 23
|
||||
"What is this; a death wish?"
|
||||
|
||||
%message 24
|
||||
"You already took them. Why do this again?"
|
||||
|
||||
%message 25
|
||||
"Amidst assorted, odoriferous refuse from Lefty's clientel, you discover
|
||||
Lefty's old, left-handed hammer."
|
||||
|
||||
%message 26
|
||||
"There's nothing else here worth describing, let alone taking."
|
||||
|
||||
%message 27
|
||||
"\"YUCK!!\""
|
||||
|
||||
%message 28
|
||||
"Unfortunately, you can't see much from out here."
|
||||
|
||||
%message 29
|
||||
"Wow! Does your head hurt!!"
|
||||
|
||||
%message 30
|
||||
"Hey! Where are you?"
|
||||
|
||||
%message 31
|
||||
"After a careful analysis of your surroundings,
|
||||
you conclude you are at the bottom of a pile of garbage!"
|
||||
|
||||
%message 32
|
||||
"Move to the front of the trash bin."
|
||||
|
||||
%message 33
|
||||
"There's no way to reach the ladder from down here.
|
||||
It's only accessible from above."
|
||||
|
||||
%message 34
|
||||
"You see alleys stretching off to infinity."
|
||||
|
||||
%message 35
|
||||
"The fence is much too tall for you to climb over."
|
||||
|
||||
%message 36
|
||||
"It's not long enough to reach from here."
|
||||
|
||||
%message 37
|
||||
"It's not long enough to reach anywhere,
|
||||
but you might want to use it for safety purposes."
|
||||
|
||||
%message 38
|
||||
"Be more specific."
|
||||
|
||||
%message 39
|
||||
"You untie the rope."
|
||||
|
||||
%message 40
|
||||
"How can you do that?"
|
||||
|
||||
%message 41
|
||||
"Using the dull pocket knife, you cut the rope free."
|
||||
|
||||
%message 42
|
||||
"%g176" [ That's AN idea...
|
||||
|
||||
%message 43
|
||||
"A rickety fire escape, complete with safety ladder,
|
||||
is loosely attached to the building.
|
||||
A mild, reddish glow comes from the window behind it."
|
||||
|
||||
%message 44
|
||||
"Unfortunately the lid on the trash bin just will not close."
|
||||
|
||||
%message 45
|
||||
"Try as you might, it is impossible to move the trash bin."
|
||||
|
||||
%message 46
|
||||
"The solution is closer to you than that."
|
||||
|
||||
%message 47
|
||||
"There is an old neon sign hanging on the wall that says \"Hotel\"..."
|
||||
|
||||
%message 48
|
||||
"...approximately."
|
||||
|
||||
%message 49
|
||||
"You can't. Even its rusty bolts are too tough for you!"
|
||||
|
||||
%message 50
|
||||
"Not now!"
|
||||
|
||||
%message 51
|
||||
"There may be something in the east window, but from here, you're not sure."
|
||||
|
||||
%message 52
|
||||
"It's a long way to the ground!"
|
||||
|
||||
%message 53
|
||||
"Whee!"
|
||||
|
||||
%message 54
|
||||
"Move closer to the window, if you want to go back in the hooker's room."
|
||||
|
||||
%message 55
|
||||
"You reconsider after noticing the trash bin is behind where you would fall!"
|
||||
|
||||
%message 56
|
||||
"You ain't got no knife!!"
|
||||
|
||||
%message 57
|
||||
"You're currently all tied up!"
|
||||
|
|
@ -0,0 +1,631 @@
|
|||
[logics for room 13 -- rmToilet
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "rm13.msg"
|
||||
%include "gamedefs.h"
|
||||
|
||||
|
||||
|
||||
%define WATER_CYCLE 8
|
||||
|
||||
%define nearToilet lf0
|
||||
%define toiletOverflowing lf2
|
||||
%define doorOpenDone lf4
|
||||
%define doorCloseDone lf7
|
||||
%define nearDoor lf8
|
||||
%define nearSink lf9
|
||||
%define paperCycling lf10
|
||||
|
||||
%define waterY lv0
|
||||
%define waterCycle lv1
|
||||
%define toiletTimer lv2
|
||||
%define pissTimer lv3
|
||||
%define graffitiCount lv4
|
||||
%define paperCycles lv5
|
||||
|
||||
%object aDoor 1
|
||||
%object aFountain 2
|
||||
%object aRing 3
|
||||
|
||||
|
||||
|
||||
if (initLog)
|
||||
{
|
||||
LoadView( vEgoOnToilet);
|
||||
LoadView( vToiletOverflowing);
|
||||
LoadView( vToiletFountain);
|
||||
LoadView( vToiletDoor);
|
||||
LoadView( vRing);
|
||||
LoadView( vEgoDrowning);
|
||||
|
||||
LoadSound( sPissing);
|
||||
LoadSound( sFart);
|
||||
|
||||
|
||||
LoadPic( currentRoom);
|
||||
DrawPic( currentRoom);
|
||||
DiscardPic( currentRoom);
|
||||
|
||||
AnimateObj( aDoor);
|
||||
IgnoreHorizon( aDoor);
|
||||
IgnoreBlocks( aDoor);
|
||||
IgnoreObjs( aDoor);
|
||||
Position( aDoor, 52, 137);
|
||||
SetView( aDoor, vToiletDoor);
|
||||
LastCel( aDoor, work);
|
||||
SetCelV( aDoor, work);
|
||||
SetPriority( aDoor, 10);
|
||||
work = DOOR_CYCLE_TIME;
|
||||
CycleTime( aDoor, work);
|
||||
Draw( aDoor);
|
||||
BeginningOfLoop( aDoor, doorCloseDone);
|
||||
|
||||
AnimateObj( aFountain);
|
||||
IgnoreHorizon( aFountain);
|
||||
IgnoreBlocks( aFountain);
|
||||
IgnoreObjs( aFountain);
|
||||
Position( aFountain, 71, 123);
|
||||
SetView( aFountain, vToiletFountain);
|
||||
SetPriority( aFountain, 6);
|
||||
|
||||
|
||||
if (ObjInRoom( iRing, currentRoom))
|
||||
{
|
||||
AnimateObj( aRing);
|
||||
IgnoreBlocks( aRing);
|
||||
IgnoreObjs( aRing);
|
||||
SetView( aRing, vRing);
|
||||
SetPriority( aRing, 12);
|
||||
Position( aRing, 101, 116);
|
||||
Draw( aRing);
|
||||
StopUpdate( aRing);
|
||||
}
|
||||
|
||||
Set( programControl);
|
||||
StopMotion( ego);
|
||||
Position( ego, 56, 136);
|
||||
Draw( ego);
|
||||
|
||||
ShowPic( );
|
||||
|
||||
Return( );
|
||||
|
||||
} [ end initLOG
|
||||
|
||||
|
||||
|
||||
Reset( nearDoor);
|
||||
if (Posn( ego, 50, 132, 60, 140))
|
||||
{
|
||||
Set( nearDoor);
|
||||
}
|
||||
|
||||
Reset( nearSink);
|
||||
if (Posn( ego, 89, 129, 110, 160))
|
||||
{
|
||||
Set( nearSink);
|
||||
}
|
||||
|
||||
Reset( nearToilet);
|
||||
if (Posn( ego, 65, 125, 84, 131))
|
||||
{
|
||||
Set( nearToilet);
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:handleInput
|
||||
[*****
|
||||
|
||||
if (!haveInput) {goto noInput;}
|
||||
|
||||
if ((Said( look) ||
|
||||
Said( look, room)))
|
||||
{
|
||||
Print( 1);
|
||||
}
|
||||
|
||||
if ((Said( take, ring) ||
|
||||
Said( take, ring, from, sink) ||
|
||||
Said( take, ring, sink)))
|
||||
{
|
||||
if (!nearSink)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!ObjInRoom( iRing, currentRoom))
|
||||
{
|
||||
Set( alreadyGotIt);
|
||||
}
|
||||
else
|
||||
{
|
||||
StartUpdate( aRing);
|
||||
Erase( aRing);
|
||||
Get( iRing);
|
||||
currentScore += 3;
|
||||
Print( 13);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((Said( look$in, sink) ||
|
||||
Said( look, sink)))
|
||||
{
|
||||
if (!nearSink)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!ObjInRoom( iRing, currentRoom))
|
||||
{
|
||||
Print( 14);
|
||||
Print( 15);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 12);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[ Handle finding the ring and the graffiti.
|
||||
|
||||
if (Said( look, wall))
|
||||
{
|
||||
++graffitiCount;
|
||||
if (graffitiCount == 1)
|
||||
{
|
||||
Print( 2);
|
||||
}
|
||||
|
||||
if (graffitiCount == 2)
|
||||
{
|
||||
Print( 4);
|
||||
}
|
||||
|
||||
if (graffitiCount == 3)
|
||||
{
|
||||
Print( 5);
|
||||
}
|
||||
|
||||
if (graffitiCount > 3)
|
||||
{
|
||||
Print( 17);
|
||||
if (!knowsPassword)
|
||||
{
|
||||
Set( knowsPassword);
|
||||
currentScore += 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( smell, rol))
|
||||
{
|
||||
Print( 39);
|
||||
}
|
||||
|
||||
[ Handle ego dumping.
|
||||
|
||||
if ((Said( get, up) ||
|
||||
Said( leave) ||
|
||||
Said( stop, crap) ||
|
||||
Said( get, paper) ||
|
||||
Said( use, paper) ||
|
||||
Said( get, toilet, paper) ||
|
||||
Said( use, toilet, paper) ||
|
||||
Said( wipe) ||
|
||||
Said( wipe, ass) ||
|
||||
Said( stand, up) ||
|
||||
Said( stand)))
|
||||
{
|
||||
if (currentStatus != ON_TOILET)
|
||||
{
|
||||
Print( 7);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 29);
|
||||
Set( toiletPaperOnShoe);
|
||||
currentStatus = NORMAL;
|
||||
SetView( ego, vEgo);
|
||||
CycleTime( ego, one);
|
||||
ForceUpdate( ego);
|
||||
StartMotion( ego);
|
||||
Reset( programControl);
|
||||
Reset( keepCycling);
|
||||
toiletTimer = 0;
|
||||
paperCycles = 0;
|
||||
Return();
|
||||
}
|
||||
}
|
||||
|
||||
if (currentStatus == ON_TOILET &&
|
||||
!haveMatch)
|
||||
{
|
||||
Set( haveMatch);
|
||||
Print( 7);
|
||||
}
|
||||
|
||||
if ((Said( take, crap) ||
|
||||
Said( sit, toilet) ||
|
||||
Said( sit, stool) ||
|
||||
Said( sit, on, toilet) ||
|
||||
Said( sit, on, stool) ||
|
||||
Said( go, toilet) ||
|
||||
Said( use, toilet) ||
|
||||
Said( sit) ||
|
||||
Said( crap)))
|
||||
{
|
||||
if (currentStatus != NORMAL)
|
||||
{
|
||||
Print( 7);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!nearToilet)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
currentStatus = ON_TOILET;
|
||||
SetView( ego, vEgoOnToilet);
|
||||
RepositionTo( ego, 72, 126);
|
||||
Set( programControl);
|
||||
Set( keepCycling);
|
||||
StopMotion( ego);
|
||||
ForceUpdate( ego);
|
||||
Print( 10);
|
||||
toiletTimer = 14;
|
||||
paperCycles = 3;
|
||||
if (!poopedInCan)
|
||||
{
|
||||
Set( poopedInCan);
|
||||
currentScore += 1;
|
||||
}
|
||||
|
||||
Return();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((Said( drink, water, rol) ||
|
||||
Said( get, drink, rol)))
|
||||
{
|
||||
Print( 36);
|
||||
}
|
||||
|
||||
if ((Said( turn, on, water) ||
|
||||
Said( turn, water, on, sink) ||
|
||||
Said( turn, on, sink) ||
|
||||
Said( turn, on, water, sink) ||
|
||||
Said( wash, hands, rol)))
|
||||
{
|
||||
if (!nearSink)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 22);
|
||||
Print( 24);
|
||||
Print( 25);
|
||||
Print( 27);
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( wash, face, rol))
|
||||
{
|
||||
if (!nearSink)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 22);
|
||||
Print( 24);
|
||||
Print( 25);
|
||||
Print( 31);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( dry, rol) ||
|
||||
Said( shake, rol) ||
|
||||
Said( wipe, face, rol) ||
|
||||
Said( wipe, hands, rol) ||
|
||||
Said( wipe, my, face, rol) ||
|
||||
Said( wipe, my, hands, rol)))
|
||||
{
|
||||
Print( 32);
|
||||
}
|
||||
|
||||
if ((Said( rinse, sink) ||
|
||||
Said( rinse, out, sink)))
|
||||
{
|
||||
Print( 35);
|
||||
}
|
||||
|
||||
|
||||
if ((Said( piss, rol) ||
|
||||
Said( go, bathroom, rol) ||
|
||||
Said( take, piss, rol)))
|
||||
{
|
||||
if (currentStatus != NORMAL)
|
||||
{
|
||||
Print( 7);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!nearToilet)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Set( OK);
|
||||
currentStatus = PISSING;
|
||||
SetLoop( ego, FACING_BACK);
|
||||
RepositionTo( ego, 74, 127);
|
||||
ForceUpdate( ego);
|
||||
Set( programControl);
|
||||
StopMotion( ego);
|
||||
pissTimer = 5;
|
||||
Sound( sPissing, done);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( throw, up))
|
||||
{
|
||||
Print( 41);
|
||||
}
|
||||
|
||||
if ((Said( knock, anyword, door) ||
|
||||
Said( knock, door, anyword) ||
|
||||
Said( knock, door) ||
|
||||
Said( knock)))
|
||||
{
|
||||
if (!nearDoor)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 6);
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( open, door))
|
||||
{
|
||||
if (!nearDoor)
|
||||
{
|
||||
Print( 26);
|
||||
}
|
||||
else
|
||||
{
|
||||
StopMotion( ego);
|
||||
Set( programControl);
|
||||
|
||||
StartUpdate( aDoor);
|
||||
EndOfLoop( aDoor, doorOpenDone);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((Said( look, mirror) ||
|
||||
Said( look$in, mirror)))
|
||||
{
|
||||
if (!nearSink)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 9);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( look, behind, mirror) ||
|
||||
Said( open, mirror) ||
|
||||
Said( move, mirror) ||
|
||||
Said( open, cabinet)))
|
||||
{
|
||||
if (!nearSink)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 37);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( open, toilet, rol) ||
|
||||
Said( look$in, toilet, tank)))
|
||||
{
|
||||
Print( 38);
|
||||
}
|
||||
|
||||
|
||||
if ((Said( look, toilet, paper) ||
|
||||
Said( get, toilet, paper) ||
|
||||
Said( use, toilet, paper)))
|
||||
{
|
||||
if (!nearToilet)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 28);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( look$in, toilet) ||
|
||||
Said( look, toilet)))
|
||||
{
|
||||
if (!nearToilet)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 23);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[ Do the water filling stunt.
|
||||
|
||||
if ((Said( flush, toilet) ||
|
||||
Said( flush)))
|
||||
{
|
||||
if (!nearToilet)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
PreventInput();
|
||||
Set( programControl);
|
||||
StopMotion( ego);
|
||||
Set( toiletOverflowing);
|
||||
waterY = 148;
|
||||
Draw( aFountain);
|
||||
waterCycle = WATER_CYCLE;
|
||||
Print( 33);
|
||||
Print( 34);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( get, paper) ||
|
||||
Said( read, paper)))
|
||||
{
|
||||
Print( 30);
|
||||
}
|
||||
|
||||
if (Has( iMagazine) &&
|
||||
Said( look, magazine, rol))
|
||||
{
|
||||
Print( 40);
|
||||
}
|
||||
|
||||
if (Said( wipe, hand, on, pants))
|
||||
{
|
||||
Set( OK);
|
||||
}
|
||||
|
||||
if (Said( anyword, toilet, rol))
|
||||
{
|
||||
Print( 16);
|
||||
}
|
||||
|
||||
|
||||
|
||||
[*****
|
||||
:noInput
|
||||
[*****
|
||||
|
||||
if (aSecondPassed)
|
||||
{
|
||||
--toiletTimer;
|
||||
if (toiletTimer == 6)
|
||||
{
|
||||
Print( 11);
|
||||
}
|
||||
|
||||
if (toiletTimer == 1)
|
||||
{
|
||||
Sound( sFart, done);
|
||||
Print( 21);
|
||||
}
|
||||
|
||||
--pissTimer;
|
||||
if (pissTimer == 1)
|
||||
{
|
||||
Print( 3);
|
||||
currentStatus = NORMAL;
|
||||
StartMotion( ego);
|
||||
Reset( programControl);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
--paperCycles;
|
||||
if (paperCycles == 1)
|
||||
{
|
||||
Toggle( paperCycling);
|
||||
if (paperCycling)
|
||||
{
|
||||
SetLoop( ego, 1); [ Turn the page.
|
||||
CycleTime( ego, one);
|
||||
Random( 7, 12, paperCycles);
|
||||
}
|
||||
else
|
||||
{
|
||||
SetLoop( ego, 0); [ Look at the pages.
|
||||
CycleTime( ego, five);
|
||||
Random( 19, 33, paperCycles);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (doorCloseDone)
|
||||
{
|
||||
Reset( doorCloseDone);
|
||||
StopUpdate( aDoor);
|
||||
Reset( programControl);
|
||||
StartMotion( ego);
|
||||
}
|
||||
|
||||
--waterCycle;
|
||||
if (waterCycle == 1)
|
||||
{
|
||||
if (toiletOverflowing && waterY == 100)
|
||||
{
|
||||
Print( 19);
|
||||
Print( 20);
|
||||
SetView( ego, vEgoDrowning);
|
||||
Set( keepCycling);
|
||||
}
|
||||
|
||||
if (toiletOverflowing && waterY == 40)
|
||||
{
|
||||
Print( 18);
|
||||
Set( certainDeath);
|
||||
}
|
||||
|
||||
if (toiletOverflowing && waterY > 36)
|
||||
{
|
||||
view = 59;
|
||||
loop = 0;
|
||||
cell = 0;
|
||||
x = 47;
|
||||
priority = 15;
|
||||
AddToPicV( view, loop, cell, x, waterY, priority, four);
|
||||
[view, loop, cel, x, y, obj priority, box priority
|
||||
|
||||
waterY -= 4;
|
||||
waterCycle = WATER_CYCLE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
[*****
|
||||
:exit [ test for leaving the room
|
||||
[*****
|
||||
|
||||
if (doorOpenDone)
|
||||
{
|
||||
Reset( programControl);
|
||||
newRoom = rmHallway;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,143 @@
|
|||
[messages for room 13 -- rmToilet
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"You are in Lefty's one and only restroom.
|
||||
The stench is overpowering, there is graffiti on the walls, and you
|
||||
doubt that the sink was clean even when it was installed.
|
||||
Even roaches can't survive in this place!"
|
||||
|
||||
%message 2
|
||||
"%m8Scott me up, Beamie!\""
|
||||
|
||||
%message 3
|
||||
"Ahhhhhhh."
|
||||
|
||||
%message 4
|
||||
"%m8Attention arcade game players: please don't eat the urinal cakes!\""
|
||||
|
||||
%message 5
|
||||
"%m8It takes leather balls to play rugby!\""
|
||||
|
||||
%message 6
|
||||
"Funny. No one knocks back."
|
||||
|
||||
%message 7
|
||||
"NOW??"
|
||||
|
||||
%message 8
|
||||
"You see many messages. One is:\n\n\""
|
||||
|
||||
%message 9
|
||||
"You see a handsome, dashing, macho, sexy, young man.
|
||||
(Obviously, this mirror has quite a bit of distortion!)"
|
||||
|
||||
%message 10
|
||||
"You grab an ancient copy of the \"Ball Street Journal,\"
|
||||
and settle in to \"sit and think!\""
|
||||
|
||||
%message 11
|
||||
"You feel a great relief!"
|
||||
|
||||
%message 12
|
||||
"Why, look!
|
||||
Some woman removed her diamond ring to wash her hands,
|
||||
and forgot to take it with her."
|
||||
|
||||
%message 13
|
||||
"Got it!\n\n
|
||||
You briefly consider an attempt to find the ring's owner,
|
||||
but return to your normal self and pocket it instead."
|
||||
|
||||
%message 14
|
||||
"A small, neatly lettered sign reminds you:\n\n
|
||||
\"Since we can't clean up after every customer,
|
||||
please rinse out this sink when you are finished.\""
|
||||
|
||||
%message 15
|
||||
"Evidently, you are the first customer who can read."
|
||||
|
||||
%message 16
|
||||
"My, my. Aren't we the little sick-o!"
|
||||
|
||||
%message 17
|
||||
"Say, here's an interesting one:\n\n
|
||||
\"The password is: 'Ken sent me.'\""
|
||||
|
||||
%message 18
|
||||
"Bad idea, eh Larry?"
|
||||
|
||||
%message 19
|
||||
"Your life passes before your eyes."
|
||||
|
||||
%message 20
|
||||
"You doze briefly."
|
||||
|
||||
%message 21
|
||||
"What's that aroma?"
|
||||
|
||||
%message 22
|
||||
"Ok."
|
||||
|
||||
%message 23
|
||||
"It's not a pretty sight!"
|
||||
|
||||
%message 24
|
||||
"Say, there's no soap."
|
||||
|
||||
%message 25
|
||||
"There's no towels."
|
||||
|
||||
%message 26
|
||||
"Move closer to the handle."
|
||||
|
||||
%message 27
|
||||
"Your hands are still dirty, but now they're wet!"
|
||||
|
||||
%message 28
|
||||
"The toilet paper is only there for official purposes."
|
||||
|
||||
%message 29
|
||||
"Carefully finishing your duties,
|
||||
you wipe and toss the newspaper behind the toilet for the next user."
|
||||
|
||||
%message 30
|
||||
"You only read while \"enthroned.\""
|
||||
|
||||
%message 31
|
||||
"Your face is still dirty, but at least it's now dripping with water."
|
||||
|
||||
%message 32
|
||||
"Ok. You're dry (but your keyboard is still damp)!"
|
||||
|
||||
%message 33
|
||||
"Realizing your mistake, you quickly jiggle the handle,
|
||||
attempting to stem the onrushing tide of water."
|
||||
|
||||
%message 34
|
||||
"It doesn't work."
|
||||
|
||||
%message 35
|
||||
"It's nice of you to try, but this sink is too far gone to save!"
|
||||
|
||||
%message 36
|
||||
"No one would drink from ANY fixture in here!"
|
||||
|
||||
%message 37
|
||||
"Nice idea, but the mirror is firmly attached to the wall."
|
||||
|
||||
%message 38
|
||||
"Yuck!"
|
||||
|
||||
%message 39
|
||||
"Lefty must be running low on air freshener."
|
||||
|
||||
%message 40
|
||||
"No wonder your eyesight is so bad!"
|
||||
|
||||
%message 41
|
||||
"Been drinking Lefty's liquor again, eh?"
|
||||
|
|
@ -0,0 +1,439 @@
|
|||
[logics for room 14 -- rmHallway
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "rm14.msg"
|
||||
%include "gamedefs.h"
|
||||
|
||||
|
||||
|
||||
%define TALK_TIME 5
|
||||
#define L_DRUNK 0 [ View.47
|
||||
#define L_LEG 1
|
||||
#define L_ROSE 0 [ View.57
|
||||
#define L_DOOR 1
|
||||
|
||||
%define nearDrunk lf0
|
||||
%define nearRose lf1
|
||||
%define nearDoor lf2
|
||||
%define doorOpenDone lf3
|
||||
%define readMessage lf4
|
||||
%define nutsMessage lf5
|
||||
%define seenStinkMessage lf6
|
||||
%define talkMan lf7
|
||||
|
||||
%define talkTimer lv0
|
||||
%define drunkMessage lv1
|
||||
|
||||
%object aMan 1
|
||||
%object aRose 2
|
||||
%object aDoor 3
|
||||
|
||||
|
||||
|
||||
if (initLog)
|
||||
{
|
||||
SetHorizon( 44);
|
||||
ObserveBlocks( ego);
|
||||
|
||||
LoadView( vRm14Stuff);
|
||||
LoadView( vRm14Drunk);
|
||||
|
||||
LoadSound( mRm14Drunk);
|
||||
|
||||
LoadPic( currentRoom);
|
||||
DrawPic( currentRoom);
|
||||
DiscardPic( currentRoom);
|
||||
|
||||
AnimateObj( aDoor);
|
||||
IgnoreBlocks( aDoor);
|
||||
IgnoreObjs( aDoor);
|
||||
SetView( aDoor, vRm14Stuff);
|
||||
SetLoop( aDoor, L_DOOR);
|
||||
SetCel( aDoor, 0);
|
||||
SetPriority( aDoor, 9);
|
||||
work = DOOR_CYCLE_TIME;
|
||||
CycleTime( aDoor, work);
|
||||
Position( aDoor, 105, 123);
|
||||
Draw( aDoor);
|
||||
StopCycling( aDoor);
|
||||
|
||||
AnimateObj( aMan);
|
||||
IgnoreBlocks( aMan);
|
||||
IgnoreObjs( aMan);
|
||||
SetView( aMan, vRm14Drunk);
|
||||
SetLoop( aMan, L_DRUNK);
|
||||
SetCel( aMan, 0);
|
||||
Position( aMan, 99, 132);
|
||||
Draw( aMan);
|
||||
StopCycling( aMan);
|
||||
CycleTime( aMan, two);
|
||||
|
||||
AddToPic( vRm14Drunk, L_LEG, 0, 99, 141, 0, 4);
|
||||
[view, loop, cel, x, y, obj priority, box priority
|
||||
|
||||
|
||||
if (ObjInRoom( iRose, currentRoom))
|
||||
{
|
||||
AnimateObj( aRose);
|
||||
IgnoreBlocks( aRose);
|
||||
IgnoreObjs( aRose);
|
||||
Position( aRose, 48, 115);
|
||||
SetView( aRose, vRm14Stuff);
|
||||
SetLoop( aRose, L_ROSE);
|
||||
SetCel( aRose, 0);
|
||||
SetPriority( aRose, 12);
|
||||
Draw( aRose);
|
||||
StopUpdate( aRose);
|
||||
}
|
||||
|
||||
if (previousRoom == rmToilet)
|
||||
{
|
||||
egoX = 100;
|
||||
egoY = 123;
|
||||
}
|
||||
else
|
||||
{
|
||||
egoX = 76;
|
||||
SetLoop( ego, FACING_BACK);
|
||||
}
|
||||
PositionV( ego, egoX, egoY);
|
||||
Draw( ego);
|
||||
|
||||
ShowPic( );
|
||||
|
||||
Sound( mRm14Drunk, done);
|
||||
|
||||
Return( );
|
||||
|
||||
} [ end initLOG
|
||||
|
||||
|
||||
|
||||
Reset( nearDoor);
|
||||
if (Posn( ego, 95, 110, 104, 127))
|
||||
{
|
||||
Set( nearDoor);
|
||||
}
|
||||
|
||||
Reset( nearDrunk);
|
||||
if (Posn( ego, 90, 125, 150, 150))
|
||||
{
|
||||
Set( nearDrunk);
|
||||
}
|
||||
|
||||
Reset( nearRose);
|
||||
if (Posn( ego, 40, 114, 58, 134))
|
||||
{
|
||||
Set( nearRose);
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:handleInput
|
||||
[*****
|
||||
|
||||
if (!haveInput) {goto noInput;}
|
||||
|
||||
if ((Said( look) ||
|
||||
Said( look, room)))
|
||||
{
|
||||
Print( 1);
|
||||
}
|
||||
|
||||
if ((Said( look, brick, rol) ||
|
||||
Said( feel, wall) ||
|
||||
Said( get, brick)))
|
||||
{
|
||||
if (!nearDoor)
|
||||
{
|
||||
Print( 17);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 25);
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( look, drunk))
|
||||
{
|
||||
Print( 9);
|
||||
Print( 10);
|
||||
}
|
||||
|
||||
if ((Said( buy, man, drink) ||
|
||||
Said( buy, drink, for, man)))
|
||||
{
|
||||
if (!nearDrunk)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 19);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (Said( open, door))
|
||||
{
|
||||
if (!nearDoor)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Set( OK);
|
||||
StopMotion( ego);
|
||||
Set( programControl);
|
||||
EndOfLoop( aDoor, doorOpenDone);
|
||||
}
|
||||
}
|
||||
|
||||
if ((talkMan ||
|
||||
Said( talk, man) ||
|
||||
Said( ask, man, rol)))
|
||||
{
|
||||
Reset( talkMan);
|
||||
if (!nearDrunk)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
drunkMessage = 5;
|
||||
talkTimer = TALK_TIME;
|
||||
StartCycling( aMan);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( give, money) ||
|
||||
Said( use, money) ||
|
||||
Said( give, man, money) ||
|
||||
Said( give, money, man)))
|
||||
{
|
||||
if (!nearDrunk)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
--dollars;
|
||||
Print( 16);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( give, whiskey) ||
|
||||
Said( give, man, drink) ||
|
||||
Said( give, drink, man) ||
|
||||
Said( give, drink) ||
|
||||
Said( use, whiskey) ||
|
||||
Said( give, man, whiskey) ||
|
||||
Said( give, whiskey, man)))
|
||||
{
|
||||
if (!Has( iWhiskey))
|
||||
{
|
||||
Print( 18);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!nearDrunk)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Drop( iWhiskey);
|
||||
talkTimer = TALK_TIME;
|
||||
StartCycling( aMan);
|
||||
if (!ObjInRoom( iRemoteControl, currentRoom))
|
||||
{
|
||||
drunkMessage = 15;
|
||||
}
|
||||
else
|
||||
{
|
||||
drunkMessage = 6;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( look, top$of, table) ||
|
||||
Said( look, table)))
|
||||
{
|
||||
if (ObjInRoom( iRose, currentRoom))
|
||||
{
|
||||
Print( 11);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 3);
|
||||
}
|
||||
}
|
||||
|
||||
if (ObjInRoom( iRose, currentRoom) &&
|
||||
Said( look, rose))
|
||||
{
|
||||
Print( 11);
|
||||
}
|
||||
|
||||
if (Said( take, rose))
|
||||
{
|
||||
if (!nearRose)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!ObjInRoom( iRose, currentRoom))
|
||||
{
|
||||
Set( alreadyGotIt);
|
||||
}
|
||||
else
|
||||
{
|
||||
Set( OK);
|
||||
currentScore += 1;
|
||||
Erase( aRose);
|
||||
Get( iRose);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if ((Said( give, anyword, man) ||
|
||||
Said( give, man, rol)))
|
||||
{
|
||||
if (!nearDrunk)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 20);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((Said( help, anyword, man, rol) ||
|
||||
Said( help, man, rol)))
|
||||
{
|
||||
if (!nearDrunk)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 21);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( shake, man, rol) ||
|
||||
Said( wake, man, rol) ||
|
||||
Said( hit, man, rol)))
|
||||
{
|
||||
if (!nearDrunk)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 24);
|
||||
Set( talkMan);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( look$in, man, rol) ||
|
||||
Said( look$in, clothes, rol) ||
|
||||
Said( rob, drunk, rol) ||
|
||||
Said( rob, money, rol) ||
|
||||
Said( take, wallet, rol) ||
|
||||
Said( search, clothes, rol) ||
|
||||
Said( search, man, rol)))
|
||||
{
|
||||
if (!nearDrunk)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 4);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
[*****
|
||||
:noInput
|
||||
[*****
|
||||
|
||||
if (aSecondPassed)
|
||||
{
|
||||
--talkTimer;
|
||||
if (talkTimer == 1)
|
||||
{
|
||||
SetCel( aMan, 0);
|
||||
StopCycling( aMan);
|
||||
PrintV( drunkMessage);
|
||||
|
||||
if (drunkMessage == 6)
|
||||
{
|
||||
Print( 7);
|
||||
Print( 8);
|
||||
Print( 22);
|
||||
Print( 22);
|
||||
Print( 22);
|
||||
Print( 23);
|
||||
currentScore += 2;
|
||||
Get( iRemoteControl);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!readMessage &&
|
||||
egoX == 101 &&
|
||||
egoY == 133)
|
||||
{
|
||||
Set( readMessage);
|
||||
Toggle( nutsMessage);
|
||||
if (nutsMessage)
|
||||
{
|
||||
Print( 13);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 12);
|
||||
}
|
||||
}
|
||||
|
||||
if (toiletPaperOnShoe &&
|
||||
nearDrunk &&
|
||||
previousRoom == rmToilet &&
|
||||
!seenStinkMessage)
|
||||
{
|
||||
Set( seenStinkMessage);
|
||||
StartCycling( aMan);
|
||||
talkTimer = TALK_TIME;
|
||||
drunkMessage = 2;
|
||||
}
|
||||
|
||||
if (readMessage)
|
||||
{
|
||||
Distance( ego, aMan, work);
|
||||
if (work > 25)
|
||||
{
|
||||
Reset( readMessage);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:exit [ test for leaving the room
|
||||
[*****
|
||||
|
||||
if (edgeEgoHit == BOTTOM) {newRoom = rmInsideBar;}
|
||||
if (doorOpenDone)
|
||||
{
|
||||
Reset( programControl);
|
||||
newRoom = rmToilet;
|
||||
}
|
|
@ -0,0 +1,90 @@
|
|||
[messages for room 14 -- rmHallway
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"You are in a dimly lit hallway.
|
||||
The paint peeling off the walls gives the cockroaches something to watch.
|
||||
An old table is pushed against the west wall.
|
||||
A filthy drunk sits on the filthy floor, leaning against the filthy wall."
|
||||
|
||||
%message 2
|
||||
"\"Jeeezz! Somethin' die in there??\""
|
||||
|
||||
%message 3
|
||||
"You can remember when that table held a rose."
|
||||
|
||||
%message 4
|
||||
"You find nothing but odor."
|
||||
|
||||
%message 5
|
||||
"\"Hiya shhhhonny. How's 'bout you 'n' me havin' a lil' drink?\""
|
||||
|
||||
%message 6
|
||||
"Glug, glug, glug, glug, glug."
|
||||
|
||||
%message 7
|
||||
"Slurp! \"Ahhhh! That did hit the ol' spot!\""
|
||||
|
||||
%message 8
|
||||
"\"Ya know, ya mus' be ma only frien' in the whole world!
|
||||
Shhoooo, I'm gonna give ya my only posshhess... hhic!"
|
||||
|
||||
%message 9
|
||||
"He's a poor little lamb, who has lost his way..."
|
||||
|
||||
%message 10
|
||||
"...and also his bladder control!"
|
||||
|
||||
%message 11
|
||||
"There is a single, lovely, long-stemmed,
|
||||
red rose lying incongruously on the table."
|
||||
|
||||
%message 12
|
||||
"\"Wadda ya tryin' to do; make me a soprano??\""
|
||||
|
||||
%message 13
|
||||
"\"Geeze! Them pointy-toed shoes hurt!\""
|
||||
|
||||
%message 14
|
||||
"You generously hand him a dollar."
|
||||
|
||||
%message 15
|
||||
"\"Shhaay, thanksh buddy! How 'bout sshhom'ore?\""
|
||||
|
||||
%message 16
|
||||
"He responds, \"Ya know, whad I really need is a good, sshhtiff belt!\""
|
||||
|
||||
%message 17
|
||||
"You spend hours carefully examining every brick.
|
||||
You find nothing."
|
||||
|
||||
%message 18
|
||||
"You have no drink to give him."
|
||||
|
||||
%message 19
|
||||
"There's no one selling anything here. Try the bartender out front."
|
||||
|
||||
%message 20
|
||||
"He's too drunk to want anything."
|
||||
|
||||
%message 21
|
||||
"He's beyond help, but thirsty."
|
||||
|
||||
%message 22
|
||||
"\"...my only posshhess... hhic!"
|
||||
|
||||
%message 23
|
||||
"\"...all I got in the world.\n\n
|
||||
What'sha guy like me need witta TV remote control!?\""
|
||||
|
||||
%message 24
|
||||
"\"Hey! Wake up!\""
|
||||
|
||||
%message 25
|
||||
"Caught ya! Now open the door,
|
||||
then get your nose out of that manual
|
||||
and start playing this game the right way!"
|
||||
|
|
@ -0,0 +1,278 @@
|
|||
[messages for room 15 -- rmInsideBar
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"This is the sleaziest bar you've ever been in.
|
||||
And you've been in quite a few."
|
||||
|
||||
%message 2
|
||||
"You are standing."
|
||||
|
||||
%message 3
|
||||
"You are sitting."
|
||||
|
||||
%message 4
|
||||
"You insert a dollar into the juke box, and select a suitably sleazy song."
|
||||
|
||||
%message 5
|
||||
"You rap loudly on the naugahyde door.
|
||||
You wonder how many naugas had to give their
|
||||
all just to decorate this sleazehole."
|
||||
|
||||
%message 6
|
||||
"So what?"
|
||||
|
||||
%message 7
|
||||
"\"Yeah. Whatsda passwoid?\""
|
||||
|
||||
%message 8
|
||||
"\"Scram, dog breath!\""
|
||||
|
||||
%message 9
|
||||
"\"Come on in!\""
|
||||
|
||||
%message 10
|
||||
"\"...blah, blah, blah, blah, blah...\""
|
||||
|
||||
%message 11
|
||||
"\"...a lotta guys just leave her hanging in a tree somewhere!\""
|
||||
|
||||
%message 12
|
||||
"\"...'cause Thursday's your night in the barrel!\""
|
||||
|
||||
%message 13
|
||||
"\"...just think of the money he saved!\""
|
||||
|
||||
%message 14
|
||||
"\"...and there stood the pig and the cow!\""
|
||||
|
||||
%message 15
|
||||
"\"...dammit Liza, doncha know ya own reflection?\""
|
||||
|
||||
%message 16
|
||||
"\"...we are coming back this way, aren't we?\""
|
||||
|
||||
%message 17
|
||||
"\"...You idiot! I said POSSE!!\""
|
||||
|
||||
%message 18
|
||||
"\"...nobody can eat THAT much ice cream!\""
|
||||
|
||||
%message 19
|
||||
"\"...25 bucks, same as in town!\""
|
||||
|
||||
%message 20
|
||||
"You'd better sit down first."
|
||||
|
||||
%message 21
|
||||
"You greet the bartender.\n\n
|
||||
\"What'll it be,\" Lefty responds, \"whiskey, wine or beer?\""
|
||||
|
||||
%message 22
|
||||
"\"I'll have a glass of your fine, well whiskey!\" you tell Lefty."
|
||||
|
||||
%message 23
|
||||
"\"Gimme a mug o' beer!\" you order Lefty."
|
||||
|
||||
%message 24
|
||||
"\"That'll be $3.00, please.\""
|
||||
|
||||
%message 25
|
||||
"You flip three bucks onto the counter."
|
||||
|
||||
%message 26
|
||||
"\"I'm presently a little short,\" you stammer."
|
||||
|
||||
%message 27
|
||||
"\"Yeah, and not just in the financial department, I bet!\" he replies,
|
||||
grabbing back your order."
|
||||
|
||||
%message 28
|
||||
"You down the beer in your pseudo-macho style,
|
||||
and slam the mug back on the bar."
|
||||
|
||||
%message 29
|
||||
"You delicately sip the wine until it's all gone.\n\n
|
||||
You tell Lefty,
|
||||
\"I find this impudent and sassy, with the slightest hint of impertinence.\""
|
||||
|
||||
%message 30
|
||||
"He gazes at you longingly and moistens his lips!"
|
||||
|
||||
%message 31
|
||||
"Suddenly you feel a little woozy."
|
||||
|
||||
%message 32
|
||||
"This one tastes even better than the last.
|
||||
One more sounds like a good idea."
|
||||
|
||||
%message 33
|
||||
"Try sitting at the bar; that usually gets Lefty's attention."
|
||||
|
||||
%message 34
|
||||
"It's not good etiquette to drink standing up."
|
||||
|
||||
%message 35
|
||||
"Since you can only balance one open glass of whiskey at a time,
|
||||
you toss this one down immediately."
|
||||
|
||||
%message 36
|
||||
"\"May I please have a glass of your delicate white zinfandel, sir?\"
|
||||
you ask Lefty."
|
||||
|
||||
%message 37
|
||||
"Hey, was that your voice?"
|
||||
|
||||
%message 38
|
||||
"You don't drink the whiskey, but instead,
|
||||
decide to carry it with you wherever you go,
|
||||
precariously balanced in an open shot glass."
|
||||
|
||||
%message 39
|
||||
"The whiskey burns its way down your throat.
|
||||
You vow to never again buy a \"well\" brand."
|
||||
|
||||
%message 40
|
||||
"Hold on; you haven't got your last order yet!"
|
||||
|
||||
%message 41
|
||||
"You feel a little light-headed."
|
||||
|
||||
%message 42
|
||||
"Shaking your head, you clear away the cobwebs and are able to once again
|
||||
walk in your standard, studly style."
|
||||
|
||||
%message 43
|
||||
"\"Cram it, clown!\" you tell the bore on the stool next to you!"
|
||||
|
||||
%message 44
|
||||
"\"Same to ya!\" shouts Lefty."
|
||||
|
||||
%message 45
|
||||
"It's an antique, left over from \"King's Quest III.\""
|
||||
|
||||
%message 46
|
||||
"Patience, Larry; patience!"
|
||||
|
||||
%message 47
|
||||
"The door is locked. And, there is no key."
|
||||
|
||||
%message 48
|
||||
"She may not be a great looker, but think of the muscles in that leg."
|
||||
|
||||
%message 49
|
||||
"It's just going around in circles..."
|
||||
|
||||
%message 50
|
||||
"...like your life."
|
||||
|
||||
%message 51
|
||||
"You don't know much about art, but you do know what you like!"
|
||||
|
||||
%message 52
|
||||
"You mean to say you're playing a 3-D adventure game,
|
||||
and all you want is LIGHT beer??"
|
||||
|
||||
%message 53
|
||||
"They're just sitting at the bar, drinking their livers into oblivion."
|
||||
|
||||
%message 54
|
||||
"\"Sorry, we don't sell them sissy drinks here,\" says Lefty.
|
||||
\"We got whiskey, wine and beer. What do you want?\""
|
||||
|
||||
%message 55
|
||||
"My, aren't we the little savage!
|
||||
Didn't your mother teach you anything?"
|
||||
|
||||
%message 56
|
||||
"\"Who cares,\" she replies sarcastically.
|
||||
\"Stop bugging me, or I'll have my boy friend
|
||||
take care of you when he gets back from the rest room!\""
|
||||
|
||||
%message 57
|
||||
"Looks like you're operating at your standard level of charm, Larry."
|
||||
|
||||
%message 58
|
||||
"\"Har, har!!\""
|
||||
|
||||
%message 59
|
||||
"He has nothing to say, but says it continuously."
|
||||
|
||||
%message 60
|
||||
"\"Hi there, lovely legs!\" you say sweetly.
|
||||
\"My name's Larry; Larry Laffer.\""
|
||||
|
||||
%message 61
|
||||
"They have no comment."
|
||||
|
||||
%message 62
|
||||
"He's not bothering you now; leave him alone, you big bully!"
|
||||
|
||||
%message 63
|
||||
"You can't. There's no key in this game!"
|
||||
|
||||
%message 64
|
||||
"Gee, Dad. It's a Wurlitzer!"
|
||||
|
||||
%message 65
|
||||
"The peephole is locked from the inside."
|
||||
|
||||
%message 66
|
||||
"Boy, are you drunk!"
|
||||
|
||||
%message 67
|
||||
"SLAP!"
|
||||
|
||||
%message 68
|
||||
"\"Ya got me!\""
|
||||
|
||||
%message 69
|
||||
"\"No, thanks,\" Lefty replies. \"I don't drink.\""
|
||||
|
||||
%message 70
|
||||
"\"Ok,\" says Lefty, \"but that'll cost ya $%v90.00!\""
|
||||
|
||||
%message 71
|
||||
"The last of the big time spenders,
|
||||
you go down in a blaze of glory, ordering drinks for everybody in the place."
|
||||
|
||||
%message 72
|
||||
"\"I'll not help you,\" says Lefty, \"no matter how much you offer me!\""
|
||||
|
||||
%message 73
|
||||
"The naugahyde bounces the hammer back, grazing your scalp but slightly."
|
||||
|
||||
%message 74
|
||||
"You flip a fiver out on the bar.
|
||||
Lefty grabs it, smiles, and says, \"Hey, thanks buddy! "
|
||||
|
||||
%message 75
|
||||
"%m74"
|
||||
|
||||
%message 76
|
||||
"You don't have enough money!"
|
||||
|
||||
%message 77
|
||||
"\"Double down on eleven.\""
|
||||
|
||||
%message 78
|
||||
"\"If you're short of money, you could always try gambling at the casino.\""
|
||||
|
||||
%message 79
|
||||
"\"If you're bored hanging around my place, try hailing a cab outside.\""
|
||||
|
||||
%message 80
|
||||
"\"Have you talked to Sierra On-Line lately?\""
|
||||
|
||||
%message 81
|
||||
"\"Guys tell me I need to clean my rest room walls.\""
|
||||
|
||||
%message 82
|
||||
"He appears to be perverted, twisted and sick!"
|
||||
|
||||
%message 83
|
||||
"You instantly take a liking to him."
|
||||
|
|
@ -0,0 +1,699 @@
|
|||
[logics for room 16 -- rmBackroom
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "rm16.msg"
|
||||
%include "gamedefs.h"
|
||||
|
||||
|
||||
|
||||
[ There is a pimp here, watching TV. Player has to get
|
||||
[past pimp by paying him, or making him watch TV until he
|
||||
[doesn't notice him sneak past, and up stairs. "use remote
|
||||
[control". "pay pimp" "turn tv on/off" "change channels"
|
||||
[channels give various messages.
|
||||
|
||||
|
||||
|
||||
#define L_PIMP_SITTING 2
|
||||
|
||||
%define PIMP_START_X 42 [ Pimpie co-ordinates
|
||||
%define PIMP_BLOCK_X 116
|
||||
%define PIMP_TV_X 70
|
||||
%define PIMP_WAITING_X 100
|
||||
|
||||
%define PIMP_Y 135
|
||||
%define PIMP_SITTING_Y 132
|
||||
|
||||
|
||||
%define sitPimpDown lf0
|
||||
%define pimpAtStairs lf1
|
||||
%define nearTV lf2
|
||||
%define doorOpenDone lf3
|
||||
%define doorCloseDone lf4
|
||||
%define nearDoor lf5
|
||||
%define pimpBlockingStairs lf6
|
||||
%define nearStairs lf7
|
||||
%define gaveWarning lf8
|
||||
%define nearPimp lf9
|
||||
%define waitingToBlockStairs lf10
|
||||
%define pimpClear lf11
|
||||
%define blockingTV lf12
|
||||
|
||||
|
||||
%define TVMessageCycles lv0
|
||||
%define moveTimer lv1
|
||||
%define TVCycles lv2
|
||||
|
||||
|
||||
%object aPimp 1
|
||||
%object aDoor 2
|
||||
%object aTV 3
|
||||
|
||||
|
||||
|
||||
if (initLog)
|
||||
{
|
||||
SetHorizon( 39);
|
||||
|
||||
LoadPic( currentRoom);
|
||||
DrawPic( currentRoom);
|
||||
DiscardPic( currentRoom);
|
||||
|
||||
LoadView( vRm16Door);
|
||||
LoadView( vPimp);
|
||||
LoadView( vPimpBlockingStairs);
|
||||
LoadView( vTVOn);
|
||||
|
||||
AnimateObj( aDoor);
|
||||
IgnoreBlocks( aDoor);
|
||||
IgnoreObjs( aDoor);
|
||||
Position( aDoor, 24, 132);
|
||||
SetView( aDoor, vRm16Door);
|
||||
SetPriority( aDoor, 10);
|
||||
work = DOOR_CYCLE_TIME;
|
||||
CycleTime( aDoor, work);
|
||||
|
||||
AnimateObj( aTV);
|
||||
IgnoreBlocks( aTV);
|
||||
IgnoreObjs( aTV);
|
||||
Position( aTV, 70, 136);
|
||||
SetView( aTV, vTVOn);
|
||||
if (TVOn)
|
||||
{
|
||||
Draw( aTV);
|
||||
Random( 3, 9, TVCycles);
|
||||
}
|
||||
|
||||
|
||||
AnimateObj( aPimp);
|
||||
if (pimpWatchingTV)
|
||||
{
|
||||
SetView( aPimp, vPimp);
|
||||
SetLoop( aPimp, L_PIMP_SITTING);
|
||||
Position( aPimp, PIMP_TV_X, PIMP_SITTING_Y);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (previousRoom == rmHooker)
|
||||
{
|
||||
SetView( aPimp, vPimpBlockingStairs);
|
||||
Position( aPimp, PIMP_WAITING_X, PIMP_Y);
|
||||
Set( waitingToBlockStairs);
|
||||
}
|
||||
else
|
||||
{
|
||||
SetView( aPimp, vPimp);
|
||||
SetLoop( aPimp, FACING_RIGHT);
|
||||
Position( aPimp, PIMP_START_X, PIMP_Y);
|
||||
MoveObj( aPimp, PIMP_BLOCK_X, PIMP_Y, 1, pimpAtStairs);
|
||||
}
|
||||
}
|
||||
Draw( aPimp);
|
||||
|
||||
SetLoop( ego, FACING_RIGHT);
|
||||
if (previousRoom == rmHooker)
|
||||
{
|
||||
SetCel( aDoor, 0);
|
||||
Draw( aDoor);
|
||||
StopUpdate( aDoor);
|
||||
|
||||
egoX = 71;
|
||||
egoY = 55;
|
||||
}
|
||||
else
|
||||
{
|
||||
LastCel( aDoor, work);
|
||||
SetCelV( aDoor, work);
|
||||
Draw( aDoor);
|
||||
BeginningOfLoop( aDoor, doorCloseDone);
|
||||
|
||||
egoX = 26;
|
||||
egoY = 136;
|
||||
StopMotion( ego);
|
||||
Set( programControl);
|
||||
}
|
||||
PositionV( ego, egoX, egoY);
|
||||
Draw( ego);
|
||||
|
||||
ShowPic( );
|
||||
|
||||
Return( );
|
||||
|
||||
} [ end initLOG
|
||||
|
||||
|
||||
Reset( nearPimp);
|
||||
Distance( ego, aPimp, work);
|
||||
if (work < 13)
|
||||
{
|
||||
Set( nearPimp);
|
||||
Set( nearPerson);
|
||||
}
|
||||
|
||||
Reset( nearDoor);
|
||||
if (Posn( ego, 22, 123, 33, 137))
|
||||
{
|
||||
Set( nearDoor);
|
||||
}
|
||||
|
||||
Reset( nearTV);
|
||||
if (Posn( ego, 65, 137, 80, 143))
|
||||
{
|
||||
Set( nearTV);
|
||||
}
|
||||
|
||||
Reset( blockingTV);
|
||||
if (Posn( ego, 65, 133, 76, 143))
|
||||
{
|
||||
Set( blockingTV);
|
||||
}
|
||||
|
||||
|
||||
Reset( nearStairs);
|
||||
if (Posn( ego, 105, 131, 133, 139))
|
||||
{
|
||||
Set( nearStairs);
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:handleInput
|
||||
[*****
|
||||
|
||||
if (!haveInput) {goto noInput;}
|
||||
|
||||
if ((Said( look) ||
|
||||
Said( look, room)))
|
||||
{
|
||||
Print( 1);
|
||||
}
|
||||
|
||||
if ((Said( look, boxes) ||
|
||||
Said( open, boxes) ||
|
||||
Said( look$in, boxes)))
|
||||
{
|
||||
Print( 27);
|
||||
}
|
||||
|
||||
if ((Said( get, box) ||
|
||||
Said( move, box) ||
|
||||
Said( climb, box) ||
|
||||
Said( climb, on, box) ||
|
||||
Said( use, box)))
|
||||
{
|
||||
Print( 48);
|
||||
}
|
||||
|
||||
if (Said( look, door))
|
||||
{
|
||||
Print( 7);
|
||||
}
|
||||
|
||||
if ((Said( look, stairs, rol) ||
|
||||
Said( look, up, rol)))
|
||||
{
|
||||
Print( 55);
|
||||
}
|
||||
|
||||
if (Said( look, man))
|
||||
{
|
||||
Print( 44);
|
||||
}
|
||||
|
||||
if ((Said( aim, control, man) ||
|
||||
Said( use, control, on, man)))
|
||||
{
|
||||
Print( 59);
|
||||
}
|
||||
|
||||
|
||||
if (Said( look, tv))
|
||||
{
|
||||
if (!TVOn)
|
||||
{
|
||||
Print( 45);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!pimpWatchingTV)
|
||||
{
|
||||
Print( 46);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 47);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((Said( pay, rol) ||
|
||||
Said( buy, girl) ||
|
||||
Said( buy, ass) ||
|
||||
Said( buy, hump) ||
|
||||
Said( buy, pussy) ||
|
||||
Said( give, one, money) ||
|
||||
Said( give, one, money, man) ||
|
||||
Said( give, man, one, money) ||
|
||||
Said( give, man, money) ||
|
||||
Said( give, money, man) ||
|
||||
Said( give, money)))
|
||||
{
|
||||
if (pimpWatchingTV)
|
||||
{
|
||||
Print( 54);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!nearPimp)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (dollars < 100)
|
||||
{
|
||||
Print( 8);
|
||||
}
|
||||
else
|
||||
{
|
||||
Set( gaveWarning); [ To prevent message later.
|
||||
Reset( pimpBlockingStairs);
|
||||
dollars -= 100;
|
||||
Print( 5);
|
||||
SetView( aPimp, vPimp);
|
||||
MoveObj( aPimp, PIMP_WAITING_X, PIMP_Y, 1, pimpClear);
|
||||
if (scoredHooker)
|
||||
{
|
||||
Print( 9);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((Said( knock, anyword, door) ||
|
||||
Said( knock, door, anyword) ||
|
||||
Said( knock, door) ||
|
||||
Said( knock)))
|
||||
{
|
||||
if (!nearDoor)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 6);
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( open, door))
|
||||
{
|
||||
if (!nearDoor)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Set( OK);
|
||||
StopMotion( ego);
|
||||
Set( programControl);
|
||||
|
||||
StartUpdate( aDoor);
|
||||
EndOfLoop( aDoor, doorOpenDone);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( turn, on, tv) ||
|
||||
Said( turn, tv, on) ||
|
||||
Said( tv, on)))
|
||||
{
|
||||
if (!nearTV)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (TVOn)
|
||||
{
|
||||
Print( 23);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 22);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( turn, off, tv) ||
|
||||
Said( turn, tv, off) ||
|
||||
Said( tv, off)))
|
||||
{
|
||||
if (!nearTV)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!TVOn)
|
||||
{
|
||||
Print( 23);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 22);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((Said( use, remote) ||
|
||||
Said( use, remote, off) ||
|
||||
Said( use, remote, on) ||
|
||||
Said( use, remote, turn, tv, on) ||
|
||||
Said( use, remote, turn, tv, off) ||
|
||||
Said( use, remote, rol) ||
|
||||
Said( press, button, remote, rol) ||
|
||||
Said( press, button, on, remote, rol) ||
|
||||
Said( press, remote, rol) ||
|
||||
Said( press, remote, on) ||
|
||||
Said( press, remote, off) ||
|
||||
Said( press, remote, tv, on) ||
|
||||
Said( press, remote, tv, off) ||
|
||||
Said( press, remote, turn, tv, on) ||
|
||||
Said( press, remote, turn, tv, off) ||
|
||||
Said( press, remote, turn, on, tv) ||
|
||||
Said( press, remote, turn, off, tv) ||
|
||||
Said( turn, on, tv, use, remote) ||
|
||||
Said( turn, off, tv, use, remote) ||
|
||||
Said( turn, tv, on, use, remote) ||
|
||||
Said( turn, tv, off, use, remote)))
|
||||
{
|
||||
if (!Has( iRemoteControl))
|
||||
{
|
||||
Set( dontHaveIt);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (egoY > 144)
|
||||
{
|
||||
Print( 28);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (TVOn)
|
||||
{
|
||||
Print( 57);
|
||||
}
|
||||
else
|
||||
{
|
||||
currentScore += 3;
|
||||
Draw( aTV);
|
||||
Print( 24);
|
||||
Set( TVOn);
|
||||
TVCycles = 5;
|
||||
TVChannel = 14;
|
||||
Random( 33, 77, TVMessageCycles);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( tie, man, with, rope) ||
|
||||
Said( tie, up, man)))
|
||||
{
|
||||
if (!Has( iRope))
|
||||
{
|
||||
Set( dontHaveIt);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 60);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( talk, man) ||
|
||||
Said( deal, rol) ||
|
||||
Said( say, hello)))
|
||||
{
|
||||
if (pimpWatchingTV)
|
||||
{
|
||||
Print( 13);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 2);
|
||||
Print( 3);
|
||||
Print( 4);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( beat, up, man, rol) ||
|
||||
Said( hit, man, rol) ||
|
||||
Said( use, hammer, rol) ||
|
||||
Said( tie, pimp) ||
|
||||
Said( tie, up, pimp) ||
|
||||
Said( tie, up, pimp, use, rope) ||
|
||||
Said( use, rope, tie, up, pimp) ||
|
||||
Said( use, rope, tie, pimp) ||
|
||||
Said( tie, up, pimp, rope) ||
|
||||
Said( tie, pimp, rope) ||
|
||||
Said( kill, man, rol)))
|
||||
{
|
||||
Print( 52);
|
||||
}
|
||||
|
||||
if ((Said( move) ||
|
||||
Said( move, out, way) ||
|
||||
Said( move, away) ||
|
||||
Said( get, away) ||
|
||||
Said( move, man)))
|
||||
{
|
||||
Print( 2);
|
||||
Print( 3);
|
||||
Print( 4);
|
||||
}
|
||||
|
||||
|
||||
if ((Said( give, man, remote, rol) ||
|
||||
Said( give, remote, man, rol)))
|
||||
{
|
||||
Print( 58);
|
||||
}
|
||||
|
||||
if ((Said( turn, channel) ||
|
||||
Said( use, remote, turn, channel) ||
|
||||
Said( turn, tv, channel) ||
|
||||
Said( turn, channel, tv) ||
|
||||
Said( turn, tv, channel, use, remote) ||
|
||||
Said( turn, channel, tv, use, remote) ||
|
||||
Said( turn, channel, use, remote) ||
|
||||
Said( turn, tv, channel, remote) ||
|
||||
Said( turn, channel, remote) ||
|
||||
Said( use, remote, turn, tv, channel) ||
|
||||
Said( change, channel) ||
|
||||
Said( use, remote, change, channel) ||
|
||||
Said( change, tv, channel) ||
|
||||
Said( change, channel, tv) ||
|
||||
Said( change, tv, channel, use, remote) ||
|
||||
Said( change, channel, tv, use, remote) ||
|
||||
Said( change, channel, use, remote) ||
|
||||
Said( change, tv, channel, remote) ||
|
||||
Said( change, channel, remote) ||
|
||||
Said( use, remote, change, tv, channel)))
|
||||
{
|
||||
if (!Has( iRemoteControl))
|
||||
{
|
||||
Print( 22);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!TVOn)
|
||||
{
|
||||
Print( 29);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (egoY > 144)
|
||||
{
|
||||
Print( 28);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (TVChannel == 21)
|
||||
{
|
||||
Print( 26);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (TVMessageCycles)
|
||||
{
|
||||
Print( 42);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 25);
|
||||
++TVChannel;
|
||||
Random( 23, 39, TVMessageCycles);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (Said( look, walls))
|
||||
{
|
||||
Print( 49);
|
||||
}
|
||||
|
||||
if (Said( look, light))
|
||||
{
|
||||
Print( 50);
|
||||
}
|
||||
|
||||
if (Said( look, crack))
|
||||
{
|
||||
Print( 51);
|
||||
}
|
||||
|
||||
|
||||
|
||||
[*****
|
||||
:noInput
|
||||
[*****
|
||||
|
||||
if ((!blockingTV || !pimpWatchingTV))
|
||||
{
|
||||
moveTimer = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!moveTimer)
|
||||
{
|
||||
moveTimer = 2;
|
||||
}
|
||||
|
||||
--moveTimer;
|
||||
if (moveTimer == 1)
|
||||
{
|
||||
Print( 53);
|
||||
moveTimer = 22;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
--TVMessageCycles;
|
||||
if (TVMessageCycles == 20)
|
||||
{
|
||||
PrintV( TVChannel);
|
||||
}
|
||||
|
||||
if (TVMessageCycles == 10)
|
||||
{
|
||||
if (TVChannel != 21)
|
||||
{
|
||||
work = TVChannel;
|
||||
work += 20;
|
||||
PrintV( work);
|
||||
}
|
||||
else
|
||||
{
|
||||
Reset( pimpBlockingStairs);
|
||||
Set( pimpWatchingTV);
|
||||
SetView( aPimp, vPimp);
|
||||
MoveObj( aPimp, PIMP_TV_X, PIMP_Y, 1, sitPimpDown);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (TVMessageCycles == 1)
|
||||
{
|
||||
if (TVChannel != 21)
|
||||
{
|
||||
Print( 10);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (pimpClear)
|
||||
{
|
||||
Reset( pimpClear);
|
||||
SetView( aPimp, vPimpBlockingStairs);
|
||||
Print( 43);
|
||||
}
|
||||
|
||||
if (sitPimpDown)
|
||||
{
|
||||
Reset( sitPimpDown);
|
||||
SetLoop( aPimp, L_PIMP_SITTING);
|
||||
RepositionTo( aPimp, PIMP_TV_X, PIMP_SITTING_Y);
|
||||
ForceUpdate( aPimp);
|
||||
if (!gotPimpToWatchTV)
|
||||
{
|
||||
Set( gotPimpToWatchTV);
|
||||
currentScore += 8;
|
||||
}
|
||||
Print( 12);
|
||||
}
|
||||
|
||||
|
||||
if (waitingToBlockStairs)
|
||||
{
|
||||
if (egoX < 90 && egoY > 110)
|
||||
{
|
||||
Reset( waitingToBlockStairs);
|
||||
Print( 30);
|
||||
SetView( aPimp, vPimp);
|
||||
SetLoop( aPimp, FACING_RIGHT);
|
||||
MoveObj( aPimp, PIMP_BLOCK_X, PIMP_Y, 1, pimpAtStairs);
|
||||
}
|
||||
}
|
||||
|
||||
if (pimpAtStairs)
|
||||
{
|
||||
Reset( pimpAtStairs);
|
||||
Set( pimpBlockingStairs);
|
||||
SetView( aPimp, vPimpBlockingStairs);
|
||||
}
|
||||
|
||||
if (!gaveWarning &&
|
||||
pimpBlockingStairs &&
|
||||
nearStairs)
|
||||
{
|
||||
Set( gaveWarning);
|
||||
Print( 11);
|
||||
}
|
||||
|
||||
--TVCycles;
|
||||
if (TVOn && TVCycles == 1)
|
||||
{
|
||||
Random( 4, 16, TVCycles);
|
||||
Random( 1, 4, work);
|
||||
CycleTime( aTV, work);
|
||||
}
|
||||
|
||||
if (doorCloseDone)
|
||||
{
|
||||
Reset( doorCloseDone);
|
||||
StopUpdate( aDoor);
|
||||
StartMotion( ego);
|
||||
Reset( programControl);
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:exit [ test for leaving the room
|
||||
[*****
|
||||
|
||||
if (doorOpenDone)
|
||||
{
|
||||
Reset( programControl);
|
||||
newRoom = rmInsideBar;
|
||||
}
|
||||
|
||||
if ((egoY < 42 ||
|
||||
edgeEgoHit == TOP)) {newRoom = rmHooker;}
|
|
@ -0,0 +1,195 @@
|
|||
[messages for room 16 -- rmBackroom
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"The bar's storage room is almost empty.
|
||||
Its most significant feature is a big, mean-looking dude."
|
||||
|
||||
%message 2
|
||||
"\"Ya wanna go upstairs?\" he says in a scholarly voice, \"ya
|
||||
gotta pays da price!\""
|
||||
|
||||
%message 3
|
||||
"\"$100.00, cash up front, no refunds.\""
|
||||
|
||||
%message 4
|
||||
"He certainly has a pleasing manner about him."
|
||||
|
||||
%message 5
|
||||
"\"Thanks,\" he growls. \"Remember, no refunds!\""
|
||||
|
||||
%message 6
|
||||
"Evidently no one in the bar wants to play \"Knock, knock\" with you."
|
||||
|
||||
%message 7
|
||||
"It's the door from the bar. Its far side looks better than this side."
|
||||
|
||||
%message 8
|
||||
"You don't have enough money."
|
||||
|
||||
%message 9
|
||||
"\"You like that stuff, eh, boy?\""
|
||||
|
||||
%message 10
|
||||
"The pimp seems vaguely interested,
|
||||
but not enough to leave his post by the stairs."
|
||||
|
||||
%message 11
|
||||
"The pimp growls,
|
||||
\"You got no business goin' up these stairs, little man!\""
|
||||
|
||||
%message 12
|
||||
"It appears you've finally reached the pimp's cultural level."
|
||||
|
||||
%message 13
|
||||
"He ignores you.
|
||||
It looks like he's \"engrossed\" in something right now."
|
||||
|
||||
%message 14
|
||||
"
|
||||
\"Oh, John.\" \"Oh, Marsha.\"\n
|
||||
\"OH, John.\" \"OH, Marsha.\"\n
|
||||
\"Oh, JOHN!\" \"Oh, MARSHA!\"\n
|
||||
\"OH, JOHN!!\" \"OH, MARSHA!!\""
|
||||
|
||||
%message 15
|
||||
"\"...I'm Al Fartles, and this is my partner, Fed Ames.
|
||||
We just want to tell you how much we appreciate your support...\""
|
||||
|
||||
%message 16
|
||||
"\"...and now, ALoHa Productions is proud to present
|
||||
'The Revenge of the Software Developers' in full color and stereo sound...\""
|
||||
|
||||
%message 17
|
||||
"\"...while Jim is fighting for his life with the raging female rhinoceros
|
||||
in heat, I'll slip into my tent with the native girl and
|
||||
this pitcher of Mai Tais...\""
|
||||
|
||||
%message 18
|
||||
"\"...it's a beautiful day in the neighbor...\""
|
||||
|
||||
%message 19
|
||||
"\"...live from Malaga, California,
|
||||
it's the Cable Sports Network presentation of the
|
||||
Miniature Female Mud Wrestlers 500-kilometer Cross-Country
|
||||
Nude Bicycle Race...\""
|
||||
|
||||
%message 20
|
||||
"\"...And next, Master Piece Theatre presents a special 3-D broadcast of
|
||||
'Naugahyde Goddesses of Oakhurst!'\""
|
||||
|
||||
%message 21
|
||||
"\"...oh, baby, yeah. Yeah, I love it when you do that! Ooooooooooh!!
|
||||
That hurts so good, pull it out a little deeper!!!\""
|
||||
|
||||
%message 22
|
||||
"The knob is broken off. There's no way to turn it."
|
||||
|
||||
%message 23
|
||||
"It already is!"
|
||||
|
||||
%message 24
|
||||
"You click the power switch on the remote control."
|
||||
|
||||
%message 25
|
||||
"You click the channel selector on the remote control."
|
||||
|
||||
%message 26
|
||||
"Nah. He's having a good time!"
|
||||
|
||||
%message 27
|
||||
"They're boxes, all right."
|
||||
|
||||
%message 28
|
||||
"The remote control seems ineffectual from this angle."
|
||||
|
||||
%message 29
|
||||
"The TV is off."
|
||||
|
||||
%message 30
|
||||
"\"Pretty good stuff, eh, boy?\" laughs the pimp."
|
||||
|
||||
%message 34
|
||||
"%m56soap opera."
|
||||
|
||||
%message 35
|
||||
"%m56commercial."
|
||||
|
||||
%message 36
|
||||
"%m56musical comedy."
|
||||
|
||||
%message 37
|
||||
"%m56documentary."
|
||||
|
||||
%message 38
|
||||
"No, no!! Anything but that!"
|
||||
|
||||
%message 39
|
||||
"%m56cable sports show."
|
||||
|
||||
%message 40
|
||||
"%m56educational show."
|
||||
|
||||
%message 41
|
||||
"Well, now. What's this??"
|
||||
|
||||
%message 42
|
||||
"Slow down. You're gonna blow the punch line!"
|
||||
|
||||
%message 43
|
||||
"\"Have a nice lay.\""
|
||||
|
||||
%message 44
|
||||
"He's no rocket scientist!"
|
||||
|
||||
%message 45
|
||||
"Its screen is blank; much like the pimp's mind."
|
||||
|
||||
%message 46
|
||||
"%m56program."
|
||||
|
||||
%message 47
|
||||
"Get your mind back on the game, Larry!"
|
||||
|
||||
%message 48
|
||||
"What does this look like, the ship's hold in \"King's Quest III?\""
|
||||
|
||||
%message 49
|
||||
"The walls do a good job of separating the floor from the ceiling."
|
||||
|
||||
%message 50
|
||||
"It's just hanging around."
|
||||
|
||||
%message 51
|
||||
"Wait 'til you get upstairs."
|
||||
|
||||
%message 52
|
||||
"He's far too big, and you're far too wimpy."
|
||||
|
||||
%message 53
|
||||
"\"Hey! Outta da way!!\""
|
||||
|
||||
%message 54
|
||||
"There is no need to pay; he's pleasantly distracted. Help yourself!"
|
||||
|
||||
%message 55
|
||||
"You wonder what palace of earthly delights resides above you."
|
||||
|
||||
%message 56
|
||||
"Another boring "
|
||||
|
||||
%message 57
|
||||
"Evidently the remote control's off button is broken."
|
||||
|
||||
%message 58
|
||||
"Its operation is beyond his mental capacities."
|
||||
|
||||
%message 59
|
||||
"He's unaffected by the remote control."
|
||||
|
||||
%message 60
|
||||
"He's too strong for you, Larry."
|
||||
|
|
@ -0,0 +1,157 @@
|
|||
[messages for room 17 -- rmHooker
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"This is the hooker's seedy bedroom.
|
||||
The bed's a mess, ditto the hooker!"
|
||||
|
||||
%message 2
|
||||
"Yep! This would be a perfect time! The Surgeon General would be proud."
|
||||
|
||||
%message 3
|
||||
"You already are wearing it."
|
||||
|
||||
%message 4
|
||||
"It looks like the hooker has a box of candy on her table."
|
||||
|
||||
%message 5
|
||||
"Although successful, you feel less than satisfied.
|
||||
Technically speaking, you're no longer a virgin,
|
||||
but for some reason, the thrill just wasn't there.
|
||||
You vow to continue your quest until you please your heart,
|
||||
not just your other organs!"
|
||||
|
||||
%message 6
|
||||
"Sniffing the air, you're suddenly hungry for tuna."
|
||||
|
||||
%message 7
|
||||
"\"Come on over here, Larry!\""
|
||||
|
||||
%message 8
|
||||
"She says, \"Me first!\" as she%m25"
|
||||
|
||||
%message 9
|
||||
"Not again! A guy can only take so much!!"
|
||||
|
||||
%message 10
|
||||
"She seems more interested in that cigarette than she was in you."
|
||||
|
||||
%message 11
|
||||
"It's a good thing you were wearing that rubber!"
|
||||
|
||||
%message 12
|
||||
"It's already open."
|
||||
|
||||
%message 13
|
||||
"Nah. This room needs the fresh air!"
|
||||
|
||||
%message 14
|
||||
"You repeatedly bang your head against the closed glass."
|
||||
|
||||
%message 15
|
||||
""
|
||||
|
||||
%message 16
|
||||
"It's a really ugly table."
|
||||
|
||||
%message 17
|
||||
"\"Jeez, Mister! What've you been eating? Buffalo chips???\""
|
||||
|
||||
%message 18
|
||||
"She certainly seems to enjoy that gum."
|
||||
|
||||
%message 19
|
||||
"A sign near the bed says: \"Substantial penalty for early withdrawals.\""
|
||||
|
||||
%message 20
|
||||
"\"So,\" she snarls, \"you just gonna stand there, or what?\""
|
||||
|
||||
%message 21
|
||||
"\"Was it good for you, baby?\" you ask her."
|
||||
|
||||
%message 22
|
||||
"\"Was what good?\" she replies."
|
||||
|
||||
%message 23
|
||||
"Although you might look precious in that little white lace number,
|
||||
you're just not that kind of guy!"
|
||||
|
||||
%message 24
|
||||
"She%m25"
|
||||
|
||||
%message 25
|
||||
" goes to work on you.
|
||||
Then she smiles as she bites it off!
|
||||
\"Sorry, Larry. No oral sex in this game. Suffer!\""
|
||||
|
||||
%message 26
|
||||
"Now's a great time to think of that!"
|
||||
|
||||
%message 27
|
||||
"\"Is that a toothpick in your pocket,
|
||||
or are you just happy to get past my pimp?\""
|
||||
|
||||
%message 28
|
||||
"You'd have a better view if you'd move to the front of the bed!"
|
||||
|
||||
%message 29
|
||||
"There is a fire escape outside the window."
|
||||
|
||||
%message 30
|
||||
"The clothesline is barely strong enough to hold its present load.
|
||||
Poor girl, you'd think at these prices she could afford a laundromat."
|
||||
|
||||
%message 31
|
||||
"\"Hey, what kind of girl do you think I am?\""
|
||||
|
||||
%message 32
|
||||
"It's getting old and rusty -- not unlike you, Larry."
|
||||
|
||||
%message 33
|
||||
"It just hangs there."
|
||||
|
||||
%message 34
|
||||
"There's nothing (and no one) there."
|
||||
|
||||
%message 35
|
||||
"It, too, is broken."
|
||||
|
||||
%message 36
|
||||
""
|
||||
|
||||
%message 37
|
||||
"It's barely strong enough to hold up its present load.
|
||||
Besides, if you take it, her underwear would fall down."
|
||||
|
||||
%message 38
|
||||
"There is a table near the window."
|
||||
|
||||
%message 39
|
||||
"There's nothing there."
|
||||
|
||||
%message 40
|
||||
"You have no use for a stained pillow."
|
||||
|
||||
%message 41
|
||||
"You are as naked as you're going to get!"
|
||||
|
||||
%message 42
|
||||
"With all your clothes on?"
|
||||
|
||||
%message 43
|
||||
"You slyly tap out a message in Morse code; unfortunately, only some rats
|
||||
hear it."
|
||||
|
||||
%message 44
|
||||
"You can't. She's nailed it to the floor."
|
||||
|
||||
%message 45
|
||||
"Your rope is not long enough to reach outside."
|
||||
|
||||
%message 46
|
||||
"NOW!?
|
||||
You've come this far, Larry; now's the time to do more than just look!"
|
||||
|
|
@ -0,0 +1,146 @@
|
|||
[logics for room 19 -- rmSunrise
|
||||
[ "Leisure-Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "rm19.msg"
|
||||
%include "gamedefs.h"
|
||||
|
||||
|
||||
|
||||
#define shakeCycles lv0
|
||||
|
||||
#object aSun 1
|
||||
#object aBang 2
|
||||
|
||||
|
||||
|
||||
if (initLog)
|
||||
{
|
||||
Print( 1);
|
||||
Print( 2);
|
||||
Print( 3);
|
||||
Print( 4);
|
||||
|
||||
SetHorizon( 4);
|
||||
|
||||
PreventInput();
|
||||
|
||||
picture = picBlack;
|
||||
LoadPic( picture);
|
||||
LoadPic( currentRoom);
|
||||
|
||||
LoadView( vSunrise);
|
||||
LoadView( vEgoSunrise);
|
||||
LoadView( vSunriseBang);
|
||||
|
||||
LoadSound( mSunrise);
|
||||
LoadSound( mFuneral);
|
||||
LoadSound( sBang);
|
||||
|
||||
[ DON'T Draw( ego);
|
||||
|
||||
DrawPic( currentRoom);
|
||||
|
||||
AddToPic( vEgoSunrise, 0, 0, 56, 129, 5, 4); [ Larry's face
|
||||
|
||||
AnimateObj( aSun);
|
||||
SetPriority( aSun, 4);
|
||||
SetView( aSun, vSunrise);
|
||||
SetLoop( aSun, 0);
|
||||
SetCel( aSun, 0);
|
||||
Position( aSun, 23, 91);
|
||||
Draw( aSun);
|
||||
MoveObj( aSun, 81, 33, 1, scriptDone);
|
||||
|
||||
|
||||
ShowPic( );
|
||||
|
||||
Sound( mSunrise, done);
|
||||
Return( );
|
||||
|
||||
} [ end initLOG
|
||||
|
||||
|
||||
|
||||
[*****
|
||||
:handleInput
|
||||
[*****
|
||||
|
||||
PreventInput();
|
||||
|
||||
[*****
|
||||
:noInput
|
||||
[*****
|
||||
|
||||
if (scriptDone)
|
||||
{
|
||||
Reset( scriptDone);
|
||||
++script;
|
||||
|
||||
if (script == 1)
|
||||
{
|
||||
UnanimateAll();
|
||||
AddToPic( vEgoSunrise, 0, 1, 32, 161, 14, 4);
|
||||
[view, loop, cel, x, y, obj priority, box priority
|
||||
scriptTimer = 4;
|
||||
}
|
||||
|
||||
if (script == 2)
|
||||
{
|
||||
AddToPic( vEgoSunrise, 1, 0, 69, 119, 5, 4);
|
||||
Sound( mFuneral, done);
|
||||
scriptTimer = 4;
|
||||
}
|
||||
|
||||
if (script == 3)
|
||||
{
|
||||
AddToPic( vEgoSunrise, 1, 1, 69, 119, 6, 4);
|
||||
scriptTimer = 4;
|
||||
}
|
||||
|
||||
if (script == 4)
|
||||
{
|
||||
DrawPic( picture);
|
||||
|
||||
AnimateObj( aBang);
|
||||
SetView( aBang, vSunriseBang);
|
||||
SetLoop( aBang, 0);
|
||||
Position( aBang, 50, 105);
|
||||
StartCycling( aBang);
|
||||
Draw( aBang);
|
||||
|
||||
ShowPic();
|
||||
|
||||
shakeCycles = 14;
|
||||
}
|
||||
|
||||
if (script == 5)
|
||||
{
|
||||
Erase( aBang);
|
||||
Set( certainDeath);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
--shakeCycles;
|
||||
if ((shakeCycles == 10 ||
|
||||
shakeCycles == 8 ||
|
||||
shakeCycles == 6 ||
|
||||
shakeCycles == 4 ||
|
||||
shakeCycles == 2))
|
||||
{
|
||||
Sound( sBang, done);
|
||||
ShakeScreen( 1);
|
||||
}
|
||||
|
||||
if (shakeCycles == 1)
|
||||
{
|
||||
Set( scriptDone);
|
||||
}
|
||||
|
||||
|
||||
|
||||
[*****
|
||||
:exit [ test for leaving the room
|
||||
[*****
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
[messages for room 19 -- rmSunrise
|
||||
[ "Leisure-Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
%message 1
|
||||
"Oh, no!\n\n
|
||||
Stepping outside, you see the sun rising in the east.
|
||||
Glancing at your watch, you realize the terrible truth..."
|
||||
|
||||
%message 2
|
||||
"...your night in Sierra World is over,
|
||||
and (technically speaking) you're still..."
|
||||
|
||||
%message 3
|
||||
"a"
|
||||
|
||||
%message 4
|
||||
"\n\n
|
||||
VIRGIN!!!\n\n"
|
||||
|
|
@ -0,0 +1,189 @@
|
|||
[logics for room 2 -- lgcQuestions1
|
||||
[ "Leisure-Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "rm2.msg"
|
||||
%include "gamedefs.h"
|
||||
|
||||
|
||||
%define FIRST_QUESTION 1
|
||||
%define LAST_QUESTION 53
|
||||
|
||||
%define toldLastQuestion lf1
|
||||
|
||||
%define allsWell lv0
|
||||
%define question1 lv1
|
||||
%define question2 lv2
|
||||
%define question3 lv3
|
||||
%define question4 lv4
|
||||
%define question5 lv5
|
||||
|
||||
|
||||
|
||||
if (initLog)
|
||||
{
|
||||
if (forceAtest)
|
||||
{
|
||||
Print( 60);
|
||||
currentQuestion = FIRST_QUESTION;
|
||||
}
|
||||
} [ end initLOG
|
||||
|
||||
|
||||
|
||||
if (!forceAtest)
|
||||
{
|
||||
:askAgain;
|
||||
Random( FIRST_QUESTION, LAST_QUESTION, currentQuestion);
|
||||
if ((currentQuestion == question1 ||
|
||||
currentQuestion == question2 ||
|
||||
currentQuestion == question3 ||
|
||||
currentQuestion == question4 ||
|
||||
currentQuestion == question5))
|
||||
{
|
||||
goto askAgain;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (question == 1) {question1 = currentQuestion};
|
||||
if (question == 2) {question2 = currentQuestion};
|
||||
if (question == 3) {question3 = currentQuestion};
|
||||
if (question == 4) {question4 = currentQuestion};
|
||||
if (question == 5) {question5 = currentQuestion};
|
||||
if (question == 6) {questionStatus = allDone;}
|
||||
if (question == 5 &&
|
||||
!toldLastQuestion)
|
||||
{
|
||||
Set( toldLastQuestion);
|
||||
Print( 69);
|
||||
}
|
||||
|
||||
++question;
|
||||
}
|
||||
}
|
||||
|
||||
if (currentQuestion == 1) {correctAnswer = 3;}
|
||||
if (currentQuestion == 2) {correctAnswer = 4;}
|
||||
if (currentQuestion == 3) {correctAnswer = 1;}
|
||||
if (currentQuestion == 4) {correctAnswer = 3;}
|
||||
if (currentQuestion == 5) {correctAnswer = 0;}
|
||||
if (currentQuestion == 6) {correctAnswer = 2;}
|
||||
if (currentQuestion == 7) {correctAnswer = 4;}
|
||||
if (currentQuestion == 8) {correctAnswer = 4;}
|
||||
if (currentQuestion == 9) {correctAnswer = 1;}
|
||||
if (currentQuestion == 10) {correctAnswer = 2;}
|
||||
if (currentQuestion == 11) {correctAnswer = 2;}
|
||||
if (currentQuestion == 12) {correctAnswer = 3;}
|
||||
if (currentQuestion == 13) {correctAnswer = 3;}
|
||||
if (currentQuestion == 14) {correctAnswer = 1;}
|
||||
if (currentQuestion == 15) {correctAnswer = 3;}
|
||||
if (currentQuestion == 16) {correctAnswer = 2;}
|
||||
if (currentQuestion == 17) {correctAnswer = 3;}
|
||||
if (currentQuestion == 18) {correctAnswer = 3;}
|
||||
if (currentQuestion == 19) {correctAnswer = 2;}
|
||||
if (currentQuestion == 20) {correctAnswer = 4;}
|
||||
if (currentQuestion == 21) {correctAnswer = 3;}
|
||||
if (currentQuestion == 22) {correctAnswer = 4;}
|
||||
if (currentQuestion == 23) {correctAnswer = 3;}
|
||||
if (currentQuestion == 24) {correctAnswer = 0;}
|
||||
if (currentQuestion == 25) {correctAnswer = 4;}
|
||||
if (currentQuestion == 26) {correctAnswer = 2;}
|
||||
if (currentQuestion == 27) {correctAnswer = 4;}
|
||||
if (currentQuestion == 28) {correctAnswer = 4;}
|
||||
if (currentQuestion == 29) {correctAnswer = 0;}
|
||||
if (currentQuestion == 30) {correctAnswer = 3;}
|
||||
if (currentQuestion == 31) {correctAnswer = 4;}
|
||||
if (currentQuestion == 32) {correctAnswer = 3;}
|
||||
if (currentQuestion == 33) {correctAnswer = 2;}
|
||||
if (currentQuestion == 34) {correctAnswer = 1;}
|
||||
if (currentQuestion == 35) {correctAnswer = 2;}
|
||||
if (currentQuestion == 36) {correctAnswer = 3;}
|
||||
if (currentQuestion == 37) {correctAnswer = 3;}
|
||||
if (currentQuestion == 38) {correctAnswer = 1;}
|
||||
if (currentQuestion == 39) {correctAnswer = 3;}
|
||||
if (currentQuestion == 40) {correctAnswer = 3;}
|
||||
if (currentQuestion == 41) {correctAnswer = 3;}
|
||||
if (currentQuestion == 42) {correctAnswer = 2;}
|
||||
if (currentQuestion == 43) {correctAnswer = 1;}
|
||||
if (currentQuestion == 44) {correctAnswer = 1;}
|
||||
if (currentQuestion == 45) {correctAnswer = 2;}
|
||||
if (currentQuestion == 46) {correctAnswer = 1;}
|
||||
if (currentQuestion == 47) {correctAnswer = 2;}
|
||||
if (currentQuestion == 48) {correctAnswer = 4;}
|
||||
if (currentQuestion == 49) {correctAnswer = 1;}
|
||||
if (currentQuestion == 50) {correctAnswer = 4;}
|
||||
if (currentQuestion == 51) {correctAnswer = 3;}
|
||||
if (currentQuestion == 52) {correctAnswer = 4;}
|
||||
if (currentQuestion == 53) {correctAnswer = 2;}
|
||||
|
||||
|
||||
if (questionStatus != allDone)
|
||||
{
|
||||
if (forceAtest)
|
||||
{
|
||||
ClearLines( 23, 23, 0);
|
||||
Display( 23, 0, 66);
|
||||
PrintV( currentQuestion);
|
||||
++currentQuestion;
|
||||
if (!currentQuestion > LAST_QUESTION)
|
||||
{
|
||||
questionStatus = waitAwhile;
|
||||
scriptTimer = 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
questionStatus = allDone;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
AcceptInput();
|
||||
CancelLine();
|
||||
PreventInput();
|
||||
ClearLines( 22, 24, BG_COLOR);
|
||||
|
||||
Set( leaveWindow);
|
||||
PrintV( currentQuestion);
|
||||
lastChar = 0;
|
||||
Display( 23, 0, 67);
|
||||
|
||||
|
||||
SetScanStart();
|
||||
if (!lastChar)
|
||||
{
|
||||
Return();
|
||||
}
|
||||
|
||||
if (lastChar > 64 && [ ABCD
|
||||
lastChar < 69)
|
||||
{
|
||||
lastChar += 32; [ Convert to abcd (lower case).
|
||||
}
|
||||
|
||||
if ((lastChar < 97 || [ not abcd.
|
||||
lastChar > 100))
|
||||
{
|
||||
Sound( sError, done);
|
||||
Return();
|
||||
}
|
||||
ResetScanStart(); [ We've got a valid letter.
|
||||
|
||||
|
||||
answer = lastChar; [ abcd.
|
||||
lastChar = 0;
|
||||
answer -= 96; [ Now answer between a and d.
|
||||
|
||||
message = 60; [ 1 less than first message #
|
||||
message += answer;
|
||||
y = 23;
|
||||
x = 29;
|
||||
DisplayV( y, x, message);
|
||||
questionStatus = waitAwhile;
|
||||
scriptTimer = 3;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:exit [ test for leaving the room
|
||||
[*****
|
|
@ -0,0 +1,437 @@
|
|||
[messages for room 2 -- lgcQuestions1
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"Johnny Carson is\n\n
|
||||
a. a singer.\n
|
||||
b. David Letterman's\n
|
||||
sidekick.\n
|
||||
c. Ed McMahon's sidekick.\n
|
||||
d. an actor."
|
||||
|
||||
%message 2
|
||||
"VCR stands for\n\n
|
||||
a. Very Confusing Record.\n
|
||||
b. Visual Cartridge\n
|
||||
Recording.\n
|
||||
c. Very Complete Record.\n
|
||||
d. Video Cassette Recorder."
|
||||
|
||||
%message 3
|
||||
"The East Coast is\n\n
|
||||
a. home of the Mets.\n
|
||||
b. a country.\n
|
||||
c. where people talk funny.\n
|
||||
d. adjacent to Texas."
|
||||
|
||||
%message 4
|
||||
"Is this software pirated?\n\n
|
||||
a. Yes.\n
|
||||
b. I'm not talking.\n
|
||||
c. No. (How could you\n
|
||||
even ask!)\n
|
||||
d. No, just borrowed."
|
||||
|
||||
%message 5
|
||||
"Pia Zadora is\n\n
|
||||
a. sexy.\n
|
||||
b. a singer.\n
|
||||
c. short.\n
|
||||
d. all of the above."
|
||||
|
||||
%message 6
|
||||
"The world is\n\n
|
||||
a. flat.\n
|
||||
b. spherical.\n
|
||||
c. a big place.\n
|
||||
d. near Fresno."
|
||||
|
||||
%message 7
|
||||
"\"Let It Be\" was recorded by\n\n
|
||||
a. the Rolling Stones.\n
|
||||
b. the Monkees.\n
|
||||
c. Creedence Clearwater.\n
|
||||
d. the Beatles."
|
||||
|
||||
%message 8
|
||||
"All politicians are\n\n
|
||||
a. hardworking.\n
|
||||
b. honest.\n
|
||||
c. ethical.\n
|
||||
d. on the public payroll."
|
||||
|
||||
%message 9
|
||||
"Lingerie is\n\n
|
||||
a. sexy.\n
|
||||
b. a kind of car.\n
|
||||
c. a French food.\n
|
||||
d. edible."
|
||||
|
||||
%message 10
|
||||
"Paul, John, Ringo and\n\n
|
||||
a. Fred.\n
|
||||
b. George.\n
|
||||
c. Harry.\n
|
||||
d. me."
|
||||
|
||||
%message 11
|
||||
"Do girls really have cooties?\n\n
|
||||
a. Yes.\n
|
||||
b. No.\n
|
||||
c. Some do, some don't.\n
|
||||
d. Maybe."
|
||||
|
||||
%message 12
|
||||
"Which song was not recorded by Elvis?\n\n
|
||||
a. \"Hound Dog\"\n
|
||||
b. \"Love Me Tender\"\n
|
||||
c. \"What'd I Say\"\n
|
||||
d. \"Heartbreak Hotel\""
|
||||
|
||||
%message 13
|
||||
"Edsel is a\n\n
|
||||
a. girl's name.\n
|
||||
b. plane.\n
|
||||
c. car.\n
|
||||
d. great investment."
|
||||
|
||||
%message 14
|
||||
"Sex is\n\n
|
||||
a. great.\n
|
||||
b. ok.\n
|
||||
c. a spectator sport.\n
|
||||
d. a mystery to me."
|
||||
|
||||
%message 15
|
||||
"Richard Nixon was the _____ President of the United States.\n\n
|
||||
a. last\n
|
||||
b. funniest\n
|
||||
c. thirty-seventh\n
|
||||
d. first Negro"
|
||||
|
||||
%message 16
|
||||
"During the 70's, Carroll O'Connor portrayed a\n\n
|
||||
a. kindly doctor.\n
|
||||
b. lovable bigot.\n
|
||||
c. handicapped lawyer.\n
|
||||
d. Negro junk dealer."
|
||||
|
||||
%message 17
|
||||
"The song \"American Pie\" was about\n\n
|
||||
a. miscegenation.\n
|
||||
b. Marilyn Chambers.\n
|
||||
c. a dead rock star.\n
|
||||
d. four minutes too long."
|
||||
|
||||
%message 18
|
||||
"Thomas Eagleton was dropped from the 1972 Democratic National Ticket
|
||||
when knowledge of his previous _____ treatments became known.\n\n
|
||||
a. skin\n
|
||||
b. screen\n
|
||||
c. shock\n
|
||||
d. scalp"
|
||||
|
||||
%message 19
|
||||
"The 70's practice of running around naked was called\n\n
|
||||
a. flashing.\n
|
||||
b. streaking.\n
|
||||
c. swinging.\n
|
||||
d. on account of rain."
|
||||
|
||||
%message 20
|
||||
"Peter Benchley's novel \"Jaws\" was about\n\n
|
||||
a. Linda Lovelace.\n
|
||||
b. dieting.\n
|
||||
c. Joan Rivers.\n
|
||||
d. sharks."
|
||||
|
||||
%message 21
|
||||
"Who was not Vice-President of the United States in 1973-74?\n\n
|
||||
a. Gerald Ford\n
|
||||
b. Nelson Rockefeller\n
|
||||
c. Thomas Hayden\n
|
||||
d. Spiro Agnew"
|
||||
|
||||
%message 22
|
||||
"The \"Chicago Seven\" was\n\n
|
||||
a. some people who only\n
|
||||
seem crazy in\n
|
||||
retrospect.\n
|
||||
b. the Bears' defensive\n
|
||||
line.\n
|
||||
c. burned for showing\n
|
||||
\"Country\" in three\n
|
||||
different theatres.\n
|
||||
d. partially convicted."
|
||||
|
||||
%message 23
|
||||
"President Ford prescribed _____ for dealing with economic problems.\n\n
|
||||
a. tranquilizers\n
|
||||
b. employment\n
|
||||
c. that everyone wear a\n
|
||||
WIN button\n
|
||||
d. that everyone should\n
|
||||
have a nice day"
|
||||
|
||||
%message 24
|
||||
"The tackiest seventies fashion was\n\n
|
||||
a. platform shoes.\n
|
||||
b. midi-skirts.\n
|
||||
c. short hair.\n
|
||||
d. bisexuality."
|
||||
|
||||
%message 25
|
||||
"O. J. Simpson is\n\n
|
||||
a. an R & B singer.\n
|
||||
b. under indictment.\n
|
||||
c. embarrassed by his first\n
|
||||
name (Olivia).\n
|
||||
d. no one to fool with."
|
||||
|
||||
%message 26
|
||||
"Angela Davis is\n\n
|
||||
a. the middle Pointer\n
|
||||
Sister.\n
|
||||
b. a failed politician.\n
|
||||
c. an example of split ends\n
|
||||
gone wild.\n
|
||||
d. Bette's daughter."
|
||||
|
||||
%message 27
|
||||
"Detente is\n\n
|
||||
a. prohibited by law in\n
|
||||
41 states.\n
|
||||
b. a feminine hygiene\n
|
||||
spray.\n
|
||||
c. the masculine form of\n
|
||||
\"deteuse.\"\n
|
||||
d. a policy to replace war."
|
||||
|
||||
%message 28
|
||||
"Kwi-Chang-Caine became famous by saying\n\n
|
||||
a. \"I am not a crook.\"\n
|
||||
b. \"The barren fig tree\n
|
||||
bears no plums.\"\n
|
||||
c. \"Hi, sailor.\
|
||||
New in town?\"\n
|
||||
d. \"Aaaaaiiiyeeeaagggh!\""
|
||||
|
||||
%message 29
|
||||
"Ted Kennedy is best remem- bered for his\n\n
|
||||
a. driving.\n
|
||||
b. underwater free-style.\n
|
||||
c. brothers.\n
|
||||
d. All of the above."
|
||||
|
||||
%message 30
|
||||
"\"NORML\" is\n\n
|
||||
a. not gay.\n
|
||||
b. what Falwell wants you\n
|
||||
to be.\n
|
||||
c. trying to legalize\n
|
||||
marijuana.\n
|
||||
d. misspelled."
|
||||
|
||||
%message 31
|
||||
"Tom Hayden is\n\n
|
||||
a. one of the Chicago\n
|
||||
Seven.\n
|
||||
b. a U. S. Congressman.\n
|
||||
c. Mr. Jane Fonda.\n
|
||||
d. All of the above."
|
||||
|
||||
%message 32
|
||||
"Spiro Agnew is\n\n
|
||||
a. a form of social\n
|
||||
disease.\n
|
||||
b. a jazz-fusion rock band.\n
|
||||
c. a former Vice President.\n
|
||||
d. the first woman in\n
|
||||
Congress."
|
||||
|
||||
%message 33
|
||||
"The germ that transmits syphilis is\n\n
|
||||
a. Spiro Agnew.\n
|
||||
b. Spirochete.\n
|
||||
c. Spirograph.\n
|
||||
d. Barbarella."
|
||||
|
||||
%message 34
|
||||
"Kookie's address was\n\n
|
||||
a. 77 Sunset Strip.\n
|
||||
b. on Wistful Vista Street.\n
|
||||
c. 334 Elm Street.\n
|
||||
d. 1313 Mockingbird Lane."
|
||||
|
||||
%message 35
|
||||
"\"Who knows what evil lurks in the hearts of men?\"\n\n
|
||||
a. The Psychiatrist\n
|
||||
b. The Shadow\n
|
||||
c. The Creeper\n
|
||||
d. Ingmar Bergman"
|
||||
|
||||
%message 36
|
||||
"Al Lowe is:\n\n
|
||||
a. under 25.\n
|
||||
b. pregnant.\n
|
||||
c. never \"carded.\"\n
|
||||
d. a Woody Allen\n
|
||||
impersonator."
|
||||
|
||||
%message 37
|
||||
"Frank Sinatra is a\n\n
|
||||
a. female impersonator.\n
|
||||
b. shy pacifist.\n
|
||||
c. saloon singer.\n
|
||||
d. distance runner."
|
||||
|
||||
%message 38
|
||||
"Ralph Boysen invented\n\n
|
||||
a. the boysenberry.\n
|
||||
b. fins on 50's cars.\n
|
||||
c. bell bottomed jeans.\n
|
||||
d. the juke box."
|
||||
|
||||
%message 39
|
||||
"The first man on the moon was\n\n
|
||||
a. John Glenn.\n
|
||||
b. Neil Diamond.\n
|
||||
c. Neil Armstrong.\n
|
||||
d. Jack Armstrong."
|
||||
|
||||
%message 40
|
||||
"\"Gone With The Wind\" is about\n\n
|
||||
a. outer space.\n
|
||||
b. a bank robbery.\n
|
||||
c. four hours long.\n
|
||||
d. dust."
|
||||
|
||||
%message 41
|
||||
"Who is not a sportscaster?\n\n
|
||||
a. Jayne Kennedy\n
|
||||
b. Howard Cosell\n
|
||||
c. Jayne Mansfield\n
|
||||
d. Frank Gifford"
|
||||
|
||||
%message 42
|
||||
"Which is not a wine?\n\n
|
||||
a. Colombard\n
|
||||
b. Bon Aire\n
|
||||
c. Cabernet\n
|
||||
d. Muscatel"
|
||||
|
||||
%message 43
|
||||
"Which is not a mountain range?\n\n
|
||||
a. Cayman\n
|
||||
b. Appalachian\n
|
||||
c. Rockies\n
|
||||
d. Himalayas"
|
||||
|
||||
%message 44
|
||||
"In the movie, \"Paint Your Wagon,\" Clint Eastwood sang\n\n
|
||||
a. \"I Talk to the Trees\"\n
|
||||
b. \"Go Ahead, Make My\n
|
||||
Wagon\"\n
|
||||
c. \"If I Had A Mayor\"\n
|
||||
d. None of the above."
|
||||
|
||||
%message 45
|
||||
"The drink \"Screwdriver\" contains\n\n
|
||||
a. tomato juice.\n
|
||||
b. orange juice.\n
|
||||
c. grapefruit juice.\n
|
||||
d. borax."
|
||||
|
||||
%message 46
|
||||
"Ronald Reagan's co-star in \"Bedtime for Bonzo\" was\n\n
|
||||
a. a monkey.\n
|
||||
b. Peter O'Toole.\n
|
||||
c. Bonzo the Clown.\n
|
||||
d. Marilyn Monroe."
|
||||
|
||||
%message 47
|
||||
"The slogan \"It takes two hands to handle a whopper\" refers to\n\n
|
||||
a. John Holmes.\n
|
||||
b. a hamburger.\n
|
||||
c. overstuffed grocery\n
|
||||
bags.\n
|
||||
d. fishing."
|
||||
|
||||
%message 48
|
||||
"If you arrived at a party wearing your birthday suit, you would\n\n
|
||||
a. make many new friends.\n
|
||||
b. be thrown out.\n
|
||||
c. fit right in.\n
|
||||
d. It depends on the party."
|
||||
|
||||
%message 49
|
||||
"Cesar Chavez led a boycott of\n\n
|
||||
a. grapes.\n
|
||||
b. X-rated movies.\n
|
||||
c. dirty magazines.\n
|
||||
d. goods from South Africa."
|
||||
|
||||
%message 50
|
||||
"James Brown is often referred to as\n\n
|
||||
a. the Chairman of the\n
|
||||
Board.\n
|
||||
b. a great athlete.\n
|
||||
c. the Velvet Fog.\n
|
||||
d. the Godfather of Soul."
|
||||
|
||||
%message 51
|
||||
"Who lost a daughter but gained a \"meathead?\"\n\n
|
||||
a. George Jefferson\n
|
||||
b. Ronald Reagan\n
|
||||
c. Archie Bunker\n
|
||||
d. Ted Knight"
|
||||
|
||||
%message 52
|
||||
"Which U. S. Secretary of State was born in Germany?\n\n
|
||||
a. Dean Rusk\n
|
||||
b. William Rogers\n
|
||||
c. George Schultz\n
|
||||
d. Henry Kissinger"
|
||||
|
||||
%message 53
|
||||
"Who was the inventive genius behind the Apple computer?\n\n
|
||||
a. Bill Gates\n
|
||||
b. Steve Wozniak\n
|
||||
c. Ken Williams\n
|
||||
d. Steve Russell"
|
||||
|
||||
|
||||
|
||||
|
||||
%message 60
|
||||
"Dynamic logic = 2."
|
||||
|
||||
%message 61
|
||||
"a"
|
||||
|
||||
%message 62
|
||||
"b"
|
||||
|
||||
%message 63
|
||||
"c"
|
||||
|
||||
%message 64
|
||||
"d"
|
||||
|
||||
%message 65
|
||||
"So far, so good.\n\n
|
||||
Now for the final question."
|
||||
|
||||
%message 66
|
||||
"Question #%v96. Correct answer is %v93."
|
||||
|
||||
%message 67
|
||||
"Please answer a, b, c, or d: "
|
||||
|
||||
%message 69
|
||||
"So far, so good.\n\n
|
||||
Now for the final question."
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
[logics for room 20 -- rmBoss
|
||||
[ "Leisure-Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "rm20.msg"
|
||||
%include "gamedefs.h"
|
||||
|
||||
|
||||
if (initLog)
|
||||
{
|
||||
PreventInput();
|
||||
Reset( enableMenu);
|
||||
Set( handsOff);
|
||||
Reset( soundOn);
|
||||
|
||||
Random( 1, 3, work);
|
||||
if (work == 1) {picture = rmBoss;}
|
||||
if (work == 2) {picture = picBoss2;}
|
||||
if (work == 3) {picture = picBoss3;}
|
||||
|
||||
LoadPic( picture);
|
||||
DrawPic( picture);
|
||||
DiscardPic( picture);
|
||||
|
||||
Reset( clockOn);
|
||||
StatusLineOff();
|
||||
ShowPic( );
|
||||
|
||||
Return( );
|
||||
|
||||
} [ end initLOG
|
||||
|
||||
|
||||
|
||||
[*****
|
||||
:handleInput
|
||||
[*****
|
||||
|
||||
if (haveInput)
|
||||
{
|
||||
Print( 1);
|
||||
RestoreGame();
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:noInput
|
||||
[*****
|
||||
|
||||
Reset( clockOn);
|
||||
StatusLineOff();
|
||||
|
||||
if (HaveKey())
|
||||
{
|
||||
Print( 1);
|
||||
RestoreGame();
|
||||
}
|
||||
|
||||
[*****
|
||||
:exit [ test for leaving the room
|
||||
[*****
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
[messages for room 20 -- rmBoss
|
||||
[ "Leisure-Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
%message 1
|
||||
"Sorry, but you'll have to restore your game;
|
||||
when you panic, I forget everything!"
|
||||
|
|
@ -0,0 +1,775 @@
|
|||
[logics for room 21 -- rmInside7_11
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "rm21.msg"
|
||||
%include "gamedefs.h"
|
||||
|
||||
|
||||
|
||||
%define LEFT_WITHOUT_PAYING 0
|
||||
%define ASKED_FOR_RUBBER 100
|
||||
|
||||
%define L_TALKING 0
|
||||
%define L_SHOOTING 1
|
||||
|
||||
|
||||
%define boughtRubber lf0
|
||||
%define nearCounter lf2
|
||||
%define nearMags lf3
|
||||
%define waitingForResponse lf4
|
||||
%define nearWine lf5
|
||||
|
||||
|
||||
%define moneyOwed lv0 [ Don't change. See message 40.
|
||||
%define pervertTimer lv1
|
||||
%define talkTimer lv2
|
||||
|
||||
|
||||
%object aClerk 1
|
||||
%object aCustomer0 2
|
||||
%object aCustomer1 3
|
||||
%object aCustomer2 4
|
||||
%object aCustomer3 5
|
||||
%object aCustomer4 6
|
||||
%object aCustomer5 7
|
||||
|
||||
|
||||
|
||||
if (initLog)
|
||||
{
|
||||
LoadPic( currentRoom);
|
||||
DrawPic( currentRoom);
|
||||
DiscardPic( currentRoom);
|
||||
|
||||
LoadView( v7_11Customers);
|
||||
LoadView( v7_11Iranian);
|
||||
LoadView( vEgoDead);
|
||||
LoadView( vEgoCollapsing);
|
||||
|
||||
|
||||
LoadView( vMagazines); [ watch
|
||||
LoadView( v7_11Interior); [ out
|
||||
AddToPic( v7_11Interior, 0, 0, 107, 148, 13, 4); [ for
|
||||
AddToPic( v7_11Interior, 0, 1, 102, 134, 12, 4); [ discard
|
||||
AddToPic( v7_11Interior, 0, 2, 97, 118, 11, 4); [ views
|
||||
AddToPic( v7_11Interior, 0, 3, 62, 95, 11, 4); [ below
|
||||
AddToPic( v7_11Interior, 0, 4, 61, 103, 12, 4); [
|
||||
AddToPic( v7_11Interior, 1, 0, 16, 108, 4, 4); [
|
||||
[
|
||||
AddToPic( vMagazines, 0, 0, 63, 116, 13, 4); [
|
||||
AddToPic( vMagazines, 0, 1, 71, 116, 13, 4); [
|
||||
AddToPic( vMagazines, 0, 2, 63, 126, 13, 4); [
|
||||
AddToPic( vMagazines, 0, 3, 69, 126, 13, 4); [
|
||||
AddToPic( vMagazines, 0, 4, 79, 126, 13, 4); [
|
||||
AddToPic( vMagazines, 0, 5, 79, 136, 13, 4); [
|
||||
AddToPic( vMagazines, 0, 5, 71, 136, 13, 4); [
|
||||
AddToPic( vMagazines, 0, 5, 64, 136, 13, 4); [
|
||||
DiscardView( v7_11Interior); [
|
||||
DiscardView( vMagazines); [
|
||||
|
||||
|
||||
AnimateObj( aClerk);
|
||||
SetView( aClerk, v7_11Iranian);
|
||||
SetLoop( aClerk, L_TALKING);
|
||||
SetCel( aClerk, 0);
|
||||
Position( aClerk, 25, 113);
|
||||
Draw( aClerk);
|
||||
StopUpdate( aClerk);
|
||||
|
||||
AnimateObj( aCustomer0);
|
||||
IgnoreBlocks( aCustomer0);
|
||||
SetView( aCustomer0, v7_11Customers);
|
||||
SetCel( aCustomer0, 0);
|
||||
Position( aCustomer0, 52, 117);
|
||||
StopCycling( aCustomer0);
|
||||
|
||||
AnimateObj( aCustomer1);
|
||||
IgnoreBlocks( aCustomer1);
|
||||
SetView( aCustomer1, v7_11Customers);
|
||||
SetCel( aCustomer1, 1);
|
||||
Position( aCustomer1, 73, 96);
|
||||
StopCycling( aCustomer1);
|
||||
|
||||
AnimateObj( aCustomer2);
|
||||
IgnoreBlocks( aCustomer2);
|
||||
SetView( aCustomer2, v7_11Customers);
|
||||
SetCel( aCustomer2, 2);
|
||||
Position( aCustomer2, 136, 130);
|
||||
StopCycling( aCustomer2);
|
||||
|
||||
AnimateObj( aCustomer3);
|
||||
IgnoreBlocks( aCustomer3);
|
||||
SetView( aCustomer3, v7_11Customers);
|
||||
SetCel( aCustomer3, 3);
|
||||
Position( aCustomer3, 108, 95);
|
||||
StopCycling( aCustomer3);
|
||||
|
||||
AnimateObj( aCustomer4);
|
||||
IgnoreBlocks( aCustomer4);
|
||||
SetView( aCustomer4, v7_11Customers);
|
||||
SetCel( aCustomer4, 4);
|
||||
Position( aCustomer4, 88, 124);
|
||||
StopCycling( aCustomer4);
|
||||
|
||||
AnimateObj( aCustomer5);
|
||||
IgnoreObjs( aCustomer5);
|
||||
SetView( aCustomer5, v7_11Customers);
|
||||
SetCel( aCustomer5, 5);
|
||||
Position( aCustomer5, 87, 109);
|
||||
StopCycling( aCustomer5);
|
||||
|
||||
Position( ego, 15, 156);
|
||||
Draw( ego);
|
||||
|
||||
ShowPic( );
|
||||
|
||||
Return( );
|
||||
|
||||
} [ end initLOG
|
||||
|
||||
|
||||
|
||||
Reset( nearCounter);
|
||||
if (onWater)
|
||||
{
|
||||
Set( nearCounter);
|
||||
Set( nearPerson);
|
||||
}
|
||||
|
||||
Reset( nearWine);
|
||||
if (Posn( ego, 50, 112, 81, 116))
|
||||
{
|
||||
Set( nearWine);
|
||||
}
|
||||
|
||||
Reset( nearMags);
|
||||
if (Posn( ego, 55, 150, 85, 157))
|
||||
{
|
||||
Set( nearMags);
|
||||
}
|
||||
|
||||
|
||||
|
||||
[*****
|
||||
:handleInput
|
||||
[*****
|
||||
|
||||
if (!haveInput) {goto noInput;}
|
||||
|
||||
if ((Said( look) ||
|
||||
Said( look, room) ||
|
||||
Said( look, store)))
|
||||
{
|
||||
Print( 1);
|
||||
}
|
||||
|
||||
if ((Said( look, counter) ||
|
||||
Said( look, behind, counter)))
|
||||
{
|
||||
Print( 56);
|
||||
}
|
||||
|
||||
if (Said( look, sign))
|
||||
{
|
||||
Print( 44);
|
||||
}
|
||||
|
||||
if (Said( look, man))
|
||||
{
|
||||
Print( 45);
|
||||
Print( 47);
|
||||
}
|
||||
|
||||
if (Said( look, shelf))
|
||||
{
|
||||
if (nearMags)
|
||||
{
|
||||
Print( 2);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (nearWine)
|
||||
{
|
||||
Print( 49);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (nearCounter)
|
||||
{
|
||||
Print( 44);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 6);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( take, spray) ||
|
||||
Said( ask, man, spray)))
|
||||
{
|
||||
if (!nearCounter)
|
||||
{
|
||||
Print( 51);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Has( iBreathSpray))
|
||||
{
|
||||
Print( 52);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 53);
|
||||
Get( iBreathSpray));
|
||||
moneyOwed += 3;
|
||||
sprayCount = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( take, wine) ||
|
||||
Said( take, bottle, wine)))
|
||||
{
|
||||
if (!nearWine)
|
||||
{
|
||||
Print( 48);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Has( iWine))
|
||||
{
|
||||
Print( 55);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (ObjInRoom( iWine, currentRoom))
|
||||
{
|
||||
currentScore += 1;
|
||||
}
|
||||
Get( iWine);
|
||||
moneyOwed += 1;
|
||||
Print( 42);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( take, magazine))
|
||||
{
|
||||
if (!nearMags)
|
||||
{
|
||||
Print( 36);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!ObjInRoom( iMagazine, currentRoom))
|
||||
{
|
||||
Print( 38);
|
||||
}
|
||||
else
|
||||
{
|
||||
Set( OK);
|
||||
Get( iMagazine);
|
||||
currentScore += 1;
|
||||
moneyOwed += 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((Said( pay, wine) ||
|
||||
Said( pay, spray) ||
|
||||
Said( pay, magazine)))
|
||||
{
|
||||
if (moneyOwed)
|
||||
{
|
||||
Reset( haveMatch);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 4);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( pay, man) ||
|
||||
Said( give, man, money) ||
|
||||
Said( give, money, man) ||
|
||||
Said( pay) ||
|
||||
Said( pay, wine) ||
|
||||
Said( pay, spray) ||
|
||||
Said( pay, magazine)))
|
||||
{
|
||||
if (!nearCounter)
|
||||
{
|
||||
Print( 3);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!moneyOwed)
|
||||
{
|
||||
Print( 39);
|
||||
--dollars;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (dollars < moneyOwed)
|
||||
{
|
||||
Print( 32);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 40);
|
||||
Print( 41);
|
||||
dollars -= moneyOwed;
|
||||
moneyOwed = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( buy, rubber) ||
|
||||
Said( ask, man, rubber, rol) ||
|
||||
Said( ask, man, about, rubber, rol) ||
|
||||
Said( get, rubber, rol) ||
|
||||
Said( anyword, rubber, rol) ||
|
||||
Said( rubber, rol) ||
|
||||
Said( buy, one, rubber)))
|
||||
{
|
||||
if (!nearCounter)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Has( iRubber))
|
||||
{
|
||||
Print( 8);
|
||||
}
|
||||
else
|
||||
{
|
||||
script = ASKED_FOR_RUBBER;
|
||||
Set( scriptDone);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
[ Errors; clean up, fix up.
|
||||
|
||||
if ((Said( open, cooler, rol) ||
|
||||
Said( open, door, rol)))
|
||||
{
|
||||
Print( 50);
|
||||
}
|
||||
|
||||
if ((Said( take, booze) || [ Generic liquor.
|
||||
Said( take, whiskey) ||
|
||||
Said( take, beer)))
|
||||
{
|
||||
Print( 43);
|
||||
}
|
||||
|
||||
if ((Said( get, card) ||
|
||||
Said( get, rope) ||
|
||||
Said( get, pills) ||
|
||||
Said( get, whiskey) ||
|
||||
Said( get, apple) ||
|
||||
Said( get, hammer) ||
|
||||
Said( buy, card) ||
|
||||
Said( buy, rope) ||
|
||||
Said( buy, pills) ||
|
||||
Said( buy, whiskey) ||
|
||||
Said( buy, apple) ||
|
||||
Said( buy, hammer)))
|
||||
{
|
||||
Print( 57);
|
||||
}
|
||||
|
||||
if ((Said( take, rol) ||
|
||||
Said( buy, rol))) [ Clean up for anything else.
|
||||
{
|
||||
Print( 7);
|
||||
}
|
||||
|
||||
if (!Has( iMagazine) &&
|
||||
Said( look, magazine))
|
||||
{
|
||||
if (!nearMags)
|
||||
{
|
||||
Print( 36);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 54);
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( look, magazine, rack))
|
||||
{
|
||||
if (!nearMags)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!Has( iMagazine))
|
||||
{
|
||||
Print( 54);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 38);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((Said( talk, man, rol) ||
|
||||
Said( talk, about, rol)))
|
||||
{
|
||||
StartUpdate( aClerk);
|
||||
talkTimer = 5;
|
||||
}
|
||||
|
||||
|
||||
|
||||
[*****
|
||||
:noInput
|
||||
[*****
|
||||
|
||||
if (aSecondPassed)
|
||||
{
|
||||
--talkTimer;
|
||||
if (talkTimer == 1)
|
||||
{
|
||||
StopUpdate( aClerk);
|
||||
SetCel( aClerk, 0);
|
||||
ForceUpdate( aClerk);
|
||||
|
||||
Random( 58, 64, message);
|
||||
PrintV( message);
|
||||
Print( 9);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (hitSpecial && moneyOwed)
|
||||
{
|
||||
script = LEFT_WITHOUT_PAYING;
|
||||
Set( scriptDone);
|
||||
}
|
||||
|
||||
if (nearCounter &&
|
||||
script == 109)
|
||||
{
|
||||
Set( scriptDone);
|
||||
}
|
||||
|
||||
if (!haveMatch &&
|
||||
script > 100 &&
|
||||
haveInput)
|
||||
{
|
||||
Set( scriptDone);
|
||||
}
|
||||
|
||||
if (scriptDone)
|
||||
{
|
||||
Reset( scriptDone);
|
||||
++script;
|
||||
|
||||
if (script == 1) [ try to leave w/o paying
|
||||
{
|
||||
Set( ignoreSpecial);
|
||||
PreventInput();
|
||||
StopMotion( ego);
|
||||
Set( programControl);
|
||||
StartUpdate( aClerk);
|
||||
SetLoop( aClerk, L_SHOOTING);
|
||||
SetCel( aClerk, 0);
|
||||
RepositionTo( aClerk, 23, 113);
|
||||
CycleTime( aClerk, three);
|
||||
StartCycling( aClerk);
|
||||
EndOfLoop( aClerk, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 2)
|
||||
{
|
||||
Set( keepCycling);
|
||||
SetView( ego, vEgoCollapsing);
|
||||
SetCel( ego, 0);
|
||||
RepositionTo( ego, 15, 159);
|
||||
CycleTime( ego, two);
|
||||
EndOfLoop( ego, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 3)
|
||||
{
|
||||
Reset( keepCycling);
|
||||
SetView( ego, vEgoDead);
|
||||
SetCel( ego, 0);
|
||||
RepositionTo( ego, 12, 166);
|
||||
if (egoX > 2)
|
||||
{
|
||||
egoX -= 3;
|
||||
}
|
||||
if (egoY < 160)
|
||||
{
|
||||
egoY += 7;
|
||||
}
|
||||
RepositionToV( ego, egoX, egoY);
|
||||
|
||||
Print( 19);
|
||||
scriptTimer = 4;
|
||||
}
|
||||
|
||||
if (script == 4)
|
||||
{
|
||||
CycleTime( ego, two);
|
||||
Set( keepCycling);
|
||||
EndOfLoop( ego, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 5)
|
||||
{
|
||||
newRoom = rmWorkshop;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if (script == 101) [ Buying a rubber.
|
||||
{
|
||||
Print( 18);
|
||||
Print( 10);
|
||||
Print( 11);
|
||||
Print( 12); [ Smooth or ribbed?
|
||||
|
||||
SetString( 1, 34); [ Blank 'em out.
|
||||
SetString( 2, 34);
|
||||
SetString( 3, 34);
|
||||
SetString( 4, 34);
|
||||
SetString( 5, 34);
|
||||
|
||||
scriptTimer = 9;
|
||||
}
|
||||
|
||||
if (script == 102)
|
||||
{
|
||||
if (Said( smooth))
|
||||
{
|
||||
SetString( 1, 21);
|
||||
Print( 13);
|
||||
}
|
||||
|
||||
if (Said( ribbed))
|
||||
{
|
||||
SetString( 1, 22);
|
||||
Print( 13);
|
||||
}
|
||||
|
||||
if (!haveMatch)
|
||||
{
|
||||
--script;
|
||||
Set( haveMatch);
|
||||
if (!typing)
|
||||
{
|
||||
Print( 12);
|
||||
}
|
||||
}
|
||||
scriptTimer = 9;
|
||||
}
|
||||
|
||||
if (script == 103)
|
||||
{
|
||||
if (Said( colored))
|
||||
{
|
||||
SetString( 2, 23);
|
||||
Print( 14);
|
||||
}
|
||||
|
||||
if (Said( plain))
|
||||
{
|
||||
SetString( 2, 24);
|
||||
Print( 14);
|
||||
}
|
||||
|
||||
if (!haveMatch)
|
||||
{
|
||||
--script;
|
||||
Set( haveMatch);
|
||||
if (!typing)
|
||||
{
|
||||
Print( 13);
|
||||
}
|
||||
}
|
||||
scriptTimer = 9;
|
||||
}
|
||||
|
||||
if (script == 104)
|
||||
{
|
||||
if (Said( lubricated))
|
||||
{
|
||||
SetString( 3, 25);
|
||||
Print( 15);
|
||||
}
|
||||
|
||||
if (Said( rough))
|
||||
{
|
||||
SetString( 3, 26);
|
||||
Print( 15);
|
||||
}
|
||||
|
||||
if (!haveMatch)
|
||||
{
|
||||
--script;
|
||||
Set( haveMatch);
|
||||
if (!typing)
|
||||
{
|
||||
Print( 14);
|
||||
}
|
||||
}
|
||||
scriptTimer = 9;
|
||||
}
|
||||
|
||||
if (script == 105)
|
||||
{
|
||||
if (Said( striped))
|
||||
{
|
||||
SetString( 4, 27);
|
||||
Print( 16);
|
||||
}
|
||||
|
||||
if (Said( plaid))
|
||||
{
|
||||
SetString( 4, 28);
|
||||
Print( 16);
|
||||
}
|
||||
|
||||
if (!haveMatch)
|
||||
{
|
||||
--script;
|
||||
Set( haveMatch);
|
||||
if (!typing)
|
||||
{
|
||||
Print( 15);
|
||||
}
|
||||
}
|
||||
scriptTimer = 9;
|
||||
}
|
||||
|
||||
if (script == 106)
|
||||
{
|
||||
if (Said( peppermint))
|
||||
{
|
||||
SetString( 5, 29);
|
||||
Print( 20);
|
||||
}
|
||||
|
||||
if (Said( spearmint))
|
||||
{
|
||||
SetString( 5, 30);
|
||||
Print( 20);
|
||||
}
|
||||
|
||||
scriptTimer = 3;
|
||||
if (!haveMatch)
|
||||
{
|
||||
Set( haveMatch);
|
||||
--script;
|
||||
Set( haveMatch);
|
||||
if (!typing)
|
||||
{
|
||||
Print( 16);
|
||||
}
|
||||
scriptTimer = 9;
|
||||
}
|
||||
}
|
||||
|
||||
if (script == 107)
|
||||
{
|
||||
PreventInput():
|
||||
Print( 17);
|
||||
StopUpdate( ego);
|
||||
|
||||
Draw( aCustomer0);
|
||||
Draw( aCustomer1);
|
||||
Draw( aCustomer2);
|
||||
Draw( aCustomer3);
|
||||
Draw( aCustomer4);
|
||||
Draw( aCustomer5);
|
||||
|
||||
scriptTimer = 5;
|
||||
}
|
||||
|
||||
if (script == 108)
|
||||
{
|
||||
PrintAt( 5, 5, 10, 25);
|
||||
[msg #, row, col, width
|
||||
Erase( aCustomer0);
|
||||
Erase( aCustomer1);
|
||||
Erase( aCustomer2);
|
||||
Erase( aCustomer3);
|
||||
Erase( aCustomer4);
|
||||
Erase( aCustomer5);
|
||||
|
||||
StartUpdate( ego);
|
||||
scriptTimer = 5;
|
||||
}
|
||||
|
||||
if (script == 109)
|
||||
{
|
||||
if (!nearCounter)
|
||||
{
|
||||
Print( 46);
|
||||
}
|
||||
else
|
||||
{
|
||||
script = 110;
|
||||
}
|
||||
}
|
||||
|
||||
if (script == 110)
|
||||
{
|
||||
if (ObjInRoom( iRubber, currentRoom))[How cute. It's his first time!
|
||||
{
|
||||
currentScore += 4;
|
||||
}
|
||||
|
||||
moneyOwed += 5;
|
||||
Get( iRubber);
|
||||
Set( boughtRubber);
|
||||
Print( 31);
|
||||
AcceptInput();
|
||||
|
||||
if (dollars < moneyOwed)
|
||||
{
|
||||
Print( 32);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 33);
|
||||
dollars -= moneyOwed;
|
||||
moneyOwed = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:exit [ test for leaving the room
|
||||
[*****
|
||||
|
||||
|
||||
if (edgeEgoHit == BOTTOM)
|
||||
{
|
||||
AcceptInput();
|
||||
if (boughtRubber)
|
||||
{
|
||||
Print( 35);
|
||||
}
|
||||
newRoom = rmOutside7_11;
|
||||
}
|
|
@ -0,0 +1,222 @@
|
|||
[messages for room 21 -- rmInside7_11
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"You are in a 24-hour convenience store.
|
||||
There is a magazine rack near the front door, with a sign reading
|
||||
\"This no library -- no leeding.\"
|
||||
Except for the clerk standing behind the counter,
|
||||
the store appears to be deserted. A small sign graces the counter."
|
||||
|
||||
%message 2
|
||||
"There are many magazines on the rack,
|
||||
but your eyes immediately go to the ones with the naked girls on the cover."
|
||||
|
||||
%message 3
|
||||
"Move to the counter when you are ready to pay for your selections."
|
||||
|
||||
%message 4
|
||||
"Shouldn't you TAKE your purchases before paying for them?"
|
||||
|
||||
%message 5
|
||||
"\n\"WHAT A PERVERT!!!\"\n"
|
||||
|
||||
%message 6
|
||||
"The shelves are filled with all the necessities of life:
|
||||
\"Dwinkies,\" \"Wallo-Wars,\" \"Loritos,\" various colas,
|
||||
cheap wine, and coffee.
|
||||
You don't see anything you really need in this part of the store."
|
||||
|
||||
%message 7
|
||||
"Nah. You'd just be wasting your money."
|
||||
|
||||
%message 8
|
||||
"\"You haven't used your old one yet!\""
|
||||
|
||||
%message 9
|
||||
"Apparently the clerk is new to this country.
|
||||
He only knows a few English words."
|
||||
|
||||
%message 10
|
||||
"\"Sure, we got lubbers!\""
|
||||
|
||||
%message 11
|
||||
"(Obviously you've hit his area of expertise!)"
|
||||
|
||||
%message 12
|
||||
"\"What kind lubber you want? Smooth or libbed?\""
|
||||
|
||||
%message 13
|
||||
"\"Colored or plain?\""
|
||||
|
||||
%message 14
|
||||
"\"Lubricated or rough-cut?\""
|
||||
|
||||
%message 15
|
||||
"\"Striped or plaid?\""
|
||||
|
||||
%message 16
|
||||
"\"Peppermint or spearmint flavor?\""
|
||||
|
||||
%message 17
|
||||
"\"Hey, everybody!!
|
||||
This weird-o just bought a %s5-flavored, %s4, %s3, %s2, %s1 lubber!!!\""
|
||||
|
||||
%message 18
|
||||
"After looking around to make certain you're alone,
|
||||
you quietly ask the clerk if he has any available behind the counter."
|
||||
|
||||
%message 19
|
||||
"The clerk does not take kindly to your shoplifting.
|
||||
His shotgun makes a permanent impression on you.
|
||||
(And, IN you!)"
|
||||
|
||||
%message 20
|
||||
"\"Oakie, doakie Meester!\""
|
||||
|
||||
%message 21
|
||||
"smooth"
|
||||
|
||||
%message 22
|
||||
"libbed"
|
||||
|
||||
%message 23
|
||||
"colored"
|
||||
|
||||
%message 24
|
||||
"plain"
|
||||
|
||||
%message 25
|
||||
"lubricated"
|
||||
|
||||
%message 26
|
||||
"rough-cut"
|
||||
|
||||
%message 27
|
||||
"striped"
|
||||
|
||||
%message 28
|
||||
"plaid"
|
||||
|
||||
%message 29
|
||||
"peppermint"
|
||||
|
||||
%message 30
|
||||
"spearmint"
|
||||
|
||||
%message 31
|
||||
"He hands you the package, saying
|
||||
\"All together, that will be $%v200.00, prease.\""
|
||||
|
||||
%message 32
|
||||
"Unfortunately, you only have $%v90.00.
|
||||
(Perhaps you can sneak out without paying.)"
|
||||
|
||||
%message 33
|
||||
"You give him the money, with a pleasant \"Thanks a lot, big mouth!\""
|
||||
|
||||
%message 34 [ MUST remain 1 single space!!
|
||||
" "
|
||||
|
||||
%message 35
|
||||
"\"Hey, Meester!!\" yells the clerk.
|
||||
\"I hope you enjoy your %s5-flavored, %s4, %s3, %s2, %s1 lubber!!!\""
|
||||
|
||||
%message 36
|
||||
"The magazines are on the rack nearest the door."
|
||||
|
||||
%message 37
|
||||
""
|
||||
|
||||
%message 38
|
||||
"Nah. That's enough reading material for one game."
|
||||
|
||||
%message 39
|
||||
"\"Ooooooh, Meester!
|
||||
Thank you for free money.
|
||||
What wonderful country thees is!!\""
|
||||
|
||||
%message 40
|
||||
"\"Oakie, doakie Meester! That'll be $%v200.00.\""
|
||||
|
||||
%message 41
|
||||
"\"Have a nice day.\""
|
||||
|
||||
%message 42
|
||||
"You grab a bottle of cheap wine,
|
||||
and wonder how they can make a profit selling this stuff for only a
|
||||
dollar a gallon!"
|
||||
|
||||
%message 43
|
||||
"Not here. This place is too expensive!"
|
||||
|
||||
%message 44
|
||||
"A small, discreetly hand-lettered sign says:\n\n
|
||||
\"Prophylactics For Sale\n
|
||||
Ask Clerk\""
|
||||
|
||||
%message 45
|
||||
"\"Nice turban, Leroy.\""
|
||||
|
||||
%message 46
|
||||
"\"Hey, meester! Come over here, and get your lubber!!\""
|
||||
|
||||
%message 47
|
||||
"He smiles back, pretending to understand."
|
||||
|
||||
%message 48
|
||||
"The wine is on the left end of the back wall."
|
||||
|
||||
%message 49
|
||||
"That extra large jug of wine looks like a bargain."
|
||||
|
||||
%message 50
|
||||
"There's nothing of interest inside."
|
||||
|
||||
%message 51
|
||||
"That is located behind the counter. Ask the clerk."
|
||||
|
||||
%message 52
|
||||
"You still have some."
|
||||
|
||||
%message 53
|
||||
"\"Here, Meester,\" he says. \"Thees smells like chur brand!\""
|
||||
|
||||
%message 54
|
||||
"Hmm. That one looks particularly interesting."
|
||||
|
||||
%message 55
|
||||
"Whew. One of those bottles is about all a guy needs, Larry."
|
||||
|
||||
%message 56
|
||||
"The wall behind the clerk is blank and
|
||||
the counter is completely bare, except for a small sign.
|
||||
(You wonder where he keeps the slim jims.)"
|
||||
|
||||
%message 57
|
||||
"\"Sorry, no gottee!\""
|
||||
|
||||
%message 58
|
||||
"\"Fposwqa feinnzx. Ofewass gewyiu qfbva.\""
|
||||
|
||||
%message 59
|
||||
"\"Poolskd asd woefpo lkjfq feps of foeps.\""
|
||||
|
||||
%message 60
|
||||
"\"Owf wepa vpifk qpqwf? Qqwpp apifrp qp foiw!\""
|
||||
|
||||
%message 61
|
||||
"\"Tqp nbq bqopni ba ajpqoi fqyq. HA HA HA!!\""
|
||||
|
||||
%message 62
|
||||
"\"Pqwwo qfp qwfnbv qozdvie. Ppqow poqw fvzxc ioplhjk.\""
|
||||
|
||||
%message 63
|
||||
"\"Qufe weax zxo zvp zvqiw vpozcvajpbnv wf, apoz. Wfipa?\""
|
||||
|
||||
%message 64
|
||||
"\"Zxxz pofqsoo afpoistr zxcv.\""
|
||||
|
|
@ -0,0 +1,959 @@
|
|||
[logics for room 22 -- rmOutside7_11
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "rm22.msg"
|
||||
%include "gamedefs.h"
|
||||
|
||||
|
||||
|
||||
%define DONE 255
|
||||
|
||||
%define wrongSideOfPole lf0
|
||||
%define nearPole lf1
|
||||
%define nearBum lf2
|
||||
%define nearPhone lf3
|
||||
%define bumDone lf4
|
||||
%define hungUpPhone lf5
|
||||
|
||||
%define bumTimer lv1
|
||||
%define bumScript lv3
|
||||
|
||||
%object aBum 1
|
||||
|
||||
|
||||
|
||||
if (initLog)
|
||||
{
|
||||
if (watchHours > 4 && [ Anything after 5 am.
|
||||
watchHours < 10)
|
||||
{
|
||||
NewRoom( rmSunrise);
|
||||
}
|
||||
|
||||
SetHorizon( 118);
|
||||
|
||||
LoadLogics( lgcStreet);
|
||||
|
||||
LoadSound( mRm22Drunk);
|
||||
|
||||
|
||||
[
|
||||
[ BE CAREFUL BELOW:
|
||||
LoadView( v7_11Exterior); [ view.130
|
||||
LoadPic( currentRoom); [
|
||||
DrawPic( currentRoom); [
|
||||
DiscardPic( currentRoom); [
|
||||
AddToPic( v7_11Exterior, 0, 0, 44, 54, 12, 4);[
|
||||
[view, loop, cel, x, y, obj priority, box priority
|
||||
DiscardView( v7_11Exterior); [
|
||||
[
|
||||
|
||||
|
||||
if (currentStatus != STIFFED_CABBIE &&
|
||||
!Has( iPocketKnife))
|
||||
{
|
||||
LoadView( v7_11Bum); [ view.93
|
||||
|
||||
AnimateObj( aBum);
|
||||
SetView( aBum, v7_11Bum);
|
||||
Position( aBum, 0, 135);
|
||||
Random( 5, 15, bumTimer);
|
||||
CycleTime( aBum, three);
|
||||
StepTime( aBum, three);
|
||||
}
|
||||
|
||||
if (answeredSurvey)
|
||||
{
|
||||
scriptTimer = 5;
|
||||
script = 210;
|
||||
}
|
||||
|
||||
if (previousRoom == rmInside7_11)
|
||||
{
|
||||
egoX = 36;
|
||||
egoY = 115;
|
||||
SetLoop( ego, FACING_FRONT);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (previousRoom == rmDarkAlley)
|
||||
{
|
||||
egoX = 0;
|
||||
egoY = 114;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (previousRoom != rmOutsideDisco)
|
||||
{
|
||||
egoX = 77;
|
||||
egoY = 146;
|
||||
}
|
||||
}
|
||||
}
|
||||
PositionV( ego, egoX, egoY);
|
||||
IgnoreBlocks( ego);
|
||||
Draw( ego);
|
||||
|
||||
Reset( noFawnInDisco); [ She'll be back now!
|
||||
Call( lgcStreet);
|
||||
|
||||
ShowPic( );
|
||||
|
||||
Return( );
|
||||
|
||||
} [ end initLOG
|
||||
|
||||
|
||||
|
||||
Reset( nearPhone);
|
||||
if (Posn( ego, 52, 126, 69, 150))
|
||||
{
|
||||
Set( nearPhone);
|
||||
}
|
||||
|
||||
Reset( nearPole);
|
||||
if (Posn( ego, 50, 125, 77, 142))
|
||||
{
|
||||
Set( nearPole);
|
||||
}
|
||||
|
||||
Reset( wrongSideOfPole);
|
||||
if (Posn( ego, 50, 143, 77, 167))
|
||||
{
|
||||
Set( wrongSideOfPole);
|
||||
}
|
||||
|
||||
Reset( nearBum);
|
||||
if (bumScript)
|
||||
{
|
||||
Distance( aBum, ego, work);
|
||||
if (work < 25)
|
||||
{
|
||||
Set( nearBum);
|
||||
Set( nearPerson);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:handleInput
|
||||
[*****
|
||||
|
||||
if (!haveInput) {goto noInput;}
|
||||
|
||||
if ((Said( look) ||
|
||||
Said( look, room)))
|
||||
{
|
||||
Print( 1);
|
||||
}
|
||||
|
||||
if (Said( look, store))
|
||||
{
|
||||
Print( 34);
|
||||
}
|
||||
|
||||
if (Said( open, door))
|
||||
{
|
||||
if (nearTaxi)
|
||||
{
|
||||
Reset( haveMatch);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 67);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
[ Telephone department.
|
||||
if ((Said( use, phone) ||
|
||||
Said( make, phone, call) ||
|
||||
Said( dial, phone)))
|
||||
{
|
||||
if (!nearPhone)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (handsOff)
|
||||
{
|
||||
Print( 73);
|
||||
}
|
||||
else
|
||||
{
|
||||
script = 0;
|
||||
Set( scriptDone);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( look, phone) ||
|
||||
Said( look, side, phone) ||
|
||||
Said( look, phone, book)))
|
||||
{
|
||||
if (!nearPhone)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 22);
|
||||
if (!readSideOfPhone)
|
||||
{
|
||||
Set( readSideOfPhone);
|
||||
currentScore += 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( look, pole))
|
||||
{
|
||||
if (nearPole)
|
||||
{
|
||||
Print( 22);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (wrongSideOfPole)
|
||||
{
|
||||
Print( 33);
|
||||
}
|
||||
else
|
||||
{
|
||||
Reset( haveMatch); [ So dynamic says "Taxi stand"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( answer, phone) ||
|
||||
Said( answer, phone, call) ||
|
||||
Said( answer, phone) ||
|
||||
Said( answer) ||
|
||||
Said( get, phone)))
|
||||
{
|
||||
if (!nearPhone)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (handsOff)
|
||||
{
|
||||
Print( 73);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (script < 210)
|
||||
{
|
||||
Print( 50);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 51);
|
||||
script = 215;
|
||||
Set( scriptDone);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
[ Here's the bum stuff. (Not Bum Stuff!)
|
||||
|
||||
if (bumScript)
|
||||
{
|
||||
if (Said( look, man))
|
||||
{
|
||||
if (!nearBum)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 32);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( talk, man) ||
|
||||
Said( talk)))
|
||||
{
|
||||
if (!nearBum)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 23);
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( no, rol))
|
||||
{
|
||||
Print( 28);
|
||||
Set( bumDone);
|
||||
bumScript = 4;
|
||||
bumTimer = 0;
|
||||
}
|
||||
|
||||
if ((Said( give, wine, man) ||
|
||||
Said( give, wine) ||
|
||||
Said( give, man, wine)))
|
||||
{
|
||||
if (!Has( iWine))
|
||||
{
|
||||
Set( dontHaveIt);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!nearBum)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Drop( iWine);
|
||||
if (!ObjInRoom( iPocketKnife, currentRoom))
|
||||
{
|
||||
Print( 35);
|
||||
}
|
||||
else
|
||||
{
|
||||
Get( iPocketKnife);
|
||||
currentScore += 5;
|
||||
|
||||
Print( 24);
|
||||
Print( 25);
|
||||
Print( 26);
|
||||
Set( bumDone);
|
||||
bumScript = 4;
|
||||
bumTimer = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( give, whiskey, man) ||
|
||||
Said( give, whiskey) ||
|
||||
Said( give, man, whiskey)))
|
||||
{
|
||||
if (!Has( iWhiskey))
|
||||
{
|
||||
Set( dontHaveIt);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!nearBum)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 2);
|
||||
Drop( iWhiskey);
|
||||
Set( bumDone);
|
||||
bumScript = 4;
|
||||
bumTimer = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( give, money, man) ||
|
||||
Said( give, money) ||
|
||||
Said( pay, man) ||
|
||||
Said( pay, man, money) ||
|
||||
Said( give, man, money)))
|
||||
{
|
||||
if (!nearBum)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
dollars -= 1;
|
||||
Print( 31);
|
||||
Set( bumDone);
|
||||
bumScript = 4;
|
||||
bumTimer = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( smell, man) ||
|
||||
Said( smell)))
|
||||
{
|
||||
Print( 29);
|
||||
}
|
||||
|
||||
if (Said( search, man))
|
||||
{
|
||||
Print( 49);
|
||||
}
|
||||
|
||||
if ((Said( give, man, bottle) ||
|
||||
Said( give, bottle, man)))
|
||||
{
|
||||
Print( 41);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
[ Generic problems, solved.
|
||||
|
||||
if (Said( dial, rol))
|
||||
{
|
||||
Print( 37);
|
||||
}
|
||||
|
||||
if (Said( answer, rol))
|
||||
{
|
||||
Print( 39);
|
||||
}
|
||||
|
||||
if (Said( anyword, phone, book))
|
||||
{
|
||||
Print( 38);
|
||||
}
|
||||
|
||||
if ((Said( look, window) ||
|
||||
Said( look$in, window)))
|
||||
{
|
||||
Print( 66);
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:noInput
|
||||
[*****
|
||||
|
||||
if (aSecondPassed)
|
||||
{
|
||||
if (scriptTimer == 1)
|
||||
{
|
||||
if ((script == 101 ||
|
||||
script == 102))
|
||||
{
|
||||
script = 110; [ Waited too long. Hang up.
|
||||
}
|
||||
}
|
||||
|
||||
--bumTimer;
|
||||
if (bumTimer == 1)
|
||||
{
|
||||
Set( bumDone);
|
||||
}
|
||||
}
|
||||
|
||||
if (bumScript > 4 && edgeObjHit && objHitEdge == aBum)
|
||||
{
|
||||
Set( bumDone);
|
||||
}
|
||||
|
||||
if (bumDone)
|
||||
{
|
||||
Reset( bumDone);
|
||||
++bumScript;
|
||||
|
||||
if (bumScript == 1)
|
||||
{
|
||||
Draw( aBum);
|
||||
Sound( mRm22Drunk, done);
|
||||
FollowEgo( aBum, 8, bumDone);
|
||||
}
|
||||
|
||||
if (bumScript == 2)
|
||||
{
|
||||
StopMotion( aBum);
|
||||
StopCycling( aBum);
|
||||
Print( 27);
|
||||
bumTimer = 9;
|
||||
}
|
||||
|
||||
if (bumScript == 3) [ timer elapsed; ask for wine
|
||||
{
|
||||
Print( 48);
|
||||
bumTimer = 9;
|
||||
}
|
||||
|
||||
if (bumScript == 4) [ timer elapsed; bum splits!
|
||||
{
|
||||
Print( 28);
|
||||
bumScript = 5;
|
||||
}
|
||||
|
||||
if (bumScript == 5) [ player caused him to go.
|
||||
{
|
||||
StartCycling( aBum);
|
||||
Wander( aBum);
|
||||
}
|
||||
|
||||
if (bumScript == 6)
|
||||
{
|
||||
Erase( aBum);
|
||||
bumScript = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (scriptDone)
|
||||
{
|
||||
Reset( scriptDone);
|
||||
++script;
|
||||
|
||||
if (script == 1) [ Accept a phone number.
|
||||
{
|
||||
Set( handsOff);
|
||||
PreventInput();
|
||||
StopMotion( ego);
|
||||
Set( programControl);
|
||||
if (monitorType != MONO)
|
||||
{
|
||||
ClearLines( 23, 23, BG_COLOR);
|
||||
}
|
||||
SetString( 1, 52); [ " " default blank string;
|
||||
GetString( 1, 30, 23, 0, 14);
|
||||
[string#, prompt, row, col, max length
|
||||
|
||||
scriptTimer = 3; [ kill some time before deciding
|
||||
}
|
||||
|
||||
|
||||
|
||||
[ Now, decide if he entered one of our many valid numbers.
|
||||
|
||||
if (script == 2) [ Accept a phone number.
|
||||
{
|
||||
SetString( 2, 56); [ Liquor store.
|
||||
SetString( 3, 57);
|
||||
if ((CompareStrings( 1, 2) ||
|
||||
CompareStrings( 1, 3)))
|
||||
{
|
||||
script = 100;
|
||||
}
|
||||
|
||||
SetString( 2, 58); [ Sex survey.
|
||||
SetString( 3, 59);
|
||||
if ((CompareStrings( 1, 2) ||
|
||||
CompareStrings( 1, 3)))
|
||||
{
|
||||
if (answeredSurvey)
|
||||
{
|
||||
script = 110;
|
||||
}
|
||||
else
|
||||
{
|
||||
script = 200;
|
||||
}
|
||||
}
|
||||
|
||||
SetString( 2, 60); [ Sierra.
|
||||
SetString( 3, 61);
|
||||
SetString( 4, 62);
|
||||
SetString( 5, 63);
|
||||
SetString( 11, 64);
|
||||
SetString( 12, 65);
|
||||
if ((CompareStrings( 1, 2) ||
|
||||
CompareStrings( 1, 3) ||
|
||||
CompareStrings( 1, 4) ||
|
||||
CompareStrings( 1, 5) ||
|
||||
CompareStrings( 1, 11) ||
|
||||
CompareStrings( 1, 12)))
|
||||
{
|
||||
script = 150;
|
||||
}
|
||||
if (monitorType != MONO)
|
||||
{
|
||||
ClearLines( 23, 23, BG_COLOR);
|
||||
}
|
||||
scriptTimer = 5;
|
||||
Set( soundDone);
|
||||
}
|
||||
|
||||
|
||||
if (script == 3) [ Unsuccessful dialing experience.
|
||||
{
|
||||
Print( 42);
|
||||
Print( 43);
|
||||
script = DONE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (script == 101) [ "Hello. Ajax Liquor Store"
|
||||
{
|
||||
if (!fawnInRoom)
|
||||
{
|
||||
Print( 36);
|
||||
script = DONE;
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 44);
|
||||
Print( 45);
|
||||
|
||||
SetString( 11, 52);
|
||||
if (monitorType != MONO)
|
||||
{
|
||||
ClearLines( 23, 23, BG_COLOR);
|
||||
GetString( 11, 53, 23, 0, 38);
|
||||
[ string#, prompt, row, col, max length
|
||||
}
|
||||
else
|
||||
{
|
||||
GetString( 11, 52, 23, 0, 28);
|
||||
}
|
||||
|
||||
PreventInput();
|
||||
AcceptInput();
|
||||
Parse( 11);
|
||||
|
||||
if ((Said( wine) ||
|
||||
Said( order, wine) ||
|
||||
Said( deliver, wine)))
|
||||
{
|
||||
++script;
|
||||
}
|
||||
else
|
||||
{
|
||||
Set( haveMatch);
|
||||
Print( 54); [ screwed up.
|
||||
script = DONE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (script == 102)
|
||||
{
|
||||
Print( 46);
|
||||
[ string#, prompt, row, col, max length
|
||||
SetString( 11, 52);
|
||||
if (monitorType != MONO)
|
||||
{
|
||||
ClearLines( 23, 23, BG_COLOR);
|
||||
GetString( 11, 53, 23, 0, 38);
|
||||
}
|
||||
else
|
||||
{
|
||||
GetString( 11, 52, 23, 0, 28);
|
||||
}
|
||||
|
||||
PreventInput();
|
||||
AcceptInput();
|
||||
Parse( 11);
|
||||
|
||||
if ((Said( anyword, honeymoon$suite) ||
|
||||
Said( anyword, anyword, honeymoon$suite) ||
|
||||
Said( honeymoon$suite, rol)))
|
||||
{
|
||||
++script;
|
||||
}
|
||||
else
|
||||
{
|
||||
Set( haveMatch);
|
||||
Print( 55); [ screwed up.
|
||||
script = DONE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (script == 103)
|
||||
{
|
||||
Print( 47);
|
||||
Set( orderedWine);
|
||||
if (!orderedWineFirstTime)
|
||||
{
|
||||
Set( orderedWineFirstTime);
|
||||
currentScore += 5;
|
||||
}
|
||||
|
||||
script = DONE;
|
||||
}
|
||||
|
||||
|
||||
if (script == 111) [ He dialed survey twice!
|
||||
{
|
||||
Print( 36);
|
||||
script = DONE;
|
||||
}
|
||||
|
||||
|
||||
if (script == 151) [ He dialed Sierra.
|
||||
{
|
||||
Print( 68);
|
||||
Print( 69);
|
||||
Print( 70);
|
||||
Print( 71);
|
||||
Print( 72);
|
||||
if (!dialedSierra)
|
||||
{
|
||||
Set( dialedSierra);
|
||||
currentScore += 5;
|
||||
}
|
||||
|
||||
script = DONE;
|
||||
}
|
||||
|
||||
|
||||
if (script == 201) [ Take the sex survey.
|
||||
{
|
||||
Print( 3);
|
||||
SetString( 6, 52); [ Blank 'em out.
|
||||
SetString( 7, 52);
|
||||
SetString( 8, 52);
|
||||
SetString( 9, 52);
|
||||
SetString( 10, 52);
|
||||
SetString( 11, 74); [ a NULL string.
|
||||
|
||||
Print( 4);
|
||||
if (monitorType != MONO)
|
||||
{
|
||||
ClearLines( 23, 23, BG_COLOR);
|
||||
GetString( 6, 53, 23, 0, 38);
|
||||
ClearLines( 23, 23, BG_COLOR);
|
||||
}
|
||||
else
|
||||
{
|
||||
GetString( 6, 52, 23, 0, 28);
|
||||
}
|
||||
if (CompareStrings( 11, 6))
|
||||
{
|
||||
Set( hungUpPhone);
|
||||
goto surveyDone;
|
||||
}
|
||||
|
||||
|
||||
Print( 5);
|
||||
if (monitorType != MONO)
|
||||
{
|
||||
ClearLines( 23, 23, BG_COLOR);
|
||||
GetString( 7, 53, 23, 0, 38);
|
||||
ClearLines( 23, 23, BG_COLOR);
|
||||
}
|
||||
else
|
||||
{
|
||||
GetString( 7, 52, 23, 0, 28);
|
||||
}
|
||||
if (CompareStrings( 11, 7))
|
||||
{
|
||||
Set( hungUpPhone);
|
||||
goto surveyDone;
|
||||
}
|
||||
|
||||
|
||||
Print( 6);
|
||||
if (monitorType != MONO)
|
||||
{
|
||||
ClearLines( 23, 23, BG_COLOR);
|
||||
GetString( 8, 53, 23, 0, 38);
|
||||
ClearLines( 23, 23, BG_COLOR);
|
||||
}
|
||||
else
|
||||
{
|
||||
GetString( 8, 52, 23, 0, 28);
|
||||
}
|
||||
if (CompareStrings( 11, 8))
|
||||
{
|
||||
Set( hungUpPhone);
|
||||
goto surveyDone;
|
||||
}
|
||||
|
||||
|
||||
Print( 7);
|
||||
if (monitorType != MONO)
|
||||
{
|
||||
ClearLines( 23, 23, BG_COLOR);
|
||||
GetString( 9, 53, 23, 0, 38);
|
||||
ClearLines( 23, 23, BG_COLOR);
|
||||
}
|
||||
else
|
||||
{
|
||||
GetString( 9, 52, 23, 0, 28);
|
||||
}
|
||||
if (CompareStrings( 11, 9))
|
||||
{
|
||||
Set( hungUpPhone);
|
||||
goto surveyDone;
|
||||
}
|
||||
|
||||
|
||||
Print( 8);
|
||||
if (monitorType != MONO)
|
||||
{
|
||||
ClearLines( 23, 23, BG_COLOR);
|
||||
GetString( 10, 53, 23, 0, 38);
|
||||
ClearLines( 23, 23, BG_COLOR);
|
||||
}
|
||||
else
|
||||
{
|
||||
GetString( 10, 52, 23, 0, 28);
|
||||
}
|
||||
if (CompareStrings( 11, 10))
|
||||
{
|
||||
Set( hungUpPhone);
|
||||
goto surveyDone;
|
||||
}
|
||||
|
||||
|
||||
|
||||
:surveyDone;
|
||||
if (hungUpPhone)
|
||||
{
|
||||
Reset( hungUpPhone);
|
||||
Print( 75);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 9);
|
||||
Set( answeredSurvey);
|
||||
if (!answeredSurveyFirstTime)
|
||||
{
|
||||
Set( answeredSurveyFirstTime);
|
||||
currentScore += 2;
|
||||
}
|
||||
}
|
||||
|
||||
Print( 10);
|
||||
Print( 11);
|
||||
script = DONE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (script == 211) [ He's back in the room. Ring phone
|
||||
{
|
||||
scriptTimer = 5;
|
||||
if (typing)
|
||||
{
|
||||
--script;
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 13);
|
||||
}
|
||||
}
|
||||
|
||||
if (script == 212)
|
||||
{
|
||||
scriptTimer = 5;
|
||||
if (typing)
|
||||
{
|
||||
--script;
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 14);
|
||||
}
|
||||
}
|
||||
|
||||
if (script == 213)
|
||||
{
|
||||
scriptTimer = 5;
|
||||
if (typing)
|
||||
{
|
||||
--script;
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 15);
|
||||
}
|
||||
}
|
||||
|
||||
if (script == 214)
|
||||
{
|
||||
scriptTimer = 5;
|
||||
if (typing)
|
||||
{
|
||||
--script;
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 16);
|
||||
}
|
||||
}
|
||||
|
||||
if (script == 215)
|
||||
{
|
||||
scriptTimer = 5;
|
||||
if (typing)
|
||||
{
|
||||
--script;
|
||||
}
|
||||
else
|
||||
{
|
||||
script = 210; [ keep repeating
|
||||
Print( 17);
|
||||
}
|
||||
}
|
||||
|
||||
if (script == 216)
|
||||
{
|
||||
Reset( answeredSurvey);
|
||||
if (!heardSurveyFirstTime)
|
||||
{
|
||||
Set( heardSurveyFirstTime);
|
||||
currentScore += 5;
|
||||
}
|
||||
|
||||
Print( 18);
|
||||
Print( 19);
|
||||
Print( 20);
|
||||
Print( 21);
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (script == DONE)
|
||||
{
|
||||
script = 0;
|
||||
Reset( handsOff);
|
||||
if (monitorType != MONO)
|
||||
{
|
||||
ClearLines( 23, 23, BG_COLOR);
|
||||
}
|
||||
StartMotion( ego);
|
||||
Reset( programControl);
|
||||
PreventInput();
|
||||
AcceptInput();
|
||||
Reset( soundDone);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
[*****
|
||||
:exit [ test for leaving the room
|
||||
[*****
|
||||
|
||||
Call( lgcStreet);
|
||||
|
||||
if (Said( call, operator))
|
||||
{
|
||||
Print( 40);
|
||||
}
|
||||
|
||||
if ((Said( make, call) ||
|
||||
Said( use, phone) ||
|
||||
Said( make, phone, call) ||
|
||||
Said( call, anyword))) [ Didn't call a cab!
|
||||
{
|
||||
Print( 37);
|
||||
}
|
||||
|
||||
if (edgeEgoHit == RIGHT) {newRoom = rmOutsideDisco;}
|
||||
if (edgeEgoHit == LEFT) {newRoom = rmDarkAlley;}
|
||||
if (edgeEgoHit == TOP)
|
||||
{
|
||||
if (egoX > 27)
|
||||
{
|
||||
newRoom = rmInside7_11;
|
||||
}
|
||||
else
|
||||
{
|
||||
newRoom = rmDarkAlley;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,261 @@
|
|||
[messages for room 22 -- rmOutside7_11
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"You are outside an all-night convenience store.
|
||||
There is a telephone on the pole.
|
||||
The portion of the telephone book that wasn't illegible from
|
||||
being water-soaked has been torn out."
|
||||
|
||||
%message 2
|
||||
"\"Slurp. Thanks, I needed that! See ya 'round!!\""
|
||||
|
||||
%message 3
|
||||
"\"Hello, you have reached the National Hot Line Sex Survey.
|
||||
Please answer the following questions.
|
||||
There may be a wonderful prize waiting for you!!\""
|
||||
|
||||
%message 4
|
||||
"\"What is the name of your favorite sex partner?\""
|
||||
|
||||
%message 5
|
||||
"\"What's the best part of your partner's anatomy?\""
|
||||
|
||||
%message 6
|
||||
"\"What do the two of you like to do together?\""
|
||||
|
||||
%message 7
|
||||
"\"What is the best part of your body?\""
|
||||
|
||||
%message 8
|
||||
"\"And, finally, name your partner's favorite object.\""
|
||||
|
||||
%message 9
|
||||
"\"Thanks for participating. Your prize is...\""
|
||||
|
||||
%message 10
|
||||
" \n
|
||||
\n
|
||||
\n"
|
||||
|
||||
%message 11
|
||||
"Hum. Looks like they hung up on you.
|
||||
Oh, well. It was probably a bummer prize anyway!"
|
||||
|
||||
%message 12
|
||||
"Where?!"
|
||||
|
||||
%message 13
|
||||
"\"Ring.\""
|
||||
|
||||
%message 14
|
||||
"\"Ring ring.\""
|
||||
|
||||
%message 15
|
||||
"\"Ring ring ring.\""
|
||||
|
||||
%message 16
|
||||
"\"Ring ring ring ring.\""
|
||||
|
||||
%message 17
|
||||
"How long are we going to do this before you type in \"answer phone?!\""
|
||||
|
||||
%message 18
|
||||
"You pick up the telephone, and hear a woman's voice."
|
||||
|
||||
%message 19
|
||||
"\"Hello, Larry! This is %s6. Why don't you forget this silly game,
|
||||
and come over to my place so we can %s8?\""
|
||||
|
||||
%message 20
|
||||
"\"After all, your %s9 has always turned me on! So bring along a %s10 and
|
||||
come play with my %s7! Bye, now.\""
|
||||
|
||||
%message 21
|
||||
"You hang up the telephone and wipe the sweat from your hands!"
|
||||
|
||||
%message 22
|
||||
"There are some numbers scribbled on the side of the telephone.
|
||||
The only thing legible (and printable) is: \"555-6969.\""
|
||||
|
||||
%message 23
|
||||
"\"Howsha 'bout a drink, Shonney?\""
|
||||
|
||||
%message 24
|
||||
"\"Why, thanshk, Shonney!\" (Glug, glug.)"
|
||||
|
||||
%message 25
|
||||
"\"I ain't got no remote control, but, sssshay, I'll tell ya what:
|
||||
here'ssh my trussshty ol' pocket knife.
|
||||
Ya never know!
|
||||
There are sssshome kinky girlssh in this town.
|
||||
Sssshexy hunkssh like ussh might have to defend oursshelves sometime!\""
|
||||
|
||||
%message 26
|
||||
"With that, he \"sssshtumbles\" off into the darkness."
|
||||
|
||||
%message 27
|
||||
"\"Got any sshhpare change, buddy?\""
|
||||
|
||||
%message 28
|
||||
"\"Al'right. Be that way!\""
|
||||
|
||||
%message 29
|
||||
"Cheezzzz! He makes that dog smell refreshing!"
|
||||
|
||||
%message 30
|
||||
"Please enter number: "
|
||||
|
||||
%message 31
|
||||
"You fish a dollar out of your wallet, and hand it to the bum.
|
||||
\"Gossshhh thanssskks, buddy,\" he says sarcastically.
|
||||
\"With all thisssh, maybe I can finally invessst in sssome mutual fundsssh!\""
|
||||
|
||||
%message 32
|
||||
"He looks like a man that could (ab)use a drink."
|
||||
|
||||
%message 33
|
||||
"There's nothing to see on this side of the pole."
|
||||
|
||||
%message 34
|
||||
"The store is open all night for your convenience.
|
||||
That's why they call it an \"all-night convenience store,\" Larry!"
|
||||
|
||||
%message 35
|
||||
"\"Why, thanshk, Shonney! Glug, glug.\""
|
||||
|
||||
%message 36
|
||||
"All you get is a busy signal."
|
||||
|
||||
%message 37
|
||||
"Try dialing the telephone."
|
||||
|
||||
%message 38
|
||||
"What's left is illegible."
|
||||
|
||||
%message 39
|
||||
"Try answering the telephone."
|
||||
|
||||
%message 40
|
||||
"It's not that easy; you'll have to find the correct telephone
|
||||
number yourself!"
|
||||
|
||||
%message 41
|
||||
"Give him the bottle of what?"
|
||||
|
||||
%message 42
|
||||
"\"I'm sorry, but you have reached a number that is disconnected, or
|
||||
no longer in service. Please hang up and dial again.\""
|
||||
|
||||
%message 43
|
||||
"\"This is a computer.\""
|
||||
|
||||
%message 44
|
||||
"\"Hello. Ajax Liquor Store. We deliver!\""
|
||||
|
||||
%message 45
|
||||
"\"So, what do you want to buy?\""
|
||||
|
||||
%message 46
|
||||
"\"Fine. Where do you want it delivered?\""
|
||||
|
||||
%message 47
|
||||
"\"Ok. We'll get it right there. Consider it done, and thanks for
|
||||
calling!\""
|
||||
|
||||
%message 48
|
||||
"\"Well, ok. Have ya got any spare wine, then?\""
|
||||
|
||||
%message 49
|
||||
"You find a strong aroma, which you allow him to keep!"
|
||||
|
||||
%message 50
|
||||
"It's not ringing."
|
||||
|
||||
%message 51
|
||||
"\"Hello.\""
|
||||
|
||||
%message 52 [ This must REMAIN a single blank!
|
||||
" "
|
||||
|
||||
%message 53 [ The phony prompt.
|
||||
"]"
|
||||
|
||||
%message 54
|
||||
"\"Sorry, by law all we can deliver is wine. Ok, talk to ya again
|
||||
sometime. Bye!\""
|
||||
|
||||
%message 55
|
||||
"\"Ok, I'll take it there, but I doubt if you ever see it! Bye!\""
|
||||
|
||||
%message 56
|
||||
"555-8039"
|
||||
|
||||
%message 57
|
||||
"5558039"
|
||||
|
||||
%message 58
|
||||
"555-6969"
|
||||
|
||||
%message 59
|
||||
"5556969"
|
||||
|
||||
%message 60
|
||||
"(209) 683-6858"
|
||||
|
||||
%message 61
|
||||
"209 683-6858"
|
||||
|
||||
%message 62
|
||||
"209 683-6858"
|
||||
|
||||
%message 63
|
||||
"2096836858"
|
||||
|
||||
%message 64
|
||||
"209683-6858"
|
||||
|
||||
%message 65
|
||||
"209 6836858"
|
||||
|
||||
%message 66
|
||||
"You could see better if you'd walk inside."
|
||||
|
||||
%message 67
|
||||
"It IS open."
|
||||
|
||||
%message 68
|
||||
"\"Hello,\" a pleasant voice responds. \"Sierra On-Line.\""
|
||||
|
||||
%message 69
|
||||
"\"We're not open right now, but if you'd call during business hours
|
||||
(and stop using this pretend telephone),
|
||||
we would be happy to sell you a 'Leisure Suit Larry Hint Book.'\""
|
||||
|
||||
%message 70
|
||||
"\"Written by Al Lowe, the author of Leisure Suit Larry,
|
||||
you know it at least tries to be humorous.
|
||||
The answers are invisible, until you mark them with the special pen provided,
|
||||
so you never have to worry about inadvertently learning something
|
||||
you didn't want to know.\""
|
||||
|
||||
%message 71
|
||||
"\"Thank you for calling Sierra On-Line, and for your purchase of
|
||||
'Leisure Suit Larry in the Land of the Lounge Lizards.' Good bye.\""
|
||||
|
||||
%message 72
|
||||
"Such blatant commercialism turns you on.
|
||||
You make a mental note to purchase one of those great,
|
||||
Al Lowe Hint Books!"
|
||||
|
||||
%message 73
|
||||
"Now?!"
|
||||
|
||||
%message 74 "" [MUST REMAIN A NULL STRING!!
|
||||
|
||||
%message 75
|
||||
"\"I guess that means you don't want to take the survey!\""
|
||||
|
|
@ -0,0 +1,357 @@
|
|||
[logics for room 23 -- rmOutsideDisco
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "rm23.msg"
|
||||
%include "gamedefs.h"
|
||||
|
||||
|
||||
|
||||
%define nearBouncer lf0
|
||||
%define readMessage lf1
|
||||
%define preventBouncer lf2
|
||||
%define stopBouncer lf3
|
||||
%define bouncerWorking lf4
|
||||
|
||||
%object aSign1 1
|
||||
%object aSign2 2
|
||||
%object aSign3 3
|
||||
%object aBouncer 4
|
||||
|
||||
|
||||
|
||||
if (initLog)
|
||||
{
|
||||
if (watchHours > 4 && [ Anything after 5 am.
|
||||
watchHours < 10)
|
||||
{
|
||||
NewRoom( rmSunrise);
|
||||
}
|
||||
|
||||
SetHorizon( 76);
|
||||
|
||||
LoadLogics( lgcStreet);
|
||||
|
||||
LoadPic( currentRoom);
|
||||
DrawPic( currentRoom);
|
||||
DiscardPic( currentRoom);
|
||||
|
||||
LoadView( vDiscoExterior);
|
||||
LoadView( vDiscoBouncer);
|
||||
|
||||
if (slowProcessor)
|
||||
{
|
||||
AddToPic( vDiscoExterior, 0, 1, 64, 59, 15, 4);
|
||||
[view, loop, cel, x, y, obj priority, box priority
|
||||
}
|
||||
else
|
||||
{
|
||||
AnimateObj( aSign1);
|
||||
IgnoreHorizon( aSign1);
|
||||
SetView( aSign1, vDiscoExterior);
|
||||
SetLoop( aSign1, 0);
|
||||
Position( aSign1, 64, 59);
|
||||
SetPriority( aSign1, 15);
|
||||
Draw( aSign1);
|
||||
}
|
||||
|
||||
AnimateObj( aSign2);
|
||||
IgnoreHorizon( aSign2);
|
||||
SetView( aSign2, vDiscoExterior);
|
||||
SetLoop( aSign2, 1);
|
||||
SetCel( aSign2, 0);
|
||||
Position( aSign2, 39, 66);
|
||||
CycleTime( aSign2, two);
|
||||
Draw( aSign2);
|
||||
|
||||
AnimateObj( aSign3);
|
||||
IgnoreHorizon( aSign3);
|
||||
SetView( aSign3, vDiscoExterior);
|
||||
SetLoop( aSign3, 1);
|
||||
SetCel( aSign3, 1);
|
||||
Position( aSign3, 103, 66);
|
||||
CycleTime( aSign3, two);
|
||||
Draw( aSign3);
|
||||
|
||||
AnimateObj( aBouncer);
|
||||
IgnoreBlocks( aBouncer);
|
||||
SetView( aBouncer, vDiscoBouncer);
|
||||
SetCel( aBouncer, 0);
|
||||
|
||||
if (previousRoom == rmInsideDisco)
|
||||
{
|
||||
IgnoreBlocks( ego);
|
||||
Set( preventBouncer);
|
||||
Position( aBouncer, 73, 120);
|
||||
|
||||
egoX = 77;
|
||||
egoY = 83;
|
||||
}
|
||||
else
|
||||
{
|
||||
Position( aBouncer, 76, 120);
|
||||
ObserveBlocks( ego);
|
||||
|
||||
if (previousRoom != rmOutside7_11 &&
|
||||
previousRoom != rmDarkAlley)
|
||||
{
|
||||
egoX = 77;
|
||||
egoY = 146;
|
||||
}
|
||||
}
|
||||
PositionV( ego, egoX, egoY);
|
||||
Draw( ego);
|
||||
|
||||
Draw( aBouncer);
|
||||
StopUpdate( aBouncer);
|
||||
|
||||
Call( lgcStreet);
|
||||
|
||||
ShowPic( );
|
||||
|
||||
Return( );
|
||||
|
||||
} [ end initLOG
|
||||
|
||||
|
||||
|
||||
Reset( nearBouncer);
|
||||
if (Posn( ego, 65, 120, 91, 127))
|
||||
{
|
||||
Set( nearBouncer);
|
||||
Set( nearPerson);
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:handleInput
|
||||
[*****
|
||||
|
||||
if (!haveInput) {goto noInput;}
|
||||
|
||||
if ((Said( look) ||
|
||||
Said( look, building) ||
|
||||
Said( look, room) ||
|
||||
Said( look, disco)))
|
||||
{
|
||||
Print( 1);
|
||||
}
|
||||
|
||||
if (Said( look, light))
|
||||
{
|
||||
Print( 16);
|
||||
}
|
||||
|
||||
if (Said( look, fireplug))
|
||||
{
|
||||
Print( 24);
|
||||
}
|
||||
|
||||
if (Said( look, building))
|
||||
{
|
||||
Print( 14);
|
||||
Print( 15);
|
||||
}
|
||||
|
||||
|
||||
|
||||
[ Here's the bouncer's stuff:
|
||||
|
||||
if ((Said( talk, man) ||
|
||||
Said( talk)))
|
||||
{
|
||||
if (!nearBouncer)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (preventBouncer)
|
||||
{
|
||||
Print( 7);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 2);
|
||||
Print( 5);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( look, man) ||
|
||||
Said( look)))
|
||||
{
|
||||
if (preventBouncer)
|
||||
{
|
||||
Print( 10);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 11);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( move, man) ||
|
||||
Said( push, man)))
|
||||
{
|
||||
if (!nearBouncer)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 17);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((Said( hit, man) ||
|
||||
Said( kill, man)))
|
||||
{
|
||||
Print( 12);
|
||||
Print( 13);
|
||||
}
|
||||
|
||||
if ((Said( offer, bouncer, money) ||
|
||||
Said( offer, money, bouncer) ||
|
||||
Said( bribe, bouncer)))
|
||||
{
|
||||
if (!nearBouncer)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 22);
|
||||
Print( 23);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( buy, card, from, man) ||
|
||||
Said( pay, man) ||
|
||||
Said( ask, man, about, card) ||
|
||||
Said( ask, man, card)))
|
||||
{
|
||||
if (!nearBouncer)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 20);
|
||||
Print( 21);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( show, pass) ||
|
||||
Said( give, pass, man) ||
|
||||
Said( give, man, pass) ||
|
||||
Said( give, pass) ||
|
||||
Said( show, man, pass) ||
|
||||
Said( show, pass, man)))
|
||||
{
|
||||
if (!Has( iDiscoPass))
|
||||
{
|
||||
Print( 6);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!nearBouncer)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (preventBouncer)
|
||||
{
|
||||
Print( 8);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 4);
|
||||
Print( 3);
|
||||
Set( preventBouncer);
|
||||
StartUpdate( aBouncer);
|
||||
SetCel( aBouncer, 0);
|
||||
RepositionTo( aBouncer, 73, 120);
|
||||
StopUpdate( aBouncer);
|
||||
ForceUpdate( aBouncer);
|
||||
IgnoreBlocks( ego);
|
||||
if (!shownPassToBouncer)
|
||||
{
|
||||
Set( shownPassToBouncer);
|
||||
currentScore += 5;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
[ Errors, but still I'm gracious enough to handle them...
|
||||
|
||||
if ((Said( open, door) ||
|
||||
Said( knock) ||
|
||||
Said( knock, on, door) ||
|
||||
Said( knock, door)))
|
||||
{
|
||||
if (nearTaxi)
|
||||
{
|
||||
Reset( haveMatch);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 19);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:noInput
|
||||
[*****
|
||||
|
||||
if (!preventBouncer)
|
||||
{
|
||||
if (nearBouncer && !bouncerWorking)
|
||||
{
|
||||
Set( bouncerWorking);
|
||||
StartUpdate( aBouncer);
|
||||
EndOfLoop( aBouncer, stopBouncer);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!nearBouncer && bouncerWorking)
|
||||
{
|
||||
Reset( bouncerWorking);
|
||||
SetCel( aBouncer, 0);
|
||||
ForceUpdate( aBouncer);
|
||||
Set( stopBouncer);
|
||||
}
|
||||
}
|
||||
|
||||
if (stopBouncer)
|
||||
{
|
||||
Reset( stopBouncer);
|
||||
StopUpdate( aBouncer);
|
||||
|
||||
if (!readMessage)
|
||||
{
|
||||
Set( readMessage);
|
||||
Print( 9);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
[*****
|
||||
:exit [ test for leaving the room
|
||||
[*****
|
||||
|
||||
Call( lgcStreet);
|
||||
|
||||
if (edgeEgoHit == LEFT) {newRoom = rmOutside7_11;}
|
||||
if (edgeEgoHit == TOP) {newRoom = rmInsideDisco;}
|
||||
if (edgeEgoHit == RIGHT) {newRoom = rmDarkAlley;}
|
|
@ -0,0 +1,89 @@
|
|||
[messages for room 23 -- rmOutsideDisco
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"You are outside a flashy disco. The bouncer does not look happy."
|
||||
|
||||
%message 2
|
||||
"\"Either show your membership card, or get lost, Scum-Breath!\""
|
||||
|
||||
%message 3
|
||||
"\"Good evening, Sir. I'm so sorry I didn't recognize you sooner.
|
||||
Please, come right in!!\""
|
||||
|
||||
%message 4
|
||||
"You whip out your \"borrowed\" membership card, and lay it on him."
|
||||
|
||||
%message 5
|
||||
"It seems he's uninterested in idle chit-chat, Larry."
|
||||
|
||||
%message 6
|
||||
"You don't have a membership card!"
|
||||
|
||||
%message 7
|
||||
"\"We hope you enjoyed your visit tonight, Sir!\""
|
||||
|
||||
%message 8
|
||||
"\"Oh, there's no need to do that, Sir!\" says the bouncer."
|
||||
|
||||
%message 9
|
||||
"\"HALT!!\n\n
|
||||
I'm sorry, Sir,\" says the bouncer, \"but this is a private club.\""
|
||||
|
||||
%message 10
|
||||
"He seems glad to see you leave."
|
||||
|
||||
%message 11
|
||||
"He's physically well-developed,
|
||||
but you bet he's not as wise in the ways of women as you are."
|
||||
|
||||
%message 12
|
||||
"Larry! How could you!"
|
||||
|
||||
%message 13
|
||||
"You know he'd beat you to a pulp!"
|
||||
|
||||
%message 14
|
||||
"Gazing up at the storefronts before you, a feeling comes over you.
|
||||
Surely every one of those windows has a deep,
|
||||
wonderful story hidden behind it.
|
||||
There are millions of stories here in Lost Wages,
|
||||
but you'll never know any of them.
|
||||
Such is the fate of those who are morally-weak,
|
||||
but financially-strong."
|
||||
|
||||
%message 15
|
||||
"(What the hell was that all about????)"
|
||||
|
||||
%message 16
|
||||
"Gaudy, aren't they?"
|
||||
|
||||
%message 17
|
||||
"He's far too strong for you, Larry."
|
||||
|
||||
%message 18
|
||||
""
|
||||
|
||||
%message 19
|
||||
"All the stores are locked. But, that disco sure looks inviting."
|
||||
|
||||
%message 20
|
||||
"\"You can only get a card if you already have a card,\" he laughs,
|
||||
\"but then, of course, you wouldn't NEED a card.\""
|
||||
|
||||
%message 21
|
||||
"\"So, beat it, Chump!\""
|
||||
|
||||
%message 22
|
||||
"\"How's about a little green sliding across your palm?\"
|
||||
you ask the bouncer."
|
||||
|
||||
%message 23
|
||||
"\"How's about your rear end sliding across the pavement?\" he replies."
|
||||
|
||||
%message 24
|
||||
"Why does the dog use you, and not it?"
|
||||
|
|
@ -0,0 +1,898 @@
|
|||
[logics for room 24 -- rmInsideDisco
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "rm24.msg"
|
||||
%include "gamedefs.h"
|
||||
|
||||
|
||||
[ must be seated to see closeup of face, and give her stuff.
|
||||
[ normal cel if nothing happens, else happy cel if gift, or said something
|
||||
[nice. "Pouty" face if said something nasty, or bad breath.
|
||||
[ To return to long shot, say leave table, or dance with Fawn
|
||||
|
||||
[ if says something rude, add.to.pic mean look, change rooms, and she walks
|
||||
[away. He has to leave, then enter again.
|
||||
|
||||
|
||||
|
||||
|
||||
[ %flag gaveFawnFlowers 71 [ These are pertinent globals.
|
||||
[ %flag gaveFawnCandy 72
|
||||
[ %flag gaveFawnRing 73
|
||||
[ %flag dancedWithFawn 74
|
||||
|
||||
#define L_DANCE_FLOOR 0
|
||||
#define L_LIGHTS 1
|
||||
|
||||
#define TALK_TIME 4
|
||||
|
||||
#define L_FAWN_SITTING 0
|
||||
#define L_EGO_SITTING 1
|
||||
|
||||
#define L_HEAD_RIGHT 1
|
||||
#define L_HEAD_UP 2
|
||||
|
||||
%define cutToLongShot lf0
|
||||
%define nearChair lf1
|
||||
%define nearFawn lf2
|
||||
%define fawnAtTable lf3
|
||||
%define fawnCycling lf4
|
||||
%define lookingAtFawn lf5
|
||||
%define fawnOnDanceFloor lf6
|
||||
%define cutToCloseup lf8
|
||||
%define nearFawnChair lf10
|
||||
%define fawnLeaving lf11
|
||||
%define fawnScriptDone lf12
|
||||
%define turnHeadsToFloor lf13
|
||||
%define turnHeadsToTable lf14
|
||||
|
||||
|
||||
%define fawnCycles lv0
|
||||
%define fawnScript lv8
|
||||
|
||||
|
||||
%object aFloor 1
|
||||
%object aLights 2
|
||||
%object aFawn 5
|
||||
|
||||
|
||||
|
||||
if (initLog)
|
||||
{
|
||||
SetHorizon( 1);
|
||||
AcceptInput();
|
||||
|
||||
LoadPic( currentRoom);
|
||||
DrawPic( currentRoom);
|
||||
DiscardPic( currentRoom);
|
||||
|
||||
LoadView( vEgo);
|
||||
LoadView( vEgoAndFawnSitting);
|
||||
LoadView( vDiscoCustomers);
|
||||
LoadView( vFawn);
|
||||
|
||||
|
||||
[ Add the tables, and customer-bodies.
|
||||
AddToPic( vDiscoCustomers, 0, 0, 115, 120, 11, 0);
|
||||
AddToPic( vDiscoCustomers, 0, 1, 24, 132, 0, 0);
|
||||
AddToPic( vDiscoCustomers, 0, 2, 24, 159, 0, 0);
|
||||
AddToPic( vDiscoCustomers, 0, 3, 105, 108, 4, 4);
|
||||
AddToPic( vDiscoCustomers, 0, 4, 49, 158, 0, 0);
|
||||
AddToPic( vDiscoCustomers, 0, 5, 98, 108, 4, 4);
|
||||
[view, loop, cel, x, y, obj priority, box priority
|
||||
|
||||
[ Add the customers-heads.
|
||||
AddToPic( vDiscoCustomers, L_HEAD_RIGHT, 1, 24, 112, 12, 4);
|
||||
AddToPic( vDiscoCustomers, L_HEAD_RIGHT, 2, 24, 139, 14, 4);
|
||||
AddToPic( vDiscoCustomers, L_HEAD_RIGHT, 3, 105, 89, 4, 4);
|
||||
AddToPic( vDiscoCustomers, L_HEAD_RIGHT, 4, 49, 138, 14, 4);
|
||||
AddToPic( vDiscoCustomers, L_HEAD_RIGHT, 5, 98, 90, 4, 4);
|
||||
|
||||
|
||||
if (makeFawnDance) [ This is it!
|
||||
{
|
||||
LoadSound( mDisco);
|
||||
LoadView( vEgoDiscoing1);
|
||||
LoadView( vEgoDiscoing2);
|
||||
LoadView( vEgoFlingingFawn);
|
||||
LoadView( vFawnDancing);
|
||||
LoadView( vDiscoInterior);
|
||||
|
||||
AnimateObj( aFloor);
|
||||
IgnoreBlocks( aFloor);
|
||||
IgnoreObjs( aFloor);
|
||||
SetView( aFloor, vDiscoInterior);
|
||||
SetLoop( aFloor, L_DANCE_FLOOR);
|
||||
SetCel( aFloor, 0);
|
||||
Position( aFloor, 34, 123);
|
||||
SetPriority( aFloor, 3);
|
||||
|
||||
AnimateObj( aLights);
|
||||
SetView( aLights, vDiscoInterior);
|
||||
SetLoop( aLights, L_LIGHTS);
|
||||
SetPriority( aLights, 15);
|
||||
Position( aLights, 47, 24);
|
||||
}
|
||||
|
||||
|
||||
AnimateObj( aFawn);
|
||||
SetView( aFawn, vFawn);
|
||||
ReleasePriority( aFawn);
|
||||
StartCycling( aFawn);
|
||||
CycleTime( aFawn, one);
|
||||
Position( aFawn, 130, 122);
|
||||
|
||||
if (!gaveFawnEverything &&
|
||||
!noFawnInDisco &&
|
||||
!makeFawnDance &&
|
||||
!makeFawnSplit) [ Sit her ass down!
|
||||
{
|
||||
Set( fawnAtTable);
|
||||
SetView( aFawn, vEgoAndFawnSitting);
|
||||
SetLoop( aFawn, L_FAWN_SITTING);
|
||||
SetPriority( aFawn, 11);
|
||||
Position( aFawn, 129, 119);
|
||||
Draw( aFawn);
|
||||
CycleTime( aFawn, two);
|
||||
StopCycling( aFawn);
|
||||
Random( 22, 44, fawnCycles);
|
||||
}
|
||||
|
||||
|
||||
if (previousRoom == rmFawnCloseup)
|
||||
{
|
||||
SetView( ego, vEgoAndFawnSitting);
|
||||
SetLoop( ego, L_EGO_SITTING);
|
||||
SetPriority( ego, 11);
|
||||
StopMotion( ego);
|
||||
Set( programControl);
|
||||
currentStatus = SITTING;
|
||||
egoX = 116;
|
||||
egoY = 119;
|
||||
|
||||
if (makeFawnSplit)
|
||||
{
|
||||
Reset( makeFawnSplit);
|
||||
Draw( aFawn);
|
||||
|
||||
Set( fawnScriptDone);
|
||||
fawnScript = 100;
|
||||
fawnCycles = 0;
|
||||
}
|
||||
|
||||
if (makeFawnDance)
|
||||
{
|
||||
Reset( makeFawnDance);
|
||||
Draw( aFawn);
|
||||
|
||||
Set( scriptDone);
|
||||
script = 3;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
moneyTimer = 0;
|
||||
egoX = 76;
|
||||
egoY = 167;
|
||||
}
|
||||
PositionV( ego, egoX, egoY);
|
||||
Draw( ego);
|
||||
|
||||
ShowPic( );
|
||||
|
||||
Return( );
|
||||
|
||||
} [ end initLOG
|
||||
|
||||
|
||||
|
||||
Reset( nearChair);
|
||||
if (Posn( ego, 112, 121, 123, 124))
|
||||
{
|
||||
Set( nearChair);
|
||||
}
|
||||
|
||||
Reset( nearFawnChair);
|
||||
if (Posn( ego, 124, 121, 141, 124))
|
||||
{
|
||||
Set( nearFawnChair);
|
||||
}
|
||||
|
||||
Reset( nearFawn);
|
||||
if (fawnAtTable)
|
||||
{
|
||||
if ((currentStatus == SITTING ||
|
||||
Posn( ego, 120, 112, 142, 130)))
|
||||
{
|
||||
Set( nearFawn);
|
||||
Set( nearPerson);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
[*****
|
||||
:handleInput
|
||||
[*****
|
||||
|
||||
if (!haveInput) {goto noInput;}
|
||||
|
||||
if ((Said( sit) || [ Can only sit or stand if
|
||||
Said( sit, with, girl, rol) || [ Fawn baby is dancing.
|
||||
Said( sit, down, rol) ||
|
||||
Said( sit, chair, rol) ||
|
||||
Said( sit, table, rol)))
|
||||
{
|
||||
if (currentStatus == SITTING)
|
||||
{
|
||||
Print( 38);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (nearFawnChair)
|
||||
{
|
||||
if (!fawnAtTable)
|
||||
{
|
||||
Print( 62);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 66);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!nearChair)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!fawnAtTable)
|
||||
{
|
||||
Print( 53);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (satWithFawn)
|
||||
{
|
||||
Set( OK);
|
||||
}
|
||||
else
|
||||
{
|
||||
Set( satWithFawn);
|
||||
currentScore += 1;
|
||||
Print( 29);
|
||||
Print( 30);
|
||||
Print( 31);
|
||||
}
|
||||
}
|
||||
|
||||
SetView( ego, vEgoAndFawnSitting);
|
||||
SetLoop( ego, L_EGO_SITTING);
|
||||
RepositionTo( ego, 116, 119);
|
||||
SetPriority( ego, 11);
|
||||
ForceUpdate( ego);
|
||||
StopMotion( ego);
|
||||
Set( programControl);
|
||||
currentStatus = SITTING;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((Said( stand) ||
|
||||
Said( get$up, rol) ||
|
||||
Said( get, off, chair) ||
|
||||
Said( stop, looking, fawn) ||
|
||||
Said( look, away) ||
|
||||
Said( look, away, from, fawn) ||
|
||||
Said( leave, rol) ||
|
||||
Said( stand, up, rol)))
|
||||
{
|
||||
if (currentStatus != SITTING)
|
||||
{
|
||||
Print( 39);
|
||||
}
|
||||
else
|
||||
{
|
||||
Set( OK);
|
||||
Set( makeEgoRise);
|
||||
}
|
||||
}
|
||||
|
||||
if (!haveMatch &&
|
||||
fawnOnDanceFloor) [ This catches all other messages
|
||||
{ [ if Fawn is dancing.
|
||||
Print( 2);
|
||||
Set( haveMatch);
|
||||
}
|
||||
|
||||
|
||||
|
||||
if ((Said( order, drink) ||
|
||||
Said( buy, whiskey) ||
|
||||
Said( buy, wine) ||
|
||||
Said( buy, booze) ||
|
||||
Said( buy, girl, drink)))
|
||||
{
|
||||
Print( 57);
|
||||
}
|
||||
|
||||
if ((Said( talk, men) ||
|
||||
Said( talk, man)))
|
||||
{
|
||||
Print( 63);
|
||||
}
|
||||
|
||||
if (fawnAtTable &&
|
||||
(Said( look, fawn, rol) ||
|
||||
Said( establish$eye$contact, rol)))
|
||||
{
|
||||
if (script)
|
||||
{
|
||||
Print( 6);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (currentStatus != SITTING)
|
||||
{
|
||||
Print( 44);
|
||||
}
|
||||
else
|
||||
{
|
||||
Set( cutToCloseup);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (noFawnInDisco)
|
||||
{
|
||||
if (Said( dance, rol))
|
||||
{
|
||||
Print( 54);
|
||||
}
|
||||
|
||||
if ((Said( girl, rol) ||
|
||||
Said( anyword, girl, rol)))
|
||||
{
|
||||
Print( 55);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( look) ||
|
||||
Said( look, room) ||
|
||||
Said( look, tables) ||
|
||||
Said( look, tables) ||
|
||||
Said( look, disco)))
|
||||
{
|
||||
if (nearFawn)
|
||||
{
|
||||
Print( 61);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 1);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( look, dance, floor) ||
|
||||
Said( look, floor)))
|
||||
{
|
||||
Print( 40);
|
||||
}
|
||||
|
||||
if ((Said( look, men) ||
|
||||
Said( look, man)))
|
||||
{
|
||||
if (noFawnInDisco)
|
||||
{
|
||||
Print( 5);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 41);
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( look, dj))
|
||||
{
|
||||
Print( 42);
|
||||
}
|
||||
|
||||
if (fawnAtTable)
|
||||
{
|
||||
if ((Said( talk, fawn) ||
|
||||
Said( say, anyword, fawn)))
|
||||
{
|
||||
if (currentStatus != SITTING)
|
||||
{
|
||||
Print( 44);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 45);
|
||||
}
|
||||
}
|
||||
|
||||
if (nearFawn &&
|
||||
(Said( touch, faith, rol) ||
|
||||
Said( eat, faith, rol) ||
|
||||
Said( hump, faith, rol) ||
|
||||
Said( kiss, faith, rol) ||
|
||||
Said( touch, tit, rol)))
|
||||
{
|
||||
Print( 60);
|
||||
}
|
||||
|
||||
if ((Said( dance) ||
|
||||
Said( dance, fawn) ||
|
||||
Said( dance, me) ||
|
||||
Said( dance, with, me) ||
|
||||
Said( dance, with, fawn) ||
|
||||
Said( you, dance, fawn) ||
|
||||
Said( you, dance, me) ||
|
||||
Said( you, dance, with, me) ||
|
||||
Said( you, dance, with, fawn) ||
|
||||
Said( enjoy, dance) ||
|
||||
Said( enjoy, dance, with, me) ||
|
||||
Said( you, enjoy, dance, rol) ||
|
||||
Said( ask, dance, fawn) ||
|
||||
Said( ask, fawn, dance) ||
|
||||
Said( ask, fawn, dance, rol) ||
|
||||
Said( start, dance)))
|
||||
{
|
||||
if (dancedWithFawn)
|
||||
{
|
||||
Print( 59);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (currentStatus != SITTING)
|
||||
{
|
||||
Print( 44);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 45);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((Said( give, fawn, rose) ||
|
||||
Said( give, rose, fawn)))
|
||||
{
|
||||
if (!Has( iRose))
|
||||
{
|
||||
Set( dontHaveIt);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (currentStatus != SITTING)
|
||||
{
|
||||
Print( 44);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 45);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((Said( give, fawn, candy) ||
|
||||
Said( give, candy, fawn)))
|
||||
{
|
||||
if (!Has( iCandy))
|
||||
{
|
||||
Set( dontHaveIt);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (currentStatus != SITTING)
|
||||
{
|
||||
Print( 44);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 45);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((Said( give, fawn, ring) ||
|
||||
Said( give, ring, fawn)))
|
||||
{
|
||||
if (!Has( iRing))
|
||||
{
|
||||
Set( dontHaveIt);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (currentStatus != SITTING)
|
||||
{
|
||||
Print( 44);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 45);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((Said( give, fawn, money) ||
|
||||
Said( give, one, money, fawn) ||
|
||||
Said( give, fawn, one, dollars) || [ this makes one hundred work
|
||||
Said( give, money, fawn)))
|
||||
{
|
||||
if (currentStatus != SITTING)
|
||||
{
|
||||
Print( 44);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 45);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
[*****
|
||||
:noInput
|
||||
[*****
|
||||
|
||||
if (makeEgoRise)
|
||||
{
|
||||
Reset( makeEgoRise);
|
||||
SetView( ego, vEgo);
|
||||
SetLoop( ego, FACING_RIGHT);
|
||||
RepositionTo( ego, 116, 121);
|
||||
ReleasePriority( ego);
|
||||
StartMotion( ego);
|
||||
Reset( programControl);
|
||||
currentStatus = NORMAL;
|
||||
}
|
||||
|
||||
|
||||
if (script == 6 && onWater) [ Larry finally got out there!
|
||||
{
|
||||
Set( scriptDone);
|
||||
}
|
||||
|
||||
|
||||
if (aSecondPassed)
|
||||
{
|
||||
--moneyTimer;
|
||||
if (moneyTimer == 15)
|
||||
{
|
||||
Print( 21);
|
||||
}
|
||||
|
||||
if (moneyTimer == 1)
|
||||
{
|
||||
Print( 22);
|
||||
Set( noFawnInDisco); [ She's pissed.
|
||||
Set( fawnScriptDone);
|
||||
fawnScript = 100;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (scriptDone)
|
||||
{
|
||||
Reset( scriptDone);
|
||||
++script;
|
||||
|
||||
if (script == 4)
|
||||
{
|
||||
MoveObj( aFawn, 97, 143, 1, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 5)
|
||||
{
|
||||
MoveObj( aFawn, 67, 113, 1, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 6) [ She's on the dance floor.
|
||||
{
|
||||
Set( fawnOnDanceFloor);
|
||||
Set( turnHeadsToFloor);
|
||||
ObjectOnWater( aFawn);
|
||||
SetView( aFawn, vFawnDancing);
|
||||
Wander( aFawn);
|
||||
|
||||
Draw( aFloor);
|
||||
Draw( aLights);
|
||||
Set( musicDone);
|
||||
|
||||
if (!onWater) [ Larry's lagging behind
|
||||
{
|
||||
Print( 8);
|
||||
}
|
||||
else
|
||||
{
|
||||
script = 7;
|
||||
}
|
||||
}
|
||||
|
||||
if (script == 7) [ Larry finally got there, too.
|
||||
{
|
||||
ObserveObjs( aFawn);
|
||||
Set( handsOff);
|
||||
Set( keepCycling);
|
||||
SetView( ego, vEgoDiscoing1);
|
||||
Set( programControl);
|
||||
PreventInput();
|
||||
Wander( ego);
|
||||
currentStatus = DANCING;
|
||||
scriptTimer = 10; [ Dance a while.
|
||||
}
|
||||
|
||||
if (script == 8) [ Get Larry in place for the toss.
|
||||
{
|
||||
MoveObj( ego, 53, 110, 1, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 9) [ Get her in place, too.
|
||||
{
|
||||
IgnoreObjs( aFawn);
|
||||
MoveObj( aFawn, 58, 110, 1, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 10) [ Grab her, and toss her.
|
||||
{
|
||||
SetView( ego, vEgoFlingingFawn);
|
||||
SetLoop( ego, 0);
|
||||
SetCel( ego, 0);
|
||||
RepositionTo( ego, 50, 110);
|
||||
CycleTime( ego, three);
|
||||
EndOfLoop( ego, scriptDone);
|
||||
|
||||
Erase( aFawn);
|
||||
ObjectOnAnything( aFawn);
|
||||
SetView( aFawn, vEgoFlingingFawn);
|
||||
SetLoop( aFawn, 1);
|
||||
FixLoop( aFawn);
|
||||
SetCel( aFawn, 0);
|
||||
StopCycling( aFawn);
|
||||
Position( aFawn, 50, 80); [ draw later
|
||||
}
|
||||
|
||||
if (script == 11) [ Draw her over his head. Go up!
|
||||
{
|
||||
SetLoop( ego, 2);
|
||||
CycleTime( ego, one);
|
||||
|
||||
Draw( aFawn);
|
||||
MoveObj( aFawn, 50, 16, 6, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 12) [She's in ceiling. He can let loose.
|
||||
{
|
||||
SetView( ego, vEgoDiscoing2);
|
||||
Wander( ego);
|
||||
|
||||
Erase( aFawn);
|
||||
SetCel( aFawn, 1);
|
||||
scriptTimer = 12;
|
||||
}
|
||||
|
||||
if (script == 13) [ Get in place for the catch.
|
||||
{
|
||||
MoveObj( ego, 53, 110, 1, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 14) [ Here she comes!
|
||||
{
|
||||
SetView( ego, vEgoFlingingFawn);
|
||||
SetLoop( ego, 2);
|
||||
RepositionTo( ego, 50, 110);
|
||||
|
||||
Draw( aFawn);
|
||||
MoveObj( aFawn, 50, 80, 6, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 15) [ Got her!!
|
||||
{
|
||||
SetLoop( ego, 0);
|
||||
LastCel( ego, work);
|
||||
SetCelV( ego, work);
|
||||
BeginningOfLoop( ego, scriptDone);
|
||||
|
||||
Erase( aFawn);
|
||||
ObjectOnWater( aFawn);
|
||||
SetView( aFawn, vFawnDancing);
|
||||
ReleaseLoop( aFawn);
|
||||
StartCycling( aFawn);
|
||||
Position( aFawn, 59, 110);
|
||||
ObserveObjs( aFawn);
|
||||
}
|
||||
|
||||
if (script == 16) [ Dance together a little while.
|
||||
{
|
||||
SetView( ego, vEgoDiscoing1);
|
||||
RepositionTo( ego, 51, 110);
|
||||
Wander( ego);
|
||||
|
||||
Draw( aFawn);
|
||||
Wander( aFawn);
|
||||
scriptTimer = 8;
|
||||
}
|
||||
|
||||
if (script == 17) [ It's over.
|
||||
{
|
||||
StopUpdate( aFloor);
|
||||
Erase( aLights);
|
||||
StopSound();
|
||||
Reset( musicDone);
|
||||
|
||||
Reset( keepCycling);
|
||||
SetView( ego, vEgo);
|
||||
NormalMotion( ego);
|
||||
StartMotion( ego);
|
||||
Reset( programControl);
|
||||
currentStatus = NORMAL;
|
||||
|
||||
ObjectOnAnything( aFawn);
|
||||
SetView( aFawn, vFawn);
|
||||
MoveObj( aFawn, 67, 113, 1, scriptDone);
|
||||
Reset( fawnOnDanceFloor);
|
||||
}
|
||||
|
||||
if (script == 18) [ "Please return to your seats!"
|
||||
{
|
||||
Reset( handsOff);
|
||||
MoveObj( aFawn, 97, 143, 1, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 19)
|
||||
{
|
||||
MoveObj( aFawn, 119, 121, 1, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 20)
|
||||
{
|
||||
MoveObj( aFawn, 130, 121, 1, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 21) [ Sit and wiggle that leg, baby!
|
||||
{
|
||||
Set( turnHeadsToTable);
|
||||
SetView( aFawn, vEgoAndFawnSitting);
|
||||
SetLoop( aFawn, L_FAWN_SITTING);
|
||||
RepositionTo( aFawn, 129, 119);
|
||||
SetPriority( aFawn, 11);
|
||||
CycleTime( aFawn, two);
|
||||
Random( 22, 44, fawnCycles);
|
||||
script = 0;
|
||||
AcceptInput();
|
||||
Set( fawnAtTable);
|
||||
if (!dancedWithFawn)
|
||||
{
|
||||
Set( dancedWithFawn);
|
||||
currentScore += 5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (fawnScriptDone)
|
||||
{
|
||||
Reset( fawnScriptDone);
|
||||
++fawnScript;
|
||||
|
||||
if (fawnScript == 101) [ This takes the fawn out the door.
|
||||
{
|
||||
Set( handsOff);
|
||||
Reset( fawnAtTable);
|
||||
|
||||
SetView( aFawn, vFawn);
|
||||
ReleasePriority( aFawn);
|
||||
StartCycling( aFawn);
|
||||
StartMotion( aFawn);
|
||||
fawnCycles = 0;
|
||||
CycleTime( aFawn, one);
|
||||
IgnoreObjs( aFawn);
|
||||
RepositionTo( aFawn, 130, 123);
|
||||
ForceUpdate( aFawn);
|
||||
MoveObj( aFawn, 122, 123, 1, fawnScriptDone);
|
||||
}
|
||||
|
||||
if (fawnScript == 102)
|
||||
{
|
||||
MoveObj( aFawn, 77, 167, 1, fawnScriptDone);
|
||||
}
|
||||
|
||||
if (fawnScript == 103)
|
||||
{
|
||||
Reset( handsOff);
|
||||
fawnScript = 0;
|
||||
Erase( aFawn);
|
||||
AcceptInput();
|
||||
if (gaveFawnEverything)
|
||||
{
|
||||
Print( 19);
|
||||
}
|
||||
|
||||
if (noFawnInDisco)
|
||||
{
|
||||
Print( 56);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!fawnLeaving &&
|
||||
fawnAtTable)
|
||||
{
|
||||
--fawnCycles; [ Kick that leg
|
||||
if (fawnCycles == 1)
|
||||
{
|
||||
Toggle( fawnCycling);
|
||||
if (fawnCycling)
|
||||
{
|
||||
StartCycling( aFawn);
|
||||
Random( 5, 22, fawnCycles);
|
||||
}
|
||||
else
|
||||
{
|
||||
StopCycling( aFawn);
|
||||
Random( 22, 44, fawnCycles);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (currentStatus == DANCING) [ leave this section below script!
|
||||
{
|
||||
ObjectOnWater( ego);
|
||||
}
|
||||
else
|
||||
{
|
||||
ObjectOnAnything( ego);
|
||||
}
|
||||
|
||||
if (musicDone)
|
||||
{
|
||||
Sound( mDisco, musicDone);
|
||||
}
|
||||
|
||||
if (turnHeadsToTable)
|
||||
{
|
||||
Reset( turnHeadsToTable);
|
||||
AddToPic( vDiscoCustomers, L_HEAD_RIGHT, 1, 24, 112, 12, 4);
|
||||
AddToPic( vDiscoCustomers, L_HEAD_RIGHT, 2, 24, 136, 14, 4);
|
||||
AddToPic( vDiscoCustomers, L_HEAD_RIGHT, 3, 105, 89, 4, 4);
|
||||
AddToPic( vDiscoCustomers, L_HEAD_RIGHT, 4, 49, 136, 14, 4);
|
||||
AddToPic( vDiscoCustomers, L_HEAD_RIGHT, 5, 98, 90, 4, 4);
|
||||
}
|
||||
if (turnHeadsToFloor) {
|
||||
AddToPic( vDiscoCustomers, L_HEAD_UP, 1, 24, 112, 12, 4);
|
||||
AddToPic( vDiscoCustomers, L_HEAD_UP, 2, 24, 136, 14, 4);
|
||||
AddToPic( vDiscoCustomers, L_HEAD_UP, 3, 105, 89, 4, 4);
|
||||
AddToPic( vDiscoCustomers, L_HEAD_UP, 4, 49, 136, 14, 4);
|
||||
AddToPic( vDiscoCustomers, L_HEAD_UP, 5, 98, 90, 4, 4);
|
||||
Reset( turnHeadsToFloor);
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:exit [ test for leaving the room
|
||||
[*****
|
||||
|
||||
if (edgeEgoHit == BOTTOM) {newRoom = rmOutsideDisco;}
|
||||
if (cutToCloseup)
|
||||
{
|
||||
newRoom = rmFawnCloseup;
|
||||
if (!lookedAtFawn)
|
||||
{
|
||||
Set( lookedAtFawn);
|
||||
currentScore += 1;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,110 @@
|
|||
[messages for room 24 -- rmInsideDisco
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"The disco is filled with remarkably similar guys, all looking for girls."
|
||||
|
||||
%message 2
|
||||
"Don't mess around, Larry. Get out there and dance with her!"
|
||||
|
||||
%message 5
|
||||
"Perhaps they're waiting for Fawn to return."
|
||||
|
||||
%message 6
|
||||
"Not now, you're busy."
|
||||
|
||||
|
||||
%message 8
|
||||
"\"Come on, Larry. What are you waiting for?
|
||||
I'm hot to get it on with you!\""
|
||||
|
||||
|
||||
%message 19
|
||||
"(What are you into this time, Larry?)"
|
||||
|
||||
|
||||
%message 21
|
||||
"\"Either give me some money, or I'll leave without you.\""
|
||||
|
||||
%message 22
|
||||
"\"That's it! See ya later, chump!\""
|
||||
|
||||
|
||||
%message 29
|
||||
"You smile at the girl and say, \"May I join you?\""
|
||||
|
||||
%message 30
|
||||
"And, of course she replies, \"Why, am I coming apart?\""
|
||||
|
||||
%message 31
|
||||
"(Drum fill)"
|
||||
|
||||
|
||||
%message 38
|
||||
"You are sitting."
|
||||
|
||||
%message 39
|
||||
"You are standing."
|
||||
|
||||
%message 40
|
||||
"The dance floor is lit from below with brightly colored lights.
|
||||
It is presently unused."
|
||||
|
||||
%message 41
|
||||
"Evidently every guy here has been turned down by the only girl in the place.
|
||||
Her beauty has them frozen in their tracks."
|
||||
|
||||
%message 42
|
||||
"There isn't one. This place is run by computer.
|
||||
(Besides, at this time of night DJ should be home with Chris.)"
|
||||
|
||||
|
||||
%message 44
|
||||
"Perhaps you should sit with her first."
|
||||
|
||||
%message 45
|
||||
"She might listen to you, if you can establish eye contact."
|
||||
|
||||
|
||||
%message 52
|
||||
"\"Oooh, you're so sweet. I just love "
|
||||
|
||||
%message 53
|
||||
"Sitting here brings back fond memories of those minutes you spent with
|
||||
Fawn."
|
||||
|
||||
%message 54
|
||||
"Your heart just isn't in it."
|
||||
|
||||
%message 55
|
||||
"You miss her, don't you?"
|
||||
|
||||
%message 56
|
||||
"Gosh, Larry. Maybe you should have loaned her some money!"
|
||||
|
||||
%message 57
|
||||
"Funny, this is a dry club."
|
||||
|
||||
|
||||
%message 59
|
||||
"\"Not again. That trip through the ceiling gave me a headache!\""
|
||||
|
||||
%message 60
|
||||
"You're being a little too direct again, Larry."
|
||||
|
||||
%message 61
|
||||
"There's a gorgeous blond sitting at the table, and she's all alone!"
|
||||
|
||||
%message 62
|
||||
"You can't sit there; she would think you rude to take her chair."
|
||||
|
||||
%message 63
|
||||
"They seem to be staring at something they all want."
|
||||
|
||||
|
||||
%message 66
|
||||
"You can't sit there; she would think you rude to sit on top of her."
|
||||
|
|
@ -0,0 +1,672 @@
|
|||
[logics for room 25 -- rmFawnCloseup
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "rm25.msg"
|
||||
%include "gamedefs.h"
|
||||
|
||||
|
||||
[ must be seated to see closeup of face, and give her stuff.
|
||||
[ normal cel if nothing happens, else happy cel if gift, or said something
|
||||
[nice. "Pouty" face if said something nasty, or bad breath.
|
||||
[ To return to long shot, say leave table, or dance with Fawn
|
||||
|
||||
[ if says something rude, add.to.pic mean look, change rooms, and she walks
|
||||
[away. He has to leave, then enter again.
|
||||
|
||||
|
||||
|
||||
|
||||
[ %flag gaveFawnFlowers 71 [ These are pertinent globals.
|
||||
[ %flag gaveFawnCandy 72
|
||||
[ %flag gaveFawnRing 73
|
||||
[ %flag dancedWithFawn 74
|
||||
|
||||
#define L_MOUTH 0
|
||||
#define C_NORMAL 0 [ mouth cells
|
||||
#define C_SMILE 1
|
||||
#define C_FROWN 2
|
||||
#define DONE 255
|
||||
#define L_EYES 1
|
||||
|
||||
#define TALK_TIME 4
|
||||
|
||||
|
||||
%define cutToLongShot lf0
|
||||
%define nearFawn lf2
|
||||
%define eyesCycling lf6
|
||||
%define fawnLeaving lf11
|
||||
%define turnHeadsToFloor lf13
|
||||
%define turnHeadsToTable lf14
|
||||
|
||||
|
||||
%define eyeCycles lv2
|
||||
%define breathLineTimer lv3
|
||||
%define lookCount lv4
|
||||
%define mouthTimer lv6
|
||||
%define mouth lv7
|
||||
%define fawnScript lv8
|
||||
|
||||
|
||||
%object aMouth 3
|
||||
%object aEyes 4
|
||||
|
||||
|
||||
|
||||
if (initLog)
|
||||
{
|
||||
SetHorizon( 1);
|
||||
|
||||
LoadPic( currentRoom);
|
||||
DrawPic( currentRoom);
|
||||
DiscardPic( currentRoom);
|
||||
|
||||
LoadView( vFawnFace);
|
||||
|
||||
Set( handsOff);
|
||||
|
||||
AnimateObj( aMouth);
|
||||
SetView( aMouth, vFawnFace);
|
||||
SetLoop( aMouth, L_MOUTH);
|
||||
SetCel( aMouth, 0);
|
||||
SetPriority( aMouth, 4);
|
||||
Position( aMouth, 56, 93);
|
||||
StopCycling( aMouth);
|
||||
|
||||
AnimateObj( aEyes);
|
||||
SetView( aEyes, vFawnFace);
|
||||
SetLoop( aEyes, L_EYES);
|
||||
SetCel( aEyes, 0);
|
||||
SetPriority( aEyes, 5);
|
||||
Position( aEyes, 62, 49);
|
||||
StopCycling( aEyes);
|
||||
CycleTime( aEyes, three);
|
||||
|
||||
if (!mouthOK)
|
||||
{
|
||||
SetCel( aMouth, C_FROWN);
|
||||
breathLineTimer = TALK_TIME;
|
||||
}
|
||||
else
|
||||
{
|
||||
SetCel( aMouth, C_NORMAL);
|
||||
Draw( aEyes);
|
||||
Random( 6, 19, eyeCycles);
|
||||
Reset( eyesCycling);
|
||||
}
|
||||
Draw( aMouth);
|
||||
mouth = DONE;
|
||||
StopUpdate( aMouth);
|
||||
|
||||
ShowPic( );
|
||||
|
||||
Return( );
|
||||
|
||||
} [ end initLOG
|
||||
|
||||
|
||||
|
||||
Set( nearFawn);
|
||||
Set( nearPerson);
|
||||
|
||||
|
||||
[*****
|
||||
:handleInput
|
||||
[*****
|
||||
|
||||
if (!haveInput) {goto noInput;}
|
||||
|
||||
if ((Said( order, drink) ||
|
||||
Said( buy, whiskey) ||
|
||||
Said( buy, wine) ||
|
||||
Said( buy, booze) ||
|
||||
Said( buy, girl, drink)))
|
||||
{
|
||||
Print( 57);
|
||||
}
|
||||
|
||||
if ((Said( talk, men) ||
|
||||
Said( talk, man)))
|
||||
{
|
||||
Print( 63);
|
||||
}
|
||||
|
||||
if ((Said( look, fawn, rol) ||
|
||||
Said( establish$eye$contact, rol) ||
|
||||
Said( look$in, fawn, rol)))
|
||||
{
|
||||
++lookCount;
|
||||
if (lookCount == 1)
|
||||
{
|
||||
Print( 2);
|
||||
Print( 3);
|
||||
}
|
||||
|
||||
if (lookCount == 2)
|
||||
{
|
||||
Print( 24);
|
||||
}
|
||||
|
||||
if (lookCount > 2)
|
||||
{
|
||||
Print( 4);
|
||||
mouth = C_SMILE;
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( stand) ||
|
||||
Said( get$up, from, chair) ||
|
||||
Said( get, off, chair) ||
|
||||
Said( stop, looking, fawn) ||
|
||||
Said( look, me) ||
|
||||
Said( look, away) ||
|
||||
Said( look, away, from, fawn) ||
|
||||
Said( leave, chair, rol) ||
|
||||
Said( leave) ||
|
||||
Said( leave, table, rol) ||
|
||||
Said( stand, up, rol)))
|
||||
{
|
||||
Set( makeEgoRise);
|
||||
Set( cutToLongShot);
|
||||
Set( OK);
|
||||
}
|
||||
|
||||
if ((Said( look) ||
|
||||
Said( look, room) ||
|
||||
Said( look, tables) ||
|
||||
Said( look, disco)))
|
||||
{
|
||||
Print( 1);
|
||||
}
|
||||
|
||||
if ((Said( look, dance, floor) ||
|
||||
Said( look, floor)))
|
||||
{
|
||||
Print( 40);
|
||||
}
|
||||
|
||||
if ((Said( look, men) ||
|
||||
Said( look, man)))
|
||||
{
|
||||
if (noFawnInDisco)
|
||||
{
|
||||
Print( 5);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 41);
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( look, dj))
|
||||
{
|
||||
Print( 42);
|
||||
}
|
||||
|
||||
if (Said( use, spray))
|
||||
{
|
||||
Reset( haveMatch);
|
||||
mouth = C_SMILE;
|
||||
Random( 6, 19, eyeCycles);
|
||||
Reset( eyesCycling);
|
||||
}
|
||||
|
||||
if ((Said( talk, fawn) ||
|
||||
Said( say, anyword, fawn)))
|
||||
{
|
||||
++fawnTalkCount;
|
||||
if (fawnTalkCount == 1)
|
||||
{
|
||||
if (!talkedToFawn)
|
||||
{
|
||||
Set( talkedToFawn);
|
||||
currentScore += 1;
|
||||
}
|
||||
Print( 23);
|
||||
Print( 46);
|
||||
mouth = C_FROWN;
|
||||
}
|
||||
|
||||
if (fawnTalkCount == 2)
|
||||
{
|
||||
Print( 47);
|
||||
Print( 48);
|
||||
mouth = C_FROWN;
|
||||
}
|
||||
|
||||
if (fawnTalkCount == 3)
|
||||
{
|
||||
Print( 49);
|
||||
Print( 43);
|
||||
}
|
||||
|
||||
if (fawnTalkCount == 4)
|
||||
{
|
||||
Print( 32);
|
||||
Print( 33);
|
||||
Print( 34);
|
||||
mouth = C_SMILE;
|
||||
}
|
||||
|
||||
if (fawnTalkCount > 4)
|
||||
{
|
||||
if (askedForMoney)
|
||||
{
|
||||
Print( 58);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 50);
|
||||
Print( 26);
|
||||
Print( 27);
|
||||
Print( 28);
|
||||
Print( 51);
|
||||
mouth = C_SMILE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( come, with, me))
|
||||
{
|
||||
Print( 44);
|
||||
mouth = C_SMILE;
|
||||
}
|
||||
|
||||
if ((Said( talk, her, love) ||
|
||||
Said( love, you) ||
|
||||
Said( take, her, hand)))
|
||||
{
|
||||
Print( 39);
|
||||
mouth = C_SMILE;
|
||||
}
|
||||
|
||||
if ((Said( look, mouth) ||
|
||||
Said( look, girl, mouth)))
|
||||
{
|
||||
Print( 31);
|
||||
}
|
||||
|
||||
if ((Said( ask, name) ||
|
||||
Said( ask, her, name) ||
|
||||
Said( ask, name, girl)))
|
||||
{
|
||||
Print( 33);
|
||||
Print( 34);
|
||||
mouth = C_SMILE;
|
||||
}
|
||||
|
||||
if ((Said( larry) ||
|
||||
Said( leisure$suit, larry)))
|
||||
{
|
||||
Print( 30);
|
||||
}
|
||||
|
||||
if ((Said( look, her, hair) ||
|
||||
Said( look, hair) ||
|
||||
Said( touch, hair) ||
|
||||
Said( stroke, hair) ||
|
||||
Said( rub, hair) ||
|
||||
Said( rub, her, hair)))
|
||||
{
|
||||
Print( 29);
|
||||
mouth = C_SMILE;
|
||||
}
|
||||
|
||||
if ((Said( smile) ||
|
||||
Said( smile, girl) ||
|
||||
Said( hold, hand) ||
|
||||
Said( take, her, hand) ||
|
||||
Said( touch, girl) ||
|
||||
Said( touch, her) ||
|
||||
Said( ask, date)))
|
||||
{
|
||||
Print( 19);
|
||||
mouth = C_SMILE;
|
||||
}
|
||||
|
||||
if ((Said( look, eyes) ||
|
||||
Said( look$in, eyes) ||
|
||||
Said( flirt, with, her) ||
|
||||
Said( wink, girl) ||
|
||||
Said( give, girl, kiss) ||
|
||||
Said( kiss, girl)))
|
||||
{
|
||||
mouth = C_SMILE;
|
||||
}
|
||||
|
||||
if ((Said( dance) ||
|
||||
Said( dance, fawn) ||
|
||||
Said( dance, me) ||
|
||||
Said( dance, with, me) ||
|
||||
Said( dance, with, fawn) ||
|
||||
Said( you, dance, fawn) ||
|
||||
Said( you, dance, me) ||
|
||||
Said( you, like, dance, rol) ||
|
||||
Said( you, dance, with, me) ||
|
||||
Said( you, dance, with, fawn) ||
|
||||
Said( enjoy, dance) ||
|
||||
Said( enjoy, dance, with, me) ||
|
||||
Said( you, enjoy, dance) ||
|
||||
Said( you, enjoy, dance, with, me) ||
|
||||
Said( you, enjoy, dance, with, fawn) ||
|
||||
Said( ask, dance, fawn) ||
|
||||
Said( ask, fawn, dance) ||
|
||||
Said( ask, fawn, dance, with, me) ||
|
||||
Said( ask, fawn, dance, me) ||
|
||||
Said( start, dance)))
|
||||
{
|
||||
if (dancedWithFawn)
|
||||
{
|
||||
Print( 59);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (moneyTimer)
|
||||
{
|
||||
Print( 20);
|
||||
moneyTimer = 17;
|
||||
}
|
||||
else
|
||||
{
|
||||
Set( makeFawnDance);
|
||||
Set( scriptDone);
|
||||
script = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((Said( give, fawn, rose) ||
|
||||
Said( give, rose) ||
|
||||
Said( give, rose, fawn)))
|
||||
{
|
||||
if (!Has( iRose))
|
||||
{
|
||||
Set( dontHaveIt);
|
||||
}
|
||||
else
|
||||
{
|
||||
currentScore += 5;
|
||||
Print( 9);
|
||||
Set( gaveFawnRose);
|
||||
Drop( iRose);
|
||||
mouth = C_SMILE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((Said( give, fawn, candy) ||
|
||||
Said( give, candy) ||
|
||||
Said( give, candy, fawn)))
|
||||
{
|
||||
if (!Has( iCandy))
|
||||
{
|
||||
Set( dontHaveIt);
|
||||
}
|
||||
else
|
||||
{
|
||||
currentScore += 5;
|
||||
Print( 10);
|
||||
Set( gaveFawnCandy);
|
||||
Drop( iCandy);
|
||||
mouth = C_SMILE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((Said( give, fawn, ring) ||
|
||||
Said( give, ring) ||
|
||||
Said( give, ring, fawn)))
|
||||
{
|
||||
if (!Has( iRing))
|
||||
{
|
||||
Set( dontHaveIt);
|
||||
}
|
||||
else
|
||||
{
|
||||
currentScore += 5;
|
||||
Print( 11);
|
||||
Set( gaveFawnRing);
|
||||
Drop( iRing);
|
||||
mouth = C_SMILE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((Said( give, fawn, money) ||
|
||||
Said( give, money) ||
|
||||
Said( pay, girl, money) ||
|
||||
Said( pay, money) ||
|
||||
Said( pay, girl, one, money) ||
|
||||
Said( pay, girl) ||
|
||||
Said( give, one, money, fawn) ||
|
||||
Said( give, fawn, one, dollars) || [ this makes one hundred work
|
||||
Said( give, money, fawn)))
|
||||
{
|
||||
if (!askedForMoney)
|
||||
{
|
||||
Print( 13);
|
||||
mouth = C_FROWN;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (dollars < 100)
|
||||
{
|
||||
Print( 64);
|
||||
Print( 35);
|
||||
Print( 12);
|
||||
Print( 36);
|
||||
Print( 37);
|
||||
Print( 65);
|
||||
moneyTimer = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
currentScore += 7;
|
||||
Print( 14);
|
||||
Print( 15);
|
||||
mouth = C_SMILE;
|
||||
|
||||
moneyTimer = 0;
|
||||
dollars -= 100;
|
||||
Set( makeFawnSplit);
|
||||
Set( gaveFawnEverything);
|
||||
Set( cutToLongShot);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( girl, marry, me) ||
|
||||
Said( marry, me) ||
|
||||
Said( marry, girl) ||
|
||||
Said( ask, girl, get, married) ||
|
||||
Said( ask, girl, marry, me) ||
|
||||
Said( talk, about, marriage) ||
|
||||
Said( propose, her)))
|
||||
{
|
||||
Print( 38);
|
||||
mouth = C_SMILE;
|
||||
}
|
||||
|
||||
if ((Said( touch, fawn, rol) ||
|
||||
Said( eat, fawn, rol) ||
|
||||
Said( hump, fawn, rol) ||
|
||||
Said( kiss, fawn, rol) ||
|
||||
Said( grab, girl) ||
|
||||
Said( feel, girl) ||
|
||||
Said( lick, girl) ||
|
||||
Said( touch, girl, under, table) ||
|
||||
Said( feel, under, table) ||
|
||||
Said( grab, leg) ||
|
||||
Said( touch, leg) ||
|
||||
Said( feel, her, leg) ||
|
||||
Said( feel, her, leg, under, table) ||
|
||||
Said( grab, her, leg) ||
|
||||
Said( touch, tit, rol)))
|
||||
{
|
||||
Print( 60);
|
||||
mouth = C_FROWN;
|
||||
}
|
||||
|
||||
if ((Said( undress, her) ||
|
||||
Said( ask, girl, for, sex) ||
|
||||
Said( have, sex, with, me) ||
|
||||
Said( hump, rol) ||
|
||||
Said( make, girl) ||
|
||||
Said( anyword, pussy, rol) ||
|
||||
Said( lick, her, she, screams) ||
|
||||
Said( anyword, tits, rol) ||
|
||||
Said( play, with, her, boobs) ||
|
||||
Said( grab, tits) ||
|
||||
Said( fondle, breasts)))
|
||||
{
|
||||
Print( 60);
|
||||
Print( 61);
|
||||
mouth = C_FROWN;
|
||||
}
|
||||
|
||||
if ((Said( look, girl, tits) ||
|
||||
Said( look, tits, rol) ||
|
||||
Said( look, body) ||
|
||||
Said( stare) ||
|
||||
Said( stare, boobs)))
|
||||
{
|
||||
Print( 4);
|
||||
mouth = C_SMILE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
[*****
|
||||
:noInput
|
||||
[*****
|
||||
|
||||
--eyeCycles; [ bat them eyes
|
||||
if (eyeCycles == 1)
|
||||
{
|
||||
Toggle( eyesCycling);
|
||||
if (eyesCycling)
|
||||
{
|
||||
StartCycling( aEyes);
|
||||
Random( 6, 18, eyeCycles);
|
||||
}
|
||||
else
|
||||
{
|
||||
StopCycling( aEyes);
|
||||
SetCel( aEyes, 0);
|
||||
Random( 11, 33, eyeCycles);
|
||||
}
|
||||
}
|
||||
|
||||
if (aSecondPassed)
|
||||
{
|
||||
--breathLineTimer;
|
||||
if (breathLineTimer == 1) [ Lay that zinger on him
|
||||
{
|
||||
Print( 25);
|
||||
}
|
||||
|
||||
--mouthTimer;
|
||||
if (mouthTimer == 1) [ Resume after frown/smile
|
||||
{
|
||||
mouth = NORMAL;
|
||||
}
|
||||
|
||||
if (mouth != DONE)
|
||||
{
|
||||
if (mouth == NORMAL)
|
||||
{
|
||||
eyeCycles = 2; [ Restart eyes.
|
||||
}
|
||||
|
||||
if (mouth == C_SMILE)
|
||||
{
|
||||
mouthTimer = SMILE_SECONDS;
|
||||
Set( eyesCycling);
|
||||
eyeCycles = 22; [ Bat 'em, baby.
|
||||
StartCycling( aEyes);
|
||||
}
|
||||
|
||||
if (mouth == C_FROWN)
|
||||
{
|
||||
mouthTimer = FROWN_SECONDS;
|
||||
Reset( eyesCycling);
|
||||
eyeCycles = 0; [ Stare him down, Fawnie.
|
||||
StopCycling( aEyes);
|
||||
SetCel( aEyes, 0);
|
||||
}
|
||||
|
||||
SetCelV( aMouth, mouth);
|
||||
ForceUpdate( aMouth);
|
||||
mouth = DONE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
[ He's done damn near everything for her; what more could that bitch want?!
|
||||
|
||||
if (gaveFawnRose &&
|
||||
gaveFawnCandy &&
|
||||
gaveFawnRing &&
|
||||
dancedWithFawn)
|
||||
{
|
||||
if (!askedForMoney)
|
||||
{
|
||||
Set( askedForMoney);
|
||||
Print( 16);
|
||||
Print( 17);
|
||||
Print( 18);
|
||||
moneyTimer = 30;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (aSecondPassed)
|
||||
{
|
||||
--moneyTimer;
|
||||
if (moneyTimer == 15)
|
||||
{
|
||||
Print( 21);
|
||||
}
|
||||
|
||||
if (moneyTimer == 1)
|
||||
{
|
||||
Print( 22);
|
||||
Set( cutToLongShot);
|
||||
Set( makeFawnSplit);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (scriptDone)
|
||||
{
|
||||
Reset( scriptDone);
|
||||
++script;
|
||||
|
||||
if (script == 1) [ Do the "Airplane" sequence.
|
||||
{
|
||||
mouth = C_SMILE;
|
||||
Print( 7);
|
||||
scriptTimer = 6;
|
||||
}
|
||||
|
||||
if (script == 2)
|
||||
{
|
||||
Set( cutToLongShot);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:exit [ test for leaving the room
|
||||
[*****
|
||||
|
||||
if (edgeEgoHit == BOTTOM) {newRoom = rmOutsideDisco;}
|
||||
if (cutToLongShot)
|
||||
{
|
||||
Reset( handsOff);
|
||||
newRoom = rmInsideDisco;
|
||||
}
|
||||
|
|
@ -0,0 +1,210 @@
|
|||
[messages for room 25 -- rmInsideDisco
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"The disco is filled with remarkably similar guys, all looking for girls."
|
||||
|
||||
%message 2
|
||||
"What a knock-out!
|
||||
She has bright blue eyes, and a dazzling smile.
|
||||
Your eyes roam her body, and what you see, you like.
|
||||
She's sensational!!"
|
||||
|
||||
%message 3
|
||||
"Larry, this MUST be love!"
|
||||
|
||||
%message 4
|
||||
"\"Please,\" she says coyly, \"stop staring there.\""
|
||||
|
||||
%message 5
|
||||
"Perhaps they're waiting for Fawn to return."
|
||||
|
||||
%message 6
|
||||
"Not now, you're busy."
|
||||
|
||||
%message 7
|
||||
"%m52dancing. I thought you'd never ask! Come on!!\""
|
||||
|
||||
%message 8
|
||||
""
|
||||
|
||||
%message 9
|
||||
"%m52roses.\""
|
||||
|
||||
%message 10
|
||||
"%m52candy.\""
|
||||
|
||||
%message 11
|
||||
"%m52diamonds.\""
|
||||
|
||||
%message 12
|
||||
"It appears Fawn has caught you a \"little short,\" Larry.
|
||||
Better try the casino, and hope for a run of good luck!"
|
||||
|
||||
%message 13
|
||||
"\"Well, really. I'm not that kind of girl!!\""
|
||||
|
||||
%message 14
|
||||
"%m52money.\""
|
||||
|
||||
%message 15
|
||||
"\"Thanks, Larry. You won't regret this.
|
||||
Meet me at the Marriage Chapel near the Casino in a few minutes.
|
||||
I'll get us a room. Hurry, Larry, I can hardly wait!\""
|
||||
|
||||
%message 16
|
||||
"\"Oooh, you're so sweet. I just LOVE you!
|
||||
Larry, I want you to make wild, passionate love to me!\""
|
||||
|
||||
%message 17
|
||||
"(All right, Larry. At last, you're gonna get lucky!!)"
|
||||
|
||||
%message 18
|
||||
"She continues, \"But first, we must get married.
|
||||
I could never make love to a man not my husband.
|
||||
If you would loan me a hundred dollars,
|
||||
I'd rent the Honeymoon Suite at the Casino Hotel for us.
|
||||
Then, after we're married, we'll celebrate there.\""
|
||||
|
||||
%message 19
|
||||
"\"You seem like a sweet, old-fashioned kind of guy,\"
|
||||
she says with a beautiful smile."
|
||||
|
||||
%message 20
|
||||
"\"What! At a time like this?!\""
|
||||
|
||||
%message 21
|
||||
"\"Either give me some money, or I'll leave without you.\""
|
||||
|
||||
%message 22
|
||||
"\"That's it! See ya later, chump!\""
|
||||
|
||||
%message 23
|
||||
"\"Hi ya, Baby. What say you and me get it on?\""
|
||||
|
||||
%message 24
|
||||
"Those beautiful eyes tell you this doll requires
|
||||
more than your usual smooth talk."
|
||||
|
||||
%message 25
|
||||
"\"Bad breath's one thing, Larry, but you could knock a buzzard off
|
||||
a manure truck!!\""
|
||||
|
||||
%message 26
|
||||
"She smiles and says, \"I'm just a girl who can't say no..."
|
||||
|
||||
%message 27
|
||||
"(All right, Larry; this is what you've been waiting for!)"
|
||||
|
||||
%message 28
|
||||
"\"...to nice presents,\" she concludes."
|
||||
|
||||
%message 29
|
||||
"Her hair is beautiful, not thinning like some people we know."
|
||||
|
||||
%message 30
|
||||
"\"So what?\""
|
||||
|
||||
%message 31
|
||||
"Her lips are moist and inviting, but remember that you also thought that
|
||||
about old Mrs. Bradley, your homeroom teacher!"
|
||||
|
||||
%message 32
|
||||
"\"What's your name, beautiful?\" you ask."
|
||||
|
||||
%message 33
|
||||
"\"Fawn,\" she replies."
|
||||
|
||||
%message 34
|
||||
"Somehow you knew that."
|
||||
|
||||
%message 35
|
||||
"\"I'm sorry, but I'll need at least a hundred dollars,\"
|
||||
she says with a coy smile."
|
||||
|
||||
%message 36
|
||||
"You fervently hope she'll wait for your return."
|
||||
|
||||
%message 37
|
||||
"Conveniently, she offers, \"I'll wait right here until you return.\""
|
||||
|
||||
%message 38
|
||||
"I AM the marrying type, but you must convince me."
|
||||
|
||||
%message 39
|
||||
"\"How nice,\" she says, \"I love me, too.\""
|
||||
|
||||
%message 40
|
||||
"The dance floor is lit from below with brightly colored lights.
|
||||
It is presently unused."
|
||||
|
||||
%message 41
|
||||
"Evidently every guy here has been turned down by the only
|
||||
girl in the place.
|
||||
Her beauty has them frozen in their tracks."
|
||||
|
||||
%message 42
|
||||
"There isn't one. This place is run by computer.
|
||||
(Besides, at this time of night DJ should be home with Chris.)"
|
||||
|
||||
%message 43
|
||||
"\"Say, Larry,\" she chuckles, glancing downward,
|
||||
\"is that a pez dispenser in your pocket, or are you just lonely?\""
|
||||
|
||||
%message 44
|
||||
"\"Perhaps we shall,\" she replies, \"if you play your cards right!\""
|
||||
|
||||
|
||||
%message 46
|
||||
"\"Get lost, creep.\""
|
||||
|
||||
%message 47
|
||||
"\"Hey, sweetheart. What's your sign?\" you ask her."
|
||||
|
||||
%message 48
|
||||
"\"Octagonal,\" she replies. \"Like in 'STOP!'\""
|
||||
|
||||
%message 49
|
||||
"\"My name is Larry,\" you offer. \"Larry Laffer.\""
|
||||
|
||||
%message 50
|
||||
"\"I'd really like to get to know you better,\" you say.
|
||||
\"What kind of girl are you, anyway?\""
|
||||
|
||||
%message 51
|
||||
"(Oops.)"
|
||||
|
||||
%message 52
|
||||
"\"Oooh, you're so sweet. I just love "
|
||||
|
||||
|
||||
%message 57
|
||||
"Funny, this is a dry club."
|
||||
|
||||
%message 58
|
||||
"\"So, how about it, Larry?\" Fawn says in her petite voice.
|
||||
\"May I have a measly hundred bucks, or not?\""
|
||||
|
||||
%message 59
|
||||
"\"Not again. That trip through the ceiling gave me a headache!\""
|
||||
|
||||
%message 60
|
||||
"SLAP!"
|
||||
|
||||
%message 61
|
||||
"SLAP!\n\n
|
||||
SLAP!!"
|
||||
|
||||
|
||||
%message 63
|
||||
"They seem to be staring at something they all want."
|
||||
|
||||
%message 64
|
||||
"\"Uh, gosh, Fawn,\" you mumble. \"I've only got %v90 bucks on me!\""
|
||||
|
||||
%message 65
|
||||
"Gee, Larry, this is working out swell."
|
||||
|
|
@ -0,0 +1,189 @@
|
|||
[logics for room 3 -- lgcQuestions1
|
||||
[ "Leisure-Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "rm3.msg"
|
||||
%include "gamedefs.h"
|
||||
|
||||
|
||||
%define FIRST_QUESTION 1
|
||||
%define LAST_QUESTION 53
|
||||
|
||||
%define toldLastQuestion lf1
|
||||
|
||||
%define allsWell lv0
|
||||
%define question1 lv1
|
||||
%define question2 lv2
|
||||
%define question3 lv3
|
||||
%define question4 lv4
|
||||
%define question5 lv5
|
||||
|
||||
|
||||
|
||||
if (initLog)
|
||||
{
|
||||
if (forceAtest)
|
||||
{
|
||||
Print( 60);
|
||||
currentQuestion = FIRST_QUESTION;
|
||||
}
|
||||
} [ end initLOG
|
||||
|
||||
|
||||
|
||||
if (!forceAtest)
|
||||
{
|
||||
:askAgain;
|
||||
Random( FIRST_QUESTION, LAST_QUESTION, currentQuestion);
|
||||
if ((currentQuestion == question1 ||
|
||||
currentQuestion == question2 ||
|
||||
currentQuestion == question3 ||
|
||||
currentQuestion == question4 ||
|
||||
currentQuestion == question5))
|
||||
{
|
||||
goto askAgain;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (question == 1) {question1 = currentQuestion};
|
||||
if (question == 2) {question2 = currentQuestion};
|
||||
if (question == 3) {question3 = currentQuestion};
|
||||
if (question == 4) {question4 = currentQuestion};
|
||||
if (question == 5) {question5 = currentQuestion};
|
||||
if (question == 6) {questionStatus = allDone;}
|
||||
if (question == 5 &&
|
||||
!toldLastQuestion)
|
||||
{
|
||||
Set( toldLastQuestion);
|
||||
Print( 69);
|
||||
}
|
||||
|
||||
++question;
|
||||
}
|
||||
}
|
||||
|
||||
if (currentQuestion == 1) {correctAnswer = 3;}
|
||||
if (currentQuestion == 2) {correctAnswer = 2;}
|
||||
if (currentQuestion == 3) {correctAnswer = 4;}
|
||||
if (currentQuestion == 4) {correctAnswer = 3;}
|
||||
if (currentQuestion == 5) {correctAnswer = 2;}
|
||||
if (currentQuestion == 6) {correctAnswer = 1;}
|
||||
if (currentQuestion == 7) {correctAnswer = 4;}
|
||||
if (currentQuestion == 8) {correctAnswer = 0;}
|
||||
if (currentQuestion == 9) {correctAnswer = 1;}
|
||||
if (currentQuestion == 10) {correctAnswer = 2;}
|
||||
if (currentQuestion == 11) {correctAnswer = 4;}
|
||||
if (currentQuestion == 12) {correctAnswer = 3;}
|
||||
if (currentQuestion == 13) {correctAnswer = 3;}
|
||||
if (currentQuestion == 14) {correctAnswer = 1;}
|
||||
if (currentQuestion == 15) {correctAnswer = 4;}
|
||||
if (currentQuestion == 16) {correctAnswer = 2;}
|
||||
if (currentQuestion == 17) {correctAnswer = 0;}
|
||||
if (currentQuestion == 18) {correctAnswer = 3;}
|
||||
if (currentQuestion == 19) {correctAnswer = 1;}
|
||||
if (currentQuestion == 20) {correctAnswer = 0;}
|
||||
if (currentQuestion == 21) {correctAnswer = 4;}
|
||||
if (currentQuestion == 22) {correctAnswer = 4;}
|
||||
if (currentQuestion == 23) {correctAnswer = 4;}
|
||||
if (currentQuestion == 24) {correctAnswer = 2;}
|
||||
if (currentQuestion == 25) {correctAnswer = 2;}
|
||||
if (currentQuestion == 26) {correctAnswer = 4;}
|
||||
if (currentQuestion == 27) {correctAnswer = 3;}
|
||||
if (currentQuestion == 28) {correctAnswer = 1;}
|
||||
if (currentQuestion == 29) {correctAnswer = 3;}
|
||||
if (currentQuestion == 30) {correctAnswer = 4;}
|
||||
if (currentQuestion == 31) {correctAnswer = 0;}
|
||||
if (currentQuestion == 32) {correctAnswer = 0;}
|
||||
if (currentQuestion == 33) {correctAnswer = 2;}
|
||||
if (currentQuestion == 34) {correctAnswer = 4;}
|
||||
if (currentQuestion == 35) {correctAnswer = 4;}
|
||||
if (currentQuestion == 36) {correctAnswer = 2;}
|
||||
if (currentQuestion == 37) {correctAnswer = 4;}
|
||||
if (currentQuestion == 38) {correctAnswer = 2;}
|
||||
if (currentQuestion == 39) {correctAnswer = 2;}
|
||||
if (currentQuestion == 40) {correctAnswer = 2;}
|
||||
if (currentQuestion == 41) {correctAnswer = 3;}
|
||||
if (currentQuestion == 42) {correctAnswer = 3;}
|
||||
if (currentQuestion == 43) {correctAnswer = 3;}
|
||||
if (currentQuestion == 44) {correctAnswer = 1;}
|
||||
if (currentQuestion == 45) {correctAnswer = 2;}
|
||||
if (currentQuestion == 46) {correctAnswer = 2;}
|
||||
if (currentQuestion == 47) {correctAnswer = 3;}
|
||||
if (currentQuestion == 48) {correctAnswer = 1;}
|
||||
if (currentQuestion == 49) {correctAnswer = 2;}
|
||||
if (currentQuestion == 50) {correctAnswer = 3;}
|
||||
if (currentQuestion == 51) {correctAnswer = 2;}
|
||||
if (currentQuestion == 52) {correctAnswer = 4;}
|
||||
if (currentQuestion == 53) {correctAnswer = 1;}
|
||||
|
||||
|
||||
if (questionStatus != allDone)
|
||||
{
|
||||
if (forceAtest)
|
||||
{
|
||||
ClearLines( 23, 23, 0);
|
||||
Display( 23, 0, 66);
|
||||
PrintV( currentQuestion);
|
||||
++currentQuestion;
|
||||
if (!currentQuestion > LAST_QUESTION)
|
||||
{
|
||||
questionStatus = waitAwhile;
|
||||
scriptTimer = 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
questionStatus = allDone;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
AcceptInput();
|
||||
CancelLine();
|
||||
PreventInput();
|
||||
ClearLines( 22, 24, BG_COLOR);
|
||||
|
||||
Set( leaveWindow);
|
||||
PrintV( currentQuestion);
|
||||
lastChar = 0;
|
||||
Display( 23, 0, 67);
|
||||
|
||||
|
||||
SetScanStart();
|
||||
if (!lastChar)
|
||||
{
|
||||
Return();
|
||||
}
|
||||
|
||||
if (lastChar > 64 && [ ABCD
|
||||
lastChar < 69)
|
||||
{
|
||||
lastChar += 32; [ Convert to abcd (lower case).
|
||||
}
|
||||
|
||||
if ((lastChar < 97 ||
|
||||
lastChar > 100))
|
||||
{
|
||||
Sound( sError, done);
|
||||
Return();
|
||||
}
|
||||
ResetScanStart(); [ We've got a valid letter.
|
||||
|
||||
|
||||
answer = lastChar;
|
||||
lastChar = 0;
|
||||
answer -= 96; [ Now answer between a and d.
|
||||
|
||||
message = 60; [ 1 less than first message #
|
||||
message += answer;
|
||||
y = 23;
|
||||
x = 29;
|
||||
DisplayV( y, x, message);
|
||||
questionStatus = waitAwhile;
|
||||
scriptTimer = 3;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:exit [ test for leaving the room
|
||||
[*****
|
|
@ -0,0 +1,461 @@
|
|||
[messages for room 3 -- lgcQuestions2
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"\"Close Encounters of the Third Kind\" is about\n\n
|
||||
a. politics in third-world\n
|
||||
countries.\n
|
||||
b. homo- and heterosexual\n
|
||||
sex.\n
|
||||
c. creatures from outer\n
|
||||
space.\n
|
||||
d. a bicycle race across\n
|
||||
Alaska."
|
||||
|
||||
%message 2
|
||||
"IBM stands for\n\n
|
||||
a. Ittsy Bittsy Men.\n
|
||||
b. International Business\n
|
||||
Machines.\n
|
||||
c. Italian Branch of the\n
|
||||
Mafia.\n
|
||||
d. Iranian Broom Makers."
|
||||
|
||||
%message 3
|
||||
"Who was NOT in the movie \"Easy Rider?\"\n\n
|
||||
a. Peter Fonda\n
|
||||
b. Dennis Hopper\n
|
||||
c. Karen Black\n
|
||||
d. Karen Carpenter"
|
||||
|
||||
%message 4
|
||||
"Las Vegas is famous for\n\n
|
||||
a. its beaches.\n
|
||||
b. being the capital of\n
|
||||
Arizona.\n
|
||||
c. gambling.\n
|
||||
d. its weather."
|
||||
|
||||
%message 5
|
||||
"The term \"Working Girl\" refers to\n\n
|
||||
a. a secretary.\n
|
||||
b. a lady of negotiable\n
|
||||
virtue.\n
|
||||
c. an industrious woman.\n
|
||||
d. an employed female."
|
||||
|
||||
%message 6
|
||||
"Making a \"Hole in One\" is\n\n
|
||||
a. every golfer's dream.\n
|
||||
b. too dirty to discuss\n
|
||||
here.\n
|
||||
c. something carpenters do.\n
|
||||
d. best done with scissors."
|
||||
|
||||
%message 7
|
||||
"My boss is\n\n
|
||||
a. a jerk.\n
|
||||
b. a total jerk.\n
|
||||
c. an absolute total jerk.\n
|
||||
d. responsible for my\n
|
||||
paycheck."
|
||||
|
||||
%message 8
|
||||
"How many programmers does it take to screw in a light bulb?\n\n
|
||||
a. None, it's a hardware\n
|
||||
problem.\n
|
||||
b. None, programmers can't\n
|
||||
fit in light bulbs.\n
|
||||
c. 100. One to hold the\n
|
||||
bulb and 99 to\n
|
||||
debug the house.\n
|
||||
d. None so far, but they'll\n
|
||||
get to it\n
|
||||
Real Soon Now."
|
||||
|
||||
%message 9
|
||||
"A hard disk is\n\n
|
||||
a. better than a floppy.\n
|
||||
b. embarrassing to have at\n
|
||||
the office.\n
|
||||
c. a state-of-the-art\n
|
||||
frisbee.\n
|
||||
d. what happens when you\n
|
||||
leave your floppy out\n
|
||||
in the sun too long."
|
||||
|
||||
%message 10
|
||||
"In some personal ads, TV stands for\n\n
|
||||
a. television.\n
|
||||
b. transvestite.\n
|
||||
c. trans-venereal.\n
|
||||
d. terre-voracic."
|
||||
|
||||
%message 11
|
||||
"Lucy, Ricky, Fred and\n\n
|
||||
a. Barney.\n
|
||||
b. Carol.\n
|
||||
c. Alice.\n
|
||||
d. Ethel."
|
||||
|
||||
%message 12
|
||||
"Mel Brooks is\n\n
|
||||
a. black.\n
|
||||
b. Puerto Rican.\n
|
||||
c. a comedian.\n
|
||||
d. Catholic."
|
||||
|
||||
%message 13
|
||||
"It is customary to tip about\n\n
|
||||
a. 2 per cent.\n
|
||||
b. 6 per cent.\n
|
||||
c. 15 per cent.\n
|
||||
d. 25 per cent."
|
||||
|
||||
%message 14
|
||||
"Blackjack is\n\n
|
||||
a. an ace and a face card.\n
|
||||
b. used by policemen.\n
|
||||
c. related to Caucasian\n
|
||||
Tom.\n
|
||||
d. a kind of car sold only\n
|
||||
in Fresno."
|
||||
|
||||
%message 15
|
||||
"Canada is\n\n
|
||||
a. where Canadians live.\n
|
||||
b. north of the U. S.\n
|
||||
c. adjacent to the U. S.\n
|
||||
d. All of the above."
|
||||
|
||||
%message 16
|
||||
"Oral Roberts is\n\n
|
||||
a. a thermometer technique.\n
|
||||
b. an evangelist.\n
|
||||
c. best done with a friend.\n
|
||||
d. shy."
|
||||
|
||||
%message 17
|
||||
"Richard Nixon was\n\n
|
||||
a. an audio technician.\n
|
||||
b. a plumber's friend.\n
|
||||
c. a comedian.\n
|
||||
d. a president."
|
||||
|
||||
%message 18
|
||||
"A 747 is\n\n
|
||||
a. a cocktail.\n
|
||||
b. a perfect bowling score.\n
|
||||
c. a large airplane.\n
|
||||
d. a prime number."
|
||||
|
||||
%message 19
|
||||
"Whips, chains and handcuffs are\n\n
|
||||
a. kinky.\n
|
||||
b. used by police\n
|
||||
departments.\n
|
||||
c. usually in text\n
|
||||
adventures.\n
|
||||
d. only permitted in\n
|
||||
Eastern schools."
|
||||
|
||||
%message 20
|
||||
"A Macintosh is\n\n
|
||||
a. a kind of Apple.\n
|
||||
b. a kind of apple.\n
|
||||
c. an article of clothing.\n
|
||||
d. All of the above."
|
||||
|
||||
%message 21
|
||||
"My parents are\n\n
|
||||
a. age 10 to 25.\n
|
||||
b. age 25 to 30.\n
|
||||
c. age 31 to 35.\n
|
||||
d. 36 or over."
|
||||
|
||||
%message 22
|
||||
"My favorite actor is\n\n
|
||||
a. Pia Zadora.\n
|
||||
b. Fred Flintstone.\n
|
||||
c. Jim Bakker.\n
|
||||
d. not listed here."
|
||||
|
||||
%message 23
|
||||
"I have hair on my\n\n
|
||||
a. head.\n
|
||||
b. palms.\n
|
||||
c. keyboard.\n
|
||||
d. lottsa places."
|
||||
|
||||
%message 24
|
||||
"When it's noon in California in August, in St. Louis it's\n\n
|
||||
a. miserable.\n
|
||||
b. 2:00 p.m.\n
|
||||
c. 3:00 p.m.\n
|
||||
d. time for a beer."
|
||||
|
||||
%message 25
|
||||
"The best \"pick-up\" line is:\n\n
|
||||
a. Hey baby, what's your\n
|
||||
sign?\n
|
||||
b. Want to go for a ride\n
|
||||
in my Porsche?\n
|
||||
c. For a fat girl, you\n
|
||||
sure don't sweat much!\n
|
||||
d. Do you know where I can\n
|
||||
buy some Vaseline?"
|
||||
|
||||
%message 26
|
||||
"The \"Mile-High Club\" is\n\n
|
||||
a. a bird-watching society.\n
|
||||
b. a Denver ski club.\n
|
||||
c. a bar in East L. A.\n
|
||||
d. open to those who have\n
|
||||
performed aerial\n
|
||||
acrobatics inside a\n
|
||||
plane's rest room."
|
||||
|
||||
%message 27
|
||||
"My sex life is best described as\n\n
|
||||
a. non-existent and non-\n
|
||||
contemplated.\n
|
||||
b. what sex life?\n
|
||||
c. none of your business!!\n
|
||||
d. a ripening tomato."
|
||||
|
||||
%message 28
|
||||
"Elizabeth Taylor is\n\n
|
||||
a. an actress.\n
|
||||
b. creator of a line of\n
|
||||
cosmetics.\n
|
||||
c. celebrating her silver\n
|
||||
wedding anniversary.\n
|
||||
d. a singer."
|
||||
|
||||
%message 29
|
||||
"Joan Rivers is\n\n
|
||||
a. the real name of\n
|
||||
\"Dear Abby.\"\n
|
||||
b. engaged to\n
|
||||
Johnny Carson.\n
|
||||
c. a former talk show\n
|
||||
hostess.\n
|
||||
d. polite to all\n
|
||||
those around her."
|
||||
|
||||
%message 30
|
||||
"Who starred in \"Bedtime for Bonzo?\"\n\n
|
||||
a. Clint Eastwood\n
|
||||
b. Fred Astaire\n
|
||||
c. Cary Grant\n
|
||||
d. Ronald Reagan"
|
||||
|
||||
%message 31
|
||||
"Taxes should be\n\n
|
||||
a. lower.\n
|
||||
b. higher.\n
|
||||
c. unchanged.\n
|
||||
d. eliminated."
|
||||
|
||||
%message 32
|
||||
"A moon is\n\n
|
||||
a. an astronomical body.\n
|
||||
b. a practical joke.\n
|
||||
c. a form of pie.\n
|
||||
d. all of the above."
|
||||
|
||||
%message 33
|
||||
"Marlon Brando is\n\n
|
||||
a. a singer.\n
|
||||
b. an actor.\n
|
||||
c. a politician.\n
|
||||
d. a kind of soap."
|
||||
|
||||
%message 34
|
||||
"I am presently\n\n
|
||||
a. in elementary school.\n
|
||||
b. in junior high.\n
|
||||
c. fighting acne.\n
|
||||
d. past puberty."
|
||||
|
||||
%message 35
|
||||
"Herpes is\n\n
|
||||
a. caught from toilet\n
|
||||
seats.\n
|
||||
b. a French dessert.\n
|
||||
c. socially desirable.\n
|
||||
d. fatal (if given to\n
|
||||
your spouse)."
|
||||
|
||||
%message 36
|
||||
"ERA is an abbreviation for\n\n
|
||||
a. Earnest Realtors of\n
|
||||
America.\n
|
||||
b. Equal Rights Amendment.\n
|
||||
c. Erogenous Readers\n
|
||||
Association.\n
|
||||
d. Error Recovery\n
|
||||
Associates."
|
||||
|
||||
%message 37
|
||||
"G. Gordon Liddy was associated with\n\n
|
||||
a. the Mob.\n
|
||||
b. Calvin Klein.\n
|
||||
c. Elizabeth Taylor.\n
|
||||
d. the Plumbers."
|
||||
|
||||
%message 38
|
||||
"What was illegal during Prohibition?\n\n
|
||||
a. aphrodisiacs\n
|
||||
b. alcohol\n
|
||||
c. abstinence\n
|
||||
d. perversion"
|
||||
|
||||
%message 39
|
||||
"Bonnie and\n\n
|
||||
a. Ronnie\n
|
||||
b. Clyde\n
|
||||
c. Hubbard\n
|
||||
d. Clod"
|
||||
|
||||
%message 40
|
||||
"Who spends the most time in Las Vegas?\n\n
|
||||
a. Michael J. Fox\n
|
||||
b. Wayne Newton\n
|
||||
c. J. Paul Getty\n
|
||||
d. Paul Volcker"
|
||||
|
||||
%message 41
|
||||
"Which U. S. President was not elected to office?\n\n
|
||||
a. Johnson\n
|
||||
b. Eisenhower\n
|
||||
c. Ford\n
|
||||
d. Cleveland"
|
||||
|
||||
%message 42
|
||||
"Which is not a currency?\n\n
|
||||
a. yen\n
|
||||
b. lira\n
|
||||
c. fennel\n
|
||||
d. rupee"
|
||||
|
||||
%message 43
|
||||
"Which is not a baseball team?\n\n
|
||||
a. Blue Jays\n
|
||||
b. Cardinals\n
|
||||
c. Seahawks\n
|
||||
d. Orioles"
|
||||
|
||||
%message 44
|
||||
"Who made a record album with a cover that looked like a pair of blue jeans,
|
||||
complete with a working zipper?\n\n
|
||||
a. Rolling Stones\n
|
||||
b. Boy George\n
|
||||
c. Olivia Newton Jean\n
|
||||
d. Madonna"
|
||||
|
||||
%message 45
|
||||
"The American television debut of Bob Hope,
|
||||
Dinah Shore, Elvis, and the Beatles was on\n\n
|
||||
a. \"The Ed Sullivan Show.\"\n
|
||||
b. \"Your Show of Shows.\"\n
|
||||
c. \"The Tonight Show.\"\n
|
||||
d. \"My Mother, the Car.\""
|
||||
|
||||
%message 46
|
||||
"Michael Doonesbury founded\n\n
|
||||
a. the American Nazi Party.\n
|
||||
b. Walden Puddle Commune.\n
|
||||
c. the Young Republicans.\n
|
||||
d. the Grace Jones\n
|
||||
Fan Club."
|
||||
|
||||
%message 47
|
||||
"The first baseball player to challenge the reserve clause was\n\n
|
||||
a. Philly Jo Jones.\n
|
||||
b. Roger Maris.\n
|
||||
c. Curt Flood.\n
|
||||
d. Ted Williams."
|
||||
|
||||
%message 48
|
||||
"The first Negro to play Major League Baseball was\n\n
|
||||
a. Jackie Robinson.\n
|
||||
b. Joe DiMaggio.\n
|
||||
c. Benny Goodman.\n
|
||||
d. Satchel Paige."
|
||||
|
||||
%message 49
|
||||
"Former Congressman Wilbur Mills went for a dip in the Tidal Basin with\n\n
|
||||
a. nothing on but his\n
|
||||
pride.\n
|
||||
b. a stripper named Fanne.\n
|
||||
c. his dog Spot.\n
|
||||
d. a 20-year-old secretary."
|
||||
|
||||
%message 50
|
||||
"Martha Mitchell was\n\n
|
||||
a. a porno star.\n
|
||||
b. a famous author.\n
|
||||
c. the outspoken wife of an\n
|
||||
Attorney General.\n
|
||||
d. All of the above."
|
||||
|
||||
%message 51
|
||||
"The G-Spot is supposed to be\n\n
|
||||
a. Ground Zero at a nuclear\n
|
||||
blast.\n
|
||||
b. a female erogenous zone.\n
|
||||
c. an unexplained astro-\n
|
||||
nomical discovery.\n
|
||||
d. the place where the FBI\n
|
||||
was first established."
|
||||
|
||||
%message 52
|
||||
"Hugh Hefner is usually photographed in\n\n
|
||||
a. the nude.\n
|
||||
b. a hot tub.\n
|
||||
c. his current lover's\n
|
||||
arms.\n
|
||||
d. pajamas."
|
||||
|
||||
%message 53
|
||||
"The 1973 album \"Dark Side of the Moon\" was recorded by\n\n
|
||||
a. Pink Floyd.\n
|
||||
b. Deep Purple.\n
|
||||
c. Bad News.\n
|
||||
d. the Grateful Dead."
|
||||
|
||||
|
||||
|
||||
|
||||
%message 60
|
||||
"Dynamic logic = 3."
|
||||
|
||||
%message 61
|
||||
"a"
|
||||
|
||||
%message 62
|
||||
"b"
|
||||
|
||||
%message 63
|
||||
"c"
|
||||
|
||||
%message 64
|
||||
"d"
|
||||
|
||||
%message 65
|
||||
"So far, so good.\n\n
|
||||
Now for the final question."
|
||||
|
||||
%message 66
|
||||
"Question #%v96. Correct answer is %v93."
|
||||
|
||||
%message 67
|
||||
"Please answer a, b, c, or d: "
|
||||
|
||||
%message 69
|
||||
"So far, so good.\n\n
|
||||
Now for the final question."
|
|
@ -0,0 +1,302 @@
|
|||
[logics for room 31 -- rmInsideCasino
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "rm31.msg"
|
||||
%include "gamedefs.h"
|
||||
|
||||
|
||||
|
||||
%define L_21_PLAYERS 0
|
||||
%define L_21_GIRL 1
|
||||
%define L_SLOT_PLAYERS 2
|
||||
%define L_SLOT_WINNER 3
|
||||
|
||||
|
||||
%define nearWrong21 lf0
|
||||
%define near21 lf1
|
||||
%define nearSlots lf2
|
||||
%define dealing lf3
|
||||
[%define lf4
|
||||
[%define lf5
|
||||
|
||||
|
||||
%define bjTimer lv0
|
||||
%define slotTimer lv1
|
||||
[%define lv2
|
||||
[%define lv3
|
||||
[%define lv4
|
||||
|
||||
|
||||
%object a21Game 1
|
||||
%object aSlotWinner 2
|
||||
[%object a 3
|
||||
|
||||
|
||||
|
||||
if (initLog)
|
||||
{
|
||||
SetHorizon( 91);
|
||||
|
||||
LoadPic( currentRoom);
|
||||
DrawPic( currentRoom);
|
||||
DiscardPic( currentRoom);
|
||||
|
||||
LoadView( vCasinoPatrons);
|
||||
[ LoadView( v);
|
||||
|
||||
AnimateObj( a21Game);
|
||||
IgnoreBlocks( a21Game);
|
||||
IgnoreObjs( a21Game);
|
||||
SetView( a21Game, vCasinoPatrons);
|
||||
SetLoop( a21Game, L_21_PLAYERS);
|
||||
SetCel( a21Game, 0);
|
||||
SetPriority( a21Game, 12);
|
||||
Position( a21Game, 39, 121);
|
||||
Draw( a21Game);
|
||||
StopUpdate( a21Game);
|
||||
bjTimer = 21;
|
||||
|
||||
AnimateObj( aSlotWinner);
|
||||
SetView( aSlotWinner, vCasinoPatrons);
|
||||
SetLoop( aSlotWinner, L_SLOT_WINNER);
|
||||
SetCel( aSlotWinner, 0);
|
||||
Position( aSlotWinner, 113, 128);
|
||||
Draw( aSlotWinner);
|
||||
StopUpdate( aSlotWinner);
|
||||
slotTimer = 0;
|
||||
|
||||
LoadView( vCasinoInterior);
|
||||
AddToPic( vCasinoInterior, 0, 0, 92, 116, 11, 4);
|
||||
AddToPic( vCasinoInterior, 0, 0, 111, 140, 13, 4);
|
||||
DiscardView( vCasinoInterior);
|
||||
|
||||
AddToPic( vCasinoPatrons, L_SLOT_PLAYERS, 0, 101, 128, 11, 0);
|
||||
AddToPic( vCasinoPatrons, L_SLOT_PLAYERS, 1, 138, 153, 13, 0);
|
||||
AddToPic( vCasinoPatrons, L_SLOT_PLAYERS, 2, 125, 153, 13, 0);
|
||||
AddToPic( vCasinoPatrons, L_SLOT_PLAYERS, 3, 107, 104, 11, 4);
|
||||
AddToPic( vCasinoPatrons, L_SLOT_PLAYERS, 4, 123, 126, 13, 4);
|
||||
AddToPic( vCasinoPatrons, L_SLOT_PLAYERS, 5, 114, 105, 11, 4);
|
||||
|
||||
AddToPic( vCasinoPatrons, L_21_GIRL, 0, 35, 127, 13, 4);
|
||||
[view, loop, cel, x, y, obj priority, box priority
|
||||
|
||||
|
||||
if (previousRoom == rmElevatorBottom)
|
||||
{
|
||||
egoX = 75;
|
||||
egoY = 93;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((previousRoom == rmSlots ||
|
||||
previousRoom == rmBlackjack))
|
||||
{
|
||||
egoX = sourceX;
|
||||
egoY = sourceY;
|
||||
}
|
||||
else
|
||||
{
|
||||
egoX = 77;
|
||||
egoY = 167;
|
||||
}
|
||||
}
|
||||
PositionV( ego, egoX, egoY);
|
||||
Draw( ego);
|
||||
|
||||
ShowPic( );
|
||||
|
||||
Return( );
|
||||
|
||||
} [ end initLOG
|
||||
|
||||
|
||||
Reset( nearSlots);
|
||||
if ((Posn( ego, 106, 137, 140, 143) ||
|
||||
Posn( ego, 108, 153, 120, 157) ||
|
||||
Posn( ego, 89, 128, 98, 133) ||
|
||||
Posn( ego, 88, 116, 98, 119)))
|
||||
{
|
||||
Set( nearSlots);
|
||||
Set( nearPerson);
|
||||
}
|
||||
|
||||
Reset( near21);
|
||||
if (Posn( ego, 18, 133, 47, 154))
|
||||
{
|
||||
Set( near21);
|
||||
Set( nearPerson);
|
||||
}
|
||||
|
||||
Reset( nearWrong21);
|
||||
if (Posn( ego, 31, 121, 60, 136))
|
||||
{
|
||||
Set( nearWrong21);
|
||||
Set( nearPerson);
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:handleInput
|
||||
[*****
|
||||
|
||||
if (!haveInput) {goto noInput;}
|
||||
|
||||
if ((Said( look) ||
|
||||
Said( look, room) ||
|
||||
Said( look, casino) ||
|
||||
Said( look, hall)))
|
||||
{
|
||||
Print( 1);
|
||||
}
|
||||
|
||||
if ((Said( talk, man) ||
|
||||
Said( talk, women) ||
|
||||
Said( talk, people)))
|
||||
{
|
||||
if (near21)
|
||||
{
|
||||
Print( 10);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 9);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( look, man) ||
|
||||
Said( look, women) ||
|
||||
Said( look, people)))
|
||||
{
|
||||
Print( 6);
|
||||
}
|
||||
|
||||
if ((Said( talk, blackjack, man) ||
|
||||
Said( talk, blackjack, women) ||
|
||||
Said( talk, blackjack, people) ||
|
||||
Said( look, blackjack, table) ||
|
||||
Said( look, blackjack, man) ||
|
||||
Said( look, blackjack, women) ||
|
||||
Said( look, blackjack, people)))
|
||||
{
|
||||
Print( 8);
|
||||
}
|
||||
|
||||
|
||||
if ((Said( look, table) ||
|
||||
Said( look, blackjack) ||
|
||||
Said( look, blackjack, table)))
|
||||
{
|
||||
if (nearWrong21)
|
||||
{
|
||||
Print( 3);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 2);
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( look, slots))
|
||||
{
|
||||
Print( 5);
|
||||
}
|
||||
|
||||
|
||||
if ((Said( bet, money) ||
|
||||
Said( play) ||
|
||||
Said( gamble, rol)))
|
||||
{
|
||||
Print( 7);
|
||||
}
|
||||
|
||||
if ((Said( play, blackjack) ||
|
||||
Said( sit) ||
|
||||
Said( sit, stool) ||
|
||||
Said( sit, down)))
|
||||
{
|
||||
if (nearWrong21)
|
||||
{
|
||||
Print( 3);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!near21)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Set( OK);
|
||||
sourceX = egoX;
|
||||
sourceY = egoY;
|
||||
newRoom = rmBlackjack;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( use, slot) ||
|
||||
Said( pull, handle) ||
|
||||
Said( put, money, slot) ||
|
||||
Said( put, money, machine) ||
|
||||
Said( play, slots)))
|
||||
{
|
||||
if (!nearSlots)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Set( OK);
|
||||
sourceX = egoX;
|
||||
sourceY = egoY;
|
||||
newRoom = rmSlots;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
[*****
|
||||
:noInput
|
||||
[*****
|
||||
|
||||
--slotTimer;
|
||||
if (slotTimer == 1)
|
||||
{
|
||||
SetCel( aSlotWinner, 0);
|
||||
StopUpdate( aSlotWinner);
|
||||
ForceUpdate( aSlotWinner);
|
||||
Random( 33, 77, bjTimer);
|
||||
}
|
||||
|
||||
if (slotTimer == 21)
|
||||
{
|
||||
StartUpdate( aSlotWinner);
|
||||
}
|
||||
|
||||
|
||||
--bjTimer;
|
||||
if (bjTimer == 1)
|
||||
{
|
||||
Toggle( dealing);
|
||||
if (!dealing)
|
||||
{
|
||||
SetCel( a21Game, 0);
|
||||
StopUpdate( a21Game);
|
||||
ForceUpdate( a21Game);
|
||||
Random( 55, 222, slotTimer);
|
||||
}
|
||||
else
|
||||
{
|
||||
StartUpdate( a21Game);
|
||||
Random( 11, 33, bjTimer);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:exit [ test for leaving the room
|
||||
[*****
|
||||
|
||||
if (edgeEgoHit == BOTTOM) {newRoom = rmOutsideCasino;}
|
||||
if (edgeEgoHit == TOP) {newRoom = rmElevatorBottom;}
|
|
@ -0,0 +1,40 @@
|
|||
[messages for room 31 -- rmInsideCasino
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"You are in the casino.
|
||||
There are slot machines to the right, and blackjack tables to the left.
|
||||
This place is a gambler's paradise!"
|
||||
|
||||
%message 2
|
||||
"The front blackjack table is presently unoccupied."
|
||||
|
||||
%message 3
|
||||
"The rear blackjack table is rather busy now. Try the front table."
|
||||
|
||||
%message 4
|
||||
"Move to an unoccupied slot machine first."
|
||||
|
||||
%message 5
|
||||
"At least one person appears to be winning at the slot machines.
|
||||
Perhaps you could too."
|
||||
|
||||
%message 6
|
||||
"They appear to be having a great time. Perhaps you'd like to join them?"
|
||||
|
||||
%message 7
|
||||
"Move to a slot machine and put in some money.
|
||||
Or, find an empty blackjack table and sit down."
|
||||
|
||||
%message 8
|
||||
"You could, if you'd sit down first."
|
||||
|
||||
%message 9
|
||||
"Don't interrupt them; they're trying to win."
|
||||
|
||||
%message 10
|
||||
"Casino dealers are notoriously silent."
|
||||
|
|
@ -0,0 +1,472 @@
|
|||
[logics for room 32 -- rmOutsideCasino
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "rm32.msg"
|
||||
%include "gamedefs.h"
|
||||
|
||||
|
||||
|
||||
%define L_SIGN 0
|
||||
%define L_DOOR 1
|
||||
%define L_DOOR_WITH_EGO 2
|
||||
|
||||
%define nearDoor lf0
|
||||
%define doorsOpen lf1
|
||||
%define manDone lf2
|
||||
%define doorDone lf3
|
||||
%define nearMan lf4
|
||||
%define manOnScreen lf5
|
||||
|
||||
%define manScript lv0
|
||||
%define manTimer lv1
|
||||
|
||||
%object aDoor1 1
|
||||
%object aDoor2 2
|
||||
%object aMan 3
|
||||
%object aSign 4
|
||||
|
||||
|
||||
|
||||
if (initLog)
|
||||
{
|
||||
if (watchHours > 4 && [ Anything after 5 am.
|
||||
watchHours < 10)
|
||||
{
|
||||
NewRoom( rmSunrise);
|
||||
}
|
||||
|
||||
SetHorizon( 107);
|
||||
|
||||
LoadPic( currentRoom);
|
||||
DrawPic( currentRoom);
|
||||
DiscardPic( currentRoom);
|
||||
|
||||
LoadLogics( lgcStreet);
|
||||
|
||||
LoadView( vCasinoExterior);
|
||||
|
||||
Random( 1, 3, work);
|
||||
|
||||
[ Set( forceAtest);
|
||||
if (forceAtest)
|
||||
{
|
||||
work = 1;
|
||||
}
|
||||
if (currentStatus == NORMAL &&
|
||||
work == 1 &&
|
||||
ObjInRoom( iApple, currentRoom))
|
||||
{
|
||||
LoadView( vCasinoManInBarrel);[ View.132
|
||||
|
||||
AnimateObj( aMan);
|
||||
SetView( aMan, vCasinoManInBarrel);
|
||||
Position( aMan, 120, 131);
|
||||
Random( 4, 7, manTimer);
|
||||
ObjectOnLand( aMan);
|
||||
}
|
||||
|
||||
|
||||
AnimateObj( aDoor1);
|
||||
IgnoreBlocks( aDoor1);
|
||||
IgnoreObjs( aDoor1);
|
||||
SetView( aDoor1, vCasinoExterior);
|
||||
SetLoop( aDoor1, L_DOOR);
|
||||
FixLoop( aDoor1);
|
||||
SetCel( aDoor1, 0);
|
||||
StopCycling( aDoor1);
|
||||
|
||||
AnimateObj( aDoor2);
|
||||
IgnoreBlocks( aDoor2);
|
||||
IgnoreObjs( aDoor2);
|
||||
SetView( aDoor2, vCasinoExterior);
|
||||
SetLoop( aDoor2, L_DOOR);
|
||||
FixLoop( aDoor2);
|
||||
SetCel( aDoor2, 1);
|
||||
StopCycling( aDoor2);
|
||||
|
||||
if (slowProcessor)
|
||||
{
|
||||
AddToPic( vCasinoExterior, L_SIGN, 1, 51, 61, 4, 4);
|
||||
[view, loop, cel, x, y, obj priority, box priority
|
||||
}
|
||||
else
|
||||
{
|
||||
AnimateObj( aSign);
|
||||
IgnoreHorizon( aSign);
|
||||
IgnoreBlocks( aSign);
|
||||
IgnoreObjs( aSign);
|
||||
SetView( aSign, vCasinoExterior);
|
||||
SetLoop( aSign, L_SIGN);
|
||||
Position( aSign, 51, 61);
|
||||
Draw( aSign);
|
||||
}
|
||||
|
||||
|
||||
if (previousRoom == rmInsideCasino)
|
||||
{
|
||||
egoX = 75;
|
||||
egoY = 109;
|
||||
SetLoop( ego, FACING_FRONT);
|
||||
|
||||
Position( aDoor1, 57, 108);
|
||||
Position( aDoor2, 88, 108);
|
||||
|
||||
Draw( aDoor1);
|
||||
Draw( aDoor2);
|
||||
Set( doorsOpen);
|
||||
}
|
||||
else
|
||||
{
|
||||
Position( aDoor1, 67, 108);
|
||||
Draw( aDoor1);
|
||||
|
||||
Position( aDoor2, 78, 108);
|
||||
Draw( aDoor2);
|
||||
|
||||
if (previousRoom == rmDarkAlley)
|
||||
{
|
||||
egoX = 0;
|
||||
egoY = 141;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (previousRoom != rmOutsideChapel)
|
||||
{
|
||||
egoX = 77;
|
||||
egoY = 155;
|
||||
}
|
||||
}
|
||||
}
|
||||
PositionV( ego, egoX, egoY);
|
||||
Draw( ego);
|
||||
ObjectOnAnything( ego);
|
||||
|
||||
Call( lgcStreet);
|
||||
|
||||
ShowPic( );
|
||||
|
||||
Return( );
|
||||
|
||||
} [ end initLOG
|
||||
|
||||
|
||||
|
||||
Reset( nearMan);
|
||||
Distance( aMan, ego, work);
|
||||
if (manOnScreen && work < 25)
|
||||
{
|
||||
Set( nearMan);
|
||||
}
|
||||
|
||||
Reset( nearDoor);
|
||||
if (Posn( ego, 63, 100, 86, 113))
|
||||
{
|
||||
Set( nearDoor);
|
||||
}
|
||||
|
||||
if (manScript == 3) [ Waiting to buy apple.
|
||||
{
|
||||
Distance( aMan, ego, work);
|
||||
if (work < ERROR &&
|
||||
work > 20) [ Ego walked away from him.
|
||||
{
|
||||
Print( 10);
|
||||
Set( manDone);
|
||||
manScript = 1;
|
||||
manTimer = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:handleInput
|
||||
[*****
|
||||
|
||||
if (!haveInput) {goto noInput;}
|
||||
|
||||
if ((Said( look) ||
|
||||
Said( look, building) ||
|
||||
Said( look, room) ||
|
||||
Said( look, casino) ||
|
||||
Said( look, hotel)))
|
||||
{
|
||||
Print( 1);
|
||||
}
|
||||
|
||||
if ((Said( look, plant) ||
|
||||
Said( look$in, plant) ||
|
||||
Said( look$in, pot) ||
|
||||
Said( look, pot)))
|
||||
{
|
||||
Print( 15);
|
||||
}
|
||||
|
||||
if (Said( open, door))
|
||||
{
|
||||
if (nearTaxi)
|
||||
{
|
||||
Reset( haveMatch);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 16);
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( look, wall))
|
||||
{
|
||||
Print( 20);
|
||||
}
|
||||
|
||||
if ((Said( look, window) ||
|
||||
Said( look, glass) ||
|
||||
Said( look, door) ||
|
||||
Said( look, glass, door) ||
|
||||
Said( look$in, glass)))
|
||||
{
|
||||
Print( 17);
|
||||
}
|
||||
|
||||
if (manOnScreen)
|
||||
{
|
||||
if (Said( look, man))
|
||||
{
|
||||
Print( 5);
|
||||
}
|
||||
|
||||
if (Said( talk, man))
|
||||
{
|
||||
if (!nearMan)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Has( iApple))
|
||||
{
|
||||
Print( 19);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (manScript < 3)
|
||||
{
|
||||
Print( 18);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 6);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( ask, name) ||
|
||||
Said( ask, man, his, name) ||
|
||||
Said( get, name) ||
|
||||
Said( ask, his, name) ||
|
||||
Said( ask, man, name) ||
|
||||
Said( name) ||
|
||||
Said( name, man) ||
|
||||
Said( man, name)))
|
||||
{
|
||||
if (!nearMan)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 7);
|
||||
}
|
||||
}
|
||||
|
||||
if ((manScript == 2 ||
|
||||
manScript == 3))
|
||||
{
|
||||
if ((Said( no) ||
|
||||
Said( get, lost, rol) ||
|
||||
Said( go, away, rol) ||
|
||||
Said( hump, off, rol) ||
|
||||
Said( no, thanks)))
|
||||
{
|
||||
Print( 12);
|
||||
Set( manDone);
|
||||
manScript = 3;
|
||||
manTimer = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( ask, last, name) ||
|
||||
Said( last, name) ||
|
||||
Said( last, name, man) ||
|
||||
Said( man, last, name)))
|
||||
{
|
||||
if (!nearMan)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 8);
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( take, barrel))
|
||||
{
|
||||
if (!nearMan)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 13);
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( look$in, barrel))
|
||||
{
|
||||
if (!nearMan)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 14);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( buy, rol) ||
|
||||
Said( give, money, man) ||
|
||||
Said( pay, rol)))
|
||||
{
|
||||
if (!nearMan)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!ObjInRoom( iApple, currentRoom))
|
||||
{
|
||||
Print( 11);
|
||||
}
|
||||
else
|
||||
{
|
||||
currentScore += 3;
|
||||
Print( 9);
|
||||
Get( iApple);
|
||||
--dollars;
|
||||
Set( manDone);
|
||||
manTimer = 0;
|
||||
manScript = 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:noInput
|
||||
[*****
|
||||
|
||||
if (aSecondPassed)
|
||||
{
|
||||
--manTimer;
|
||||
if (manTimer == 1)
|
||||
{
|
||||
Set( manDone);
|
||||
}
|
||||
}
|
||||
|
||||
if (manScript == 3 && edgeEgoHit)
|
||||
{
|
||||
Print( 4);
|
||||
}
|
||||
|
||||
if (manScript == 4 && objHitEdge == aMan)
|
||||
{
|
||||
Set( manDone);
|
||||
}
|
||||
|
||||
|
||||
if (manDone)
|
||||
{
|
||||
Reset( manDone);
|
||||
++manScript;
|
||||
|
||||
if (manScript == 1)
|
||||
{
|
||||
Draw( aMan);
|
||||
Set( manOnScreen);
|
||||
manScript = 2; [ So we can make him chase ego again later.
|
||||
}
|
||||
|
||||
if (manScript == 2)
|
||||
{
|
||||
StartCycling( aMan);
|
||||
FollowEgo( aMan, 8, manDone);
|
||||
}
|
||||
|
||||
if (manScript == 3)
|
||||
{
|
||||
manTimer = 11;
|
||||
StopCycling( aMan);
|
||||
Print( 2);
|
||||
Print( 3);
|
||||
Set( nearPerson);
|
||||
}
|
||||
|
||||
if (manScript == 4)
|
||||
{
|
||||
StartCycling( aMan);
|
||||
Wander( aMan);
|
||||
}
|
||||
|
||||
if (manScript == 5)
|
||||
{
|
||||
Erase( aMan);
|
||||
Reset( manOnScreen);
|
||||
manScript = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (nearDoor)
|
||||
{
|
||||
IgnoreBlocks( ego);
|
||||
ObserveObjs( aDoor1);
|
||||
ObserveObjs( aDoor2);
|
||||
ObserveObjs( ego);
|
||||
|
||||
if (!doorsOpen)
|
||||
{
|
||||
Set( doorsOpen);
|
||||
MoveObj( aDoor1, 57, 108, 1, done);
|
||||
MoveObj( aDoor2, 88, 108, 1, done);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ObserveBlocks( ego);
|
||||
if (doorsOpen)
|
||||
{
|
||||
Reset( doorsOpen);
|
||||
IgnoreObjs( aDoor1);
|
||||
IgnoreObjs( aDoor2);
|
||||
MoveObj( aDoor1, 67, 108, 1, done);
|
||||
MoveObj( aDoor2, 78, 108, 1, done);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
[*****
|
||||
:exit [ test for leaving the room
|
||||
[*****
|
||||
|
||||
Call( lgcStreet);
|
||||
|
||||
if (edgeEgoHit == TOP) {newRoom = rmInsideCasino;}
|
||||
if (edgeEgoHit == RIGHT) {newRoom = rmOutsideChapel;}
|
||||
if (edgeEgoHit == LEFT) {newRoom = rmDarkAlley;}
|
||||
|
|
@ -0,0 +1,75 @@
|
|||
[messages for room 32 -- rmOutsideCasino
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"It's a casino!"
|
||||
|
||||
%message 2
|
||||
"\"Hello, sir.
|
||||
Would you help out a poor unfortunate by purchasing an apple?\""
|
||||
|
||||
%message 3
|
||||
"\"The price is reasonable: only $1.00.\""
|
||||
|
||||
%message 4
|
||||
"\"I take that as a 'No,'\" he says pleasantly.
|
||||
\"Very well then, perhaps some other time.\""
|
||||
|
||||
%message 5
|
||||
"He's yet another poor soul who donated his everything so the shrine
|
||||
of Lost Wages could continue to flourish."
|
||||
|
||||
%message 6
|
||||
"\"My pleasure was always the slot machines,\" he says.
|
||||
\"Say, are we going to stand here and chitchat all night,
|
||||
or am I going to make a sale?\""
|
||||
|
||||
%message 7
|
||||
"\"Why, Steve. Nice of you to ask,\" he responds."
|
||||
|
||||
%message 8
|
||||
"\"Well, my friends call me 'Woz,' but I don't consider you a friend.\""
|
||||
|
||||
%message 9
|
||||
"\"Thank you very much, sir.
|
||||
Please call again, whenever you are in the neighborhood,\"
|
||||
says the man. And with that, he walks away into the night."
|
||||
|
||||
%message 10
|
||||
"\"Hey, come back!\" says the man.
|
||||
\"Are you sure you don't want to buy an apple?\""
|
||||
|
||||
%message 11
|
||||
"\"You know,\" says the man, peering deep into his barrel,
|
||||
\"I'm all out! But thank you for your continued interest.\""
|
||||
|
||||
%message 12
|
||||
"\"Ok, be that way!\" he says, and disappears into the night."
|
||||
|
||||
%message 13
|
||||
"\"Oh no, you don't!\" exclaims the man."
|
||||
|
||||
%message 14
|
||||
"\"Say, you really did lose everything,\" you tell the man."
|
||||
|
||||
%message 15
|
||||
"They are nicely manicured, but of no help to you."
|
||||
|
||||
%message 16
|
||||
"They're automatic. Get closer."
|
||||
|
||||
%message 17
|
||||
"Pretty flashy, eh?"
|
||||
|
||||
%message 18
|
||||
"\"Apples. Apples! APPLES for sale!!\""
|
||||
|
||||
%message 19
|
||||
"\"Thanks a lot. See you later, pal.\""
|
||||
|
||||
%message 20
|
||||
"Isn't it wonderful what can be done with a few light bulbs?"
|
||||
|
|
@ -0,0 +1,252 @@
|
|||
[logics for room 33 -- rmOutsideChapel
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "rm33.msg"
|
||||
%include "gamedefs.h"
|
||||
|
||||
|
||||
|
||||
[ %define L_DOORS 2
|
||||
|
||||
%define nearDoor lf0
|
||||
%define doorOpenDone lf1
|
||||
%define nearFlasher lf2
|
||||
%define coatOpen lf3
|
||||
|
||||
%object aDoor 1
|
||||
%object aSign 2
|
||||
%object aFlasher 3
|
||||
|
||||
|
||||
|
||||
if (initLog)
|
||||
{
|
||||
if (watchHours > 4 && [ Anything after 5 am.
|
||||
watchHours < 10)
|
||||
{
|
||||
NewRoom( rmSunrise);
|
||||
}
|
||||
|
||||
LoadPic( currentRoom);
|
||||
DrawPic( currentRoom);
|
||||
DiscardPic( currentRoom);
|
||||
|
||||
LoadLogics( lgcStreet);
|
||||
|
||||
LoadView( vChapelExterior);
|
||||
LoadView( vFlasher);
|
||||
|
||||
|
||||
AnimateObj( aFlasher);
|
||||
SetView( aFlasher, vFlasher);
|
||||
SetCel( aFlasher, 0);
|
||||
Position( aFlasher, 129, 145);
|
||||
Draw( aFlasher);
|
||||
StopCycling( aFlasher);
|
||||
|
||||
AnimateObj( aDoor);
|
||||
IgnoreHorizon( aDoor);
|
||||
IgnoreBlocks( aDoor);
|
||||
IgnoreObjs( aDoor);
|
||||
SetView( aDoor, vChapelExterior);
|
||||
SetLoop( aDoor, 2);
|
||||
SetCel( aDoor, 0);
|
||||
Position( aDoor, 83, 114);
|
||||
Draw( aDoor);
|
||||
work = DOOR_CYCLE_TIME;
|
||||
CycleTime( aDoor, work);
|
||||
StopUpdate( aDoor);
|
||||
|
||||
AddToPic( vChapelExterior, 1, 0, 63, 60, 4, 4);
|
||||
[view, loop, cel, x, y, obj priority, box priority
|
||||
|
||||
AnimateObj( aSign);
|
||||
IgnoreHorizon( aSign);
|
||||
IgnoreBlocks( aSign);
|
||||
IgnoreObjs( aSign);
|
||||
SetView( aSign, vChapelExterior);
|
||||
SetLoop( aSign, 0);
|
||||
Position( aSign, 86, 42);
|
||||
CycleTime( aSign, two);
|
||||
Draw( aSign);
|
||||
|
||||
|
||||
if (previousRoom == rmInsideChapel)
|
||||
{
|
||||
egoX = 93;
|
||||
egoY = 116;
|
||||
SetLoop( ego, FACING_FRONT);
|
||||
Reset( programControl);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (previousRoom == rmDarkAlley)
|
||||
{
|
||||
egoX = 153;
|
||||
egoY = 138;
|
||||
}
|
||||
}
|
||||
PositionV( ego, egoX, egoY);
|
||||
Draw( ego);
|
||||
|
||||
Call( lgcStreet);
|
||||
|
||||
ShowPic( );
|
||||
|
||||
Return( );
|
||||
|
||||
} [ end initLOG
|
||||
|
||||
|
||||
|
||||
Reset( nearDoor);
|
||||
if (Posn( ego, 80, 115, 105, 120))
|
||||
{
|
||||
Set( nearDoor);
|
||||
}
|
||||
|
||||
Reset( nearFlasher);
|
||||
if (Posn( ego, 120, 129, 142, 144))
|
||||
{
|
||||
Set( nearFlasher);
|
||||
Set( nearPerson);
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:handleInput
|
||||
[*****
|
||||
|
||||
if (!haveInput) {goto noInput;}
|
||||
|
||||
if ((Said( look) ||
|
||||
Said( look, room) ||
|
||||
Said( look, building) ||
|
||||
Said( look, chapel)))
|
||||
{
|
||||
Print( 1);
|
||||
}
|
||||
|
||||
if (Said( look, man))
|
||||
{
|
||||
if (!coatOpen)
|
||||
{
|
||||
Print( 4);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 5);
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( talk, man, anyword, rol))
|
||||
{
|
||||
Print( 12);
|
||||
}
|
||||
|
||||
if (Said( talk, man))
|
||||
{
|
||||
if (!coatOpen)
|
||||
{
|
||||
Print( 6);
|
||||
Print( 7);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 8);
|
||||
if (!talkedToFlasher)
|
||||
{
|
||||
Set( talkedToFlasher);
|
||||
currentScore += 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( get, coat, rol) ||
|
||||
Said( anyword, man, rol)))
|
||||
{
|
||||
Print( 9);
|
||||
}
|
||||
|
||||
|
||||
if (Said( look, door))
|
||||
{
|
||||
if (nearTaxi)
|
||||
{
|
||||
Reset( haveMatch);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 2);
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( open, door))
|
||||
{
|
||||
if (nearTaxi)
|
||||
{
|
||||
Reset( haveMatch);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!nearDoor)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Set( OK);
|
||||
StopMotion( ego);
|
||||
Set( programControl);
|
||||
StartUpdate( aDoor);
|
||||
EndOfLoop( aDoor, doorOpenDone);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( look, fence) ||
|
||||
Said( climb, fence) ||
|
||||
Said( climb, over, fence) ||
|
||||
Said( look, over, fence)))
|
||||
{
|
||||
Print( 10);
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:noInput
|
||||
[*****
|
||||
|
||||
if (nearFlasher)
|
||||
{
|
||||
if (!coatOpen)
|
||||
{
|
||||
Set( coatOpen);
|
||||
EndOfLoop( aFlasher, done);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (coatOpen)
|
||||
{
|
||||
Reset( coatOpen);
|
||||
BeginningOfLoop( aFlasher, done);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:exit [ test for leaving the room
|
||||
[*****
|
||||
|
||||
Call( lgcStreet);
|
||||
|
||||
if (doorOpenDone)
|
||||
{
|
||||
Reset( programControl);
|
||||
newRoom = rmInsideChapel;
|
||||
}
|
||||
if (edgeEgoHit == LEFT) {newRoom = rmOutsideCasino;}
|
||||
if (edgeEgoHit == RIGHT) {newRoom = rmDarkAlley;}
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
[messages for room 33 -- rmOutsideChapel
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"You are outside a romantic, quickie marriage parlor."
|
||||
|
||||
%message 2
|
||||
"It's a door. Try opening it."
|
||||
|
||||
%message 3
|
||||
"Funny. No one knocks back."
|
||||
|
||||
%message 4
|
||||
"It's a guy wearing a trench coat."
|
||||
|
||||
%message 5
|
||||
"It's obvious he doesn't have much to hide!"
|
||||
|
||||
%message 6
|
||||
"You greet the stranger in the trench coat."
|
||||
|
||||
%message 7
|
||||
"\"Hey, sonny! Come over here!!\" he replies."
|
||||
|
||||
%message 8
|
||||
"\"Say,\" you ask him. \"By any chance, is your name Shorty?\""
|
||||
|
||||
%message 9
|
||||
"You have better things to do than mess around with this pervert."
|
||||
|
||||
%message 10
|
||||
"It's there to keep you from going that way!"
|
||||
|
||||
%message 11
|
||||
"Strange, you think."
|
||||
|
||||
%message 12
|
||||
"He doesn't reply."
|
||||
|
|
@ -0,0 +1,448 @@
|
|||
[logics for room 34 -- rmInsideChapel
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "rm34.msg"
|
||||
%include "gamedefs.h"
|
||||
|
||||
|
||||
|
||||
#define TALK_TIME 3
|
||||
|
||||
#define L_TALKING 0
|
||||
#define L_WALKING 1
|
||||
|
||||
%define nearAlter lf0
|
||||
%define gotMarried lf1
|
||||
%define fawnHere lf2
|
||||
%define ministerHere lf3
|
||||
|
||||
%object aCandle1 1
|
||||
%object aCandle2 2
|
||||
%object aFawn 3
|
||||
%object aMinister 4
|
||||
|
||||
|
||||
|
||||
if (initLog)
|
||||
{
|
||||
LoadPic( currentRoom);
|
||||
DrawPic( currentRoom);
|
||||
DiscardPic( currentRoom);
|
||||
|
||||
LoadView( vChapelInterior);
|
||||
|
||||
AddToPic( vChapelInterior, 0, 0, 62, 120, 0, 0);
|
||||
AddToPic( vChapelInterior, 0, 0, 93, 120, 0, 0);
|
||||
[view, loop, cel, x, y, obj priority, box priority
|
||||
|
||||
AnimateObj( aCandle1);
|
||||
IgnoreObjs( aCandle1);
|
||||
SetView( aCandle1, vChapelInterior);
|
||||
SetLoop( aCandle1, 1);
|
||||
SetCel( aCandle1, 0);
|
||||
SetPriority( aCandle1, 11);
|
||||
Position( aCandle1, 62, 93);
|
||||
Draw( aCandle1);
|
||||
|
||||
AnimateObj( aCandle2);
|
||||
IgnoreObjs( aCandle2);
|
||||
Position( aCandle2, 93, 93);
|
||||
SetView( aCandle2, vChapelInterior);
|
||||
SetLoop( aCandle2, 1);
|
||||
SetCel( aCandle2, 1);
|
||||
SetPriority( aCandle2, 11);
|
||||
Draw( aCandle2);
|
||||
|
||||
|
||||
if (!fawnInRoom &&
|
||||
!marriedFawn &&
|
||||
gaveFawnEverything)
|
||||
{
|
||||
Set( fawnHere);
|
||||
Set( ministerHere);
|
||||
Set( musicDone);
|
||||
|
||||
LoadView( vFawn);
|
||||
LoadView( vChapelMinister);
|
||||
LoadSound( mWedding);
|
||||
|
||||
AnimateObj( aFawn);
|
||||
SetView( aFawn, vFawn);
|
||||
Position( aFawn, 70, 120);
|
||||
SetLoop( aFawn, FACING_FRONT);
|
||||
Draw( aFawn);
|
||||
StopCycling( aFawn);
|
||||
|
||||
AnimateObj( aMinister);
|
||||
SetView( aMinister, vChapelMinister);
|
||||
SetLoop( aMinister, L_TALKING);
|
||||
Position( aMinister, 76, 113);
|
||||
Draw( aMinister);
|
||||
StopCycling( aMinister)
|
||||
}
|
||||
|
||||
Position( ego, 76, 167);
|
||||
Draw( ego);
|
||||
|
||||
ShowPic( );
|
||||
|
||||
if (unsuccessfulCeremony)
|
||||
{
|
||||
Reset( unsuccessfulCeremony);
|
||||
Print( 27);
|
||||
}
|
||||
|
||||
Return( );
|
||||
|
||||
} [ end initLOG
|
||||
|
||||
|
||||
Reset( nearAlter);
|
||||
if (fawnHere &&
|
||||
Posn( ego, 61, 114, 94, 130))
|
||||
{
|
||||
Set( nearAlter);
|
||||
Set( nearPerson);
|
||||
}
|
||||
|
||||
|
||||
|
||||
[*****
|
||||
:handleInput
|
||||
[*****
|
||||
|
||||
if (!haveInput) {goto noInput;}
|
||||
|
||||
if ((Said( look) ||
|
||||
Said( look, room) ||
|
||||
Said( look, chapel)))
|
||||
{
|
||||
if (!fawnHere)
|
||||
{
|
||||
Print( 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 2);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( look, window) ||
|
||||
Said( look, heart) ||
|
||||
Said( look, painting) ||
|
||||
Said( look, wall) ||
|
||||
Said( look, out, window)))
|
||||
{
|
||||
Print( 28);
|
||||
}
|
||||
|
||||
if ((Said( look, altar) ||
|
||||
Said( look, pews)))
|
||||
{
|
||||
Print( 29);
|
||||
}
|
||||
|
||||
if (Said( look, ceiling))
|
||||
{
|
||||
Print( 38);
|
||||
}
|
||||
|
||||
|
||||
if ((Said( sit, pews) ||
|
||||
Said( sit) ||
|
||||
Said( sit, down) ||
|
||||
Said( sit, in, pews) ||
|
||||
Said( sit, on, pews)))
|
||||
{
|
||||
Print( 30);
|
||||
}
|
||||
|
||||
if (Said( look, candles))
|
||||
{
|
||||
Print( 32);
|
||||
}
|
||||
|
||||
if (Said( take, candles))
|
||||
{
|
||||
Print( 33);
|
||||
}
|
||||
|
||||
if ((Said( blow, out, candles) ||
|
||||
Said( blow, candles, out) ||
|
||||
Said( put, candles, out) ||
|
||||
Said( put, out, candles)))
|
||||
{
|
||||
Print( 39);
|
||||
}
|
||||
|
||||
|
||||
if (ministerHere &&
|
||||
Said( look, man))
|
||||
{
|
||||
Print( 34);
|
||||
}
|
||||
|
||||
if (ministerHere &&
|
||||
Said( talk, man))
|
||||
{
|
||||
Print( 35);
|
||||
Print( 37);
|
||||
}
|
||||
|
||||
if (fawnHere &&
|
||||
Said( talk, girl))
|
||||
{
|
||||
Print( 36);
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (fawnHere &&
|
||||
Said( look, fawn))
|
||||
{
|
||||
Print( 2);
|
||||
}
|
||||
|
||||
if (!script &&
|
||||
Said( kiss, fawn))
|
||||
{
|
||||
Print( 23);
|
||||
}
|
||||
|
||||
if (!script &&
|
||||
(Said( marry, fawn) ||
|
||||
Said( marry) ||
|
||||
Said( say, vows) ||
|
||||
Said( give, money, minister) ||
|
||||
Said( ask, minister, marry, us) ||
|
||||
Said( marry, us) ||
|
||||
Said( give, minister) ||
|
||||
Said( pay, rol) ||
|
||||
Said( get, married) ||
|
||||
Said( get, married, fawn) ||
|
||||
Said( talk, minister)))
|
||||
{
|
||||
if (!fawnHere)
|
||||
{
|
||||
Print( 31);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!nearAlter)
|
||||
{
|
||||
Print( 26);
|
||||
}
|
||||
else
|
||||
{
|
||||
Set( scriptDone);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:noInput
|
||||
[*****
|
||||
|
||||
if (scriptDone)
|
||||
{
|
||||
Reset( scriptDone);
|
||||
++script;
|
||||
step = 1;
|
||||
|
||||
if (script == 1)
|
||||
{
|
||||
IgnoreObjs( ego);
|
||||
Set( programControl);
|
||||
PreventInput();
|
||||
|
||||
if (egoX == 80)
|
||||
{
|
||||
script = 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
x = 80;
|
||||
MoveObjV( ego, x, egoY, step, scriptDone);
|
||||
}
|
||||
}
|
||||
|
||||
if (script == 2)
|
||||
{
|
||||
PreventInput();
|
||||
MoveObj( ego, 80, 120, 1, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 3)
|
||||
{
|
||||
PreventInput();
|
||||
SetLoop( aFawn, FACING_BACK);
|
||||
|
||||
StopUpdate( ego);
|
||||
SetLoop( ego, FACING_BACK);
|
||||
ForceUpdate( ego);
|
||||
|
||||
Print( 3);
|
||||
Print( 4);
|
||||
StartCycling( aMinister);
|
||||
scriptTimer = TALK_TIME;
|
||||
}
|
||||
|
||||
if (script == 4)
|
||||
{
|
||||
Print( 5);
|
||||
scriptTimer = TALK_TIME;
|
||||
}
|
||||
|
||||
if (script == 5)
|
||||
{
|
||||
Print( 6);
|
||||
scriptTimer = TALK_TIME;
|
||||
}
|
||||
|
||||
if (script == 6)
|
||||
{
|
||||
Print( 7);
|
||||
Print( 8);
|
||||
scriptTimer = TALK_TIME;
|
||||
}
|
||||
|
||||
if (script == 7)
|
||||
{
|
||||
Print( 9);
|
||||
scriptTimer = TALK_TIME;
|
||||
}
|
||||
|
||||
if (script == 8)
|
||||
{
|
||||
Print( 10);
|
||||
Print( 11);
|
||||
|
||||
if (dollars < 100)
|
||||
{
|
||||
script = 9;
|
||||
}
|
||||
else
|
||||
{
|
||||
script = 101;
|
||||
}
|
||||
}
|
||||
|
||||
if (script == 9) [ Start the "not enough money" branch.
|
||||
{
|
||||
Print( 13);
|
||||
Print( 14);
|
||||
|
||||
IgnoreObjs( aMinister);
|
||||
RepositionTo( aMinister, 76, 121);
|
||||
SetLoop( aMinister, L_WALKING);
|
||||
MoveObj( aMinister, 76, 167, 2, scriptDone);
|
||||
scriptCycles = 12;
|
||||
}
|
||||
|
||||
if (script == 10)
|
||||
{
|
||||
Print( 15);
|
||||
SetLoop( aFawn, FACING_FRONT);
|
||||
|
||||
StartUpdate( ego);
|
||||
MoveObj( ego, 76, 167, 1, scriptDone);
|
||||
scriptCycles = 12;
|
||||
}
|
||||
|
||||
if (script == 11)
|
||||
{
|
||||
Erase( aMinister);
|
||||
Reset( ministerHere);
|
||||
Print( 16);
|
||||
Print( 17);
|
||||
Print( 18);
|
||||
Print( 19);
|
||||
}
|
||||
|
||||
if (script == 12)
|
||||
{
|
||||
Print( 20);
|
||||
Erase( ego);
|
||||
Set( unsuccessfulCeremony);
|
||||
Reset( programControl);
|
||||
AcceptInput();
|
||||
newRoom = rmOutsideChapel;
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (script == 101) [ He's got enough to pay for it.
|
||||
{
|
||||
Print( 12);
|
||||
Print( 21);
|
||||
dollars -= 100;
|
||||
Set( marriedFawn);
|
||||
IgnoreObjs( aMinister);
|
||||
SetLoop( aMinister, L_WALKING);
|
||||
RepositionTo( aMinister, 76, 121);
|
||||
StartCycling( aMinister);
|
||||
MoveObj( aMinister, 76, 167, 2, scriptDone);
|
||||
scriptCycles = 12;
|
||||
}
|
||||
|
||||
if (script == 102)
|
||||
{
|
||||
Print( 22);
|
||||
}
|
||||
|
||||
if (script == 103)
|
||||
{
|
||||
Erase( aMinister);
|
||||
|
||||
Print( 23);
|
||||
|
||||
StartUpdate( aFawn);
|
||||
StartCycling( aFawn);
|
||||
MoveObj( aFawn, 76, 167, 2, scriptDone);
|
||||
scriptCycles = 12;
|
||||
}
|
||||
|
||||
if (script == 104)
|
||||
{
|
||||
Print( 24);
|
||||
StartUpdate( ego);
|
||||
StartMotion( ego);
|
||||
Reset( programControl);
|
||||
ObserveObjs( ego);
|
||||
}
|
||||
|
||||
if (script == 105)
|
||||
{
|
||||
Erase( aFawn);
|
||||
Set( gotMarried);
|
||||
currentScore += 12;
|
||||
Reset( fawnHere);
|
||||
StopSound();
|
||||
Set( fawnInRoom);
|
||||
script = 0;
|
||||
AcceptInput();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (fawnHere && musicDone)
|
||||
{
|
||||
Sound( mWedding, musicDone);
|
||||
}
|
||||
|
||||
|
||||
|
||||
[*****
|
||||
:exit [ test for leaving the room
|
||||
[*****
|
||||
|
||||
if (edgeEgoHit == BOTTOM)
|
||||
{
|
||||
newRoom = rmOutsideChapel;
|
||||
if (gotMarried)
|
||||
{
|
||||
Print( 25);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,147 @@
|
|||
[messages for room 34 -- rmInsideChapel
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"You are in a quickie marriage parlor.
|
||||
A flashing neon sign on the rear wall asks:
|
||||
\"Why wait? Marry the girl of your dreams, today!
|
||||
You provide the girl, we'll do the rest for only $100!!\""
|
||||
|
||||
%message 2
|
||||
"Fawn is waiting for you at the altar. Go for it, Larry!"
|
||||
|
||||
%message 3
|
||||
"The minister intones in his basso voice..."
|
||||
|
||||
%message 4
|
||||
"\"Dearly beloved, we are gathered together today in the sight of,
|
||||
er, ah, um... each other,
|
||||
to enter these two people into the eternal bonds of marriage.\""
|
||||
|
||||
%message 5
|
||||
"\"But before we really get rollin', I'd like to say a few words.\n\n
|
||||
Many's the marriage that I've performed here, in this little chapel,
|
||||
wearing this cheap suit, before those shiny plastic-covered pews,
|
||||
with these electric candles,
|
||||
looking at those genuine plexiglas stained-glass windows,
|
||||
for these measly few bucks...\""
|
||||
|
||||
%message 6
|
||||
"(He pauses for another nip from his pocket flask.)"
|
||||
|
||||
%message 7
|
||||
"\"Where was I?\" he hiccups."
|
||||
|
||||
%message 8
|
||||
"\"Digressing,\" you answer."
|
||||
|
||||
%message 9
|
||||
"\"Oh, well, have you got a ring?\" he asks."
|
||||
|
||||
%message 10
|
||||
"\"Yep,\" you reply. \"She's wearing it.\""
|
||||
|
||||
%message 11
|
||||
"\"Good enough for me! Have you got a hundred bucks?\""
|
||||
|
||||
%message 12 [ Skip to message 21, if dollars > 100
|
||||
"\"Of course,\" you reply, forking over your dough."
|
||||
|
||||
%message 13
|
||||
"\"Not me,\" you reply. \"I thought this was a temple of love!\""
|
||||
|
||||
%message 14
|
||||
"\"Sorry, buddy, you two are SOL until you can come back here with
|
||||
100 cold, hard ones!\" he says indignantly, as he pushes between you
|
||||
and heads for the door."
|
||||
|
||||
%message 15
|
||||
"Well, Larry, it looks like you're going to have to leave your new bride
|
||||
waiting at the altar, while you generate a little positive cash flow!"
|
||||
|
||||
%message 16
|
||||
"As you leave, she says, \"Hurry back, Larry, I don't know how long I
|
||||
can wait before I have you!\""
|
||||
|
||||
%message 17
|
||||
"\"By the way, Larry,\" she asks. \"What does SOL stand for?\""
|
||||
|
||||
%message 18
|
||||
"\"Why, Sierra On-Line, I presume!\" you respond."
|
||||
|
||||
%message 19
|
||||
"(Drum fill)"
|
||||
|
||||
%message 20
|
||||
"\"Wait here, Fawn baby! I'll be back in a flash!!\""
|
||||
|
||||
%message 21
|
||||
"\"Ok, close enough.
|
||||
I now pronounce you man and wife, till death do you part,
|
||||
or until you get tired of each other,
|
||||
per the currently acceptable social standards!\""
|
||||
|
||||
%message 22
|
||||
"\"You may kiss the bride,\" he says,
|
||||
scurrying out the door to refill his flask."
|
||||
|
||||
%message 23
|
||||
"\"Not now; that can wait,\" Fawn says with a smile.
|
||||
\"I'll meet you at the Casino Hotel's honeymoon suite,
|
||||
and give you a lot more than kisses, my big, strong, handsome sweetheart!!\""
|
||||
|
||||
%message 24
|
||||
"\"Hey!\" you shout, \"Wait for me!!\""
|
||||
|
||||
%message 25
|
||||
"Somehow this entire ceremony was less than you expected.
|
||||
The sacred bonds of marriage certainly get tied loosely in this joint!"
|
||||
|
||||
%message 26
|
||||
"It's customary to position yourself to the bride's right."
|
||||
|
||||
%message 27
|
||||
"\"So... shall we try again?\""
|
||||
|
||||
%message 28
|
||||
"You can't see through the \"stained glass\" windows.
|
||||
They're fake, like everything else about this place."
|
||||
|
||||
%message 29
|
||||
"Seems like everything here is covered in plastic."
|
||||
|
||||
%message 30
|
||||
"The plastic covers are so slick, you'd probably slide right off."
|
||||
|
||||
%message 31
|
||||
"Perhaps you should find a mate, mate!"
|
||||
|
||||
%message 32
|
||||
"You can barely tell they're made from pressed sawdust."
|
||||
|
||||
%message 33
|
||||
"Who'd want them?"
|
||||
|
||||
%message 34
|
||||
"He looks a lot like his brother,
|
||||
the bad comedian in the Lizard Lounge."
|
||||
|
||||
%message 35
|
||||
"\"Make up your mind, son. Time is money!\""
|
||||
|
||||
%message 36
|
||||
"\"Don't stand around talking, Larry,\" says Fawn. \"Let's get married!!\""
|
||||
|
||||
%message 37
|
||||
"What an old romantic!"
|
||||
|
||||
%message 38
|
||||
"You wonder why Michelangelo didn't use dropped fluorescents on
|
||||
his big ceiling job."
|
||||
|
||||
%message 39
|
||||
"It's not your birthday!"
|
||||
|
|
@ -0,0 +1,570 @@
|
|||
[logics for room 35 -- rmElevators
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "rm35.msg"
|
||||
%include "gamedefs.h"
|
||||
|
||||
|
||||
|
||||
|
||||
[ There is an ashtray near the planter. Look ash tray. "get passcard"
|
||||
|
||||
[ script == 0 begins the raise elevator sequence;
|
||||
[ script == 100 lowers the elevator to the bottom and releases ego.
|
||||
|
||||
[ #define L_EMPTY 0
|
||||
[ #define L_FLOOR 1
|
||||
[ #define L_DOORS 2
|
||||
[ #define L_WITH_EGO 3
|
||||
|
||||
%define CEILING_Y 37
|
||||
%define FLOOR_Y 118
|
||||
|
||||
%define inElevator lf0
|
||||
%define nearAshTray lf1
|
||||
%define elevatorMoving lf4
|
||||
%define nearBrokenPhone lf5
|
||||
|
||||
%object aElevator 1
|
||||
%object aDoor 2
|
||||
%object aFloor 3
|
||||
%object aNumber 4
|
||||
%object aAshtray 5
|
||||
|
||||
|
||||
|
||||
if (initLog)
|
||||
{
|
||||
SetHorizon( 1);
|
||||
|
||||
LoadPic( currentRoom);
|
||||
DrawPic( currentRoom);
|
||||
DiscardPic( currentRoom);
|
||||
|
||||
LoadView( vElevator);
|
||||
LoadView( vElevatorNumbers);
|
||||
LoadView( vEgoPushingElevator);
|
||||
LoadView( vEgo);
|
||||
LoadView( vAshtray);
|
||||
[ LoadView( v);
|
||||
|
||||
AnimateObj( aAshtray);
|
||||
IgnoreBlocks( aAshtray);
|
||||
SetView( aAshtray, vAshtray);
|
||||
if (ObjInRoom( iDiscoPass, currentRoom))
|
||||
{
|
||||
SetCel( aAshtray, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
SetCel( aAshtray, 1);
|
||||
}
|
||||
Position( aAshtray, 77, 159);
|
||||
StopCycling( aAshtray);
|
||||
Draw( aAshtray);
|
||||
StopUpdate( aAshtray);
|
||||
|
||||
AnimateObj( aNumber);
|
||||
IgnoreBlocks( aNumber);
|
||||
IgnoreObjs( aNumber);
|
||||
SetView( aNumber, vElevatorNumbers);
|
||||
SetPriority( aNumber, 5);
|
||||
Position( aNumber, 73, 91);
|
||||
SetCel( aNumber, 1);
|
||||
StopCycling( aNumber);
|
||||
|
||||
AnimateObj( aDoor);
|
||||
IgnoreBlocks( aDoor);
|
||||
IgnoreObjs( aDoor);
|
||||
SetView( aDoor, vElevator);
|
||||
SetLoop( aDoor, L_DOORS);
|
||||
FixLoop( aDoor);
|
||||
SetPriority( aDoor, 4);
|
||||
Position( aDoor, 73, 108);
|
||||
work = DOOR_CYCLE_TIME;
|
||||
CycleTime( aDoor, work);
|
||||
|
||||
AnimateObj( aFloor);
|
||||
IgnoreBlocks( aFloor);
|
||||
IgnoreObjs( aFloor);
|
||||
SetView( aFloor, vElevator);
|
||||
SetLoop( aFloor, L_FLOOR);
|
||||
FixLoop( aFloor);
|
||||
Position( aFloor, 73, 118);
|
||||
SetPriority( aFloor, 5);
|
||||
|
||||
AnimateObj( aElevator);
|
||||
IgnoreBlocks( aElevator);
|
||||
IgnoreObjs( aElevator);
|
||||
SetView( aElevator, vElevator);
|
||||
SetPriority( aElevator, 11);
|
||||
FixLoop( aElevator);
|
||||
StepSize( aElevator, two);
|
||||
if (currentStatus == IN_ELEVATOR)
|
||||
{
|
||||
Set( elevatorMoving);
|
||||
currentStatus = IN_ELEVATOR;
|
||||
|
||||
SetLoop( aElevator, L_WITH_EGO);
|
||||
LastCel( aElevator, work);
|
||||
SetCelV( aElevator, work);
|
||||
StopCycling( aElevator);
|
||||
Position( aElevator, 73, 36);
|
||||
Draw( aElevator);
|
||||
MoveObj( aElevator, 73, 118, 2, scriptDone);
|
||||
script = 100;
|
||||
|
||||
Draw( aDoor);
|
||||
StopUpdate( aDoor);
|
||||
|
||||
Draw( aNumber);
|
||||
|
||||
SetView( ego, vEgo);
|
||||
SetLoop( ego, FACING_FRONT);
|
||||
SetPriority( ego, 12);
|
||||
egoX = 75;
|
||||
egoY = 119;
|
||||
[ Don't Draw ego!
|
||||
}
|
||||
else
|
||||
{
|
||||
Draw( aFloor);
|
||||
StopUpdate( aFloor);
|
||||
|
||||
SetLoop( aElevator, L_EMPTY);
|
||||
SetCel( aElevator, 0);
|
||||
Position( aElevator, 73, 118);
|
||||
Draw( aElevator);
|
||||
StopUpdate( aElevator);
|
||||
|
||||
if (previousRoom == rmLounge)
|
||||
{
|
||||
egoX = 128;
|
||||
egoY = 104;
|
||||
SetLoop( ego, FACING_LEFT);
|
||||
PositionV( ego, egoX, egoY);
|
||||
Draw( ego);
|
||||
StartMotion( ego);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!previousRoom)
|
||||
{
|
||||
egoX = 75;
|
||||
egoY = 115;
|
||||
}
|
||||
PositionV( ego, egoX, egoY);
|
||||
Draw( ego);
|
||||
}
|
||||
}
|
||||
|
||||
IgnoreObjs( ego);
|
||||
|
||||
ShowPic( );
|
||||
|
||||
Return( );
|
||||
|
||||
} [ end initLOG
|
||||
|
||||
|
||||
|
||||
Reset( inElevator);
|
||||
if (Posn( ego, 70, 110, 83, 120))
|
||||
{
|
||||
Set( inElevator);
|
||||
}
|
||||
|
||||
Reset( nearBrokenPhone);
|
||||
if (Posn( ego, 96, 101, 111, 106))
|
||||
{
|
||||
Set( nearBrokenPhone);
|
||||
}
|
||||
|
||||
Reset( nearAshTray);
|
||||
if (Posn( ego, 62, 155, 87, 163))
|
||||
{
|
||||
Set( nearAshTray);
|
||||
}
|
||||
|
||||
if (egoY > 119 && egoY < 133)
|
||||
{
|
||||
SetPriority( ego, 12);
|
||||
}
|
||||
else
|
||||
{
|
||||
ReleasePriority( ego);
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:handleInput
|
||||
[*****
|
||||
|
||||
if (!haveInput) {goto noInput;}
|
||||
|
||||
if (elevatorMoving && !haveMatch)
|
||||
{
|
||||
if ((Said( listen) ||
|
||||
Said( sing) ||
|
||||
Said( sing, along)))
|
||||
{
|
||||
Print( 7);
|
||||
}
|
||||
else
|
||||
{
|
||||
Set( haveMatch);
|
||||
Print( 5);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( up) ||
|
||||
Said( down)))
|
||||
{
|
||||
Print( 4);
|
||||
}
|
||||
|
||||
if ((Said( look) ||
|
||||
Said( look, room) ||
|
||||
Said( look, wall) ||
|
||||
Said( look, elevator)))
|
||||
{
|
||||
if (inElevator)
|
||||
{
|
||||
Print( 2);
|
||||
Print( 3);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 1);
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( look$in, plants))
|
||||
{
|
||||
if (inElevator)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 10);
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( look, plants))
|
||||
{
|
||||
if (inElevator)
|
||||
{
|
||||
Print( 6);
|
||||
Print( 8);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 10);
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( close, door))
|
||||
{
|
||||
if (inElevator)
|
||||
{
|
||||
Print( 15);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 16);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((Said( look, ashtray) ||
|
||||
Said( look$in, ashtray)))
|
||||
{
|
||||
if (egoY < 150)
|
||||
{
|
||||
Print( 14);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (ObjInRoom( iDiscoPass, currentRoom))
|
||||
{
|
||||
Print( 12);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 13);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( anyword, ashtray))
|
||||
{
|
||||
if (egoY < 150)
|
||||
{
|
||||
Print( 14);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (ObjInRoom( iDiscoPass, currentRoom))
|
||||
{
|
||||
Print( 12);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 18);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( get, pass) ||
|
||||
Said( get, card)))
|
||||
{
|
||||
if (!nearAshTray)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!ObjInRoom( iDiscoPass, currentRoom))
|
||||
{
|
||||
Set( alreadyGotIt);
|
||||
}
|
||||
else
|
||||
{
|
||||
SetCel( aAshtray, 1);
|
||||
ForceUpdate( aAshtray);
|
||||
Get( iDiscoPass);
|
||||
currentScore += 1;
|
||||
Set( OK);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( look, phone) ||
|
||||
Said( use, phone) ||
|
||||
Said( make, phone, call) ||
|
||||
Said( dial, phone)))
|
||||
{
|
||||
if (!nearBrokenPhone)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 21);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( get, gum) ||
|
||||
Said( remove, gum)))
|
||||
{
|
||||
if (!nearBrokenPhone)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 22);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( look, phone, book) ||
|
||||
Said( look, book)))
|
||||
{
|
||||
if (!nearBrokenPhone)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 20);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( answer, phone) ||
|
||||
Said( get, phone) ||
|
||||
Said( answer)))
|
||||
{
|
||||
if (!nearBrokenPhone)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 19);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!script && inElevator)
|
||||
{
|
||||
if ((Said( press, one) ||
|
||||
Said( press, button, one) ||
|
||||
Said( one)))
|
||||
{
|
||||
destinationFloor = 1;
|
||||
Set( scriptDone);
|
||||
}
|
||||
|
||||
if ((Said( press, two) ||
|
||||
Said( press, button, two) ||
|
||||
Said( two)))
|
||||
{
|
||||
destinationFloor = 2;
|
||||
Set( scriptDone);
|
||||
}
|
||||
|
||||
if ((Said( press, three) ||
|
||||
Said( press, button, three) ||
|
||||
Said( three)))
|
||||
{
|
||||
destinationFloor = 3;
|
||||
Set( scriptDone);
|
||||
}
|
||||
|
||||
if ((Said( press, four) ||
|
||||
Said( press, button, four) ||
|
||||
Said( four)))
|
||||
{
|
||||
destinationFloor = 4;
|
||||
Set( scriptDone);
|
||||
}
|
||||
|
||||
if ((Said( press, five) ||
|
||||
Said( press, button, five) ||
|
||||
Said( five)))
|
||||
{
|
||||
destinationFloor = 5;
|
||||
Set( scriptDone);
|
||||
}
|
||||
|
||||
if ((Said( press, six) ||
|
||||
Said( press, button, six) ||
|
||||
Said( six)))
|
||||
{
|
||||
destinationFloor = 6;
|
||||
Set( scriptDone);
|
||||
}
|
||||
|
||||
if ((Said( press, seven) ||
|
||||
Said( press, button, seven) ||
|
||||
Said( seven)))
|
||||
{
|
||||
destinationFloor = 7;
|
||||
Set( scriptDone);
|
||||
}
|
||||
|
||||
if ((Said( press, eight) ||
|
||||
Said( press, button, eight) ||
|
||||
Said( eight)))
|
||||
{
|
||||
destinationFloor = 8;
|
||||
Set( scriptDone);
|
||||
}
|
||||
|
||||
if ((Said( push, rol) ||
|
||||
Said( push, button, rol)))
|
||||
{
|
||||
Print( 4);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:noInput
|
||||
[*****
|
||||
|
||||
if (scriptDone)
|
||||
{
|
||||
Reset( scriptDone);
|
||||
++script;
|
||||
|
||||
if (script == 1)
|
||||
{
|
||||
Set( elevatorMoving);
|
||||
currentStatus = IN_ELEVATOR;
|
||||
StopMotion( ego);
|
||||
Set( programControl);
|
||||
SetView( ego, vEgoPushingElevator);
|
||||
SetCel( ego, 0);
|
||||
RepositionTo( ego, 76, 117);
|
||||
CycleTime( ego, three);
|
||||
Set( keepCycling);
|
||||
EndOfLoop( ego, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 2)
|
||||
{
|
||||
Erase( ego);
|
||||
SetView( ego, vEgo);
|
||||
|
||||
SetLoop( aElevator, L_WITH_EGO);
|
||||
SetCel( aElevator, 0);
|
||||
CycleTime( aElevator, three);
|
||||
EndOfLoop( aElevator, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 3)
|
||||
{
|
||||
Erase( aFloor);
|
||||
Draw( aDoor);
|
||||
Draw( aNumber);
|
||||
|
||||
StopCycling( aElevator);
|
||||
if (destinationFloor == 1)
|
||||
{
|
||||
Print( 9);
|
||||
script = 101; [ We'll catch it immediately.
|
||||
}
|
||||
else
|
||||
{
|
||||
MoveObj( aElevator, 73, 36, 2, scriptDone);
|
||||
}
|
||||
}
|
||||
|
||||
if (script == 4)
|
||||
{
|
||||
newRoom = rmElevators;
|
||||
}
|
||||
|
||||
|
||||
if (script == 101) [ He's at bottom; let him out.
|
||||
{
|
||||
Erase( aDoor);
|
||||
Erase( aNumber);
|
||||
|
||||
CycleTime( aElevator, two);
|
||||
StartCycling( aElevator);
|
||||
BeginningOfLoop( aElevator, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 102)
|
||||
{
|
||||
Reset( elevatorMoving);
|
||||
currentStatus = NORMAL;
|
||||
destinationFloor = 0;
|
||||
script = 0;
|
||||
SetLoop( aElevator, L_EMPTY);
|
||||
|
||||
Draw( aFloor);
|
||||
|
||||
SetView( ego, vEgo);
|
||||
SetLoop( ego, FACING_FRONT);
|
||||
SetCel( ego, 0);
|
||||
Position( ego, 76, 116);
|
||||
Draw( ego);
|
||||
StartMotion( ego);
|
||||
Reset( programControl);
|
||||
CycleTime( ego, one);
|
||||
Reset( keepCycling);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:exit [ test for leaving the room
|
||||
[*****
|
||||
|
||||
if (edgeEgoHit == BOTTOM) {newRoom = rmInsideCasino;}
|
||||
if (Posn( ego, 131, 101, 132, 106)) {newRoom = rmLounge;}
|
|
@ -0,0 +1,79 @@
|
|||
[messages for room 35 -- rmElevators
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"The entrance to the Cabaret Lounge is to the right, by the telephone.
|
||||
A glass elevator awaits you.
|
||||
An ashtray is in front of the planter."
|
||||
|
||||
%message 2
|
||||
"You are inside the glass elevator.
|
||||
Your favorite kind of music is playing.
|
||||
You hum along, insipidly."
|
||||
|
||||
%message 3
|
||||
"There are buttons labeled \"one\" through \"eight.\""
|
||||
|
||||
%message 4
|
||||
"Type a word, like \"one\" or \"two.\""
|
||||
|
||||
%message 5
|
||||
"Whee!"
|
||||
|
||||
%message 6
|
||||
"You know, the people on those plants look like ants from up here."
|
||||
|
||||
%message 7
|
||||
"\"strangers in the night, da da da dee da...\""
|
||||
|
||||
%message 8
|
||||
"Those ARE ants, you fool; we haven't left the ground yet!"
|
||||
|
||||
%message 9
|
||||
"Wasn't that a fast ride!"
|
||||
|
||||
%message 10
|
||||
"They're of your favorite species: polyvinyl chloride.
|
||||
There is an ashtray in front of the planter."
|
||||
|
||||
%message 11
|
||||
"You carefully remove the card from the cancerous remains in the ashtray.
|
||||
It's a valid pass to the disco!"
|
||||
|
||||
%message 12
|
||||
"There's some kind of card in the ashtray."
|
||||
|
||||
%message 13
|
||||
"Yuck!"
|
||||
|
||||
%message 14
|
||||
"Where?"
|
||||
|
||||
%message 15
|
||||
"The doors close whenever you choose a floor."
|
||||
|
||||
%message 16
|
||||
"Go inside and push a button."
|
||||
|
||||
%message 17
|
||||
"It's of no interest."
|
||||
|
||||
%message 18
|
||||
"The ashtray is of no further interest since you have the card."
|
||||
|
||||
%message 19
|
||||
"It's not ringing."
|
||||
|
||||
%message 20
|
||||
"All the pages are torn out."
|
||||
|
||||
%message 21
|
||||
"Somebody filled the coin slot with chewing gum."
|
||||
|
||||
%message 22
|
||||
"You can't. It's so firmly embedded, nothing will get it out.
|
||||
You'll just have to find another telephone."
|
||||
|
|
@ -0,0 +1,869 @@
|
|||
[logics for room 36 -- rmLounge
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "rm36.msg"
|
||||
%include "gamedefs.h"
|
||||
%include "iv_views.h"
|
||||
|
||||
|
||||
|
||||
%define GIRL_Y 93
|
||||
%define JOKE_MAX 37 [ number of gags in repetoire
|
||||
%define ZINGER_MIN 21 [ number of first zinger message
|
||||
%define ZINGER_MAX 26 [ number of last zinger message
|
||||
|
||||
%define mcOnStage lf0
|
||||
%define girlsOnStage lf1
|
||||
%define girlsAtRight lf2
|
||||
%define girlsAtLeft lf3
|
||||
%define nearChair lf4
|
||||
%define egoSitDone lf5
|
||||
%define egoStandDone lf6
|
||||
%define drummerDone lf7
|
||||
%define outOfJokes lf8
|
||||
%define cushionDone lf9
|
||||
%define doMagicTrick lf10
|
||||
%define heardJoke1 lf11
|
||||
%define heardJoke2 lf12
|
||||
%define heardJoke3 lf13
|
||||
%define heardJoke4 lf14
|
||||
%define heardJoke5 lf15
|
||||
%define heardJoke6 lf16
|
||||
%define heardJoke7 lf17
|
||||
%define heardJoke8 lf18
|
||||
%define heardJoke9 lf19
|
||||
%define heardJoke10 lf20
|
||||
%define heardJoke11 lf21
|
||||
%define heardJoke12 lf22
|
||||
%define heardJoke13 lf23
|
||||
%define heardJoke14 lf24
|
||||
%define heardJoke15 lf25
|
||||
%define heardJoke16 lf26
|
||||
%define heardJoke17 lf27
|
||||
%define heardJoke18 lf28
|
||||
%define heardJoke19 lf29
|
||||
%define heardJoke20 df0
|
||||
%define heardJoke21 df1
|
||||
%define heardJoke22 df2
|
||||
%define heardJoke23 df3
|
||||
%define heardJoke24 df4
|
||||
%define heardJoke25 df5
|
||||
%define heardJoke26 df6
|
||||
%define heardJoke27 df7
|
||||
%define heardJoke28 df8
|
||||
%define heardJoke29 df9
|
||||
%define heardJoke30 df10
|
||||
%define heardJoke31 df11
|
||||
%define heardJoke32 df12
|
||||
%define heardJoke33 df13
|
||||
%define heardJoke34 df14
|
||||
%define heardJoke35 df15
|
||||
%define heardJoke36 df16
|
||||
%define heardJoke37 df17
|
||||
%define heardJoke38 df18
|
||||
%define heardJoke39 df19
|
||||
[ %define heardJoke40 df20
|
||||
[ %define heardJoke41 df21
|
||||
[ %define heardJoke42 df22
|
||||
[ %define heardJoke43 df23
|
||||
[ %define heardJoke44 df24
|
||||
[ %define heardJoke45 df25
|
||||
|
||||
%define joke lv0
|
||||
%define zinger lv1
|
||||
%define trickTimer lv2
|
||||
|
||||
|
||||
%object aMC 1
|
||||
%object aGirls 2
|
||||
%object aCandle1 3
|
||||
%object aCandle2 4
|
||||
%object aCandle3 5
|
||||
%object aCandle4 6
|
||||
%object aCandle5 7
|
||||
%object aDrummer 8
|
||||
|
||||
|
||||
|
||||
if (initLog)
|
||||
{
|
||||
LoadPic( currentRoom);
|
||||
DrawPic( currentRoom);
|
||||
DiscardPic( currentRoom);
|
||||
|
||||
LoadView( vLoungeCandles);
|
||||
LoadView( vEgoSittingLounge);
|
||||
LoadSound( sWhoopieCushion);
|
||||
|
||||
AnimateObj( aCandle1);
|
||||
IgnoreObjs( aCandle1);
|
||||
SetView( aCandle1, vLoungeCandles);
|
||||
SetCel( aCandle1, 0);
|
||||
SetPriority( aCandle1, 11);
|
||||
Position( aCandle1, 41, 110);
|
||||
Draw( aCandle1);
|
||||
|
||||
AnimateObj( aCandle2);
|
||||
IgnoreObjs( aCandle2);
|
||||
SetView( aCandle2, vLoungeCandles);
|
||||
SetCel( aCandle2, 1);
|
||||
SetPriority( aCandle2, 11);
|
||||
Position( aCandle2, 78, 110);
|
||||
Draw( aCandle2);
|
||||
|
||||
AnimateObj( aCandle3);
|
||||
IgnoreObjs( aCandle3);
|
||||
SetView( aCandle3, vLoungeCandles);
|
||||
SetCel( aCandle3, 2);
|
||||
SetPriority( aCandle3, 11);
|
||||
Position( aCandle3, 115, 110);
|
||||
Draw( aCandle3);
|
||||
|
||||
AnimateObj( aCandle4);
|
||||
IgnoreObjs( aCandle4);
|
||||
SetView( aCandle4, vLoungeCandles);
|
||||
SetCel( aCandle4, 0);
|
||||
SetPriority( aCandle4, 14);
|
||||
Position( aCandle4, 58, 140);
|
||||
Draw( aCandle4);
|
||||
|
||||
AnimateObj( aCandle5);
|
||||
IgnoreObjs( aCandle5);
|
||||
SetView( aCandle5, vLoungeCandles);
|
||||
SetCel( aCandle5, 1);
|
||||
SetPriority( aCandle5, 14);
|
||||
Position( aCandle5, 98, 140);
|
||||
Draw( aCandle5);
|
||||
|
||||
Random( 1, 2, work);
|
||||
if (work == 1)
|
||||
{
|
||||
Random( 1, 3, work);
|
||||
if (work == 1)
|
||||
{
|
||||
Set( doMagicTrick);
|
||||
Random( 20, 40, trickTimer);
|
||||
}
|
||||
|
||||
Set( mcOnStage);
|
||||
LoadView( vLoungeComedian);
|
||||
LoadView( vDrummer);
|
||||
LoadSound( sDrummer);
|
||||
|
||||
AnimateObj( aMC);
|
||||
SetView( aMC, vLoungeComedian);
|
||||
SetCel( aMC, 0);
|
||||
Position( aMC, 77, 93);
|
||||
Draw( aMC);
|
||||
StopUpdate( aMC);
|
||||
scriptCycles = 51;
|
||||
|
||||
AnimateObj( aDrummer);
|
||||
SetView( aDrummer, vDrummer);
|
||||
SetCel( aDrummer, 0);
|
||||
Position( aDrummer, 41, 92);
|
||||
Draw( aDrummer);
|
||||
StopUpdate( aDrummer);
|
||||
}
|
||||
else
|
||||
{
|
||||
Set( girlsOnStage);
|
||||
LoadView( vLoungeDancers);
|
||||
LoadSound( mCanCan);
|
||||
|
||||
AnimateObj( aGirls);
|
||||
SetView( aGirls, vLoungeDancers);
|
||||
Position( aGirls, 70, 93);
|
||||
Draw( aGirls);
|
||||
Set( girlsAtRight);
|
||||
Set( musicDone);
|
||||
}
|
||||
|
||||
|
||||
egoX = 25;
|
||||
egoY = 167;
|
||||
SetLoop( ego, FACING_BACK);
|
||||
PositionV( ego, egoX, egoY);
|
||||
Draw( ego);
|
||||
StartMotion( ego);
|
||||
|
||||
ShowPic( );
|
||||
|
||||
Return( );
|
||||
|
||||
} [ end initLOG
|
||||
|
||||
|
||||
Reset( nearChair);
|
||||
if (Posn( ego, 100, 145, 114, 163))
|
||||
{
|
||||
Set( nearChair);
|
||||
}
|
||||
|
||||
if (mcOnStage &&
|
||||
secondsInRoom > 15)
|
||||
{
|
||||
Set( nearPerson);
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:handleInput
|
||||
[*****
|
||||
|
||||
if (!haveInput) {goto noInput;}
|
||||
|
||||
if ((Said( look) ||
|
||||
Said( look, room)))
|
||||
{
|
||||
Print( 1);
|
||||
Print( 2);
|
||||
}
|
||||
|
||||
if (mcOnStage &&
|
||||
(Said( heckle, comic) ||
|
||||
Said( talk, comic) ||
|
||||
Said( yell, comic)))
|
||||
{
|
||||
Print( 13);
|
||||
Print( 14);
|
||||
}
|
||||
|
||||
if (Said( applaud, rol))
|
||||
{
|
||||
if (mcOnStage)
|
||||
{
|
||||
Print( 111);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 112);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( name, room) ||
|
||||
Said( name, place)))
|
||||
{
|
||||
Print( 15);
|
||||
Print( 2);
|
||||
}
|
||||
|
||||
if ((Said( look, top, table) ||
|
||||
Said( look, table) ||
|
||||
Said( look, chair)))
|
||||
{
|
||||
Print( 6);
|
||||
}
|
||||
|
||||
if (Said( look, ashtray))
|
||||
{
|
||||
Print( 77);
|
||||
}
|
||||
|
||||
if (Said( look, candle))
|
||||
{
|
||||
Print( 7);
|
||||
Print( 8);
|
||||
}
|
||||
|
||||
if (Said( look, stage))
|
||||
{
|
||||
if (mcOnStage)
|
||||
{
|
||||
Print( 9);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 10);
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( look, man))
|
||||
{
|
||||
if (mcOnStage)
|
||||
{
|
||||
Print( 9);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 11);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( look, girl) ||
|
||||
Said( look, dancers) ||
|
||||
Said( look, show, girls)))
|
||||
{
|
||||
if (mcOnStage)
|
||||
{
|
||||
Print( 12);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 10);
|
||||
}
|
||||
}
|
||||
|
||||
if (mcOnStage &&
|
||||
Said( anyword, drummer, rol))
|
||||
{
|
||||
Print( 18);
|
||||
}
|
||||
|
||||
if ((Said( wave, girls, rol) ||
|
||||
Said( wave, comic, rol) ||
|
||||
Said( whistle, girls, rol)||
|
||||
Said( whistle, comic, rol)))
|
||||
{
|
||||
if (mcOnStage)
|
||||
{
|
||||
Print( 19);
|
||||
Print( 20);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 78);
|
||||
Print( 79);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if ((Said( buy, drink) ||
|
||||
Said( call, waiter) ||
|
||||
Said( order, rol) ||
|
||||
Said( get, drink)))
|
||||
{
|
||||
if (currentStatus != SITTING)
|
||||
{
|
||||
Print( 16);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 17);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((Said( sit) ||
|
||||
Said( sit, table) ||
|
||||
Said( sit, chair) ||
|
||||
Said( sit, down)))
|
||||
{
|
||||
if (currentStatus == SITTING)
|
||||
{
|
||||
Print( 3);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!nearChair)
|
||||
{
|
||||
Print( 5);
|
||||
}
|
||||
else
|
||||
{
|
||||
currentStatus = SITTING;
|
||||
StopMotion( ego);
|
||||
Set( programControl);
|
||||
SetView( ego, vEgoSittingLounge);
|
||||
SetCel( ego, 0);
|
||||
SetPriority( ego, 15);
|
||||
RepositionTo( ego, 107, 152);
|
||||
StopSound();
|
||||
Sound( sWhoopieCushion, musicDone);
|
||||
EndOfLoop( ego, cushionDone);
|
||||
Set( keepCycling);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( stand) ||
|
||||
Said( leave, table) ||
|
||||
Said( rise) ||
|
||||
Said( stand, up)))
|
||||
{
|
||||
if (currentStatus != SITTING)
|
||||
{
|
||||
Print( 4);
|
||||
}
|
||||
else
|
||||
{
|
||||
Set( OK);
|
||||
Reset( keepCycling);
|
||||
SetView( ego, vEgo);
|
||||
ReleasePriority( ego);
|
||||
RepositionTo( ego, 107, 151);
|
||||
Reset( programControl);
|
||||
StartMotion( ego);
|
||||
currentStatus = NORMAL;
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( climb, stage) ||
|
||||
Said( climb, on, stage) ||
|
||||
Said( jump, on, stage) ||
|
||||
Said( sit, on, stage) ||
|
||||
Said( sing, rol) ||
|
||||
Said( dance, rol) ||
|
||||
Said( go, stage)))
|
||||
{
|
||||
Print( 80);
|
||||
}
|
||||
|
||||
if (Said( throw, rose, rol))
|
||||
{
|
||||
Print( 81);
|
||||
Drop( iRose);
|
||||
}
|
||||
|
||||
if (Said( get, rose))
|
||||
{
|
||||
Print( 100);
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:noInput
|
||||
[*****
|
||||
|
||||
if (cushionDone)
|
||||
{
|
||||
Reset( cushionDone);
|
||||
Print( 75);
|
||||
StopCycling( ego);
|
||||
Reset( keepCycling);
|
||||
if (!satOnWhoopieCushion)
|
||||
{
|
||||
Set( satOnWhoopieCushion);
|
||||
currentScore += 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (girlsAtRight)
|
||||
{
|
||||
Reset( girlsAtRight);
|
||||
MoveObj( aGirls, 47, GIRL_Y, 1, girlsAtLeft);
|
||||
}
|
||||
|
||||
if (girlsAtLeft)
|
||||
{
|
||||
Reset( girlsAtLeft);
|
||||
MoveObj( aGirls, 93, GIRL_Y, 1, girlsAtRight);
|
||||
}
|
||||
|
||||
|
||||
if (scriptDone)
|
||||
{
|
||||
Reset( scriptDone);
|
||||
++script;
|
||||
|
||||
if (script == 1)
|
||||
{
|
||||
Random( 12, 22, scriptCycles);
|
||||
if (typing)
|
||||
{
|
||||
--script; [ Try again in a little while.
|
||||
}
|
||||
else
|
||||
{
|
||||
StartUpdate( aMC);
|
||||
}
|
||||
}
|
||||
|
||||
if (script == 2)
|
||||
{
|
||||
Random( 8, 14, scriptCycles);
|
||||
|
||||
if (typing)
|
||||
{
|
||||
--script; [ Try again in a little while.
|
||||
}
|
||||
else
|
||||
{
|
||||
SetCel( aMC, 0);
|
||||
StopUpdate( aMC);
|
||||
ForceUpdate( aMC);
|
||||
|
||||
if ((!heardJoke1 ||
|
||||
!heardJoke2 ||
|
||||
!heardJoke3 ||
|
||||
!heardJoke4 ||
|
||||
!heardJoke5 ||
|
||||
!heardJoke6 ||
|
||||
!heardJoke7 ||
|
||||
!heardJoke8 ||
|
||||
!heardJoke9 ||
|
||||
!heardJoke10 ||
|
||||
!heardJoke11 ||
|
||||
!heardJoke12 ||
|
||||
!heardJoke13 ||
|
||||
!heardJoke14 ||
|
||||
!heardJoke15 ||
|
||||
!heardJoke16 ||
|
||||
!heardJoke17 ||
|
||||
!heardJoke18 ||
|
||||
!heardJoke19 ||
|
||||
!heardJoke20 ||
|
||||
!heardJoke21 ||
|
||||
!heardJoke22 ||
|
||||
!heardJoke23 ||
|
||||
!heardJoke24 ||
|
||||
!heardJoke25 ||
|
||||
!heardJoke26 ||
|
||||
!heardJoke27 ||
|
||||
!heardJoke28 ||
|
||||
!heardJoke29 ||
|
||||
!heardJoke30 ||
|
||||
!heardJoke31 ||
|
||||
!heardJoke32 ||
|
||||
!heardJoke33 ||
|
||||
!heardJoke34 ||
|
||||
!heardJoke35 ||
|
||||
!heardJoke36 ||
|
||||
!heardJoke37)) [ ||
|
||||
[ !heardJoke38 ||
|
||||
[ !heardJoke39)) ||
|
||||
[ !heardJoke40 ||
|
||||
[ !heardJoke41 ||
|
||||
[ !heardJoke42 ||
|
||||
[ !heardJoke43 ||
|
||||
[ !heardJoke44 ||
|
||||
[ !heardJoke45))
|
||||
{
|
||||
:pickAJoke;
|
||||
Random( 1, JOKE_MAX, joke);
|
||||
work = joke;
|
||||
work += 210; [ Because flags are 211-255.
|
||||
if (IssetV( work)) [ Be sure it's a new one.
|
||||
{
|
||||
goto pickAJoke;
|
||||
}
|
||||
|
||||
SetV( work);
|
||||
|
||||
if (joke == 1)
|
||||
{
|
||||
Print( 27);
|
||||
Print( 28);
|
||||
}
|
||||
|
||||
if (joke == 2)
|
||||
{
|
||||
Print( 29);
|
||||
Print( 30);
|
||||
}
|
||||
|
||||
if (joke == 3)
|
||||
{
|
||||
Print( 31);
|
||||
Print( 32);
|
||||
}
|
||||
|
||||
if (joke == 4)
|
||||
{
|
||||
Print( 33);
|
||||
Print( 34);
|
||||
}
|
||||
|
||||
if (joke == 5)
|
||||
{
|
||||
Print( 35);
|
||||
Print( 36);
|
||||
}
|
||||
|
||||
if (joke == 6)
|
||||
{
|
||||
Print( 37);
|
||||
Print( 38);
|
||||
}
|
||||
|
||||
if (joke == 7)
|
||||
{
|
||||
Print( 39);
|
||||
Print( 40);
|
||||
}
|
||||
|
||||
if (joke == 8)
|
||||
{
|
||||
Print( 41);
|
||||
Print( 42);
|
||||
}
|
||||
|
||||
if (joke == 9)
|
||||
{
|
||||
Print( 43);
|
||||
}
|
||||
|
||||
if (joke == 10)
|
||||
{
|
||||
Print( 44);
|
||||
Print( 45);
|
||||
}
|
||||
|
||||
if (joke == 11)
|
||||
{
|
||||
Print( 46);
|
||||
}
|
||||
|
||||
if (joke == 12)
|
||||
{
|
||||
Print( 47);
|
||||
}
|
||||
|
||||
if (joke == 13)
|
||||
{
|
||||
[ Print( 48);
|
||||
Print( 109);
|
||||
Print( 110);
|
||||
}
|
||||
|
||||
if (joke == 14)
|
||||
{
|
||||
Print( 49);
|
||||
Print( 50);
|
||||
}
|
||||
|
||||
if (joke == 15)
|
||||
{
|
||||
Print( 51);
|
||||
}
|
||||
|
||||
if (joke == 16)
|
||||
{
|
||||
Print( 52);
|
||||
}
|
||||
|
||||
if (joke == 17)
|
||||
{
|
||||
Print( 53);
|
||||
Print( 54);
|
||||
Print( 55);
|
||||
Print( 56);
|
||||
Print( 57);
|
||||
}
|
||||
|
||||
if (joke == 18)
|
||||
{
|
||||
Print( 58);
|
||||
Print( 59);
|
||||
}
|
||||
|
||||
if (joke == 19)
|
||||
{
|
||||
Print( 60);
|
||||
Print( 61);
|
||||
}
|
||||
|
||||
if (joke == 20)
|
||||
{
|
||||
Print( 62);
|
||||
Print( 76);
|
||||
}
|
||||
|
||||
if (joke == 21)
|
||||
{
|
||||
Print( 63);
|
||||
Print( 64);
|
||||
}
|
||||
|
||||
if (joke == 22)
|
||||
{
|
||||
Print( 65);
|
||||
}
|
||||
|
||||
if (joke == 23)
|
||||
{
|
||||
Print( 66);
|
||||
Print( 67);
|
||||
}
|
||||
|
||||
if (joke == 24)
|
||||
{
|
||||
Print( 68);
|
||||
Print( 69);
|
||||
}
|
||||
|
||||
if (joke == 25)
|
||||
{
|
||||
Print( 70);
|
||||
}
|
||||
|
||||
if (joke == 26)
|
||||
{
|
||||
Print( 71);
|
||||
}
|
||||
|
||||
if (joke == 27)
|
||||
{
|
||||
Print( 72);
|
||||
Print( 73);
|
||||
}
|
||||
|
||||
if (joke == 28)
|
||||
{
|
||||
Print( 74);
|
||||
Print( 93);
|
||||
}
|
||||
|
||||
if (joke == 29)
|
||||
{
|
||||
Print( 94);
|
||||
Print( 95);
|
||||
}
|
||||
|
||||
if (joke == 30)
|
||||
{
|
||||
Print( 96);
|
||||
Print( 97);
|
||||
}
|
||||
|
||||
if (joke == 31)
|
||||
{
|
||||
Print( 98);
|
||||
Print( 99);
|
||||
}
|
||||
|
||||
if (joke == 32)
|
||||
{
|
||||
Print( 96);
|
||||
Print( 97);
|
||||
}
|
||||
|
||||
if (joke == 33)
|
||||
{
|
||||
Print( 98);
|
||||
Print( 99);
|
||||
}
|
||||
|
||||
if (joke == 34)
|
||||
{
|
||||
Print( 101);
|
||||
Print( 102);
|
||||
}
|
||||
|
||||
if (joke == 35)
|
||||
{
|
||||
Print( 103);
|
||||
Print( 104);
|
||||
}
|
||||
|
||||
if (joke == 36)
|
||||
{
|
||||
Print( 105);
|
||||
Print( 106);
|
||||
}
|
||||
|
||||
if (joke == 37)
|
||||
{
|
||||
Print( 107);
|
||||
Print( 108);
|
||||
}
|
||||
|
||||
[ if (joke == 38)
|
||||
[ {
|
||||
[ }
|
||||
|
||||
[ if (joke == 39)
|
||||
[ {
|
||||
[ Print( );
|
||||
[ Print( );
|
||||
[ }
|
||||
[
|
||||
[ if (joke == 40)
|
||||
[ {
|
||||
[ Print( );
|
||||
[ Print( );
|
||||
[ }
|
||||
[
|
||||
}
|
||||
else
|
||||
{
|
||||
Set( outOfJokes);
|
||||
Print( 113);
|
||||
SetCel( aMC, 0);
|
||||
StopUpdate( aMC);
|
||||
ForceUpdate( aMC);
|
||||
script = 0;
|
||||
scriptTimer = 0;
|
||||
scriptCycles = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (script == 3)
|
||||
{
|
||||
StartUpdate( aDrummer);
|
||||
Sound( sDrummer, done);
|
||||
EndOfLoop( aDrummer, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 4)
|
||||
{
|
||||
SetCel( aDrummer, 0);
|
||||
StopUpdate( aDrummer);
|
||||
ForceUpdate( aDrummer);
|
||||
|
||||
StartUpdate( aMC);
|
||||
Random( 11, 22, scriptCycles);
|
||||
}
|
||||
|
||||
if (script == 5)
|
||||
{
|
||||
Random( 4, 7, scriptTimer); [ Time before next joke.
|
||||
if (typing)
|
||||
{
|
||||
--script; [ Try again in a little while.
|
||||
}
|
||||
else
|
||||
{
|
||||
script = 0;
|
||||
|
||||
SetCel( aMC, 0);
|
||||
StopUpdate( aMC);
|
||||
ForceUpdate( aMC);
|
||||
|
||||
if (!outOfJokes)
|
||||
{
|
||||
Random( ZINGER_MIN, ZINGER_MAX, zinger);
|
||||
PrintV( zinger);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (musicDone && girlsOnStage)
|
||||
{
|
||||
Sound( mCanCan, musicDone);
|
||||
}
|
||||
|
||||
if (aSecondPassed && trickTimer)
|
||||
{
|
||||
--trickTimer;
|
||||
if (trickTimer == 1)
|
||||
{
|
||||
if (script)
|
||||
{
|
||||
trickTimer = 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
message = 82;
|
||||
:mrLooper;
|
||||
PrintV( message);
|
||||
++message;
|
||||
if (!message > 92)
|
||||
{
|
||||
goto mrLooper;
|
||||
}
|
||||
ShowObj( ivWallet);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[*****
|
||||
:exit [ test for leaving the room
|
||||
[*****
|
||||
|
||||
if (edgeEgoHit == BOTTOM) {newRoom = rmElevatorBottom;}
|
|
@ -0,0 +1,383 @@
|
|||
[messages for room 36 -- rmLounge
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"This looks like a great place to be from."
|
||||
|
||||
%message 2
|
||||
"(You wonder where they keep the lizards.)"
|
||||
|
||||
%message 3
|
||||
"You are sitting."
|
||||
|
||||
%message 4
|
||||
"You are standing."
|
||||
|
||||
%message 5
|
||||
"You can't. The card on the table says \"Reserved.\""
|
||||
|
||||
%message 6
|
||||
"Looks like you won't have any trouble getting a seat tonight!"
|
||||
|
||||
%message 7
|
||||
"You wonder who invented that little plastic net surrounding the glass."
|
||||
|
||||
%message 8
|
||||
"And, how come it doesn't melt?"
|
||||
|
||||
%message 9
|
||||
"Evidently, HE thinks he's funny!"
|
||||
|
||||
%message 10
|
||||
"Wouldn't you think they'd get tired of just going left and right?"
|
||||
|
||||
%message 11
|
||||
"You think they look like men?"
|
||||
|
||||
%message 12
|
||||
"Do you know something about his sexual habits that the rest of us don't?"
|
||||
|
||||
%message 13
|
||||
"You shout to the comedian, \"This ain't funny!\""
|
||||
|
||||
%message 14
|
||||
"The comedian retorts, \"But you are!!\""
|
||||
|
||||
%message 15
|
||||
"The Lizard Lounge."
|
||||
|
||||
%message 16
|
||||
"You're not seated."
|
||||
|
||||
%message 17
|
||||
"There's no one to take your order."
|
||||
|
||||
%message 18
|
||||
"It's a living."
|
||||
|
||||
%message 19
|
||||
"You whistle loudly at the comic."
|
||||
|
||||
%message 20
|
||||
"\"Hey, buddy, will ya hold it down?\" says the comic.
|
||||
\"I'm tryin' to earn a living up here!\""
|
||||
|
||||
%message 21
|
||||
"\"Whaddsa' matter, folks? Am I keeping you up?\""
|
||||
|
||||
%message 22
|
||||
"\"You know, folks, it just don't get much better than this!\""
|
||||
|
||||
%message 23
|
||||
"\"Waddaya out there, a painting?\""
|
||||
|
||||
%message 24
|
||||
"\"Tough crowd. Tough crowd.\""
|
||||
|
||||
%message 25
|
||||
"\"I shoulda never given up my day gig!\""
|
||||
|
||||
%message 26
|
||||
"\"Waddaya waitin' for folks? This IS the 'A' stuff!\""
|
||||
|
||||
%message 27
|
||||
"\"I just flew in from Coarsegold...\""
|
||||
|
||||
%message 28
|
||||
"\"...and, boy, are my arms tired!\""
|
||||
|
||||
%message 29
|
||||
"\"I told my doctor my sex life was boring.
|
||||
He said 'You need to add the element of surprise.
|
||||
Go right home this afternoon, grab your wife,
|
||||
and immediately make love to her, no matter what she's doing.' So I did!\""
|
||||
|
||||
%message 30
|
||||
"\"It was still the same old boring stuff;
|
||||
but her bridge club got a tremendous kick out of it!!\""
|
||||
|
||||
%message 31
|
||||
"\"You know how I can tell when my wife has an orgasm?\""
|
||||
|
||||
%message 32
|
||||
"\"She drops her nail file!!\""
|
||||
|
||||
%message 33
|
||||
"\"My wife is so ugly...\""
|
||||
|
||||
%message 34
|
||||
"\"...the picture of her in my wallet is an X-ray!\""
|
||||
|
||||
%message 35
|
||||
"\"I told my psychiatrist 'Nobody pays any attention to me.'\""
|
||||
|
||||
%message 36
|
||||
"\"He looks at me and says, 'When did you get here?'\""
|
||||
|
||||
%message 37
|
||||
"\"Didja hear about the clumsy female lawyer?\""
|
||||
|
||||
%message 38
|
||||
"\"She dropped her briefs!\""
|
||||
|
||||
%message 39
|
||||
"\"A man walks into a doctor's office with a frog on his head.
|
||||
The doctor says, 'May I help you?'\""
|
||||
|
||||
%message 40
|
||||
"\"The frog says, 'Yeah, doc, take this wart off my butt!\""
|
||||
|
||||
%message 41
|
||||
"\"Did you hear about the new, chocolate-flavored, contraceptive,
|
||||
breakfast drink?\""
|
||||
|
||||
%message 42
|
||||
"\"It's called Ovumteen.\""
|
||||
|
||||
%message 43
|
||||
"\"My secretary is both ambitious and horny. Today she asked me for a salary
|
||||
on next week's advance.\""
|
||||
|
||||
%message 44
|
||||
"\"Down the street there's a new, live gay sex show.\""
|
||||
|
||||
%message 45
|
||||
"\"It's called 'Anus and Andy.'\""
|
||||
|
||||
%message 46
|
||||
"\"Have ya seen that new R-rated movie about midgets.
|
||||
It features full runtal nudity.\""
|
||||
|
||||
%message 47
|
||||
"\"My uncle is a hit man for the Mob. What a great job!
|
||||
He only goes to work when it's time to knock off.\""
|
||||
|
||||
%message 48
|
||||
""
|
||||
|
||||
%message 49
|
||||
"\"When I got married I asked my bride, 'Do you perform fellatio?'\""
|
||||
|
||||
%message 50
|
||||
"\"She says it depends on the fella.\""
|
||||
|
||||
%message 51
|
||||
"\"Have you been by the wedding chapel next door?
|
||||
They've got this impotent flasher out front.
|
||||
We just call him our 'public futility.'\""
|
||||
|
||||
%message 52
|
||||
"\"I hear the pimp at Lefty's won't let his girls perform oral sex.
|
||||
They call him the 'Headless Whoresman.'\""
|
||||
|
||||
%message 53
|
||||
"\"What do lesbians like most about their kind of sex?\""
|
||||
|
||||
%message 54
|
||||
"\"Tastes great.\""
|
||||
|
||||
%message 55
|
||||
"\"Less filling.\""
|
||||
|
||||
%message 56
|
||||
"\"Tastes great!\""
|
||||
|
||||
%message 57
|
||||
"\"Less filling!\""
|
||||
|
||||
%message 58
|
||||
"\"Why don't sharks attack divorce lawyers?\""
|
||||
|
||||
%message 59
|
||||
"\"Professional courtesy.\""
|
||||
|
||||
%message 60
|
||||
"\"My wife and I have a new system: if she wants sex, she reaches over
|
||||
and strokes me once.\""
|
||||
|
||||
%message 61
|
||||
"\"If she doesn't, she reaches over and strokes me 300 times.\""
|
||||
|
||||
%message 62
|
||||
"\"My son just got kicked out of his co-ed college boarding house."
|
||||
|
||||
%message 63
|
||||
"\"My daughter came home from school today and tells me,
|
||||
'Eli Whitney invented the cotton gin.'\""
|
||||
|
||||
%message 64
|
||||
"\"I said, 'Who wants a fluffy martini?'\""
|
||||
|
||||
%message 65
|
||||
"\"The shop teacher asked the high school girl if she knew the difference
|
||||
between a screw, a nail and a bolt. She told him she'd never been bolted.\""
|
||||
|
||||
%message 66
|
||||
"\"Have you heard about the new urologist's training film?\""
|
||||
|
||||
%message 67
|
||||
"\"It's called, 'E.T., the Extra Testicle.'\""
|
||||
|
||||
%message 68
|
||||
"\"Have you heard about the new film for marching band musicians?\""
|
||||
|
||||
%message 69
|
||||
"\"It's called, 'Desperately Seeking Sousa.'\""
|
||||
|
||||
%message 70
|
||||
"\"My son has a problem with compulsive masturbation.
|
||||
His psychiatrist says he's gone completely whacky.\""
|
||||
|
||||
%message 71
|
||||
"\"My grandpa, the farmer, finally got himself one of those latex ladies.
|
||||
I heard him singing about it the other day:
|
||||
'The farmer in the doll, the farmer in the doll...'\""
|
||||
|
||||
%message 72
|
||||
"\"Our local inventor just came up with a new, vibrating tampon.\""
|
||||
|
||||
%message 73
|
||||
"\"He says if women have to be miserable once a month,
|
||||
they might as well enjoy it.\""
|
||||
|
||||
%message 74
|
||||
"\"My wife just loves going to the movies to watch
|
||||
teenagers get laid for the first time.\""
|
||||
|
||||
%message 75
|
||||
"At least the comic's whoopie cushion doesn't smell!"
|
||||
|
||||
%message 76
|
||||
"\"He got caught spreading roomers.\""
|
||||
|
||||
%message 77
|
||||
"This must be a \"No Smoking\" lounge."
|
||||
|
||||
%message 78
|
||||
"You whistle loudly at the girls."
|
||||
|
||||
%message 79
|
||||
"You're not sure, but you suppose they enjoy it."
|
||||
|
||||
%message 80
|
||||
"You're no star!"
|
||||
|
||||
%message 81
|
||||
"You toss the rose on the stage.
|
||||
It falls where you will not be able to retrieve it."
|
||||
|
||||
%message 82
|
||||
"\"And, now, ladi... uh, gentleman,\" announces the comic,
|
||||
\"we're proud to present the Magic portion of our act.\""
|
||||
|
||||
%message 83
|
||||
"\"Let me just pick someone at random from our audience...\""
|
||||
|
||||
%message 84
|
||||
"\"How about you,\" he says looking directly at you.
|
||||
\"Would you like to participate in a little experiment in telepathy?\""
|
||||
|
||||
%message 85
|
||||
"(Of course he's looking at you! You're the only one here!)
|
||||
You're game, so you answer, \"Sure.\""
|
||||
|
||||
%message 86
|
||||
"\"Great! Now Paul, my drummer and musical conductor for all these many years,
|
||||
will read your mind,\" says the comic.
|
||||
\"Come on, Paul, show him your stuff!\""
|
||||
|
||||
%message 87
|
||||
"\"I want you to concentrate on your billfold,\" Paul says.
|
||||
\"Clear your mind, and think solely about the contents of your wallet.\""
|
||||
|
||||
%message 88
|
||||
"Since clearing your mind is no problem for you, Larry,
|
||||
you do so easily."
|
||||
|
||||
%message 89
|
||||
"\"I'm getting a message... I see something...\""
|
||||
|
||||
%message 90
|
||||
"\"I've GOT IT!\" he exclaims. \"If you open your billfold
|
||||
you'll discover some wrinkled business cards, lots of notes,
|
||||
some credit cards (which won't work in this game),
|
||||
and exactly $%v90.00 in cash!!\""
|
||||
|
||||
%message 91
|
||||
"\"Ladi... uh, GENTLEMAN!\" shouts the comic.
|
||||
\"PAUL THE MAGNIFICENT has done it again!!\""
|
||||
|
||||
%message 92
|
||||
"Just to make sure, you take out your wallet and look inside..."
|
||||
|
||||
%message 93
|
||||
"\"Sometimes, she even watches the screen!\""
|
||||
|
||||
%message 94
|
||||
"\"I asked my wife,
|
||||
'How come you never tell me when you're having an orgasm?'\""
|
||||
|
||||
%message 95
|
||||
"\"She replied, 'Cause you're never around!\""
|
||||
|
||||
%message 96
|
||||
"\"My wife just loves to experiment.
|
||||
Last week she mixed speed with her Midol.\""
|
||||
|
||||
%message 97
|
||||
"\"She had her period six times in one day!\""
|
||||
|
||||
%message 98
|
||||
"\"My wife is a lot like Halley's Comet.\""
|
||||
|
||||
%message 99
|
||||
"\"They both come once every 76 years!\""
|
||||
|
||||
%message 100
|
||||
"Remember: you can't get it!"
|
||||
|
||||
%message 101
|
||||
"\"My son is becoming a real computer wiz!\""
|
||||
|
||||
%message 102
|
||||
"\"His teacher called him a 'master byter.'\""
|
||||
|
||||
%message 103
|
||||
"\"My uncle, the inventor, crossed a cucumber with a Mexican jumping bean.\""
|
||||
|
||||
%message 104
|
||||
"\"He calls it the world's first organic vibrator!\""
|
||||
|
||||
%message 105
|
||||
"\"Last week, I got arrested by a female cop.
|
||||
She asked me, 'Are you carrying a concealed weapon?'\""
|
||||
|
||||
%message 106
|
||||
"\"I replied, 'Keep frisking me, and I soon will be!'\""
|
||||
|
||||
%message 107
|
||||
"\"My best sexual encounter was in the South Sea Islands...\""
|
||||
|
||||
%message 108
|
||||
"\"I pushed a volcano into a virgin!\""
|
||||
|
||||
%message 109
|
||||
"\"Didja hear about the copier company that bought out
|
||||
a musical instrument maker?\""
|
||||
|
||||
%message 110
|
||||
"\"They're gonna market a new, reproductive organ!\""
|
||||
|
||||
%message 111
|
||||
"\"Thank you, thank you!\""
|
||||
|
||||
%message 112
|
||||
"The girls' smiles beam!"
|
||||
|
||||
%message 113
|
||||
"\"Well, that's all I know, folks,\" the comic says.
|
||||
\"Come back for the next show, and you can hear 'em all again!\""
|
||||
|
|
@ -0,0 +1,414 @@
|
|||
[logics for room 37 -- rmSlots
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "rm37.msg"
|
||||
%include "gamedefs.h"
|
||||
%include "contrlrs.h"
|
||||
%include "slots.h"
|
||||
|
||||
[ RESULTS PAYS\n
|
||||
[ |--------------------------------|\n
|
||||
[ | Cherry | | | 1 |\n
|
||||
[ | Cherry | Cherry | | 2 |\n
|
||||
[ | Cherry | Cherry | Cherry | 4 |\n
|
||||
[ |--------|--------|--------|-----|\n
|
||||
[ | Orange | Orange | | 2 |\n
|
||||
[ | Orange | Orange | Orange | 4 |\n
|
||||
[ |--------|--------|--------|-----|\n
|
||||
[ | Seven | Seven | | 3 |\n
|
||||
[ | Seven | Seven | Seven | 5 |\n
|
||||
[ |--------|--------|--------|-----|\n
|
||||
[ | Bar | Bar | Bar | 7 |\n
|
||||
[ |--------------------------------|\n
|
||||
|
||||
|
||||
|
||||
%define MIN_CYCLES 8 [ These must be 3 apart since
|
||||
%define MAX_CYCLES 11 [ we have 4 cells / wheel.
|
||||
|
||||
%define C_CHERRY 0
|
||||
%define C_ORANGE 1
|
||||
%define C_SEVEN 2
|
||||
%define C_BAR 3
|
||||
|
||||
%define cDecreaseBet cF4
|
||||
%define cIncreaseBet cF6
|
||||
%define cPullHandle cF8
|
||||
|
||||
|
||||
|
||||
if (initLog)
|
||||
{
|
||||
Reset( xyOn);
|
||||
|
||||
LoadView( vSlots);
|
||||
LoadView( vWinner);
|
||||
LoadLogics( lgcSlots);
|
||||
|
||||
LoadSound( sSlots);
|
||||
LoadSound( sSlotsWinner);
|
||||
|
||||
LoadPic( currentRoom);
|
||||
DrawPic( currentRoom);
|
||||
DiscardPic( currentRoom);
|
||||
|
||||
AnimateObj( aWinner);
|
||||
SetPriority( aWinner, 15);
|
||||
SetView( aWinner, vSlots);
|
||||
SetLoop( aWinner, 2);
|
||||
Position( aWinner, 56, 106);
|
||||
|
||||
AnimateObj( aWheel1);
|
||||
SetView( aWheel1, vSlots);
|
||||
SetLoop( aWheel1, 0);
|
||||
SetCel( aWheel1, C_BAR);
|
||||
Position( aWheel1, 46, 87);
|
||||
Draw( aWheel1);
|
||||
StopCycling( aWheel1);
|
||||
|
||||
AnimateObj( aWheel2);
|
||||
SetView( aWheel2, vSlots);
|
||||
SetLoop( aWheel2, 0);
|
||||
SetCel( aWheel2, C_BAR);
|
||||
Position( aWheel2, 69, 87);
|
||||
Draw( aWheel2);
|
||||
StopCycling( aWheel2);
|
||||
|
||||
AnimateObj( aWheel3);
|
||||
SetView( aWheel3, vSlots);
|
||||
SetLoop( aWheel3, 0);
|
||||
SetCel( aWheel3, C_BAR);
|
||||
Position( aWheel3, 93, 87);
|
||||
Draw( aWheel3);
|
||||
StopCycling( aWheel3);
|
||||
|
||||
AnimateObj( aLights);
|
||||
IgnoreHorizon( aLights);
|
||||
SetView( aLights, vSlots);
|
||||
SetLoop( aLights, 1);
|
||||
Position( aLights, 50, 10);
|
||||
|
||||
ShowPic( );
|
||||
|
||||
bet = 1;
|
||||
Set( readyToPlay);
|
||||
Set( handsOff);
|
||||
|
||||
function = UPDATE_STATUS;
|
||||
Call( lgcSlots);
|
||||
|
||||
PrintAt( 2, 2, 2, 36);
|
||||
[msg #, row, col, width
|
||||
Print( 1);
|
||||
|
||||
Set( noScript);
|
||||
Return( );
|
||||
|
||||
} [ end initLOG
|
||||
|
||||
|
||||
Set( nearPerson);
|
||||
|
||||
|
||||
if (readyToPlay &&
|
||||
Controller( cDecreaseBet))
|
||||
{
|
||||
--bet;
|
||||
function = UPDATE_STATUS;
|
||||
Call( lgcSlots);
|
||||
}
|
||||
|
||||
if (readyToPlay &&
|
||||
Controller( cIncreaseBet))
|
||||
{
|
||||
if (bet < 20)
|
||||
{
|
||||
++bet;
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 6);
|
||||
}
|
||||
function = UPDATE_STATUS;
|
||||
Call( lgcSlots);
|
||||
}
|
||||
|
||||
if (readyToPlay &&
|
||||
Controller( cPullHandle))
|
||||
{
|
||||
Set( pulledHandle);
|
||||
}
|
||||
|
||||
|
||||
|
||||
[*****
|
||||
:handleInput
|
||||
[*****
|
||||
|
||||
if (!haveInput) {goto noInput;}
|
||||
|
||||
if ((Said( play) ||
|
||||
Said( pull, handle) ||
|
||||
Said( play, slots)))
|
||||
{
|
||||
Set( pulledHandle);
|
||||
}
|
||||
|
||||
if (Said( odds))
|
||||
{
|
||||
function = UPDATE_STATUS;
|
||||
Call( lgcSlots);
|
||||
PrintAt( 2, 2, 2, 36);
|
||||
}
|
||||
|
||||
|
||||
if ((Said( look) ||
|
||||
Said( look, slot)))
|
||||
{
|
||||
Print( 8);
|
||||
}
|
||||
|
||||
if ((Said( leave) ||
|
||||
Said( look, room) ||
|
||||
Said( leave, slots) ||
|
||||
Said( stand) ||
|
||||
Said( walk, away) ||
|
||||
Said( walk) ||
|
||||
Said( quit, playing) ||
|
||||
Said( quit, game) ||
|
||||
Said( quit) ||
|
||||
Said( quit, playing, slots) ||
|
||||
Said( go, casino) ||
|
||||
Said( look, casino)))
|
||||
{
|
||||
Set( OK);
|
||||
Set( readyToLeave);
|
||||
}
|
||||
|
||||
|
||||
|
||||
[*****
|
||||
:noInput
|
||||
[*****
|
||||
|
||||
if (pulledHandle)
|
||||
{
|
||||
Reset( pulledHandle);
|
||||
|
||||
if (!readyToPlay)
|
||||
{
|
||||
Random( 11, 13, work);
|
||||
PrintV( work);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!bet)
|
||||
{
|
||||
Print( 3);
|
||||
Print( 4);
|
||||
Print( 5);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (bet > dollars)
|
||||
{
|
||||
Print( 7);
|
||||
}
|
||||
else
|
||||
{
|
||||
script = 0;
|
||||
Set( scriptDone);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (scriptDone)
|
||||
{
|
||||
Reset( scriptDone);
|
||||
++script;
|
||||
|
||||
if (script == 1)
|
||||
{
|
||||
Reset( readyToPlay);
|
||||
Set( preventSaveGame);
|
||||
Set( betInProgress);
|
||||
StopSound( );
|
||||
Reset( soundDone);
|
||||
Sound( sSlots, done);
|
||||
dollars -= bet;
|
||||
function = UPDATE_STATUS;
|
||||
Call( lgcSlots);
|
||||
|
||||
StartCycling( aWheel1);
|
||||
StartCycling( aWheel2);
|
||||
StartCycling( aWheel3);
|
||||
Random( MIN_CYCLES, MAX_CYCLES, scriptCycles);
|
||||
}
|
||||
|
||||
if (script == 2)
|
||||
{
|
||||
StopCycling( aWheel1);
|
||||
CurrentCel( aWheel1, wheel1);
|
||||
Random( MIN_CYCLES, MAX_CYCLES, scriptCycles);
|
||||
}
|
||||
|
||||
if (script == 3)
|
||||
{
|
||||
StopCycling( aWheel2);
|
||||
CurrentCel( aWheel2, wheel2);
|
||||
Random( MIN_CYCLES, MAX_CYCLES, scriptCycles);
|
||||
}
|
||||
|
||||
if (script == 4)
|
||||
{
|
||||
StopCycling( aWheel3);
|
||||
CurrentCel( aWheel3, wheel3);
|
||||
|
||||
|
||||
[ Determine if we hit anything.
|
||||
|
||||
multiple = 0;
|
||||
if (wheel1 == C_CHERRY)
|
||||
{
|
||||
multiple = 1;
|
||||
if (wheel2 == wheel1)
|
||||
{
|
||||
multiple = 2;
|
||||
if (wheel3 == wheel1)
|
||||
{
|
||||
multiple = 4;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (wheel1 == C_ORANGE &&
|
||||
wheel2 == wheel1)
|
||||
{
|
||||
multiple = 2;
|
||||
if (wheel3 == wheel1)
|
||||
{
|
||||
multiple = 4;
|
||||
}
|
||||
}
|
||||
|
||||
if (wheel1 == C_SEVEN &&
|
||||
wheel2 == wheel1)
|
||||
{
|
||||
multiple = 3;
|
||||
if (wheel3 == wheel1)
|
||||
{
|
||||
multiple = 5;
|
||||
}
|
||||
}
|
||||
|
||||
if (wheel1 == C_BAR &&
|
||||
wheel2 == wheel1 &&
|
||||
wheel3 == wheel1)
|
||||
{
|
||||
multiple = 7;
|
||||
}
|
||||
|
||||
|
||||
[ Now, are we gonna flash lights, and pay off?
|
||||
|
||||
if (!multiple)
|
||||
{
|
||||
Set( readyToPlay); [ Nope, this guy's a loser.
|
||||
}
|
||||
else
|
||||
{
|
||||
function = PAY_WINNER;
|
||||
Call( lgcSlots);
|
||||
|
||||
if (multiple == 1)
|
||||
{
|
||||
Set( readyToPlay); [ A small win, not worth mentioning.
|
||||
}
|
||||
else
|
||||
{
|
||||
Draw( aWinner); [ Ok, maybe a little.
|
||||
Set( soundDone);
|
||||
if (multiple > 1 &&
|
||||
multiple < 4)
|
||||
{
|
||||
scriptCycles = 22;
|
||||
}
|
||||
else
|
||||
{
|
||||
Draw( aLights); [ Let's go all out for this guy!
|
||||
if (multiple < 7)
|
||||
{
|
||||
scriptCycles = 22;
|
||||
}
|
||||
else
|
||||
{
|
||||
scriptCycles = 44;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[ We only get here if the "WINNER" object is drawn.
|
||||
|
||||
if (script == 5)
|
||||
{
|
||||
Erase( aLights);
|
||||
Erase( aWinner);
|
||||
Set( readyToPlay);
|
||||
}
|
||||
|
||||
|
||||
if (readyToPlay)
|
||||
{
|
||||
script = 0;
|
||||
Reset( preventSaveGame);
|
||||
Reset( betInProgress);
|
||||
|
||||
if (!dollars)
|
||||
{
|
||||
Reset( readyToPlay);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (soundDone && !readyToPlay)
|
||||
{
|
||||
Sound( sSlotsWinner, soundDone);
|
||||
}
|
||||
|
||||
|
||||
if ((Controller( cHelp) ||
|
||||
showOdds))
|
||||
{
|
||||
Reset( showOdds);
|
||||
function = UPDATE_STATUS;
|
||||
Call( lgcSlots);
|
||||
PrintAt( 2, 2, 2, 36);
|
||||
Print( 1);
|
||||
}
|
||||
|
||||
if (restoreInProgress)
|
||||
{
|
||||
function = UPDATE_STATUS;
|
||||
Call( lgcSlots);
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:exit [ test for leaving the room
|
||||
[*****
|
||||
|
||||
if (readyToLeave)
|
||||
{
|
||||
Reset( handsOff);
|
||||
Reset( noScript);
|
||||
Reset( preventSaveGame);
|
||||
Reset( betInProgress);
|
||||
newRoom = rmInsideCasino;
|
||||
}
|
|
@ -0,0 +1,65 @@
|
|||
[messages for room 37 -- rmSlots
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"\n
|
||||
Press F4 to decrease bet.\n\n
|
||||
Press F6 to increase bet.\n\n
|
||||
Press F8 to pull handle.\n
|
||||
"
|
||||
|
||||
%message 2
|
||||
"\n
|
||||
RESULTS PAYS\n
|
||||
|--------------------------------|\n
|
||||
| Cherry | | | 1 |\n
|
||||
| Cherry | Cherry | | 2 |\n
|
||||
| Cherry | Cherry | Cherry | 4 |\n
|
||||
|--------|--------|--------|-----|\n
|
||||
| Orange | Orange | | 2 |\n
|
||||
| Orange | Orange | Orange | 4 |\n
|
||||
|--------|--------|--------|-----|\n
|
||||
| Seven | Seven | | 3 |\n
|
||||
| Seven | Seven | Seven | 5 |\n
|
||||
|--------|--------|--------|-----|\n
|
||||
| Bar | Bar | Bar | 7 |\n
|
||||
|--------------------------------|\n
|
||||
"
|
||||
|
||||
%message 3
|
||||
"You insert zero dollars, and pretend to pull the handle."
|
||||
|
||||
%message 4
|
||||
"You win zero dollars!"
|
||||
|
||||
%message 5
|
||||
"Is this your idea of a good time?"
|
||||
|
||||
%message 6
|
||||
"This machine has a $20.00 limit."
|
||||
|
||||
%message 7
|
||||
"You can't bet more than you have."
|
||||
|
||||
%message 8
|
||||
"It's an electronic slot machine.
|
||||
When you tire of playing, just type \"stop.\""
|
||||
|
||||
%message 9
|
||||
""
|
||||
|
||||
%message 10
|
||||
""
|
||||
|
||||
%message 11
|
||||
"Don't be in such a hurry!"
|
||||
|
||||
%message 12
|
||||
"Slow down!"
|
||||
|
||||
%message 13
|
||||
"What are you? A \"Type-A\" personality?"
|
||||
|
|
@ -0,0 +1,168 @@
|
|||
[messages for room 38 -- rmBlackjack
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"You are sitting at a blackjack table in the casino.
|
||||
There is a sign on the table titled \"House Rules.\""
|
||||
|
||||
%message 2
|
||||
"Do you want insurance? "
|
||||
|
||||
%message 3
|
||||
"Amount in dollars: $"
|
||||
|
||||
%message 4
|
||||
"Please bet an even number of dollars (2, 4, 6, etc.).
|
||||
The house does not keep half-dollars."
|
||||
|
||||
%message 5
|
||||
"The dealer has blackjack!"
|
||||
|
||||
%message 6
|
||||
"Surrendering your cards, you are refunded half of your bet."
|
||||
|
||||
%message 7
|
||||
"You bet zero dollars, receive zero cards, and win zero dollars and
|
||||
zero cents."
|
||||
|
||||
%message 8
|
||||
"You can play all night like this!"
|
||||
|
||||
%message 9
|
||||
"Your insurance bet pays 2 to 1."
|
||||
|
||||
%message 10
|
||||
"Please answer \"y\" or \"n\"."
|
||||
|
||||
%message 11
|
||||
"You are busted."
|
||||
|
||||
%message 12
|
||||
"The dealer busted."
|
||||
|
||||
%message 13
|
||||
"She's a beautiful young lady,
|
||||
but you vow to keep your thoughts on the game."
|
||||
|
||||
%message 14
|
||||
"It's a push!"
|
||||
|
||||
%message 15
|
||||
"\"Thanks for playing,\" says the dealer, finally cracking a smile.
|
||||
\"Come back anytime.\""
|
||||
|
||||
%message 16
|
||||
"You lose!"
|
||||
|
||||
%message 17
|
||||
"You have blackjack."
|
||||
|
||||
%message 18
|
||||
"Six cards make a winner."
|
||||
|
||||
%message 19
|
||||
"You can only "
|
||||
|
||||
%message 20
|
||||
" when you have two cards."
|
||||
|
||||
%message 21
|
||||
"\"Please, no talking at the tables.\""
|
||||
|
||||
%message 22
|
||||
"That's not a pair."
|
||||
|
||||
%message 23
|
||||
"\"I'm sorry, Sir. We're not permitted to accept gratuities!\""
|
||||
|
||||
%message 24
|
||||
"%m19double when you have 10 or 11 points."
|
||||
|
||||
%message 25
|
||||
"%m19split%m20"
|
||||
|
||||
%message 26
|
||||
"%m19surrender%m20"
|
||||
|
||||
%message 27
|
||||
"You don't have enough money!"
|
||||
|
||||
%message 28
|
||||
"Don't be in such a hurry. Finish this hand first!"
|
||||
|
||||
%message 29
|
||||
"It's too late now. This hand is already being played."
|
||||
|
||||
%message 30
|
||||
"You can't bet more than you have."
|
||||
|
||||
%message 31
|
||||
"$20.00 is the maximum bet at this table."
|
||||
|
||||
%message 32
|
||||
""
|
||||
|
||||
%message 33
|
||||
""
|
||||
|
||||
%message 34
|
||||
"Your first hand "
|
||||
|
||||
%message 35
|
||||
"%m34is a push!"
|
||||
|
||||
%message 36
|
||||
"%m34wins!"
|
||||
|
||||
%message 37
|
||||
"%m34loses!"
|
||||
|
||||
%message 38
|
||||
"%m34busted!"
|
||||
|
||||
%message 39
|
||||
"%m43is a push!"
|
||||
|
||||
%message 40
|
||||
"%m43wins!"
|
||||
|
||||
%message 41
|
||||
"%m43loses!"
|
||||
|
||||
%message 42
|
||||
"%m43busted!"
|
||||
|
||||
%message 43
|
||||
"Your split hand "
|
||||
|
||||
%message 44
|
||||
"Please wait until it's your turn."
|
||||
|
||||
%message 45
|
||||
"\n
|
||||
HOUSE RULES\n\n
|
||||
This table has a $20.00 limit.
|
||||
Bets must be a multiple of $2.00.\n\n
|
||||
Dealer must hit 16, and must stand on 17.\n\n
|
||||
Blackjack pays 1-1/2 to 1 odds.\n\n
|
||||
Any six cards under 22 wins.\n
|
||||
"
|
||||
|
||||
%message 46
|
||||
"\n
|
||||
Insurance bets are offered whenever the dealer shows an ace.
|
||||
They are half your bet, and pay 2 to 1 odds.\n\n
|
||||
You may split a pair or surrender whenever you have only two cards.\n\n
|
||||
You may double down if your cards total 10 or 11 points.\n
|
||||
"
|
||||
|
||||
%message 47
|
||||
"\n
|
||||
Press F4 when ready to play.\n\n
|
||||
Press F6 for another card.\n\n
|
||||
Press F8 to stand.\n\n
|
||||
To change the amount of your bet, type \"change bet.\"\n"
|
||||
|
|
@ -0,0 +1,189 @@
|
|||
[logics for room 4 -- lgcQuestions1
|
||||
[ "Leisure-Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "rm4.msg"
|
||||
%include "gamedefs.h"
|
||||
|
||||
|
||||
%define FIRST_QUESTION 1
|
||||
%define LAST_QUESTION 53
|
||||
|
||||
%define toldLastQuestion lf1
|
||||
|
||||
%define allsWell lv0
|
||||
%define question1 lv1
|
||||
%define question2 lv2
|
||||
%define question3 lv3
|
||||
%define question4 lv4
|
||||
%define question5 lv5
|
||||
|
||||
|
||||
|
||||
if (initLog)
|
||||
{
|
||||
if (forceAtest)
|
||||
{
|
||||
Print( 60);
|
||||
currentQuestion = FIRST_QUESTION;
|
||||
}
|
||||
} [ end initLOG
|
||||
|
||||
|
||||
|
||||
if (!forceAtest)
|
||||
{
|
||||
:askAgain;
|
||||
Random( FIRST_QUESTION, LAST_QUESTION, currentQuestion);
|
||||
if ((currentQuestion == question1 ||
|
||||
currentQuestion == question2 ||
|
||||
currentQuestion == question3 ||
|
||||
currentQuestion == question4 ||
|
||||
currentQuestion == question5))
|
||||
{
|
||||
goto askAgain;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (question == 1) {question1 = currentQuestion};
|
||||
if (question == 2) {question2 = currentQuestion};
|
||||
if (question == 3) {question3 = currentQuestion};
|
||||
if (question == 4) {question4 = currentQuestion};
|
||||
if (question == 5) {question5 = currentQuestion};
|
||||
if (question == 6) {questionStatus = allDone;}
|
||||
if (question == 5 &&
|
||||
!toldLastQuestion)
|
||||
{
|
||||
Set( toldLastQuestion);
|
||||
Print( 69);
|
||||
}
|
||||
|
||||
++question;
|
||||
}
|
||||
}
|
||||
|
||||
if (currentQuestion == 1) {correctAnswer = 2;}
|
||||
if (currentQuestion == 2) {correctAnswer = 3;}
|
||||
if (currentQuestion == 3) {correctAnswer = 4;}
|
||||
if (currentQuestion == 4) {correctAnswer = 3;}
|
||||
if (currentQuestion == 5) {correctAnswer = 4;}
|
||||
if (currentQuestion == 6) {correctAnswer = 1;}
|
||||
if (currentQuestion == 7) {correctAnswer = 3;}
|
||||
if (currentQuestion == 8) {correctAnswer = 4;}
|
||||
if (currentQuestion == 9) {correctAnswer = 4;}
|
||||
if (currentQuestion == 10) {correctAnswer = 4;}
|
||||
if (currentQuestion == 11) {correctAnswer = 3;}
|
||||
if (currentQuestion == 12) {correctAnswer = 3;}
|
||||
if (currentQuestion == 13) {correctAnswer = 3;}
|
||||
if (currentQuestion == 14) {correctAnswer = 3;}
|
||||
if (currentQuestion == 15) {correctAnswer = 3;}
|
||||
if (currentQuestion == 16) {correctAnswer = 4;}
|
||||
if (currentQuestion == 17) {correctAnswer = 1;}
|
||||
if (currentQuestion == 18) {correctAnswer = 3;}
|
||||
if (currentQuestion == 19) {correctAnswer = 3;}
|
||||
if (currentQuestion == 20) {correctAnswer = 2;}
|
||||
if (currentQuestion == 21) {correctAnswer = 1;}
|
||||
if (currentQuestion == 22) {correctAnswer = 3;}
|
||||
if (currentQuestion == 23) {correctAnswer = 1;}
|
||||
if (currentQuestion == 24) {correctAnswer = 2;}
|
||||
if (currentQuestion == 25) {correctAnswer = 4;}
|
||||
if (currentQuestion == 26) {correctAnswer = 4;}
|
||||
if (currentQuestion == 27) {correctAnswer = 3;}
|
||||
if (currentQuestion == 28) {correctAnswer = 4;}
|
||||
if (currentQuestion == 29) {correctAnswer = 0;}
|
||||
if (currentQuestion == 30) {correctAnswer = 4;}
|
||||
if (currentQuestion == 31) {correctAnswer = 2;}
|
||||
if (currentQuestion == 32) {correctAnswer = 3;}
|
||||
if (currentQuestion == 33) {correctAnswer = 2;}
|
||||
if (currentQuestion == 34) {correctAnswer = 3;}
|
||||
if (currentQuestion == 35) {correctAnswer = 4;}
|
||||
if (currentQuestion == 36) {correctAnswer = 1;}
|
||||
if (currentQuestion == 37) {correctAnswer = 3;}
|
||||
if (currentQuestion == 38) {correctAnswer = 1;}
|
||||
if (currentQuestion == 39) {correctAnswer = 2;}
|
||||
if (currentQuestion == 40) {correctAnswer = 3;}
|
||||
if (currentQuestion == 41) {correctAnswer = 1;}
|
||||
if (currentQuestion == 42) {correctAnswer = 2;}
|
||||
if (currentQuestion == 43) {correctAnswer = 4;}
|
||||
if (currentQuestion == 44) {correctAnswer = 4;}
|
||||
if (currentQuestion == 45) {correctAnswer = 3;}
|
||||
if (currentQuestion == 46) {correctAnswer = 4;}
|
||||
if (currentQuestion == 47) {correctAnswer = 2;}
|
||||
if (currentQuestion == 48) {correctAnswer = 4;}
|
||||
if (currentQuestion == 49) {correctAnswer = 3;}
|
||||
if (currentQuestion == 50) {correctAnswer = 2;}
|
||||
if (currentQuestion == 51) {correctAnswer = 3;}
|
||||
if (currentQuestion == 52) {correctAnswer = 1;}
|
||||
if (currentQuestion == 53) {correctAnswer = 4;}
|
||||
|
||||
|
||||
if (questionStatus != allDone)
|
||||
{
|
||||
if (forceAtest)
|
||||
{
|
||||
ClearLines( 23, 23, 0);
|
||||
Display( 23, 0, 66);
|
||||
PrintV( currentQuestion);
|
||||
++currentQuestion;
|
||||
if (!currentQuestion > LAST_QUESTION)
|
||||
{
|
||||
questionStatus = waitAwhile;
|
||||
scriptTimer = 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
questionStatus = allDone;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
AcceptInput();
|
||||
CancelLine();
|
||||
PreventInput();
|
||||
ClearLines( 22, 24, BG_COLOR);
|
||||
|
||||
Set( leaveWindow);
|
||||
PrintV( currentQuestion);
|
||||
lastChar = 0;
|
||||
Display( 23, 0, 67);
|
||||
|
||||
|
||||
SetScanStart();
|
||||
if (!lastChar)
|
||||
{
|
||||
Return();
|
||||
}
|
||||
|
||||
if (lastChar > 64 && [ ABCD
|
||||
lastChar < 69)
|
||||
{
|
||||
lastChar += 32; [ Convert to abcd (lower case).
|
||||
}
|
||||
|
||||
if ((lastChar < 97 ||
|
||||
lastChar > 100))
|
||||
{
|
||||
Sound( sError, done);
|
||||
Return();
|
||||
}
|
||||
ResetScanStart(); [ We've got a valid letter.
|
||||
|
||||
|
||||
answer = lastChar;
|
||||
lastChar = 0;
|
||||
answer -= 96; [ Now answer between a and d.
|
||||
|
||||
message = 60; [ 1 less than first message #
|
||||
message += answer;
|
||||
y = 23;
|
||||
x = 29;
|
||||
DisplayV( y, x, message);
|
||||
questionStatus = waitAwhile;
|
||||
scriptTimer = 3;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:exit [ test for leaving the room
|
||||
[*****
|
|
@ -0,0 +1,434 @@
|
|||
[messages for room 4 -- lgcQuestions3
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"When playing \"Monopoly\" you\n\n
|
||||
a. hope for a straight\n
|
||||
flush.\n
|
||||
b. must own four houses\n
|
||||
before building\n
|
||||
a hotel.\n
|
||||
c. need a black jack to\n
|
||||
win.\n
|
||||
d. win with a seven and\n
|
||||
a five."
|
||||
|
||||
%message 2
|
||||
"Which is not in Hawaii?\n\n
|
||||
a. Oahu\n
|
||||
b. Kauai\n
|
||||
c. Fiji\n
|
||||
d. Maui"
|
||||
|
||||
%message 3
|
||||
"Which is not a car?\n\n
|
||||
a. Ferrari\n
|
||||
b. Porsche\n
|
||||
c. Corvair\n
|
||||
d. Toshiba"
|
||||
|
||||
%message 4
|
||||
"President Eisenhower's nickname was\n\n
|
||||
a. Tink.\n
|
||||
b. Blackjack.\n
|
||||
c. Ike.\n
|
||||
d. Tina."
|
||||
|
||||
%message 5
|
||||
"Bourbon Street is in\n\n
|
||||
a. Whiskeyville, Indiana.\n
|
||||
b. Jackass Flats, Idaho.\n
|
||||
c. \"Monopoly.\"\n
|
||||
d. New Orleans, Louisiana."
|
||||
|
||||
%message 6
|
||||
"Does a pair of queens beat three deuces?\n\n
|
||||
a. Yes, in blackjack.\n
|
||||
b. Yes, in poker.\n
|
||||
c. No, in canasta.\n
|
||||
d. It depends on what the\n
|
||||
three deuces said."
|
||||
|
||||
%message 7
|
||||
"Calvin Klein is\n\n
|
||||
a. married to\n
|
||||
Brooke Shields.\n
|
||||
b. a movie star.\n
|
||||
c. a clothing designer.\n
|
||||
d. President of the\n
|
||||
Coarsegold Chamber\n
|
||||
of Commerce."
|
||||
|
||||
%message 8
|
||||
"Two bits is\n\n
|
||||
a. all it takes to consume\n
|
||||
a \"Big Mac.\"\n
|
||||
b. computer talk.\n
|
||||
c. about a dollar.\n
|
||||
d. the former cost for a\n
|
||||
shave and a haircut."
|
||||
|
||||
%message 9
|
||||
"Charlie McCarthy and\n\n
|
||||
a. John Lennon\n
|
||||
b. Louis Pasteur\n
|
||||
c. Albert Einstein\n
|
||||
d. Edgar Bergen"
|
||||
|
||||
%message 10
|
||||
"Who is not a famous musician?\n\n
|
||||
a. Lawrence Welk\n
|
||||
b. Tommy Dorsey\n
|
||||
c. Les Brown\n
|
||||
d. Steve Garvey"
|
||||
|
||||
%message 11
|
||||
"Which is non-alcoholic?\n\n
|
||||
a. whiskey\n
|
||||
b. Grand Marnier\n
|
||||
c. Perrier\n
|
||||
d. tequila"
|
||||
|
||||
%message 12
|
||||
"Who was not a politician?\n\n
|
||||
a. Richard Nixon\n
|
||||
b. Ronald Reagan\n
|
||||
c. W. C. Fields\n
|
||||
d. George Bush"
|
||||
|
||||
%message 13
|
||||
"The last name of Annette (on the original Mickey Mouse Club) was\n\n
|
||||
a. Funnicular.\n
|
||||
b. that WAS her last name.\n
|
||||
c. Funicello.\n
|
||||
d. Avalon."
|
||||
|
||||
%message 14
|
||||
"\"Tiptoe Through the Tulips\" was recorded by\n\n
|
||||
a. Alice Cooper.\n
|
||||
b. Alice B. Toklas.\n
|
||||
c. Tiny Tim.\n
|
||||
d. Big Tiny Little."
|
||||
|
||||
%message 15
|
||||
"Which one of these was not a war?\n\n
|
||||
a. Crimean\n
|
||||
b. Korean\n
|
||||
c. Chinese\n
|
||||
d. Vietnamese"
|
||||
|
||||
%message 16
|
||||
"Who's buried in Grant's tomb?\n\n
|
||||
a. Grant Tinker\n
|
||||
b. Land Grant\n
|
||||
c. NSF Grant\n
|
||||
d. Mrs. Grant"
|
||||
|
||||
%message 17
|
||||
"John F. Kennedy drove a\n\n
|
||||
a. PT boat.\n
|
||||
b. spike faster than a\n
|
||||
steam driver.\n
|
||||
c. battleship.\n
|
||||
d. Ferrari."
|
||||
|
||||
%message 18
|
||||
"Peter Piper picked a peck of pickled\n\n
|
||||
a. pips.\n
|
||||
b. pipers.\n
|
||||
c. peppers.\n
|
||||
d. peekers."
|
||||
|
||||
%message 19
|
||||
"A result of Watergate was\n\n
|
||||
a. the loss of water.\n
|
||||
b. Jimmy Carter quit.\n
|
||||
c. Richard Nixon quit.\n
|
||||
d. Gerald Ford quit."
|
||||
|
||||
%message 20
|
||||
"I find computer games with adult content\n\n
|
||||
a. offensive.\n
|
||||
b. acceptable.\n
|
||||
c. repulsive.\n
|
||||
d. under my bed."
|
||||
|
||||
%message 21
|
||||
"The Atlantic and Pacific Oceans are connected by the\n\n
|
||||
a. Panama Canal.\n
|
||||
b. Snake River.\n
|
||||
c. hips.\n
|
||||
d. Isthmus of Panama."
|
||||
|
||||
%message 22
|
||||
"The most likely place to find virgins is\n\n
|
||||
a. The Virgin Islands.\n
|
||||
b. Virginia.\n
|
||||
c. St. Mary's Girls School.\n
|
||||
d. Hollywood."
|
||||
|
||||
%message 23
|
||||
"Who wrote \"To be, or not to be?\"\n\n
|
||||
a. Bill Shakespeare.\n
|
||||
b. Paul McCartney.\n
|
||||
c. George Bernard Shaw.\n
|
||||
d. Tennessee Williams."
|
||||
|
||||
%message 24
|
||||
"The largest state is\n\n
|
||||
a. California.\n
|
||||
b. Alaska.\n
|
||||
c. Rhode Island.\n
|
||||
d. Texas."
|
||||
|
||||
%message 25
|
||||
"Utah is full of\n\n
|
||||
a. fresh water.\n
|
||||
b. Jews.\n
|
||||
c. Catholics.\n
|
||||
d. None of the above."
|
||||
|
||||
%message 26
|
||||
"The leader of Nazi Germany was\n\n
|
||||
a. Boris Godunov.\n
|
||||
b. Mussolini.\n
|
||||
c. Oleg Cassinni.\n
|
||||
d. Adolph Hitler."
|
||||
|
||||
%message 27
|
||||
"Lee Harvey Oswald killed\n\n
|
||||
a. Harvey Milk.\n
|
||||
b. Charles Nelson Reilly.\n
|
||||
c. John Fitzgerald Kennedy.\n
|
||||
d. William Randolph Hearst."
|
||||
|
||||
%message 28
|
||||
"How many molecules are in a glass of water?\n\n
|
||||
a. one million\n
|
||||
b. one trillion\n
|
||||
c. one million trillion\n
|
||||
d. as many as there are\n
|
||||
glasses of water\n
|
||||
in the whole world"
|
||||
|
||||
%message 29
|
||||
"If a physician were stranded on a desert island with Bo Derek, he would
|
||||
probably\n\n
|
||||
a. build a boat.\n
|
||||
b. take two aspirins.\n
|
||||
c. overcharge her.\n
|
||||
d. thank God."
|
||||
|
||||
%message 30
|
||||
"If Bo Derek were here, I'd ask her to\n\n
|
||||
a. leave.\n
|
||||
b. respect my privacy.\n
|
||||
c. help me with my\n
|
||||
homework.\n
|
||||
d. stop playing computer\n
|
||||
games."
|
||||
|
||||
%message 31
|
||||
"Joe DiMaggio played\n\n
|
||||
a. pool.\n
|
||||
b. baseball.\n
|
||||
c. basketball.\n
|
||||
d. trumpet."
|
||||
|
||||
%message 32
|
||||
"The most populous city in the United States is\n\n
|
||||
a. Los Angeles.\n
|
||||
b. Mexico City.\n
|
||||
c. New York.\n
|
||||
d. Chicago."
|
||||
|
||||
%message 33
|
||||
"A nehru jacket is\n\n
|
||||
a. made from tanned nehru\n
|
||||
hides.\n
|
||||
b. out of date.\n
|
||||
c. a Middle Eastern\n
|
||||
prophylactic.\n
|
||||
d. around a car's radiator."
|
||||
|
||||
%message 34
|
||||
"Sergeant Pepper was\n\n
|
||||
a. the Beatles' chauffeur.\n
|
||||
b. Elvis' manager.\n
|
||||
c. the leader of the Lonely\n
|
||||
Hearts Club Band.\n
|
||||
d. hung for treason."
|
||||
|
||||
%message 35
|
||||
"Which is not an American armed force?\n\n
|
||||
a. the Army\n
|
||||
b. the Navy\n
|
||||
c. the National Guard\n
|
||||
d. the National League"
|
||||
|
||||
%message 36
|
||||
"The most effective form of birth control is\n\n
|
||||
a. abstinence.\n
|
||||
b. the Rhythm Method.\n
|
||||
c. the Pill.\n
|
||||
d. dating ugly people."
|
||||
|
||||
%message 37
|
||||
"Which is not a city in Mexico?\n\n
|
||||
a. Tijuana\n
|
||||
b. Puerto Vallarta\n
|
||||
c. San Diego\n
|
||||
d. Mexico City"
|
||||
|
||||
%message 38
|
||||
"Herb Alpert and the _____ Brass\n\n
|
||||
a. Tijuana\n
|
||||
b. Boss\n
|
||||
c. Canadian\n
|
||||
d. Top"
|
||||
|
||||
%message 39
|
||||
"\"It's not nice to fool\"\n\n
|
||||
a. Mother Hubbard.\n
|
||||
b. Mother Nature.\n
|
||||
c. the government.\n
|
||||
d. Mayor Daly."
|
||||
|
||||
%message 40
|
||||
"\"Where's the\"\n\n
|
||||
a. catsup?\n
|
||||
b. toilet?\n
|
||||
c. beef?\n
|
||||
d. rest of this game?"
|
||||
|
||||
%message 41
|
||||
"Who was not an astronaut?\n\n
|
||||
a. John Milton\n
|
||||
b. John Glenn\n
|
||||
c. Neil Armstrong\n
|
||||
d. Richard Gordon"
|
||||
|
||||
%message 42
|
||||
"Who has not been a\n
|
||||
U. S. Attorney General?\n\n
|
||||
a. John Mitchell\n
|
||||
b. Sam Shepard\n
|
||||
c. Ramsey Clark\n
|
||||
d. Herbert Browner"
|
||||
|
||||
%message 43
|
||||
"Which is not a cheese?\n\n
|
||||
a. Jarlsburg\n
|
||||
b. Mozzarella\n
|
||||
c. Brie\n
|
||||
d. Reisling"
|
||||
|
||||
%message 44
|
||||
"Captain Kangaroo's sidekick was\n\n
|
||||
a. Mr. Potato Head.\n
|
||||
b. Winnie the Pooh.\n
|
||||
c. Mr. Rogers.\n
|
||||
d. Mr. Greenjeans."
|
||||
|
||||
%message 45
|
||||
"Mohammed Ali is\n\n
|
||||
a. a ballet star.\n
|
||||
b. an Arab terrorist.\n
|
||||
c. a professional boxer.\n
|
||||
d. a singer."
|
||||
|
||||
%message 46
|
||||
"Who is not a mass murderer?\n\n
|
||||
a. Charlie Manson\n
|
||||
b. Ted Bundy\n
|
||||
c. Jack the Ripper\n
|
||||
d. Timothy Leary"
|
||||
|
||||
%message 47
|
||||
"There are about _____ calories in a can of beer.\n\n
|
||||
a. 15\n
|
||||
b. 150\n
|
||||
c. 1500\n
|
||||
d. 15000"
|
||||
|
||||
%message 48
|
||||
"John Belushi was on\n\n
|
||||
a. \"Mr. Rogers.\"\n
|
||||
b. \"The PTL club.\"\n
|
||||
c. \"My Mother the Car.\"\n
|
||||
d. \"Saturday Night Live.\""
|
||||
|
||||
%message 49
|
||||
"James Earl Jones was the voice of\n\n
|
||||
a. Jason in \"Friday\n
|
||||
the 13th.\"\n
|
||||
b. Freddie in \"Nightmare on\n
|
||||
Elm Street.\"\n
|
||||
c. Darth Vader in\n
|
||||
\"Star Wars.\"\n
|
||||
d. Kriswell in \"Plan 9 From\n
|
||||
Outer Space.\""
|
||||
|
||||
%message 50
|
||||
"Doonesbury's \"Uncle Duke\" is based on\n\n
|
||||
a. Jeffrey Hunter.\n
|
||||
b. Hunter S. Thompson.\n
|
||||
c. Huntz Hall.\n
|
||||
d. None of the above."
|
||||
|
||||
%message 51
|
||||
"In Westworld, \"where nothing can go wrong,\" guests were entertained by\n\n
|
||||
a. Stephen Wright.\n
|
||||
b. X-rated movies.\n
|
||||
c. robots.\n
|
||||
d. Rodney Dangerfield."
|
||||
|
||||
%message 52.
|
||||
"Mork was from the planet\n\n
|
||||
a. Ork.\n
|
||||
b. Vulcan.\n
|
||||
c. Krypton.\n
|
||||
d. Pluto."
|
||||
|
||||
%message 53
|
||||
"Who was banned from \"Saturday Night Live\" because he lost a telephone poll?\n\n
|
||||
a. John Belushi\n
|
||||
b. Dan Akroyd\n
|
||||
c. Chevy Chase\n
|
||||
d. Andy Kaufman"
|
||||
|
||||
|
||||
|
||||
|
||||
%message 60
|
||||
"Dynamic logic = 4."
|
||||
|
||||
%message 61
|
||||
"a"
|
||||
|
||||
%message 62
|
||||
"b"
|
||||
|
||||
%message 63
|
||||
"c"
|
||||
|
||||
%message 64
|
||||
"d"
|
||||
|
||||
%message 65
|
||||
"So far, so good.\n\n
|
||||
Now for the final question."
|
||||
|
||||
%message 66
|
||||
"Question #%v96. Correct answer is %v93."
|
||||
|
||||
%message 67
|
||||
"Please answer a, b, c, or d: "
|
||||
|
||||
%message 69
|
||||
"So far, so good.\n\n
|
||||
Now for the final question."
|
||||
|
|
@ -0,0 +1,634 @@
|
|||
[logics for room 40 -- rmElevators
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "rm40.msg"
|
||||
%include "gamedefs.h"
|
||||
|
||||
|
||||
|
||||
[ Vertical elevator maze. One floor has the honeymoon suite entrance,
|
||||
|
||||
|
||||
#define L_HALL_DOOR 0
|
||||
#define HONEYMOON_FLOOR 4
|
||||
|
||||
%define nearTHEDoor lf0
|
||||
%define doorDone lf2
|
||||
%define elevatorMoving lf4
|
||||
%define inElevator lf5
|
||||
%define goingDown lf6
|
||||
|
||||
%define currentFloor lv0
|
||||
|
||||
%object aElevator 1
|
||||
%object aDoors 2
|
||||
%object aFloor 3
|
||||
%object aDoor 4
|
||||
%object aNumber 6
|
||||
|
||||
|
||||
|
||||
if (initLog)
|
||||
{
|
||||
SetHorizon( 1);
|
||||
|
||||
LoadPic( currentRoom);
|
||||
DrawPic( currentRoom);
|
||||
DiscardPic( currentRoom);
|
||||
|
||||
LoadView( vElevator);
|
||||
LoadView( vElevatorNumbers);
|
||||
LoadView( vHoneymoonHallwayDoor);
|
||||
LoadView( vEgoPushingElevator);
|
||||
LoadView( vEgo);
|
||||
|
||||
IgnoreObjs( ego);
|
||||
|
||||
|
||||
AnimateObj( aDoor);
|
||||
IgnoreBlocks( aDoor);
|
||||
IgnoreObjs( aDoor);
|
||||
SetView( aDoor, vHoneymoonHallwayDoor);
|
||||
SetCel( aDoor, 0);
|
||||
SetPriority( aDoor, 10);
|
||||
Position( aDoor, 6, 134);
|
||||
work = DOOR_CYCLE_TIME;
|
||||
CycleTime( aDoor, work);
|
||||
|
||||
AnimateObj( aNumber);
|
||||
IgnoreBlocks( aNumber);
|
||||
IgnoreObjs( aNumber);
|
||||
SetView( aNumber, vElevatorNumbers);
|
||||
SetPriority( aNumber, 5);
|
||||
Position( aNumber, 73, 100);
|
||||
StopCycling( aNumber);
|
||||
|
||||
AnimateObj( aDoors);
|
||||
IgnoreBlocks( aDoors);
|
||||
IgnoreObjs( aDoors);
|
||||
SetView( aDoors, vElevator);
|
||||
SetLoop( aDoors, L_DOORS);
|
||||
FixLoop( aDoors);
|
||||
SetPriority( aDoors, 4);
|
||||
Position( aDoors, 73, 120);
|
||||
work = DOOR_CYCLE_TIME;
|
||||
CycleTime( aDoors, work);
|
||||
|
||||
AnimateObj( aFloor);
|
||||
IgnoreBlocks( aFloor);
|
||||
IgnoreObjs( aFloor);
|
||||
SetView( aFloor, vElevator);
|
||||
SetLoop( aFloor, L_FLOOR);
|
||||
FixLoop( aFloor);
|
||||
Position( aFloor, 73, 128);
|
||||
SetPriority( aFloor, 5);
|
||||
|
||||
AnimateObj( aElevator);
|
||||
IgnoreBlocks( aElevator);
|
||||
IgnoreObjs( aElevator);
|
||||
SetView( aElevator, vElevator);
|
||||
SetPriority( aElevator, 12);
|
||||
FixLoop( aElevator);
|
||||
StepSize( aElevator, two);
|
||||
if (currentStatus == IN_ELEVATOR)
|
||||
{
|
||||
if (previousRoom == rmSecurityDesk)
|
||||
{
|
||||
Set( goingDown);
|
||||
currentFloor = 7;
|
||||
Position( aElevator, 73, 36);
|
||||
}
|
||||
else
|
||||
{
|
||||
currentFloor = 2;
|
||||
Position( aElevator, 73, 167);
|
||||
}
|
||||
|
||||
Set( elevatorMoving);
|
||||
currentStatus = IN_ELEVATOR;
|
||||
|
||||
SetLoop( aElevator, L_WITH_EGO);
|
||||
LastCel( aElevator, work);
|
||||
SetCelV( aElevator, work);
|
||||
StopCycling( aElevator);
|
||||
|
||||
if (destinationFloor > currentFloor)
|
||||
{
|
||||
MoveObj( aElevator, 73, 36, 2, scriptDone);
|
||||
script = 200;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (destinationFloor < currentFloor)
|
||||
{
|
||||
MoveObj( aElevator, 73, 167, 2, scriptDone);
|
||||
script = 200;
|
||||
}
|
||||
else
|
||||
{
|
||||
MoveObj( aElevator, 73, 128, 2, scriptDone);
|
||||
script = 100;
|
||||
}
|
||||
}
|
||||
|
||||
Draw( aElevator);
|
||||
Draw( aDoors);
|
||||
StopUpdate( aDoors);
|
||||
|
||||
SetCelV( aNumber, currentFloor);
|
||||
Draw( aNumber);
|
||||
|
||||
SetView( ego, vEgo);
|
||||
SetLoop( ego, FACING_FRONT);
|
||||
SetPriority( ego, 12);
|
||||
egoX = 76;
|
||||
egoY = 126;
|
||||
PositionV( ego, egoX, egoY);
|
||||
[ Don't Draw ego!
|
||||
}
|
||||
else [ NOT in elevator.
|
||||
{
|
||||
Draw( aFloor);
|
||||
StopUpdate( aFloor);
|
||||
|
||||
SetLoop( aElevator, L_EMPTY);
|
||||
SetCel( aElevator, 0);
|
||||
Position( aElevator, 73, 128);
|
||||
Draw( aElevator);
|
||||
StopUpdate( aElevator);
|
||||
|
||||
currentFloor = HONEYMOON_FLOOR;
|
||||
|
||||
Draw( aDoor);
|
||||
StopUpdate( aDoor);
|
||||
|
||||
SetLoop( ego, FACING_RIGHT);
|
||||
egoX = 9;
|
||||
egoY = 132;
|
||||
PositionV( ego, egoX, egoY);
|
||||
Draw( ego);
|
||||
StartMotion( ego);
|
||||
}
|
||||
|
||||
|
||||
ShowPic( );
|
||||
|
||||
if (previousRoom == rmHoneymoonSuite)
|
||||
{
|
||||
Print( 18);
|
||||
}
|
||||
|
||||
Return( );
|
||||
|
||||
} [ end initLOG
|
||||
|
||||
|
||||
|
||||
Reset( inElevator);
|
||||
if (Posn( ego, 73, 119, 83, 127))
|
||||
{
|
||||
Set( inElevator);
|
||||
}
|
||||
|
||||
if (inElevator)
|
||||
{
|
||||
SetPriority( ego, 11);
|
||||
}
|
||||
else
|
||||
{
|
||||
ReleasePriority( ego);
|
||||
}
|
||||
|
||||
|
||||
Reset( nearTHEDoor);
|
||||
if (currentFloor == HONEYMOON_FLOOR &&
|
||||
Posn( ego, 6, 126, 15, 135))
|
||||
{
|
||||
Set( nearTHEDoor);
|
||||
}
|
||||
|
||||
|
||||
|
||||
[*****
|
||||
:handleInput
|
||||
[*****
|
||||
|
||||
if (!haveInput) {goto noInput;}
|
||||
|
||||
if (elevatorMoving && !haveMatch)
|
||||
{
|
||||
if ((Said( listen) ||
|
||||
Said( listen, elevator) ||
|
||||
Said( listen, music) ||
|
||||
Said( sing, music) ||
|
||||
Said( sing) ||
|
||||
Said( sing, along)))
|
||||
{
|
||||
Print( 7);
|
||||
}
|
||||
else
|
||||
{
|
||||
Set( haveMatch);
|
||||
Print( 5);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((Said( look) ||
|
||||
Said( look, room) ||
|
||||
Said( look, floor) ||
|
||||
Said( look, hotel)))
|
||||
{
|
||||
Print( 1);
|
||||
|
||||
if (currentFloor == HONEYMOON_FLOOR)
|
||||
{
|
||||
Print( 2);
|
||||
}
|
||||
|
||||
if (inElevator)
|
||||
{
|
||||
Print( 20);
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( look, elevator))
|
||||
{
|
||||
if (inElevator)
|
||||
{
|
||||
Print( 20);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 22);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (Said( look, plants))
|
||||
{
|
||||
Print( 16);
|
||||
}
|
||||
|
||||
if (Said( look, door))
|
||||
{
|
||||
if (nearTHEDoor)
|
||||
{
|
||||
Print( 11);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 12);
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( anyword, heart, rol))
|
||||
{
|
||||
if (nearTHEDoor)
|
||||
{
|
||||
Print( 23);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 24);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( knock) ||
|
||||
Said( knock, on, door) ||
|
||||
Said( knock, door)))
|
||||
{
|
||||
if (!nearTHEDoor)
|
||||
{
|
||||
Print( 32);
|
||||
Random( 34, 50, message);
|
||||
PrintV( message);
|
||||
Print( 33);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!fawnInRoom)
|
||||
{
|
||||
Print( 4);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (orderedWine && !seenDeliveryBoyGag)
|
||||
{
|
||||
Print( 25);
|
||||
Print( 26);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 6);
|
||||
Print( 8);
|
||||
}
|
||||
|
||||
Print( 10);
|
||||
StartUpdate( aDoor);
|
||||
EndOfLoop( aDoor, doorDone);
|
||||
StopMotion( ego);
|
||||
Set( programControl);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (Said( open, door))
|
||||
{
|
||||
if (!nearTHEDoor)
|
||||
{
|
||||
Print( 17);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 9);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( open, door, use, rol) ||
|
||||
Said( break, door, rol)))
|
||||
{
|
||||
Print( 27);
|
||||
}
|
||||
|
||||
|
||||
if ((Said( unlock, door, rol) ||
|
||||
Said( use, key, rol)))
|
||||
{
|
||||
if (!nearTHEDoor)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 21);
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( jump, rol))
|
||||
{
|
||||
Print( 31);
|
||||
}
|
||||
|
||||
if ((Said( look, down) ||
|
||||
Said( spit)))
|
||||
{
|
||||
Print( 28);
|
||||
Print( 29);
|
||||
Print( 30);
|
||||
}
|
||||
|
||||
|
||||
if (!script && inElevator)
|
||||
{
|
||||
if ((Said( press, one) ||
|
||||
Said( press, button, one) ||
|
||||
Said( one)))
|
||||
{
|
||||
destinationFloor = 1;
|
||||
Set( scriptDone);
|
||||
}
|
||||
|
||||
if ((Said( press, two) ||
|
||||
Said( press, button, two) ||
|
||||
Said( two)))
|
||||
{
|
||||
destinationFloor = 2;
|
||||
Set( scriptDone);
|
||||
}
|
||||
|
||||
if ((Said( press, three) ||
|
||||
Said( press, button, three) ||
|
||||
Said( three)))
|
||||
{
|
||||
destinationFloor = 3;
|
||||
Set( scriptDone);
|
||||
}
|
||||
|
||||
if ((Said( press, four) ||
|
||||
Said( press, button, four) ||
|
||||
Said( four)))
|
||||
{
|
||||
destinationFloor = 4;
|
||||
Set( scriptDone);
|
||||
}
|
||||
|
||||
if ((Said( press, five) ||
|
||||
Said( press, button, five) ||
|
||||
Said( five)))
|
||||
{
|
||||
destinationFloor = 5;
|
||||
Set( scriptDone);
|
||||
}
|
||||
|
||||
if ((Said( press, six) ||
|
||||
Said( press, button, six) ||
|
||||
Said( six)))
|
||||
{
|
||||
destinationFloor = 6;
|
||||
Set( scriptDone);
|
||||
}
|
||||
|
||||
if ((Said( press, seven) ||
|
||||
Said( press, button, seven) ||
|
||||
Said( seven)))
|
||||
{
|
||||
destinationFloor = 7;
|
||||
Set( scriptDone);
|
||||
}
|
||||
|
||||
if ((Said( press, eight) ||
|
||||
Said( press, button, eight) ||
|
||||
Said( eight)))
|
||||
{
|
||||
destinationFloor = 8;
|
||||
Set( scriptDone);
|
||||
}
|
||||
|
||||
if ((Said( push, rol) ||
|
||||
Said( push, button, rol)))
|
||||
{
|
||||
Print( 19);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
[*****
|
||||
:noInput
|
||||
[*****
|
||||
|
||||
if (doorDone)
|
||||
{
|
||||
Reset( programControl);
|
||||
newRoom = rmHoneymoonSuite;
|
||||
}
|
||||
|
||||
|
||||
if (scriptDone)
|
||||
{
|
||||
Reset( scriptDone);
|
||||
++script;
|
||||
|
||||
if (script == 1)
|
||||
{
|
||||
Set( elevatorMoving);
|
||||
currentStatus = IN_ELEVATOR;
|
||||
StopMotion( ego);
|
||||
Set( programControl);
|
||||
SetView( ego, vEgoPushingElevator);
|
||||
SetCel( ego, 0);
|
||||
RepositionTo( ego, 76, 126);
|
||||
CycleTime( ego, three);
|
||||
Set( keepCycling);
|
||||
EndOfLoop( ego, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 2)
|
||||
{
|
||||
Erase( ego);
|
||||
SetView( ego, vEgo);
|
||||
|
||||
SetLoop( aElevator, L_WITH_EGO);
|
||||
SetCel( aElevator, 0);
|
||||
CycleTime( aElevator, three);
|
||||
EndOfLoop( aElevator, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 3)
|
||||
{
|
||||
Erase( aFloor);
|
||||
Draw( aDoors);
|
||||
|
||||
SetCelV( aNumber, currentFloor);
|
||||
Draw( aNumber);
|
||||
|
||||
script = 200;
|
||||
StopCycling( aElevator);
|
||||
|
||||
if (destinationFloor > currentFloor)
|
||||
{
|
||||
Reset( goingDown);
|
||||
MoveObj( aElevator, 73, 36, 2, scriptDone);
|
||||
script = 200;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (destinationFloor < currentFloor)
|
||||
{
|
||||
Set( goingDown);
|
||||
MoveObj( aElevator, 73, 167, 2, scriptDone);
|
||||
script = 200;
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 3);
|
||||
script = 101; [ We'll catch it immediately.
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (script == 101) [ He's at the floor he wants.
|
||||
{
|
||||
Erase( aDoors);
|
||||
Erase( aNumber);
|
||||
|
||||
CycleTime( aElevator, two);
|
||||
StartCycling( aElevator);
|
||||
BeginningOfLoop( aElevator, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 102) [ Let him out.
|
||||
{
|
||||
Reset( elevatorMoving);
|
||||
currentStatus = NORMAL;
|
||||
destinationFloor = 0;
|
||||
script = 0;
|
||||
SetLoop( aElevator, L_EMPTY);
|
||||
|
||||
Draw( aFloor);
|
||||
|
||||
SetView( ego, vEgo);
|
||||
SetLoop( ego, FACING_FRONT);
|
||||
SetCel( ego, 0);
|
||||
Position( ego, 76, 126);
|
||||
Draw( ego);
|
||||
StartMotion( ego);
|
||||
CycleTime( ego, one);
|
||||
Reset( keepCycling);
|
||||
Reset( programControl);
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (script == 201)
|
||||
{
|
||||
if (goingDown)
|
||||
{
|
||||
--currentFloor;
|
||||
if (currentFloor == 1)
|
||||
{
|
||||
newRoom = rmElevatorBottom;
|
||||
Return();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
++currentFloor;
|
||||
if (currentFloor == 8)
|
||||
{
|
||||
newRoom = rmSecurityDesk;
|
||||
Return();
|
||||
}
|
||||
}
|
||||
|
||||
if (goingDown)
|
||||
{
|
||||
RepositionTo( aElevator, 73, 36);
|
||||
}
|
||||
else
|
||||
{
|
||||
RepositionTo( aElevator, 73, 167);
|
||||
}
|
||||
|
||||
if (currentFloor != HONEYMOON_FLOOR)
|
||||
{
|
||||
Erase( aDoor);
|
||||
}
|
||||
else
|
||||
{
|
||||
Draw( aDoor);
|
||||
StopUpdate( aDoor);
|
||||
}
|
||||
|
||||
SetCelV( aNumber, currentFloor);
|
||||
|
||||
if (destinationFloor > currentFloor)
|
||||
{
|
||||
MoveObj( aElevator, 73, 36, 2, scriptDone);
|
||||
script = 200;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (destinationFloor < currentFloor)
|
||||
{
|
||||
MoveObj( aElevator, 73, 167, 2, scriptDone);
|
||||
script = 200;
|
||||
}
|
||||
else
|
||||
{
|
||||
MoveObj( aElevator, 73, 128, 2, scriptDone);
|
||||
script = 100;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:exit [ test for leaving the room
|
||||
[*****
|
|
@ -0,0 +1,171 @@
|
|||
[messages for room 40 -- rmElevatorMaze
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"You are in the Casino's hotel.
|
||||
Doors line each side, many with \"Do Not Disturb\" signs on their doorknobs."
|
||||
|
||||
%message 2
|
||||
"There's a door with a heart on it to the west."
|
||||
|
||||
%message 3
|
||||
"Not one for those long elevator rides, eh, Larry?"
|
||||
|
||||
%message 4
|
||||
"You rap your knuckles on the door.
|
||||
There is no response, but now your knuckles hurt."
|
||||
|
||||
%message 5
|
||||
"Whee!"
|
||||
|
||||
%message 6
|
||||
"Fawn's delicate voice booms out across the hotel:\n\n
|
||||
\"Just a minute, Larry!\""
|
||||
|
||||
%message 7
|
||||
"\"strangers in the night, da da da dee da...\""
|
||||
|
||||
%message 8
|
||||
"There's a click as she unlocks the door, then a piercing
|
||||
\"Come on in. The door's open.\""
|
||||
|
||||
%message 9
|
||||
"You can't. This door is locked."
|
||||
|
||||
%message 10
|
||||
"Subtly, you shout, \"Here I come, baby!\""
|
||||
|
||||
%message 11
|
||||
"It's a door not unlike all the others, except this one has a cute,
|
||||
trite, cracked, little, plastic heart stuck to it with a thumbtack."
|
||||
|
||||
%message 12
|
||||
"It's a door just like all the others."
|
||||
|
||||
%message 13
|
||||
""
|
||||
|
||||
%message 14
|
||||
""
|
||||
|
||||
%message 15
|
||||
""
|
||||
|
||||
%message 16
|
||||
"They almost look real, don't they?"
|
||||
|
||||
%message 17
|
||||
"You seem surprised that the door is locked."
|
||||
|
||||
%message 18
|
||||
"You close the door behind you, and jiggle the knob to confirm it is locked."
|
||||
|
||||
%message 19
|
||||
"Type a word, like \"one\" or \"two.\""
|
||||
|
||||
%message 20
|
||||
"There are buttons labeled \"one\" through \"eight.\""
|
||||
|
||||
%message 21
|
||||
"You can't. There's no key in this game!"
|
||||
|
||||
%message 22
|
||||
"Isn't it funny how the elevator is always waiting for you?"
|
||||
|
||||
%message 23
|
||||
"The cheap, plastic heart is not worth the bother."
|
||||
|
||||
%message 24
|
||||
"Where?"
|
||||
|
||||
%message 25
|
||||
"Fawn's sexy voice oozes through the door,
|
||||
\"Oh, baby, it's you! You're back!!\""
|
||||
|
||||
%message 26
|
||||
"There's a click as she unlocks the door.
|
||||
\"Come on in, you wonderful hunk!\""
|
||||
|
||||
%message 27
|
||||
"It's no good. The door resists all of your efforts."
|
||||
|
||||
%message 28
|
||||
"You contemplate expec- toration, but remember that discretion is the better
|
||||
part of valium."
|
||||
|
||||
%message 29
|
||||
"...or helium,"
|
||||
|
||||
%message 30
|
||||
"...or something."
|
||||
|
||||
%message 31
|
||||
"Suicide is illegal here."
|
||||
|
||||
%message 32
|
||||
"You rap your knuckles on the nearest door."
|
||||
|
||||
%message 33
|
||||
"This must not be the right door, Larry."
|
||||
|
||||
%message 34
|
||||
"\"Hey, Scott, the girls are here!!\""
|
||||
|
||||
%message 35
|
||||
"\"It says 'Do NOT Disturb!' Can't you read?\""
|
||||
|
||||
%message 36
|
||||
"You hear some extremely heavy breathing."
|
||||
|
||||
%message 37
|
||||
"\"Go away! I gave at the office!\""
|
||||
|
||||
%message 38
|
||||
"\"Oh, Russ, there's someone at the door!\"\n\n
|
||||
\"They're gonna have to wait, Kim Baby!
|
||||
It's too late for me to stop now!!\""
|
||||
|
||||
%message 39
|
||||
"\"Baaaaah. Baaaaah!\"\n\n
|
||||
Don't even ask, Larry!"
|
||||
|
||||
%message 40
|
||||
"\"Oh, Bruce!\n
|
||||
Oh, Howard!\n\n
|
||||
Oh, Terri!\n
|
||||
Oh, Carrie!\""
|
||||
|
||||
%message 41
|
||||
"\"Ken! Get off me, Ken!!\""
|
||||
|
||||
%message 42
|
||||
"\"Oh, gawd, Ed!! Get in the closet. It's my husband!!\""
|
||||
|
||||
%message 43
|
||||
"\"Bobbit, is that you?\""
|
||||
|
||||
%message 44
|
||||
"\"Not now; I've got wessonality!\""
|
||||
|
||||
%message 45
|
||||
"\"Is that Room Service? I didn't order anchovies.\""
|
||||
|
||||
%message 46
|
||||
"An eye appears at the peephole.
|
||||
\"Hey, Mary! Isn't it a little early for Trick or Treaters?\""
|
||||
|
||||
%message 47
|
||||
"\"Oh, gawd, Ed!! Get in the closet. It's my wife!!\""
|
||||
|
||||
%message 48
|
||||
"Hmmm. Is that the smell of burning rubber?"
|
||||
|
||||
%message 49
|
||||
"\"Oh, Jeff. You really know how to hurt a guy!\""
|
||||
|
||||
%message 50
|
||||
"\"Get away from him, you big bully! He's mine.\""
|
||||
|
|
@ -0,0 +1,751 @@
|
|||
[logics for room 41 -- rmHoneymoonSuite
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "rm41.msg"
|
||||
%include "gamedefs.h"
|
||||
|
||||
|
||||
|
||||
%define nearBed lf0
|
||||
%define pouredWine lf1
|
||||
%define nearRadio lf2
|
||||
%define nearDoor lf3
|
||||
%define radioOn lf4
|
||||
%define doorDone lf5
|
||||
%define fawnCycling lf6
|
||||
%define egoCycling lf7
|
||||
%define nearWine lf8
|
||||
|
||||
%define radioTimer lv0
|
||||
%define knifeTimer lv1
|
||||
%define fawnCycles lv2
|
||||
%define egoTiedCycles lv3
|
||||
|
||||
%object aDoor 1
|
||||
%object aFawn 2
|
||||
%object aWine 3
|
||||
%object aRope 4
|
||||
|
||||
|
||||
|
||||
if (initLog)
|
||||
{
|
||||
LoadPic( currentRoom);
|
||||
DrawPic( currentRoom);
|
||||
DiscardPic( currentRoom);
|
||||
|
||||
LoadView( vFireworks);
|
||||
LoadView( vHoneymoonSuiteStuff);
|
||||
LoadView( vFawn);
|
||||
LoadView( vEgoWithFawnRm41);
|
||||
LoadView( vEgoTiedOnBed);
|
||||
[ LoadView( v);
|
||||
|
||||
|
||||
AnimateObj( aDoor);
|
||||
IgnoreBlocks( aDoor);
|
||||
IgnoreObjs( aDoor);
|
||||
SetView( aDoor, vHoneymoonSuiteStuff);
|
||||
SetLoop( aDoor, 1);
|
||||
SetCel( aDoor, 0);
|
||||
SetPriority( aDoor, 10);
|
||||
Position( aDoor, 113, 131);
|
||||
work = DOOR_CYCLE_TIME;
|
||||
CycleTime( aDoor, work);
|
||||
Draw( aDoor);
|
||||
StopUpdate( aDoor);
|
||||
|
||||
Set( fawnInRoom); [ Redundant, since can't enter
|
||||
if (fawnInRoom) [ unless she is in the room!
|
||||
{
|
||||
AnimateObj( aFawn);
|
||||
IgnoreBlocks( aFawn);
|
||||
Position( aFawn, 91, 120);
|
||||
SetView( aFawn, vHoneymoonSuiteStuff);
|
||||
SetLoop( aFawn, 2);
|
||||
Draw( aFawn);
|
||||
StopCycling( aFawn);
|
||||
Random( 22, 44, fawnCycles);
|
||||
}
|
||||
|
||||
|
||||
if (orderedWine)
|
||||
{
|
||||
AnimateObj( aWine);
|
||||
SetView( aWine, vHoneymoonSuiteStuff);
|
||||
SetLoop( aWine, 0);
|
||||
Position( aWine, 89, 95);
|
||||
Draw( aWine);
|
||||
StopUpdate( aWine);
|
||||
}
|
||||
|
||||
|
||||
AnimateObj( aRope);
|
||||
SetView( aRope, vHoneymoonSuiteStuff);
|
||||
SetLoop( aRope, 3);
|
||||
Position( aRope, 74, 124);
|
||||
if (ropeOnBed)
|
||||
{
|
||||
Draw( aRope);
|
||||
StopUpdate( aRope);
|
||||
}
|
||||
|
||||
egoX = 124;
|
||||
egoY = 129;
|
||||
PositionV( ego, egoX, egoY);
|
||||
|
||||
Draw( ego);
|
||||
StartMotion( ego);
|
||||
|
||||
ShowPic( );
|
||||
|
||||
if (orderedWine && !seenDeliveryBoyGag)
|
||||
{
|
||||
Set( seenDeliveryBoyGag);
|
||||
Print( 48);
|
||||
}
|
||||
|
||||
Return( );
|
||||
|
||||
} [ end initLOG
|
||||
|
||||
|
||||
|
||||
Reset( nearRadio);
|
||||
if (Posn( ego, 50, 117, 60, 125))
|
||||
{
|
||||
Set( nearRadio);
|
||||
}
|
||||
|
||||
Reset( nearDoor);
|
||||
if (Posn( ego, 116, 129, 125, 136))
|
||||
{
|
||||
Set( nearDoor);
|
||||
}
|
||||
|
||||
Reset( nearBed);
|
||||
if (Posn( ego, 54, 117, 98, 140))
|
||||
{
|
||||
Set( nearBed);
|
||||
}
|
||||
|
||||
if (nearBed && fawnInRoom)
|
||||
{
|
||||
Set( nearPerson);
|
||||
}
|
||||
|
||||
Reset( nearWine);
|
||||
if (Posn( ego, 92, 117, 103, 126))
|
||||
{
|
||||
Set( nearWine);
|
||||
}
|
||||
|
||||
|
||||
|
||||
[*****
|
||||
:handleInput
|
||||
[*****
|
||||
|
||||
if (!haveInput) {goto noInput;}
|
||||
|
||||
if ((Said( look) ||
|
||||
Said( look, room) ||
|
||||
Said( look, hotel, room) ||
|
||||
Said( look, casino, hotel, room) ||
|
||||
Said( look, suite) ||
|
||||
Said( look, hotel, suite) ||
|
||||
Said( look, casino, hotel, suite) ||
|
||||
Said( look, bedroom)))
|
||||
{
|
||||
if (fawnInRoom)
|
||||
{
|
||||
Print( 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 2);
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( look, bed))
|
||||
{
|
||||
Print( 55);
|
||||
}
|
||||
|
||||
if (Said( take, bucket))
|
||||
{
|
||||
Print( 56);
|
||||
}
|
||||
|
||||
|
||||
if ((Said( sit) ||
|
||||
Said( sit, down) ||
|
||||
Said( sit, on, bed) ||
|
||||
Said( sit, bed)))
|
||||
{
|
||||
Print( 43);
|
||||
}
|
||||
|
||||
if (Said( open, window))
|
||||
{
|
||||
Print( 44);
|
||||
}
|
||||
|
||||
if ((Said( look, window) ||
|
||||
Said( look, out, window)))
|
||||
{
|
||||
Print( 47);
|
||||
}
|
||||
|
||||
if ((Said( break, window) ||
|
||||
Said( hit, window)))
|
||||
{
|
||||
Print( 52);
|
||||
}
|
||||
|
||||
if ((Said( call, room$service) ||
|
||||
Said( dial, phone) ||
|
||||
Said( use, phone) ||
|
||||
Said( call, phone) ||
|
||||
Said( call, liquor) ||
|
||||
Said( call, liquor, store) ||
|
||||
Said( room$service) ||
|
||||
Said( order, room$service) ||
|
||||
Said( dial, room$service)))
|
||||
{
|
||||
Print( 35);
|
||||
}
|
||||
|
||||
|
||||
if ((Said( look, wine, rol) ||
|
||||
Said( look, bucket, rol)))
|
||||
{
|
||||
if (!orderedWine)
|
||||
{
|
||||
Print( 31);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 49);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((Said( serve, wine) ||
|
||||
Said( get, wine, rol) ||
|
||||
Said( open, wine, rol) ||
|
||||
Said( fill, glasses) ||
|
||||
Said( pour, wine, into, glasses) ||
|
||||
Said( open, bottle, rol) ||
|
||||
Said( pour, wine, glasses) ||
|
||||
Said( give, fawn, wine) ||
|
||||
Said( give, wine, fawn) ||
|
||||
Said( drink, wine, rol) ||
|
||||
Said( pour, wine)))
|
||||
{
|
||||
if (!orderedWine)
|
||||
{
|
||||
Print( 31);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (currentStatus == TIED_TO_BED)
|
||||
{
|
||||
Print( 32);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!nearWine)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!fawnInRoom)
|
||||
{
|
||||
Print( 33);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 34);
|
||||
Set( pouredWine);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (fawnInRoom)
|
||||
{
|
||||
if (Said( look, fawn))
|
||||
{
|
||||
if (pouredWine)
|
||||
{
|
||||
Print( 20);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (orderedWine)
|
||||
{
|
||||
Print( 30);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 17);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( talk, fawn) ||
|
||||
Said( touch, fawn) ||
|
||||
Said( lick, fawn) ||
|
||||
Said( eat, fawn) ||
|
||||
Said( kiss, fawn)))
|
||||
{
|
||||
if (!orderedWine)
|
||||
{
|
||||
Random( 18, 19, message);
|
||||
PrintV( message);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!pouredWine)
|
||||
{
|
||||
Print( 28);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 29);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((Said( hump, rol) ||
|
||||
Said( get, naked) ||
|
||||
Said( hump, pussy) ||
|
||||
Said( sleep, fawn) ||
|
||||
Said( go, sleep) ||
|
||||
Said( sleep, with, fawn) ||
|
||||
Said( remove, clothes, rol) ||
|
||||
Said( strip, rol) ||
|
||||
Said( go, bed) ||
|
||||
Said( climb, bed) ||
|
||||
Said( undress, rol) ||
|
||||
Said( remove, clothes, rol) ||
|
||||
Said( remove, girl, clothes, rol) ||
|
||||
Said( get, on, bed) ||
|
||||
Said( get, bed) ||
|
||||
Said( lie, on, bed) ||
|
||||
Said( lie, bed) ||
|
||||
Said( lie, down) ||
|
||||
Said( climb, on, rol)))
|
||||
{
|
||||
if (!orderedWine)
|
||||
{
|
||||
Print( 10);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!pouredWine)
|
||||
{
|
||||
Print( 28);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!nearBed)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
script = 0;
|
||||
Set( scriptDone);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (Said( look, radio))
|
||||
{
|
||||
Print( 36);
|
||||
}
|
||||
|
||||
if (Said( take, radio))
|
||||
{
|
||||
Print( 50);
|
||||
Print( 51);
|
||||
}
|
||||
|
||||
if ((Said( turn, channel, rol) ||
|
||||
Said( turn, dial, rol) ||
|
||||
Said( change, channel, rol)))
|
||||
{
|
||||
if (radioOn)
|
||||
{
|
||||
Print( 45);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 46);
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( turn, on, radio) ||
|
||||
Said( listen, radio) ||
|
||||
Said( turn, knob, on, radio) ||
|
||||
Said( turn, knob, on, radio, on) ||
|
||||
Said( turn, knob, radio) ||
|
||||
Said( turn, knob) ||
|
||||
Said( turn, on, knob) ||
|
||||
Said( turn, knob, on) ||
|
||||
Said( turn, radio, knob) ||
|
||||
Said( turn, radio, knob, on) ||
|
||||
Said( turn, radio, on)))
|
||||
{
|
||||
if (!nearRadio)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (radioOn)
|
||||
{
|
||||
Print( 38);
|
||||
}
|
||||
else
|
||||
{
|
||||
Set( radioOn);
|
||||
Print( 7);
|
||||
if (!orderedWine)
|
||||
{
|
||||
Random( 5, 15, radioTimer);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( turn, off, radio) ||
|
||||
Said( turn, knob, on, radio, off) ||
|
||||
Said( turn, radio, knob, off) ||
|
||||
Said( stop, listen, radio) ||
|
||||
Said( turn, radio, off)))
|
||||
{
|
||||
if (!nearRadio)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!radioOn)
|
||||
{
|
||||
Print( 37);
|
||||
}
|
||||
else
|
||||
{
|
||||
Reset( radioOn);
|
||||
Print( 9);
|
||||
radioTimer = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (currentStatus == TIED_TO_BED)
|
||||
{
|
||||
if ((Said( untie, ropes) ||
|
||||
Said( loosen, ropes)))
|
||||
{
|
||||
Print( 15);
|
||||
}
|
||||
|
||||
if ((Said( use, knife) ||
|
||||
Said( use, knife, cut, rope) ||
|
||||
Said( open, knife, rol) ||
|
||||
Said( get, knife, rol) ||
|
||||
Said( cut, rope, rol)))
|
||||
{
|
||||
if (!Has( iPocketKnife))
|
||||
{
|
||||
Print( 11);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 12);
|
||||
|
||||
ReleasePriority( ego);
|
||||
Reset( handsOff);
|
||||
Reset( programControl);
|
||||
StartMotion( ego);
|
||||
SetView( ego, vEgo);
|
||||
SetLoop( ego, FACING_RIGHT);
|
||||
RepositionTo( ego, 89, 130);
|
||||
Reset( keepCycling);
|
||||
currentStatus = NORMAL;
|
||||
currentScore += 10;
|
||||
egoTiedCycles = 0;
|
||||
|
||||
Draw( aRope);
|
||||
StopUpdate( aRope);
|
||||
Set( ropeOnBed);
|
||||
Print( 24);
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( yell))
|
||||
{
|
||||
Print( 57);
|
||||
Print( 58);
|
||||
}
|
||||
|
||||
if (!haveMatch)
|
||||
{
|
||||
Print( 16);
|
||||
Set( haveMatch);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (ropeOnBed &&
|
||||
(Said( get, rope) ||
|
||||
Said( take, rope, from, bed) ||
|
||||
Said( take, rope, off, bed) ||
|
||||
Said( take, rope, bed)))
|
||||
{
|
||||
if (!nearBed)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
Reset( ropeOnBed);
|
||||
currentScore += 3;
|
||||
Get( iRope);
|
||||
StartUpdate( aRope);
|
||||
Erase( aRope);
|
||||
Print( 13);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (Said( open, door))
|
||||
{
|
||||
if (!nearDoor)
|
||||
{
|
||||
Print( 54);
|
||||
}
|
||||
else
|
||||
{
|
||||
Set( OK);
|
||||
StartUpdate( aDoor);
|
||||
EndOfLoop( aDoor, doorDone);
|
||||
StopMotion( ego);
|
||||
Set( programControl);
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( break, bottle, rol))
|
||||
{
|
||||
Print( 53);
|
||||
}
|
||||
|
||||
|
||||
|
||||
[*****
|
||||
:noInput
|
||||
[*****
|
||||
|
||||
if (aSecondPassed)
|
||||
{
|
||||
--radioTimer;
|
||||
if (radioTimer == 1)
|
||||
{
|
||||
Print( 4);
|
||||
Print( 5);
|
||||
Print( 6);
|
||||
Print( 8);
|
||||
Random( 60, 120, radioTimer);
|
||||
if (!heardLiquorStoreNumber)
|
||||
{
|
||||
Set( heardLiquorStoreNumber);
|
||||
currentScore += 1;
|
||||
}
|
||||
}
|
||||
|
||||
--knifeTimer;
|
||||
if (knifeTimer == 1)
|
||||
{
|
||||
Print( 14);
|
||||
Set( certainDeath);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (scriptDone)
|
||||
{
|
||||
Reset( scriptDone);
|
||||
++script;
|
||||
|
||||
if (script == 1)
|
||||
{
|
||||
Print( 21);
|
||||
Print( 22);
|
||||
|
||||
Erase( aFawn);
|
||||
SetView( aFawn, vFawn);
|
||||
SetLoop( aFawn, FACING_RIGHT);
|
||||
Position( aFawn, 89, 129);
|
||||
IgnoreObjs( aFawn);
|
||||
fawnCycles = 0;
|
||||
|
||||
StopMotion( ego);
|
||||
SetPriority( ego, 15);
|
||||
SetView( ego, vEgoWithFawnRm41);
|
||||
SetCel( ego, 0);
|
||||
Set( handsOff);
|
||||
RepositionTo( ego, 62, 125);
|
||||
Set( programControl);
|
||||
Reset( keepCycling);
|
||||
PreventInput();
|
||||
currentStatus = TIED_TO_BED;
|
||||
|
||||
scriptTimer = 7;
|
||||
}
|
||||
|
||||
if (script == 2)
|
||||
{
|
||||
Print( 23);
|
||||
scriptTimer = 5;
|
||||
}
|
||||
|
||||
if (script == 3)
|
||||
{
|
||||
Print( 39);
|
||||
Print( 59);
|
||||
scriptTimer = 5;
|
||||
}
|
||||
|
||||
if (script == 4)
|
||||
{
|
||||
Print( 40);
|
||||
scriptTimer = 4;
|
||||
}
|
||||
|
||||
if (script == 5)
|
||||
{
|
||||
Print( 42);
|
||||
SetCel( ego, 2);
|
||||
scriptTimer = 6;
|
||||
}
|
||||
|
||||
if (script == 6)
|
||||
{
|
||||
Print( 26);
|
||||
|
||||
if (dollars > 10)
|
||||
{
|
||||
dollars = 10;
|
||||
}
|
||||
else
|
||||
{
|
||||
dollars = 1;
|
||||
}
|
||||
|
||||
SetView( ego, vEgoTiedOnBed);
|
||||
Set( handsOff);
|
||||
RepositionTo( ego, 64, 133);
|
||||
egoTiedCycles = 2;
|
||||
|
||||
Draw( aFawn);
|
||||
StartCycling( aFawn);
|
||||
MoveObj( aFawn, 118, 129, 1, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 7)
|
||||
{
|
||||
StopCycling( aFawn);
|
||||
StartUpdate( aDoor);
|
||||
EndOfLoop( aDoor, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 8)
|
||||
{
|
||||
Print( 27);
|
||||
StartCycling( aFawn);
|
||||
MoveObj( aFawn, 129, 129, 1, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 9)
|
||||
{
|
||||
Erase( aFawn);
|
||||
BeginningOfLoop( aDoor, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 10)
|
||||
{
|
||||
script = 0;
|
||||
|
||||
Print( 60);
|
||||
Print( 61);
|
||||
AcceptInput();
|
||||
Reset( fawnInRoom);
|
||||
StopUpdate( aDoor);
|
||||
if (!Has( iPocketKnife))
|
||||
{
|
||||
knifeTimer = 30;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
--egoTiedCycles;
|
||||
if (egoTiedCycles == 1)
|
||||
{
|
||||
Toggle( egoCycling);
|
||||
if (egoCycling)
|
||||
{
|
||||
Set( keepCycling);
|
||||
Random( 5, 22, egoTiedCycles);
|
||||
}
|
||||
else
|
||||
{
|
||||
Reset( keepCycling);
|
||||
Random( 22, 44, egoTiedCycles);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
--fawnCycles;
|
||||
if (fawnCycles == 1)
|
||||
{
|
||||
Toggle( fawnCycling);
|
||||
if (fawnCycling)
|
||||
{
|
||||
StartCycling( aFawn);
|
||||
Random( 5, 22, fawnCycles);
|
||||
}
|
||||
else
|
||||
{
|
||||
StopCycling( aFawn);
|
||||
Random( 22, 44, fawnCycles);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
[*****
|
||||
:exit [ test for leaving the room
|
||||
[*****
|
||||
|
||||
if (doorDone)
|
||||
{
|
||||
Reset( programControl);
|
||||
Reset( handsOff);
|
||||
newRoom = rmElevators;
|
||||
}
|
|
@ -0,0 +1,230 @@
|
|||
[messages for room 41 -- rmHoneymoonSuite
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"Your are in the casino hotel's honeymoon suite.
|
||||
The heart-shaped bed is just waiting for you and Fawn.
|
||||
The dim lighting provides the perfect atmosphere.
|
||||
You've always appreciated the \"Early American Gaudy\" look.
|
||||
There is a radio on the shelf behind the bed."
|
||||
|
||||
%message 2
|
||||
"This is the honeymoon suite.
|
||||
The heart-shaped bed would have been perfect for you and Fawn.
|
||||
Too bad things worked out like this!"
|
||||
|
||||
%message 3
|
||||
""
|
||||
|
||||
%message 4
|
||||
"The radio interrupts the Frank Sinatra medley with an obnoxious
|
||||
singing commercial..."
|
||||
|
||||
%message 5
|
||||
"\"
|
||||
We're Ajax Liquor,\n
|
||||
and we're proud to say,\n
|
||||
we deliver all across\n
|
||||
the U.S.A.\""
|
||||
|
||||
%message 6
|
||||
"\"
|
||||
You're out of luck\n
|
||||
if you want to dine,\n
|
||||
but if you just need booze,\n
|
||||
dial 555-8039!\""
|
||||
|
||||
%message 7
|
||||
"Sounds like a nice mellow station..."
|
||||
|
||||
%message 8
|
||||
"\"And now, back to our music.\""
|
||||
|
||||
%message 9
|
||||
"Click."
|
||||
|
||||
%message 10
|
||||
"She doesn't appear to be in the mood yet, Larry."
|
||||
|
||||
%message 11
|
||||
"Good idea. Unfortunately, you have nothing with which to cut a rope, Larry."
|
||||
|
||||
%message 12
|
||||
"Right!\n\n
|
||||
Using the pocket knife you got from the old bum by the convenience store,
|
||||
you saw through the ropes holding you to the bed."
|
||||
|
||||
%message 13
|
||||
"You never know when a nice piece of rope will come in handy."
|
||||
|
||||
%message 14
|
||||
"Since you have no way of cutting the ropes,
|
||||
and they're far too tightly tied for you to loosen,
|
||||
it looks like this is the end for you, Larry."
|
||||
|
||||
%message 15
|
||||
"You can't. She fastened them quite securely!"
|
||||
|
||||
%message 16
|
||||
"You can't. You're tied to a bed!"
|
||||
|
||||
%message 17
|
||||
"She is so beautiful you want to do wonderful things to, er, ah, FOR her."
|
||||
|
||||
%message 18
|
||||
"\"You know, a little wine would help me get in the mood, Larry.\""
|
||||
|
||||
%message 19
|
||||
"\"I'd think the least a gentleman would do is to buy a lady
|
||||
a bottle of wine.\""
|
||||
|
||||
%message 20
|
||||
"She looks ready, Larry."
|
||||
|
||||
%message 21
|
||||
"She says, \"Lie down, Larry.
|
||||
I have a special surprise for you!\""
|
||||
|
||||
%message 22
|
||||
"Then she says, \"Close your eyes,\"
|
||||
and you do because you're sure that, finally, success is at hand."
|
||||
|
||||
%message 23
|
||||
"\"Oh, Fawn!\" you moan."
|
||||
|
||||
%message 24
|
||||
"You grab your wallet and look inside.\n\n
|
||||
Oh, well.
|
||||
At least she didn't find the %v90 bucks you hid in that secret compartment.
|
||||
With your consummate gambling skills, you should be back on your feet
|
||||
in no time!"
|
||||
|
||||
%message 25
|
||||
"You're tied to the bed and can't move."
|
||||
|
||||
%message 26
|
||||
"When Fawn has you securely tied to the bed, she grabs your wallet, saying,
|
||||
\"You forgot to pay me for the wine,\" then heads out the door."
|
||||
|
||||
%message 27
|
||||
"\"FAWN! Come back!\" you shout. \"This isn't funny!!\""
|
||||
|
||||
%message 28
|
||||
"\"Aren't you going to pour the wine?\" she says, her eyes flashing."
|
||||
|
||||
%message 29
|
||||
"\"I'm ready when you are, honey!\"\n\n
|
||||
Come on, Larry; what are you waiting for?"
|
||||
|
||||
%message 30
|
||||
"She looks like she could use some of that wine."
|
||||
|
||||
%message 31
|
||||
"There's no wine here."
|
||||
|
||||
%message 32
|
||||
"Right. Sure. Pour another for her while you're at it!"
|
||||
|
||||
%message 33
|
||||
"You grab the bottle, and fortify your courage with a long, hard belt!"
|
||||
|
||||
%message 34
|
||||
"You carefully remove the bottle from the wine bucket,
|
||||
unscrew the cap, and pour two glasses.
|
||||
She downs her glass immediately, you refill it, and she does it again.
|
||||
Her eyes meet yours, and you're sure luck is with you this time!"
|
||||
|
||||
%message 35
|
||||
"This room doesn't even have a telephone!"
|
||||
|
||||
%message 36
|
||||
"It's pretty complicated. There's a knob that says \"On.\""
|
||||
|
||||
%message 37
|
||||
"The radio IS off."
|
||||
|
||||
%message 38
|
||||
"The radio IS on."
|
||||
|
||||
%message 39
|
||||
"\"Ooh, Baby!\n\n
|
||||
That feels so good!\n\n
|
||||
Ooooooooooh!!\""
|
||||
|
||||
%message 40
|
||||
"\"Hey, what's the deal with the rope?\""
|
||||
|
||||
%message 41
|
||||
""
|
||||
|
||||
%message 42
|
||||
"\"Why are you tying me to the bed?\""
|
||||
|
||||
%message 43
|
||||
"You have more important things on your mind than sitting."
|
||||
|
||||
%message 44
|
||||
"This window doesn't open."
|
||||
|
||||
%message 45
|
||||
"The tuning knob on the radio is stuck.
|
||||
Looks like you're stuck with the Easy Listening station."
|
||||
|
||||
%message 46
|
||||
"You can't move the knob,
|
||||
but it doesn't matter since the radio isn't on anyway!"
|
||||
|
||||
%message 47
|
||||
"You see the lights of Lost Wages spread out before you."
|
||||
|
||||
%message 48
|
||||
"\"Oh, Larry, it's you!\" Fawn says.
|
||||
\"I thought it was that cute, young delivery boy again.\""
|
||||
|
||||
%message 49
|
||||
"Hmmm. Was \"Tuesday\" a good year?"
|
||||
|
||||
%message 50
|
||||
"It's a table model, not a portable."
|
||||
|
||||
%message 51
|
||||
"Besides, the hotel bolted it to the table."
|
||||
|
||||
%message 52
|
||||
"You are unable to break the window."
|
||||
|
||||
%message 53
|
||||
"You can't.
|
||||
It's the same brand that people can't break
|
||||
when they want to christen a ship!"
|
||||
|
||||
%message 54
|
||||
"Move closer to the handle."
|
||||
|
||||
%message 55
|
||||
"Don't you think a heart-shaped bed is trite?"
|
||||
|
||||
%message 56
|
||||
"You can't. The delivery boy glued it to the table."
|
||||
|
||||
%message 57
|
||||
"\"FAWN!! You scum-sucking gutter slug, get back in here!\""
|
||||
|
||||
%message 58
|
||||
"Unfortunately, your pleas go unheeded."
|
||||
|
||||
%message 59
|
||||
"\"Say, Fawn, when are you going to get undressed?\""
|
||||
|
||||
%message 60
|
||||
"Hmmm. You wonder if there's any way a guy can \"consummate\" by himself?"
|
||||
|
||||
%message 61
|
||||
"Larry, it looks like \"the honeymoon's over.\""
|
||||
|
||||
%message 62
|
||||
"As she heads out the door, she laughs and says, \"So long, turkey!\""
|
||||
|
|
@ -0,0 +1,243 @@
|
|||
[messages for room 42 -- rmSecurityDesk
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"%m14 A beautiful security guard sits behind a desk."
|
||||
|
||||
%message 2
|
||||
"She takes one look at the bottle of Spanish Fly and says,
|
||||
\"Boy, thanks! How did you know that I love this stuff?!\"
|
||||
She tosses down a couple of pills, then a few more,
|
||||
and finally gulps the whole bottle!
|
||||
Her breathing becomes faster and faster until she begins to pant."
|
||||
|
||||
%message 3
|
||||
"She is a knockout!
|
||||
But that pair of pistols slung around her hips brings a sense
|
||||
of foreboding to your gut."
|
||||
|
||||
%message 4
|
||||
"(Looks like tonight's your lucky night, Larry.)"
|
||||
|
||||
%message 5
|
||||
"Whee!"
|
||||
|
||||
%message 6
|
||||
"The rumors were right. You are quick on the trigger, Larry!"
|
||||
|
||||
%message 7
|
||||
"\"strangers in the night, da da da dee da...\""
|
||||
|
||||
%message 8
|
||||
"\"Try it, and I'll blow your head off.\""
|
||||
|
||||
%message 9
|
||||
"There are buttons labeled \"one\" through \"eight.\""
|
||||
|
||||
%message 10
|
||||
"Evidently, this exit is for employees only. You'd better use the elevator."
|
||||
|
||||
%message 11
|
||||
"The beautiful security guard is sitting at the desk.
|
||||
A pair of large pistols are in a holster around her slim waist.
|
||||
She looks friendly, but quick on the trigger."
|
||||
|
||||
%message 12
|
||||
"Since you're no longer staring at Faith's ample weapons,
|
||||
you notice an unlabeled button on her desk."
|
||||
|
||||
%message 13
|
||||
"Oh, oh. Where are we goin' now, Larry?"
|
||||
|
||||
%message 14
|
||||
"You are at the top floor of the hotel."
|
||||
|
||||
%message 15
|
||||
"%m14 That desk is where you lost your Faith, remember?
|
||||
(So glad there was a chance to use THAT line!)"
|
||||
|
||||
%message 16
|
||||
"A brass plate near the elevator says: \"Private.\""
|
||||
|
||||
%message 17
|
||||
"\"Hi, my name's Faith. Nice suit!\""
|
||||
|
||||
%message 18
|
||||
"\"Bad breath's one thing, Mister;
|
||||
but, you could knock a buzzard off a manure truck!\""
|
||||
|
||||
%message 19
|
||||
"\"Touch that button, and you're dead meat, White-Suit!\""
|
||||
|
||||
%message 20
|
||||
"\"So long!\" Faith says.
|
||||
\"I've got to find my boy friend before this stuff wears off!\""
|
||||
|
||||
%message 21
|
||||
"The penthouse elevator doors glide open."
|
||||
|
||||
%message 22
|
||||
"The doors are securely closed. %m16 There is no button nearby."
|
||||
|
||||
%message 23
|
||||
"Type a word, like \"one\" or \"two.\""
|
||||
|
||||
%message 24
|
||||
"It's a door just like all the others."
|
||||
|
||||
%message 25
|
||||
"They almost look real, don't they?"
|
||||
|
||||
%message 26
|
||||
"You contemplate expec- toration, but remember that discretion is the better
|
||||
part of valium."
|
||||
|
||||
%message 27
|
||||
"...or helium,"
|
||||
|
||||
%message 28
|
||||
"...or something."
|
||||
|
||||
%message 29
|
||||
"You run to the nearest door, and rap your knuckles loudly.
|
||||
You run right back to where you were."
|
||||
|
||||
%message 30
|
||||
"You seem surprised that the door is locked."
|
||||
|
||||
%message 31
|
||||
"(She is, of course, referring to the use of her gun, Larry.)"
|
||||
|
||||
%message 32
|
||||
"\"Larry,\" you reply, getting your hopes aroused (among other things)."
|
||||
|
||||
%message 33
|
||||
"It appears Faith IS true to her name.
|
||||
Twisting her key in the lock, she disappears down the employee stairs."
|
||||
|
||||
%message 34
|
||||
"The doors are open. Go on in."
|
||||
|
||||
%message 35
|
||||
"She might listen to you, if you can establish eye contact."
|
||||
|
||||
%message 36
|
||||
"\"Hi ya, Baby. I think I loves ya!!\""
|
||||
|
||||
%message 37
|
||||
"\"May I help you in some way, Sir?\" she responds in a pleasant, but
|
||||
businesslike voice."
|
||||
|
||||
%message 38
|
||||
"\"My name is Larry,\" you offer. \"Larry Laffer.\""
|
||||
|
||||
%message 39
|
||||
"\"Say, Larry,\" she says with a smile,
|
||||
\"Is that a roll of dimes in your pocket, or are you just glad to see me?\""
|
||||
|
||||
%message 40
|
||||
"\"Hey, sweetheart. What's your sign?\" you ask her."
|
||||
|
||||
%message 41
|
||||
"\"'EXIT,\" she replies. \"Try using it!\""
|
||||
|
||||
%message 42
|
||||
"\"What's your name, beautiful?\" you ask."
|
||||
|
||||
%message 43
|
||||
"\"Faith,\" she replies."
|
||||
|
||||
%message 44
|
||||
"Hmmm. Unusual name."
|
||||
|
||||
%message 45
|
||||
"\"I'm only in town for one night,\" you try again.
|
||||
\"How about we get together when you get off duty?\""
|
||||
|
||||
%message 46
|
||||
"She smiles and says, \"Oh, I could never be unfaithful to my boyfriend.\""
|
||||
|
||||
%message 47
|
||||
"(Larry, it seems this one's gonna require outside assistance.)"
|
||||
|
||||
%message 48
|
||||
"Try looking at the girl first."
|
||||
|
||||
%message 49
|
||||
"They are a beautiful pair, aren't they?"
|
||||
|
||||
%message 50
|
||||
"Not now, you're busy."
|
||||
|
||||
%message 51
|
||||
"Her sweater reveals she's built like a brick shipyard."
|
||||
|
||||
%message 52
|
||||
"\"Stop staring there,\" she says softly."
|
||||
|
||||
%message 53
|
||||
"\"Really? I'm not that kind of girl.\""
|
||||
|
||||
%message 54
|
||||
"Evidently the rooms on this floor are all unoccupied."
|
||||
|
||||
%message 55
|
||||
"Her eyes are as sensuous as her lips."
|
||||
|
||||
%message 56
|
||||
"You're a man of the world, Larry.
|
||||
Perhaps some sort of medical stimulant would help."
|
||||
|
||||
%message 57
|
||||
"She waves back."
|
||||
|
||||
%message 58
|
||||
"The glass elevator only goes down from here. How about you?"
|
||||
|
||||
%message 59
|
||||
"\"I'm sorry, but I can't.\""
|
||||
|
||||
%message 60
|
||||
"It's no good. The door resists all of your efforts."
|
||||
|
||||
%message 61
|
||||
"You can't. There's no key in this game!"
|
||||
|
||||
%message 62
|
||||
"Suicide is illegal here."
|
||||
|
||||
%message 63
|
||||
"There's no need to do that."
|
||||
|
||||
%message 64
|
||||
"\"Usually when I'm with someone romantic!\" she replies."
|
||||
|
||||
%message 65
|
||||
"\"You know, I'm supposed to be working!\""
|
||||
|
||||
%message 66
|
||||
"Her hair is thick and beautiful, falling in cascades around her delicate
|
||||
shoulders."
|
||||
|
||||
%message 67
|
||||
"\"So what?\""
|
||||
|
||||
%message 68
|
||||
"Her lips are moist and inviting, but then, you also felt that way
|
||||
about old Mr. Weissenborn, your high school shop teacher!"
|
||||
|
||||
%message 69
|
||||
"I'm sorry,\" Faith replies, \"but you don't know me that well!\""
|
||||
|
||||
%message 70
|
||||
"\"Well, now. Isn't THAT special!\""
|
||||
|
||||
%message 71
|
||||
"\"Perhaps,\" she says, \"but right now, I'm working.\""
|
||||
|
||||
%message 72
|
||||
"\"I'll be here all night.\""
|
||||
|
|
@ -0,0 +1,194 @@
|
|||
[messages for room 43 -- rmHotTub
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"The moon lights an expansive rooftop garden with a spa in one corner.
|
||||
You've found the source of the gurgling noise!"
|
||||
|
||||
%message 2
|
||||
"Wasting no time, you hop into the water.
|
||||
Oooh, does it feel good!
|
||||
The warm water swirls about you,
|
||||
the bubbles stimulating you nearly as much as the beautiful woman across
|
||||
from you.
|
||||
With the warmth of the water soaking into your body,
|
||||
you become quite relaxed."
|
||||
|
||||
%message 3
|
||||
"Wow! Just the way you like your women: nearby and naked!
|
||||
She has a beautiful tan, and a gorgeous body.
|
||||
You've waited a lifetime for this moment."
|
||||
|
||||
%message 4
|
||||
"What a beautiful face!
|
||||
She's leaning back, relaxing in the spa with
|
||||
the water bubbling up around her.
|
||||
It's even possible you could become sexually aroused by this!"
|
||||
|
||||
%message 5
|
||||
"Eve takes your apple, and with a sweet, innocent look,
|
||||
raises it to her mouth.
|
||||
She takes a small bite out of it, while a sexy smile comes across her face.
|
||||
She winks, and lies back in the water, chewing delicately."
|
||||
|
||||
%message 6
|
||||
"Eve gently moves her sensuous tongue around the apple,
|
||||
tiny drops of the apple's juice glistening on her lips."
|
||||
|
||||
%message 7
|
||||
"In the hot tub is the most beautiful girl you've ever seen!
|
||||
Beside her is her towel, and swim suit.
|
||||
You can't believe she doesn't mind your presence here."
|
||||
|
||||
%message 8
|
||||
"You have no apple."
|
||||
|
||||
%message 9
|
||||
"Looking over at the next hotel, you notice an ugly girl getting undressed."
|
||||
|
||||
%message 10
|
||||
"She's not really that pretty."
|
||||
|
||||
%message 11
|
||||
"Well, she's looking better."
|
||||
|
||||
%message 12
|
||||
"You know, she's not that bad."
|
||||
|
||||
%message 13
|
||||
"You could ignore some of her faults."
|
||||
|
||||
%message 14
|
||||
"Perhaps you're in love!"
|
||||
|
||||
%message 15
|
||||
"Pant, pant, pant, pant, pant."
|
||||
|
||||
%message 16
|
||||
"Something tells you that's the wrong approach with this one, Larry."
|
||||
|
||||
%message 17
|
||||
"She's really turning you on!
|
||||
You had no idea fruit could be so exciting."
|
||||
|
||||
%message 18
|
||||
"\"Bad breath's one thing, Mister; but you could knock a buzzard off
|
||||
a manure truck!\""
|
||||
|
||||
%message 19
|
||||
"Nah. Who wants to go hot-tubbing alone?"
|
||||
|
||||
%message 20
|
||||
"\"Hey, handsome, why don't you slip into the water with me,
|
||||
so we can REALLY get to know each other!\""
|
||||
|
||||
%message 21
|
||||
"Her hand is resting near a fluffy, white, expensive bath towel,
|
||||
embroidered in florid script with the name: \"Eve.\""
|
||||
|
||||
%message 22
|
||||
"You can take a hint. \"Let's go, baby!\" you whisper!"
|
||||
|
||||
%message 23
|
||||
"\"This water feels SO good!\""
|
||||
|
||||
%message 24
|
||||
"After finishing the apple, Eve slowly slides out of the hot tub,
|
||||
her steamy, naked body glistening in the moonlight.
|
||||
Barely covering her tremendous assets with the towel,
|
||||
she smiles and motions for you to follow her."
|
||||
|
||||
%message 25
|
||||
"\"Who loves ya, baby?\""
|
||||
|
||||
%message 26
|
||||
"\"So long, baby!\" you shout!"
|
||||
|
||||
%message 27
|
||||
"As you leave the hot tub, Eve speaks at last,
|
||||
\"Say, Larry. You really ARE glad to see ME!!\""
|
||||
|
||||
%message 28
|
||||
""
|
||||
|
||||
%message 29
|
||||
"It's difficult to take your eyes off the beautiful woman with
|
||||
whom you share the hot tub."
|
||||
|
||||
%message 30
|
||||
"She says nothing, but that smile tells you a lot."
|
||||
|
||||
%message 31
|
||||
"Perhaps if you establish eye contact first..."
|
||||
|
||||
%message 32
|
||||
"\"What's your name, gorgeous?\" you ask."
|
||||
|
||||
%message 33
|
||||
"\"Have you ever tried it underwater?\" you coyly ask."
|
||||
|
||||
%message 34
|
||||
"She doesn't say."
|
||||
|
||||
%message 35
|
||||
"\"What's your sign, dollface?\" you ask."
|
||||
|
||||
%message 36
|
||||
"At last she speaks. \"Yield,\" she says simply."
|
||||
|
||||
%message 37
|
||||
"Although she smiles, it appears she's a woman of few words.
|
||||
She's waiting for you to determine what it is she wants!"
|
||||
|
||||
%message 38
|
||||
"\"Share your wine with me?\" you ask."
|
||||
|
||||
%message 39
|
||||
"She hands you the glass, and you take an uncustomarily small sip.
|
||||
She replenishes it from the bottle, so it appears no different
|
||||
than before."
|
||||
|
||||
%message 40
|
||||
"It appears she doesn't like that!"
|
||||
|
||||
%message 41
|
||||
"She wouldn't like that."
|
||||
|
||||
%message 42
|
||||
"Say; what's this? A beautiful woman all alone in a hot tub!
|
||||
And, she's smiling at you? And, and..."
|
||||
|
||||
%message 43
|
||||
"Why take it, when you can drink it?"
|
||||
|
||||
%message 44
|
||||
"It looks like a bottle of fine champagne, suitable for two."
|
||||
|
||||
%message 45
|
||||
"They ARE off."
|
||||
|
||||
%message 46
|
||||
"They ARE on."
|
||||
|
||||
%message 47
|
||||
"Her gold bracelet is engraved with the word \"Eve.\""
|
||||
|
||||
%message 48
|
||||
"...and, she speaks, \"Hi, handsome. Where have you been all my life?\""
|
||||
|
||||
%message 49
|
||||
"(Larry, this one seems to LIKE you!)"
|
||||
|
||||
%message 50
|
||||
"SLAP!"
|
||||
|
||||
%message 51
|
||||
"\"Oooh, I like that name!\""
|
||||
|
||||
%message 52
|
||||
"SLAP!\n\n
|
||||
SLAP!!"
|
||||
|
|
@ -0,0 +1,425 @@
|
|||
[logics for room 44 -- rmLivingRoom
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "rm44.msg"
|
||||
%include "gamedefs.h"
|
||||
|
||||
|
||||
|
||||
%define FIRST_QUESTION 1
|
||||
%define LAST_QUESTION 43
|
||||
|
||||
%define nearElevator lf0
|
||||
%define insideElevator lf1
|
||||
%define inWayOfDoors lf2
|
||||
%define doorsOpen lf3
|
||||
%define dollDone lf4
|
||||
%define egoDone lf5
|
||||
%define dollSoundDone lf6
|
||||
%define dollOnScreen lf9
|
||||
|
||||
%define dollScript lv0
|
||||
|
||||
|
||||
%object aDoor 1
|
||||
%object aEve 2
|
||||
%object aDoll 3
|
||||
|
||||
|
||||
|
||||
if (initLog)
|
||||
{
|
||||
LoadPic( currentRoom);
|
||||
DrawPic( currentRoom);
|
||||
DiscardPic( currentRoom);
|
||||
|
||||
LoadView( vRm44ElevatorDoors);
|
||||
[ LoadView( v);
|
||||
|
||||
|
||||
AnimateObj( aDoor);
|
||||
IgnoreBlocks( aDoor);
|
||||
IgnoreObjs( aDoor);
|
||||
SetView( aDoor, vRm44ElevatorDoors);
|
||||
SetCel( aDoor, 0);
|
||||
SetPriority( aDoor, 10);
|
||||
Position( aDoor, 130, 129);
|
||||
work = DOOR_CYCLE_TIME;
|
||||
CycleTime( aDoor, work);
|
||||
Draw( aDoor);
|
||||
StopUpdate( aDoor);
|
||||
|
||||
|
||||
if (currentStatus == CHASING_DOLL)
|
||||
{
|
||||
PreventInput();
|
||||
Set( handsOff);
|
||||
Set( programControl);
|
||||
|
||||
LoadView( vDollDeflating);
|
||||
LoadSound( sDollDeflating);
|
||||
|
||||
AnimateObj( aDoll);
|
||||
IgnoreHorizon( aDoll);
|
||||
IgnoreBlocks( aDoll);
|
||||
IgnoreObjs( aDoll);
|
||||
SetView( aDoll, vDollDeflating);
|
||||
Position( aDoll, 55, 95);
|
||||
Draw( aDoll);
|
||||
MoveObj( aDoll, 27, 123, 2, dollDone);
|
||||
Set( dollOnScreen);
|
||||
Set( dollSoundDone);
|
||||
}
|
||||
|
||||
if (currentStatus == FOLLOWING_EVE)
|
||||
{
|
||||
Set( programControl); [ Even though still set!
|
||||
script = 250;
|
||||
Set( scriptDone);
|
||||
|
||||
LoadView( vEve);
|
||||
LoadView( vEgoWearingTowel);
|
||||
|
||||
[ SetView( ego, vEve); [ Done automatically by rm0.
|
||||
|
||||
AnimateObj( aEve);
|
||||
SetView( aEve, vEgoWearingTowel);
|
||||
Position( aEve, 0, 125);
|
||||
Draw( aEve);
|
||||
}
|
||||
|
||||
|
||||
if (previousRoom == rmHotTub)
|
||||
{
|
||||
egoX = 8;
|
||||
egoY = 125;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (previousRoom == rmBedroom)
|
||||
{
|
||||
egoX = 98;
|
||||
egoY = 100;
|
||||
}
|
||||
else
|
||||
{
|
||||
egoX = 138; [ in elevator
|
||||
egoY = 127;
|
||||
SetLoop( ego, FACING_LEFT);
|
||||
StopUpdate( ego);
|
||||
StartMotion( ego);
|
||||
|
||||
script = 0;
|
||||
Set( scriptDone); [ Let's open up the doors.
|
||||
}
|
||||
}
|
||||
PositionV( ego, egoX, egoY);
|
||||
Draw( ego);
|
||||
|
||||
ShowPic( );
|
||||
|
||||
if (currentStatus == CHASING_DOLL)
|
||||
{
|
||||
script = 150;
|
||||
MoveObj( ego, 60, 100, 1, scriptDone);
|
||||
}
|
||||
|
||||
Return( );
|
||||
|
||||
} [ end initLOG
|
||||
|
||||
|
||||
|
||||
if (doorsOpen)
|
||||
{
|
||||
IgnoreBlocks( ego);
|
||||
}
|
||||
else
|
||||
{
|
||||
ObserveBlocks( ego);
|
||||
}
|
||||
|
||||
|
||||
Reset( nearElevator);
|
||||
if (Posn( ego, 120, 113, 135, 143))
|
||||
{
|
||||
Set( nearElevator);
|
||||
}
|
||||
|
||||
Reset( inWayOfDoors);
|
||||
if (Posn( ego, 123, 119, 138, 131))
|
||||
{
|
||||
Set( inWayOfDoors);
|
||||
}
|
||||
|
||||
Reset( insideElevator);
|
||||
if (Posn( ego, 139, 119, 155, 131))
|
||||
{
|
||||
Set( insideElevator);
|
||||
}
|
||||
|
||||
if (doorsOpen &&
|
||||
!insideElevator &&
|
||||
!inWayOfDoors)
|
||||
{
|
||||
Set( scriptDone);
|
||||
}
|
||||
|
||||
if (doorsOpen && insideElevator)
|
||||
{
|
||||
script = 100;
|
||||
Set( scriptDone); [ Let's go downstairs.
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:handleInput
|
||||
[*****
|
||||
|
||||
if (!haveInput) {goto noInput;}
|
||||
|
||||
if ((Said( look) ||
|
||||
Said( look, penthouse) ||
|
||||
Said( look, room))) [ To catch "look living room"
|
||||
{
|
||||
Print( 1);
|
||||
}
|
||||
|
||||
if ((Said( look, elevator) ||
|
||||
Said( look, door) ||
|
||||
Said( look, button) ||
|
||||
Said( look, wall)))
|
||||
{
|
||||
Print( 3);
|
||||
}
|
||||
|
||||
if (Said( look, fireplace))
|
||||
{
|
||||
Print( 2);
|
||||
}
|
||||
|
||||
if ((Said( look, floor) ||
|
||||
Said( look, rug)))
|
||||
{
|
||||
Print( 4);
|
||||
}
|
||||
|
||||
if ((Said( lift, rug) ||
|
||||
Said( move, rug) ||
|
||||
Said( pull, rug) ||
|
||||
Said( look, under, rug)))
|
||||
{
|
||||
Print( 12);
|
||||
}
|
||||
|
||||
if (Said( look, painting))
|
||||
{
|
||||
Print( 5);
|
||||
}
|
||||
|
||||
if (Said( look, behind, painting))
|
||||
{
|
||||
Print( 14);
|
||||
}
|
||||
|
||||
if (Said( look, sofa))
|
||||
{
|
||||
Print( 6);
|
||||
}
|
||||
|
||||
if ((Said( sit) ||
|
||||
Said( sit, down) ||
|
||||
Said( use, sofa)))
|
||||
{
|
||||
Print( 9);
|
||||
}
|
||||
|
||||
if ((Said( lie, down) ||
|
||||
Said( sleep)))
|
||||
{
|
||||
Print( 13);
|
||||
}
|
||||
|
||||
if (Said( listen, rol))
|
||||
{
|
||||
Print( 10);
|
||||
}
|
||||
|
||||
if (Said( open, door))
|
||||
{
|
||||
Print( 11);
|
||||
}
|
||||
|
||||
if ((Said( look, outside) ||
|
||||
Said( look, terrace) ||
|
||||
Said( look, window) ||
|
||||
Said( look, out, window)))
|
||||
{
|
||||
Print( 7);
|
||||
}
|
||||
|
||||
if ((Said( open, elevator) ||
|
||||
Said( push, button)))
|
||||
{
|
||||
if (!nearElevator)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (doorsOpen)
|
||||
{
|
||||
Print( 8);
|
||||
}
|
||||
else
|
||||
{
|
||||
Set( OK);
|
||||
script = 0;
|
||||
Set( scriptDone); [ Let's open up the doors.
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:noInput
|
||||
[*****
|
||||
|
||||
if (scriptDone)
|
||||
{
|
||||
Reset( scriptDone);
|
||||
++script;
|
||||
|
||||
if (script == 1) [ open doors
|
||||
{
|
||||
StartUpdate( aDoor);
|
||||
EndOfLoop( aDoor, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 2)
|
||||
{
|
||||
StopUpdate( aDoor);
|
||||
Set( doorsOpen);
|
||||
}
|
||||
|
||||
if (script == 3) [ He's clear; close the doors.
|
||||
{
|
||||
Reset( doorsOpen);
|
||||
StartUpdate( aDoor);
|
||||
BeginningOfLoop( aDoor, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 4)
|
||||
{
|
||||
script = 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (script == 101) [ Close the doors. Go downstairs.
|
||||
{
|
||||
Reset( doorsOpen);
|
||||
StopUpdate( ego);
|
||||
StartUpdate( aDoor);
|
||||
BeginningOfLoop( aDoor, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 102)
|
||||
{
|
||||
newRoom = rmSecurityDesk;
|
||||
}
|
||||
|
||||
|
||||
|
||||
[ Chasing the elusive latex muff...
|
||||
|
||||
if (script == 151)
|
||||
{
|
||||
MoveObj( ego, 40, 120, 1, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 152)
|
||||
{
|
||||
MoveObj( ego, 1, 120, 1, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 153)
|
||||
{
|
||||
Reset( handsOff);
|
||||
newRoom = rmHotTub;
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (script == 251) [ Walking egoTransvestite to bed.
|
||||
{
|
||||
MoveObj( ego, 35, 125, 1, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 252)
|
||||
{
|
||||
MoveObj( ego, 60, 103, 1, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 253)
|
||||
{
|
||||
MoveObj( ego, 114, 103, 1, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 254)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
if (!script)
|
||||
{
|
||||
StopUpdate( aDoor);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (script > 250)
|
||||
{
|
||||
Distance( ego, aEve, work);
|
||||
if (work > 10)
|
||||
{
|
||||
FollowEgo( aEve, 2, done);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (dollDone)
|
||||
{
|
||||
Reset( dollDone);
|
||||
++dollScript;
|
||||
|
||||
if (dollScript == 1)
|
||||
{
|
||||
MoveObj( aDoll, 0, 123, 2, dollDone);
|
||||
}
|
||||
|
||||
if (dollScript == 2)
|
||||
{
|
||||
MoveObj( aDoll, 0, 97, 2, dollDone);
|
||||
}
|
||||
|
||||
if (dollScript == 3)
|
||||
{
|
||||
Erase( aDoll);
|
||||
}
|
||||
}
|
||||
|
||||
if (dollSoundDone && dollOnScreen)
|
||||
{
|
||||
Sound( sDollDeflating, dollSoundDone);
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:exit [ test for leaving the room
|
||||
[*****
|
||||
|
||||
if (edgeEgoHit == LEFT) {newRoom = rmHotTub;}
|
||||
if (Posn( ego, 113, 93, 114, 106)) {newRoom = rmBedroom;}
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
[messages for room 44 -- rmLivingRoom
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"This is the living room of the hotel's penthouse suite.
|
||||
Obviously, the hotel spared no expense here.
|
||||
There's a fireplace on the wall to the south.
|
||||
No one is here, but you hear a gurgling noise coming from somewhere."
|
||||
|
||||
%message 2
|
||||
"You wonder how they can make those gas logs look so real!"
|
||||
|
||||
%message 3
|
||||
"There is a button on either side of the elevator."
|
||||
|
||||
%message 4
|
||||
"The bear looks back at you with a glassy-eyed stare,
|
||||
possibly because his eyes are made of glass!"
|
||||
|
||||
%message 5
|
||||
"It's another one of those boring works of modern art;
|
||||
this one is signed \"Mark Crowe.\""
|
||||
|
||||
%message 6
|
||||
"Yep. It's a sofa!"
|
||||
|
||||
%message 7
|
||||
"From this height, the view of the city is spectacular."
|
||||
|
||||
%message 8
|
||||
"The elevator doors are already open. Just walk inside."
|
||||
|
||||
%message 9
|
||||
"Instead of sitting, you should investigate that gurgling sound you hear."
|
||||
|
||||
%message 10
|
||||
"There's a sound coming from outside."
|
||||
|
||||
%message 11
|
||||
"The door to the terrace is already open."
|
||||
|
||||
%message 12
|
||||
"You find nothing but dust."
|
||||
|
||||
%message 13
|
||||
"Tired already?"
|
||||
|
||||
%message 14
|
||||
"You can't. It's screwed to the wall."
|
||||
|
|
@ -0,0 +1,952 @@
|
|||
[logics for room 45 -- rmBedroom
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "rm45.msg"
|
||||
%include "gamedefs.h"
|
||||
%include "iv_views.h"
|
||||
%include "contrlrs.h"
|
||||
|
||||
|
||||
|
||||
%define doorDone lf0
|
||||
%define nearCloset lf1
|
||||
%define closetOpen lf2
|
||||
%define inCloset lf3
|
||||
%define burst1Done lf4
|
||||
%define burst2Done lf5
|
||||
%define burst3Done lf6
|
||||
%define burst4Done lf7
|
||||
%define eveHere lf8
|
||||
%define lookingAtCloseup lf9
|
||||
%define dollDone lf10
|
||||
%define burst1InPlace lf11
|
||||
%define burst2InPlace lf12
|
||||
%define burst3InPlace lf13
|
||||
%define burst4InPlace lf14
|
||||
%define readPreventionMessage lf15
|
||||
%define nearBed lf16
|
||||
%define dollInflated lf17
|
||||
%define cutToLongShot lf18
|
||||
%define dollOnScreen lf19
|
||||
%define dollSoundDone lf20
|
||||
|
||||
|
||||
%define closeupLineTimer lv0
|
||||
%define burst1Cycles lv1
|
||||
%define burst2Cycles lv2
|
||||
%define burst3Cycles lv3
|
||||
%define burst4Cycles lv4
|
||||
%define dollPicture lv5
|
||||
%define fireworksPicture lv6
|
||||
%define action lv7
|
||||
|
||||
|
||||
%object aBurst1 1
|
||||
%object aBurst2 2
|
||||
%object aBurst3 3
|
||||
%object aBurst4 4
|
||||
%object aDoor 5
|
||||
%object aEve 6
|
||||
%object aDoll 7
|
||||
%object aKen 8
|
||||
|
||||
|
||||
|
||||
if (initLog)
|
||||
{
|
||||
LoadPic( currentRoom);
|
||||
DrawPic( currentRoom);
|
||||
[ DON'T DiscardPic( currentRoom);, we'll need it either way.
|
||||
|
||||
|
||||
if (currentStatus == FOLLOWING_EVE)
|
||||
{
|
||||
Set( eveHere);
|
||||
|
||||
fireworksPicture = picBlack;
|
||||
LoadPic( fireworksPicture);
|
||||
|
||||
LoadView( vEve);
|
||||
LoadView( vEgoWearingTowel);
|
||||
LoadView( vEgo);
|
||||
LoadView( vFireworks);
|
||||
LoadView( vKen);
|
||||
LoadSound( mWinner);
|
||||
|
||||
|
||||
AnimateObj( aEve);
|
||||
IgnoreBlocks( aEve);
|
||||
SetView( aEve, vEve);
|
||||
SetLoop( aEve, L_SITTING_ON_BED);
|
||||
Position( aEve, 55, 116);
|
||||
Draw( aEve);
|
||||
CycleTime( aEve, three);
|
||||
|
||||
SetView( ego, vEgoWearingTowel);
|
||||
MoveObj( ego, 48, 121, 1, scriptDone);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (ObjInRoom( iDoll, currentRoom))
|
||||
{
|
||||
dollPicture = picDollCloseup;
|
||||
LoadPic( dollPicture);
|
||||
|
||||
LoadView( vDollDeflating);
|
||||
LoadSound( sDollDeflating);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
LoadView( vBedroomDoors);
|
||||
LoadView( vEgoSittingOnBed);
|
||||
|
||||
|
||||
AnimateObj( aDoor);
|
||||
IgnoreBlocks( aDoor);
|
||||
IgnoreObjs( aDoor);
|
||||
SetView( aDoor, vBedroomDoors);
|
||||
SetCel( aDoor, 0);
|
||||
SetPriority( aDoor, 10);
|
||||
Position( aDoor, 117, 130);
|
||||
Draw( aDoor);
|
||||
work = DOOR_CYCLE_TIME;
|
||||
CycleTime( aDoor, work);
|
||||
StopUpdate( aDoor);
|
||||
|
||||
Position( ego, 20, 135);
|
||||
Draw( ego);
|
||||
|
||||
ShowPic( );
|
||||
|
||||
Return( );
|
||||
|
||||
} [ end initLOG
|
||||
|
||||
|
||||
|
||||
Reset( nearCloset);
|
||||
if (Posn( ego, 105, 121, 117, 136))
|
||||
{
|
||||
Set( nearCloset);
|
||||
}
|
||||
|
||||
Reset( inCloset);
|
||||
if (Posn( ego, 117, 121, 129, 131))
|
||||
{
|
||||
Set( inCloset);
|
||||
}
|
||||
|
||||
Reset( nearBed);
|
||||
if (Posn( ego, 56, 123, 86, 138)) [ 123 because he's above bed when
|
||||
{ [ sitting on the bed
|
||||
Set( nearBed);
|
||||
}
|
||||
|
||||
if (closetOpen && nearCloset)
|
||||
{
|
||||
IgnoreBlocks( ego);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (inCloset)
|
||||
{
|
||||
IgnoreBlocks( ego);
|
||||
}
|
||||
else
|
||||
{
|
||||
ObserveBlocks( ego);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:handleInput
|
||||
[*****
|
||||
|
||||
if (!haveInput) {goto noInput;}
|
||||
|
||||
if (Said( look, painting))
|
||||
{
|
||||
Print( 22);
|
||||
}
|
||||
|
||||
if (Said( look, behind, painting))
|
||||
{
|
||||
Print( 43);
|
||||
}
|
||||
|
||||
if (Said( look, bed))
|
||||
{
|
||||
Print( 23);
|
||||
}
|
||||
|
||||
if (Said( look, under, bed))
|
||||
{
|
||||
Print( 41);
|
||||
Print( 42);
|
||||
}
|
||||
|
||||
if ((Said( sit, on, bed) ||
|
||||
Said( sit) ||
|
||||
Said( sit, bed)))
|
||||
{
|
||||
Print( 38);
|
||||
}
|
||||
|
||||
if ((Said( look) ||
|
||||
Said( look, room) ||
|
||||
Said( look, closet) ||
|
||||
Said( look, bedroom)))
|
||||
{
|
||||
if (!inCloset)
|
||||
{
|
||||
Print( 1);
|
||||
}
|
||||
else [ He's in the closet.
|
||||
{
|
||||
if (ObjInRoom( iDoll, currentRoom))
|
||||
{
|
||||
Print( 12);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 13);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
[ Ibsen was never like this:
|
||||
|
||||
if (readPreventionMessage &&
|
||||
Said( yes))
|
||||
{
|
||||
goto patch1;
|
||||
}
|
||||
|
||||
if ((Said( use, doll) ||
|
||||
Said( abuse, doll) ||
|
||||
Said( put, dong, doll) ||
|
||||
Said( put, dong, doll, mouth) ||
|
||||
Said( put, dong, mouth) ||
|
||||
Said( sixtynine, doll) ||
|
||||
Said( make, doll, suck$me) ||
|
||||
Said( make, doll, give, suck$me) ||
|
||||
Said( butt, hump, rol) ||
|
||||
Said( anyword, butt, hump, rol) ||
|
||||
Said( anyword, butt, rol) ||
|
||||
Said( butt, rol) ||
|
||||
Said( anyword, blow$job, rol) ||
|
||||
Said( anyword, pussy, rol) ||
|
||||
Said( anyword, anyword, pussy, rol) ||
|
||||
Said( blow$job, rol) ||
|
||||
Said( anyword, hump, rol) ||
|
||||
Said( hump, doll)))
|
||||
{
|
||||
if (!Has( iDoll))
|
||||
{
|
||||
Set( dontHaveIt);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!dollInflated)
|
||||
{
|
||||
Print( 29);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!readPreventionMessage)
|
||||
{
|
||||
Print( 3);
|
||||
Set( readPreventionMessage);
|
||||
}
|
||||
else
|
||||
{
|
||||
:patch1;
|
||||
Print( 8);
|
||||
Print( 10);
|
||||
action = 3;
|
||||
currentScore += 8;
|
||||
Set( cutToLongShot);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( show, doll))
|
||||
{
|
||||
if (!Has( iDoll))
|
||||
{
|
||||
Set( dontHaveIt);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!dollInflated)
|
||||
{
|
||||
ShowObj( ivDoll);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (lookingAtCloseup)
|
||||
{
|
||||
Print( 18);
|
||||
}
|
||||
else
|
||||
{
|
||||
action = 6;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( inflate, doll))
|
||||
{
|
||||
if (!Has( iDoll))
|
||||
{
|
||||
Set( dontHaveIt);
|
||||
}
|
||||
else
|
||||
{
|
||||
action = 6;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
[ Handle the closet, and taking the doll.
|
||||
|
||||
if ((Said( open, door) ||
|
||||
Said( open, closet)))
|
||||
{
|
||||
if (closetOpen)
|
||||
{
|
||||
Print( 5);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!nearCloset)
|
||||
{
|
||||
Print( 19);
|
||||
}
|
||||
else
|
||||
{
|
||||
action = 4;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((Said( close, door) ||
|
||||
Said( close, closet)))
|
||||
{
|
||||
if (inCloset)
|
||||
{
|
||||
Print( 2);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!closetOpen)
|
||||
{
|
||||
Print( 6);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!nearCloset)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (egoX > 111)
|
||||
{
|
||||
Print( 20);
|
||||
}
|
||||
else
|
||||
{
|
||||
action = 5;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((Said( look, closet) ||
|
||||
Said( look$in, closet)))
|
||||
{
|
||||
if (!closetOpen)
|
||||
{
|
||||
Print( 15);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!inCloset)
|
||||
{
|
||||
Print( 31);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (ObjInRoom( iDoll, currentRoom))
|
||||
{
|
||||
Print( 12);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 13);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( get, doll))
|
||||
{
|
||||
if (Has( iDoll))
|
||||
{
|
||||
Print( 37);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!inCloset)
|
||||
{
|
||||
Print( 7);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!ObjInRoom( iDoll, currentRoom))
|
||||
{
|
||||
Print( 11);
|
||||
}
|
||||
else
|
||||
{
|
||||
Get( iDoll);
|
||||
currentScore += 5;
|
||||
Print( 9);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (lookingAtCloseup)
|
||||
{
|
||||
if ((Said( stop, looking, doll) ||
|
||||
Said( look, room, rol) ||
|
||||
Said( look, closet, rol)))
|
||||
{
|
||||
Print( 35);
|
||||
Set( cutToLongShot);
|
||||
}
|
||||
|
||||
if ((Said( masturbate, rol) ||
|
||||
Said( anyword, masturbate, rol)))
|
||||
{
|
||||
Print( 44);
|
||||
}
|
||||
|
||||
if ((Said( deflate, doll, rol) ||
|
||||
Said( anyword, deflate, doll, rol) ||
|
||||
Said( put, doll, away) ||
|
||||
Said( damn)))
|
||||
{
|
||||
Print( 28);
|
||||
Set( cutToLongShot);
|
||||
}
|
||||
|
||||
if ((Said( look, doll) ||
|
||||
Said( talk, doll) ||
|
||||
Said( smile) ||
|
||||
Said( smile, doll) ||
|
||||
Said( hold, hand) ||
|
||||
Said( take, her, hand) ||
|
||||
Said( touch, doll) ||
|
||||
Said( touch, her) ||
|
||||
Said( ask, date) ||
|
||||
Said( look, eyes) ||
|
||||
Said( look$in, eyes) ||
|
||||
Said( flirt, with, her) ||
|
||||
Said( wink, doll) ||
|
||||
Said( give, doll, kiss) ||
|
||||
Said( kiss, doll) ||
|
||||
Said( look, her, hair) ||
|
||||
Said( look, hair) ||
|
||||
Said( stroke, hair) ||
|
||||
Said( rub, hair) ||
|
||||
Said( rub, her, hair) ||
|
||||
Said( ask, name) ||
|
||||
Said( ask, her, name) ||
|
||||
Said( ask, name, doll) ||
|
||||
Said( larry) ||
|
||||
Said( leisure$suit, larry) ||
|
||||
Said( look, mouth) ||
|
||||
Said( look, her, mouth) ||
|
||||
Said( doll, marry, me) ||
|
||||
Said( marry, me) ||
|
||||
Said( marry, doll) ||
|
||||
Said( ask, doll, get, married) ||
|
||||
Said( ask, doll, marry, me) ||
|
||||
Said( talk, about, marriage) ||
|
||||
Said( put, ring, on, her, finger) ||
|
||||
Said( propose, her) ||
|
||||
Said( talk, her, love) ||
|
||||
Said( love, you) ||
|
||||
Said( take, her, hand) ||
|
||||
Said( grab, doll) ||
|
||||
Said( feel, doll) ||
|
||||
Said( lick, doll) ||
|
||||
Said( touch, doll, under, table) ||
|
||||
Said( grab, leg) ||
|
||||
Said( touch, leg) ||
|
||||
Said( feel, her, leg) ||
|
||||
Said( grab, her, leg) ||
|
||||
Said( look, doll, boobs) ||
|
||||
Said( look, boobs, rol) ||
|
||||
Said( look, body) ||
|
||||
Said( stare) ||
|
||||
Said( stare, boobs) ||
|
||||
Said( undress, her) ||
|
||||
Said( ask, doll, for, sex) ||
|
||||
Said( have, sex, with, me) ||
|
||||
Said( hump, rol) ||
|
||||
Said( make, doll) ||
|
||||
Said( anyword, pussy, rol) ||
|
||||
Said( lick, her, she, screams) ||
|
||||
Said( anyword, boobs, rol) ||
|
||||
Said( play, with, her, boobs) ||
|
||||
Said( grab, boobs) ||
|
||||
Said( fondle, breasts) ||
|
||||
Said( come, with, me)))
|
||||
{
|
||||
Print( 34);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
[*****
|
||||
:noInput
|
||||
[*****
|
||||
|
||||
if (Controller( cShowObj) &&
|
||||
selectedObject == 113)
|
||||
{
|
||||
if (dollInflated)
|
||||
{
|
||||
Print( 45);
|
||||
}
|
||||
else
|
||||
{
|
||||
action = 6;
|
||||
}
|
||||
}
|
||||
|
||||
if (!lookingAtCloseup &&
|
||||
egoX < 122 &&
|
||||
Has( iDoll))
|
||||
{
|
||||
Print( 14);
|
||||
action = 3;
|
||||
}
|
||||
|
||||
if (aSecondPassed)
|
||||
{
|
||||
--closeupLineTimer;
|
||||
if (closeupLineTimer == 1 &&
|
||||
lookingAtCloseup)
|
||||
{
|
||||
Print( 17);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (scriptDone)
|
||||
{
|
||||
Reset( scriptDone);
|
||||
++script;
|
||||
|
||||
if (script == 1)
|
||||
{
|
||||
scriptTimer = 3;
|
||||
}
|
||||
|
||||
if (script == 2)
|
||||
{
|
||||
UnanimateAll();
|
||||
|
||||
DrawPic( fireworksPicture);
|
||||
ShowPic();
|
||||
Set( musicDone);
|
||||
|
||||
|
||||
AnimateObj( aBurst1);
|
||||
IgnoreObjs( aBurst1);
|
||||
SetView( aBurst1, vFireworks);
|
||||
FixLoop( aBurst1);
|
||||
|
||||
AnimateObj( aBurst2);
|
||||
IgnoreObjs( aBurst2);
|
||||
SetView( aBurst2, vFireworks);
|
||||
FixLoop( aBurst2);
|
||||
|
||||
AnimateObj( aBurst3);
|
||||
IgnoreObjs( aBurst3);
|
||||
SetView( aBurst3, vFireworks);
|
||||
FixLoop( aBurst3);
|
||||
|
||||
AnimateObj( aBurst4);
|
||||
IgnoreObjs( aBurst4);
|
||||
SetView( aBurst4, vFireworks);
|
||||
FixLoop( aBurst4);
|
||||
|
||||
step = 12;
|
||||
Random( 5, 9, burst1Cycles);
|
||||
Random( 2, 5, burst2Cycles);
|
||||
Random( 3, 6, burst3Cycles);
|
||||
Random( 4, 11, burst4Cycles);
|
||||
|
||||
scriptTimer = 7;
|
||||
currentScore += 25;
|
||||
}
|
||||
|
||||
|
||||
if (script == 3)
|
||||
{
|
||||
Print( 24);
|
||||
scriptTimer = 4;
|
||||
}
|
||||
|
||||
if (script == 4)
|
||||
{
|
||||
Print( 25);
|
||||
scriptCycles = 11;
|
||||
}
|
||||
|
||||
if (script == 5)
|
||||
{
|
||||
Print( 46);
|
||||
|
||||
AnimateObj( aKen);
|
||||
IgnoreObjs( aKen);
|
||||
SetView( aKen, vKen);
|
||||
SetLoop( aKen, FACING_RIGHT);
|
||||
Position( aKen, 0, 166);
|
||||
Draw( aKen);
|
||||
MoveObj( aKen, 66, 166, 1, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 6)
|
||||
{
|
||||
SetLoop( aKen, FACING_FRONT);
|
||||
scriptTimer = 4;
|
||||
}
|
||||
|
||||
if (script == 7)
|
||||
{
|
||||
Print( 26);
|
||||
MoveObj( aKen, 151, 166, 1, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 8)
|
||||
{
|
||||
Erase( aKen);
|
||||
Print( 27);
|
||||
scriptTimer = 4;
|
||||
}
|
||||
|
||||
if (script == 9)
|
||||
{
|
||||
Print( 32);
|
||||
scriptTimer = 4;
|
||||
}
|
||||
|
||||
if (script == 10)
|
||||
{
|
||||
Print( 33);
|
||||
Print( 30);
|
||||
Print( 36);
|
||||
Quit( 1);
|
||||
}
|
||||
|
||||
|
||||
if (script == 101)
|
||||
{
|
||||
SetView( ego, vEgo);
|
||||
StartCycling( ego);
|
||||
MoveObj( ego, 110, 131, 1, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 102)
|
||||
{
|
||||
MoveObj( ego, 107, 134, 1, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 103)
|
||||
{
|
||||
MoveObj( ego, 17, 134, 1, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 104)
|
||||
{
|
||||
Reset( handsOff);
|
||||
newRoom = rmLivingRoom;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (doorDone)
|
||||
{
|
||||
Reset( doorDone);
|
||||
StopUpdate( aDoor);
|
||||
}
|
||||
|
||||
--burst1Cycles;
|
||||
if (burst1Cycles == 1)
|
||||
{
|
||||
Random( 0, 3, loop);
|
||||
SetLoopV( aBurst1, loop);
|
||||
SetCel( aBurst1, 0);
|
||||
StopCycling( aBurst1);
|
||||
|
||||
Random( 0, 150, x);
|
||||
Random( 120, 167, y);
|
||||
PositionV( aBurst1, x, y);
|
||||
Draw( aBurst1);
|
||||
|
||||
Random( 40, 110, y);
|
||||
MoveObjV( aBurst1, x, y, step, burst1InPlace);
|
||||
}
|
||||
|
||||
if (burst1InPlace)
|
||||
{
|
||||
Reset(burst1InPlace);
|
||||
EndOfLoop( aBurst1, burst1Done);
|
||||
}
|
||||
|
||||
if (burst1Done)
|
||||
{
|
||||
Reset( burst1Done);
|
||||
Erase( aBurst1);
|
||||
Random( 2, 7, burst1Cycles);
|
||||
}
|
||||
|
||||
|
||||
--burst2Cycles;
|
||||
if (burst2Cycles == 1)
|
||||
{
|
||||
Random( 0, 3, loop);
|
||||
SetLoopV( aBurst2, loop);
|
||||
SetCel( aBurst2, 0);
|
||||
StopCycling( aBurst2);
|
||||
|
||||
Random( 0, 150, x);
|
||||
Random( 120, 167, y);
|
||||
PositionV( aBurst2, x, y);
|
||||
Draw( aBurst2);
|
||||
|
||||
Random( 40, 110, y);
|
||||
MoveObjV( aBurst2, x, y, step, burst2InPlace);
|
||||
}
|
||||
|
||||
if (burst2InPlace)
|
||||
{
|
||||
Reset(burst2InPlace);
|
||||
EndOfLoop( aBurst2, burst2Done);
|
||||
}
|
||||
|
||||
if (burst2Done)
|
||||
{
|
||||
Reset( burst2Done);
|
||||
Erase( aBurst2);
|
||||
Random( 2, 7, burst2Cycles);
|
||||
}
|
||||
|
||||
|
||||
--burst3Cycles;
|
||||
if (burst3Cycles == 1)
|
||||
{
|
||||
Random( 0, 3, loop);
|
||||
SetLoopV( aBurst3, loop);
|
||||
SetCel( aBurst3, 0);
|
||||
StopCycling( aBurst3);
|
||||
|
||||
Random( 0, 150, x);
|
||||
Random( 120, 167, y);
|
||||
PositionV( aBurst3, x, y);
|
||||
Draw( aBurst3);
|
||||
|
||||
Random( 40, 110, y);
|
||||
MoveObjV( aBurst3, x, y, step, burst3InPlace);
|
||||
}
|
||||
|
||||
if (burst3InPlace)
|
||||
{
|
||||
Reset(burst3InPlace);
|
||||
EndOfLoop( aBurst3, burst3Done);
|
||||
}
|
||||
|
||||
if (burst3Done)
|
||||
{
|
||||
Reset( burst3Done);
|
||||
Erase( aBurst3);
|
||||
Random( 2, 7, burst3Cycles);
|
||||
}
|
||||
|
||||
|
||||
--burst4Cycles;
|
||||
if (burst4Cycles == 1)
|
||||
{
|
||||
Random( 0, 3, loop);
|
||||
SetLoopV( aBurst4, loop);
|
||||
SetCel( aBurst4, 0);
|
||||
StopCycling( aBurst4);
|
||||
|
||||
Random( 0, 150, x);
|
||||
Random( 120, 167, y);
|
||||
PositionV( aBurst4, x, y);
|
||||
Draw( aBurst4);
|
||||
|
||||
Random( 40, 110, y);
|
||||
MoveObjV( aBurst4, x, y, step, burst4InPlace);
|
||||
}
|
||||
|
||||
if (burst4InPlace)
|
||||
{
|
||||
Reset(burst4InPlace);
|
||||
EndOfLoop( aBurst4, burst4Done);
|
||||
}
|
||||
|
||||
if (burst4Done)
|
||||
{
|
||||
Reset( burst4Done);
|
||||
Erase( aBurst4);
|
||||
Random( 2, 7, burst4Cycles);
|
||||
}
|
||||
|
||||
|
||||
if (dollDone)
|
||||
{
|
||||
Reset( dollDone);
|
||||
Erase( aDoll);
|
||||
Reset( dollOnScreen);
|
||||
Print( 21);
|
||||
}
|
||||
|
||||
|
||||
if (cutToLongShot)
|
||||
{
|
||||
Reset( cutToLongShot);
|
||||
Reset( lookingAtCloseup);
|
||||
UnanimateAll();
|
||||
|
||||
DrawPic( currentRoom);
|
||||
|
||||
AnimateObj( ego);
|
||||
Draw( ego);
|
||||
|
||||
AnimateObj( aDoor);
|
||||
IgnoreBlocks( aDoor);
|
||||
IgnoreObjs( aDoor);
|
||||
SetPriority( aDoor, 10);
|
||||
work = DOOR_CYCLE_TIME;
|
||||
CycleTime( aDoor, work);
|
||||
Draw( aDoor);
|
||||
StopUpdate( aDoor);
|
||||
|
||||
ShowPic();
|
||||
}
|
||||
|
||||
|
||||
if (action)
|
||||
{
|
||||
if (action == 3)
|
||||
{
|
||||
Drop( iDoll);
|
||||
|
||||
Set( programControl);
|
||||
PreventInput();
|
||||
StopMotion( ego);
|
||||
Set( handsOff);
|
||||
currentStatus = CHASING_DOLL;
|
||||
|
||||
Reset( keepCycling);
|
||||
Reset( noCycling);
|
||||
script = 100;
|
||||
scriptCycles = 13;
|
||||
|
||||
AnimateObj( aDoll);
|
||||
IgnoreHorizon( aDoll);
|
||||
IgnoreBlocks( aDoll);
|
||||
IgnoreObjs( aDoll);
|
||||
SetView( aDoll, vDollDeflating);
|
||||
SetPriority( aDoll, 11);
|
||||
Position( aDoll, 116, 100);
|
||||
Draw( aDoll);
|
||||
Set( dollOnScreen);
|
||||
MoveObj( aDoll, 0, 100, 2, dollDone);
|
||||
Set( dollSoundDone);
|
||||
}
|
||||
|
||||
if (action == 4)
|
||||
{
|
||||
Set( OK);
|
||||
Set( closetOpen);
|
||||
StartUpdate( aDoor);
|
||||
EndOfLoop( aDoor, doorDone);
|
||||
}
|
||||
|
||||
if (action == 5)
|
||||
{
|
||||
Set( OK);
|
||||
Reset( closetOpen);
|
||||
StartUpdate( aDoor);
|
||||
BeginningOfLoop( aDoor, doorDone);
|
||||
}
|
||||
|
||||
if (action == 6)
|
||||
{
|
||||
if (!dollInflated)
|
||||
{
|
||||
Set( dollInflated);
|
||||
Print( 16);
|
||||
closeupLineTimer = 6;
|
||||
if (!inflatedDoll)
|
||||
{
|
||||
Set( inflatedDoll);
|
||||
currentScore += 5;
|
||||
}
|
||||
}
|
||||
|
||||
UnanimateAll();
|
||||
|
||||
DrawPic( dollPicture);
|
||||
ShowPic();
|
||||
|
||||
Set( lookingAtCloseup);
|
||||
}
|
||||
|
||||
action = 0;
|
||||
}
|
||||
|
||||
if (dollSoundDone && dollOnScreen)
|
||||
{
|
||||
Sound( sDollDeflating, dollSoundDone);
|
||||
}
|
||||
|
||||
if (musicDone)
|
||||
{
|
||||
Sound( mWinner, musicDone);
|
||||
}
|
||||
|
||||
|
||||
|
||||
[*****
|
||||
:exit [ test for leaving the room
|
||||
[*****
|
||||
|
||||
if (edgeEgoHit == LEFT)
|
||||
{
|
||||
newRoom = rmLivingRoom;
|
||||
}
|
|
@ -0,0 +1,171 @@
|
|||
[messages for room 45 -- rmBedroom
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"The penthouse bedroom is quite deluxe."
|
||||
|
||||
%message 2
|
||||
"Didn't your Mother tell you that doing that would make you go blind?"
|
||||
|
||||
%message 3
|
||||
"Geez, Larry. Do we have to?"
|
||||
|
||||
%message 4
|
||||
"Now?! When she's waiting for you on the bed??"
|
||||
|
||||
%message 5
|
||||
"It is open."
|
||||
|
||||
%message 6
|
||||
"It's not open."
|
||||
|
||||
%message 7
|
||||
"There's no inflatable doll out here."
|
||||
|
||||
%message 8
|
||||
"All right, you asked for it.\n\n
|
||||
In fact, you've asked for it twice! Here we go..."
|
||||
|
||||
%message 9
|
||||
"Got her!"
|
||||
|
||||
%message 10
|
||||
"Selecting your own personal favorite from the three available openings,
|
||||
you shyly try out the doll.
|
||||
This has to be the kinkiest thing you've done in a long time, Larry.\n\n
|
||||
You gradually increase your tempo as you lose your inhibitions
|
||||
(not to mention your self-esteem).
|
||||
Faster and faster you go, until suddenly, there's a loud, flatulent sound..."
|
||||
|
||||
%message 11
|
||||
"You lost her, remember!"
|
||||
|
||||
%message 12
|
||||
"You've found a closet full of uninteresting stuff, plus one inflatable doll."
|
||||
|
||||
%message 13
|
||||
"The rest of the closet is rather dull compared to the inflatable doll."
|
||||
|
||||
%message 14
|
||||
"Walking out of the closet, you clumsily catch your new friend on a
|
||||
protruding nail!
|
||||
There's a loud, flatulent sound, and..."
|
||||
|
||||
%message 15
|
||||
"The closet is closed."
|
||||
|
||||
%message 16
|
||||
"You huff, and you puff, and you blow your doll up.
|
||||
Holding her out at arm's length, you pause to admire your handiwork..."
|
||||
|
||||
%message 17
|
||||
"...somehow you expected more."
|
||||
|
||||
%message 18
|
||||
"What more would you want to see?"
|
||||
|
||||
%message 19
|
||||
"Move closer to the handle."
|
||||
|
||||
%message 20
|
||||
"Move out of the way of the door first."
|
||||
|
||||
%message 21
|
||||
"Go get her, Larry."
|
||||
|
||||
%message 22
|
||||
"It's another one of those boring works of modern art;
|
||||
this one is signed \"Mark Crowe.\""
|
||||
|
||||
%message 23
|
||||
"The bedspread is made of genuine, 100 per cent, acrylic zebrahide."
|
||||
|
||||
%message 24
|
||||
"Congratulations, Larry!!!\n\n
|
||||
You've done it!!\n\n
|
||||
You've successfully completed your evening in Sierra World,
|
||||
lost your virginity, and emerged victorious!"
|
||||
|
||||
%message 25
|
||||
"Of course, your feelings of success are short-lived,
|
||||
since this is where Ken Williams has to tell you about our
|
||||
soon-to-be-released sequel.\n\n
|
||||
Hey, Ken! Come here, and give 'em your pitch..."
|
||||
|
||||
%message 26
|
||||
"\"Hi, folks! Remember, coming to this very computer Real Soon Now,
|
||||
is the next installment in the saga of Larry Laffer,
|
||||
traveling software salesman.
|
||||
I'd tell you the name now, but we haven't made one up yet!\n\n
|
||||
(Be sure to pick up a few extra copies,
|
||||
just in case our disk copier is screwed up again!)\""
|
||||
|
||||
%message 27
|
||||
"Oh, wait. We almost forget to tell you how well you played."
|
||||
|
||||
%message 28
|
||||
"You can't bear the thought of deflating your new friend, so you don't!"
|
||||
|
||||
%message 29
|
||||
"What fun is an uninflated inflatable doll?"
|
||||
|
||||
%message 30
|
||||
"...thanks for playing,
|
||||
and be sure to tell each and every one of your friends
|
||||
to buy their own personal copy of this game."
|
||||
|
||||
%message 31
|
||||
"Move inside the closet."
|
||||
|
||||
%message 32
|
||||
"You played ok, I guess!"
|
||||
|
||||
%message 33
|
||||
"On behalf of Mark and Sandy, Al and Marg, Jeff and Chris,
|
||||
Russ and Kim, Larry and Bob, Ken and Roberta, Bob and Marilyn and/or
|
||||
Bob and Jeannine, John and Mary, Bob and Carol and Ted and Alice..."
|
||||
|
||||
%message 34
|
||||
"Don't you find it difficult to have a meaningful relationship with latex?"
|
||||
|
||||
%message 35
|
||||
"OK."
|
||||
|
||||
%message 36
|
||||
"Love ya, baby!"
|
||||
|
||||
%message 37
|
||||
"Sorry. One's your limit!"
|
||||
|
||||
%message 38
|
||||
"You don't have time to rest!"
|
||||
|
||||
%message 39
|
||||
"You are standing."
|
||||
|
||||
%message 40
|
||||
"Perhaps if you first established mouth/latex contact..."
|
||||
|
||||
%message 41
|
||||
"Picking up the corner of the expensive, vinyl, zebra-skin bedspread, you
|
||||
discover..."
|
||||
|
||||
%message 42
|
||||
"...nothing."
|
||||
|
||||
%message 43
|
||||
"You can't. It's screwed to the wall."
|
||||
|
||||
%message 44
|
||||
"That's not what she's for, Larry."
|
||||
|
||||
%message 45
|
||||
"...and that's exactly the way she used to look!"
|
||||
|
||||
%message 46
|
||||
"Ladies and gentlemen...\n\n
|
||||
Mr. Ken Williams!"
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
[logics for room 50 -- initLog for room 0
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "gamedefs.h"
|
||||
|
||||
|
||||
|
||||
if (monitorType != MONO)
|
||||
{
|
||||
ClearLines( 22, 22, BG_COLOR);
|
||||
ClearLines( 24, 24, BG_COLOR);
|
||||
}
|
||||
|
||||
if (!forceAtest) [ activate close to shipping
|
||||
{
|
||||
Reset( debugging);
|
||||
Reset( enableTrace);
|
||||
}
|
||||
|
||||
if (demo)
|
||||
{
|
||||
PreventInput();
|
||||
}
|
||||
|
||||
AnimateObj( ego);
|
||||
StepSize( ego, egoStepSize);
|
||||
StepTime( ego, egoStepTime);
|
||||
CycleTime( ego, egoCycleTime);
|
||||
GetPosn( ego, egoX, egoY);
|
||||
ObserveBlocks( ego);
|
||||
ObserveObjs( ego);
|
||||
ObserveHorizon( ego);
|
||||
|
||||
egoLocation = 0;
|
||||
secondsInRoom = 0;
|
||||
passInRoom = 0;
|
||||
newRoom = 0;
|
||||
script = 0;
|
||||
scriptCycles = 0;
|
||||
scriptTimer = 0;
|
||||
|
||||
Reset( outOfMemory);
|
||||
Reset( survivableFall);
|
||||
Reset( egoArrived);
|
||||
Reset( scriptDone);
|
||||
Reset( musicDone);
|
||||
Reset( soundDone);
|
||||
Reset( noScript);
|
||||
|
||||
work = 255;
|
||||
:mrLooper [All that remains of "Reset the world"
|
||||
ResetV( work);
|
||||
work @= 0;
|
||||
--work;
|
||||
if (work > 199)
|
||||
{
|
||||
goto mrLooper;
|
||||
}
|
|
@ -0,0 +1,179 @@
|
|||
[logics for room 51 -- lgc.startup
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "gamedefs.h"
|
||||
%include "contrlrs.h"
|
||||
|
||||
|
||||
|
||||
%message 1 "_"
|
||||
%message 2 "]"
|
||||
%message 3 "LLLLL"
|
||||
|
||||
|
||||
|
||||
SetCursorChar( 1); [ cursor
|
||||
SetString( 0, 2); [ prompt
|
||||
SetGameId( 3); [ id
|
||||
TraceInfo( lgcTrace, 2, 9); [ sets: room, y TOP, lines tall
|
||||
SetTextAttribute( TEXT_COLOR, BG_COLOR);
|
||||
maxScore = 222; [ set up the status line first
|
||||
if (monitorType != MONO)
|
||||
{
|
||||
ClearLines( 22, 24, BG_COLOR);
|
||||
}
|
||||
|
||||
ConfigureScreen( 1, 23, 0);
|
||||
Set( enableMenu);
|
||||
DisableItem( cDummy);
|
||||
Set( soundOn);
|
||||
egoStepSize = 1;
|
||||
egoStepTime = 1;
|
||||
egoCycleTime = 1;
|
||||
egoX = 77;
|
||||
egoY = 166;
|
||||
mouthMessage = 157; [ First bad breath message.
|
||||
|
||||
if ((machineType == PC ||
|
||||
machineType == JR ||
|
||||
machineType == TANDY ||
|
||||
machineType == APPLEII))
|
||||
{
|
||||
Set( twoButtonJoystick);
|
||||
}
|
||||
else
|
||||
{
|
||||
Set( mouseMachine);
|
||||
if (machineType == ST)
|
||||
{
|
||||
Set( enableDoubleClick);
|
||||
}
|
||||
}
|
||||
|
||||
dollars = 94;
|
||||
cabFareMin = 5;
|
||||
cabRideLength = 15;
|
||||
Set( mouthOK);
|
||||
sprayMinutes = SPRAY_INIT_MINUTES;
|
||||
watchHours = WATCH_INIT_HOURS;
|
||||
|
||||
one = 1;
|
||||
two = 2;
|
||||
three = 3;
|
||||
four = 4;
|
||||
five = 5;
|
||||
|
||||
[testRoom = 12;
|
||||
if (testRoom)
|
||||
{
|
||||
[ Set( debugging);
|
||||
[ Reset( demo);
|
||||
[ Reset( programControl);
|
||||
[ AcceptInput();
|
||||
[ animationInterval = FASTEST_SPEED;
|
||||
[ Set( clockOn);
|
||||
[ Set( enableMenu);
|
||||
[ Set( passedTest);
|
||||
[ StatusLineOn();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!restartInProgress)
|
||||
{
|
||||
Set( demo); [ Set up for a real start!
|
||||
Set( programControl);
|
||||
PreventInput();
|
||||
animationInterval = NORMAL_SPEED;
|
||||
Reset( clockOn);
|
||||
Reset( enableMenu);
|
||||
StatusLineOff();
|
||||
}
|
||||
else
|
||||
{
|
||||
Reset( demo); [ Don't do a real start.
|
||||
StatusLineOn();
|
||||
Set( passedTest);
|
||||
Return(); [ Don't reassign keys.
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[ Assign keys to controller functions.
|
||||
SetKey( 0, 59, cHelp); [F1
|
||||
SetKey( 0, 60, cSoundToggle); [F2
|
||||
SetKey( 0, 61, cEchoLine); [F3
|
||||
SetKey( 0, 62, cF4); [F4
|
||||
SetKey( 0, 63, cSave); [F5
|
||||
SetKey( 0, 64, cF6); [F6
|
||||
SetKey( 0, 65, cRestore); [F7
|
||||
SetKey( 0, 66, cF8); [F8
|
||||
SetKey( 0, 67, cRestart); [F9
|
||||
SetKey( 0, 68, cSpeed); [F10
|
||||
|
||||
|
||||
[ Set control & alt keys.
|
||||
if (machineType == TANDY)
|
||||
{
|
||||
SetKey( 61, 0, cCrescendo); [+
|
||||
SetKey( 45, 0, cDecrescendo); [-
|
||||
SetKey( 43, 0, cCrescendo); [+
|
||||
}
|
||||
SetKey( 9, 0, cStatus); [TAB
|
||||
if (machineType == AMIGA)
|
||||
{
|
||||
SetKey( 27, 0, cPause); [ESC
|
||||
}
|
||||
else
|
||||
{
|
||||
SetKey( 27, 0, cMenu); [ESC
|
||||
}
|
||||
|
||||
SetKey( 2, 0, cBoss); [^B
|
||||
SetKey( 3, 0, cCancelLine); [^C
|
||||
SetKey( 5, 0, cEchoLine); [^E
|
||||
SetKey( 10, 0, cInitJoy); [^J
|
||||
SetKey( 18, 0, cToggleMonitor); [^R
|
||||
SetKey( 19, 0, cSoundToggle); [^S
|
||||
|
||||
SetKey( 0, 32, cDebug); [@D
|
||||
SetKey( 0, 18, cShowEgo); [@E
|
||||
SetKey( 0, 23, cObjInfo); [@I
|
||||
SetKey( 0, 50, cShowMem); [@M
|
||||
SetKey( 0, 25, cShowPriority); [@P
|
||||
SetKey( 0, 45, cSkipTest); [@X
|
||||
SetKey( 0, 47, cVersion); [@V
|
||||
SetKey( 0, 44, cQuit); [@Z
|
||||
|
||||
|
||||
|
||||
[ Substitute PCjr number keys as function keys.
|
||||
if (machineType == JR)
|
||||
{
|
||||
SetKey( 49, 0, cHelp); [1
|
||||
SetKey( 50, 0, cSoundToggle); [2
|
||||
SetKey( 51, 0, cEchoLine); [3
|
||||
SetKey( 52, 0, cF4); [4
|
||||
SetKey( 53, 0, cSave); [5
|
||||
SetKey( 54, 0, cF6); [6
|
||||
SetKey( 55, 0, cRestore); [7
|
||||
SetKey( 56, 0, cF8); [8
|
||||
SetKey( 57, 0, cRestart); [9
|
||||
SetKey( 48, 0, cSpeed); [0
|
||||
}
|
||||
|
||||
|
||||
[ Set joystick controllers.
|
||||
SetKey( JOYSTICK_LOW_BYTE, BUTTON_0, cMenu);
|
||||
if (twoButtonJoystick)
|
||||
{
|
||||
SetKey( JOYSTICK_LOW_BYTE, BUTTON_1, cStatus);
|
||||
[SetKey( JOYSTICK_LOW_BYTE, BUTTON_0_DOUBLE, c.doit);
|
||||
[SetKey( JOYSTICK_LOW_BYTE, BUTTON_1_DOUBLE, c.useit);
|
||||
}
|
||||
else {
|
||||
if (machineType == ST)
|
||||
{
|
||||
SetKey( JOYSTICK_LOW_BYTE, BUTTON_0_DOUBLE, cStatus);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,266 @@
|
|||
[logics for room 52 -- lgc.debug
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "gamedefs.h"
|
||||
%include "contrlrs.h"
|
||||
%include "colors.h"
|
||||
|
||||
|
||||
|
||||
[ if (Said( blow$me, boob, hump, fag))
|
||||
[ {
|
||||
[ Call( lgcID);
|
||||
[ }
|
||||
|
||||
|
||||
%message 1 "New room:"
|
||||
%message 2 "X coordinate:"
|
||||
%message 3 "Y coordinate:"
|
||||
%message 4 "Object number:"
|
||||
%message 5 "Flag number:"
|
||||
%message 6 "New value:"
|
||||
%message 7 "You gottum, Larry."
|
||||
%message 8 "Variable number:"
|
||||
%message 9 "Variable %v45 = %v46"
|
||||
%message 10 "Flag %v45 set"
|
||||
%message 11 "Flag %v45 not set"
|
||||
%message 12 "New priority:"
|
||||
%message 13 "Object %v46 is in room %v45."
|
||||
%message 14 "%v45|3/%v46|3"
|
||||
%message 15 "Room %v0|3"
|
||||
%message 16 "%v45|2 %o45"
|
||||
%message 17 "Number Name of Object"
|
||||
%message 18 "%v8 memory pages left."
|
||||
%message 19 ""
|
||||
%message 20 "Unknown word: \""
|
||||
[ %message 21 "%m20%w1\""
|
||||
[ %message 22 "%m20%w2\""
|
||||
[ %message 23 "%m20%w3\""
|
||||
[ %message 24 "%m20%w4\""
|
||||
[ %message 25 "%m20%w5\""
|
||||
[ %message 26 "%m20%w6\""
|
||||
[ %message 27 "%m20%w7\""
|
||||
[ %message 28 "%m20%w8\""
|
||||
%message 29 "H"
|
||||
%message 30 " "
|
||||
%message 31 ""
|
||||
|
||||
|
||||
|
||||
if (initLog && xyOn && monitorType != MONO)
|
||||
{
|
||||
SetTextAttribute( BROWN, BG_COLOR);
|
||||
ClearTextRect( 24, 26, 24, 34, BG_COLOR);
|
||||
Display( 24, 26, 15);
|
||||
SetTextAttribute( TEXT_COLOR, BG_COLOR);
|
||||
[ if (memoryCheck)
|
||||
[ {
|
||||
[ Log( 18);
|
||||
[ }
|
||||
}
|
||||
|
||||
if (Controller( cObjInfo))
|
||||
{
|
||||
GetNum( 4, debug0);
|
||||
if (debug0 > 15)
|
||||
{
|
||||
debug0 = 15;
|
||||
}
|
||||
ObjStatusV( debug0);
|
||||
}
|
||||
|
||||
if ((Controller( cShowEgo) ||
|
||||
Said( where)))
|
||||
{
|
||||
debug0 = 0;
|
||||
ObjStatusV( debug0);
|
||||
}
|
||||
|
||||
if (Controller( cShowMem))
|
||||
{
|
||||
ShowMem();
|
||||
[ Log( 18);
|
||||
}
|
||||
|
||||
if ((Controller( cShowPriority) ||
|
||||
Said( show, priority)))
|
||||
{
|
||||
ShowPriScreen();
|
||||
}
|
||||
|
||||
if (monitorType != MONO)
|
||||
{
|
||||
if (handsOff)
|
||||
{
|
||||
SetTextAttribute( BROWN, BG_COLOR);
|
||||
Display( 24, 35, 29);
|
||||
SetTextAttribute( TEXT_COLOR, BG_COLOR);
|
||||
}
|
||||
else
|
||||
{
|
||||
Display( 24, 35, 30);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((Controller( cInvNumbers) ||
|
||||
Said( object, number)))
|
||||
{
|
||||
lastChar = 0;
|
||||
SetTextAttribute( BROWN, WHITE);
|
||||
TextScreen( );
|
||||
Display( 2, 6, 17);
|
||||
debug0 = 1; [ Object number counter.
|
||||
x = 10;
|
||||
y = 4;
|
||||
message = 16;
|
||||
|
||||
:mrLooper2;
|
||||
DisplayV( y, x, message);
|
||||
++debug0;
|
||||
++y;
|
||||
if (!debug0 > SIZE_OF_INVENTORY)
|
||||
{
|
||||
goto mrLooper2;
|
||||
}
|
||||
|
||||
:checkKb2;
|
||||
if (!HaveKey( ))
|
||||
{
|
||||
goto checkKb2;
|
||||
}
|
||||
SetTextAttribute( TEXT_COLOR, BG_COLOR);
|
||||
Graphics( );
|
||||
}
|
||||
|
||||
|
||||
if (Said( object, room))
|
||||
{
|
||||
GetNum( 4, debug1);
|
||||
GetRoomV( debug1, debug0);
|
||||
Print( 13);
|
||||
}
|
||||
|
||||
if (Said( set, priority))
|
||||
{
|
||||
GetNum( 12, debug1);
|
||||
SetPriorityV( ego, debug1);
|
||||
}
|
||||
|
||||
if (Said( release, priority))
|
||||
{
|
||||
ReleasePriority( ego);
|
||||
}
|
||||
|
||||
if (said( tp))
|
||||
{
|
||||
GetNum( 1, debug0);
|
||||
NewRoomV( debug0);
|
||||
}
|
||||
|
||||
if (said( position))
|
||||
{
|
||||
GetNum( 2, debug0);
|
||||
GetNum( 3, debug1);
|
||||
RepositionToV( ego, debug0, debug1);
|
||||
}
|
||||
|
||||
if (monitorType != MONO &&
|
||||
(Said( show, position) ||
|
||||
Said( room, number) ||
|
||||
Said( room) ||
|
||||
Controller( cXY) ||
|
||||
Said( xy)))
|
||||
{
|
||||
Toggle( xyOn);
|
||||
SetTextAttribute( BROWN, BG_COLOR);
|
||||
Display( 24, 26, 15);
|
||||
SetTextAttribute( TEXT_COLOR, BG_COLOR);
|
||||
}
|
||||
|
||||
if (monitorType != MONO && xyOn)
|
||||
{
|
||||
debug0 = egoX;
|
||||
debug1 = egoY;
|
||||
SetTextAttribute( BROWN, BG_COLOR);
|
||||
Display( 24, 16, 14);
|
||||
SetTextAttribute( TEXT_COLOR, BG_COLOR);
|
||||
}
|
||||
|
||||
if ((Said( gimme, gimme) ||
|
||||
Controller( cGimme)))
|
||||
{
|
||||
Display( 0, 0, 7);
|
||||
debug0 = 0;
|
||||
debug1 = INVENTORY;
|
||||
|
||||
:mrLooper3;
|
||||
++debug0;
|
||||
if (!debug0 > SIZE_OF_INVENTORY)
|
||||
{
|
||||
PutV( debug0, debug1);
|
||||
goto mrLooper3;
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( get, object))
|
||||
{
|
||||
GetNum( 4, debug0);
|
||||
GetV( debug0);
|
||||
}
|
||||
|
||||
if (Said( show, flag))
|
||||
{
|
||||
GetNum( 5, debug0);
|
||||
if (IssetV( debug0))
|
||||
{
|
||||
Print( 10);
|
||||
}
|
||||
else {
|
||||
Print( 11);
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( set, flag))
|
||||
{
|
||||
GetNum( 5, debug0);
|
||||
SetV( debug0);
|
||||
}
|
||||
|
||||
if (Said( Reset, flag))
|
||||
{
|
||||
GetNum( 5, debug0);
|
||||
ResetV( debug0);
|
||||
}
|
||||
|
||||
if (Said( show, var))
|
||||
{
|
||||
GetNum( 8, debug0);
|
||||
debug1 =@ debug0;
|
||||
Print( 9);
|
||||
}
|
||||
|
||||
if (Said( set, var))
|
||||
{
|
||||
GetNum( 8, debug0);
|
||||
GetNum( 6, debug1);
|
||||
debug0 @= debug1;
|
||||
}
|
||||
|
||||
[ if (unknownWord)
|
||||
[ {
|
||||
[ if (unknownWord == 1) {Log( 21);}
|
||||
[ if (unknownWord == 2) {Log( 22);}
|
||||
[ if (unknownWord == 3) {Log( 23);}
|
||||
[ if (unknownWord == 4) {Log( 24);}
|
||||
[ if (unknownWord == 5) {Log( 25);}
|
||||
[ if (unknownWord == 6) {Log( 26);}
|
||||
[ if (unknownWord == 7) {Log( 27);}
|
||||
[ if (unknownWord > 7) {Log( 28);}
|
||||
[ }
|
||||
|
||||
|
||||
[*****
|
||||
:exit
|
||||
[*****
|
|
@ -0,0 +1,247 @@
|
|||
[Room 53 -- lgc.trace messages
|
||||
|
||||
|
||||
|
||||
#message 1 "increment"
|
||||
#message 2 "decrement"
|
||||
#message 3 "assignn"
|
||||
#message 4 "assignv"
|
||||
#message 5 "addn"
|
||||
#message 6 "addv"
|
||||
#message 7 "subn"
|
||||
#message 8 "subv"
|
||||
#message 9 "lindirectv"
|
||||
#message 10 "rindirect"
|
||||
#message 11 "lindirectn"
|
||||
|
||||
#message 12 "set"
|
||||
#message 13 "reset"
|
||||
#message 14 "toggle"
|
||||
#message 15 "set.v"
|
||||
#message 16 "reset.v"
|
||||
#message 17 "toggle.v"
|
||||
|
||||
[Logics
|
||||
#message 18 "new.room"
|
||||
#message 19 "new.room.v"
|
||||
#message 20 "load.logics"
|
||||
#message 21 "load.logics.v"
|
||||
#message 22 "call"
|
||||
#message 23 "call.v"
|
||||
|
||||
[Pictures
|
||||
#message 24 "load.pic"
|
||||
#message 25 "draw.pic"
|
||||
#message 26 "show.pic"
|
||||
#message 27 "discard.pic"
|
||||
#message 28 "overlay.pic"
|
||||
#message 29 "show.pri.screen"
|
||||
|
||||
[Views
|
||||
#message 30 "load.view"
|
||||
#message 31 "load.view.v"
|
||||
#message 32 "discard.view"
|
||||
|
||||
[Animated objects
|
||||
#message 33 "animate.obj"
|
||||
#message 34 "unanimate.all"
|
||||
#message 35 "draw"
|
||||
#message 36 "erase"
|
||||
#message 37 "position"
|
||||
#message 38 "position.v"
|
||||
#message 39 "get.posn"
|
||||
#message 40 "reposition"
|
||||
|
||||
[Views of animated objects
|
||||
#message 41 "set.view"
|
||||
#message 42 "set.view.v"
|
||||
#message 43 "set.loop"
|
||||
#message 44 "set.loop.v"
|
||||
#message 45 "fix.loop"
|
||||
#message 46 "release.loop"
|
||||
#message 47 "set.cel"
|
||||
#message 48 "set.cel.v"
|
||||
#message 49 "last.cel"
|
||||
#message 50 "current.cel"
|
||||
#message 51 "current.loop"
|
||||
#message 52 "current.view"
|
||||
#message 53 "number.of.loops"
|
||||
|
||||
[Priority control of animated objects
|
||||
#message 54 "set.priority"
|
||||
#message 55 "set.priority.v"
|
||||
#message 56 "release.priority"
|
||||
#message 57 "get.priority"
|
||||
|
||||
[Attributes of animated objects
|
||||
#message 58 "stop.update"
|
||||
#message 59 "start.update"
|
||||
#message 60 "force.update"
|
||||
#message 61 "ignore.horizon"
|
||||
#message 62 "observe.horizon"
|
||||
#message 63 "set.horizon"
|
||||
#message 64 "object.onWater"
|
||||
#message 65 "object.on.land"
|
||||
#message 66 "object.on.anything"
|
||||
#message 67 "ignore.objs"
|
||||
#message 68 "observe.objs"
|
||||
#message 69 "distance"
|
||||
|
||||
[Cycling of animated objects
|
||||
#message 70 "stop.cycling"
|
||||
#message 71 "start.cycling"
|
||||
#message 72 "normal.cycle"
|
||||
#message 73 "end.of.loop"
|
||||
#message 74 "reverse.cycle"
|
||||
#message 75 "reverse.loop"
|
||||
#message 76 "cycle.time"
|
||||
|
||||
[Motion of animated objects
|
||||
#message 77 "stop.motion"
|
||||
#message 78 "start.motion"
|
||||
#message 79 "step.size"
|
||||
#message 80 "step.time"
|
||||
#message 81 "move.obj"
|
||||
#message 82 "move.obj.v"
|
||||
#message 83 "follow.ego"
|
||||
#message 84 "wander"
|
||||
#message 85 "normal.motion"
|
||||
#message 86 "set.dir"
|
||||
#message 87 "get.dir"
|
||||
|
||||
#message 88 "ignore.blocks"
|
||||
#message 89 "observe.blocks"
|
||||
#message 90 "block"
|
||||
#message 91 "unblock"
|
||||
|
||||
[Inventory objects
|
||||
#message 92 "get"
|
||||
#message 93 "get.v"
|
||||
#message 94 "drop"
|
||||
#message 95 "put"
|
||||
#message 96 "put.v"
|
||||
#message 97 "get.room.v"
|
||||
|
||||
[Sounds
|
||||
#message 98 "load.sound"
|
||||
#message 99 "sound"
|
||||
#message 100 "stop.sound"
|
||||
|
||||
[Screen Display
|
||||
#message 101 "print"
|
||||
#message 102 "print.v"
|
||||
#message 103 "display"
|
||||
#message 104 "display.v"
|
||||
#message 105 "clear.lines"
|
||||
#message 106 "text.screen"
|
||||
#message 107 "graphics"
|
||||
#message 108 "set.cursor.char"
|
||||
#message 109 "set.text.attribute"
|
||||
#message 110 "shake.screen"
|
||||
|
||||
[Screen handling
|
||||
#message 111 "configure.screen"
|
||||
#message 112 "status.line.on"
|
||||
#message 113 "status.line.off"
|
||||
|
||||
[String handling
|
||||
#message 114 "set.string"
|
||||
#message 115 "get.string"
|
||||
#message 116 "word.to.string"
|
||||
#message 117 "parse"
|
||||
#message 118 "get.num"
|
||||
|
||||
[Input handling
|
||||
#message 119 "prevent.input"
|
||||
#message 120 "accept.input"
|
||||
#message 121 "set.key"
|
||||
|
||||
[Add to picture
|
||||
#message 122 "add.to.pic"
|
||||
#message 123 "add.to.pic.v"
|
||||
|
||||
[User requested actions
|
||||
#message 124 "status"
|
||||
#message 125 "save.game"
|
||||
#message 126 "restore.game"
|
||||
#message 127 "init.disk"
|
||||
#message 128 "restart.game"
|
||||
|
||||
[Show object view
|
||||
#message 129 "show.obj"
|
||||
|
||||
[Miscellaneous
|
||||
#message 130 "random"
|
||||
#message 131 "program.control"
|
||||
#message 132 "player.control"
|
||||
#message 133 "obj.status.v"
|
||||
#message 134 "quit"
|
||||
|
||||
#message 135 "show.mem"
|
||||
#message 136 "pause"
|
||||
#message 137 "echo.line"
|
||||
#message 138 "cancel.line"
|
||||
#message 139 "init.joy"
|
||||
#message 140 "toggle.monitor"
|
||||
#message 141 "version"
|
||||
#message 142 "script.size"
|
||||
#message 143 "set.game.id"
|
||||
#message 144 "log"
|
||||
#message 145 "set.scan.start"
|
||||
#message 146 "reset.scan.start"
|
||||
|
||||
#message 147 "reposition.to"
|
||||
#message 148 "reposition.to.v"
|
||||
|
||||
#message 149 "trace.on"
|
||||
#message 150 "trace.info"
|
||||
|
||||
#message 151 "print.at"
|
||||
#message 152 "print.at.v"
|
||||
|
||||
#message 153 "discard.view.v"
|
||||
#message 154 "clear.text.rect"
|
||||
#message 155 "set.upper.left"
|
||||
#message 156 "set.menu"
|
||||
#message 157 "set.menu.item"
|
||||
#message 158 "submit.menu"
|
||||
#message 159 "enable.item"
|
||||
#message 160 "disable.item"
|
||||
|
||||
#message 161 "menu.input"
|
||||
#message 162 "show.obj.v"
|
||||
|
||||
#message 163 "open.dialogue"
|
||||
#message 164 "close.dialogue"
|
||||
|
||||
#message 165 "mul.n"
|
||||
#message 166 "mul.v"
|
||||
#message 167 "div.n"
|
||||
#message 168 "div.v"
|
||||
|
||||
#message 169 "close.window"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#message 220 "equaln"
|
||||
#message 221 "equalv"
|
||||
#message 222 "lessn"
|
||||
#message 223 "lessv"
|
||||
#message 224 "greatern"
|
||||
#message 225 "greaterv"
|
||||
#message 226 "isset"
|
||||
#message 227 "isset.v"
|
||||
#message 228 "has"
|
||||
#message 229 "obj.in.room"
|
||||
#message 230 "posn"
|
||||
#message 231 "controller"
|
||||
#message 232 "have.key"
|
||||
#message 233 "said"
|
||||
#message 234 "compare.strings"
|
||||
#message 235 "obj.in.box"
|
||||
#message 236 "center.posn"
|
||||
#message 237 "right.posn"
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
[logics for room 54 -- disk-based error handling
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
#include "sysdefs.h"
|
||||
|
||||
|
||||
%message 1 "DiscardView(%v18):%m30";
|
||||
%message 2 "SetView(%v18,_):%m26";
|
||||
%message 3 "SetView(_,%v18):%m30";
|
||||
%message 4 "SetLoop(%v18,_):%m26";
|
||||
%message 5 "SetLoop(%v18,_):\nBad loop #.%m25";
|
||||
%message 6 "SetLoop(%v18,_):%m31";
|
||||
%message 7 "SetCel(%v18,_):%m26";
|
||||
%message 8 "SetCel(%v18,_):\nBad cel #.%m25";
|
||||
%message 9 "Sound(%v18):\nSound not loaded.%m25";
|
||||
%message 10 "SetCel(%v18,_):%m31";
|
||||
%message 11 "Script buffer overflow.\nMaximum size = %v18%m25";
|
||||
%message 12 "Erase(%v18):%m26";
|
||||
%message 13 "AnimateObj(%v18):%m26";
|
||||
%message 14 "Print(%v18): no message%m25";
|
||||
%message 15 "Bad test: %v18%m25";
|
||||
%message 16 "Bad action: %v18%m25";
|
||||
%message 17 "StartUpdate(%v18):%m28";
|
||||
%message 18 "DrawPic(%v18):%m32";
|
||||
%message 19 "Draw(%v18):%m26";
|
||||
%message 20 "Draw(%v18):%m31";
|
||||
%message 21 "DiscardPic(%v18):%m32";
|
||||
%message 22 "SetScanStart() already active\nin logic %v18.%m25";
|
||||
%message 23 "Get(%v18) or Put(%v18):%m26";
|
||||
|
||||
%message 24 ""
|
||||
|
||||
%message 25 "\nPress ESC to quit.";
|
||||
%message 26 "%m27.%m25"; [Bad object number
|
||||
%message 27 "\nBad object number";
|
||||
%message 28 "%m27 or object not drawn.%m25" [ " " " or object not drawn
|
||||
%message 29 "\nView not ";
|
||||
%message 30 "%m29loaded.%m25"; [View not loaded
|
||||
%message 31 "%m29set.%m25"; [View not set
|
||||
%message 32 "Picture not loaded.%m25";
|
||||
|
||||
|
||||
PrintV( errorNumber);
|
||||
Quit(1);
|
|
@ -0,0 +1,175 @@
|
|||
[logics for room 55 -- lgc.help
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "rm55.msg"
|
||||
%include "gamedefs.h"
|
||||
%include "colors.h"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
PreventInput();
|
||||
StatusLineOff();
|
||||
SetTextAttribute( BLUE, WHITE);
|
||||
TextScreen();
|
||||
lastChar = 0;
|
||||
Reset( haveMatch);
|
||||
|
||||
Display( 1, 9, 1);
|
||||
Display( 2, 5, 2);
|
||||
|
||||
|
||||
Display( 5, 11, 3);
|
||||
|
||||
|
||||
|
||||
Display( 9, 1, 4);
|
||||
Display( 10, 1, 5);
|
||||
|
||||
|
||||
Display( 13, 1, 6);
|
||||
Display( 14, 1, 7);
|
||||
Display( 15, 1, 8);
|
||||
|
||||
|
||||
Display( 18, 1, 9);
|
||||
Display( 19, 1, 10);
|
||||
|
||||
Display( 22, 1, 17);
|
||||
Display( 23, 1, 18);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
:checkKb
|
||||
if (!HaveKey())
|
||||
{
|
||||
goto checkKb;
|
||||
}
|
||||
|
||||
|
||||
lastChar = 0;
|
||||
SetTextAttribute( TEXT_COLOR, BG_COLOR);
|
||||
TextScreen( );
|
||||
Display( 1, 9, 1);
|
||||
Display( 2, 5, 2);
|
||||
|
||||
|
||||
Display( 5, 11, 21);
|
||||
|
||||
|
||||
|
||||
Display( 9, 1, 22);
|
||||
Display( 10, 1, 23);
|
||||
|
||||
|
||||
if (machineType == ST)
|
||||
{
|
||||
Display( 13, 1, 11);
|
||||
Display( 14, 1, 12);
|
||||
Display( 15, 1, 13);
|
||||
}
|
||||
else
|
||||
{
|
||||
Display( 13, 1, 24);
|
||||
Display( 14, 1, 25);
|
||||
Display( 15, 1, 26);
|
||||
}
|
||||
|
||||
|
||||
Display( 18, 1, 9);
|
||||
Display( 19, 1, 10);
|
||||
|
||||
|
||||
if (mouseMachine)
|
||||
{
|
||||
:checkKb2
|
||||
if (!HaveKey( ))
|
||||
{
|
||||
goto checkKb2;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
[ helpScreen3:
|
||||
lastChar = 0;
|
||||
SetTextAttribute( TEXT_COLOR, BG_COLOR);
|
||||
TextScreen( );
|
||||
|
||||
Display( 1, 9, 1);
|
||||
Display( 2, 5, 2);
|
||||
|
||||
|
||||
Display( 5, 13, 41);
|
||||
|
||||
|
||||
Display( 9, 1, 42);
|
||||
if (machineType == ST)
|
||||
{
|
||||
Display( 10, 1, 48);
|
||||
Display( 13, 1, 44);
|
||||
Display( 14, 1, 49);
|
||||
Display( 15, 1, 50);
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((machineType == CORTLAND ||
|
||||
machineType == MAC))
|
||||
{
|
||||
Display( 10, 1, 43);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (machineType == AMIGA)
|
||||
{
|
||||
Display( 10, 1, 48);
|
||||
Display( 13, 1, 45);
|
||||
Display( 14, 1, 46);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Display( 18, 1, 9);
|
||||
Display( 19, 1, 10);
|
||||
}
|
||||
|
||||
Display( 23, 7, 47);
|
||||
|
||||
|
||||
|
||||
:checkKb3
|
||||
if (!HaveKey( ))
|
||||
{
|
||||
goto checkKb3;
|
||||
}
|
||||
|
||||
lastChar = 0;
|
||||
SetTextAttribute( TEXT_COLOR, BG_COLOR);
|
||||
AcceptInput();
|
||||
StatusLineOn();
|
||||
Graphics();
|
||||
Set( haveMatch);
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,93 @@
|
|||
[messages for room 55 -- lgc.help
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
[ 0 5 10 15 20 25 30 35 39
|
||||
[ | | | | | | | | |
|
||||
|
||||
%message 1 "Leisure Suit Larry in"
|
||||
%message 2 "the Land of the Lounge Lizards"
|
||||
|
||||
|
||||
%message 3 "KEYBOARD COMMANDS"
|
||||
|
||||
|
||||
|
||||
%message 4 "Use arrows or number keys to move"
|
||||
%message 5 "Larry."
|
||||
|
||||
|
||||
%message 6 "Press ESC to use the menus."
|
||||
%message 7 "Press ENTER to choose from a menu,"
|
||||
%message 8 "or ESC to return to the game."
|
||||
|
||||
|
||||
%message 9 "Some menu choices list a function key"
|
||||
%message 10 "\"shortcut\" beside their name."
|
||||
|
||||
%message 17 "For a Hint Book, call (209) 683-6858."[
|
||||
%message 18 " (For a good time, call the author!)" [
|
||||
[%message 1 "Leisure Suit Larry in"
|
||||
[%message 2 "the Land of the Lounge Lizards"
|
||||
|
||||
|
||||
%message 21 "JOYSTICK COMMANDS"
|
||||
|
||||
|
||||
|
||||
%message 22 "Point joystick in desired direction"
|
||||
%message 23 "to move Larry."
|
||||
|
||||
|
||||
%message 24 "Press top button to use the menus."
|
||||
%message 25 "Press other button to see the status"
|
||||
%message 26 "screen."
|
||||
|
||||
%message 11 "Press button to use the menus."
|
||||
%message 12 "Double-click button to see the status"
|
||||
%message 13 "screen."
|
||||
|
||||
[%message 9 "Some menu choices list a function key"
|
||||
[%message 10 "\"shortcut\" beside their name."
|
||||
|
||||
|
||||
|
||||
[%message 1 "Leisure Suit Larry in"
|
||||
[%message 2 "the Land of the Lounge Lizards"
|
||||
|
||||
|
||||
%message 41 "MOUSE COMMANDS"
|
||||
|
||||
|
||||
|
||||
%message 42 "Put cursor where you want Larry to" [ EVERYBODY!
|
||||
%message 43 "go, then click the button." [ Mac/Cortland only
|
||||
%message 48 "go, then click left button." [ non-Apple
|
||||
%message 44 "Press right button to use menus." [ ST only
|
||||
%message 49 "Double-click right button to see the" [ ST only
|
||||
%message 50 "status screen."
|
||||
%message 45 "Press left button in the window" [ AMIGA only
|
||||
%message 46 "bar to use menus." [ AMIGA only
|
||||
|
||||
|
||||
[%message 9 "Some menu choices list a function key"
|
||||
[%message 10 "\"shortcut\" beside their name."
|
||||
|
||||
|
||||
%message 47 "Press any key to return to game."
|
||||
|
|
@ -0,0 +1,234 @@
|
|||
[logics for room 56 -- lgcBlackjack
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "rm56.msg"
|
||||
%include "gamedefs.h"
|
||||
%include "bj.h"
|
||||
|
||||
|
||||
|
||||
[ Structure:
|
||||
[ cards are numbered from 0 through 51.
|
||||
[ cells are numbered 0 through 12.
|
||||
[ a card's value is 2 more than its number.
|
||||
[ a card's cell is equal to its number.
|
||||
|
||||
|
||||
|
||||
if ((function == DRAW_CARD ||
|
||||
function == DRAW_FACE_DOWN ||
|
||||
function == ERASE_CARD))
|
||||
{
|
||||
|
||||
[ Requires for input the pointer "currentCard" which points to a var
|
||||
[that contains a card. Leaves "currentCard" unaffected, but does muck
|
||||
[up "card" as a local "work", and by calling "getSuitValue."
|
||||
[Correctly sets "value" too.
|
||||
|
||||
#define CARD_1_X 28
|
||||
#define CARD_2_X 46
|
||||
#define CARD_3_X 64
|
||||
#define CARD_4_X 82
|
||||
#define CARD_5_X 100
|
||||
#define CARD_6_X 118
|
||||
|
||||
#define DEALER_Y 45
|
||||
#define PLAYER_Y 152
|
||||
#define SPLIT_HAND_Y 106
|
||||
|
||||
|
||||
if (!currentCard < sFirstCard) [ is it a split?
|
||||
{
|
||||
y = SPLIT_HAND_Y;
|
||||
card = currentCard;
|
||||
card -= sFirstCard;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!currentCard < pFirstCard) [ is it a player card?
|
||||
{
|
||||
y = PLAYER_Y;
|
||||
card = currentCard;
|
||||
card -= pFirstCard;
|
||||
}
|
||||
else [ Nope, it's the dealer's.
|
||||
{
|
||||
y = DEALER_Y;
|
||||
card = currentCard;
|
||||
card -= dFirstCard;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (card == 0) {x = CARD_1_X;}
|
||||
if (card == 1) {x = CARD_2_X;}
|
||||
if (card == 2) {x = CARD_3_X;}
|
||||
if (card == 3) {x = CARD_4_X;}
|
||||
if (card == 4) {x = CARD_5_X;}
|
||||
if (card == 5) {x = CARD_6_X;}
|
||||
|
||||
card =@ currentCard;
|
||||
|
||||
goto getSuitValue; [ This
|
||||
:returnToHere; [ is ugly!!
|
||||
|
||||
if (function == ERASE_CARD)
|
||||
{
|
||||
view = BLANK_CARD;
|
||||
cell = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (function == DRAW_FACE_DOWN)
|
||||
{
|
||||
view = CARD_BACK;
|
||||
cell = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
view = suit;
|
||||
}
|
||||
}
|
||||
|
||||
loop = 0;
|
||||
priority = 4;
|
||||
AddToPicV( view, loop, cell, x, y, priority, priority);
|
||||
Sound( sCard, done);
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (function == GET_SUIT_VALUE)
|
||||
{
|
||||
|
||||
[ Takes "card" as input, leaves "card" unaffected, and adjusts
|
||||
["cell," "value," and "suit."
|
||||
|
||||
:getSuitValue;
|
||||
|
||||
cell = card;
|
||||
if (card < 13)
|
||||
{
|
||||
suit = HEARTS;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (card < 26)
|
||||
{
|
||||
suit = CLUBS;
|
||||
cell -= 13;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (card < 39)
|
||||
{
|
||||
suit = SPADES;
|
||||
cell -= 26;
|
||||
}
|
||||
else
|
||||
{
|
||||
suit = DIAMONDS;
|
||||
cell -= 39;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
value = cell;
|
||||
value += 2;
|
||||
if (value > 13)
|
||||
{
|
||||
value = 1;
|
||||
Set( softAce);
|
||||
}
|
||||
|
||||
if (value > 10)
|
||||
{
|
||||
value = 10;
|
||||
}
|
||||
|
||||
if (function != GET_SUIT_VALUE) [ This
|
||||
{ [ is
|
||||
goto returnToHere; [ uglier!
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (function == PAY_WINNER)
|
||||
{
|
||||
work = 250;
|
||||
work -= winnings;
|
||||
|
||||
if (work > dollars)
|
||||
{
|
||||
dollars += winnings;
|
||||
}
|
||||
else
|
||||
{
|
||||
winnings = 250;
|
||||
winnings -= dollars;
|
||||
dollars = 250;
|
||||
Print( 4);
|
||||
Set( readyToLeave);
|
||||
}
|
||||
|
||||
winnings = 0;
|
||||
function = UPDATE_STATUS;
|
||||
}
|
||||
|
||||
|
||||
if (function == UPDATE_STATUS)
|
||||
{
|
||||
if (monitorType == MONO)
|
||||
{
|
||||
ClearLines( 24, 24, BG_COLOR);
|
||||
y = 24;
|
||||
}
|
||||
else
|
||||
{
|
||||
ClearLines( 21, 21, BG_COLOR);
|
||||
y = 21;
|
||||
}
|
||||
|
||||
if (handInPlay == PLAYER)
|
||||
{
|
||||
message = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (handInPlay == SPLIT)
|
||||
{
|
||||
message = 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
message = 3;
|
||||
}
|
||||
}
|
||||
x = 0;
|
||||
DisplayV( y, x, message);
|
||||
function = SHOW_TOTALS;
|
||||
}
|
||||
|
||||
|
||||
if (function == SHOW_TOTALS)
|
||||
{
|
||||
if (debugging && forceAtest)
|
||||
{
|
||||
oldPTotal = pTotal;
|
||||
oldSTotal = sTotal;
|
||||
oldDTotal = dTotal;
|
||||
SetTextAttribute( 6, 0);
|
||||
Display( 24, 0, 5);
|
||||
SetTextAttribute( 15, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:exit
|
||||
[*****
|
||||
|
||||
function = 0;
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
[messages for room 56 -- lgcBlackjack
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"Bet is $%v226.00 You have $%v90.00"
|
||||
|
||||
%message 2
|
||||
"Bet is $%v225.00 You have $%v90.00"
|
||||
|
||||
%message 3
|
||||
"Bet is $%v255.00 You have $%v90.00"
|
||||
|
||||
%message 4
|
||||
"Congratulations, you've broken the bank.
|
||||
This casino has a limit of $250.00 per person, and you've reached it.
|
||||
No more for you, Larry!"
|
||||
|
||||
%message 5
|
||||
"Dealer=%v222 Player=%v223 Split=%v224 "
|
||||
|
|
@ -0,0 +1,640 @@
|
|||
[logics for room 57 -- lgcStreet
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "rm57.msg"
|
||||
%include "gamedefs.h"
|
||||
|
||||
|
||||
|
||||
[ This dynamic controls:
|
||||
[ the car that runs ego down whenever he tries to cross the street,
|
||||
[ the random dog pissing on ego's leg,
|
||||
[ and the taxi cab's arrival, wait, and departure.
|
||||
|
||||
|
||||
|
||||
%define BRING_OUT_DOG 222 [ # of cycles in same place
|
||||
%define PISS_CYCLES 35 [ length of piss
|
||||
|
||||
%define AFTER_EGO 1
|
||||
%define DOG_PISSING 2
|
||||
%define LEAVING 3
|
||||
%define DOG_GONE 4
|
||||
|
||||
|
||||
[ #define TAXI_WAITING 4 [ from gamedefs.h
|
||||
#define TAXI_WAIT_TIME 14 [ in real seconds
|
||||
|
||||
#define cNormal 0
|
||||
#define cBraking 1
|
||||
|
||||
#define DEATH_CAR_STEP 10
|
||||
|
||||
|
||||
|
||||
%define dogAtEgo df0
|
||||
%define egoErased df1
|
||||
%define taxiDone df2
|
||||
%define eraseCar df3
|
||||
%define eraseEgo df4
|
||||
%define dogOnscreen df6
|
||||
|
||||
|
||||
%define dogStatus dv1
|
||||
%define pissCycles dv2
|
||||
%define taxiTimer dv3
|
||||
%define taxiX dv4
|
||||
%define taxiY dv5
|
||||
|
||||
|
||||
|
||||
if (initLog)
|
||||
{
|
||||
LoadView( vDeathCar);
|
||||
LoadView( vEgoRoadKill);
|
||||
LoadView( vDog);
|
||||
LoadView( vDogPissing);
|
||||
LoadView( vDogPissing2);
|
||||
LoadView( vTaxi);
|
||||
|
||||
LoadSound( sTaxiTires);
|
||||
LoadSound( sDeathCar);
|
||||
LoadSound( mDog);
|
||||
|
||||
AnimateObj( aCar);
|
||||
IgnoreObjs( aCar);
|
||||
SetView( aCar, vDeathCar);
|
||||
SetLoop( aCar, 0);
|
||||
FixLoop( aCar);
|
||||
SetPriority( aCar, 15);
|
||||
|
||||
AnimateObj( aDog);
|
||||
SetView( aDog, vDog);
|
||||
Position( aDog, 0, 166);
|
||||
notMovedCycles = 0;
|
||||
|
||||
AnimateObj( aTaxi);
|
||||
SetView( aTaxi, vTaxi);
|
||||
SetCel( aTaxi, 0);
|
||||
StopCycling( aTaxi);
|
||||
if (currentRoom == 11)
|
||||
{
|
||||
taxiY = 166;
|
||||
}
|
||||
else
|
||||
{
|
||||
taxiY = 160;
|
||||
}
|
||||
|
||||
if (previousRoom != rmInsideTaxi)
|
||||
{
|
||||
taxiScript = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
taxiX = 60;
|
||||
PositionV( aTaxi, taxiX, taxiY);
|
||||
Draw( aTaxi);
|
||||
|
||||
egoX = taxiX;
|
||||
egoX += 4;
|
||||
egoY = taxiY;
|
||||
egoY -= 4;
|
||||
RepositionToV( ego, egoX, egoY);
|
||||
ForceUpdate( ego);
|
||||
|
||||
taxiTimer = 2;
|
||||
|
||||
if (currentStatus == STIFFED_CABBIE)
|
||||
{
|
||||
LoadView( vEgoGettingBeaten);
|
||||
PreventInput();
|
||||
StopMotion( ego);
|
||||
Set( programControl);
|
||||
taxiScript = 200; [ Pick a fight.
|
||||
}
|
||||
else
|
||||
{
|
||||
StartMotion( ego);
|
||||
taxiScript = 101; [ We know he's clear.
|
||||
}
|
||||
}
|
||||
|
||||
Return( );
|
||||
} [ end initLOG
|
||||
|
||||
|
||||
|
||||
Reset( nearTaxi);
|
||||
if (taxiScript == TAXI_WAITING)
|
||||
{
|
||||
if (currentRoom == 11)
|
||||
{
|
||||
if (Posn( ego, 70, 155, 90, 167))
|
||||
{
|
||||
Set( nearTaxi);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Posn( ego, 70, 140, 90, 166))
|
||||
{
|
||||
Set( nearTaxi);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:handleInput
|
||||
[*****
|
||||
|
||||
if (!haveInput) {goto noInput;}
|
||||
|
||||
if (Said( look, street))
|
||||
{
|
||||
Print( 24);
|
||||
}
|
||||
|
||||
if ((Said( look, sky) ||
|
||||
Said( look, up)))
|
||||
{
|
||||
Print( 25);
|
||||
}
|
||||
|
||||
if (Said( climb, anyword))
|
||||
{
|
||||
Print( 27);
|
||||
}
|
||||
|
||||
|
||||
|
||||
[ First, we'll handle the DOG SHIT:
|
||||
|
||||
if (Said( look, dog))
|
||||
{
|
||||
if (!dogOnscreen)
|
||||
{
|
||||
Print( 30);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (dogStatus == AFTER_EGO)
|
||||
{
|
||||
Print( 7);
|
||||
}
|
||||
|
||||
if (dogStatus == DOG_PISSING)
|
||||
{
|
||||
Print( 8);
|
||||
}
|
||||
|
||||
if (dogStatus == LEAVING)
|
||||
{
|
||||
Print( 9);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (dogOnscreen)
|
||||
{
|
||||
if ((Said( hump, dog, rol) ||
|
||||
Said( anyword, lay, rol) ||
|
||||
Said( pee, on, dog, rol) ||
|
||||
Said( anyword, pee, on, dog, rol) ||
|
||||
Said( butt, hump, dog, rol)))
|
||||
{
|
||||
Print( 14);
|
||||
}
|
||||
|
||||
if ((Said( hurt, dog, rol) ||
|
||||
Said( kick, dog, rol) ||
|
||||
Said( kill, dog, rol)))
|
||||
{
|
||||
Print( 15);
|
||||
}
|
||||
|
||||
if (Said( smell, dog, rol))
|
||||
{
|
||||
Print( 16);
|
||||
}
|
||||
|
||||
if (Said( pet, dog))
|
||||
{
|
||||
Print( 26);
|
||||
}
|
||||
|
||||
if (Said( get, dog))
|
||||
{
|
||||
Print( 28);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
[ Next, take care of the cab stuff:
|
||||
|
||||
if (Said( look, pole))
|
||||
{
|
||||
Print( 31);
|
||||
}
|
||||
|
||||
if ((Said( look, sign, pole) ||
|
||||
Said( look, sign, on, pole) ||
|
||||
Said( look, sign)))
|
||||
{
|
||||
Print( 17);
|
||||
}
|
||||
|
||||
if (Said( look, street))
|
||||
{
|
||||
Print( 21);
|
||||
}
|
||||
|
||||
if ((Said( hail, cab) ||
|
||||
Said( cab) ||
|
||||
Said( call, cab) ||
|
||||
Said( yell, cab)))
|
||||
{
|
||||
if (!egoY < taxiY)
|
||||
{
|
||||
Print( 19);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 2);
|
||||
if (!taxiScript)
|
||||
{
|
||||
StopMotion( ego);
|
||||
Set( programControl);
|
||||
Random( 3, 7, taxiTimer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (taxiScript == TAXI_WAITING)
|
||||
{
|
||||
if ((Said( look, cab) ||
|
||||
Said( look$in, cab)))
|
||||
{
|
||||
Print( 4);
|
||||
Print( 5);
|
||||
Print( 6);
|
||||
}
|
||||
|
||||
if (Said( smell, cab))
|
||||
{
|
||||
Print( 23);
|
||||
}
|
||||
|
||||
if ((Said( enter, cab) ||
|
||||
Said( enter) ||
|
||||
Said( open, door, rol) ||
|
||||
Said( open, cab, door, rol) ||
|
||||
Said( open, door)))
|
||||
{
|
||||
if (!nearTaxi)
|
||||
{
|
||||
Set( notCloseEnough);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!rodeInCab)
|
||||
{
|
||||
Print( 3);
|
||||
}
|
||||
else
|
||||
{
|
||||
Set( OK);
|
||||
}
|
||||
|
||||
Erase( ego);
|
||||
Set( egoErased);
|
||||
Set( programControl);
|
||||
PreventInput();
|
||||
|
||||
Set( taxiDone);
|
||||
taxiScript = 101;
|
||||
taxiTimer = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (Said( look, alley))
|
||||
{
|
||||
Print( 18);
|
||||
}
|
||||
|
||||
if (Said( look, car))
|
||||
{
|
||||
Print( 22);
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:noInput
|
||||
[*****
|
||||
|
||||
if (egoX == oldEgoX && [ hasn't moved
|
||||
egoY == oldEgoY &&
|
||||
!taxiScript &&
|
||||
!script &&
|
||||
currentStatus == NORMAL)
|
||||
{
|
||||
++notMovedCycles;
|
||||
if (notMovedCycles == BRING_OUT_DOG)
|
||||
{
|
||||
Draw( aDog);
|
||||
Sound( mDog, done);
|
||||
Set( dogOnscreen);
|
||||
FollowEgo( aDog, 5, dogAtEgo);
|
||||
dogStatus = AFTER_EGO;
|
||||
}
|
||||
}
|
||||
else [ he moved; start all over
|
||||
{
|
||||
notMovedCycles = 0;
|
||||
if (dogStatus == AFTER_EGO)
|
||||
{
|
||||
Reset( dogAtEgo);
|
||||
pissCycles = 2; [ make dog wander off
|
||||
}
|
||||
}
|
||||
|
||||
if (dogAtEgo && dogStatus == AFTER_EGO)
|
||||
{
|
||||
Reset( dogAtEgo);
|
||||
Set( smellsLikeDogPiss);
|
||||
dogStatus = DOG_PISSING;
|
||||
pissCycles = PISS_CYCLES;
|
||||
StopMotion( ego);
|
||||
Set( programControl);
|
||||
|
||||
StopMotion( aDog);
|
||||
GetPosn( aDog, work, y);
|
||||
x = egoX;
|
||||
if (egoX > 3)
|
||||
{
|
||||
x -= 4;
|
||||
}
|
||||
else
|
||||
{
|
||||
x = 0;
|
||||
}
|
||||
|
||||
RepositionToV( aDog, x, y);
|
||||
|
||||
if (y > egoY)
|
||||
{
|
||||
SetView( aDog, vDogPissing);
|
||||
}
|
||||
else
|
||||
{
|
||||
SetView( aDog, vDogPissing2);
|
||||
}
|
||||
}
|
||||
|
||||
--pissCycles;
|
||||
if (pissCycles == 1)
|
||||
{
|
||||
dogStatus = LEAVING;
|
||||
StartMotion( ego);
|
||||
Reset( programControl);
|
||||
StartMotion( aDog);
|
||||
SetView( aDog, vDog);
|
||||
Wander( aDog);
|
||||
}
|
||||
|
||||
if (edgeObjHit && objHitEdge == aDog && dogStatus == LEAVING)
|
||||
{
|
||||
Erase( aDog);
|
||||
Reset( dogOnscreen);
|
||||
dogStatus = DOG_GONE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
[ This does the car appearing out of nowhere, smashing ego to a pulp,
|
||||
[and disappearing screenLeft.
|
||||
|
||||
Distance( ego, aTaxi, work);
|
||||
if (edgeEgoHit == BOTTOM &&
|
||||
work == ERROR && [ True, if no taxi on screen.
|
||||
currentStatus != RUN_OVER) [ init the wreck sequence
|
||||
{
|
||||
StopMotion( ego);
|
||||
Set( programControl);
|
||||
PreventInput();
|
||||
|
||||
currentStatus = RUN_OVER;
|
||||
Position( aCar, 119, 167);
|
||||
Draw( aCar);
|
||||
Sound( sDeathCar, done);
|
||||
step = DEATH_CAR_STEP;
|
||||
if (egoX > 116)
|
||||
{
|
||||
egoX = 116;
|
||||
}
|
||||
MoveObjV( aCar, egoX, egoY, step, eraseEgo);
|
||||
}
|
||||
|
||||
|
||||
if (currentStatus == RUN_OVER)
|
||||
{
|
||||
if (edgeEgoHit)
|
||||
{
|
||||
edgeEgoHit = 0;
|
||||
}
|
||||
|
||||
if (eraseEgo)
|
||||
{
|
||||
Reset( eraseEgo);
|
||||
Set( egoErased);
|
||||
|
||||
Erase( ego);
|
||||
SetView( ego, vEgoRoadKill);
|
||||
if (egoX > 33)
|
||||
{
|
||||
egoX -= 33;
|
||||
}
|
||||
else
|
||||
{
|
||||
egoX = 0;
|
||||
}
|
||||
PositionV( ego, egoX, egoY);
|
||||
|
||||
MoveObj( aCar, 0, 167, DEATH_CAR_STEP, eraseCar);
|
||||
}
|
||||
|
||||
if (egoErased)
|
||||
{
|
||||
GetPosn( aCar, x, y);
|
||||
if ((x < egoX || x < DEATH_CAR_STEP))
|
||||
{
|
||||
Reset( egoErased);
|
||||
Draw( ego);
|
||||
}
|
||||
}
|
||||
|
||||
if (eraseCar)
|
||||
{
|
||||
Reset( eraseCar);
|
||||
Erase( aCar);
|
||||
Print( 1);
|
||||
Set( certainDeath);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
[ This section handles the taxi cab stopping after ego hails it.
|
||||
[If he stands around without entering the cab, it leaves.
|
||||
|
||||
if (aSecondPassed)
|
||||
{
|
||||
--taxiTimer;
|
||||
if (taxiTimer == 1)
|
||||
{
|
||||
Set( taxiDone);
|
||||
}
|
||||
}
|
||||
|
||||
if (taxiScript)
|
||||
{
|
||||
GetPosn( aTaxi, x, y);
|
||||
if ((x == 103 || [ don't muck with these!
|
||||
x == 88 ||
|
||||
x == 36))
|
||||
{
|
||||
Set( taxiDone);
|
||||
}
|
||||
}
|
||||
|
||||
if (taxiDone)
|
||||
{
|
||||
Reset( taxiDone);
|
||||
++taxiScript;
|
||||
|
||||
if (taxiScript == 1)
|
||||
{
|
||||
taxiX = 119;
|
||||
PositionV( aTaxi, taxiX, taxiY);
|
||||
Draw( aTaxi);
|
||||
taxiX = 60;
|
||||
step = 0;
|
||||
MoveObjV( aTaxi, taxiX, taxiY, step, taxiDone);
|
||||
StepSize( aTaxi, four);
|
||||
}
|
||||
|
||||
if (taxiScript == 2)
|
||||
{
|
||||
StepSize( aTaxi, three);
|
||||
}
|
||||
|
||||
if (taxiScript == 3)
|
||||
{
|
||||
StepSize( aTaxi, two);
|
||||
SetCel( aTaxi, 1);
|
||||
Sound( sTaxiTires, done);
|
||||
}
|
||||
|
||||
if (taxiScript == TAXI_WAITING) [ 4; defined in gamedefs.h
|
||||
{
|
||||
SetCel( aTaxi, 0);
|
||||
|
||||
StartMotion( ego);
|
||||
Reset( programControl);
|
||||
|
||||
taxiTimer = TAXI_WAIT_TIME;
|
||||
}
|
||||
|
||||
if (taxiScript == 5)
|
||||
{
|
||||
Print( 10); [ "Can't wait all day"
|
||||
taxiScript = 101;
|
||||
}
|
||||
|
||||
|
||||
if (taxiScript == 101) [ Try to leave
|
||||
{
|
||||
GetPosn( aTaxi, taxiX, taxiY);
|
||||
if (egoX < taxiX &&
|
||||
!egoY < taxiY)
|
||||
{
|
||||
Print( 20);
|
||||
taxiTimer = 5;
|
||||
--taxiScript;
|
||||
}
|
||||
else
|
||||
{
|
||||
taxiScript = 102; [ He's clear; so leave!
|
||||
}
|
||||
}
|
||||
|
||||
if (taxiScript == 102)
|
||||
{
|
||||
StepSize( aTaxi, two);
|
||||
taxiX = 0;
|
||||
step = 0;
|
||||
MoveObjV( aTaxi, taxiX, taxiY, step, taxiDone);
|
||||
}
|
||||
|
||||
if (taxiScript == 103)
|
||||
{
|
||||
StepSize( aTaxi, four);
|
||||
if (currentStatus == STIFFED_CABBIE)
|
||||
{
|
||||
IgnoreObjs( ego);
|
||||
SetView( ego, vEgoRoadKill);
|
||||
GetPosn( aTaxi, egoX, egoY);
|
||||
--egoY;
|
||||
PositionV( ego, egoX, egoY);
|
||||
Draw( ego);
|
||||
}
|
||||
}
|
||||
|
||||
if (taxiScript == 104)
|
||||
{
|
||||
taxiScript = 0;
|
||||
Erase( aTaxi);
|
||||
if (currentStatus == STIFFED_CABBIE)
|
||||
{
|
||||
Reset( egoErased);
|
||||
Set( certainDeath);
|
||||
}
|
||||
|
||||
if (egoErased)
|
||||
{
|
||||
newRoom = rmInsideTaxi;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (taxiScript == 201)
|
||||
{
|
||||
SetView( ego, vEgoGettingBeaten);
|
||||
Set( keepCycling);
|
||||
taxiTimer = 5;
|
||||
}
|
||||
|
||||
if (taxiScript == 202)
|
||||
{
|
||||
Erase( ego);
|
||||
Print( 11);
|
||||
taxiScript = 101; [ Leave without checking.
|
||||
taxiTimer = 3;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
[*****
|
||||
:exit [ test for leaving the room
|
||||
[*****
|
||||
|
||||
if ((egoErased || currentStatus == RUN_OVER))
|
||||
{
|
||||
StopMotion( ego);
|
||||
Set( programControl);
|
||||
}
|
|
@ -0,0 +1,106 @@
|
|||
[messages for room 57 -- lgcStreet
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"You know, the traffic here is really a killer! You should forget about
|
||||
crossing these streets!"
|
||||
|
||||
%message 2
|
||||
"\"YO!!\n\nTAXI!!!\""
|
||||
|
||||
%message 3
|
||||
"Vowing to hold your breath forever,
|
||||
you enter this miserable excuse for public transportation."
|
||||
|
||||
%message 4
|
||||
"It's not very clean."
|
||||
|
||||
%message 5
|
||||
"It's not very new."
|
||||
|
||||
%message 6
|
||||
"(And those are its good points!)"
|
||||
|
||||
%message 7
|
||||
"Look out! Here he comes again!"
|
||||
|
||||
%message 8
|
||||
"Obviously, he thinks you're a fire plug."
|
||||
|
||||
%message 9
|
||||
"Dogs like that make you want to keep moving."
|
||||
|
||||
%message 10
|
||||
"\"I can't wait all day, bub!\""
|
||||
|
||||
%message 11
|
||||
"\"You'll not ride with me again!\""
|
||||
|
||||
%message 12
|
||||
""
|
||||
|
||||
%message 13
|
||||
""
|
||||
|
||||
%message 14
|
||||
"Sick-o!"
|
||||
|
||||
%message 15
|
||||
"After all he's done for you?"
|
||||
|
||||
%message 16
|
||||
"He presently smells quite bad, although still better than you."
|
||||
|
||||
%message 17
|
||||
"\"TAXI\n
|
||||
STAND\""
|
||||
|
||||
%message 18
|
||||
"It's dark. Real dark."
|
||||
|
||||
%message 19
|
||||
"You'd better get out of the street first."
|
||||
|
||||
%message 20
|
||||
"\"BEEP\n
|
||||
BEEP!\""
|
||||
|
||||
%message 21
|
||||
"Thousands of cars stream past, just below the edge of your screen."
|
||||
|
||||
%message 22
|
||||
"Trust me, they're there!"
|
||||
|
||||
%message 23
|
||||
"It smells like an old cab."
|
||||
|
||||
%message 24
|
||||
"Isn't it funny how there's so little traffic?"
|
||||
|
||||
%message 25
|
||||
"The glow of the city lights obliterate the stars."
|
||||
|
||||
%message 26
|
||||
"As you bend over to do so, his bare teeth convince you otherwise."
|
||||
|
||||
%message 27
|
||||
"You shinny up the pole, read the sign, and come right back down."
|
||||
|
||||
%message 28
|
||||
"Who'd want him?"
|
||||
|
||||
%message 29
|
||||
""
|
||||
|
||||
%message 30
|
||||
"Where?"
|
||||
|
||||
%message 31
|
||||
"There is a sign on the pole."
|
||||
|
||||
%message 32
|
||||
""
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
[logics for room 58 -- lgcSlots
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "rm58.msg"
|
||||
%include "gamedefs.h"
|
||||
%include "slots.h"
|
||||
|
||||
|
||||
|
||||
if (function == PAY_WINNER)
|
||||
{
|
||||
winnings = bet;
|
||||
MulV( winnings, multiple);
|
||||
work = 250;
|
||||
work -= winnings;
|
||||
|
||||
if (work > dollars)
|
||||
{
|
||||
dollars += winnings;
|
||||
}
|
||||
else
|
||||
{
|
||||
winnings = 250;
|
||||
winnings -= dollars;
|
||||
dollars = 250;
|
||||
Print( 4);
|
||||
Set( readyToLeave);
|
||||
}
|
||||
|
||||
function = UPDATE_STATUS; [ Auto update.
|
||||
}
|
||||
|
||||
|
||||
if (function == UPDATE_STATUS)
|
||||
{
|
||||
if (monitorType == MONO)
|
||||
{
|
||||
ClearLines( 24, 24, BG_COLOR);
|
||||
Display( 24, 0, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
ClearLines( 21, 21, BG_COLOR);
|
||||
Display( 21, 0, 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
[*****
|
||||
:exit
|
||||
[*****
|
||||
|
||||
function = 0;
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
[messages for room 58 -- lgcSlots
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"Bet is $%v200.00 You have $%v90.00"
|
||||
|
||||
%message 4
|
||||
"Congratulations, you've broken the bank!
|
||||
This casino has a limit of $250.00 per person, and you've reached it.
|
||||
No more for you, Larry!"
|
||||
|
|
@ -0,0 +1,167 @@
|
|||
[logics for room 6 -- rmAgeTest
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "rm6.msg"
|
||||
%include "gamedefs.h"
|
||||
|
||||
|
||||
%define FIRST_QUESTION 1
|
||||
%define LAST_QUESTION 43
|
||||
|
||||
%define missedOne lf0
|
||||
|
||||
%define age lv9 [ used in message 5
|
||||
%define lgcQuestion lv20
|
||||
|
||||
|
||||
if (!forceAtest &&
|
||||
(passedTest || questionStatus == allDone))
|
||||
{
|
||||
Set( passedTest);
|
||||
AcceptInput();
|
||||
CancelLine();
|
||||
PreventInput();
|
||||
ClearLines( 22, 24, BG_COLOR);
|
||||
Reset( handsOff);
|
||||
Reset( programControl);
|
||||
AcceptInput();
|
||||
|
||||
Print( 10);
|
||||
NewRoom( rmRestart);
|
||||
}
|
||||
|
||||
if (initLog)
|
||||
{
|
||||
animationInterval = FASTEST_SPEED;
|
||||
Set( handsOff);
|
||||
PreventInput();
|
||||
Reset( enableMenu);
|
||||
StopMotion( ego);
|
||||
Set( programControl);
|
||||
|
||||
LoadSound( sError);
|
||||
|
||||
picture = rmTitle;
|
||||
LoadPic( picture);
|
||||
DrawPic( picture);
|
||||
DiscardPic( picture);
|
||||
|
||||
LoadView( vTitles);
|
||||
AddToPic( vTitles, 0, 0, 4, 18, 4, 4);
|
||||
AddToPic( vTitles, 0, 1, 4, 36, 4, 4);
|
||||
AddToPic( vTitles, 0, 2, 46, 36, 4, 4);
|
||||
AddToPic( vTitles, 0, 3, 11, 87, 4, 4);
|
||||
[view, loop, cel, x, y, obj priority, box priority
|
||||
DiscardView( vTitles);
|
||||
|
||||
Random( 2, 4, lgcQuestion);
|
||||
LoadLogicsV( lgcQuestion);
|
||||
|
||||
ClearLines( 22, 24, BG_COLOR);
|
||||
|
||||
ShowPic( );
|
||||
|
||||
questionStatus = askAnother;
|
||||
|
||||
[ Set( forceAtest);
|
||||
if (!forceAtest)
|
||||
{
|
||||
Print( 1);
|
||||
|
||||
GetNum( 2, age);
|
||||
PreventInput();
|
||||
AcceptInput();
|
||||
|
||||
if (age < 18)
|
||||
{
|
||||
Print( 4); [ He's so dumb, he admits he's a kid.
|
||||
Quit( 1);
|
||||
}
|
||||
|
||||
if (age > 99)
|
||||
{
|
||||
Print( 12); [ You can't be THAT old!
|
||||
Quit( 1);
|
||||
}
|
||||
|
||||
if (age > 65)
|
||||
{
|
||||
Print( 11); [ You're an old fart!
|
||||
}
|
||||
|
||||
Print( 3); [ He says he's an adult.
|
||||
|
||||
question = 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (questionStatus == askAnother)
|
||||
{
|
||||
CallV( lgcQuestion);
|
||||
}
|
||||
|
||||
|
||||
if (questionStatus == waiting) [ now have answer in answer
|
||||
{
|
||||
CloseWindow( );
|
||||
if ((answer == correctAnswer ||
|
||||
!correctAnswer))
|
||||
{
|
||||
Set( leaveWindow);
|
||||
Print( 8); [ "Right
|
||||
questionStatus = waitAwhileAlthoughCorrect;
|
||||
scriptCycles = 8;
|
||||
if (machineType == MAC)
|
||||
{
|
||||
scriptCycles = 3;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!missedOne)
|
||||
{
|
||||
questionStatus = askAnother;
|
||||
Print( 5); [ "You blew it.
|
||||
Set( missedOne);
|
||||
--question;
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 6); [ "Ah Ha!!!
|
||||
Quit( 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (scriptDone)
|
||||
{
|
||||
Reset( scriptDone);
|
||||
if ((forceAtest ||
|
||||
questionStatus == waitAwhileAlthoughCorrect))
|
||||
{
|
||||
questionStatus = askAnother;
|
||||
}
|
||||
else
|
||||
{
|
||||
ClearLines( 23, 23, BG_COLOR);
|
||||
questionStatus = waiting;
|
||||
}
|
||||
}
|
||||
|
||||
if (aSecondPassed && secondsInRoom == 5)
|
||||
{
|
||||
animationInterval = NORMAL_SPEED;
|
||||
if ((passInRoom < 250 ||
|
||||
machineType == MAC))
|
||||
{
|
||||
Set( slowProcessor);
|
||||
}
|
||||
if (forceAtest)
|
||||
{
|
||||
Print( 18);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,72 @@
|
|||
[messages for room 6 -- rmAgeTest
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"Warning:\n\n\"Leisure Suit Larry in the Land of the Lounge Lizards\"
|
||||
contains some elements of plot which may not be
|
||||
considered appropriate for some children."
|
||||
|
||||
%message 2
|
||||
"How old are you? "
|
||||
|
||||
%message 3
|
||||
"To verify you are really %v209,
|
||||
please answer five simple questions."
|
||||
|
||||
%message 4
|
||||
"Sorry.\n\n
|
||||
This game can only be played by adults, or with an adult.\n\n
|
||||
Please find an adult, come back, and try again."
|
||||
|
||||
%message 5
|
||||
"Oops. You blew that one!\n\n
|
||||
If you miss another, you can't possibly be %v209."
|
||||
|
||||
%message 6
|
||||
"You're a kid!!\n\n
|
||||
Shame on you for trying to deceive a friendly game like this!\n\n
|
||||
Please play again when you're older."
|
||||
|
||||
%message 7
|
||||
"Please answer a, b, c, or d: "
|
||||
|
||||
%message 8
|
||||
"Correct."
|
||||
|
||||
%message 9
|
||||
"So far, so good.\n\n
|
||||
Now for the final question."
|
||||
|
||||
%message 10
|
||||
" Thank you.\n\n
|
||||
And now, slip into your leisure suit and prepare to enter the
|
||||
\"Land of the Lounge Lizards\" with \"Leisure Suit Larry!\""
|
||||
|
||||
%message 11
|
||||
" Warning!\n\n
|
||||
This game may be hazardous to those with heart conditions!"
|
||||
|
||||
%message 12
|
||||
"No, you're not!"
|
||||
|
||||
%message 13
|
||||
"Question #%v208. Correct answer is %v211."
|
||||
|
||||
%message 14
|
||||
"a"
|
||||
|
||||
%message 15
|
||||
"b"
|
||||
|
||||
%message 16
|
||||
"c"
|
||||
|
||||
%message 17
|
||||
"d"
|
||||
|
||||
%message 18
|
||||
"%v62 cycles in %v63 seconds"
|
||||
|
|
@ -0,0 +1,394 @@
|
|||
[logics for room 8 -- rmWorkshop
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "rm8.msg"
|
||||
%include "gamedefs.h"
|
||||
|
||||
|
||||
|
||||
[ %view vWorkshopDeadEgo 185 [ death workshop views
|
||||
[ %view vWorkshopStuff 186
|
||||
#define L_HEADLESS_EGOS 0
|
||||
#define C_3_EGOS 0
|
||||
#define C_5_EGOS 1
|
||||
#define C_4_EGOS 2 [ first guy missing
|
||||
#define L_PLATFORM_RIGHT 1
|
||||
#define C_WITHOUT_EGO 0
|
||||
#define C_WITH_EGO 1
|
||||
#define L_SHAFTS 2
|
||||
#define C_SHORT_SHAFT 0
|
||||
#define C_LONG_SHAFT 1
|
||||
#define L_HEAD_RACK 3
|
||||
#define C_FULL 0
|
||||
#define C_MISSING_ONE 1
|
||||
|
||||
[ %view vWorkshopScientist 187
|
||||
[define L_WALKING_RIGHT 0 [ covered by "vHotTubGirl" define
|
||||
#define L_WALKING_LEFT 1
|
||||
#define L_WITH_HEAD 2
|
||||
#define L_SCREWING_HEAD 3
|
||||
#define L_AT_CONTROL_PANEL 4
|
||||
|
||||
[ %view vWorkshopMen 188
|
||||
#define L_DRAGON 0
|
||||
#define L_MAN 1
|
||||
#define L_WOMAN 2
|
||||
#define L_GRAHAM 3
|
||||
|
||||
[ %view vWorkshopLogo 189
|
||||
|
||||
|
||||
%define manToggle lf0
|
||||
%define testerToggle lf1
|
||||
%define cavinAtPanel lf3
|
||||
%define cavinCycling lf4
|
||||
|
||||
|
||||
%define manCycles lv0
|
||||
%define womanCycles lv1
|
||||
%define testerCycles lv2
|
||||
%define cavinCycles lv3
|
||||
|
||||
|
||||
%object aPlatformLeft 1
|
||||
%object aPlatformRight 2
|
||||
%object aShaftLeft 3
|
||||
%object aShaftRight 4
|
||||
%object aCavin 5
|
||||
%object aEgos 6
|
||||
%object aHeadRack 7
|
||||
%object aMan 8
|
||||
%object aWoman 9
|
||||
%object aGraham 10
|
||||
%object aDroid 11
|
||||
|
||||
|
||||
if (initLog)
|
||||
{
|
||||
SetHorizon( 1);
|
||||
Set( noPromptRestart);
|
||||
currentStatus = RECYCLING;
|
||||
|
||||
LoadView( vEgo);
|
||||
LoadView( vWorkshopDeadEgo); [ view.185
|
||||
LoadView( vWorkshopStuff); [ view.186
|
||||
LoadView( vWorkshopScientist); [ view.187
|
||||
LoadView( vWorkshopMen); [ view.188
|
||||
LoadView( vWorkshopLogo); [ view.189
|
||||
LoadView( vWorkshopDroid); [ view.190
|
||||
|
||||
|
||||
LoadPic( currentRoom);
|
||||
DrawPic( currentRoom);
|
||||
DiscardPic( currentRoom);
|
||||
|
||||
AddToPic( vWorkshopLogo, 0, 0, 56, 42, 4, 4);
|
||||
AddToPic( vWorkshopMen, L_DRAGON, 0, 17, 154, 0, 4);
|
||||
[view, loop, cel, x, y, obj priority, box priority
|
||||
|
||||
|
||||
AnimateObj( aPlatformLeft);
|
||||
IgnoreObjs( aPlatformLeft);
|
||||
IgnoreBlocks( aPlatformLeft);
|
||||
SetView( aPlatformLeft, vWorkshopDeadEgo);
|
||||
SetLoop( aPlatformLeft, 0);
|
||||
FixLoop( aPlatformLeft);
|
||||
SetCel( aPlatformLeft, 0);
|
||||
SetPriority( aPlatformLeft, 5);
|
||||
StopCycling( aPlatformLeft);
|
||||
CycleTime( aPlatformLeft, two);
|
||||
Position( aPlatformLeft, 56, 28);
|
||||
Draw( aPlatformLeft);
|
||||
MoveObj( aPlatformLeft, 56, 59, 1, scriptDone);
|
||||
|
||||
AnimateObj( aShaftLeft);
|
||||
IgnoreObjs( aShaftLeft);
|
||||
IgnoreBlocks( aShaftLeft);
|
||||
SetView( aShaftLeft, vWorkshopStuff);
|
||||
SetLoop( aShaftLeft, L_SHAFTS);
|
||||
FixLoop( aShaftLeft);
|
||||
SetCel( aShaftLeft, C_SHORT_SHAFT);
|
||||
SetPriority( aShaftLeft, 4);
|
||||
StopCycling( aShaftLeft);
|
||||
Position( aShaftLeft, 74, 80);
|
||||
Draw( aShaftLeft);
|
||||
MoveObj( aShaftLeft, 74, 111, 1, done);
|
||||
|
||||
|
||||
AnimateObj( aPlatformRight);
|
||||
IgnoreObjs( aPlatformRight);
|
||||
IgnoreBlocks( aPlatformRight);
|
||||
SetView( aPlatformRight, vWorkshopStuff);
|
||||
SetLoop( aPlatformRight, L_PLATFORM_RIGHT);
|
||||
FixLoop( aPlatformRight);
|
||||
SetCel( aPlatformRight, C_WITHOUT_EGO);
|
||||
SetPriority( aPlatformRight, 6);
|
||||
StopCycling( aPlatformRight);
|
||||
Position( aPlatformRight, 79, 111);
|
||||
Draw( aPlatformRight);
|
||||
StopUpdate( aPlatformRight);
|
||||
|
||||
AnimateObj( aShaftRight);
|
||||
IgnoreObjs( aShaftRight);
|
||||
IgnoreBlocks( aShaftRight);
|
||||
SetView( aShaftRight, vWorkshopStuff);
|
||||
SetLoop( aShaftRight, L_SHAFTS);
|
||||
FixLoop( aShaftRight);
|
||||
SetCel( aShaftRight, C_SHORT_SHAFT);
|
||||
SetPriority( aShaftRight, 5);
|
||||
StopCycling( aShaftRight);
|
||||
Position( aShaftRight, 84, 167);
|
||||
Draw( aShaftRight);
|
||||
StopUpdate( aShaftRight);
|
||||
|
||||
|
||||
AnimateObj( aCavin);
|
||||
IgnoreObjs( aCavin);
|
||||
SetView( aCavin, vWorkshopScientist);
|
||||
SetLoop( aCavin, L_AT_CONTROL_PANEL);
|
||||
FixLoop( aCavin);
|
||||
Position( aCavin, 36, 111);
|
||||
Draw( aCavin);
|
||||
Set( cavinAtPanel);
|
||||
|
||||
AnimateObj( aEgos);
|
||||
IgnoreObjs( aEgos);
|
||||
SetView( aEgos, vWorkshopStuff);
|
||||
SetLoop( aEgos, L_HEADLESS_EGOS);
|
||||
FixLoop( aEgos);
|
||||
SetCel( aEgos, C_3_EGOS);
|
||||
SetPriority( aEgos, 6);
|
||||
StopCycling( aEgos);
|
||||
Position( aEgos, 128, 105);
|
||||
Draw( aEgos);
|
||||
StopUpdate( aEgos);
|
||||
|
||||
|
||||
AnimateObj( aHeadRack);
|
||||
IgnoreObjs( aHeadRack);
|
||||
SetView( aHeadRack, vWorkshopStuff);
|
||||
SetLoop( aHeadRack, L_HEAD_RACK);
|
||||
SetCel( aHeadRack, C_FULL);
|
||||
Position( aHeadRack, 38, 121);
|
||||
Draw( aHeadRack);
|
||||
StopCycling( aHeadRack);
|
||||
StopUpdate( aHeadRack);
|
||||
|
||||
AnimateObj( aMan);
|
||||
SetView( aMan, vWorkshopMen);
|
||||
SetLoop( aMan, 1);
|
||||
Position( aMan, 88, 133);
|
||||
Draw( aMan);
|
||||
StopCycling( aMan);
|
||||
Random( 26, 56, manCycles);
|
||||
|
||||
AnimateObj( aGraham);
|
||||
SetView( aGraham, vWorkshopMen);
|
||||
SetLoop( aGraham, L_GRAHAM);
|
||||
Position( aGraham, 103, 149);
|
||||
Draw( aGraham);
|
||||
Random( 17, 33, testerCycles);
|
||||
|
||||
AnimateObj( aWoman);
|
||||
SetView( aWoman, vWorkshopMen);
|
||||
SetLoop( aWoman, L_WOMAN);
|
||||
Position( aWoman, 116, 149);
|
||||
Draw( aWoman);
|
||||
StopCycling( aWoman);
|
||||
|
||||
AnimateObj( aDroid);
|
||||
SetView( aDroid, vWorkshopDroid);
|
||||
Position( aDroid, 56, 155);
|
||||
Draw( aDroid);
|
||||
Wander( aDroid);
|
||||
CycleTime( aDroid, two);
|
||||
StepTime( aDroid, two);
|
||||
|
||||
|
||||
Set( programControl);
|
||||
|
||||
ShowPic( );
|
||||
|
||||
Return( );
|
||||
|
||||
} [ end initLOG
|
||||
|
||||
|
||||
|
||||
[*****
|
||||
:handleInput
|
||||
[*****
|
||||
|
||||
if (haveInput)
|
||||
{
|
||||
Set( haveMatch);
|
||||
Print( 1);
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:noInput
|
||||
[*****
|
||||
|
||||
if (cavinAtPanel)
|
||||
{
|
||||
--cavinCycles;
|
||||
if (cavinCycles == 1)
|
||||
{
|
||||
Toggle( cavinCycling);
|
||||
if (cavinCycling)
|
||||
{
|
||||
StartCycling( aCavin);
|
||||
Random( 4, 11, cavinCycles);
|
||||
}
|
||||
else
|
||||
{
|
||||
StopCycling( aCavin);
|
||||
Random( 11, 22, cavinCycles);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
--manCycles;
|
||||
if (manCycles == 1)
|
||||
{
|
||||
Random( 0, 2, work);
|
||||
SetCelV( aMan, work);
|
||||
Random( 11, 33, manCycles);
|
||||
}
|
||||
|
||||
|
||||
--testerCycles;
|
||||
if (testerCycles == 1)
|
||||
{
|
||||
Random( 7, 22, testerCycles);
|
||||
Toggle( testerToggle);
|
||||
if (testerToggle)
|
||||
{
|
||||
StartCycling( aWoman);
|
||||
|
||||
StopCycling( aGraham);
|
||||
SetCel( aGraham, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
StartCycling( aGraham);
|
||||
|
||||
StopCycling( aWoman);
|
||||
SetCel( aWoman, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (scriptDone)
|
||||
{
|
||||
Reset( scriptDone);
|
||||
++script;
|
||||
|
||||
if (script == 1)
|
||||
{
|
||||
EndOfLoop( aPlatformLeft, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 2)
|
||||
{
|
||||
Print( 3);
|
||||
|
||||
StopCycling( aPlatformLeft);
|
||||
MoveObj( aPlatformLeft, 56, 80, 1, scriptDone);
|
||||
MoveObj( aShaftLeft, 74, 132, 1, done);
|
||||
}
|
||||
|
||||
if (script == 3)
|
||||
{
|
||||
StopUpdate( aPlatformLeft);
|
||||
StopUpdate( aShaftLeft);
|
||||
|
||||
StartUpdate( aEgos);
|
||||
MoveObj( aEgos, 103, 105, 1, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 4)
|
||||
{
|
||||
SetCel( aEgos, C_5_EGOS);
|
||||
MoveObj( aEgos, 82, 105, 1, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 5)
|
||||
{
|
||||
StopUpdate( aEgos);
|
||||
|
||||
StartCycling( aCavin);
|
||||
SetLoop( aCavin, L_WALKING_RIGHT);
|
||||
MoveObj( aCavin, 49, 117, 1, scriptDone);
|
||||
Reset( cavinAtPanel);
|
||||
|
||||
Print( 4);
|
||||
}
|
||||
|
||||
if (script == 6)
|
||||
{
|
||||
SetCel( aHeadRack, C_MISSING_ONE);
|
||||
ForceUpdate( aHeadRack);
|
||||
|
||||
SetLoop( aCavin, L_WITH_HEAD);
|
||||
MoveObj( aCavin, 62, 111, 1, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 7)
|
||||
{
|
||||
MoveObj( aCavin, 78, 111, 1, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 8)
|
||||
{
|
||||
SetLoop( aCavin, L_SCREWING_HEAD);
|
||||
scriptCycles = 21;
|
||||
}
|
||||
|
||||
if (script == 9)
|
||||
{
|
||||
SetLoop( aCavin, L_WALKING_LEFT);
|
||||
MoveObj( aCavin, 36, 111, 1, scriptDone);
|
||||
|
||||
SetCel( aPlatformRight, C_WITH_EGO);
|
||||
|
||||
SetCel( aEgos, C_4_EGOS);
|
||||
ForceUpdate( aEgos);
|
||||
}
|
||||
|
||||
if (script == 10)
|
||||
{
|
||||
SetLoop( aCavin, L_AT_CONTROL_PANEL);
|
||||
Set( cavinAtPanel);
|
||||
cavinCycles = 3;
|
||||
|
||||
StartUpdate( aPlatformRight);
|
||||
MoveObj( aPlatformRight, 79, 40, 1, scriptDone);
|
||||
|
||||
StartUpdate( aShaftRight);
|
||||
MoveObj( aShaftRight, 84, 108, 1, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 11)
|
||||
{
|
||||
SetCel( aShaftRight, C_LONG_SHAFT);
|
||||
RepositionTo( aShaftRight, 84, 147);
|
||||
MoveObj( aShaftRight, 84, 116, 1, done);
|
||||
|
||||
Print( 5);
|
||||
}
|
||||
|
||||
if (script == 12)
|
||||
{
|
||||
RestartGame();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
[*****
|
||||
:exit [ test for leaving the room
|
||||
[*****
|
|
@ -0,0 +1,29 @@
|
|||
[messages for room 8 -- rmWorkshop
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"Hey! You're not alive yet."
|
||||
|
||||
%message 2
|
||||
""
|
||||
|
||||
%message 3
|
||||
"The Sierra adventure team races to your rescue,
|
||||
dumping your worthless, leisure suit- clad hulk into their giant bit bucket,
|
||||
for recycling into future games.
|
||||
Their underground workshop is humming with activity.
|
||||
This is \"Where Adventurers Are Made, Not Born!\""
|
||||
|
||||
%message 4
|
||||
"Commander Cavin quickly assembles a replacement Larry,
|
||||
while subordinates repair players damaged in other Sierra adventure games."
|
||||
|
||||
%message 5
|
||||
"With your new body and ego, you are returned to
|
||||
fight again the battles of Lost Wages!\n\n
|
||||
(Now you know what we have to go through
|
||||
every time you press that \"Restart\" key.)"
|
||||
|
|
@ -0,0 +1,261 @@
|
|||
[logics for room 9 -- rmDarkAlley
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
%include "rm9.msg"
|
||||
%include "gamedefs.h"
|
||||
|
||||
|
||||
%define manOnScreen lf0
|
||||
%define manLeaving lf1
|
||||
|
||||
%object aMan 1
|
||||
|
||||
|
||||
if (initLog)
|
||||
{
|
||||
LoadView( vEgoDead);
|
||||
LoadView( vEgoCollapsing);
|
||||
LoadView( vEgoGettingBeaten);
|
||||
LoadView( vMugger);
|
||||
LoadView( vMuggerAttacking);
|
||||
|
||||
LoadSound( mAlley);
|
||||
|
||||
LoadPic( currentRoom);
|
||||
DrawPic( currentRoom);
|
||||
DiscardPic( currentRoom);
|
||||
|
||||
AnimateObj( aMan);
|
||||
IgnoreObjs( aMan);
|
||||
SetView( aMan, vMugger);
|
||||
SetLoop( aMan, FACING_LEFT);
|
||||
SetCel( aMan, 1);
|
||||
Position( aMan, 124, 131);
|
||||
Draw( aMan);
|
||||
StepSize( aMan, two);
|
||||
Set( scriptDone);
|
||||
Set( manOnScreen);
|
||||
|
||||
if ((oldEdgeEgoHit == LEFT ||
|
||||
oldEdgeEgoHit == RIGHT))
|
||||
{
|
||||
if (egoY < 158)
|
||||
{
|
||||
egoY = 158;
|
||||
}
|
||||
}
|
||||
|
||||
if ((oldEdgeEgoHit == TOP ||
|
||||
oldEdgeEgoHit == BOTTOM))
|
||||
{
|
||||
egoX = 77;
|
||||
egoY = 167;
|
||||
}
|
||||
|
||||
PositionV( ego, egoX, egoY);
|
||||
Draw( ego);
|
||||
|
||||
ShowPic( );
|
||||
|
||||
Sound( mAlley, musicDone);
|
||||
|
||||
Return( );
|
||||
|
||||
} [ end initLOG
|
||||
|
||||
|
||||
|
||||
[*****
|
||||
:handleInput
|
||||
[*****
|
||||
|
||||
if (haveInput)
|
||||
{
|
||||
Set( haveMatch);
|
||||
if (script > 5)
|
||||
{
|
||||
Print( 4);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print( 5)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
[*****
|
||||
:noInput
|
||||
[*****
|
||||
|
||||
if (scriptDone)
|
||||
{
|
||||
Reset( scriptDone);
|
||||
++script;
|
||||
|
||||
if (script == 1)
|
||||
{
|
||||
MoveObj( aMan, 112, 131, 2, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 2)
|
||||
{
|
||||
FollowEgo( aMan, 8, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 3)
|
||||
{
|
||||
Set( handsOff);
|
||||
StopMotion( ego);
|
||||
Set( programControl);
|
||||
SetView( aMan, vMuggerAttacking);
|
||||
GetPosn( aMan, x, y);
|
||||
|
||||
if (x < egoX)
|
||||
{
|
||||
SetLoop( aMan, 1);
|
||||
if (egoX > 12)
|
||||
{
|
||||
x = egoX;
|
||||
x -= 13;
|
||||
}
|
||||
else
|
||||
{
|
||||
x = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
SetLoop( aMan, 0);
|
||||
if (egoX < 140)
|
||||
{
|
||||
x = egoX;
|
||||
x += 5;
|
||||
}
|
||||
else
|
||||
{
|
||||
x = 145;
|
||||
}
|
||||
}
|
||||
|
||||
y = egoY;
|
||||
SetCel( aMan, 0);
|
||||
RepositionToV( aMan, x, y);
|
||||
scriptCycles = 7;
|
||||
}
|
||||
|
||||
if (script == 4)
|
||||
{
|
||||
Erase( aMan);
|
||||
Reset( manOnScreen);
|
||||
|
||||
Set( keepCycling);
|
||||
SetView( ego, vEgoGettingBeaten);
|
||||
if (egoX > 5)
|
||||
{
|
||||
egoX -= 5;
|
||||
}
|
||||
else
|
||||
{
|
||||
egoX = 0;
|
||||
}
|
||||
if (egoY < 162)
|
||||
{
|
||||
egoY += 5;
|
||||
}
|
||||
else
|
||||
{
|
||||
egoY = 167;
|
||||
}
|
||||
RepositionToV( ego, egoX, egoY);
|
||||
scriptTimer = 5;
|
||||
}
|
||||
|
||||
if (script == 5)
|
||||
{
|
||||
SetView( aMan, vMugger);
|
||||
Draw( aMan);
|
||||
Wander( aMan);
|
||||
Set( manLeaving);
|
||||
scriptTimer = 3;
|
||||
}
|
||||
|
||||
if (script == 6)
|
||||
{
|
||||
SetView( ego, vEgoCollapsing);
|
||||
currentStatus = COLLAPSING;
|
||||
CycleTime( ego, two);
|
||||
EndOfLoop( ego, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 6)
|
||||
{
|
||||
Print( 1);
|
||||
scriptTimer = 3;
|
||||
}
|
||||
|
||||
if (script == 7)
|
||||
{
|
||||
Reset( keepCycling);
|
||||
SetView( ego, vEgoDead);
|
||||
currentStatus = RECYCLING;
|
||||
SetCel( ego, 0);
|
||||
if (egoX > 2)
|
||||
{
|
||||
egoX -= 3;
|
||||
}
|
||||
if (egoY < 160)
|
||||
{
|
||||
egoY += 7;
|
||||
}
|
||||
RepositionToV( ego, egoX, egoY);
|
||||
|
||||
scriptTimer = 5;
|
||||
}
|
||||
|
||||
if (script == 8)
|
||||
{
|
||||
Print( 3);
|
||||
Set( keepCycling);
|
||||
CycleTime( ego, three);
|
||||
EndOfLoop( ego, scriptDone);
|
||||
}
|
||||
|
||||
if (script == 9)
|
||||
{
|
||||
Reset( handsOff);
|
||||
newRoom = rmWorkshop;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (musicDone && manOnScreen)
|
||||
{
|
||||
Sound( mAlley, musicDone);
|
||||
}
|
||||
|
||||
|
||||
[*****
|
||||
:exit [ test for leaving the room
|
||||
[*****
|
||||
|
||||
if (manLeaving &&
|
||||
edgeObjHit &&
|
||||
objHitEdge == aMan)
|
||||
{
|
||||
Reset( manLeaving);
|
||||
Erase( aMan);
|
||||
StopSound();
|
||||
}
|
||||
|
||||
if (oldEdgeEgoHit == RIGHT &&
|
||||
edgeEgoHit == LEFT) {newRoom = previousRoom;}
|
||||
|
||||
if (oldEdgeEgoHit == LEFT &&
|
||||
edgeEgoHit == RIGHT) {newRoom = previousRoom;}
|
||||
|
||||
if (edgeEgoHit == BOTTOM &&
|
||||
(oldEdgeEgoHit == TOP ||
|
||||
oldEdgeEgoHit == BOTTOM)) {newRoom = previousRoom;}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
[messages for room 9 -- rmDarkAlley
|
||||
[ "Leisure Suit Larry in the Land of the Lounge Lizards"
|
||||
[ by Al Lowe
|
||||
|
||||
|
||||
|
||||
%message 1
|
||||
"Larry, when are you gonna learn to stay out of those dark alleys!!"
|
||||
|
||||
%message 2
|
||||
""
|
||||
|
||||
%message 3
|
||||
"\"Hey guys!!
|
||||
He's screwed up again!
|
||||
Dump this one down the tubes, and get him another body!\""
|
||||
|
||||
%message 4
|
||||
"Since you're dead, why are you talking?? Just hang on for the ride."
|
||||
|
||||
%message 5
|
||||
"It appears he wants something -- YOU! Get out of here!"
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
[
|
||||
[ slots.h
|
||||
[
|
||||
[ LEISURE SUIT LARRY IN THE LAND OF THE LOUNGE LIZARDS BLACKJACK HEADER
|
||||
[
|
||||
[ Thursday, March 5, 1987 at 10:49 a.m.
|
||||
[
|
||||
|
||||
|
||||
|
||||
%object aLights 1
|
||||
%object aWheel1 2
|
||||
%object aWheel2 3
|
||||
%object aWheel3 4
|
||||
%object aWinner 13 [ Animated objects.
|
||||
|
||||
|
||||
%flag readyToLeave 200
|
||||
%flag readyToPlay 201
|
||||
%flag pulledHandle 202
|
||||
%flag showOdds 203
|
||||
|
||||
|
||||
%var bet 200
|
||||
%var wheel1 201
|
||||
%var wheel2 202
|
||||
%var wheel3 203
|
||||
%var multiple 204
|
||||
%var winnings 205
|
||||
%var winnerCycles 206
|
||||
%var function 207
|
||||
#define PAY_WINNER 1
|
||||
#define UPDATE_STATUS 2
|
|
@ -0,0 +1,418 @@
|
|||
[
|
||||
[ sysdefs.h
|
||||
[
|
||||
[ AL'S SYSDEFS
|
||||
[
|
||||
[ February 25, 1987
|
||||
[
|
||||
|
||||
|
||||
|
||||
[************** ACTIONS **************]
|
||||
|
||||
%action Return() 0
|
||||
|
||||
[Variable actions
|
||||
%action Increment(VAR) 1
|
||||
%action Decrement(VAR) 2
|
||||
%action Assignn(VAR, NUM) 3
|
||||
%action Assignv(VAR, VAR) 4
|
||||
%action Addn(VAR, NUM) 5
|
||||
%action Addv(VAR, VAR) 6
|
||||
%action Subn(VAR, NUM) 7
|
||||
%action Subv(VAR, VAR) 8
|
||||
%action Lindirectv(VAR, VAR) 9
|
||||
%action Rindirect(VAR, VAR) 10
|
||||
%action Lindirectn(VAR, NUM) 11
|
||||
|
||||
%action increment(VAR) 1
|
||||
%action decrement(VAR) 2
|
||||
%action assignn(VAR, NUM) 3
|
||||
%action assignv(VAR, VAR) 4
|
||||
%action addn(VAR, NUM) 5
|
||||
%action addv(VAR, VAR) 6
|
||||
%action subn(VAR, NUM) 7
|
||||
%action subv(VAR, VAR) 8
|
||||
%action lindirectv(VAR, VAR) 9
|
||||
%action rindirect(VAR, VAR) 10
|
||||
%action lindirectn(VAR, NUM) 11
|
||||
|
||||
%action Set(FLAG) 12
|
||||
%action Reset(FLAG) 13
|
||||
%action Toggle(FLAG) 14
|
||||
%action SetV(VAR) 15
|
||||
%action ResetV(VAR) 16
|
||||
%action ToggleV(VAR) 17
|
||||
|
||||
[Logics
|
||||
%action NewRoom(NUM) 18
|
||||
%action NewRoomV(VAR) 19
|
||||
%action LoadLogics(NUM) 20
|
||||
%action LoadLogicsV(VAR) 21
|
||||
%action Call(NUM) 22
|
||||
%action CallV(VAR) 23
|
||||
|
||||
[Pictures
|
||||
%action LoadPic(VAR) 24
|
||||
%action DrawPic(VAR) 25
|
||||
%action ShowPic() 26
|
||||
%action DiscardPic(VAR) 27
|
||||
%action OverlayPic(VAR) 28
|
||||
%action ShowPriScreen() 29
|
||||
|
||||
[Views
|
||||
%action LoadView(VIEW) 30
|
||||
%action LoadViewV(VAR) 31
|
||||
%action DiscardView(VIEW) 32
|
||||
|
||||
[Animated objects
|
||||
%action AnimateObj(OBJECT) 33
|
||||
%action UnanimateAll() 34
|
||||
%action Draw(OBJECT) 35
|
||||
%action Erase(OBJECT) 36
|
||||
%action Position(OBJECT, NUM, NUM) 37
|
||||
%action PositionV(OBJECT, VAR, VAR) 38
|
||||
%action GetPosn(OBJECT, VAR, VAR) 39
|
||||
%action Reposition(OBJECT, VAR, VAR) 40
|
||||
|
||||
[Views of animated objects
|
||||
%action SetView(OBJECT, VIEW) 41
|
||||
%action SetViewV(OBJECT, VAR) 42
|
||||
%action SetLoop(OBJECT, NUM) 43
|
||||
%action SetLoopV(OBJECT, VAR) 44
|
||||
%define FACING_RIGHT 0
|
||||
%define FACING_LEFT 1
|
||||
%define FACING_FRONT 2
|
||||
%define FACING_BACK 3
|
||||
%action FixLoop(OBJECT) 45
|
||||
%action ReleaseLoop(OBJECT) 46
|
||||
%action SetCel(OBJECT, NUM) 47
|
||||
%action SetCelV(OBJECT, VAR) 48
|
||||
%action LastCel(OBJECT, VAR) 49
|
||||
%action CurrentCel(OBJECT, VAR) 50
|
||||
%action CurrentLoop(OBJECT, VAR) 51
|
||||
%action CurrentView(OBJECT, VAR) 52
|
||||
%action NumberOfLoops(OBJECT, VAR) 53
|
||||
|
||||
[Priority control of animated objects
|
||||
%action SetPriority(OBJECT, NUM) 54
|
||||
%action SetPriorityV(OBJECT, VAR) 55
|
||||
%action ReleasePriority(OBJECT) 56
|
||||
%action GetPriority(OBJECT, VAR) 57
|
||||
|
||||
[Attributes of animated objects
|
||||
%action StopUpdate(OBJECT) 58
|
||||
%action StartUpdate(OBJECT) 59
|
||||
%action ForceUpdate(OBJECT) 60
|
||||
%action IgnoreHorizon(OBJECT) 61
|
||||
%action ObserveHorizon(OBJECT) 62
|
||||
%action SetHorizon(NUM) 63
|
||||
%action ObjectOnWater(OBJECT) 64
|
||||
%action ObjectOnLand(OBJECT) 65
|
||||
%action ObjectOnAnything(OBJECT) 66
|
||||
%action IgnoreObjs(OBJECT) 67
|
||||
%action ObserveObjs(OBJECT) 68
|
||||
%action Distance(OBJECT, OBJECT, VAR) 69
|
||||
|
||||
[Cycling of animated objects
|
||||
%action StopCycling(OBJECT) 70
|
||||
%action StartCycling(OBJECT) 71
|
||||
%action NormalCycle(OBJECT) 72
|
||||
%action EndOfLoop(OBJECT, FLAG) 73
|
||||
%action ReverseCycle(OBJECT) 74
|
||||
%action ReverseLoop(OBJECT, FLAG) 75
|
||||
%define BeginningOfLoop ReverseLoop
|
||||
%action CycleTime(OBJECT, VAR) 76
|
||||
%define CycleFrequency CycleTime
|
||||
|
||||
[Motion of animated objects
|
||||
%action StopMotion(OBJECT) 77
|
||||
%action StartMotion(OBJECT) 78
|
||||
%action StepSize(OBJECT, VAR) 79
|
||||
%action StepTime(OBJECT, VAR) 80
|
||||
%define StepFrequency StepTime
|
||||
|
||||
%action MoveObj(OBJECT, NUM, NUM, NUM, FLAG) 81
|
||||
%action MoveObjV(OBJECT, VAR, VAR, VAR, FLAG) 82
|
||||
[object, x, y, stepsize (preferably 0), flag to set upon arrival
|
||||
%action FollowEgo(OBJECT, NUM, FLAG) 83
|
||||
%action Wander(OBJECT) 84
|
||||
%action NormalMotion(OBJECT) 85
|
||||
%action SetDir(OBJECT, VAR) 86
|
||||
%action GetDir(OBJECT, VAR) 87
|
||||
|
||||
%action IgnoreBlocks(OBJECT) 88
|
||||
%action ObserveBlocks(OBJECT) 89
|
||||
%action Block(NUM, NUM, NUM, NUM) 90
|
||||
%action Unblock() 91
|
||||
|
||||
[Inventory objects
|
||||
%action Get(OBJECT) 92
|
||||
%action GetV(VAR) 93
|
||||
%action Drop(OBJECT) 94
|
||||
%action Put(OBJECT, VAR) 95
|
||||
%action PutV(VAR, VAR) 96
|
||||
%action GetRoomV(VAR, VAR) 97
|
||||
|
||||
[Sounds
|
||||
%action LoadSound(NUM) 98
|
||||
%action Sound(NUM, FLAG) 99
|
||||
%action StopSound() 100
|
||||
|
||||
[Screen Display
|
||||
%action Print(MSGNUM) 101
|
||||
%action PrintV(VAR) 102
|
||||
%action Display(NUM, NUM, MSGNUM) 103
|
||||
[row, col, message
|
||||
%action DisplayV(VAR, VAR, VAR) 104
|
||||
[row, col, message
|
||||
%action ClearLines(NUM, NUM, NUM) 105
|
||||
[top row, bottom row, attribute
|
||||
%action TextScreen() 106
|
||||
%action Graphics() 107
|
||||
%action SetCursorChar(MSGNUM) 108
|
||||
%action SetTextAttribute(NUM, NUM) 109
|
||||
%action ShakeScreen(NUM) 110
|
||||
|
||||
[Screen handling
|
||||
%action ConfigureScreen(NUM, NUM, NUM) 111
|
||||
[ picture row, input row, status row
|
||||
%action StatusLineOn() 112
|
||||
%action StatusLineOff() 113
|
||||
|
||||
[String handling
|
||||
%action SetString(NUM, MSGNUM) 114
|
||||
%action GetString(NUM, MSGNUM, NUM, NUM, NUM) 115
|
||||
[string#, prompt, row, col, max length
|
||||
%action WordToString(NUM, NUM) 116
|
||||
[word#, string#
|
||||
%action Parse(NUM) 117
|
||||
%action GetNum(MSGNUM, VAR) 118
|
||||
|
||||
[Input handling
|
||||
%action PreventInput() 119
|
||||
%action AcceptInput() 120
|
||||
%action SetKey(NUM, NUM, NUM) 121
|
||||
%define JOYSTICK_LOW_BYTE 1
|
||||
%define BUTTON_0 1
|
||||
%define BUTTON_1 2
|
||||
%define BUTTON_0_DOUBLE 3
|
||||
%define BUTTON_1_DOUBLE 4
|
||||
|
||||
[Add to picture
|
||||
%action AddToPic(VIEW, NUM, NUM, NUM, NUM, NUM, NUM) 122
|
||||
[view, loop, cel, x, y, obj priority, box priority
|
||||
%action AddToPicV(VAR, VAR, VAR, VAR, VAR, VAR, VAR) 123
|
||||
[view, loop, cel, x, y, obj priority, box priority
|
||||
%define AddToPicture AddToPic
|
||||
%define AddToPictureV AddToPicV
|
||||
|
||||
[User requested actions
|
||||
%action Status() 124
|
||||
%action SaveGame() 125
|
||||
%action RestoreGame() 126
|
||||
%action InitDisk() 127
|
||||
%action RestartGame() 128
|
||||
|
||||
[Show object view
|
||||
%action ShowObj(VIEW) 129
|
||||
|
||||
[Miscellaneous
|
||||
%action Random(NUM, NUM, VAR) 130
|
||||
%action ProgramControl() 131
|
||||
%action PlayerControl() 132
|
||||
%action ObjStatusV(VAR) 133
|
||||
%action Quit(NUM) 134
|
||||
[0 = prompt
|
||||
[1 = immediate
|
||||
%action ShowMem() 135
|
||||
%action Pause() 136
|
||||
%action EchoLine() 137
|
||||
%action CancelLine() 138
|
||||
%action InitJoy() 139
|
||||
%action ToggleMonitor() 140
|
||||
%action Version() 141
|
||||
%action ScriptSize(NUM) 142
|
||||
%action SetGameId(MSGNUM) 143
|
||||
%action Log(MSGNUM) 144
|
||||
%action SetScanStart() 145
|
||||
%action ResetScanStart() 146
|
||||
|
||||
%action RepositionTo(OBJECT, NUM, NUM) 147
|
||||
%action RepositionToV(OBJECT, VAR, VAR) 148
|
||||
|
||||
%action TraceOn() 149
|
||||
%action TraceInfo(NUM, NUM, NUM) 150
|
||||
[logic #, position of top of window, number of lines
|
||||
%action PrintAt(MSGNUM, NUM, NUM, NUM) 151
|
||||
[msg #, row, col, width
|
||||
%action PrintAtV(VAR, NUM, NUM, NUM) 152
|
||||
[msg #, row, col, width
|
||||
%action DiscardViewV(VAR) 153
|
||||
%action ClearTextRect(NUM, NUM, NUM, NUM, NUM) 154
|
||||
[top, left, bottom, right, attribute
|
||||
%action SetUpperLeft(NUM, NUM) 155 [x, y
|
||||
%action SetMenu(MSGNUM) 156
|
||||
[menu name]
|
||||
%action SetMenuItem(MSGNUM, NUM) 157
|
||||
[item name, controller number]
|
||||
%action SubmitMenu() 158
|
||||
[terminate menu collecting]
|
||||
%action EnableItem(NUM) 159
|
||||
[enable item corresponding to controller]
|
||||
%action DisableItem(NUM) 160
|
||||
[disable item corresponding to controller]
|
||||
%action MenuInput() 161
|
||||
[pause game; display menus, at last choice
|
||||
%action ShowObjV( VAR) 162
|
||||
|
||||
#action OpenDialogue() 163
|
||||
#action CloseDialogue() 164
|
||||
|
||||
#action MulN(VAR, NUM) 165
|
||||
#action MulV(VAR, VAR) 166
|
||||
#action DivN(VAR, NUM) 167
|
||||
#action DivV(VAR, VAR) 168
|
||||
|
||||
#action CloseWindow() 169
|
||||
|
||||
|
||||
|
||||
|
||||
[************** TESTS **************]
|
||||
|
||||
%test Equaln(VAR, NUM) 1
|
||||
%test Equalv(VAR, VAR) 2
|
||||
%test Lessn(VAR, NUM) 3
|
||||
%test Lessv(VAR, VAR) 4
|
||||
%test Greatern(VAR, NUM) 5
|
||||
%test Greaterv(VAR, NUM) 6
|
||||
%test Isset(FLAG) 7
|
||||
%test IssetV(VAR) 8
|
||||
%test Has(OBJECT) 9
|
||||
%test ObjInRoom(OBJECT, VAR) 10
|
||||
%test Posn(OBJECT, NUM, NUM, NUM, NUM) 11
|
||||
%test Controller(NUM) 12
|
||||
%test HaveKey() 13
|
||||
%test Said(WORDLIST) 14
|
||||
%test CompareStrings(NUM, NUM) 15
|
||||
%test ObjInBox(OBJECT, NUM, NUM, NUM, NUM) 16
|
||||
%test CenterPosn(OBJECT, NUM, NUM, NUM, NUM) 17
|
||||
%test RightPosn(OBJECT, NUM, NUM, NUM, NUM) 18
|
||||
|
||||
%test equaln(VAR, NUM) 1
|
||||
%test equalv(VAR, VAR) 2
|
||||
%test lessn(VAR, NUM) 3
|
||||
%test lessv(VAR, VAR) 4
|
||||
%test greatern(VAR, NUM) 5
|
||||
%test greaterv(VAR, NUM) 6
|
||||
%test isset(FLAG) 7
|
||||
%test isset.v(VAR) 8
|
||||
%test has(OBJECT) 9
|
||||
%test obj.in.room(OBJECT, VAR) 10
|
||||
%test posn(OBJECT, NUM, NUM, NUM, NUM) 11
|
||||
%test controller(NUM) 12
|
||||
%test have.key() 13
|
||||
%test said(WORDLIST) 14
|
||||
%test compare.strings(NUM, NUM) 15
|
||||
%test obj.in.box(OBJECT, NUM, NUM, NUM, NUM) 16
|
||||
%test center.posn(OBJECT, NUM, NUM, NUM, NUM) 17
|
||||
%test right.posn(OBJECT, NUM, NUM, NUM, NUM) 18
|
||||
|
||||
|
||||
|
||||
[************** VARS **************
|
||||
|
||||
%var currentRoom 0
|
||||
%var previousRoom 1
|
||||
%var edgeEgoHit 2
|
||||
%define NOT_HIT 0
|
||||
%define TOP 1
|
||||
%define RIGHT 2
|
||||
%define BOTTOM 3
|
||||
%define LEFT 4
|
||||
%var currentScore 3
|
||||
%var objHitEdge 4
|
||||
%var edgeObjHit 5
|
||||
%var egoDir 6
|
||||
%define EGO_STOPPED 0
|
||||
%define EGO_UP 1
|
||||
%define EGO_UP_RIGHT 2
|
||||
%define EGO_RIGHT 3
|
||||
%define EGO_DOWN_RIGHT 4
|
||||
%define EGO_DOWN 5
|
||||
%define EGO_DOWN_LEFT 6
|
||||
%define EGO_LEFT 7
|
||||
%define EGO_UP_LEFT 8
|
||||
%var maxScore 7
|
||||
%var memoryLeft 8
|
||||
%var unknownWord 9
|
||||
%var animationInterval 10
|
||||
%var elapsedSeconds 11
|
||||
%var elapsedMinutes 12
|
||||
%var elapsedHours 13
|
||||
%var elapsedDays 14
|
||||
%var doubleClickDelay 15
|
||||
%var currentEgo 16
|
||||
%var errorNumber 17
|
||||
%var errorParameter 18
|
||||
%var lastChar 19
|
||||
%var machineType 20
|
||||
#define PC 0 [PC, compatibles
|
||||
#define JR 1 [PCjr
|
||||
#define TANDY 2 [Tandy 1000
|
||||
#define APPLEII 3 [Apple IIe, IIc
|
||||
#define ST 4 [Atari ST
|
||||
#define AMIGA 5 [Amiga
|
||||
#define MAC 6 [Fat Mac, Mac Plus
|
||||
#define CORTLAND 7 [?
|
||||
%var printTimeout 21 [in 1/2 second increments
|
||||
%var numberOfVoices 22 [in this machine's sound chip
|
||||
%var attenuation 23 [0 - 15 == loud - off
|
||||
%var inputLength 24 [max length of user input allowed
|
||||
%var selectedObject 25 [obj # selected from status screen
|
||||
%var monitorType 26
|
||||
%define COMPOSITE 0
|
||||
%define RGB 1
|
||||
%define MONO 2
|
||||
%define EGA 3
|
||||
|
||||
|
||||
|
||||
[************** FLAGS **************
|
||||
|
||||
%flag onWater 0
|
||||
%flag egoHidden 1
|
||||
%flag haveInput 2
|
||||
%flag hitSpecial 3
|
||||
%flag haveMatch 4
|
||||
%flag initLog 5
|
||||
%flag restartInProgress 6
|
||||
%flag noScript 7
|
||||
%flag enableDoubleClick 8
|
||||
%flag soundOn 9
|
||||
%flag enableTrace 10
|
||||
%flag hasNoiseChannel 11 [set if machine has noise channel
|
||||
%flag restoreInProgress 12
|
||||
%flag enableObjectSelect 13 [set if ok to choose from status screen
|
||||
%flag enableMenu 14
|
||||
%flag leaveWindow 15
|
||||
%flag noPromptRestart 16
|
||||
|
||||
|
||||
|
||||
[************ CONSTANTS **************]
|
||||
|
||||
[ screen boundaries:
|
||||
%define TOP_EDGE 0
|
||||
%define BOTTOM_EDGE 167
|
||||
%define LEFT_EDGE 0
|
||||
%define RIGHT_EDGE 159
|
||||
%define SCREEN_TOP 0
|
||||
%define SCREEN_BOTTOM 167
|
||||
%define SCREEN_LEFT 0
|
||||
%define SCREEN_RIGHT 159
|
||||
%define FALL_THROUGH 200 [makes ego move off screen
|
||||
|
||||
%define MAX_FLAG_VALUE 255 [maximum value storable
|
||||
%define ERROR -1
|
|
@ -0,0 +1,189 @@
|
|||
[
|
||||
[ views.h
|
||||
[
|
||||
[ LEISURE SUIT LARRY IN THE LAND OF THE LOUNGE LIZARDS VIEW DEFINITIONS
|
||||
[
|
||||
[ Monday, April 6, 1987 at 9:01 p.m.
|
||||
[ Thursday, May 14, 1987 at 10:23 p.m.
|
||||
[
|
||||
|
||||
|
||||
|
||||
[************* VIEWS ************]
|
||||
%view vEgo 0
|
||||
%view vEgoCollapsing 1
|
||||
%view vEgoUndressing 2
|
||||
%view vEgoDrowning 3
|
||||
%view vEgoDead 4
|
||||
%view vEgoBreathSpray 5
|
||||
%view vEgoOnRope 6
|
||||
%view vEgoInHotTub 7
|
||||
%view vEgoWearingTowel 8
|
||||
%view vEgoSittingOnBed 9
|
||||
%view vEgoLeavingDumpster 10
|
||||
[ %view 11
|
||||
%view vEgoGettingBeaten 12
|
||||
%view vEgoDiscoing1 13
|
||||
%view vEgoFlingingFawn 14
|
||||
%view vEgoOnToilet 15
|
||||
%view vEgoWithHooker 16
|
||||
%view vEgoPushingElevator 17
|
||||
%view vEgoWithFawnRm41 18
|
||||
[ %view 19
|
||||
%view vEgoFalling 20
|
||||
%view vEgoMissingGroin 21
|
||||
%view vEgoRoadKill 22
|
||||
#define ROAD_KILL 22
|
||||
|
||||
[ %view 23
|
||||
%view vEgoTiedOnBed 24
|
||||
[ %view 25
|
||||
%view vEgoLeavingWindow 26
|
||||
%view vEgoIntoDumpster 27
|
||||
%view vEgoOnLadder 28
|
||||
%view vEgoDiscoing2 29
|
||||
%view vEgoSittingLounge 30
|
||||
%view vEgoSunrise 31
|
||||
%view vSunrise 32
|
||||
%view vSunriseBang 33
|
||||
[ %view vEgo 34
|
||||
[ %view vEgo 35
|
||||
[ %view vEgo 36
|
||||
[ %view vEgo 37
|
||||
%view vCreditNames4 38
|
||||
%view vCreditNames1 39
|
||||
%view vCreditNames2 40
|
||||
%view vCreditNames3 41
|
||||
%view vTitles 42
|
||||
%view vTitleDoll 43
|
||||
%view vTitleEgo 44
|
||||
%view vKen 45
|
||||
[ %view 46
|
||||
%view vRm14Drunk 47
|
||||
%view vTransparentPixel 48
|
||||
%view vBartender 49
|
||||
%view vBarExterior 50 [ various lights, etc.
|
||||
%view vBarInterior 51
|
||||
%view vBarDoor 52
|
||||
%view vBarFlys 53 [ 2 single cels + 1 girl loop
|
||||
%view vBarGreaser 54
|
||||
%view vPainting 55
|
||||
%view vPimpDoor 56
|
||||
%view vRm14Stuff 57
|
||||
%view vToiletDoor 58
|
||||
%view vToiletOverflowing 59
|
||||
%view vToiletFountain 60
|
||||
%view vRm16Door 61
|
||||
%view vPimp 62
|
||||
%view vPimpBlockingStairs 63
|
||||
%view vTVOn 64
|
||||
%view vHookerFace 65
|
||||
%view vHookerWindow 66
|
||||
%view vHooker 67
|
||||
%view vCandy 68
|
||||
%view vRing 69
|
||||
[ %view 70
|
||||
[ %view 71
|
||||
%view vAlleyStuff 72
|
||||
%view vMugger 73
|
||||
%view vMuggerAttacking 74
|
||||
%view vDog 75 [ if dog below ego
|
||||
%view vDogPissing 76
|
||||
%view vCop 77
|
||||
%view vFlasher 78
|
||||
%view vDogPissing2 79 [ if dog behind ego
|
||||
%view vTaxi 80
|
||||
%view vTaxiDriver 81
|
||||
%view vTaxiMeter 82
|
||||
%view vTaxiWindshieldMovie 83
|
||||
[ %view 84
|
||||
%view vDeathCar 85
|
||||
[ %view 86
|
||||
[ %view 87
|
||||
%view vEgoAndFawnSitting 88
|
||||
%view vFawnFace 89
|
||||
%view vDiscoExterior 90
|
||||
%view vDiscoBouncer 91
|
||||
[ %view 92
|
||||
%view v7_11Bum 93
|
||||
%view vDiscoCustomers 94
|
||||
[ %view 95
|
||||
[ %view 96
|
||||
[ %view 97
|
||||
%view vFawn 98
|
||||
%view vFawnDancing 99
|
||||
%view vDiscoInterior 100
|
||||
|
||||
[Views 101 - 129 are "Show object" inventory views, defined in "IV_VIEWS.H"
|
||||
|
||||
%view v7_11Exterior 130
|
||||
[ %view 131
|
||||
%view v7_11Iranian 132
|
||||
%view v7_11Customers 133 [ 4 heads
|
||||
%view v7_11Interior 134
|
||||
%view vMagazines 135
|
||||
%view vCasinoExterior 136
|
||||
[ %view 137
|
||||
%view vCasinoManInBarrel 138
|
||||
%view vCasinoInterior 139
|
||||
[ %view 140
|
||||
%view vCasinoPatrons 141
|
||||
[ %view 142
|
||||
[ %view 143
|
||||
[ %view 144
|
||||
[ %view 145
|
||||
%view vMONOCardsShuffling 146
|
||||
%view vSlots 147
|
||||
%view vSlotsWinner 148
|
||||
%view vNonWinner 149
|
||||
%view vWinner 150
|
||||
%view vCardsShuffling 151
|
||||
%view vClubs 152
|
||||
%view vSpades 153
|
||||
%view vHearts 154
|
||||
%view vDiamonds 155
|
||||
%view vBlankCard 156
|
||||
%view vCardBack 157
|
||||
%view vLoungeComedian 158
|
||||
%view vLoungeDancers 159
|
||||
[ %view 160
|
||||
[ %view 161
|
||||
%view vLoungeCandles 162
|
||||
%view vDrummer 163
|
||||
%view vAshtray 164
|
||||
%view vElevator 165
|
||||
#define L_EMPTY 0
|
||||
#define L_FLOOR 1
|
||||
#define L_DOORS 2
|
||||
#define L_WITH_EGO 3
|
||||
|
||||
%view vReceptionist 166
|
||||
%view vReceptionistFace 167
|
||||
%view vElevatorDoors 168
|
||||
%view vBedroomDoors 169
|
||||
%view vChapelExterior 170
|
||||
%view vChapelInterior 171
|
||||
%view vChapelMinister 172
|
||||
[ %view 173
|
||||
%view vElevatorNumbers 174
|
||||
%view vHoneymoonHallwayDoor 175
|
||||
%view vHoneymoonSuiteStuff 176
|
||||
%view vCloseupBubbles 177
|
||||
%view vFireworks 178
|
||||
%view vRm44ElevatorDoors 179
|
||||
%view vEveFace 180
|
||||
%view vEveInTub 181
|
||||
%view vEve 182
|
||||
#define L_WALKING_RIGHT 0
|
||||
#define L_SITTING_ON_BED 1
|
||||
#define L_AFTER_SEX 2
|
||||
|
||||
%view vHotTubBubbles 183
|
||||
%view vDollDeflating 184
|
||||
%view vWorkshopDeadEgo 185 [ death workshop views
|
||||
%view vWorkshopStuff 186
|
||||
%view vWorkshopScientist 187
|
||||
%view vWorkshopMen 188
|
||||
%view vWorkshopLogo 189
|
||||
%view vWorkshopDroid 190
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue