commit 929b6a0d8099004e3c99defd2029ffc0d3ac6890 Author: Bryce Date: Thu Feb 19 20:43:24 2026 -0800 initial commit diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6).zip b/KQ4_v1.006.004_int0.000.502_SRC_(6).zip new file mode 100644 index 0000000..de21c1b Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6).zip differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/game.ini b/KQ4_v1.006.004_int0.000.502_SRC_(6)/game.ini new file mode 100644 index 0000000..fa60df9 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/game.ini @@ -0,0 +1,164 @@ +[Game] +Language=sci +[Script] +n000=Main +n001=rm1 +n002=rm2 +n003=rm3 +n004=rm4 +n005=rm5 +n006=rm6 +n007=rm7 +n008=rm8 +n009=rm9 +n010=rm10 +n011=rm11 +n012=rm12 +n013=rm13 +n014=rm14 +n015=rm15 +n016=rm16 +n017=rm17 +n018=rm18 +n019=rm19 +n020=rm20 +n021=rm21 +n022=rm22 +n023=rm23 +n024=rm24 +n025=rm25 +n026=rm26 +n027=rm27 +n028=rm28 +n029=rm29 +n030=rm30 +n031=rm31 +n032=rm32 +n033=rm33 +n034=rm34 +n035=rm35 +n036=rm36 +n037=rm37 +n038=rm38 +n039=rm39 +n040=rm40 +n041=rm41 +n042=rm42 +n043=rm43 +n044=rm44 +n045=rm45 +n046=rm46 +n047=rm47 +n048=rm48 +n049=rm49 +n050=rm50 +n051=rm51 +n053=rm53 +n054=rm54 +n055=rm55 +n056=rm56 +n057=rm57 +n058=rm58 +n059=rm59 +n060=rm60 +n061=rm61 +n062=rm62 +n063=rm63 +n064=rm64 +n065=rm65 +n066=rm66 +n067=rm67 +n068=rm68 +n069=rm69 +n070=rm70 +n071=rm71 +n072=rm72 +n073=rm73 +n074=rm74 +n075=rm75 +n076=rm76 +n077=rm77 +n078=rm78 +n079=rm79 +n080=rm80 +n081=rm81 +n082=rm82 +n083=rm83 +n084=rm84 +n085=rm85 +n086=rm86 +n087=rm87 +n088=rm88 +n089=rm89 +n090=rm90 +n091=rm91 +n092=rm92 +n093=rm93 +n094=rm94 +n095=rm95 +n098=rm98 +n099=rm99 +n120=Intro +n221=rm221 +n222=rm222 +n255=Class_255_0 +n301=WearCrown +n302=TimeOut +n303=PlayIt +n304=PlayFlute +n305=ShootBow +n306=ReadBook +n307=openPbox +n333=rm333 +n501=WaterReg +n503=BeachReg +n504=Gull Region +n505=gfReg +n506=MeadReg +n507=Woods Region +n508=Forest Region +n509=sForReg +n510=CemReg +n511=MountReg +n512=RiverReg +n513=SwampReg +n514=regPan +n516=Notes +n517=Ogre's Region +n518=regUnicorn +n519=Ocean Region +n520=KQ4Music +n521=EndMusic +n600=rg600 +n601=regDwarfHouse +n602=regOgreHouse +n603=GhostWander +n604=regBFCastle +n605=regTroll +n654=rm654 +n690=rm690 +n692=rm692 +n693=rm693 +n694=rm694 +n697=rm697 +n698=rm698 +n699=rm699 +n700=rm700 +n701=CopyProtect +n801=DebugMenu +n985=Avoid +n987=Gauge +n988=Extra +n989=Sound +n990=SysWindow +n991=Jump +n992=Cycle +n993=GameFile.sh +n994=Game +n995=InvI +n996=User +n997=MenuBar +n998=Feature +n999=Obj +[View] +n900=Rap View diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Avoid.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Avoid.sc new file mode 100644 index 0000000..9a24ff8 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Avoid.sc @@ -0,0 +1,226 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 985) +(include sci.sh) +(use Obj) + + +(class Avoid of Obj + (properties + client 0 + heading -1000 + bumpTurn 0 + lastBumped 0 + thisTurn 1 + escaping 0 + escapes 0 + escapeTurn 1 + nearestDist 32000 + counter 0 + nonBumps 10 + targetX 0 + targetY 0 + motionInited 0 + outOfTouch 0 + offScreenOK 0 + ) + + (method (init theClient theOffScreenOK) + (if (>= argc 1) (= client theClient)) + (if (>= argc 2) (= offScreenOK theOffScreenOK)) + (= heading (client heading?)) + (= counter 0) + (= nonBumps 10) + (= escaping 0) + ) + + (method (doit &tmp theHeading theNearestDist clientX clientY theTargetX theTargetY clientMover temp7 temp8 clientMoverB_moveCnt temp10 temp11 temp12 temp13) + (cond + ((not (= clientMover (client mover?))) (= heading -1000) (return)) + ((clientMover onTarget:) + (if motionInited else (InitBresen clientMover)) + (clientMover doit:) + (return) + ) + ((== heading -1000) (self init:)) + ) + (= temp13 0) + (= temp12 (<= nonBumps 3)) + (clientMover setTarget:) + (= theTargetX (clientMover x?)) + (= theTargetY (clientMover y?)) + (= clientX (client x?)) + (= clientY (client y?)) + (= temp7 + (GetAngle clientX clientY theTargetX theTargetY) + ) + (= theNearestDist + (GetDistance clientX clientY theTargetX theTargetY) + ) + (= theHeading + (= heading (proc999_1 (* 45 (/ heading 45)) 360)) + ) + (cond + ( + (not (if escaping else (= temp12 (<= nonBumps 2)))) + (if (not motionInited) + (= motionInited 1) + (InitBresen clientMover) + ) + (clientMover doit:) + (if + (or (!= clientX (client x?)) (!= clientY (client y?))) + (self pickLoop: temp7) + (++ nonBumps) + (return) + else + (= nonBumps 0) + (= temp13 1) + (= motionInited 0) + ) + ) + ( + (< + (= clientMoverB_moveCnt (clientMover b-moveCnt?)) + (client moveSpeed?) + ) + (clientMover b-moveCnt: (++ clientMoverB_moveCnt)) + (return) + ) + (else (clientMover b-moveCnt: 0)) + ) + (cond + ( + (or + (!= targetX (= targetX theTargetX)) + (!= targetY (= targetY theTargetY)) + (and + escaping + (or + (<= (-- counter) 0) + (and (< theNearestDist nearestDist) (< counter 40)) + ) + ) + ) + (= motionInited (= escaping 0)) + (= nearestDist 32000) + (= counter 0) + ) + (escaping 1) + ((< theNearestDist nearestDist) (= nearestDist theNearestDist) (= counter 0)) + ((= escaping (>= (++ counter) 50)) + (= counter (Random 40 80)) + (= escapeTurn (- escapeTurn)) + ) + ) + (cond + ((<= (= temp7 (- temp7 theHeading)) -180) (= temp7 (+ temp7 360))) + ((> temp7 180) (= temp7 (- temp7 360))) + ) + (= temp11 (<= (= temp8 (Abs temp7)) 90)) + (= thisTurn + (if + (cond + (escaping (proc999_0 temp7)) + (temp11 (proc999_0 temp7)) + (bumpTurn) + (lastBumped) + (else (proc999_0 temp7)) + ) + else + escapeTurn + ) + ) + (if (and (> temp8 22) (or 0 (not escaping))) + (= heading (+ heading (* thisTurn 45))) + ) + (if escaping (= thisTurn escapeTurn)) + (self incClientPos:) + (if (self canBeHere:) + (++ nonBumps) + (= bumpTurn 0) + (if (not escaping) (return)) + else + (= lastBumped bumpTurn) + (= bumpTurn thisTurn) + (= nonBumps 0) + ) + (if escaping + (= theHeading (* 45 (/ heading 45))) + (= temp10 0) + (while (and (< temp10 8) (self canBeHere:)) + (= heading + (proc999_1 (+ theHeading (* 45 temp10 escapeTurn)) 360) + ) + (client x: clientX y: clientY) + (self incClientPos:) + (++ temp10) + ) + (if (== temp10 8) + (= heading (+ heading (* escapeTurn 45))) + ) + (= theHeading heading) + ) + (= temp10 (= clientMoverB_moveCnt 1)) + (while + (and + (not (self canBeHere:)) + (< clientMoverB_moveCnt 8) + ) + (client x: clientX y: clientY) + (= heading (- theHeading (* 45 temp10 thisTurn))) + (self incClientPos:) + (= temp10 + (cond + (escaping (++ clientMoverB_moveCnt)) + (temp13 (- (++ clientMoverB_moveCnt))) + ((> temp10 0) (- temp10)) + (else (++ clientMoverB_moveCnt)) + ) + ) + ) + (if (not (self canBeHere:)) (client findPosn:)) + (self pickLoop: heading) + ) + + (method (incClientPos) + (client + x: + (+ + (client x?) + (* (proc999_0 (TimesSin heading 100)) (client xStep?)) + ) + y: + (- + (client y?) + (* (proc999_0 (TimesCos heading 100)) (client yStep?)) + ) + heading: heading + ) + ) + + (method (pickLoop param1) + (client heading: param1) + (if (client looper?) + ((client looper?) doit: client param1) + else + (DirLoop client param1) + ) + ) + + (method (canBeHere) + (return + (if (client canBeHere:) + (cond + (offScreenOK) + ((<= 0 (client x?)) + (if (<= (client x?) 320) + (if (<= 0 (client y?)) (<= (client y?) 200)) + ) + ) + ) + else + 0 + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Avoid.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Avoid.sco new file mode 100644 index 0000000..4397c8b Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Avoid.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/BeachReg.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/BeachReg.sc new file mode 100644 index 0000000..1b7879b --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/BeachReg.sc @@ -0,0 +1,136 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 503) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Cycle) +(use Game) +(use InvI) +(use Obj) + +(public + beachReg 0 +) +(synonyms + (ocean seawater ocean) +) + +(local + [local0 7] + local7 + gEgoViewer +) +(instance beachReg of Rgn + (properties) + + (method (init) + (super init:) + (Load rsVIEW 21) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if (== (pEvent type?) evSAID) + (cond + ((Said 'look>') + (cond + ((Said '') + (cond + ((!= global105 4) (Print 503 16)) + ((Said '') + (cond + ((Said '/flora') (Print 510 0)) + ((Said '/boulder') (Print 510 1)) + ((Said '/dirt,down') (Print 510 2)) + ((Said '/grass') (Print 510 3)) + ((Said '/bush') (Print 510 4)) + ((Said '/blossom') (Print 510 5)) + ((Said '/fence') (Print 510 6)) + ((Said '/forest') (Print 510 7)) + ((Said '/cemetery,cemetery') (Print 510 8)) + ((Said '/grave,crypt') (Print 510 9)) + ((Said '/gravestone') (Print 510 10)) + ((Said '/monument') (Print 510 11)) + ((Said '/ghoul') + (if (and global100 global186) + (Print 510 12) + else + (Print 510 13) + ) + ) + ) + ) + ((Said 'get/blossom') (Print 510 14)) + ((Said 'dig[/grave,hole]') + (if (not ((Inv at: 15) owner: gEgo)) + (Print 510 15) + ) + (if (== 5 global113) (Print 510 16)) + ) + ((Said 'conceal') (= gInvSaidMe (gInv saidMe:))) + (if (gEgo has: (gInv indexOf: gInvSaidMe)) + (if (== global186 0) + (Print 510 21) + else + (Print 510 26) + ) + else + (proc0_17) + ) + ) + ) + else + 0 + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/CemReg.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/CemReg.sco new file mode 100644 index 0000000..3b12904 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/CemReg.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Class_255_0.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Class_255_0.sc new file mode 100644 index 0000000..53a9f2d --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Class_255_0.sc @@ -0,0 +1,1014 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 255) +(include sci.sh) +(use Main) +(use Obj) + +(public + Print 0 + IconPrint 1 + EditPrint 2 + GetNumber 3 + FormatPrint 4 +) + +(local + local0 + [local1 20] +) +(procedure (Print param1 &tmp newDialog newDText newDIcon newDEdit temp4 temp5 temp6 temp7 temp8 theGTheNewDialog temp10 temp11 [newDButton 6] temp18 temp19 temp20 [temp21 1000]) + (= temp11 (GetPort)) + (= temp6 (= temp7 -1)) + (= theGTheNewDialog + (= temp8 + (= temp18 (= newDIcon (= newDEdit (= temp19 0)))) + ) + ) + ((= newDialog (Dialog new:)) + window: gSysWindow + name: {PrintD} + ) + (= newDText (DText new:)) + (cond + ((u< [param1 0] 1000) (GetFarText [param1 0] [param1 1] @temp21) (= temp5 2)) + ([param1 0] (StrCpy @temp21 [param1 0]) (= temp5 1)) + (else (= temp21 0) (= temp5 0)) + ) + (newDText + text: @temp21 + moveTo: 4 4 + font: gUserFont + setSize: + ) + (newDialog add: newDText) + (= temp5 temp5) + (while (< temp5 argc) + (switch [param1 temp5] + (30 + (++ temp5) + (newDText mode: [param1 temp5]) + ) + (33 + (++ temp5) + (newDText font: [param1 temp5] setSize: temp8) + ) + (70 + (= temp8 [param1 (++ temp5)]) + (newDText setSize: temp8) + ) + (25 + (++ temp5) + (newDialog time: [param1 temp5]) + ) + (80 + (++ temp5) + (newDialog text: [param1 temp5]) + ) + (67 + (= temp6 [param1 (++ temp5)]) + (= temp7 [param1 (++ temp5)]) + ) + (83 + (Animate (gCast elements?) 0) + ) + (41 + (++ temp5) + ((= newDEdit (DEdit new:)) text: [param1 temp5]) + (++ temp5) + (newDEdit max: [param1 temp5] setSize:) + ) + (81 + ((= [newDButton temp19] (DButton new:)) + text: [param1 (++ temp5)] + value: [param1 (++ temp5)] + setSize: + ) + (= temp18 (+ temp18 ([newDButton temp19] nsRight?) 4)) + (++ temp19) + ) + (82 + (if (not newDIcon) (= newDIcon (DIcon new:))) + (newDIcon + view: [param1 (+ temp5 1)] + loop: [param1 (+ temp5 2)] + cel: [param1 (+ temp5 3)] + setSize: + ) + (= temp5 (+ temp5 3)) + ) + (88 + (if gModelessDlg (gModelessDlg dispose:)) + (= theGTheNewDialog newDialog) + ) + (35 + (++ temp5) + (newDialog window: [param1 temp5]) + ) + ) + (++ temp5) + ) + (if newDIcon + (newDIcon moveTo: 4 4) + (newDText + moveTo: (+ 4 (newDIcon nsRight?)) (newDText nsTop?) + ) + (newDialog add: newDIcon) + ) + (newDialog setSize:) + (if newDEdit + (newDEdit + moveTo: (newDText nsLeft?) (+ 4 (newDText nsBottom?)) + ) + (newDialog add: newDEdit setSize:) + ) + (= temp20 + (if (> temp18 (newDialog nsRight?)) + 4 + else + (- (newDialog nsRight?) temp18) + ) + ) + (= temp5 0) + (while (< temp5 temp19) + ([newDButton temp5] moveTo: temp20 (newDialog nsBottom?)) + (newDialog add: [newDButton temp5]) + (= temp20 (+ 4 ([newDButton temp5] nsRight?))) + (++ temp5) + ) + (newDialog setSize: center:) + (if (and newDIcon (not (StrLen @temp21))) + (newDIcon + moveTo: + (/ + (- + (- (newDialog nsRight?) (newDialog nsLeft?)) + (- (newDIcon nsRight?) (newDIcon nsLeft?)) + ) + 2 + ) + 4 + ) + ) + (newDialog + moveTo: + (if (== -1 temp6) (newDialog nsLeft?) else temp6) + (if (== -1 temp7) (newDialog nsTop?) else temp7) + ) + (newDialog + open: (if (newDialog text?) 4 else 0) (if theGTheNewDialog 15 else -1) + ) + (if theGTheNewDialog + (= local0 (GetPort)) + (SetPort temp11) + (return (= gModelessDlg theGTheNewDialog)) + ) + (if + (and + (= temp10 (newDialog firstTrue: #checkState 1)) + (not (newDialog firstTrue: #checkState 2)) + ) + (temp10 state: (| (temp10 state?) $0002)) + ) + (if (== (= temp4 (newDialog doit: temp10)) -1) + (= temp4 0) + ) + (= temp5 0) + (while (< temp5 temp19) + (if (== temp4 [newDButton temp5]) + (= temp4 (temp4 value?)) + (break) + ) + (++ temp5) + ) + (if (not (newDialog theItem?)) (= temp4 1)) + (newDialog dispose:) + (return temp4) +) + +(procedure (IconPrint param1 param2 param3 param4) + (Print param1 82 param2 param3 param4 &rest) +) + +(procedure (EditPrint param1 param2 param3 &tmp [temp0 4]) + (if + (Print + (if (>= argc 3) param3 else {}) + 41 + param1 + param2 + &rest + ) + (StrLen param1) + ) +) + +(procedure (GetNumber param1 param2 &tmp [temp0 40]) + (= temp0 0) + (if (> argc 1) (Format @temp0 255 0 param2)) + (return + (if (EditPrint @temp0 5 param1) + (ReadNumber @temp0) + else + -1 + ) + ) +) + +(procedure (FormatPrint &tmp [temp0 500]) + (Format @temp0 &rest) + (Print @temp0) +) + +(procedure (localproc_0014 &tmp newEvent temp1) + (= temp1 (!= ((= newEvent (Event new:)) type?) 2)) + (newEvent dispose:) + (return temp1) +) + +(class Class_255_0 of Obj + (properties + state $0000 + ) + + (method (draw) + (= state 1) + (DrawMenuBar 1) + ) + + (method (hide) + (DrawMenuBar 0) + ) + + (method (handleEvent pEvent) + (return (if state (MenuSelect pEvent &rest) else 0)) + ) + + (method (add) + (AddMenu &rest) + ) +) + +(class Class_255_1 of Obj + (properties + type $0000 + state $0000 + nsTop 0 + nsLeft 0 + nsBottom 0 + nsRight 0 + key 0 + said 0 + value 0 + ) + + (method (doit) + (return value) + ) + + (method (enable param1) + (if param1 + (= state (| state $0001)) + else + (= state (& state $fffe)) + ) + ) + + (method (select param1) + (if param1 + (= state (| state $0008)) + else + (= state (& state $fff7)) + ) + (self draw:) + ) + + (method (handleEvent pEvent &tmp temp0 pEventType temp2) + (if (pEvent claimed?) (return 0)) + (= temp0 0) + (if + (and + (& state $0001) + (or + (and + (== (= pEventType (pEvent type?)) 128) + (Said said) + ) + (and + (== pEventType evKEYBOARD) + (== (pEvent message?) key) + ) + (and (== pEventType evMOUSEBUTTON) (self check: pEvent)) + ) + ) + (pEvent claimed: 1) + (= temp0 (self track: pEvent)) + ) + (return temp0) + ) + + (method (check param1) + (return + (if + (and + (>= (param1 x?) nsLeft) + (>= (param1 y?) nsTop) + (< (param1 x?) nsRight) + ) + (< (param1 y?) nsBottom) + else + 0 + ) + ) + ) + + (method (track param1 &tmp temp0 temp1) + (return + (if (== 1 (param1 type?)) + (= temp1 0) + (repeat + (= param1 (Event new: -32768)) + (GlobalToLocal param1) + (if (!= (= temp0 (self check: param1)) temp1) + (HiliteControl self) + (= temp1 temp0) + ) + (param1 dispose:) + (breakif (not (localproc_0014))) + ) + (if temp0 (HiliteControl self)) + (return temp0) + else + (return self) + ) + ) + ) + + (method (setSize) + ) + + (method (move param1 param2) + (= nsRight (+ nsRight param1)) + (= nsLeft (+ nsLeft param1)) + (= nsTop (+ nsTop param2)) + (= nsBottom (+ nsBottom param2)) + ) + + (method (moveTo param1 param2) + (self move: (- param1 nsLeft) (- param2 nsTop)) + ) + + (method (draw) + (DrawControl self) + ) + + (method (isType param1) + (return (== type param1)) + ) + + (method (checkState param1) + (return (& state param1)) + ) +) + +(class DText of Class_255_1 + (properties + type $0002 + state $0000 + nsTop 0 + nsLeft 0 + nsBottom 0 + nsRight 0 + key 0 + said 0 + value 0 + text 0 + font 1 + mode 0 + ) + + (method (new &tmp temp0) + ((super new:) font: gUserFont yourself:) + ) + + (method (setSize param1 &tmp [temp0 4]) + (TextSize @[temp0 0] text font (if argc param1 else 0)) + (= nsBottom (+ nsTop [temp0 2])) + (= nsRight (+ nsLeft [temp0 3])) + ) +) + +(class DIcon of Class_255_1 + (properties + type $0004 + state $0000 + nsTop 0 + nsLeft 0 + nsBottom 0 + nsRight 0 + key 0 + said 0 + value 0 + view 0 + loop 0 + cel 0 + ) + + (method (setSize &tmp [temp0 4]) + (= nsRight (+ nsLeft (CelWide view loop cel))) + (= nsBottom (+ nsTop (CelHigh view loop cel))) + ) +) + +(class DButton of Class_255_1 + (properties + type $0001 + state $0003 + nsTop 0 + nsLeft 0 + nsBottom 0 + nsRight 0 + key 0 + said 0 + value 0 + text 0 + font 0 + ) + + (method (setSize &tmp [temp0 4]) + (TextSize @[temp0 0] text font) + (= [temp0 2] (+ [temp0 2] 2)) + (= [temp0 3] (+ [temp0 3] 2)) + (= nsBottom (+ nsTop [temp0 2])) + (= [temp0 3] (* (/ (+ [temp0 3] 15) 16) 16)) + (= nsRight (+ [temp0 3] nsLeft)) + ) +) + +(class DEdit of Class_255_1 + (properties + type $0003 + state $0001 + nsTop 0 + nsLeft 0 + nsBottom 0 + nsRight 0 + key 0 + said 0 + value 0 + text 0 + font 0 + max 0 + cursor 0 + ) + + (method (track param1) + (EditControl self param1) + (return self) + ) + + (method (setSize &tmp [temp0 4]) + (TextSize @[temp0 0] {M} font) + (= nsBottom (+ nsTop [temp0 2])) + (= nsRight (+ nsLeft (/ (* [temp0 3] max 3) 4))) + (= cursor (StrLen text)) + ) +) + +(class DSelector of Class_255_1 + (properties + type $0006 + state $0000 + nsTop 0 + nsLeft 0 + nsBottom 0 + nsRight 0 + key 0 + said 0 + value 0 + font 0 + x 20 + y 6 + text 0 + cursor 0 + lsTop 0 + mark 0 + ) + + (method (handleEvent pEvent &tmp temp0 [temp1 3] temp4 [temp5 4]) + (if (pEvent claimed?) (return 0)) + (if (== evJOYSTICK (pEvent type?)) + (pEvent type: 4) + (switch (pEvent message?) + (JOY_DOWN + (pEvent message: 20480) + ) + (JOY_UP (pEvent message: 18432)) + (else (pEvent type: 64)) + ) + ) + (= temp0 0) + (switch (pEvent type?) + (evKEYBOARD + (pEvent claimed: 1) + (switch (pEvent message?) + (KEY_NUMPAD7 (self retreat: 50)) + (KEY_NUMPAD1 (self advance: 50)) + (KEY_PAGEUP + (self advance: (- y 1)) + ) + (KEY_PAGEDOWN + (self retreat: (- y 1)) + ) + (KEY_NUMPAD2 (self advance: 1)) + (KEY_UP (self retreat: 1)) + (else (pEvent claimed: 0)) + ) + ) + (evMOUSEBUTTON + (if (self check: pEvent) + (pEvent claimed: 1) + (cond + ((< (pEvent y?) (+ nsTop 10)) + (repeat + (self retreat: 1) + (breakif (not (localproc_0014))) + ) + ) + ((> (pEvent y?) (- nsBottom 10)) + (repeat + (self advance: 1) + (breakif (not (localproc_0014))) + ) + ) + (else + (TextSize @[temp5 0] {M} font) + (if + (> + (= temp4 (/ (- (pEvent y?) (+ nsTop 10)) [temp5 2])) + mark + ) + (self advance: (- temp4 mark)) + else + (self retreat: (- mark temp4)) + ) + ) + ) + ) + ) + ) + (return + (if (and (pEvent claimed?) (& state $0002)) + self + else + 0 + ) + ) + ) + + (method (setSize &tmp [temp0 4]) + (TextSize @[temp0 0] {M} font) + (= nsBottom (+ nsTop 20 (* [temp0 2] y))) + (= nsRight (+ nsLeft (/ (* [temp0 3] x 3) 4))) + (= lsTop (= cursor text)) + (= mark 0) + ) + + (method (indexOf param1 &tmp theText temp1) + (= theText text) + (= temp1 0) + (return + (while (< temp1 300) + (if (== 0 (StrLen theText)) (return -1)) + (if (not (StrCmp param1 theText)) (return temp1)) + (= theText (+ theText x)) + (++ temp1) + ) + ) + ) + + (method (at param1) + (return (+ text (* x param1))) + ) + + (method (advance param1 &tmp temp0) + (= temp0 0) + (while (and param1 (StrAt cursor x)) + (= temp0 1) + (= cursor (+ cursor x)) + (if (< (+ mark 1) y) + (++ mark) + else + (= lsTop (+ lsTop x)) + ) + (-- param1) + ) + (if temp0 (self draw:)) + ) + + (method (retreat param1 &tmp temp0) + (= temp0 0) + (while (and param1 (!= cursor text)) + (= temp0 1) + (= cursor (- cursor x)) + (if mark (-- mark) else (= lsTop (- lsTop x))) + (-- param1) + ) + (if temp0 (self draw:)) + ) +) + +(class Dialog of List + (properties + elements 0 + size 0 + text 0 + window 0 + theItem 0 + nsTop 0 + nsLeft 0 + nsBottom 0 + nsRight 0 + time 0 + timer 0 + busy 0 + ) + + (method (doit param1 &tmp temp0 temp1 temp2 temp3 temp4) + (asm + ldi 0 + sat temp0 + ldi 1 + aTop busy + pToa theItem + bnt code_08e1 + pushi #select + pushi 1 + pushi 0 + send 6 +code_08e1: + lap argc + bnt code_08f0 + lap param1 + bnt code_08f0 + lap param1 + jmp code_08f9 +code_08f0: + pushi #firstTrue + pushi 2 + pushi 146 + pushi 1 + self 8 +code_08f9: + aTop theItem + pToa theItem + bnt code_0907 + pushi #select + pushi 1 + pushi 1 + send 6 +code_0907: + pToa theItem + not + bnt code_091a + ldi 60 + sat temp3 + pushi 0 + callk GetTime, 0 + sat temp4 + jmp code_091e +code_091a: + ldi 0 + sat temp3 +code_091e: + ldi 0 + sat temp2 +code_0922: + lat temp2 + not + bnt code_09a2 + pushi 1 + pushi #new + pushi 0 + class Event + send 4 + sat temp1 + push + callk GlobalToLocal, 2 + lat temp3 + bnt code_0969 + -at temp3 + pushi #type + pushi 0 + lat temp1 + send 4 + push + ldi 1 + eq? + bnt code_0953 + pushi #type + pushi 1 + pushi 0 + lat temp1 + send 6 +code_0953: + lst temp4 + pushi 0 + callk GetTime, 0 + eq? + bnt code_0963 + jmp code_0953 + jmp code_0953 +code_0963: + pushi 0 + callk GetTime, 0 + sat temp4 +code_0969: + pushi #handleEvent + pushi 1 + lst temp1 + self 6 + sat temp2 + pushi #dispose + pushi 0 + lat temp1 + send 4 + pToa timer + bnt code_0983 + pushi #doit + pushi 0 + send 4 +code_0983: + lst temp2 + ldi 65535 + eq? + bt code_0991 + pToa busy + not + bnt code_0922 +code_0991: + ldi 0 + sat temp2 + pushi 2 + pTos theItem + pushi 0 + callk EditControl, 4 + jmp code_09a2 + jmp code_0922 +code_09a2: + ldi 0 + aTop busy + lat temp2 + ret + ) + ) + + (method (dispose) + (if (== self gModelessDlg) + (SetPort local0) + (= gModelessDlg 0) + (= local0 0) + ) + (if window (window dispose:)) + (= window 0) + (if timer (timer dispose: delete:)) + (= theItem 0) + (super dispose:) + ) + + (method (open param1 param2) + (if (and (PicNotValid) gCast) + (Animate (gCast elements?) 0) + ) + (= window (window new:)) + (window + top: nsTop + left: nsLeft + bottom: nsBottom + right: nsRight + title: text + type: param1 + priority: param2 + open: + ) + (if time (Timer setReal: self time)) + (self draw:) + ) + + (method (draw) + (self eachElementDo: #draw) + ) + + (method (cue) + (if (not busy) (self dispose:) else (= busy 0)) + ) + + (method (advance &tmp temp0 dialogFirst) + (if theItem + (theItem select: 0) + (= dialogFirst (self contains: theItem)) + (repeat + (if (not (= dialogFirst (self next: dialogFirst))) + (= dialogFirst (self first:)) + ) + (= theItem (NodeValue dialogFirst)) + (if (& (theItem state?) $0001) (break)) + ) + (theItem select: 1) + ) + ) + + (method (retreat &tmp temp0 dialogLast) + (if theItem + (theItem select: 0) + (= dialogLast (self contains: theItem)) + (repeat + (if (not (= dialogLast (self prev: dialogLast))) + (= dialogLast (self last:)) + ) + (= theItem (NodeValue dialogLast)) + (if (& (theItem state?) $0001) (break)) + ) + (theItem select: 1) + ) + ) + + (method (move param1 param2) + (= nsRight (+ nsRight param1)) + (= nsLeft (+ nsLeft param1)) + (= nsTop (+ nsTop param2)) + (= nsBottom (+ nsBottom param2)) + ) + + (method (moveTo param1 param2) + (self move: (- param1 nsLeft) (- param2 nsTop)) + ) + + (method (center) + (self + moveTo: + (+ + (window brLeft?) + (/ + (- + (- (window brRight?) (window brLeft?)) + (- nsRight nsLeft) + ) + 2 + ) + ) + (+ + (window brTop?) + (/ + (- + (- (window brBottom?) (window brTop?)) + (- nsBottom nsTop) + ) + 2 + ) + ) + ) + ) + + (method (setSize &tmp dialogFirst temp1 [theNsTop 4]) + (if text + (TextSize @[theNsTop 0] text 0 -1) + (= nsTop [theNsTop 0]) + (= nsLeft [theNsTop 1]) + (= nsBottom [theNsTop 2]) + (= nsRight [theNsTop 3]) + else + (= nsRight (= nsBottom (= nsLeft (= nsTop 0)))) + ) + (= dialogFirst (self first:)) + (while dialogFirst + (if + (< ((= temp1 (NodeValue dialogFirst)) nsLeft?) nsLeft) + (= nsLeft (temp1 nsLeft?)) + ) + (if (< (temp1 nsTop?) nsTop) (= nsTop (temp1 nsTop?))) + (if (> (temp1 nsRight?) nsRight) + (= nsRight (temp1 nsRight?)) + ) + (if (> (temp1 nsBottom?) nsBottom) + (= nsBottom (temp1 nsBottom?)) + ) + (= dialogFirst (self next: dialogFirst)) + ) + (= nsRight (+ nsRight 4)) + (= nsBottom (+ nsBottom 4)) + (self moveTo: 0 0) + ) + + (method (handleEvent pEvent &tmp theTheItem) + (if + (or + (pEvent claimed?) + (== (pEvent type?) evNULL) + (and + (!= evMOUSEBUTTON (pEvent type?)) + (!= evKEYBOARD (pEvent type?)) + (!= evJOYSTICK (pEvent type?)) + (!= evJOYDOWN (pEvent type?)) + ) + ) + (EditControl theItem pEvent) + (return 0) + ) + (if + (= theTheItem (self firstTrue: #handleEvent pEvent)) + (EditControl theItem 0) + (cond + ((theTheItem isType: 3) + (if theItem (theItem select: 0)) + ((= theItem theTheItem) select: 1) + (= theTheItem 0) + ) + ((not (theTheItem checkState: 2)) (theTheItem doit:) (self advance:) (= theTheItem 0)) + ) + else + (= theTheItem 0) + (cond + ( + (and + (or + (== (pEvent type?) evJOYDOWN) + (and + (== evKEYBOARD (pEvent type?)) + (== KEY_RETURN (pEvent message?)) + ) + ) + theItem + (theItem checkState: 1) + ) + (= theTheItem theItem) + (EditControl theItem 0) + (pEvent claimed: 1) + ) + ( + (or + (and + (not (self firstTrue: #checkState 1)) + (or + (and + (== evKEYBOARD (pEvent type?)) + (== KEY_RETURN (pEvent message?)) + ) + (== evMOUSEBUTTON (pEvent type?)) + (== evJOYDOWN (pEvent type?)) + ) + ) + (and + (== evKEYBOARD (pEvent type?)) + (== KEY_ESCAPE (pEvent message?)) + ) + ) + (pEvent claimed: 1) + (= theTheItem -1) + ) + ( + (and + (== evKEYBOARD (pEvent type?)) + (== KEY_TAB (pEvent message?)) + ) + (pEvent claimed: 1) + (self advance:) + ) + ( + (and + (== evKEYBOARD (pEvent type?)) + (== KEY_SHIFTTAB (pEvent message?)) + ) + (pEvent claimed: 1) + (self retreat:) + ) + (else (EditControl theItem pEvent)) + ) + ) + (return theTheItem) + ) +) + +(class Controls of List + (properties + elements 0 + size 0 + ) + + (method (draw) + (self eachElementDo: #setSize) + (self eachElementDo: #draw) + ) + + (method (handleEvent pEvent &tmp temp0) + (if (pEvent claimed?) (return 0)) + (if + (and + (= temp0 (self firstTrue: #handleEvent pEvent)) + (not (temp0 checkState: 2)) + ) + (temp0 doit:) + (= temp0 0) + ) + (return temp0) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Class_255_0.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Class_255_0.sco new file mode 100644 index 0000000..b0b3d23 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Class_255_0.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/CopyProtect.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/CopyProtect.sc new file mode 100644 index 0000000..4bffa11 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/CopyProtect.sc @@ -0,0 +1,551 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 701) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Game) +(use MenuBar) + +(public + copyProtect 0 +) + +(local + local0 + local1 + local2 + [local3 30] + local33 + local34 + local35 +) +(instance copyProtect of Rm + (properties + picture 991 + ) + + (method (init) + (super init:) + (switch (= local0 (Random 1 79)) + (1 (= local2 431)) + (2 (= local2 521)) + (3 (= local2 535)) + (4 (= local2 323)) + (5 (= local2 621)) + (6 (= local2 480)) + (7 (= local2 303)) + (8 (= local2 671)) + (9 (= local2 393)) + (10 (= local2 380)) + (11 (= local2 470)) + (12 (= local2 287)) + (13 (= local2 352)) + (14 (= local2 316)) + (15 (= local2 317)) + (16 (= local2 355)) + (17 (= local2 616)) + (18 (= local2 475)) + (19 (= local2 383)) + (20 (= local2 425)) + (21 (= local2 516)) + (22 (= local2 673)) + (23 (= local2 550)) + (24 (= local2 666)) + (25 (= local2 465)) + (26 (= local2 617)) + (27 (= local2 628)) + (28 (= local2 395)) + (29 (= local2 505)) + (30 (= local2 492)) + (31 (= local2 478)) + (32 (= local2 455)) + (33 (= local2 455)) + (34 (= local2 599)) + (35 (= local2 431)) + (36 (= local2 565)) + (37 (= local2 455)) + (38 (= local2 467)) + (39 (= local2 691)) + (40 (= local2 535)) + (41 (= local2 432)) + (42 (= local2 621)) + (43 (= local2 372)) + (44 (= local2 536)) + (45 (= local2 395)) + (46 (= local2 496)) + (47 (= local2 372)) + (48 (= local2 389)) + (49 (= local2 374)) + (50 (= local2 523)) + (51 (= local2 286)) + (52 (= local2 454)) + (53 (= local2 273)) + (54 (= local2 579)) + (55 (= local2 282)) + (56 (= local2 354)) + (57 (= local2 602)) + (58 (= local2 463)) + (59 (= local2 653)) + (60 (= local2 691)) + (61 (= local2 309)) + (62 (= local2 519)) + (63 (= local2 380)) + (64 (= local2 446)) + (65 (= local2 302)) + (66 (= local2 599)) + (67 (= local2 357)) + (68 (= local2 399)) + (69 (= local2 381)) + (70 (= local2 771)) + (71 (= local2 378)) + (72 (= local2 378)) + (73 (= local2 434)) + (74 (= local2 614)) + (75 (= local2 395)) + (76 (= local2 381)) + (77 (= local2 456)) + (78 (= local2 384)) + (79 (= local2 686)) + ) + (switch local0 + (1 + (= local1 + {On page 2, what is the fourth word of the first sentence?} + ) + ) + (2 + (= local1 + {On page 2, what is the fourth word of the second paragraph?} + ) + ) + (3 + (= local1 + {On page 3, what is the fourth word in the first paragraph?} + ) + ) + (4 + (= local1 + {On page 3, what is the sixth word in the first paragraph?} + ) + ) + (5 + (= local1 + {On page 3, what is the fourth word in the third paragraph?} + ) + ) + (6 + (= local1 + {On page 3, what is the third word in the second paragraph?} + ) + ) + (7 + (= local1 + {On page 8, what is the first word of the first paragraph?} + ) + ) + (8 + (= local1 + {On page 3, what is the seventh word in the third paragraph?} + ) + ) + (9 + (= local1 + {On page 3, what is the last word of the third paragraph?} + ) + ) + (10 + (= local1 + {On page 4, what is the third word in the first paragraph?} + ) + ) + (11 + (= local1 + {On page 4, what is the last word in the third paragraph?} + ) + ) + (12 + (= local1 + {On page 4, what is the sixth word of the first paragraph?} + ) + ) + (13 + (= local1 + {On page 3, what is the eighth word in the third paragraph?} + ) + ) + (14 + (= local1 + {On page 4, what is the seventh word in the first paragraph?} + ) + ) + (15 + (= local1 + {On page 4, what is the third word in the third paragraph?} + ) + ) + (16 + (= local1 + {On page 4, what is the eighth word in the third paragraph?} + ) + ) + (17 + (= local1 + {On page 5, what is the fifth word in the second paragraph?} + ) + ) + (18 + (= local1 + {On page 5, what is the second word in the third paragraph?} + ) + ) + (19 + (= local1 + {On page 5, what is the fourth word in the first paragraph?} + ) + ) + (20 + (= local1 + {On page 5, what is the ninth word in the fifth paragraph?} + ) + ) + (21 + (= local1 + {On page 6, what is the third word in the first paragraph?} + ) + ) + (22 + (= local1 + {On page 6, what is the fifth word in the first paragraph?} + ) + ) + (23 + (= local1 + {On page 6, what is the sixth word in the second paragraph?} + ) + ) + (24 + (= local1 + {On page 7, what is the first word in the first paragraph?} + ) + ) + (25 + (= local1 + {On page 7, what is the tenth word in the first paragraph?} + ) + ) + (26 + (= local1 + {On page 7, what is the third word in the second paragraph?} + ) + ) + (27 + (= local1 + {On page 7, what is the fifth word in the second paragraph?} + ) + ) + (28 + (= local1 + {On page 7, what is the second word in the third paragraph?} + ) + ) + (29 + (= local1 + {On page 8, what is the fifth word in the first paragraph?} + ) + ) + (30 + (= local1 + {On page 8, what is the last word of the first sentence in the first paragraph?} + ) + ) + (31 + (= local1 + {On page 6, what is the last word in the second paragraph?} + ) + ) + (32 + (= local1 + {On page 8, what is the second word in the third paragraph?} + ) + ) + (33 + (= local1 + {On page 8, what is the sixth word in the third paragraph?} + ) + ) + (34 + (= local1 + {On page 8, what is the ninth word in the third paragraph?} + ) + ) + (35 + (= local1 + {On page 9, what is the third word in the first paragraph?} + ) + ) + (36 + (= local1 + {On page 9, what is the fourth word in the first paragraph?} + ) + ) + (37 + (= local1 + {On page 9, what is the seventh word in the first paragraph?} + ) + ) + (38 + (= local1 + {On page 6, what is the fourth word in the second paragraph?} + ) + ) + (39 + (= local1 + {On page 6, what is the eighth word in the second paragraph?} + ) + ) + (40 + (= local1 + {On page 9, what is the seventh word in the second paragraph?} + ) + ) + (41 + (= local1 + {On page 5, what is the seventh word in the fifth paragraph?} + ) + ) + (42 + (= local1 + {On page 2, what is the sixth word in the second paragraph?} + ) + ) + (43 + (= local1 + {On page 2, what is the eighth word in the second paragraph?} + ) + ) + (44 + (= local1 + {On page 3, what is the tenth word in the first paragraph?} + ) + ) + (45 + (= local1 + {On page 4, what is the second word in the second paragraph?} + ) + ) + (46 + (= local1 + {On page 4, what is the fourth word in the third paragraph?} + ) + ) + (47 + (= local1 + {On page 5, what is the third word in the second paragraph?} + ) + ) + (48 + (= local1 + {On page 5, what is the eighth word in the third paragraph?} + ) + ) + (49 + (= local1 + {On page 5, what is the eighth word in the fourth paragraph?} + ) + ) + (50 + (= local1 + {On page 6, what is the ninth word in the first paragraph?} + ) + ) + (51 + (= local1 + {On page 7, what is the ninth word of the third paragraph?} + ) + ) + (52 + (= local1 + {What is the second word of the first paragraph in the OVERVIEW?} + ) + ) + (53 + (= local1 + {What is the first word of the second paragraph in the OVERVIEW?} + ) + ) + (54 + (= local1 + {What is the third word of the second paragraph in the OVERVIEW?} + ) + ) + (55 + (= local1 + {What is the sixth word of the first paragraph in the OVERVIEW?} + ) + ) + (56 + (= local1 + {In the section TIPS FOR NEW ADVENTURE PLAYERS, what is the first word of tip #1 (HOW TO MOVE AROUND)?} + ) + ) + (57 + (= local1 + {In the section TIPS FOR NEW ADVENTURE PLAYERS, what is the sixth word of tip #1 (HOW TO MOVE AROUND)?} + ) + ) + (58 + (= local1 + {In the section TIPS FOR NEW ADVENTURE PLAYERS, what is the fifth word in the first paragraph of tip #2 (STAY OUT OF DANGER)} + ) + ) + (59 + (= local1 + {In the section TIPS FOR NEW ADVENTURE PLAYERS, what is the eighth word in the second paragraph of tip #2 (STAY OUT OF DANGER)} + ) + ) + (60 + (= local1 + {In the section TIPS FOR NEW ADVENTURE PLAYERS, what is the fourth word in the second paragraph of tip #2 (STAY OUT OF DANGER)} + ) + ) + (61 + (= local1 + {In the section TIPS FOR NEW ADVENTURE PLAYERS, what is the first word of tip #3 (BE OBSERVANT)?} + ) + ) + (62 + (= local1 + {In the section TIPS FOR NEW ADVENTURE PLAYERS, what is the fourth word of tip #3 (BE OBSERVANT)?} + ) + ) + (63 + (= local1 + {In the section TIPS FOR NEW ADVENTURE PLAYERS, what is the last word of tip #3 (BE OBSERVANT)?} + ) + ) + (64 + (= local1 + {In the section TIPS FOR NEW ADVENTURE PLAYERS, what is the last word of tip #1 (HOW TO MOVE AROUND)?} + ) + ) + (65 + (= local1 + {In the section TIPS FOR NEW ADVENTURE PLAYERS, what is the first word of tip #4 (MAP YOUR PROGRESS)?} + ) + ) + (66 + (= local1 + {In the section TIPS FOR NEW ADVENTURE PLAYERS, what is the fifth word of tip #4 (MAP YOUR PROGRESS)?} + ) + ) + (67 + (= local1 + {In the section TIPS FOR NEW ADVENTURE PLAYERS, what is the seventh word of tip #4 (MAP YOUR PROGRESS)?} + ) + ) + (68 + (= local1 + {In the section TIPS FOR NEW ADVENTURE PLAYERS, what is the ninth word of tip #4 (MAP YOUR PROGRESS)?} + ) + ) + (69 + (= local1 + {In the section TIPS FOR NEW ADVENTURE PLAYERS, what is the fourth word of tip #5 (BRING ALONG SOME HELP)?} + ) + ) + (70 + (= local1 + {In the section TIPS FOR NEW ADVENTURE PLAYERS, what is the seventh word of tip #5 (BRING ALONG SOME HELP)?} + ) + ) + (71 + (= local1 + {In the section TIPS FOR NEW ADVENTURE PLAYERS, what is the ninth word of tip #5 (BRING ALONG SOME HELP)?} + ) + ) + (72 + (= local1 + {In the section TIPS FOR NEW ADVENTURE PLAYERS, what is the last word of tip #5 (BRING ALONG SOME HELP)?} + ) + ) + (73 + (= local1 + {What is the last word starting with "b" in the verb list?} + ) + ) + (74 + (= local1 + {In the section TIPS FOR NEW ADVENTURE PLAYERS, what is the last word of tip #7 (LEAVE NO STONE UNTURNED)?} + ) + ) + (75 + (= local1 + {In the section TIPS FOR NEW ADVENTURE PLAYERS, what is the fourth word in the first paragraph of tip #8 (AT THE END OF YOUR ROPE)?} + ) + ) + (76 + (= local1 + {In the section TIPS FOR NEW ADVENTURE PLAYERS, what is the sixth word in the first paragraph of tip #8 (AT THE END OF YOUR ROPE)?} + ) + ) + (77 + (= local1 + {In the section TIPS FOR NEW ADVENTURE PLAYERS, what is the third word in the second paragraph of tip #8 (AT THE END OF YOUR ROPE)?} + ) + ) + (78 + (= local1 + {In the section TIPS FOR NEW ADVENTURE PLAYERS, what is the last word in the first paragraph of tip #8 (AT THE END OF YOUR ROPE)?} + ) + ) + (79 + (= local1 + {In the section TIPS FOR NEW ADVENTURE PLAYERS, what is the eighth word in the first paragraph of tip #2 (STAY OUT OF DANGER)?} + ) + ) + ) + ) + + (method (doit) + (= local3 0) + (= local35 0) + (proc0_9) + (= global205 0) + (Print + (Format @global228 701 0 local1) + 67 + 7 + 5 + 33 + gSmallFont + 70 + 290 + 41 + @local3 + 30 + ) + (if + (and global215 (= local33 (ReadNumber @local3))) + (TheMenuBar draw:) + (SL enable:) + (self newRoom: local33) + (return) + ) + (= gUserFont gSmallFont) + (= local33 0) + (while (< local33 (StrLen @local3)) + (= local34 + (& (= local34 (StrAt @local3 local33)) $005f) + ) + (StrAt @local3 local33 local34) + (= local35 (+ local35 local34)) + (++ local33) + ) + (if (== local35 local2) + (gRoom newRoom: 700) + else + (Print 701 1) + (= gQuit 1) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/CopyProtect.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/CopyProtect.sco new file mode 100644 index 0000000..7067494 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/CopyProtect.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Cycle.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Cycle.sc new file mode 100644 index 0000000..8d322a8 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Cycle.sc @@ -0,0 +1,463 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 992) +(include sci.sh) +(use Main) +(use Obj) + + +(class Cycle of Obj + (properties + client 0 + caller 0 + cycleDir 1 + cycleCnt 0 + completed 0 + ) + + (method (init theClient) + (if argc (= client theClient)) + (= cycleCnt 0) + (client setCel: -1) + (client startUpd:) + ) + + (method (nextCel) + (++ cycleCnt) + (return + (if (<= cycleCnt (client cycleSpeed?)) + (client cel?) + else + (= cycleCnt 0) + (if (& (client signal?) $1000) + (client cel?) + else + (+ (client cel?) cycleDir) + ) + ) + ) + ) + + (method (cycleDone) + ) + + (method (motionCue) + (client cycler: 0) + (if (and completed (IsObject caller)) (caller cue:)) + (self dispose:) + ) +) + +(class Fwd of Cycle + (properties + client 0 + caller 0 + cycleDir 1 + cycleCnt 0 + completed 0 + ) + + (method (doit &tmp fwdNextCel) + (if + (> (= fwdNextCel (self nextCel:)) (client lastCel:)) + (self cycleDone:) + else + (client cel: fwdNextCel) + ) + ) + + (method (cycleDone) + (client cel: 0) + ) +) + +(class Walk of Fwd + (properties + client 0 + caller 0 + cycleDir 1 + cycleCnt 0 + completed 0 + ) + + (method (doit &tmp temp0) + (if (not (client isStopped:)) (super doit:)) + ) +) + +(class Rev of Cycle + (properties + client 0 + caller 0 + cycleDir -1 + cycleCnt 0 + completed 0 + ) + + (method (doit &tmp revNextCel) + (if (< (= revNextCel (self nextCel:)) 0) + (self cycleDone:) + else + (client cel: revNextCel) + ) + ) + + (method (cycleDone) + (client cel: (client lastCel:)) + ) +) + +(class CT of Cycle + (properties + client 0 + caller 0 + cycleDir 1 + cycleCnt 0 + completed 0 + endCel 0 + ) + + (method (init param1 param2 theCycleDir theCaller &tmp clientLastCel) + (super init: param1) + (= cycleDir theCycleDir) + (if (== argc 4) (= caller theCaller)) + (= endCel + (if (> param2 (= clientLastCel (client lastCel:))) + clientLastCel + else + param2 + ) + ) + ) + + (method (doit &tmp cTNextCel clientLastCel) + (if (> endCel (= clientLastCel (client lastCel:))) + (= endCel clientLastCel) + ) + (= cTNextCel (self nextCel:)) + (client + cel: + (cond + ((> cTNextCel clientLastCel) 0) + ((< cTNextCel 0) clientLastCel) + (else cTNextCel) + ) + ) + (if + (and (== cycleCnt 0) (== endCel (client cel?))) + (self cycleDone:) + ) + ) + + (method (cycleDone) + (= completed 1) + (if caller (= global58 1) else (self motionCue:)) + ) +) + +(class End of CT + (properties + client 0 + caller 0 + cycleDir 1 + cycleCnt 0 + completed 0 + endCel 0 + ) + + (method (init param1 param2) + (super + init: param1 (param1 lastCel:) 1 (if (== argc 2) param2 else 0) + ) + ) +) + +(class Beg of CT + (properties + client 0 + caller 0 + cycleDir 1 + cycleCnt 0 + completed 0 + endCel 0 + ) + + (method (init param1 param2) + (super init: param1 0 -1 (if (== argc 2) param2 else 0)) + ) +) + +(class Motion of Obj + (properties + client 0 + caller 0 + x 0 + y 0 + dx 0 + dy 0 + b-moveCnt 0 + b-i1 0 + b-i2 0 + b-di 0 + b-xAxis 0 + b-incr 0 + completed 0 + ) + + (method (init theClient theX theY theCaller &tmp [temp0 2]) + (if (>= argc 1) + (= client theClient) + (if (>= argc 2) + (= x theX) + (if (>= argc 3) + (= y theY) + (if (>= argc 4) (= caller theCaller)) + ) + ) + ) + (= b-moveCnt 0) + (theClient + heading: (GetAngle (theClient x?) (theClient y?) theX theY) + ) + (if (theClient looper?) + ((theClient looper?) + doit: theClient (theClient heading?) + ) + else + (DirLoop theClient (theClient heading?)) + ) + (InitBresen self) + ) + + (method (doit &tmp [temp0 6]) + (DoBresen self) + (if (and (== x (client x?)) (== y (client y?))) + (self moveDone:) + (return) + ) + ) + + (method (moveDone) + (= completed 1) + (if caller (= global58 1) else (self motionCue:)) + ) + + (method (triedToMove) + (return (== b-moveCnt 0)) + ) + + (method (setTarget theX theY) + (if argc (= x theX) (= y theY)) + ) + + (method (onTarget) + (return (if (== (client x?) x) (== (client y?) y) else 0)) + ) + + (method (motionCue) + (client mover: 0) + (if (and completed (IsObject caller)) (caller cue:)) + (self dispose:) + ) +) + +(class MoveTo of Motion + (properties + client 0 + caller 0 + x 0 + y 0 + dx 0 + dy 0 + b-moveCnt 0 + b-i1 0 + b-i2 0 + b-di 0 + b-xAxis 0 + b-incr 0 + completed 0 + ) + + (method (init) + (super init: &rest) + ) + + (method (onTarget) + (return + (if (<= (Abs (- (client x?) x)) (client xStep?)) + (<= (Abs (- (client y?) y)) (client yStep?)) + else + 0 + ) + ) + ) +) + +(class Wander of Motion + (properties + client 0 + caller 0 + x 0 + y 0 + dx 0 + dy 0 + b-moveCnt 0 + b-i1 0 + b-i2 0 + b-di 0 + b-xAxis 0 + b-incr 0 + completed 0 + distance 30 + ) + + (method (init theClient theDistance &tmp temp0) + (if (>= argc 1) + (= client theClient) + (if (>= argc 2) (= distance theDistance)) + ) + (= temp0 (* distance 2)) + (= x (+ (theClient x?) (- distance (Random 1 temp0)))) + (= y (+ (theClient y?) (- distance (Random 1 temp0)))) + (super init: client x y) + ) + + (method (doit) + (super doit:) + (if (client isStopped:) (self moveDone:)) + ) + + (method (moveDone) + (self init: client distance) + ) + + (method (setTarget &tmp temp0) + (= temp0 (* distance 2)) + (= x (+ (client x?) (- distance (Random 1 temp0)))) + (= y (+ (client y?) (- distance (Random 1 temp0)))) + ) + + (method (onTarget) + (return 0) + ) +) + +(class Follow of Motion + (properties + client 0 + caller 0 + x 0 + y 0 + dx 0 + dy 0 + b-moveCnt 0 + b-i1 0 + b-i2 0 + b-di 0 + b-xAxis 0 + b-incr 0 + completed 0 + who 0 + distance 20 + ) + + (method (init theClient theWho theDistance) + (if (>= argc 1) + (= client theClient) + (if (>= argc 2) + (= who theWho) + (if (>= argc 3) (= distance theDistance)) + ) + ) + (if (> (client distanceTo: who) distance) + (super init: client (who x?) (who y?)) + ) + ) + + (method (doit &tmp temp0) + (if (> (client distanceTo: who) distance) + (super doit:) + (if (== b-moveCnt 0) + (super init: client (who x?) (who y?)) + ) + else + (= temp0 + (GetAngle (client x?) (client y?) (who x?) (who y?)) + ) + (if (client looper?) + ((client looper?) doit: client temp0) + else + (DirLoop client temp0) + ) + ) + ) + + (method (moveDone) + ) + + (method (setTarget) + (cond + (argc (super setTarget: &rest)) + ((not (self onTarget:)) (super setTarget: (who x?) (who y?))) + ) + ) + + (method (onTarget) + (return (<= (client distanceTo: who) distance)) + ) +) + +(class Chase of Motion + (properties + client 0 + caller 0 + x 0 + y 0 + dx 0 + dy 0 + b-moveCnt 0 + b-i1 0 + b-i2 0 + b-di 0 + b-xAxis 0 + b-incr 0 + completed 0 + who 0 + distance 0 + ) + + (method (init theClient theWho theDistance theCaller) + (if (>= argc 1) + (= client theClient) + (if (>= argc 2) + (= who theWho) + (if (>= argc 3) + (= distance theDistance) + (if (>= argc 4) (= caller theCaller)) + ) + ) + ) + (super init: client (who x?) (who y?) caller) + ) + + (method (doit) + (if (<= (client distanceTo: who) distance) + (self moveDone:) + else + (super doit:) + (if (== b-moveCnt 0) + (super init: client (who x?) (who y?) caller) + ) + ) + ) + + (method (setTarget) + (cond + (argc (super setTarget: &rest)) + ((not (self onTarget:)) (super setTarget: (who x?) (who y?))) + ) + ) + + (method (onTarget) + (return (<= (client distanceTo: who) distance)) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Cycle.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Cycle.sco new file mode 100644 index 0000000..6f79f07 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Cycle.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/DebugMenu.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/DebugMenu.sc new file mode 100644 index 0000000..b8dbf7f --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/DebugMenu.sc @@ -0,0 +1,109 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 801) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Game) +(use InvI) +(use MenuBar) +(use Obj) + +(public + DebugMenu 0 +) + +(instance DebugMenu of Script + (properties) + + (method (init) + (AddMenu + { Debug_} + {Ego info...`@e:Show Room`@R:Free Mem`@F:Show ATPs`@P:-! :Set Debug`^D:Clicks:Set Inv`@S:Set Var`@V:Get All`@G:Log`@L:-! :Visual`#0:Priority`#6:Control`#4} + ) + (if (not (SL state?)) (TheMenuBar draw:)) + ) + + (method (doit param1 &tmp temp0 [temp1 6] [temp7 33]) + (switch param1 + (1537 + (Print + (Format + @global228 + 801 + 0 + (gEgo x?) + (gEgo y?) + (gEgo priority?) + ) + 82 + (gEgo view?) + (gEgo loop?) + (gEgo cel?) + ) + ) + (1538 + (Print (Format @temp7 801 1 gCurRoomNum)) + ) + (1539 (gGame showMem:)) + (1540 (gAddToPics showSelf:)) + (1542 (= global14 1)) + (1543 + (if (= global215 (^ global215 $0001)) + (Print 801 2) + ) + ) + (1544 + (= global228 0) + (EditPrint @global228 8 {Inv. Object}) + (= global111 (ReadNumber @global228)) + (= global228 0) + (EditPrint @global228 12 {Owner}) + (if (not (StrCmp {ego} @global228)) + ((gInv at: global111) moveTo: gEgo) + else + ((gInv at: global111) moveTo: (ReadNumber @global228)) + ) + (= global228 0) + ) + (1545 + (= global228 0) + (EditPrint @global228 8 {Variable No.}) + (= global111 (ReadNumber @global228)) + (= global228 0) + (EditPrint @global228 8 {Value}) + (= [global100 (- global111 100)] + (ReadNumber @global228) + ) + (= global228 0) + ) + (1546 + (gInv eachElementDo: #moveTo gEgo) + ((Inv at: 14) loop: 0 cel: 0) + ) + (1547 + (if (not global196) + (if (< (= global195 (FOpen {KQ4QA.LOG} 0)) 0) + (Print 801 3) + else + (= global196 1) + (Print 801 4) + (FPuts global195 {New entries start here.\0D\0A}) + ) + else + (Print 801 5) + ) + ) + (1549 (Show 1)) + (1550 (Show 2)) + (1551 + (Show 4) + (Animate (gCast elements?)) + (while (== 0 ((= temp0 (Event new: 32765)) type?)) + (temp0 dispose:) + ) + (temp0 dispose:) + (Show 1) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/DebugMenu.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/DebugMenu.sco new file mode 100644 index 0000000..c4daf87 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/DebugMenu.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Decompiler.ini b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Decompiler.ini new file mode 100644 index 0000000..0960a5b --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Decompiler.ini @@ -0,0 +1,77 @@ +[methodParameterNames] +changeState = "newState" +handleEvent = "pEvent" +dispatchEvent = "pEvent" +doVerb = "theVerb" +newRoom = "newRoomNumber" +setRegions = "scriptNumbers" +setFeatures = "theFeatures" +setLocales = "scriptNumbers" +setSpeed = "newSpeed" +setCursor = "cursorNumber" +setScript = [ "theScript", "sendParams"] +drawPic = [ "picNumber", "picAnimation" ] +overlay = [ "picNumber", "picAnimation" ] +setCycle = [ "theCycler", "sendParams" ] +setMotion = [ "theMover", "sendParams" ] +setAvoider = [ "theAvoider", "sendParams" ] +observeControl = "bits" +ignoreControl = "bits" +onControl = "fUsePoint" +distanceTo = "pObj" +setStep = [ "newX", "newY" ] +setDirection = "newDirection" +display = "theText" + +[methodParameterNames.Cycle] # not yet implemented +init = "theClient" + +[enums] +evType = [ "ev.*" ] +verbType = [ "WALK", "LOOK", "DO", "TALK", "ASK", "HELP" ] +drawPicAnimation = ["dp.*"] +drawPicClear = ["dpCLEAR", "dpNO_CLEAR"] +rsType = [ "rs.*" ] +fiType = [ "fi.*" ] +palType = [ "pal.*" ] +sndType = [ "snd.*" ] +grType = [ "gr.*" ] +pvType = [ "pv.*" ] +msgType = [ "msg.*" ] +evMsgType = [ "KEY_.*", "JOY_.*" ] +evModType = [ "em.*" ] +signalType = [ "notUpd" ,"fixPriOn" ,"isExtra" ,"noTurn" ,"skipCheck" ,"ignoreHorizon" , "ignAct" ] +memType = [ "mem.*" ] + +[commonSwitchValueTypes] +theVerb = "verbType" +"pEvent.message" = "evMsgType" +"pEvent.type" = "evType" +"pEvent.modifiers" = "evModType" +pEventMessage = "evMsgType" +pEventType = "evType" +pEventModifiers = "evModType" +signal = "signalType" + +# use certain enums when assigning to or comparing to parameters for a function +[methodParameterTypes] +doVerb = [ "verbType" ] +firstTrue = [ "selector" ] +allTrue = [ "selector" ] +respondsTo = [ "selector" ] +eachElementDo = [ "selector" ] + +# use certain enums when passing parameters to kernel calls +[kernelParameterTypes] +DrawPic = [ "", "drawPicAnimation", "drawPicClear" ] +Load = [ "rsType" ] +FileIO = [ "fiType" ] +Palette = [ "palType" ] +PalVary = [ "pvType" ] +DoSound = [ "sndType" ] +Graph = [ "grType" ] +Message = [ "msgType" ] +Memory = [ "memType" ] + +[bitfieldProperties] +bitfieldProperties = [ "style", "signal", "flags", "modifiers", "scaleSignal", "syncCue", "prevCue", "onMeCheck", "state", "type", "illegalBits" ] \ No newline at end of file diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/EndMusic.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/EndMusic.sc new file mode 100644 index 0000000..05b0d15 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/EndMusic.sc @@ -0,0 +1,25 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 521) +(include sci.sh) +(use Sound) +(use Game) + +(public + RgEnd 0 + ENDMUSIC 1 +) + +(instance ENDMUSIC of Sound + (properties) +) + +(instance RgEnd of Rgn + (properties) + + (method (init) + (if initialized (return)) + (= keep 1) + (super init:) + (ENDMUSIC number: 201 owner: 521 init:) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/EndMusic.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/EndMusic.sco new file mode 100644 index 0000000..5dfcc06 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/EndMusic.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Extra.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Extra.sc new file mode 100644 index 0000000..fa6d9c6 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Extra.sc @@ -0,0 +1,133 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 988) +(include sci.sh) +(use Cycle) +(use Feature) + + +(class Extra of Prop + (properties + y 0 + x 0 + z 0 + heading 0 + yStep 2 + view 0 + loop 0 + cel 0 + priority 0 + underBits 0 + signal $0000 + nsTop 0 + nsLeft 0 + nsBottom 0 + nsRight 0 + lsTop 0 + lsLeft 0 + lsBottom 0 + lsRight 0 + brTop 0 + brLeft 0 + brBottom 0 + brRight 0 + cycleSpeed 1 + script 0 + cycler 0 + timer 0 + cycleType 0 + hesitation 0 + pauseCel 0 + minPause 10 + maxPause 30 + minCycles 8 + maxCycles 20 + counter 0 + state $ffff + cycles 0 + ) + + (procedure (localproc_0148) + (switch pauseCel + (-1 (Random 0 (self lastCel:))) + (-2 (self lastCel:)) + ((== cycleType 0) pauseCel) + ) + ) + + + (method (init) + (= cel (localproc_0148)) + (self changeState: 0) + (super init:) + ) + + (method (doit) + (if + (and + (== cycleType 1) + (== cel pauseCel) + (!= pauseCel 0) + ) + (== cycles (+ hesitation 1)) + ) + (if (and cycles (not (-- cycles))) (self cue:)) + (super doit:) + ) + + (method (cue) + (if (& signal $0005) + else + (self changeState: (+ state 1)) + ) + ) + + (method (stopExtra) + (self setCel: (localproc_0148) stopUpd:) + ) + + (method (startExtra) + (self changeState: 1) + ) + + (method (changeState newState) + (switch (= state newState) + (0 + (if (== counter 0) + (= cycles (Random minPause maxPause)) + (if (!= cycleType 0) + (= counter (- (Random minCycles maxCycles) 1)) + ) + else + (-- counter) + (self cue:) + ) + ) + (1 + (if (== cycleType 0) + (self setCycle: Fwd) + (= cycles (Random minCycles maxCycles)) + else + (self setCycle: End self) + ) + ) + (2 + (if (== cycleType 2) + (= cycles hesitation) + else + (self cue:) + ) + ) + (3 + (if (== cycleType 2) + (self setCycle: Beg self) + else + (self cue:) + ) + ) + (4 + (self setCel: (localproc_0148)) + (self changeState: 0) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Extra.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Extra.sco new file mode 100644 index 0000000..5bfe14c Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Extra.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Feature.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Feature.sc new file mode 100644 index 0000000..88bfe88 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Feature.sc @@ -0,0 +1,720 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 998) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Cycle) +(use Obj) + + +(class Feature of Obj + (properties + y 0 + x 0 + z 0 + heading 0 + ) + + (method (dispose) + (gFeatures delete: self) + (super dispose:) + ) + + (method (handleEvent pEvent) + (pEvent claimed?) + ) +) + +(class PV of Feature + (properties + y 0 + x 0 + z 0 + heading 0 + view 0 + loop 0 + cel 0 + priority -1 + signal $0000 + ) + + (method (showSelf) + (Print name 82 view loop cel) + ) +) + +(class View of Feature + (properties + y 0 + x 0 + z 0 + heading 0 + yStep 2 + view 0 + loop 0 + cel 0 + priority 0 + underBits 0 + signal $0101 + nsTop 0 + nsLeft 0 + nsBottom 0 + nsRight 0 + lsTop 0 + lsLeft 0 + lsBottom 0 + lsRight 0 + brTop 0 + brLeft 0 + brBottom 0 + brRight 0 + ) + + (method (init) + (= signal (& signal $7fff)) + (if (not (gCast contains: self)) + (= lsRight (= lsBottom (= lsLeft (= lsTop 0)))) + (= signal (& signal $ff77)) + ) + (BaseSetter self) + (gCast add: self) + ) + + (method (dispose) + (self startUpd: hide:) + (= signal (| signal $8000)) + ) + + (method (showSelf) + (Print name 82 view loop cel) + ) + + (method (posn theX theY theZ) + (if (>= argc 1) + (= x theX) + (if (>= argc 2) + (= y theY) + (if (>= argc 3) (= z theZ)) + ) + ) + (BaseSetter self) + (self forceUpd:) + ) + + (method (stopUpd) + (= signal (| signal notUpd)) + (= signal (& signal $fffd)) + ) + + (method (forceUpd) + (= signal (| signal $0040)) + ) + + (method (startUpd) + (= signal (| signal $0002)) + (= signal (& signal $fffe)) + ) + + (method (setPri thePriority) + (cond + ((== argc 0) (= signal (| signal fixPriOn))) + ((== thePriority -1) (= signal (& signal $ffef))) + (else (= priority thePriority) (= signal (| signal fixPriOn))) + ) + (self forceUpd:) + ) + + (method (setLoop theLoop) + (cond + ((== argc 0) (= signal (| signal noTurn))) + ((== theLoop -1) (= signal (& signal $f7ff))) + (else (= loop theLoop) (= signal (| signal noTurn))) + ) + (self forceUpd:) + ) + + (method (setCel param1) + (cond + ((== argc 0) (= signal (| signal skipCheck))) + ((== param1 -1) (= signal (& signal $efff))) + (else + (= signal (| signal skipCheck)) + (= cel + (if (>= param1 (self lastCel:)) + (self lastCel:) + else + param1 + ) + ) + ) + ) + (self forceUpd:) + ) + + (method (ignoreActors param1) + (if (or (== 0 argc) param1) + (= signal (| signal ignAct)) + else + (= signal (& signal $bfff)) + ) + ) + + (method (hide) + (= signal (| signal $0008)) + ) + + (method (show) + (= signal (& signal $fff7)) + ) + + (method (delete) + (if (& signal $8000) + (if (& signal $0020) + (gAddToPics + add: + ((PV new:) + view: view + loop: loop + cel: cel + x: x + y: y + z: z + priority: priority + signal: signal + yourself: + ) + ) + ) + (= signal (& signal $7fff)) + (gCast delete: self) + (if underBits (UnLoad 133 underBits) (= underBits 0)) + (super dispose:) + ) + ) + + (method (addToPic) + (if (not (gCast contains: self)) (self init:)) + (self signal: (| signal $8021)) + ) + + (method (lastCel) + (return (- (NumCels self) 1)) + ) + + (method (isExtra param1 &tmp temp0) + (= temp0 (& signal isExtra)) + (if argc + (if param1 + (= signal (| signal isExtra)) + else + (= signal (& signal $fdff)) + ) + ) + (return temp0) + ) + + (method (motionCue) + ) +) + +(class Prop of View + (properties + y 0 + x 0 + z 0 + heading 0 + yStep 2 + view 0 + loop 0 + cel 0 + priority 0 + underBits 0 + signal $0000 + nsTop 0 + nsLeft 0 + nsBottom 0 + nsRight 0 + lsTop 0 + lsLeft 0 + lsBottom 0 + lsRight 0 + brTop 0 + brLeft 0 + brBottom 0 + brRight 0 + cycleSpeed 0 + script 0 + cycler 0 + timer 0 + ) + + (method (doit &tmp temp0) + (if (& signal $8000) (return)) + (if script (script doit:)) + (if (and (& signal $0004) (not (& signal $0002))) + (return) + ) + (if cycler (cycler doit:)) + ) + + (method (handleEvent pEvent) + (if script (script handleEvent: pEvent)) + (pEvent claimed?) + ) + + (method (delete) + (if (& signal $8000) + (self setScript: 0 setCycle: 0) + (if timer (timer dispose:)) + (super delete:) + ) + ) + + (method (motionCue) + (if (and cycler (cycler completed?)) + (cycler motionCue:) + ) + ) + + (method (setCycle theCycler) + (if cycler (cycler dispose:)) + (if theCycler + (self startUpd:) + (= cycler (theCycler new:)) + (cycler init: self &rest) + else + (= cycler 0) + ) + ) + + (method (setScript theScript) + (if (IsObject script) (script dispose:)) + (if (= script theScript) + ((= script theScript) init: self &rest) + ) + ) + + (method (cue) + (if script (script cue:)) + ) +) + +(class Act of Prop + (properties + y 0 + x 0 + z 0 + heading 0 + yStep 2 + view 0 + loop 0 + cel 0 + priority 0 + underBits 0 + signal $0000 + nsTop 0 + nsLeft 0 + nsBottom 0 + nsRight 0 + lsTop 0 + lsLeft 0 + lsBottom 0 + lsRight 0 + brTop 0 + brLeft 0 + brBottom 0 + brRight 0 + cycleSpeed 0 + script 0 + cycler 0 + timer 0 + illegalBits $8000 + xLast 0 + yLast 0 + xStep 3 + moveSpeed 0 + blocks 0 + baseSetter 0 + mover 0 + looper 0 + viewer 0 + avoider 0 + ) + + (method (init) + (super init:) + (= xLast x) + (= yLast y) + ) + + (method (doit &tmp temp0 theBrLeft theBrRight) + (if (& signal $8000) (return)) + (= signal (& signal $fbff)) + (if script (script doit:)) + (if (and (& signal $0004) (not (& signal $0002))) + (return) + ) + (if viewer (viewer doit: self)) + (cond + (avoider (avoider doit:)) + (mover (mover doit:)) + ) + (if cycler + (= theBrLeft brLeft) + (= theBrRight brRight) + (cycler doit:) + (if baseSetter + (baseSetter doit: self) + else + (BaseSetter self) + ) + (if + (and + (or (!= theBrLeft brLeft) (!= theBrRight brRight)) + (not (self canBeHere:)) + ) + (self findPosn:) + ) + ) + (= xLast x) + (= yLast y) + ) + + (method (posn theXLast theYLast) + (super posn: theXLast theYLast &rest) + (= xLast theXLast) + (= yLast theYLast) + (if (not (self canBeHere:)) (self findPosn:)) + ) + + (method (delete) + (if (& signal $8000) + (if (!= mover -1) (self setMotion: 0)) + (self setAvoider: 0) + (if baseSetter (baseSetter dispose:) (= baseSetter 0)) + (if looper (looper dispose:) (= looper 0)) + (if viewer (viewer dispose:) (= viewer 0)) + (if blocks (blocks dispose:) (= blocks 0)) + (super delete:) + ) + ) + + (method (motionCue) + (if (and mover (mover completed?)) (mover motionCue:)) + (super motionCue:) + ) + + (method (setMotion theMover &tmp [temp0 40]) + (if (and mover (!= mover -1)) (mover dispose:)) + (if theMover + (self startUpd:) + (= mover + (if (& (theMover -info-?) $8000) + (theMover new:) + else + theMover + ) + ) + (mover init: self &rest) + else + (= mover 0) + ) + ) + + (method (setAvoider theAvoider) + (if avoider (avoider dispose:)) + (= avoider + (if + (and + (IsObject theAvoider) + (& (theAvoider -info-?) $8000) + ) + (theAvoider new:) + else + theAvoider + ) + ) + (if avoider (avoider init: self &rest)) + ) + + (method (ignoreHorizon param1) + (if (or (not argc) param1) + (= signal (| signal ignoreHorizon)) + else + (= signal (& signal $dfff)) + ) + ) + + (method (observeControl bits &tmp temp0) + (= temp0 0) + (while (< temp0 argc) + (= illegalBits (| illegalBits [bits temp0])) + (++ temp0) + ) + ) + + (method (ignoreControl bits &tmp temp0) + (= temp0 0) + (while (< temp0 argc) + (= illegalBits (& illegalBits (~ [bits temp0]))) + (++ temp0) + ) + ) + + (method (observeBlocks) + (if (not blocks) (= blocks (Set new:))) + (blocks add: &rest) + ) + + (method (ignoreBlocks) + (blocks delete: &rest) + (if (blocks isEmpty:) (blocks dispose:) (= blocks 0)) + ) + + (method (isStopped) + (cond + ((not (IsObject mover))) + ((== x xLast) (if (== y yLast) (mover triedToMove:))) + ) + ) + + (method (isBlocked) + (return (& signal $0400)) + ) + + (method (findPosn &tmp temp0 temp1 theX theY temp4) + (= theX x) + (= theY y) + (= temp4 0) + (= temp1 1) + (while (not temp4) + (= temp0 0) + (while (and (not temp4) (< temp0 8)) + (= x + (+ + theX + (* temp1 (proc999_0 (TimesCos (* temp0 45) 100))) + ) + ) + (= y + (- + theY + (* temp1 (proc999_0 (TimesSin (* temp0 45) 100))) + ) + ) + (= temp4 + (if (self canBeHere:) (self onControl:) else 0) + ) + (++ temp0) + ) + (++ temp1) + ) + (self posn: x y) + ) + + (method (inRect param1 param2 param3 param4) + (return + (if + (and (<= param1 x) (< x param3) (<= param2 y)) + (< y param4) + else + 0 + ) + ) + ) + + (method (onControl fUsePoint) + (if (and argc fUsePoint) + (OnControl 4 x y) + else + (OnControl 4 brLeft brTop brRight brBottom) + ) + ) + + (method (distanceTo pObj) + (GetDistance x y (pObj x?) (pObj y?) gPicAngle) + ) + + (method (canBeHere) + (if baseSetter + (baseSetter doit: self) + else + (BaseSetter self) + ) + (if + (and + (CanBeHere self (gCast elements?)) + (or + (& signal ignoreHorizon) + (not (IsObject gRoom)) + (>= y (gRoom horizon?)) + ) + ) + (if (== blocks 0) else (blocks allTrue: #doit self)) + ) + ) + + (method (setStep newX newY) + (if (and (>= argc 1) (!= newX -1)) (= xStep newX)) + (if (and (>= argc 2) (!= newY -1)) (= yStep newY)) + (if + (and mover (!= -1 mover) (mover isMemberOf: MoveTo)) + (self + setMotion: MoveTo (mover x?) (mover y?) (mover caller?) + ) + ) + ) + + (method (setDirection newDirection &tmp temp0) + (if (== newDirection 0) (self setMotion: 0) (return)) + (self + setMotion: + MoveTo + (+ + x + (TimesSin + (+ + (= temp0 (* 45 (- newDirection 1))) + (GetAngle + x + y + (gRoom vanishingX?) + (gRoom vanishingY?) + ) + ) + 10000 + ) + ) + (- y (TimesCos temp0 10000)) + ) + ) +) + +(class Ego of Act + (properties + y 0 + x 0 + z 0 + heading 0 + yStep 2 + view 0 + loop 0 + cel 0 + priority 0 + underBits 0 + signal $2000 + nsTop 0 + nsLeft 0 + nsBottom 0 + nsRight 0 + lsTop 0 + lsLeft 0 + lsBottom 0 + lsRight 0 + brTop 0 + brLeft 0 + brBottom 0 + brRight 0 + cycleSpeed 0 + script 0 + cycler 0 + timer 0 + illegalBits $8000 + xLast 0 + yLast 0 + xStep 3 + moveSpeed 0 + blocks 0 + baseSetter 0 + mover 0 + looper 0 + viewer 0 + avoider 0 + edgeHit 0 + ) + + (method (init) + (super init:) + (if (not cycler) (self setCycle: Walk)) + ) + + (method (doit) + (super doit:) + (= edgeHit + (cond + ((<= x 0) 4) + ((<= y (gRoom horizon?)) 1) + ((>= x 319) 2) + ((>= y 189) 3) + (else 0) + ) + ) + ) + + (method (get param1 &tmp temp0) + (= temp0 0) + (while (< temp0 argc) + ((gInv at: [param1 temp0]) moveTo: self) + (++ temp0) + ) + ) + + (method (put param1 param2) + (if (self has: param1) + ((gInv at: param1) + moveTo: (if (== argc 1) -1 else param2) + ) + ) + ) + + (method (has param1 &tmp temp0) + (if (= temp0 (gInv at: param1)) (temp0 ownedBy: self)) + ) +) + +(class Blk of Obj + (properties + top 0 + left 0 + bottom 0 + right 0 + ) + + (method (doit param1) + (return + (if + (or + (<= (param1 brBottom?) top) + (> (param1 brTop?) bottom) + (< (param1 brRight?) left) + ) + else + (>= (param1 brLeft?) right) + ) + ) + ) +) + +(class Cage of Blk + (properties + top 0 + left 0 + bottom 0 + right 0 + ) + + (method (doit param1) + (return + (if + (and + (>= (param1 brTop?) top) + (>= (param1 brLeft?) left) + (<= (param1 brBottom?) bottom) + ) + (<= (param1 brRight?) right) + else + 0 + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Feature.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Feature.sco new file mode 100644 index 0000000..fadefe7 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Feature.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Forest Region.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Forest Region.sc new file mode 100644 index 0000000..d297ce3 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Forest Region.sc @@ -0,0 +1,115 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 508) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Cycle) +(use Game) +(use Feature) +(use Obj) + +(public + Forest_Region 0 +) + +(instance Forest_Region of Rgn + (properties + name "Forest Region" + ) + + (method (init) + (if (== (Random 1 5) 4) + (= gNewAct_4 (Act new:)) + (gNewAct_4 + view: 356 + illegalBits: 0 + ignoreActors: + setPri: 14 + ignoreHorizon: + setScript: ravenActions + ) + (if (== (Random 1 2) 1) + (gNewAct_4 + posn: 5 30 + setCycle: Fwd + xStep: 5 + yStep: 4 + setMotion: MoveTo 339 20 gNewAct_4 + init: + ) + else + (gNewAct_4 + posn: 314 20 + xStep: 5 + yStep: 4 + setCycle: Fwd + setMotion: MoveTo -20 40 gNewAct_4 + init: + ) + ) + ) + (super init:) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if (== (pEvent type?) evSAID) + (cond + ((Said 'look>') + (cond + ((Said '/boulder') (Print 508 0)) + ((or (Said '/dirt') (Said '/down')) (Print 508 1)) + ((Said '/grass') (Print 508 2)) + ((Said '/bush') (Print 508 3)) + ((Said '/flora') (Print 508 4)) + ((Said '/blossom') (Print 508 5)) + ((Said '/forest') (Print 508 6)) + ((Said '/crow,bird,crow') + (if (gCast contains: gNewAct_4) + (Print 508 7) + else + (Print 508 8) + ) + ) + ) + ) + ((Said 'climb/boulder') (Print 508 9)) + ((Said 'get/blossom') (Print 508 10)) + ((Said 'climb/forest') (Print 508 11)) + ((Said 'converse/crow,bird,crow') + (if (gCast contains: gNewAct_4) + (Print 508 12) + else + (Print 508 13) + ) + ) + ((Said 'get,capture/crow,bird,crow') + (if (gCast contains: gNewAct_4) + (Print 508 14) + else + (Print 508 15) + ) + ) + ((Said 'kiss/crow,bird,crow') + (if (gCast contains: gNewAct_4) + (Print 508 16) + else + (Print 508 15) + ) + ) + ) + else + 0 + ) + ) + ) +) + +(instance ravenActions of Script + (properties) + + (method (cue) + (gNewAct_4 dispose:) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Forest Region.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Forest Region.sco new file mode 100644 index 0000000..69677af Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Forest Region.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Game.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Game.sc new file mode 100644 index 0000000..9ede3cf --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Game.sc @@ -0,0 +1,608 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 994) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use SysWindow) +(use Cycle) +(use InvI) +(use User) +(use Obj) + + +(procedure (localproc_0b98 param1 &tmp temp0 [temp1 40] [temp41 40] [temp81 40]) + (= temp0 1) + (DeviceInfo 0 global30 @temp1) + (DeviceInfo 1 @temp41) + (if + (and + (DeviceInfo 2 @temp1 @temp41) + (DeviceInfo 3 @temp41) + ) + (Format + @temp81 + 994 + 6 + (if param1 {SAVE GAME} else {GAME}) + @temp41 + ) + (if + (== + (= temp0 + (if param1 + (Print + @temp81 + 33 + 0 + 81 + {OK} + 1 + 81 + {Cancel} + 0 + 81 + {Change Directory} + 2 + ) + else + (Print @temp81 33 0 81 {OK} 1) + ) + ) + 2 + ) + (= temp0 (proc990_0 global30)) + ) + ) + (return temp0) +) + +(instance cast of EventHandler + (properties) +) + +(instance features of EventHandler + (properties) +) + +(instance sFeatures of EventHandler + (properties) +) + +(instance sounds of EventHandler + (properties) +) + +(instance regions of EventHandler + (properties) +) + +(instance locales of EventHandler + (properties) +) + +(instance addToPics of EventHandler + (properties) + + (method (doit) + (AddToPic elements) + ) +) + +(instance controls of Controls + (properties) +) + +(instance timers of Set + (properties) +) + +(class Game of Obj + (properties + script 0 + ) + + (method (init &tmp theMotion) + (= theMotion Motion) + (= theMotion Sound) + (= theMotion Save) + ((= gCast cast) add:) + ((= gFeatures features) add:) + ((= gSFeatures sFeatures) add:) + ((= gSounds sounds) add:) + ((= gRegions regions) add:) + ((= gLocales locales) add:) + ((= gAddToPics addToPics) add:) + ((= gTimers timers) add:) + (= global30 (GetSaveDir)) + (Inv init:) + (User init:) + ) + + (method (doit) + (gSounds eachElementDo: #check) + (gTimers eachElementDo: #doit) + (Animate (gCast elements?) 1) + (if global58 + (= global58 0) + (gCast eachElementDo: #motionCue) + ) + (if script (script doit:)) + (gRegions eachElementDo: #doit) + (User doit:) + (if (!= gNewRoomNumber_2 gCurRoomNum) + (self newRoom: gNewRoomNumber_2) + ) + (gTimers eachElementDo: #delete) + (GameIsRestarting 0) + ) + + (method (showSelf) + (gRegions showSelf:) + ) + + (method (play) + (= gGame self) + (= global30 (GetSaveDir)) + (if (not (GameIsRestarting)) (GetCWD global30)) + (self setCursor: gLoadingCursor 1) + (self init:) + (self setCursor: gNormalCursor (HaveMouse)) + (while (not gQuit) + (self doit:) + (= global18 (Wait gSpeed)) + ) + ) + + (method (replay) + (if gLastEvent (gLastEvent dispose:)) + (gSFeatures release:) + (if gModelessDlg (gModelessDlg dispose:)) + (gCast eachElementDo: #perform RU) + (gGame setCursor: gLoadingCursor 1) + (DrawPic (gRoom curPic?) dpOPEN_TOP dpCLEAR 0) + (if (!= gPicNumber -1) + (DrawPic gPicNumber dpOPEN_TOP dpNO_CLEAR 0) + ) + (if (gRoom controls?) ((gRoom controls?) draw:)) + (gAddToPics doit:) + (gGame setCursor: gNormalCursor (HaveMouse)) + (SL doit:) + (DoSound sndRESUME) + (Sound pause: 0) + (while (not gQuit) + (self doit:) + (= global18 (Wait gSpeed)) + ) + ) + + (method (newRoom newRoomNumber &tmp [temp0 4] temp4 temp5) + (gAddToPics dispose:) + (gFeatures eachElementDo: #dispose) + (gCast eachElementDo: #dispose) + (gCast eachElementDo: #delete) + (gTimers eachElementDo: #delete) + (gRegions eachElementDo: #perform DNKR) + (gRegions release:) + (gLocales eachElementDo: #dispose) + (Animate 0) + (= gPrevRoomNum gCurRoomNum) + (= gCurRoomNum newRoomNumber) + (= gNewRoomNumber_2 newRoomNumber) + (FlushResources newRoomNumber) + (= temp4 (self setCursor: gLoadingCursor 1)) + (self + startRoom: gCurRoomNum + checkAni: + setCursor: temp4 (HaveMouse) + ) + (SetSynonyms gRegions) + (while ((= temp5 (Event new: 3)) type?) + (temp5 dispose:) + ) + (temp5 dispose:) + ) + + (method (startRoom param1) + (if global14 (SetDebug)) + (gRegions + addToFront: ((= gRoom (ScriptID param1)) init: yourself:) + ) + ) + + (method (restart) + (if gModelessDlg (gModelessDlg dispose:)) + (RestartGame) + ) + + (method (restore &tmp [temp0 20] temp20 temp21 temp22) + (Load rsFONT gSmallFont) + (= temp21 (self setCursor: gNormalCursor)) + (= temp22 (Sound pause: 1)) + (if (localproc_0b98 1) + (if gModelessDlg (gModelessDlg dispose:)) + (if (!= (= temp20 (Restore doit: &rest)) -1) + (self setCursor: gLoadingCursor 1) + (if (CheckSaveGame name temp20 global28) + (gCast eachElementDo: #dispose) + (gCast eachElementDo: #delete) + (RestoreGame name temp20 global28) + else + (Print 994 1 33 0 81 {OK} 1) + (self setCursor: temp21 (HaveMouse)) + ) + ) + (localproc_0b98 0) + ) + (Sound pause: temp22) + ) + + (method (save &tmp [temp0 20] temp20 temp21 temp22) + (Load rsFONT gSmallFont) + (Load rsCURSOR gLoadingCursor) + (= temp22 (Sound pause: 1)) + (if (localproc_0b98 1) + (if gModelessDlg (gModelessDlg dispose:)) + (if (!= (= temp20 (Save doit: @temp0)) -1) + (= temp21 (self setCursor: gLoadingCursor 1)) + (if (not (SaveGame name temp20 @temp0 global28)) + (Print 994 0 33 0 81 {OK} 1) + ) + (self setCursor: temp21 (HaveMouse)) + ) + (localproc_0b98 0) + ) + (Sound pause: temp22) + ) + + (method (changeScore param1) + (= global15 (+ global15 param1)) + (SL doit:) + ) + + (method (handleEvent pEvent) + (cond + ( + (or + (gRegions handleEvent: pEvent) + (gLocales handleEvent: pEvent) + ) + ) + (script (script handleEvent: pEvent)) + ) + (pEvent claimed?) + ) + + (method (showMem) + (FormatPrint + {Free Heap: %u Bytes\0ALargest ptr: %u Bytes\0AFreeHunk: %u KBytes\0ALargest hunk: %u Bytes} + (MemoryInfo 1) + (MemoryInfo 0) + (>> (MemoryInfo 3) $0006) + (MemoryInfo 2) + ) + ) + + (method (setSpeed newSpeed &tmp theGNewSpeed) + (= theGNewSpeed gSpeed) + (= gSpeed newSpeed) + (return theGNewSpeed) + ) + + (method (setCursor cursorNumber param2 &tmp theGCursorNumber) + (= theGCursorNumber gCursorNumber) + (= gCursorNumber cursorNumber) + (if (== argc 1) + (SetCursor cursorNumber) + else + (SetCursor cursorNumber param2) + ) + (return theGCursorNumber) + ) + + (method (checkAni &tmp temp0) + (Animate (gCast elements?) 0) + (Wait 0) + (Animate (gCast elements?) 0) + (while (> (Wait 0) global50) + (breakif (== (= temp0 (gCast firstTrue: #isExtra)) 0)) + (temp0 addToPic:) + (Animate (gCast elements?) 0) + (gCast eachElementDo: #delete) + ) + ) + + (method (notify) + ) + + (method (setScript theScript) + (if script (script dispose:)) + (if (= script theScript) + ((= script theScript) init: self &rest) + ) + ) + + (method (cue) + (if script (script cue:)) + ) + + (method (wordFail param1 &tmp [temp0 100]) + (FormatPrint 994 2 param1) + (return 0) + ) + + (method (syntaxFail) + (Print 994 3) + ) + + (method (semanticFail) + (Print 994 4) + ) + + (method (pragmaFail) + (Print 994 5) + ) +) + +(class Rgn of Obj + (properties + script 0 + number 0 + timer 0 + keep 0 + initialized 0 + ) + + (method (init) + (if (not initialized) + (= initialized 1) + (if (not (gRegions contains: self)) + (gRegions addToEnd: self) + ) + (super init:) + ) + ) + + (method (doit) + (if script (script doit:)) + ) + + (method (dispose) + (gRegions delete: self) + (if (IsObject script) (script dispose:)) + (if (IsObject timer) (timer dispose:)) + (gSounds eachElementDo: #clean self) + (DisposeScript number) + ) + + (method (handleEvent pEvent) + (if script (script handleEvent: pEvent)) + (pEvent claimed?) + ) + + (method (setScript theScript) + (if (IsObject script) (script dispose:)) + (if (= script theScript) + ((= script theScript) init: self &rest) + ) + ) + + (method (cue) + (if script (script cue:)) + ) + + (method (newRoom) + ) + + (method (notify) + ) +) + +(class Rm of Rgn + (properties + script 0 + number 0 + timer 0 + keep 0 + initialized 0 + picture 0 + style $ffff + horizon 0 + controls 0 + north 0 + east 0 + south 0 + west 0 + curPic 0 + picAngle 0 + vanishingX 160 + vanishingY -30000 + ) + + (method (init &tmp temp0) + (= number gCurRoomNum) + (= controls controls) + (= gPicAngle picAngle) + (if picture (self drawPic: picture)) + (switch ((User alterEgo?) edgeHit?) + (1 ((User alterEgo?) y: 188)) + (4 + ((User alterEgo?) + x: (- 319 ((User alterEgo?) xStep?)) + ) + ) + (3 + ((User alterEgo?) + y: (+ horizon ((User alterEgo?) yStep?)) + ) + ) + (2 ((User alterEgo?) x: 1)) + ) + ((User alterEgo?) edgeHit: 0) + ) + + (method (doit &tmp temp0) + (if script (script doit:)) + (if + (= temp0 + (switch ((User alterEgo?) edgeHit?) + (1 north) + (2 east) + (3 south) + (4 west) + ) + ) + (self newRoom: temp0) + ) + ) + + (method (dispose) + (if controls (controls dispose:)) + (super dispose:) + ) + + (method (handleEvent pEvent) + (cond + ((super handleEvent: pEvent)) + (controls (controls handleEvent: pEvent)) + ) + (pEvent claimed?) + ) + + (method (newRoom newRoomNumber) + (gRegions + delete: self + eachElementDo: #newRoom newRoomNumber + addToFront: self + ) + (= gNewRoomNumber_2 newRoomNumber) + (super newRoom: newRoomNumber) + ) + + (method (setRegions scriptNumbers &tmp temp0 theScriptNumbers temp2) + (= temp0 0) + (while (< temp0 argc) + (= theScriptNumbers [scriptNumbers temp0]) + ((= temp2 (ScriptID theScriptNumbers)) + number: theScriptNumbers + ) + (gRegions add: temp2) + (if (not (temp2 initialized?)) (temp2 init:)) + (++ temp0) + ) + ) + + (method (setFeatures theFeatures &tmp temp0 [temp1 2]) + (= temp0 0) + (while (< temp0 argc) + (gFeatures add: [theFeatures temp0]) + (++ temp0) + ) + ) + + (method (setLocales scriptNumbers &tmp temp0 theScriptNumbers temp2) + (= temp0 0) + (while (< temp0 argc) + (= theScriptNumbers [scriptNumbers temp0]) + ((= temp2 (ScriptID theScriptNumbers)) + number: theScriptNumbers + ) + (gLocales add: temp2) + (temp2 init:) + (++ temp0) + ) + ) + + (method (drawPic picNumber picAnimation) + (addToPics dispose:) + (= curPic picNumber) + (= gPicNumber -1) + (DrawPic + picNumber + (cond + ((== argc 2) picAnimation) + ((!= style -1) style) + (else global17) + ) + dpCLEAR + 0 + ) + ) + + (method (overlay picNumber picAnimation) + (= gPicNumber picNumber) + (DrawPic + picNumber + (cond + ((== argc 2) picAnimation) + ((!= style -1) style) + (else global17) + ) + dpNO_CLEAR + 0 + ) + ) +) + +(class Locale of Obj + (properties + number 0 + ) + + (method (dispose) + (gLocales delete: self) + (DisposeScript number) + ) + + (method (handleEvent pEvent) + (pEvent claimed?) + ) +) + +(class SL of Obj + (properties + state $0000 + code 0 + ) + + (method (doit &tmp [temp0 41]) + (if code + (code doit: @temp0) + (DrawStatus (if state @temp0 else 0)) + ) + ) + + (method (enable) + (= state 1) + (self doit:) + ) + + (method (disable) + (= state 0) + (self doit:) + ) +) + +(instance RU of Code + (properties) + + (method (doit param1 &tmp temp0) + (if (param1 underBits?) + (= temp0 + (& + (= temp0 (| (= temp0 (param1 signal?)) $0001)) + $fffb + ) + ) + (param1 underBits: 0 signal: temp0) + ) + ) +) + +(instance DNKR of Code + (properties) + + (method (doit param1) + (if (not (param1 keep?)) (param1 dispose:)) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Game.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Game.sco new file mode 100644 index 0000000..911201c Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Game.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/GameFile.sh.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/GameFile.sh.sc new file mode 100644 index 0000000..810dd08 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/GameFile.sh.sc @@ -0,0 +1,51 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 993) +(include sci.sh) +(use Obj) + + +(class gamefile_sh of Obj + (properties + handle 0 + name "gamefile.sh" + ) + + (method (dispose) + (self close:) + (super dispose:) + ) + + (method (showStr param1) + (Format param1 993 0 name) + ) + + (method (open param1) + (= handle + (switch argc + (0 (FOpen name 0)) + (1 (FOpen name param1)) + (else -1) + ) + ) + (return (if (== handle -1) 0 else self)) + ) + + (method (write param1 &tmp temp0) + (if (not handle) (self open:)) + (= temp0 0) + (while (< temp0 argc) + (FPuts handle [param1 temp0]) + (++ temp0) + ) + ) + + (method (read param1 param2) + (if (!= argc 2) (return 0)) + (if (not handle) (self open: 1)) + (return (FGets param1 param2 handle)) + ) + + (method (close) + (if handle (FClose handle) (= handle 0)) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/GameFile.sh.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/GameFile.sh.sco new file mode 100644 index 0000000..eac0203 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/GameFile.sh.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Gauge.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Gauge.sc new file mode 100644 index 0000000..280cabd --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Gauge.sc @@ -0,0 +1,220 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 987) +(include sci.sh) +(use Main) +(use Class_255_0) +(use SysWindow) + + +(local + newDText_2 + newDButton_2 + newDButton + newDText + newDButton_3 + newDButton_4 + newDButton_5 + [local7 40] +) +(class Gauge of Dialog + (properties + elements 0 + size 0 + text 0 + window 0 + theItem 0 + nsTop 0 + nsLeft 0 + nsBottom 0 + nsRight 0 + time 0 + timer 0 + busy 0 + description 0 + higher {up} + lower {down} + normal 7 + minimum 0 + maximum 15 + ) + + (method (init param1 &tmp temp0 temp1) + (= window SysWindow) + (self update: param1) + ((= newDButton (DButton new:)) + text: lower + moveTo: 4 4 + setSize: + ) + (self add: newDButton setSize:) + ((= newDText (DText new:)) + text: @local7 + moveTo: (+ (newDButton nsRight?) 4) 4 + font: 0 + setSize: + ) + (self add: newDText setSize:) + ((= newDButton_2 (DButton new:)) + text: higher + moveTo: (+ (newDText nsRight?) 4) 4 + setSize: + ) + (self add: newDButton_2 setSize:) + (= nsBottom (+ nsBottom 8)) + ((= newDButton_3 (DButton new:)) + text: {OK} + setSize: + moveTo: 4 nsBottom + ) + ((= newDButton_4 (DButton new:)) + text: {Normal} + setSize: + moveTo: (+ (newDButton_3 nsRight?) 4) nsBottom + ) + ((= newDButton_5 (DButton new:)) + text: {Cancel} + setSize: + moveTo: (+ (newDButton_4 nsRight?) 4) nsBottom + ) + (self + add: newDButton_3 newDButton_4 newDButton_5 + setSize: + ) + (= temp0 (- (- nsRight (newDButton_5 nsRight?)) 4)) + ((= newDText_2 (DText new:)) + text: description + font: gSmallFont + setSize: (- nsRight 8) + moveTo: 4 4 + ) + (= temp1 (+ (newDText_2 nsBottom?) 4)) + (self add: newDText_2) + (newDButton_2 move: 0 temp1) + (newDButton move: 0 temp1) + (newDText move: 0 temp1) + (newDButton_3 move: temp0 temp1) + (newDButton_4 move: temp0 temp1) + (newDButton_5 move: temp0 temp1) + (self setSize: center: open: 4 15) + ) + + (method (doit param1 &tmp temp0 temp1) + (asm + pushi #init + pushi 1 + lsp param1 + self 6 + lap param1 + sat temp1 +code_01d4: + pushi #update + pushi 1 + lst temp1 + self 6 + pushi #draw + pushi 0 + lal newDText + send 4 + pushi #doit + pushi 1 + lsl newDButton_3 + super Dialog, 6 + sat temp0 + push + lal newDButton_2 + eq? + bnt code_0201 + lst temp1 + pToa maximum + lt? + bnt code_01d4 + +at temp1 + jmp code_01d4 +code_0201: + lst temp0 + lal newDButton + eq? + bnt code_0216 + lst temp1 + pToa minimum + gt? + bnt code_01d4 + -at temp1 + jmp code_01d4 +code_0216: + lst temp0 + lal newDButton_3 + eq? + bnt code_0224 + jmp code_024d + jmp code_01d4 +code_0224: + lst temp0 + lal newDButton_4 + eq? + bnt code_0233 + pToa normal + sat temp1 + jmp code_01d4 +code_0233: + lst temp0 + ldi 0 + eq? + bt code_0243 + lst temp0 + lal newDButton_5 + eq? + bnt code_01d4 +code_0243: + lap param1 + sat temp1 + jmp code_024d + jmp code_01d4 +code_024d: + pushi #dispose + pushi 0 + self 4 + lat temp1 + ret + ) + ) + + (method (handleEvent pEvent) + (switch (pEvent type?) + (evKEYBOARD + (switch (pEvent message?) + (KEY_NUMPAD4 + (pEvent claimed: 1) + (return newDButton) + ) + (KEY_RIGHT + (pEvent claimed: 1) + (return newDButton_2) + ) + ) + ) + (evJOYSTICK + (switch (pEvent message?) + (JOY_LEFT + (pEvent claimed: 1) + (return newDButton) + ) + (JOY_RIGHT + (pEvent claimed: 1) + (return newDButton_2) + ) + ) + ) + ) + (return (super handleEvent: pEvent)) + ) + + (method (update param1 &tmp temp0 temp1) + (= temp1 (- maximum minimum)) + (= temp0 0) + (while (< temp0 temp1) + (StrAt @local7 temp0 (if (< temp0 param1) 6 else 7)) + (++ temp0) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Gauge.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Gauge.sco new file mode 100644 index 0000000..7c558d4 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Gauge.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/GhostWander.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/GhostWander.sc new file mode 100644 index 0000000..b5f9868 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/GhostWander.sc @@ -0,0 +1,842 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 603) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Cycle) +(use Game) +(use Feature) +(use Obj) + +(public + regHauntedHouse 0 +) +(synonyms + (room cottage) +) + +(local + local0 + local1 +) +(class GhostWander of Motion + (properties + client 0 + caller 0 + x 0 + y 0 + dx 0 + dy 0 + b-moveCnt 0 + b-i1 0 + b-i2 0 + b-di 0 + b-xAxis 0 + b-incr 0 + completed 0 + ux 0 + uy 0 + lx 0 + ly 0 + ) + + (method (init param1 theUx theUy theLx theLy &tmp theUx_2 theUy_2) + (= ux theUx) + (= uy theUy) + (= lx theLx) + (= ly theLy) + (switch (/ (Random 10 29) 10) + (1 (= theUx_2 ux)) + (2 (= theUx_2 lx)) + ) + (switch (/ (Random 10 29) 10) + (1 (= theUy_2 uy)) + (2 (= theUy_2 ly)) + ) + (super init: param1 theUx_2 theUy_2) + (super doit:) + ) + + (method (doit) + (super doit:) + (if (client isStopped:) (self moveDone:)) + ) + + (method (moveDone) + (self init: client ux uy lx ly) + ) +) + +(instance theGhost of Act + (properties) +) + +(instance regHauntedHouse of Rgn + (properties) + + (method (init) + (if initialized (return)) + (= global189 (= keep 1)) + (super init:) + (if global100 + (theGhost + view: 201 + illegalBits: 0 + ignoreActors: 1 + posn: 999 999 + init: + ) + (if (not global134) (= global134 1)) + (self notify: global134) + ) + (miserGhostMusic owner: self init:) + (ladyGhostMusic owner: self init:) + (lordGhostMusic owner: self init:) + (boyGhostMusic owner: self init:) + ) + + (method (dispose) + (if (== keep 0) (= global189 0) (super dispose:)) + ) + + (method (newRoom newRoomNumber) + (gSounds eachElementDo: #stop 0) + (if (IsObject script) (script cue: -2 newRoomNumber)) + (= global135 0) + (if (== newRoomNumber 17) (proc0_9)) + (super newRoom: newRoomNumber) + ) + + (method (notify param1) + (cond + ((and script (not argc)) (script cue:)) + ((and script (< param1 0)) (script cue: param1 &rest)) + (else + (self + setScript: + (switch (= global134 param1) + (1 babyScript) + (2 miserScript) + (3 ladyScript) + (4 lordScript) + (5 boyScript) + (else 0) + ) + ) + ) + ) + ) +) + +(instance babyScript of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (= global133 59) + (= seconds 5) + ) + (1 + (Print 603 0) + (= seconds 10) + ) + (2 + (if + (and + (!= gCurRoomNum 61) + (!= gCurRoomNum 66) + (!= gCurRoomNum 59) + (!= gCurRoomNum 58) + ) + (Print 603 1) + ) + (-- state) + (= seconds (Random 10 30)) + ) + ) + ) + + (method (cue) + (if (not argc) (super cue:)) + ) +) + +(instance miserScript of Script + (properties) + + (method (changeState newState &tmp temp0 temp1 temp2) + (switch (= state newState) + (0 + (Load rsVIEW 200) + (Load rsVIEW 201) + (= global133 164) + (= local0 1) + (= seconds (Random 5 10)) + ) + (1 + (Print 603 2) + (= cycles 5) + ) + (2 (= seconds 3)) + (3 + (if + (and + (!= gCurRoomNum 66) + (!= gCurRoomNum 61) + (!= gCurRoomNum 58) + ) + (Print 603 3) + ) + (-- state) + (= seconds (Random 40 99)) + ) + (4 + (= seconds 0) + (= global135 1) + (miserGhostMusic play:) + (switch global133 + (67 (= temp1 145)) + (68 (= temp1 180)) + (64 (= temp1 145)) + ) + (switch local0 + (0 (= temp0 -33)) + (1 (= temp0 333)) + ) + (switch local0 + (0 (= temp2 333)) + (1 (= temp2 -33)) + ) + (theGhost + view: 201 + illegalBits: 0 + posn: temp0 temp1 + ignoreActors: 1 + init: + setLoop: local0 + setCycle: Walk + setMotion: MoveTo temp2 temp1 self + ) + (= global225 1) + ) + (5 (= global225 0)) + (6 + (proc0_8) + (Print 603 4) + (gEgo put: 13 -1) + (gGame changeScore: 2) + (theGhost setLoop: setMotion: 0) + (= seconds 2) + ) + (7 + (theGhost + view: 200 + cycleSpeed: 1 + setCel: 255 + setCycle: Beg self + ) + ) + (8 + (= global225 0) + (proc0_9) + (regHauntedHouse notify: 3) + ) + ) + ) + + (method (cue param1) + (cond + ((not argc) (super cue:)) + ((== param1 -1) + (= seconds 0) + (self + changeState: (cond + ((< state 4) 4) + ((< state 6) 6) + ) + ) + ) + ((== param1 -2) + (switch global133 + (164 + (= global133 64) + (= local0 1) + ) + (64 + (if (== local0 1) + (= global133 68) + else + (= global133 164) + ) + ) + (68 + (if (== local0 1) + (= global133 67) + else + (= global133 64) + ) + ) + (67 + (if (== local0 1) + (= global133 167) + else + (= global133 68) + ) + ) + (167 + (= global133 67) + (= local0 0) + ) + ) + (if (< state 6) (self changeState: 2)) + ) + ) + ) + + (method (handleEvent pEvent &tmp gInvSaidMe) + (if + (or + (pEvent claimed?) + (!= (pEvent type?) evSAID) + (!= gCurRoomNum global133) + (not (gCast contains: theGhost)) + (== global225 0) + ) + (return) + ) + (cond + ((Said 'look/chain') (Print 603 5)) + ((Said 'get/chain') (Print 603 6)) + ((Said 'deliver>') + (cond + ( + (or + (not (= gInvSaidMe (gInv saidMe:))) + (not (gEgo has: (gInv indexOf: gInvSaidMe))) + ) + (pEvent claimed: 0) + ) + ((> (gEgo distanceTo: theGhost) 30) (proc0_13)) + ((!= (gInv indexOf: gInvSaidMe) 13) (Print 603 7)) + (else (self cue: -1)) + ) + ) + ((Said 'converse') (Print 603 8)) + ((Said 'look') (Print 603 9)) + ((Said 'kiss') (Print 603 10)) + ((Said 'capture,get') (Print 603 11)) + ((Said 'kill') (Print 603 12)) + ((Said 'help') (Print 603 13)) + ) + ) +) + +(instance ladyScript of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (theGhost posn: (theGhost x?) (+ (theGhost y?) 1000)) + (Load rsVIEW 202) + (Load rsVIEW 203) + (= global133 60) + (= global225 0) + (= seconds 3) + ) + (1 + (Print 603 14) + (= seconds (Random 10 30)) + ) + (2 (= seconds 3)) + (3 + (if + (and + (!= gCurRoomNum 66) + (!= gCurRoomNum 61) + (!= gCurRoomNum 58) + (!= gCurRoomNum 60) + ) + (Print 603 15) + ) + (-- state) + (= seconds (Random 50 99)) + ) + (4 + (= global135 1) + (= seconds 3) + ) + (5 + (ladyGhostMusic play:) + (= global225 1) + (theGhost + view: 202 + posn: 85 133 + ignoreActors: 1 + cycleSpeed: 3 + loop: 0 + cel: 0 + setCycle: End self + init: + ) + ) + (6 + (theGhost view: 203 setCycle: Fwd) + ) + (7 + (proc0_8) + (theGhost + view: 202 + loop: 0 + setCel: 255 + setCycle: Beg self + ) + ) + (8 + (= global225 0) + (proc0_9) + (= global133 67) + (regHauntedHouse notify: 4) + ) + ) + ) + + (method (cue param1) + (cond + ((not argc) (super cue:)) + ((== param1 -1) + (= seconds 0) + (self + changeState: (cond + ((< state 4) 4) + ((< state 7) 7) + ) + ) + ) + ((and (== param1 -2) (< state 7)) (self changeState: 2)) + ) + ) +) + +(instance lordScript of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (theGhost posn: (theGhost x?) (+ (theGhost y?) 1000)) + (Load rsVIEW 204) + (Load rsVIEW 206) + (= seconds 3) + ) + (1 + (Print 603 16) + (= seconds (Random 3 5)) + ) + (2 (= seconds 3)) + (3 + (if + (and + (!= gCurRoomNum 66) + (!= gCurRoomNum 61) + (!= gCurRoomNum 58) + ) + (Print 603 17) + ) + (-- state) + (= seconds (Random 40 99)) + ) + (4 + (= global135 1) + (= seconds (Random 2 5)) + ) + (5 + (= seconds 0) + (lordGhostMusic play:) + (theGhost + view: 204 + cel: 0 + posn: 150 160 + illegalBits: 0 + cycleSpeed: 1 + ignoreActors: 1 + setStep: 4 2 + setCycle: End self + init: + ) + ) + (6 + (theGhost + view: 206 + loop: (Random 0 3) + moveSpeed: 1 + cycleSpeed: 1 + setLoop: -1 + setCycle: Walk + ) + (if (== gCurRoomNum 68) + (theGhost setMotion: GhostWander 78 156 225 185) + else + (theGhost setMotion: GhostWander 75 130 225 175) + ) + (= global225 1) + (= seconds (Random 13 30)) + ) + (7 + (theGhost + view: 204 + loop: 0 + setCel: 255 + setCycle: Beg self + ) + ) + (8 + (= global225 0) + (= state 4) + (= seconds (Random 20 99)) + ) + (9 + (proc0_8) + (Print 603 18) + (theGhost setMotion: 0) + (= seconds 3) + ) + (10 + (= seconds 0) + (gEgo put: 29 -1) + (gGame changeScore: 2) + (theGhost + view: 204 + loop: 0 + setCel: 255 + setCycle: Beg self + ) + ) + (11 + (proc0_9) + (= global225 0) + (regHauntedHouse notify: 5) + ) + ) + ) + + (method (cue param1 param2) + (cond + ((not argc) (super cue:)) + ((== param1 -1) + (= seconds 0) + (self + changeState: (cond + ((< state 4) 4) + ((< state 9) 9) + ) + ) + ) + ((== param1 -2) + (= global133 + (if + (and + (<= 64 param2) + (<= param2 68) + (!= param2 66) + (Random 0 1) + ) + param2 + else + 0 + ) + ) + (self changeState: 2) + ) + ) + ) + + (method (handleEvent pEvent &tmp gInvSaidMe) + (if + (or + (pEvent claimed?) + (!= (pEvent type?) evSAID) + (!= gCurRoomNum global133) + (not global135) + (== global225 0) + ) + (return) + ) + (cond + ((Said 'deliver>') + (cond + ( + (or + (not (= gInvSaidMe (gInv saidMe:))) + (not (gEgo has: (gInv indexOf: gInvSaidMe))) + ) + (pEvent claimed: 0) + ) + ((> (gEgo distanceTo: theGhost) 30) (proc0_13)) + ((!= (gInv indexOf: gInvSaidMe) 29) (Print 603 19)) + (else (self changeState: 9)) + ) + ) + ((Said 'converse') (Print 603 20)) + ((Said 'look') (Print 603 21)) + ((Said 'kiss') (Print 603 10)) + ((Said 'get,capture/*') (Print 603 22)) + ((Said 'kill/*') (Print 603 12)) + ((Said 'help/*') (Print 603 23)) + ) + ) +) + +(instance boyScript of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 (= seconds 2)) + (1 + (theGhost posn: (theGhost x?) (+ (theGhost y?) 1000)) + (Load rsVIEW 207) + (Load rsVIEW 208) + (= global134 5) + (= seconds 2) + ) + (2 + (boyGhostMusic client: 0 stop:) + (cond + ((== gCurRoomNum 60) (= global135 1) (= cycles 1)) + ( + (and + (!= gCurRoomNum 66) + (!= gCurRoomNum 61) + (!= gCurRoomNum 58) + ) + (= global135 1) + (= seconds (Random 1 3)) + ) + ) + ) + (3 + (boyGhostMusic play:) + (theGhost + view: 207 + illegalBits: 0 + ignoreActors: 1 + setPri: -1 + loop: 0 + cel: 0 + setCycle: End self + posn: + (switch gCurRoomNum + (60 159) + (64 83) + (65 255) + (67 239) + (68 165) + ) + (switch gCurRoomNum + (60 136) + (64 124) + (65 148) + (67 136) + (68 83) + ) + init: + ) + (if (== gCurRoomNum 60) (theGhost setPri: 10)) + ) + (4 + (if (== local1 0) + (= local1 1) + (Print 603 24) + else + (Print 603 25) + ) + (theGhost + view: 208 + moveSpeed: 0 + cycleSpeed: 0 + setLoop: -1 + setCycle: Walk + ) + (switch gCurRoomNum + (60 + (theGhost + setPri: 10 + setCycle: Fwd + setMotion: MoveTo 158 15 + ) + (= global133 63) + ) + (64 + (theGhost setPri: 9 setMotion: MoveTo 0 143 self) + (= global133 68) + ) + (65 + (theGhost setMotion: MoveTo 240 190 self) + (= global133 64) + ) + (67 + (theGhost setMotion: MoveTo 300 136 self) + (= global133 68) + ) + (68 + (theGhost setMotion: MoveTo 193 73 self) + (= global133 60) + ) + ) + ) + (5 + (theGhost + view: 207 + loop: 0 + setCel: 255 + setCycle: Beg self + ) + ) + (6 + (= global135 0) + (theGhost posn: (theGhost x?) (+ (theGhost y?) 1000)) + ) + (11 + (= global135 1) + (Load rsVIEW 209) + (boyGhostMusic play:) + (theGhost + view: 207 + loop: 1 + cel: 0 + posn: 167 117 + setPri: 8 + cycleSpeed: 1 + setCycle: End self + illegalBits: 0 + ignoreActors: + init: + ) + ) + (12 + (theGhost + view: 209 + loop: (Random 0 3) + cycleSpeed: 1 + setCycle: Fwd + ) + (= seconds 5) + ) + (13 + (if (== gCurRoomNum 63) (Print 603 26)) + (= seconds 3) + ) + (14 + (theGhost loop: (Random 0 3)) + (-- state) + (= cycles (Random 30 60)) + ) + (21 + (proc0_8) + (Print 603 27) + (gEgo put: 30 -1) + (gGame changeScore: 2) + (= seconds 2) + ) + (22 + (= global134 255) + (theGhost + view: 207 + loop: 1 + setCel: 255 + setCycle: Beg self + init: + ) + ) + (23 + (proc0_9) + (theGhost dispose:) + (regHauntedHouse notify: 255) + ) + ) + ) + + (method (cue param1) + (cond + ((not argc) (super cue:)) + ((== param1 -1) + (= seconds 0) + (self + changeState: (cond + ((== gCurRoomNum 63) 11) + ((< state 11) 2) + ) + ) + ) + ) + ) + + (method (handleEvent pEvent &tmp gInvSaidMe) + (if + (or + (pEvent claimed?) + (!= (pEvent type?) evSAID) + (!= gCurRoomNum global133) + (not global135) + ) + (return) + ) + (cond + ((Said 'deliver>') + (cond + ( + (or + (not (= gInvSaidMe (gInv saidMe:))) + (not (gEgo has: (gInv indexOf: gInvSaidMe))) + ) + (pEvent claimed: 0) + ) + ((> (gEgo distanceTo: theGhost) 30) (proc0_13)) + ((!= (gInv indexOf: gInvSaidMe) 30) (Print 603 28)) + ((!= gCurRoomNum 63) (Print 603 29)) + (else (self changeState: 21)) + ) + ) + ((Said 'converse') (Print 603 30)) + ((Said 'kiss') (Print 603 10)) + ((Said 'look/ghost[') + (cond + ((Said 'look') (Print 504 0)) + ((Said 'converse') (Print 504 1)) + ((Said 'get,capture') (Print 504 2)) + ((Said 'kiss') (Print 504 3)) + ((Said 'feed') (Print 504 4)) + ) + ) + ((Said 'deliver/*/gull,gull,bird') + (cond + ((not (= gInvSaidMe (gInv saidMe:))) (Print 504 5)) + ((gEgo has: (gInv indexOf: gInvSaidMe)) (Print 504 6)) + (else (proc0_17)) + ) + ) + ((Said 'fling') + (cond + ((not (= gInvSaidMe (gInv saidMe:))) (Print 504 7)) + ((gEgo has: (gInv indexOf: gInvSaidMe)) (Print 504 8)) + (else (proc0_17)) + ) + ) + ) + else + (Print 504 9) + ) + else + 0 + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Gull Region.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Gull Region.sco new file mode 100644 index 0000000..555a5f1 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Gull Region.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Intro.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Intro.sc new file mode 100644 index 0000000..9970563 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Intro.sc @@ -0,0 +1,554 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 120) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Cycle) +(use Game) +(use User) +(use Feature) +(use Obj) + +(public + intro 0 + introSc 1 +) + +(local + local0 + [local1 17] + local18 + local19 + local20 + local21 + local22 + [local23 7] + local30 + local31 + [local32 202] +) +(instance openMusic of Sound + (properties) +) + +(instance intro of Rm + (properties + horizon 40 + ) + + (method (init) + (Load rsVIEW 750) + (Load rsVIEW 752) + (Load rsVIEW 755) + (Load rsVIEW 756) + (Load rsVIEW 757) + (Load rsVIEW 758) + (Load rsVIEW 759) + (Load rsVIEW 760) + (Load rsVIEW 761) + (Load rsVIEW 762) + (Load rsVIEW 766) + (Load rsVIEW 767) + (Load rsVIEW 768) + (Load rsVIEW 769) + (Load rsPIC 201) + (Load rsPIC 202) + (Load rsPIC 203) + (Load rsPIC 204) + (Load rsPIC 205) + (self setRegions: 520) + (super init:) + (= gIntroSc introSc) + (gRoom setScript: introSc) + (= gUserFont gSmallFont) + ) + + (method (handleEvent pEvent) + (cond + ( + (and + (== (pEvent type?) evKEYBOARD) + (== (pEvent message?) KEY_F2) + ) + (DoSound sndSET_SOUND (not (DoSound sndSET_SOUND))) + ) + ( + (and + (== (pEvent type?) evKEYBOARD) + (== (pEvent message?) KEY_RETURN) + ) + (gGame restart:) + ) + ) + ) + + (method (newRoom newRoomNumber) + (if (IsObject local30) (local30 dispose:)) + (super newRoom: newRoomNumber) + ) +) + +(instance introSc of Script + (properties) + + (method (changeState newState &tmp temp0) + (gAddToPics dispose:) + (switch (= state newState) + (0 + (User canControl: 0 canInput: 0) + (gRoom drawPic: 201) + (openMusic number: 103 play:) + (= local19 + ((Act new:) + view: 750 + loop: 0 + posn: 130 130 + stopUpd: + init: + yourself: + ) + ) + (= local20 + ((Act new:) + view: 769 + loop: 2 + posn: 140 119 + stopUpd: + init: + yourself: + ) + ) + (= local21 + ((Act new:) + view: 760 + posn: 220 148 + loop: 1 + cel: 5 + stopUpd: + init: + yourself: + ) + ) + (= local18 + ((Act new:) + view: 759 + loop: 1 + posn: 212 135 + stopUpd: + init: + yourself: + ) + ) + (= local22 + ((Act new:) + view: 767 + posn: 48 120 + xStep: 4 + yStep: 2 + loop: 0 + cycleSpeed: 0 + cel: 3 + stopUpd: + init: + yourself: + ) + ) + ((View new:) + view: 768 + posn: 158 64 + setPri: 0 + ignoreActors: + addToPic: + ) + ((View new:) + view: 769 + loop: 3 + posn: 48 139 + setPri: 0 + ignoreActors: + addToPic: + ) + (Timer setReal: self 2) + ) + (1 + (= local30 (Print 120 0 67 -1 10 70 300 88)) + (Timer setReal: self 10) + ) + (2 + (local19 setCycle: Walk setMotion: MoveTo 145 140 self) + ) + (3 + (local19 setMotion: MoveTo 48 144 self) + ) + (4 + (local22 hide:) + (local19 setMotion: MoveTo 130 140 self) + ) + (5 + (if gModelessDlg (gModelessDlg dispose:)) + (local19 setMotion: MoveTo 134 131 self) + ) + (6 + (local19 setLoop: 0) + (= local30 (Print 120 1 70 300 67 -1 12 88)) + (= seconds 11) + ) + (7 + (local19 view: 750 setLoop: 2 cel: 255 setCycle: End self) + ) + (8 + (local22 + show: + posn: (+ (local19 x?) 10) (- (local19 y?) 20) + setCycle: Rev + moveSpeed: 1 + ignoreActors: + illegalBits: 0 + setMotion: MoveTo 220 70 self + ) + (local21 + view: 761 + setLoop: 0 + setCycle: Walk + setMotion: MoveTo 275 145 + ) + (local18 + view: 761 + setLoop: 1 + setCycle: Walk + setMotion: MoveTo 275 135 + ) + ) + (9 + (local19 setLoop: 3 setCycle: End stopKing) + (= seconds 1) + ) + (10 + (local22 stopUpd:) + (= seconds 1) + ) + (11 + (if gModelessDlg (gModelessDlg dispose:)) + (gCast eachElementDo: #hide) + (gRoom drawPic: 202) + (local22 + show: + setLoop: 1 + setCel: 0 + posn: 105 99 + ignoreActors: + setStep: 4 2 + moveSpeed: 0 + cycleSpeed: 0 + setCycle: Rev + setMotion: MoveTo 275 120 + ) + (= local30 (Print 120 2 30 1 67 -1 150 88)) + (Timer setReal: self 3) + ) + (12 + (if gModelessDlg (gModelessDlg dispose:)) + (= local30 (Print 120 3 67 -1 150 88)) + (Timer setReal: self 3) + ) + (13 + (if gModelessDlg (gModelessDlg dispose:)) + (local22 hide:) + (= local31 + ((Act new:) + view: 769 + loop: 0 + posn: 160 114 + cycleSpeed: 5 + cel: 255 + setCycle: End stopKing + init: + yourself: + ) + ) + (= local30 (Print 120 4 67 -1 140 88)) + (Timer setReal: self 7) + ) + (14 + (if gModelessDlg (gModelessDlg dispose:)) + (local31 dispose:) + (gRoom drawPic: 201) + (local19 + cycleSpeed: 0 + view: 769 + posn: 135 130 + setLoop: 1 + cel: 255 + setCycle: End stopKing + ignoreActors: + show: + ) + (local18 + show: + view: 759 + setLoop: 1 + xStep: 2 + setCycle: Walk + setMotion: MoveTo 227 136 + ) + (local21 + show: + view: 760 + loop: 1 + xStep: 2 + setCycle: Walk + setMotion: MoveTo 216 147 self + ) + (local20 + show: + view: 769 + cycleSpeed: 4 + setLoop: 2 + setCycle: End stopQueen + ) + ((View new:) + view: 768 + posn: 158 64 + ignoreActors: + addToPic: + ) + ((View new:) + view: 769 + loop: 3 + posn: 48 139 + setPri: 0 + ignoreActors: + addToPic: + ) + (local22 + show: + setCel: 3 + setLoop: 0 + posn: 300 144 + stopUpd: + ) + (= local30 + (Print 120 5 80 {King Graham} 67 53 155 88) + ) + ) + (15 + (if gModelessDlg (gModelessDlg dispose:)) + (Timer setReal: self 3) + ) + (16 + (gCast eachElementDo: #hide) + (gRoom drawPic: 203) + (local22 show: setCel: 0 setLoop: 2 posn: 180 99 stopUpd:) + (= local30 (Print 120 6 67 -1 152 88)) + (Timer setReal: self 5) + ) + (17 + (if gModelessDlg (gModelessDlg dispose:)) + (local22 dispose:) + (gRoom drawPic: 204) + ((View new:) + view: 752 + loop: 2 + cel: 0 + posn: 123 89 + ignoreActors: + setPri: 0 + addToPic: + ) + ((View new:) + view: 752 + loop: 2 + cel: 0 + posn: 204 89 + ignoreActors: + setPri: 0 + addToPic: + ) + ((Prop new:) + view: 752 + loop: 4 + posn: 123 63 + cycleSpeed: 0 + setCycle: Fwd + init: + yourself: + ) + ((Prop new:) + view: 752 + loop: 4 + posn: 204 63 + cycleSpeed: 0 + setCycle: Rev + init: + yourself: + ) + ((View new:) + view: 752 + loop: 3 + posn: 47 139 + ignoreActors: + addToPic: + ) + (local19 + show: + setPri: 15 + view: 752 + setLoop: 0 + setCel: 0 + posn: 162 144 + stopUpd: + ) + (local20 + show: + view: 756 + setPri: 9 + setLoop: 1 + setCel: 0 + ignoreActors: + posn: 85 177 + stopUpd: + ) + (local21 + show: + view: 756 + setPri: 9 + loop: 0 + cel: 0 + ignoreActors: + posn: 228 176 + stopUpd: + ) + (local18 + show: + view: 756 + setPri: 10 + loop: 2 + cel: 0 + posn: 251 177 + stopUpd: + ) + (= local0 (Timer setReal: checkHang 15)) + (self cue:) + ) + (18 + (if (!= (openMusic prevSignal?) -1) + (-- state) + (Timer setReal: self 2) + else + (Timer setReal: self 5) + (if (IsObject local0) (local0 dispose:)) + ) + ) + (19 + (gCast eachElementDo: #hide) + (gRoom drawPic: 205) + (openMusic dispose:) + ((ScriptID 520 1) play:) + (local19 + show: + view: 752 + setLoop: 1 + setCel: 0 + posn: 162 119 + setPri: 8 + ) + (= local30 (Print 120 7 67 -1 134 88)) + (Timer setReal: self 7) + ) + (20 + (proc0_21) + (gRoom drawPic: 204) + (gCast eachElementDo: #show) + ((View new:) + view: 752 + loop: 3 + posn: 47 139 + ignoreActors: + addToPic: + ) + ((View new:) + view: 752 + loop: 2 + cel: 0 + posn: 123 89 + ignoreActors: + setPri: 0 + addToPic: + ) + ((View new:) + view: 752 + loop: 2 + cel: 0 + posn: 204 89 + ignoreActors: + setPri: 0 + addToPic: + ) + (local19 + view: 752 + setPri: 15 + setLoop: 0 + setCel: 0 + posn: 163 137 + stopUpd: + ) + (local20 setCel: 255 stopUpd:) + (local21 setCel: 255 stopUpd:) + (local18 + setStep: 4 -1 + setCycle: End + setMotion: MoveTo 340 176 + ) + (= local30 (Print 120 8 67 -1 10 70 300 88)) + (Timer setReal: self 4) + ) + (21 + (= global205 1) + (if gModelessDlg (gModelessDlg dispose:)) + (gRoom newRoom: 221) + ) + ) + ) +) + +(instance stopKing of Script + (properties) + + (method (cue) + (local19 stopUpd:) + ) +) + +(instance stopQueen of Script + (properties) + + (method (cue) + (local20 stopUpd:) + ) +) + +(instance stopSon of Script + (properties) + + (method (cue) + (local21 stopUpd:) + ) +) + +(instance stopRosella of Script + (properties) + + (method (cue) + (local18 stopUpd:) + ) +) + +(instance checkHang of Script + (properties) + + (method (cue) + (gTimers eachElementDo: #dispose 84) + (introSc changeState: 19) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Intro.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Intro.sco new file mode 100644 index 0000000..eae3af1 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Intro.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/InvI.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/InvI.sc new file mode 100644 index 0000000..9105b90 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/InvI.sc @@ -0,0 +1,177 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 995) +(include sci.sh) +(use Main) +(use Class_255_0) +(use SysWindow) +(use Obj) + + +(local + newDButton +) +(class InvI of Obj + (properties + said 0 + description 0 + owner 0 + view 0 + loop 0 + cel 0 + script 0 + ) + + (method (showSelf) + (IconPrint (if description else name) view loop cel) + ) + + (method (saidMe) + (Said said) + ) + + (method (ownedBy param1) + (return (== owner param1)) + ) + + (method (moveTo theOwner) + (= owner theOwner) + (return self) + ) + + (method (changeState newState) + (if script (script changeState: newState)) + ) +) + +(class Inv of Set + (properties + elements 0 + size 0 + carrying {You are carrying:} + empty {You are carrying nothing!} + ) + + (method (init) + (= gInv self) + ) + + (method (showSelf param1) + (invD text: carrying doit: param1) + ) + + (method (saidMe) + (self firstTrue: #saidMe) + ) + + (method (ownedBy param1) + (self firstTrue: #ownedBy param1) + ) +) + +(instance invD of Dialog + (properties) + + (method (init param1 &tmp temp0 temp1 temp2 temp3 newDText gInvFirst temp6) + (= temp2 (= temp0 (= temp1 4))) + (= temp3 0) + (= gInvFirst (gInv first:)) + (while gInvFirst + (if + ((= temp6 (NodeValue gInvFirst)) ownedBy: param1) + (++ temp3) + (self + add: + ((= newDText (DText new:)) + value: temp6 + text: (temp6 name?) + nsLeft: temp0 + nsTop: temp1 + state: 3 + font: gSmallFont + setSize: + yourself: + ) + ) + (if + (< temp2 (- (newDText nsRight?) (newDText nsLeft?))) + (= temp2 (- (newDText nsRight?) (newDText nsLeft?))) + ) + (if + (> + (= temp1 + (+ temp1 (- (newDText nsBottom?) (newDText nsTop?)) 1) + ) + 140 + ) + (= temp1 4) + (= temp0 (+ temp0 temp2 10)) + (= temp2 0) + ) + ) + (= gInvFirst (gInv next: gInvFirst)) + ) + (if (not temp3) (self dispose:) (return 0)) + (= window SysWindow) + (self setSize:) + (= newDButton (DButton new:)) + (newDButton + text: {OK} + setSize: + moveTo: (- nsRight (+ 4 (newDButton nsRight?))) nsBottom + ) + (newDButton + move: (- (newDButton nsLeft?) (newDButton nsRight?)) 0 + ) + (self add: newDButton setSize: center:) + (return temp3) + ) + + (method (doit param1 &tmp theNewDButton) + (if (not (self init: param1)) + (Print (gInv empty?)) + (return) + ) + (self open: 4 15) + (= theNewDButton newDButton) + (repeat + (if + (or + (not (= theNewDButton (super doit: theNewDButton))) + (== theNewDButton -1) + (== theNewDButton newDButton) + ) + (break) + ) + ((theNewDButton value?) showSelf:) + ) + (self dispose:) + ) + + (method (handleEvent pEvent &tmp pEventMessage pEventType) + (= pEventMessage (pEvent message?)) + (switch (= pEventType (pEvent type?)) + (4 + (switch pEventMessage + (KEY_UP (= pEventMessage 3840)) + (KEY_NUMPAD2 + (= pEventMessage 9) + ) + ) + ) + (64 + (switch pEventMessage + (JOY_UP + (= pEventMessage 3840) + (= pEventType 4) + ) + (JOY_DOWN + (= pEventMessage 9) + (= pEventType 4) + ) + ) + ) + ) + (pEvent type: pEventType message: pEventMessage) + (super handleEvent: pEvent) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/InvI.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/InvI.sco new file mode 100644 index 0000000..049b4a1 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/InvI.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Jump.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Jump.sc new file mode 100644 index 0000000..23540f5 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Jump.sc @@ -0,0 +1,198 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 991) +(include sci.sh) +(use Main) +(use Cycle) + + +(class Jump of Motion + (properties + client 0 + caller 0 + x 20000 + y 20000 + dx 0 + dy 0 + b-moveCnt 0 + b-i1 0 + b-i2 0 + b-di 0 + b-xAxis 0 + b-incr 0 + completed 0 + gx 0 + gy 3 + xStep 20000 + yStep 0 + signal $0000 + illegalBits $0000 + waitApogeeX 1 + waitApogeeY 1 + ) + + (method (init theClient theCaller &tmp clientHeading) + (= client theClient) + (if (== argc 2) (= caller theCaller)) + (= illegalBits (client illegalBits?)) + (= signal (client signal?)) + (client illegalBits: 0 setPri:) + (if (== xStep 20000) + (= xStep + (cond + ( + (or + (> (= clientHeading (client heading?)) 330) + (< clientHeading 30) + (and (< 150 clientHeading) (< clientHeading 210)) + ) + 0 + ) + ((< clientHeading 180) (client xStep?)) + (else (- (client xStep?))) + ) + ) + ) + (if (not (if waitApogeeX (< (* xStep gx) 0))) + (= waitApogeeX 0) + ) + (if (not (if waitApogeeY (< (* yStep gy) 0))) + (= waitApogeeY 0) + ) + (self setTest:) + ) + + (method (doit &tmp theXStep theYStep) + (client + x: (+ (client x?) xStep) + y: (+ (client y?) yStep) + ) + (= theXStep xStep) + (= theYStep yStep) + (= xStep (+ xStep gx)) + (= yStep (+ yStep gy)) + (if + (and + (not waitApogeeX) + (!= x 20000) + (<= 0 (* dx (- (client x?) x))) + ) + (client x: x) + (self moveDone:) + (return) + ) + (if + (and + (not waitApogeeY) + (!= y 20000) + (<= 0 (* dy (- (client y?) y))) + ) + (client y: y) + (self moveDone:) + (return) + ) + (if (<= (* theXStep xStep) 0) + (= waitApogeeX 0) + (self setTest:) + ) + (if (<= (* theYStep yStep) 0) + (= waitApogeeY 0) + (self setTest:) + ) + ) + + (method (moveDone) + (client illegalBits: illegalBits signal: signal) + (if caller (= global58 1) (= completed 1)) + ) + + (method (triedToMove) + (return 1) + ) + + (method (motionCue) + (client mover: 0) + (if (and completed (IsObject caller)) (caller cue:)) + (self dispose:) + ) + + (method (setTest) + (= dx + (if + (or + (> (client x?) x) + (and (== (client x?) x) (> xStep 0)) + ) + -1 + else + 1 + ) + ) + (= dy + (if + (or + (> (client y?) y) + (and (== (client y?) y) (> yStep 0)) + ) + -1 + else + 1 + ) + ) + ) +) + +(class JumpTo of Jump + (properties + client 0 + caller 0 + x 20000 + y 20000 + dx 0 + dy 0 + b-moveCnt 0 + b-i1 0 + b-i2 0 + b-di 0 + b-xAxis 0 + b-incr 0 + completed 0 + gx 0 + gy 3 + xStep 20000 + yStep 0 + signal $0000 + illegalBits $0000 + waitApogeeX 1 + waitApogeeY 1 + ) + + (method (init theClient theX theY param4 &tmp temp0 temp1 [temp2 52]) + (= client theClient) + (= x theX) + (= y theY) + (if + (and (== x (theClient x?)) (== y (theClient y?))) + (= illegalBits (client illegalBits?)) + (= signal (client signal?)) + (self moveDone:) + (return) + ) + (= temp0 (- x (theClient x?))) + (= temp1 (- y (theClient y?))) + (SetJump self temp0 temp1 gy) + (if (not temp0) (= x 20000)) + (if (not temp1) (= y 20000)) + (switch argc + (3 (super init: theClient)) + (4 + (super init: theClient param4) + ) + ) + ) + + (method (moveDone) + (if (!= x 20000) (client x: x)) + (if (!= y 20000) (client y: y)) + (super moveDone:) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Jump.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Jump.sco new file mode 100644 index 0000000..f88b74b Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Jump.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/KQ4Music.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/KQ4Music.sc new file mode 100644 index 0000000..d903fe9 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/KQ4Music.sc @@ -0,0 +1,27 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 520) +(include sci.sh) +(use Sound) +(use Game) + +(public + kq4Intro 0 + KQ4MUSIC 1 +) + +(instance KQ4MUSIC of Sound + (properties + number 104 + ) +) + +(instance kq4Intro of Rgn + (properties) + + (method (init) + (if initialized (return)) + (= keep 1) + (super init:) + ((ScriptID 520 1) owner: kq4Intro init:) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/KQ4Music.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/KQ4Music.sco new file mode 100644 index 0000000..f98d4fb Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/KQ4Music.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Main.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Main.sc new file mode 100644 index 0000000..d6bc4ca --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Main.sc @@ -0,0 +1,4293 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 0) +(include sci.sh) +(use Class_255_0) +(use Sound) +(use SysWindow) +(use Cycle) +(use Game) +(use InvI) +(use User) +(use MenuBar) +(use Feature) +(use Obj) + +(public + KQ4 0 + smallBase 1 + proc0_2 2 + proc0_3 3 + timer1 4 + timer2 5 + timer3 6 + proc0_7 7 + proc0_8 8 + proc0_9 9 + proc0_10 10 + proc0_11 11 + proc0_12 12 + proc0_13 13 + proc0_14 14 + proc0_15 15 + proc0_16 16 + proc0_17 17 + proc0_18 18 + proc0_19 19 + proc0_20 20 + proc0_21 21 +) + +(local + gEgo + gGame + gRoom + gSpeed = 6 + gQuit + gCast + gRegions + gTimers + gSounds + gInv + gAddToPics + gCurRoomNum + gPrevRoomNum + gNewRoomNumber_2 + global14 + global15 + global16 + global17 = 7 + global18 + gCursorNumber + gNormalCursor = 999 + gLoadingCursor = 997 + gUserFont = 1 + gSmallFont = 4 + gLastEvent + gModelessDlg + gBigFont = 1 + global27 = 12 + global28 = {newInvItem} + gLocales + global30 + global31 + global32 + global33 + global34 + global35 + global36 + global37 + global38 + global39 + global40 + global41 + global42 + global43 + global44 + global45 + global46 + global47 + global48 + global49 + global50 = 10 + gPicAngle + gFeatures + gSFeatures + global54 + global55 + global56 + gPicNumber = -1 + global58 + gSysWindow + global60 + global61 + global62 + global63 + global64 + global65 + global66 + global67 + global68 + global69 + global70 + global71 + global72 + global73 + global74 + global75 + global76 + global77 + global78 + global79 + global80 + global81 + global82 + global83 + global84 + global85 + global86 + global87 + global88 + global89 + global90 + global91 + global92 + global93 + global94 + global95 + global96 + global97 + global98 + global99 + global100 + global101 + global102 + global103 + global104 + global105 + global106 + global107 + gHorizon + global109 + global110 + global111 + global112 + global113 + global114 + global115 + global116 + global117 + global118 + gNewAct_2 + global120 + gNewAct + global122 + global123 + global124 + gNewAct_3 + global126 + global127 + global128 + global129 + global130 + global131 + global132 + global133 + global134 + global135 + global136 + global137 + gNewPropX + global139 + global140 + global141 + global142 + global143 + global144 + global145 + global146 + global147 + global148 + global149 + global150 + global151 + global152 + global153 + global154 + global155 + global156 + global157 + global158 + global159 + global160 + global161 + global162 + global163 + gGEgoScript + global165 + global166 + global167 + global168 + global169 + global170 + global171 + gNewAct_5 + gGNewActY + global174 + global175 + global176 + global177 + global178 + global179 + gNewProp + gGEgoView + global182 + global183 + global184 + gGEgoBaseSetter + global186 + global187 + gNewRoomNumber + global189 + global190 + global191 + global192 + global193 + global194 + global195 + global196 + global197 + global198 + global199 + global200 + global201 + global202 + gNewAct_4 + global204 + global205 + global206 + global207 + gNewActX + gNewActY + global210 + global211 + global212 + global213 + global214 + global215 + global216 + global217 + global218 + global219 + global220 + global221 + global222 + global223 + global224 + global225 + gIntroSc + global227 + global228 + global229 + global230 + global231 + global232 + global233 + global234 + global235 + global236 + global237 + global238 + global239 + global240 + global241 + global242 + global243 + global244 + global245 + global246 + global247 + global248 + global249 + global250 + global251 + global252 + global253 + global254 + global255 + global256 + global257 + global258 + global259 + global260 + global261 + global262 + global263 + global264 + global265 + global266 + global267 + global268 + global269 + global270 + global271 + global272 + global273 + global274 + global275 + global276 + global277 + global278 + global279 + global280 + global281 + global282 + global283 + global284 + global285 + global286 + global287 + global288 + global289 + global290 + global291 + global292 + global293 + global294 + global295 + global296 + global297 + global298 + global299 + global300 + global301 + global302 + global303 + global304 + global305 + global306 + global307 + global308 + global309 + global310 + global311 + global312 + global313 + global314 + global315 + global316 + global317 + global318 + global319 + global320 + global321 + global322 + global323 + global324 + global325 + global326 + global327 + global328 + global329 + global330 + global331 + global332 + global333 + global334 + global335 + global336 + global337 + global338 + global339 + global340 + global341 + global342 + global343 + global344 + global345 + global346 + global347 + global348 + global349 + global350 + global351 + global352 + global353 + global354 + global355 + global356 + global357 + global358 + global359 + global360 + global361 + global362 + global363 + global364 + global365 + global366 + global367 + global368 + global369 + global370 + global371 + global372 + global373 + global374 + global375 + global376 + global377 + global378 + global379 + global380 + global381 + global382 + global383 + global384 + global385 + global386 + global387 + global388 + global389 + global390 + global391 + global392 + global393 + global394 + global395 + global396 + global397 + global398 + global399 + global400 +) +(procedure (proc0_2 param1 param2) + (if (< argc 2) (= param2 5)) + (switch (param1 loop?) + (0 + (OnControl + 4 + (param1 x?) + (param1 y?) + (+ (param1 x?) param2) + (+ (param1 y?) 1) + ) + (return) + ) + (1 + (OnControl + 4 + (- (param1 x?) param2) + (param1 y?) + (param1 x?) + (+ (param1 y?) 1) + ) + (return) + ) + (2 + (OnControl + 4 + (param1 x?) + (param1 y?) + (+ (param1 x?) 1) + (+ (param1 y?) param2) + ) + (return) + ) + (3 + (OnControl + 4 + (param1 x?) + (- (param1 y?) param2) + (+ (param1 x?) 1) + (param1 y?) + ) + (return) + ) + ) +) + +(procedure (proc0_3 param1 param2) + (DirLoop + param1 + (GetAngle + (param1 x?) + (param1 y?) + (param2 x?) + (param2 y?) + ) + ) + (if (== argc 3) + (DirLoop + param2 + (GetAngle + (param2 x?) + (param2 y?) + (param1 x?) + (param1 y?) + ) + ) + ) +) + +(procedure (proc0_7 param1 param2) + (if (> argc 0) + (gEgo loop: param1) + (if (> argc 1) (gEgo view: param2)) + ) + (gEgo + setLoop: -1 + setPri: -1 + setMotion: 0 + setCycle: Walk + illegalBits: -32768 + cycleSpeed: 0 + moveSpeed: 0 + ignoreActors: 0 + ) + (User canControl: 1 canInput: 1) +) + +(procedure (proc0_8) + (User canControl: 0 canInput: 0) + (gEgo setMotion: 0) + (= global204 1) + (= global114 global189) + (= global189 1) +) + +(procedure (proc0_9) + (User canControl: 1 canInput: 1) + (gEgo setMotion: 0) + (= global204 0) + (= global189 global114) +) + +(procedure (proc0_10 param1 &tmp temp0) + (= temp0 (ScriptID param1)) + (temp0 notify: &rest) +) + +(procedure (proc0_11) + (return (if (== (gEgo view?) 2) else (== (gEgo view?) 4))) +) + +(procedure (proc0_12 param1) + (return (> (MemoryInfo 0) param1)) +) + +(procedure (proc0_13) + (Print 0 130) +) + +(procedure (proc0_14) + (Print 0 131) +) + +(procedure (proc0_15) + (Print 0 132) +) + +(procedure (proc0_16) + (Print 0 133) +) + +(procedure (proc0_17) + (Print 0 134) +) + +(procedure (proc0_18) + (Animate (gCast elements?) 0) +) + +(procedure (proc0_19 param1 param2) + (param1 loop: param2 changeState:) +) + +(procedure (proc0_20 param1 &tmp liteStateState) + (= liteStateState (liteState state?)) + (if argc (liteState changeState: param1)) + (return liteStateState) +) + +(procedure (proc0_21) + (if gModelessDlg (gModelessDlg dispose:)) +) + +(class newInvItem of InvI + (properties + said 0 + description 0 + owner 0 + view 0 + loop 0 + cel 0 + script 0 + ) + + (method (showSelf) + (Print 0 0 80 name 82 view loop cel) + ) +) + +(instance statusCode of Code + (properties) + + (method (doit param1) + (Format + param1 + 0 + 1 + global15 + global16 + { KQ\0A__The Perils of Rosella} + ) + ) +) + +(instance ego of Ego + (properties) +) + +(instance getItemMusic of Sound + (properties + number 48 + priority 2 + owner -1 + ) +) + +(instance tweet of Sound + (properties + number 76 + priority -1 + owner -1 + ) +) + +(instance KQ4 of Game + (properties) + + (method (init) + (= gSysWindow SysWindow) + (super init:) + (= gEgo ego) + (User alterEgo: gEgo) + (= global50 7) + (= global221 0) + (Inv + add: + Silver_Flute + Diamond_Pouch + Talisman + Lantern__unlit_ + Pandora_s_Box + Gold_Ball + Witches__Glass_Eye + Obsidian_Scarab + Peacock_Feather + Lute + Small_Crown + Frog + Silver_Baby_Rattle + Gold_Coins + Cupid_s_Bow + Shovel + Axe + Fishing_Pole + Shakespeare_Book + Worm + Skeleton_Key + Golden_Bridle + Board + Bone + Dead_Fish + Magic_Fruit + Sheet_Music + Silver_Whistle + Locket + Medal + Toy_Horse + Glass_Bottle + Gold_Key + Magic_Hen + Rose + Note + ) + (= global17 0) + (= gUserFont (= gBigFont 1)) + (= global169 1) + (= global28 {1.006.004}) + (liteState init: Lantern__unlit_) + (TheMenuBar init:) + (getItemMusic init:) + (tweet init:) + (= global118 (Random 1 3)) + (User canInput: 0 canControl: 0 echo: 32) + (= global205 1) + (SL code: statusCode) + (= global16 230) + (= global116 1) + (= global157 0) + (= global105 0) + (= global160 8) + (gEgo view: 2 x: 100 y: 120) + (if (GameIsRestarting) + (TheMenuBar draw:) + (SL enable:) + (self newRoom: 99) + (= gUserFont gBigFont) + else + (self newRoom: 700) ; (self newRoom: 701) skips CP script -- AB :: (self newRoom: 701) ;Set to 700 to skip the CP -- Kawa + ) + ) + + (method (doit) + (asm + lag global224 + bnt code_0346 + lsg global221 + ldi 2 + ne? + bnt code_0346 + ldi 2 + sag global221 + pushi #setCursor + pushi 2 + pushi 666 + pushi 0 + callk HaveMouse, 0 + push + self 8 + jmp code_03b7 +code_0346: + lsg global221 + ldi 2 + eq? + bnt code_0368 + lag global224 + not + bnt code_0368 + pushi #setCursor + pushi 2 + lsg gNormalCursor + pushi 0 + callk HaveMouse, 0 + push + self 8 + ldi 0 + sag global221 + jmp code_03b7 +code_0368: + pushi #controls + pushi 0 + class User + send 4 + push + ldi 0 + eq? + bnt code_038f + lsg global221 + ldi 0 + eq? + bnt code_038f + ldi 1 + sag global221 + pushi #setCursor + pushi 2 + lsg gNormalCursor ; gLoadingCursor Set cursor to normal after bypassing CP script -- AB + pushi 1 + self 8 + jmp code_03b7 +code_038f: + lsg global221 + ldi 1 + eq? + bnt code_03b7 + pushi #controls + pushi 0 + class User + send 4 + push + ldi 1 + eq? + bnt code_03b7 + pushi #setCursor + pushi 2 + lsg gNormalCursor + pushi 0 + callk HaveMouse, 0 + push + self 8 + ldi 0 + sag global221 +code_03b7: + lag global127 + bnt code_0467 + pushi #eachElementDo + pushi 1 + pushi 88 + lag gSounds + send 6 + pushi #number + pushi 1 + pushi 49 + pushi 42 + pushi 0 + pushi #new + pushi 0 + class Sound + send 4 + send 10 + pushi #setCursor + pushi 2 + lsg gNormalCursor + pushi 0 + callk HaveMouse, 0 + push + self 8 + pushi 1 + pushi 800 + call proc0_12, 2 + bnt code_0454 +code_03ee: + pushi 19 + pushi 0 + pushi 2 + pushi 82 + pushi 100 + pushi 0 + pushi 0 + pushi 30 + pushi 1 + pushi 80 + lofsa {Roberta says:} + push + pushi 81 + lofsa {__Restore__} + push + pushi 1 + pushi 81 + lofsa {__Restart__} + push + pushi 2 + pushi 81 + lofsa {___Quit___} + push + pushi 3 + calle Print, 38 + push + dup + ldi 1 + eq? + bnt code_042d + pushi #restore + pushi 0 + lag gGame + send 4 + jmp code_044d +code_042d: + dup + ldi 2 + eq? + bnt code_043f + pushi #restart + pushi 0 + lag gGame + send 4 + jmp code_044d +code_043f: + dup + ldi 3 + eq? + bnt code_044d + ldi 1 + sag gQuit + jmp code_04eb +code_044d: + toss + jmp code_03ee + jmp code_04eb +code_0454: + pushi 2 + pushi 0 + pushi 3 + calle Print, 4 + pushi #restart + pushi 0 + lag gGame + send 4 + jmp code_04eb +code_0467: + lag global182 + bnt code_0478 + ldi 0 + sag global182 + pushi #play + pushi 0 + lofsa getItemMusic + send 4 +code_0478: + pushi 1 + pushi 1 + callk GetTime, 2 + sag global156 + push + lag global157 + ne? + bnt code_04eb + lag global156 + sag global157 + lsg global158 + ldi 4 + add + sag global158 + push + ldi 60 + ge? + bnt code_04eb + +ag global159 + lsg global158 + ldi 60 + sub + sag global158 + lsg global160 + ldi 31 + eq? + bnt code_04c1 + lsg global159 + ldi 59 + eq? + bnt code_04c1 + pushi #setScript + pushi 1 + pushi 2 + pushi 302 + pushi 0 + callk ScriptID, 4 + push + lag gRoom + send 6 +code_04c1: + lsg global160 + ldi 20 + eq? + bnt code_04dd + lsg global159 + ldi 15 + mod + push + ldi 0 + eq? + bnt code_04dd + pushi 2 + pushi 0 + pushi 4 + calle Print, 4 +code_04dd: + lsg global159 + ldi 60 + eq? + bnt code_04eb + +ag global160 + ldi 0 + sag global159 +code_04eb: + pushi #doit + pushi 0 + super Game, 4 + ret + ) + ) + + (method (replay) + (= gUserFont gBigFont) + (TheMenuBar draw:) + (SL enable:) + (SetMenu + 1283 + 110 + (if (DoSound sndSET_SOUND) {Turn Off} else {Turn On}) + ) + (super replay:) + ) + + (method (newRoom newRoomNumber) + (if + (or + global204 + (and (not global205) (== (User canControl:) 0)) + ) + (return) + ) + (if (and (== global100 0) (== global101 0)) + (if + (and + (not (if (< 30 newRoomNumber) (< newRoomNumber 77))) + (< newRoomNumber 300) + (or + (and (< 20 global160) (< global160 30)) + (and + (>= global109 3) + (gEgo has: 7) + (gEgo has: 25) + (< global160 30) + ) + ) + ) + (= global100 1) + (= gNewRoomNumber newRoomNumber) + (if (< global160 21) (= global160 21) (= global159 0)) + (= newRoomNumber 697) + ) + ) + (super newRoom: newRoomNumber) + ) + + (method (startRoom param1 &tmp temp0) + (if (and global216 (proc0_12 1200)) + (= global216 0) + ((= global202 (ScriptID 801)) init:) + ) + (DisposeScript 985) + (if global14 (= global14 0) (SetDebug)) + (if + (= temp0 + (switch param1 + (68 603) + (120 520) + (54 601) + (49 602) + (92 604) + (71 605) + (73 605) + (55 600) + (else 0) + ) + ) + ((ScriptID temp0) init:) + ) + (super startRoom: param1) + ) + + (method (handleEvent pEvent &tmp temp0 temp1 temp2 temp3 [temp4 50]) + (asm + lag global215 + bnt code_07e7 + pushi #claimed + pushi 0 + lap pEvent + send 4 + not + bnt code_07e7 + pushi #type + pushi 0 + lap pEvent + send 4 + push + ldi 1 + eq? + bnt code_07e7 + pushi #modifiers + pushi 0 + lap pEvent + send 4 + push + ldi 3 + and + bnt code_0746 + pushi #claimed + pushi 1 + pushi 1 + lap pEvent + send 6 + pushi 7 + pushi 5 + lea @temp4 + push + pushi 0 + pushi 10 + pushi #x + pushi 0 + lap pEvent + send 4 + push + pushi #y + pushi 0 + lap pEvent + send 4 + push + callk Format, 10 + push + pushi 67 + pushi 150 + pushi 100 + pushi 33 + pushi 999 + pushi 88 + calle Print, 14 + sat temp2 +code_0718: + pushi 2 + pushi #type + pushi 0 + pushi #new + pushi 0 + class Event + send 4 + sat temp3 + send 4 + ne? + bnt code_0735 + pushi #dispose + pushi 0 + lat temp3 + send 4 + jmp code_0718 +code_0735: + pushi #dispose + pushi 0 + lat temp2 + send 4 + pushi #dispose + pushi 0 + lat temp3 + send 4 + jmp code_07da +code_0746: + pushi #modifiers + pushi 0 + lap pEvent + send 4 + push + ldi 4 + and + bnt code_07b7 + pushi #claimed + pushi 1 + pushi 1 + lap pEvent + send 6 +code_075c: + pushi 2 + pushi #type + pushi 0 + pushi #new + pushi 0 + class Event + send 4 + sat temp3 + send 4 + ne? + bnt code_07ad + pushi 197 + pushi #-info- + pushi #x + pushi 0 + lat temp3 + send 4 + push + pushi #y + pushi 0 + lat temp3 + send 4 + push + ldi 10 + sub + push + pushi 211 + pushi 1 + pushi 0 + pushi #alterEgo + pushi 0 + class User + send 4 + send 14 + pushi 2 + pushi #elements + pushi 0 + lag gCast + send 4 + push + pushi 0 + callk Animate, 4 + pushi #dispose + pushi 0 + lat temp3 + send 4 + jmp code_075c +code_07ad: + pushi #dispose + pushi 0 + lat temp3 + send 4 + jmp code_07da +code_07b7: + pushi #modifiers + pushi 0 + lap pEvent + send 4 + push + ldi 8 + and + bnt code_07da + pushi #claimed + pushi 1 + pushi 1 + lap pEvent + send 6 + pushi #showSelf + pushi 0 + pushi #alterEgo + pushi 0 + class User + send 4 + send 4 +code_07da: + pushi #claimed + pushi 0 + lap pEvent + send 4 + bnt code_07e7 + ldi 1 + ret +code_07e7: + lsg gCurRoomNum + lag gNewRoomNumber_2 + eq? + bnt code_07f7 + pushi #handleEvent + pushi 1 + lsp pEvent + super Game, 6 +code_07f7: + pushi #type + pushi 0 + lap pEvent + send 4 + push + ldi 128 + eq? + bnt code_1bc6 + pushi 1 + lofsa 'get/mem' + push + callk Said, 2 + bnt code_0819 + pushi #showMem + pushi 0 + lag gGame + send 4 +code_0819: + lag global215 + bnt code_08d6 + pushi 1 + lofsa 'enter/night' + push + callk Said, 2 + bnt code_08a5 + ldi 1 + sag global163 + ldi 3 + sag global109 + ldi 1 + sag global131 + pushi #get + pushi 1 + pushi 3 + lag gEgo + send 6 + pushi #get + pushi 1 + pushi 16 + lag gEgo + send 6 + pushi #get + pushi 1 + pushi 15 + lag gEgo + send 6 + pushi #get + pushi 1 + pushi 25 + lag gEgo + send 6 + pushi #get + pushi 1 + pushi 14 + lag gEgo + send 6 + ldi 1 + sag global100 + pushi #loop + pushi 1 + pushi 1 + pushi 7 + pushi 1 + pushi 0 + pushi #at + pushi 1 + pushi 14 + class Inv + send 6 + send 12 + ldi 1 + sag global169 + ldi 21 + sag global160 + ldi 1 + sag global159 + ldi 5 + sag global110 + ldi 65535 + sag global118 + ldi 99 + sag global123 + ldi 99 + sag global124 + pushi 2 + pushi 0 + pushi 11 + calle Print, 4 + jmp code_08d6 +code_08a5: + pushi 1 + lofsa 'tp' + push + callk Said, 2 + bnt code_08d6 + ldi 0 + sag global228 + pushi 7 + lofsa {TP to:} + push + pushi 67 + pushi 65535 + pushi 20 + pushi 41 + lea @global228 + push + pushi 6 + calle Print, 14 + pushi 1 + lea @global228 + push + callk ReadNumber, 2 + sag gNewRoomNumber_2 +code_08d6: + pushi 1 + lofsa 'ass' + push + callk Said, 2 + bt code_08f7 + pushi 1 + lofsa '/ass' + push + callk Said, 2 + bt code_08f7 + pushi 1 + lofsa '//ass' + push + callk Said, 2 + bnt code_0902 +code_08f7: + pushi 2 + pushi 0 + pushi 12 + calle Print, 4 + jmp code_1bc6 +code_0902: + pushi 1 + lofsa 'blow/whistle' + push + callk Said, 2 + bnt code_0935 + pushi #has + pushi 1 + pushi 27 + lag gEgo + send 6 + bnt code_092d + pushi #play + pushi 0 + lofsa tweet + send 4 + pushi 2 + pushi 0 + pushi 13 + calle Print, 4 + jmp code_1bc6 +code_092d: + pushi 0 + call proc0_17, 0 + jmp code_1bc6 +code_0935: + pushi 1 + lofsa 'open,(look' + push + callk Said, 2 + bnt code_0be8 + pushi #saidMe + pushi 0 + lag gInv + send 4 + sat temp1 + not + bnt code_0b64 + pushi 1 + lofsa '/me' + push + callk Said, 2 + bnt code_0b59 + pushi 2 + pushi 0 + pushi 24 + calle Print, 4 + jmp code_0bdd +code_0b59: + pushi 2 + pushi 0 + pushi 25 + calle Print, 4 + jmp code_0bdd +code_0b64: + pushi #has + pushi 1 + pushi #indexOf + pushi 1 + lst temp1 + lag gInv + send 6 + push + lag gEgo + send 6 + not + bnt code_0b82 + pushi 0 + call proc0_17, 0 + jmp code_0bdd +code_0b82: + pushi #indexOf + pushi 1 + lst temp1 + lag gInv + send 6 + push + dup + ldi 2 + eq? + bnt code_0b9e + pushi 2 + pushi 0 + pushi 26 + calle Print, 4 + jmp code_0bdc +code_0b9e: + dup + ldi 3 + eq? + bnt code_0bb0 + pushi 2 + pushi 0 + pushi 27 + calle Print, 4 + jmp code_0bdc +code_0bb0: + dup + ldi 6 + eq? + bnt code_0bc2 + pushi 2 + pushi 0 + pushi 28 + calle Print, 4 + jmp code_0bdc +code_0bc2: + dup + ldi 7 + eq? + bnt code_0bd4 + pushi 2 + pushi 0 + pushi 29 + calle Print, 4 + jmp code_0bdc +code_0bd4: + pushi 2 + pushi 0 + pushi 30 + calle Print, 4 +code_0bdc: + toss +code_0bdd: + pushi #claimed + pushi 1 + pushi 1 + lap pEvent + send 6 + jmp code_1bc6 +code_0be8: + pushi 1 + lofsa 'kiss>' + push + callk Said, 2 + bnt code_0c5d + pushi #saidMe + pushi 0 + lag gInv + send 4 + sat temp1 + pushi #claimed + pushi 1 + pushi 1 + lap pEvent + send 6 + lat temp1 + not + bnt code_0c16 + pushi 2 + pushi 0 + pushi 31 + calle Print, 4 + jmp code_1bc6 +code_0c16: + pushi #has + pushi 1 + pushi #indexOf + pushi 1 + lst temp1 + lag gInv + send 6 + push + lag gEgo + send 6 + not + bnt code_0c37 + pushi 2 + pushi 0 + pushi 32 + calle Print, 4 + jmp code_1bc6 +code_0c37: + pushi #indexOf + pushi 1 + lst temp1 + lag gInv + send 6 + push + ldi 2 + eq? + bnt code_0c52 + pushi 2 + pushi 0 + pushi 33 + calle Print, 4 + jmp code_1bc6 +code_0c52: + pushi 2 + pushi 0 + pushi 31 + calle Print, 4 + jmp code_1bc6 +code_0c5d: + pushi 1 + lofsa 'wish>' + push + callk Said, 2 + bnt code_0ccd + pushi #saidMe + pushi 0 + lag gInv + send 4 + sat temp1 + not + bnt code_0c81 + pushi 2 + pushi 0 + pushi 34 + calle Print, 4 + jmp code_0cc2 +code_0c81: + pushi #has + pushi 1 + pushi #indexOf + pushi 1 + lst temp1 + lag gInv + send 6 + push + lag gEgo + send 6 + not + bnt code_0c9f + pushi 0 + call proc0_16, 0 + jmp code_0cc2 +code_0c9f: + pushi #indexOf + pushi 1 + lst temp1 + lag gInv + send 6 + push + ldi 2 + eq? + bnt code_0cba + pushi 2 + pushi 0 + pushi 35 + calle Print, 4 + jmp code_0cc2 +code_0cba: + pushi 2 + pushi 0 + pushi 36 + calle Print, 4 +code_0cc2: + pushi #claimed + pushi 1 + pushi 1 + lap pEvent + send 6 + jmp code_1bc6 +code_0ccd: + pushi 1 + lofsa 'bait/hook,pole' + push + callk Said, 2 + bt code_0ce3 + pushi 1 + lofsa 'place/earthworm/hook,pole' + push + callk Said, 2 + bnt code_0d3d +code_0ce3: + pushi #has + pushi 1 + pushi 19 + lag gEgo + send 6 + bnt code_0d32 + pushi #has + pushi 1 + pushi 17 + lag gEgo + send 6 + bnt code_0d32 + pushi 2 + pushi 0 + pushi 37 + calle Print, 4 + pushi #moveTo + pushi 1 + pushi 666 + pushi #at + pushi 1 + pushi 19 + class Inv + send 6 + send 6 + pushi #loop + pushi 1 + pushi 1 + pushi #at + pushi 1 + pushi 17 + class Inv + send 6 + send 6 + pushi #changeScore + pushi 1 + pushi 1 + lag gGame + send 6 + jmp code_1bc6 +code_0d32: + pushi 2 + pushi 0 + pushi 38 + calle Print, 4 + jmp code_1bc6 +code_0d3d: + pushi #has + pushi 1 + pushi 24 + lag gEgo + send 6 + bnt code_0d8a + pushi 1 + lofsa '/fish>' + push + callk Said, 2 + bnt code_0d8a + pushi 1 + lofsa 'smell' + push + callk Said, 2 + bnt code_0d6d + pushi 2 + pushi 0 + pushi 39 + calle Print, 4 + ldi 1 + jmp code_0d82 +code_0d6d: + pushi 1 + lofsa 'chew' + push + callk Said, 2 + bnt code_0d8a + pushi 2 + pushi 0 + pushi 40 + calle Print, 4 + ldi 1 +code_0d82: + bnt code_0d8a + ldi 1 + jmp code_1bc6 +code_0d8a: + pushi 1 + lofsa 'chew/earthworm' + push + callk Said, 2 + bnt code_0db5 + pushi #has + pushi 1 + pushi 19 + lag gEgo + send 6 + bnt code_0dad + pushi 2 + pushi 0 + pushi 41 + calle Print, 4 + jmp code_1bc6 +code_0dad: + pushi 0 + call proc0_17, 0 + jmp code_1bc6 +code_0db5: + pushi 1 + lofsa 'chew/bone' + push + callk Said, 2 + bnt code_0de0 + pushi #has + pushi 1 + pushi 23 + lag gEgo + send 6 + bnt code_0dd8 + pushi 2 + pushi 0 + pushi 42 + calle Print, 4 + jmp code_1bc6 +code_0dd8: + pushi 0 + call proc0_17, 0 + jmp code_1bc6 +code_0de0: + pushi 1 + lofsa 'chew/fruit' + push + callk Said, 2 + bnt code_0e22 + pushi #has + pushi 1 + pushi 25 + lag gEgo + send 6 + bnt code_0e1a + pushi 2 + pushi 0 + pushi 43 + calle Print, 4 + pushi #put + pushi 2 + pushi 25 + pushi 999 + lag gEgo + send 8 + pushi #changeScore + pushi 1 + pushi 65526 + lag gGame + send 6 + jmp code_1bc6 +code_0e1a: + pushi 0 + call proc0_17, 0 + jmp code_1bc6 +code_0e22: + pushi #has + pushi 1 + pushi 28 + lag gEgo + send 6 + bnt code_0e45 + pushi 1 + lofsa 'dennis,(place' + push + callk Said, 2 + bnt code_10c5 + pushi 1 + lofsa 'read,open' + push + callk Said, 2 + bnt code_10a8 + pushi #has + pushi 1 + pushi 26 + lag gEgo + send 6 + bnt code_109e + pushi 2 + pushi 0 + pushi 52 + calle Print, 4 + jmp code_10a3 +code_109e: + pushi 0 + call proc0_17, 0 +code_10a3: + ldi 1 + jmp code_10bd +code_10a8: + pushi 1 + lofsa 'play' + push + callk Said, 2 + bnt code_10c5 + pushi 2 + pushi 0 + pushi 53 + calle Print, 4 + ldi 1 +code_10bd: + bnt code_10c5 + ldi 1 + jmp code_1bc6 +code_10c5: + pushi #has + pushi 1 + pushi 30 + lag gEgo + send 6 + bnt code_10f0 + pushi 1 + lofsa 'play/horse' + push + callk Said, 2 + bnt code_10f0 + pushi 2 + pushi 0 + pushi 54 + calle Print, 4 + pushi 2 + pushi 0 + pushi 55 + calle Print, 4 + jmp code_1bc6 +code_10f0: + pushi 1 + lofsa '/book>' + push + callk Said, 2 + bnt code_119b + pushi 1 + lofsa 'close' + push + callk Said, 2 + bnt code_1140 + pushi #has + pushi 1 + pushi 18 + lag gEgo + send 6 + not + bnt code_111f + pushi 2 + pushi 0 + pushi 56 + calle Print, 4 + jmp code_113b +code_111f: + lag global154 + bnt code_1133 + pushi 2 + pushi 0 + pushi 46 + calle Print, 4 + ldi 0 + sag global154 + jmp code_113b +code_1133: + pushi 2 + pushi 0 + pushi 57 + calle Print, 4 +code_113b: + ldi 1 + jmp code_1193 +code_1140: + pushi 1 + lofsa 'read' + push + callk Said, 2 + bnt code_1191 + pushi #has + pushi 1 + pushi 18 + lag gEgo + send 6 + not + bnt code_1164 + pushi 2 + pushi 0 + pushi 58 + calle Print, 4 + jmp code_118c +code_1164: + pushi 1 + pushi 2000 + call proc0_12, 2 + bnt code_1187 + pushi #changeState + pushi 1 + pushi 2 + pushi 1 + pushi 30 + callk Random, 4 + push + pushi 2 + pushi 306 + pushi 0 + callk ScriptID, 4 + send 6 + jmp code_118c +code_1187: + pushi 0 + call proc0_16, 0 +code_118c: + ldi 1 + jmp code_1193 +code_1191: + ldi 0 +code_1193: + bnt code_119b + ldi 1 + jmp code_1bc6 +code_119b: + pushi 1 + lofsa 'smell/rose' + push + callk Said, 2 + bnt code_11c6 + pushi #has + pushi 1 + pushi 34 + lag gEgo + send 6 + bnt code_11be + pushi 2 + pushi 0 + pushi 59 + calle Print, 4 + jmp code_1bc6 +code_11be: + pushi 0 + call proc0_17, 0 + jmp code_1bc6 +code_11c6: + pushi 1 + lofsa 'get,detach/thorn' + push + callk Said, 2 + bnt code_11f1 + pushi #has + pushi 1 + pushi 34 + lag gEgo + send 6 + bnt code_11e9 + pushi 2 + pushi 0 + pushi 60 + calle Print, 4 + jmp code_1bc6 +code_11e9: + pushi 0 + call proc0_17, 0 + jmp code_1bc6 +code_11f1: + pushi 1 + lofsa 'lay[/!*]' + push + callk Said, 2 + bt code_1212 + pushi 1 + lofsa 'lay,get,rob/egg' + push + callk Said, 2 + bt code_1212 + pushi 1 + lofsa 'command/chicken' + push + callk Said, 2 + bnt code_1232 +code_1212: + pushi #has + pushi 1 + pushi 33 + lag gEgo + send 6 + bnt code_122a + pushi 2 + pushi 0 + pushi 61 + calle Print, 4 + jmp code_1bc6 +code_122a: + pushi 0 + call proc0_17, 0 + jmp code_1bc6 +code_1232: + pushi 1 + lofsa 'converse/chicken' + push + callk Said, 2 + bnt code_126b + pushi #has + pushi 1 + pushi 33 + lag gEgo + send 6 + bnt code_1263 + pushi 8 + pushi 0 + pushi 62 + pushi 80 + lofsa {Magic Hen} + push + pushi 82 + pushi 431 + pushi 0 + pushi 0 + calle Print, 16 + jmp code_1bc6 +code_1263: + pushi 0 + call proc0_17, 0 + jmp code_1bc6 +code_126b: + pushi 1 + lofsa 'chew/chicken' + push + callk Said, 2 + bnt code_1296 + pushi #has + pushi 1 + pushi 33 + lag gEgo + send 6 + bnt code_128e + pushi 2 + pushi 0 + pushi 63 + calle Print, 4 + jmp code_1bc6 +code_128e: + pushi 0 + call proc0_17, 0 + jmp code_1bc6 +code_1296: + pushi 1 + lofsa 'chew' + push + callk Said, 2 + bnt code_12ac + pushi 2 + pushi 0 + pushi 64 + calle Print, 4 + jmp code_1bc6 +code_12ac: + pushi 1 + lofsa '/chandelier,lantern[' + push + callk Said, 2 + bnt code_1347 + pushi 1 + lofsa 'light,ignite,(turn' + push + callk Said, 2 + bnt code_1394 + pushi 1 + lofsa 'look' + push + callk Said, 2 + bnt code_164e + pushi #saidMe + pushi 0 + lag gInv + send 4 + sat temp1 + pushi 1 + lofsa '[/!*]' + push + callk Said, 2 + bnt code_150b + pushi 2 + pushi 0 + pushi 83 + calle Print, 4 + jmp code_1643 +code_150b: + lat temp1 + not + bnt code_1521 + pushi #claimed + pushi 1 + pushi 1 + lap pEvent + send 6 + pushi 0 + call proc0_16, 0 + jmp code_1643 +code_1521: + pushi #has + pushi 1 + pushi #indexOf + pushi 1 + lst temp1 + lag gInv + send 6 + push + lag gEgo + send 6 + not + bnt code_153f + pushi 0 + call proc0_17, 0 + jmp code_1643 +code_153f: + pushi #indexOf + pushi 1 + lst temp1 + lag gInv + send 6 + push + dup + ldi 1 + eq? + bnt code_1563 + pushi 6 + pushi 0 + pushi 84 + pushi 82 + pushi 401 + pushi 0 + pushi 0 + calle Print, 12 + jmp code_1642 +code_1563: + dup + ldi 3 + eq? + bnt code_1575 + pushi 2 + pushi 0 + pushi 85 + calle Print, 4 + jmp code_1642 +code_1575: + dup + ldi 12 + eq? + bnt code_1587 + pushi 2 + pushi 0 + pushi 86 + calle Print, 4 + jmp code_1642 +code_1587: + dup + ldi 13 + eq? + bnt code_1599 + pushi 2 + pushi 0 + pushi 87 + calle Print, 4 + jmp code_1642 +code_1599: + dup + ldi 28 + eq? + bnt code_15ab + pushi 2 + pushi 0 + pushi 88 + calle Print, 4 + jmp code_1642 +code_15ab: + dup + ldi 4 + eq? + bnt code_1624 + pushi #view + pushi 0 + lag gEgo + send 4 + push + ldi 2 + ne? + bnt code_15ce + pushi #view + pushi 0 + lag gEgo + send 4 + push + ldi 4 + ne? + bt code_15e0 +code_15ce: + pushi 1 + pushi 1 + callk MemoryInfo, 2 + push + ldi 4500 + lt? + bt code_15e0 + lag global189 + bnt code_15eb +code_15e0: + pushi 2 + pushi 0 + pushi 89 + calle Print, 4 + jmp code_1642 +code_15eb: + pushi #loop + pushi 1 + pushi 0 + lag gEgo + send 6 + pushi 2 + lsg gEgo + pushi 30 + call proc0_2, 4 + sag global168 + push + ldi 32768 + and + bnt code_1611 + pushi 2 + pushi 0 + pushi 90 + calle Print, 4 + jmp code_1642 +code_1611: + pushi #setScript + pushi 1 + pushi 2 + pushi 307 + pushi 0 + callk ScriptID, 4 + push + lag gEgo + send 6 + jmp code_1642 +code_1624: + dup + ldi 18 + eq? + bnt code_163a + pushi 2 + pushi 0 + pushi 91 + calle Print, 4 + ldi 1 + sag global154 + jmp code_1642 +code_163a: + pushi 2 + pushi 0 + pushi 92 + calle Print, 4 +code_1642: + toss +code_1643: + pushi #claimed + pushi 1 + pushi 1 + lap pEvent + send 6 + jmp code_1bc6 +code_164e: + pushi 1 + lofsa 'look>' + push + callk Said, 2 + bnt code_1980 + pushi 1 + lofsa '/me' + push + callk Said, 2 + bnt code_166f + pushi 2 + pushi 0 + pushi 93 + calle Print, 4 + jmp code_1bc6 +code_166f: + pushi 1 + lofsa '/letter' + push + callk Said, 2 + bnt code_16ba + pushi #has + pushi 1 + pushi 35 + lag gEgo + send 6 + bnt code_169a + pushi 6 + pushi 0 + pushi 94 + pushi 82 + pushi 435 + pushi 0 + pushi 0 + calle Print, 12 + jmp code_1bc6 +code_169a: + pushi #has + pushi 1 + pushi 31 + lag gEgo + send 6 + bnt code_16b2 + pushi 2 + pushi 0 + pushi 95 + calle Print, 4 + jmp code_1bc6 +code_16b2: + pushi 0 + call proc0_17, 0 + jmp code_1bc6 +code_16ba: + pushi 1 + lofsa '/key' + push + callk Said, 2 + bnt code_17ac + pushi #claimed + pushi 1 + pushi 0 + lap pEvent + send 6 + pushi 1 + lofsa '/*' + push + callk Said, 2 + bnt code_19e7 + pushi #saidMe + pushi 0 + lag gInv + send 4 + sat temp1 + not + bnt code_19a4 + pushi 2 + pushi 0 + pushi 113 + calle Print, 4 + jmp code_19dc +code_19a4: + pushi #has + pushi 1 + pushi #indexOf + pushi 1 + lst temp1 + lag gInv + send 6 + push + lag gEgo + send 6 + not + bnt code_19c2 + pushi 0 + call proc0_17, 0 + jmp code_19dc +code_19c2: + pushi 1 + pushi 4 + lea @global228 + push + pushi 0 + pushi 114 + pushi #name + pushi 0 + lat temp1 + send 4 + push + callk Format, 8 + push + calle Print, 2 +code_19dc: + pushi #claimed + pushi 1 + pushi 1 + lap pEvent + send 6 + jmp code_1bc6 +code_19e7: + pushi 1 + lofsa 'deliver>' + push + callk Said, 2 + bnt code_1a66 + pushi 1 + lofsa '/*[/!*]' + push + callk Said, 2 + bnt code_1a08 + pushi 2 + pushi 0 + pushi 115 + calle Print, 4 + jmp code_1bc6 +code_1a08: + pushi 1 + lofsa '[/!*]' + push + callk Said, 2 + bnt code_1a1e + pushi 2 + pushi 0 + pushi 116 + calle Print, 4 + jmp code_1bc6 +code_1a1e: + pushi #saidMe + pushi 0 + lag gInv + send 4 + sat temp1 + bnt code_1a53 + pushi #has + pushi 1 + pushi #indexOf + pushi 1 + push + lag gInv + send 6 + push + lag gEgo + send 6 + not + bnt code_1a48 + pushi 0 + call proc0_17, 0 + jmp code_1bc6 +code_1a48: + pushi 2 + pushi 0 + pushi 117 + calle Print, 4 + jmp code_1bc6 +code_1a53: + pushi 2 + pushi 0 + pushi 118 + calle Print, 4 + pushi #claimed + pushi 1 + pushi 1 + lap pEvent + send 6 + jmp code_1bc6 +code_1a66: + pushi 1 + lofsa 'get>' + push + callk Said, 2 + bnt code_1b33 + pushi 1 + lofsa '/water' + push + callk Said, 2 + bnt code_1a87 + pushi 2 + pushi 0 + pushi 119 + calle Print, 4 + jmp code_1bc6 +code_1a87: + pushi 1 + lofsa '[/!*]' + push + callk Said, 2 + bnt code_1a9d + pushi 2 + pushi 0 + pushi 120 + calle Print, 4 + jmp code_1bc6 +code_1a9d: + pushi #saidMe + pushi 0 + lag gInv + send 4 + sat temp1 + not + bnt code_1abe + pushi #claimed + pushi 1 + pushi 1 + lap pEvent + send 6 + pushi 2 + pushi 0 + pushi 121 + calle Print, 4 + jmp code_1bc6 +code_1abe: + pushi #has + pushi 1 + pushi #indexOf + pushi 1 + lst temp1 + lag gInv + send 6 + push + lag gEgo + send 6 + bnt code_1b0b + pushi #indexOf + pushi 1 + lst temp1 + lag gInv + send 6 + push + dup + ldi 1 + eq? + bnt code_1aec + pushi 0 + call proc0_14, 0 + jmp code_1b07 +code_1aec: + dup + ldi 13 + eq? + bnt code_1afe + pushi 2 + pushi 0 + pushi 122 + calle Print, 4 + jmp code_1b07 +code_1afe: + pushi 2 + pushi 800 + pushi 0 + calle Print, 4 +code_1b07: + toss + jmp code_1bc6 +code_1b0b: + pushi #indexOf + pushi 1 + lst temp1 + lag gInv + send 6 + push + dup + ldi 3 + eq? + bnt code_1b27 + pushi 2 + pushi 0 + pushi 123 + calle Print, 4 + jmp code_1b2f +code_1b27: + pushi 2 + pushi 0 + pushi 124 + calle Print, 4 +code_1b2f: + toss + jmp code_1bc6 +code_1b33: + pushi 1 + lofsa 'show>' + push + callk Said, 2 + bnt code_1b73 + pushi #saidMe + pushi 0 + lag gInv + send 4 + sat temp1 + bnt code_1b73 + pushi #has + pushi 1 + pushi #indexOf + pushi 1 + lst temp1 + lag gInv + send 6 + push + lag gEgo + send 6 + bnt code_1b6b + pushi 2 + pushi 0 + pushi 125 + calle Print, 4 + jmp code_1bc6 +code_1b6b: + pushi 0 + call proc0_17, 0 + jmp code_1bc6 +code_1b73: + pushi 1 + lofsa 'overtime/nosleep' + push + callk Said, 2 + bnt code_1b8e + ldi 1 + sag global215 + ldi 1 + sag global216 + pushi 0 + call proc0_15, 0 + jmp code_1bc6 +code_1b8e: + pushi #saidMe + pushi 0 + lag gInv + send 4 + sat temp1 + bnt code_1bc6 + pushi #has + pushi 1 + pushi #indexOf + pushi 1 + push + lag gInv + send 6 + push + lag gEgo + send 6 + not + bnt code_1bba + pushi 0 + call proc0_17, 0 + ldi 1 + jmp code_1bc1 +code_1bba: + pushi 0 + call proc0_16, 0 + ldi 1 +code_1bc1: + bnt code_1bc6 + ldi 1 +code_1bc6: + ret + ) + ) + + (method (wordFail param1) + (Print (Format @global228 0 5 param1)) + ) + + (method (syntaxFail) + (Print 0 6) + ) + + (method (pragmaFail) + (switch (Random 1 3) + (1 (Print 0 7)) + (2 (Print 0 8)) + (3 (Print 0 9)) + ) + ) +) + +(instance Silver_Flute of newInvItem + (properties + said '/flute' + owner 201 + view 413 + name "Silver Flute" + ) +) + +(instance Diamond_Pouch of newInvItem + (properties + said '/(pouch[') + (cond + ((Said '/bush') (Print 506 0)) + ((Said '/boulder') (Print 506 1)) + ((or (Said '') + (cond + ((Said '/forest') (Print 506 6)) + ((Said '/boulder') (Print 506 7)) + ) + ) + ((Said 'get/flora,flora') (Print 506 8)) + ) + else + 0 + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/MeadReg.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/MeadReg.sco new file mode 100644 index 0000000..047416c Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/MeadReg.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/MenuBar.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/MenuBar.sc new file mode 100644 index 0000000..4c09fed --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/MenuBar.sc @@ -0,0 +1,207 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 997) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Gauge) +(use Sound) +(use InvI) +(use User) + + +(class TheMenuBar of Class_255_0 + (properties + state $0000 + ) + + (method (init) + (AddMenu { \01_} {About KQ4`^a:Help`#1}) + (AddMenu + { File_} + {Save`#5:Restore`#7:-!:Restart`#9:Quit`^q} + ) + (AddMenu { Action_} {Pause`^p:Inventory`^i:Retype`#3}) + (AddMenu + { Speed_} + {Speed`^s:-!:Faster`+:Normal`=:Slower`-} + ) + (AddMenu { Sound_} {Volume`^v:-!:Turn Off=1`#2}) + (SetMenu + 1283 + 110 + (if (DoSound sndSET_SOUND) {Turn Off} else {Turn On}) + ) + (SetMenu 513 109 'save[/game]') + (SetMenu 514 109 'restore[/game]') + (SetMenu 516 109 'restart[/game]') + (SetMenu 517 109 'quit[/game]') + (SetMenu 769 109 'pause[/game]') + (SetMenu 770 109 'inventory') + ) + + (method (handleEvent pEvent &tmp temp0 temp1 [temp2 4] temp6 [temp7 288]) + (switch (= temp0 (super handleEvent: pEvent)) + (257 + (= temp6 (Sound pause: 1)) + (Print + (Format @temp7 997 0 global28) + 80 + {A Ken Williams Production} + 33 + gSmallFont + 30 + 1 + 67 + 20 + 10 + 70 + 260 + ) + (Sound pause: temp6) + ) + (258 + (= temp6 (Sound pause: 1)) + (Print 997 1 33 gSmallFont) + (Sound pause: temp6) + ) + (513 + (if (not (proc0_12 1028)) + (Print 997 2) + else + (gGame save:) + ) + ) + (514 + (if (not (proc0_12 1028)) + (Print 997 3) + else + (gGame restore:) + ) + ) + (516 + (= temp6 (Sound pause: 1)) + (if + (Print + 997 + 4 + 82 + 100 + 0 + 0 + 33 + 0 + 81 + { Restart_} + 1 + 81 + {Continue} + 0 + ) + (gGame restart:) + ) + (Sound pause: temp6) + ) + (517 + (= temp6 (Sound pause: 1)) + (= gQuit + (Print + 997 + 5 + 82 + 100 + 0 + 0 + 33 + 0 + 81 + {____Quit____} + 1 + 81 + { Continue_} + 0 + ) + ) + (Sound pause: temp6) + ) + (769 + (= temp6 (Sound pause: 1)) + (Print 997 6 33 0 30 1 81 { Continue_} 0) + (Sound pause: temp6) + ) + (770 + (if (not (proc0_12 2348)) + (Print 997 7) + else + (= temp6 (Sound pause: 1)) + (Inv showSelf: gEgo) + (Sound pause: temp6) + ) + ) + (771 + (pEvent claimed: 0 type: 4 message: (User echo?)) + ) + (1025 + (if (not (proc0_12 1850)) + (Print 997 8) + else + (= temp1 + ((Gauge new:) + description: + {Use the mouse or the left and right arrow keys to change the speed of moving characters.} + text: {Animation Speed} + minimum: 0 + normal: 10 + maximum: 15 + higher: {Faster} + lower: {Slower} + doit: (- 16 gSpeed) + ) + ) + (gGame setSpeed: (- 16 temp1)) + (DisposeScript 987) + ) + ) + (1027 + (if (> gSpeed 1) (gGame setSpeed: (-- gSpeed))) + ) + (1028 (gGame setSpeed: 6)) + (1029 + (gGame setSpeed: (++ gSpeed)) + ) + (1281 + (if (not (proc0_12 1850)) + (Print 997 9) + else + (= temp6 (DoSound sndPAUSE 1)) + (= temp1 + ((Gauge new:) + description: + {Use the mouse or left and right arrow keys to change the volume.} + text: {Sound Volume} + minimum: 0 + normal: 12 + maximum: 15 + higher: {Louder} + lower: {Softer} + doit: (DoSound sndVOLUME) + ) + ) + (DoSound sndPAUSE temp6) + (DoSound sndVOLUME temp1) + (DisposeScript 987) + ) + ) + (1283 + (if (= temp1 (DoSound sndSET_SOUND)) + (SetMenu 1283 110 {Turn On}) + else + (SetMenu 1283 110 {Turn Off}) + ) + (DoSound sndSET_SOUND (not temp1)) + ) + (else + (if global202 (global202 doit: temp0)) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/MenuBar.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/MenuBar.sco new file mode 100644 index 0000000..c8a699f Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/MenuBar.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Modifications.txt b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Modifications.txt new file mode 100644 index 0000000..0d3e692 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Modifications.txt @@ -0,0 +1,12 @@ +Copy Protection: +Main.sc line 720 changed (self newRoom: 701) to (self newRoom: 700) to skip the CP script + +Main.sc line 777 Set cursor to normal from wait cursor after bypassing CP script + + + +Warning: (rm92.sc) Duplicate case values. Already encountered a case for '6' Line: 368, col: 4 + +rm92.sc line 368 changed duplicate (6 to (7 + +rm92.sc line 378 changed (7 to (8 to make room for renaming duplicate (6 to (7 \ No newline at end of file diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/MountReg.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/MountReg.sc new file mode 100644 index 0000000..b84ff67 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/MountReg.sc @@ -0,0 +1,27 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 511) +(include sci.sh) +(use Class_255_0) +(use Game) + +(public + mountReg 0 +) + +(instance mountReg of Rgn + (properties) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if (== (pEvent type?) evSAID) + (cond + ((Said 'look/cliff') (Print 511 0)) + ((Said 'climb,cross/cliff') (Print 511 1)) + ) + else + 0 + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/MountReg.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/MountReg.sco new file mode 100644 index 0000000..6a666fd Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/MountReg.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Notes.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Notes.sc new file mode 100644 index 0000000..a4a49ac --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Notes.sc @@ -0,0 +1,232 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 516) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Avoid) +(use Sound) +(use Cycle) +(use Game) +(use InvI) +(use Feature) +(use Obj) + +(public + regMinstrel 0 + notes 1 +) +(synonyms + (man man man man boy person bard) + (kiss kiss embrace) +) + +(local + local0 + local1 +) +(instance thisSong of Sound + (properties) +) + +(instance notes of Prop + (properties) + + (method (cue) + (notes dispose:) + ) +) + +(instance regMinstrel of Rgn + (properties) + + (method (init) + (super init:) + (if + (or + (and (== gCurRoomNum 13) (== global118 1)) + (and (== gCurRoomNum 14) (== global118 2)) + (and (== gCurRoomNum 19) (== global118 3)) + ) + (gNewAct_2 setScript: minstrelActions) + (notes + view: 888 + ignoreActors: + cycleSpeed: 1 + setCycle: Fwd + posn: (+ (gNewAct_2 x?) 16) (- (gNewAct_2 y?) 20) + init: + ) + (thisSong number: 19 play: minstrelActions) + (minstrelActions changeState: 1) + ) + (= global189 1) + ) + + (method (dispose) + (= global189 0) + (thisSong dispose:) + (super dispose:) + ) + + (method (handleEvent pEvent &tmp gInvSaidMe) + (super handleEvent: pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if + (and + (== (pEvent type?) evSAID) + (gCast contains: gNewAct_2) + ) + (cond + ((Said 'get/man') (Print 516 0)) + ((Said 'kiss') (Print 516 1)) + ((Said 'deliver>') + (cond + ((Said '/book') + (if (gEgo has: 18) + (if (>= (gEgo distanceTo: gNewAct_2) 25) + (Print 516 2) + else + (gSounds eachElementDo: #stop 0) + (minstrelActions changeState: 10) + ) + else + (proc0_17) + ) + ) + ( + (and + (= gInvSaidMe (gInv saidMe:)) + (gEgo has: (gInv indexOf: gInvSaidMe)) + ) + (Print 516 3) + ) + (else (pEvent claimed: 0)) + ) + ) + ((Said 'rob/lute') (Print 516 4)) + ((Said 'look/man') + (if ((Inv at: 18) ownedBy: 203) + (if (gCast contains: gNewAct_2) + (Print 516 5) + else + (Print 516 6) + ) + else + (Print 516 7) + ) + ) + ((Said 'converse[/man]') + (cond + (((Inv at: 9) ownedBy: 203) + (++ global184) + (gSounds eachElementDo: #stop 0) + (if (> global184 4) + (= local1 (Random 2 4)) + else + (= local1 global184) + ) + (switch local1 + (1 + (Print 516 8) + (Print 516 9) + (thisSong number: 17 play: minstrelActions) + ) + (2 + (Print 516 10) + (thisSong number: 16 play: minstrelActions) + ) + (3 + (Print 516 11) + (thisSong number: 15 play: minstrelActions) + ) + (4 + (Print 516 12) + (thisSong number: 18 play: minstrelActions) + ) + ) + (minstrelActions changeState: 1) + ) + ((gCast contains: gNewAct_2) (Print 516 13)) + (else (pEvent claimed: 0)) + ) + ) + ((Said 'get/lute') + (if ((Inv at: 9) ownedBy: 203) + (Print 516 14) + else + (Print 516 15) + ) + ) + ((Said 'hum/') (Print 516 16)) + ) + else + 0 + ) + ) + ) +) + +(instance minstrelActions of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (1 + (notes show: setPri: (gNewAct_2 priority?)) + (gNewAct_2 cycleSpeed: 1 setCycle: Fwd) + ) + (2 + (gNewAct_2 setCycle: 0 cel: 0) + (notes hide:) + ) + (10 + (notes hide:) + (proc0_8) + (Print 516 17) + (gNewAct_2 + view: 173 + cel: 0 + loop: 0 + cycleSpeed: 2 + setCycle: Fwd + ) + (= global118 -1) + (= seconds 4) + ) + (11 + (Print 516 18) + (= global182 1) + ((Inv at: 18) moveTo: 203) + ((Inv at: 9) moveTo: gEgo) + (gGame changeScore: 3) + (proc0_9) + (gNewAct_2 + view: 171 + cel: 0 + loop: 2 + xStep: 2 + cycleSpeed: 0 + yStep: 1 + setAvoider: Avoid + setCycle: Walk + ) + (switch gCurRoomNum + (13 + (gNewAct_2 setMotion: MoveTo 329 125 self) + ) + (14 + (gNewAct_2 setMotion: MoveTo 329 136 self) + ) + (19 + (gNewAct_2 setMotion: MoveTo 329 125 self) + ) + ) + ) + (12 + (gNewAct_2 setScript: 0) + (gNewAct_2 dispose:) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Notes.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Notes.sco new file mode 100644 index 0000000..9a3c991 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Notes.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Obj.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Obj.sc new file mode 100644 index 0000000..5de8f10 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Obj.sc @@ -0,0 +1,526 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 999) +(include sci.sh) +(use Main) +(use Class_255_0) + +(public + proc999_0 0 + proc999_1 1 +) + +(procedure (proc999_0 param1) + (return (if (< param1 0) -1 else (> param1 0))) +) + +(procedure (proc999_1 param1 param2) + (if + (< + (= param1 (- param1 (* param2 (/ param1 param2)))) + 0 + ) + (= param1 (+ param1 param2)) + ) + (return param1) +) + +(class Obj + (properties) + + (method (new) + (Clone self) + ) + + (method (init) + ) + + (method (doit) + (return self) + ) + + (method (dispose) + (DisposeClone self) + ) + + (method (showStr param1) + (StrCpy param1 name) + ) + + (method (showSelf &tmp [temp0 200]) + (Print (self showStr: @temp0)) + ) + + (method (perform param1) + (param1 doit: self &rest) + ) + + (method (isKindOf param1 &tmp objSuperClass) + (= objSuperClass (self superClass?)) + (cond + ((== species (param1 species?))) + ((IsObject objSuperClass) (objSuperClass isKindOf: param1)) + ) + ) + + (method (isMemberOf param1) + (return + (if + (and + (& (param1 -info-?) $8000) + (not (& -info- $8000)) + ) + (== species (param1 species?)) + else + 0 + ) + ) + ) + + (method (respondsTo param1) + (RespondsTo self param1) + ) + + (method (yourself) + (return self) + ) +) + +(class Code of Obj + (properties) + + (method (doit) + ) +) + +(class Collect of Obj + (properties + elements 0 + size 0 + ) + + (method (dispose) + (if elements + (self eachElementDo: #dispose) + (DisposeList elements) + ) + (= size (= elements 0)) + (super dispose:) + ) + + (method (showStr param1) + (Format param1 999 0 name size) + ) + + (method (showSelf &tmp [temp0 40]) + (Print (self showStr: @temp0)) + (self eachElementDo: #showSelf) + ) + + (method (add param1 &tmp temp0 temp1 temp2) + (if (not elements) (= elements (NewList))) + (= temp1 0) + (while (< temp1 argc) + (AddToEnd + elements + (NewNode [param1 temp1] [param1 temp1]) + ) + (++ size) + (++ temp1) + ) + (return self) + ) + + (method (delete param1 &tmp temp0) + (= temp0 0) + (while (< temp0 argc) + (if (DeleteKey elements [param1 temp0]) (-- size)) + (++ temp0) + ) + (return self) + ) + + (method (eachElementDo param1 &tmp temp0 temp1 temp2) + (= temp0 (FirstNode elements)) + (while temp0 + (= temp1 (NextNode temp0)) + (if (not (IsObject (= temp2 (NodeValue temp0)))) + (return) + ) + (temp2 param1: &rest) + (= temp0 temp1) + ) + ) + + (method (firstTrue param1 &tmp temp0 temp1 temp2) + (= temp0 (FirstNode elements)) + (while temp0 + (= temp1 (NextNode temp0)) + (= temp2 (NodeValue temp0)) + (if (temp2 param1: &rest) (return temp2)) + (= temp0 temp1) + ) + (return 0) + ) + + (method (allTrue param1 &tmp temp0 temp1 temp2) + (= temp0 (FirstNode elements)) + (while temp0 + (= temp1 (NextNode temp0)) + (= temp2 (NodeValue temp0)) + (if (not (temp2 param1: &rest)) (return 0)) + (= temp0 temp1) + ) + (return 1) + ) + + (method (contains param1) + (FindKey elements param1) + ) + + (method (isEmpty) + (if (== elements 0) else (EmptyList elements)) + ) + + (method (first) + (FirstNode elements) + ) + + (method (next param1) + (NextNode param1) + ) + + (method (release &tmp temp0 temp1) + (= temp0 (FirstNode elements)) + (while temp0 + (= temp1 (NextNode temp0)) + (self delete: (NodeValue temp0)) + (= temp0 temp1) + ) + ) +) + +(class List of Collect + (properties + elements 0 + size 0 + ) + + (method (showStr param1) + (Format param1 999 1 name size) + ) + + (method (at param1 &tmp temp0) + (= temp0 (FirstNode elements)) + (while (and param1 temp0) + (-- param1) + (= temp0 (NextNode temp0)) + ) + (NodeValue temp0) + ) + + (method (last) + (LastNode elements) + ) + + (method (prev param1) + (PrevNode param1) + ) + + (method (addToFront param1 &tmp temp0) + (if (not elements) (= elements (NewList))) + (= temp0 (- argc 1)) + (while (<= 0 temp0) + (AddToFront + elements + (NewNode [param1 temp0] [param1 temp0]) + ) + (++ size) + (-- temp0) + ) + (return self) + ) + + (method (addToEnd param1 &tmp temp0) + (if (not elements) (= elements (NewList))) + (= temp0 0) + (while (< temp0 argc) + (AddToEnd + elements + (NewNode [param1 temp0] [param1 temp0]) + ) + (++ size) + (++ temp0) + ) + (return self) + ) + + (method (addAfter param1 param2 &tmp temp0 temp1 temp2) + (if (= temp2 (FindKey elements param1)) + (-- argc) + (= temp0 0) + (while (< temp0 argc) + (= temp2 + (AddAfter + elements + temp2 + (NewNode [param2 temp0] [param2 temp0]) + ) + ) + (++ size) + (++ temp0) + ) + ) + (return self) + ) + + (method (indexOf param1 &tmp temp0 temp1) + (= temp0 0) + (= temp1 (FirstNode elements)) + (while temp1 + (if (== param1 (NodeValue temp1)) (return temp0)) + (++ temp0) + (= temp1 (NextNode temp1)) + ) + (return -1) + ) +) + +(class Set of List + (properties + elements 0 + size 0 + ) + + (method (showStr param1) + (Format param1 999 2 name size) + ) + + (method (add param1 &tmp temp0 temp1 temp2) + (if (not elements) (= elements (NewList))) + (= temp1 0) + (while (< temp1 argc) + (= temp2 [param1 temp1]) + (if (not (self contains: temp2)) + (AddToEnd elements (NewNode temp2 temp2)) + (++ size) + ) + (++ temp1) + ) + ) +) + +(class EventHandler of Set + (properties + elements 0 + size 0 + ) + + (method (handleEvent pEvent &tmp temp0 temp1 temp2) + (= temp0 (FirstNode elements)) + (while (and temp0 (not (pEvent claimed?))) + (= temp1 (NextNode temp0)) + (breakif (not (IsObject (= temp2 (NodeValue temp0))))) + (temp2 handleEvent: pEvent) + (= temp0 temp1) + ) + (pEvent claimed?) + ) +) + +(class Script of Obj + (properties + client 0 + state $ffff + start 0 + timer 0 + cycles 0 + seconds 0 + lastSeconds 0 + register 0 + script 0 + caller 0 + ) + + (method (init theClient theCaller theRegister) + (if (>= argc 1) + (= client theClient) + (if (>= argc 2) + (= caller theCaller) + (if (>= argc 3) (= register theRegister)) + ) + ) + (self changeState: start) + ) + + (method (doit &tmp theLastSeconds) + (if script (script doit:)) + (cond + (cycles (if (not (-- cycles)) (self cue:))) + ( + (and + seconds + (!= lastSeconds (= theLastSeconds (GetTime 1))) + ) + (= lastSeconds theLastSeconds) + (if (not (-- seconds)) (self cue:)) + ) + ) + ) + + (method (dispose) + (if (IsObject script) (script dispose:)) + (if (IsObject timer) (timer dispose:)) + (if (IsObject client) (client script: 0)) + (if (IsObject caller) (caller cue: register)) + (super dispose:) + ) + + (method (changeState newState) + (= state newState) + ) + + (method (cue) + (self changeState: (+ state 1) &rest) + ) + + (method (handleEvent pEvent) + (if script (script handleEvent: pEvent)) + (pEvent claimed?) + ) + + (method (setScript theScript) + (if (IsObject script) (script dispose:)) + (if (= script theScript) + ((= script theScript) init: self &rest) + ) + ) +) + +(class Event of Obj + (properties + type $0000 + message 0 + modifiers $0000 + y 0 + x 0 + claimed 0 + ) + + (method (new param1 &tmp newSuper) + (= newSuper (super new:)) + (GetEvent (if argc param1 else 32767) newSuper) + (return newSuper) + ) +) + +(class Timer of Obj + (properties + cycleCnt -1 + seconds -1 + lastTime -1 + client 0 + ) + + (procedure (localproc_0768 &tmp theClient) + (= theClient client) + (= client 0) + (if (IsObject theClient) + (if (theClient respondsTo: #timer) (theClient timer: 0)) + (if (theClient respondsTo: #cue) (theClient cue:)) + ) + ) + + + (method (new) + (return (if (== self Timer) (super new:) else self)) + ) + + (method (init theClient) + (= client theClient) + (gTimers add: self) + (if (theClient respondsTo: #timer) + (if (IsObject (theClient timer?)) + ((theClient timer?) dispose:) + ) + (theClient timer: self) + ) + ) + + (method (doit &tmp theLastTime) + (cond + ((!= cycleCnt -1) (if (not (-- cycleCnt)) (localproc_0768))) + ((!= lastTime (= theLastTime (GetTime 1))) + (= lastTime theLastTime) + (if (not (-- seconds)) (localproc_0768)) + ) + ) + ) + + (method (dispose) + (if + (and (IsObject client) (client respondsTo: #timer)) + (client timer: 0) + ) + (= client 0) + ) + + (method (set param1 param2 param3 param4 &tmp temp0 temp1 theGNewSpeed [temp3 50]) + (if (== (= theGNewSpeed gSpeed) 0) + (= theGNewSpeed 1) + ) + (= temp1 (/ (* param2 60) theGNewSpeed)) + (if (> argc 2) + (= temp1 (+ temp1 (/ (* param3 3600) theGNewSpeed))) + ) + (if (> argc 3) + (= temp1 + (+ temp1 (* (/ (* param4 3600) theGNewSpeed) 60)) + ) + ) + ((= temp0 (if (& -info- $8000) (self new:) else self)) + init: param1 + cycleCnt: temp1 + ) + (return temp0) + ) + + (method (setCycle theCycler sendParams &tmp temp0) + ((= temp0 (if (& -info- $8000) (self new:) else self)) + init: theCycler + cycleCnt: sendParams + ) + (return temp0) + ) + + (method (setReal param1 param2 param3 param4 &tmp temp0 temp1) + (= temp1 param2) + (if (> argc 2) (= temp1 (+ temp1 (* param3 60)))) + (if (> argc 3) (= temp1 (+ temp1 (* param4 3600)))) + ((= temp0 (if (& -info- $8000) (self new:) else self)) + init: param1 + seconds: temp1 + ) + (return temp0) + ) + + (method (delete) + (if (== client 0) + (gTimers delete: self) + (super dispose:) + ) + ) +) + +(class TO of Obj + (properties + timeLeft 0 + ) + + (method (doit) + (if timeLeft (-- timeLeft)) + ) + + (method (set theTimeLeft) + (= timeLeft theTimeLeft) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Obj.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Obj.sco new file mode 100644 index 0000000..e03559b Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Obj.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Ocean Region.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Ocean Region.sc new file mode 100644 index 0000000..46cafad --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Ocean Region.sc @@ -0,0 +1,83 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 519) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Game) +(use InvI) + +(public + Ocean_Region 0 +) +(synonyms + (flora flora flora blossom flora flora) + (ocean seawater ocean) +) + +(instance Ocean_Region of Rgn + (properties + name "Ocean Region" + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if (== (pEvent type?) evSAID) + (cond + ( + (or + (Said 'look') + (if + (and + (= gInvSaidMe (gInv saidMe:)) + (gEgo has: (gInv indexOf: gInvSaidMe)) + ) + (Print 517 5) + else + (Print 517 6) + ) + ) + ) + else + 0 + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Ogre's Region.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Ogre's Region.sco new file mode 100644 index 0000000..c2b379b Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Ogre's Region.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/PlayFlute.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/PlayFlute.sc new file mode 100644 index 0000000..faa09fc --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/PlayFlute.sc @@ -0,0 +1,75 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 304) +(include sci.sh) +(use Main) +(use Sound) +(use Cycle) +(use Feature) +(use Obj) + +(public + playFlute 0 +) + +(local + gEgoViewer + newProp +) +(instance fluteMusic of Sound + (properties) +) + +(instance playFlute of Script + (properties) + + (method (init) + (= global204 1) + (Load rsVIEW 55) + (super init:) + ) + + (method (changeState newState) + (switch (= state newState) + (0 + (proc0_8) + (= newProp (Prop new:)) + (newProp + view: 888 + ignoreActors: + setPri: (+ (gEgo priority?) 1) + cycleSpeed: 1 + setCycle: Fwd + posn: (+ (gEgo x?) 10) (- (gEgo y?) 27) + init: + ) + (= gEgoViewer (gEgo viewer?)) + (gEgo + viewer: 0 + view: 55 + loop: (if (== (gEgo view?) 2) 0 else 1) + setMotion: 0 + cycleSpeed: 2 + setCycle: Fwd + ) + (gSounds eachElementDo: #stop 0) + (fluteMusic number: 77 play: self) + ) + (1 + (gEgo + viewer: gEgoViewer + view: (if (== (gEgo loop?) 0) 2 else 4) + ) + (gEgo + script: gGEgoScript + cycleSpeed: 0 + loop: 2 + setCycle: Walk + ) + (newProp dispose:) + (proc0_9) + (fluteMusic dispose:) + (DisposeScript 304) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/PlayFlute.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/PlayFlute.sco new file mode 100644 index 0000000..8f9f634 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/PlayFlute.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/PlayIt.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/PlayIt.sc new file mode 100644 index 0000000..98b8866 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/PlayIt.sc @@ -0,0 +1,97 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 303) +(include sci.sh) +(use Main) +(use Sound) +(use Cycle) +(use Feature) +(use Obj) + +(public + playIt 0 +) + +(local + newProp + gEgoViewer +) +(instance musicLute of Sound + (properties + number 54 + ) +) + +(instance playIt of Script + (properties) + + (method (init) + (Load rsVIEW 54) + (= global204 1) + (super init:) + ) + + (method (changeState newState) + (switch (= state newState) + (0 + (proc0_8) + (= newProp (Prop new:)) + (if + (and (!= (gEgo view?) 2) (!= (gEgo view?) 4)) + (proc0_9) + (musicLute dispose:) + (DisposeScript 303) + (return) + ) + (if (== (gEgo view?) 2) + (newProp + view: 888 + ignoreActors: + setPri: (gEgo priority?) + cycleSpeed: 1 + setCycle: Fwd + posn: (+ (gEgo x?) 13) (- (gEgo y?) 27) + init: + ) + else + (newProp + view: 888 + ignoreActors: + setPri: (gEgo priority?) + cycleSpeed: 1 + setCycle: Fwd + posn: (+ (gEgo x?) 15) (- (gEgo y?) 37) + init: + ) + ) + (gSounds eachElementDo: #stop 0) + (musicLute play: self) + (= gEgoViewer (gEgo viewer?)) + (gEgo + viewer: 0 + view: 54 + setMotion: 0 + loop: (if (== (gEgo view?) 2) 0 else 1) + cycleSpeed: 2 + setCycle: Fwd + ) + ) + (1 + (gEgo + viewer: gEgoViewer + view: (if (== (gEgo loop?) 0) 2 else 4) + ) + (newProp dispose:) + (gEgo + viewer: gEgoViewer + script: gGEgoScript + cycleSpeed: 0 + loop: 2 + setCycle: Walk + ) + (proc0_9) + (musicLute dispose:) + (DisposeScript 303) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/PlayIt.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/PlayIt.sco new file mode 100644 index 0000000..61b7647 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/PlayIt.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/ReadBook.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/ReadBook.sc new file mode 100644 index 0000000..3e5939e --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/ReadBook.sc @@ -0,0 +1,132 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 306) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Obj) + +(public + readBook 0 + readBook 1 + readNote 2 +) + +(instance readBook of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (1 + (Print 306 0 33 gSmallFont 30 1 67 -1 15 70 290) + ) + (2 + (Print 306 1 33 gSmallFont 30 1 67 -1 15 70 290) + ) + (3 + (Print 306 2 33 gSmallFont 30 1 67 -1 15 70 290) + ) + (4 + (Print 306 3 33 gSmallFont 30 1 67 -1 15 70 290) + ) + (5 + (Print 306 4 33 gSmallFont 30 1 67 -1 15 70 290) + ) + (6 + (Print 306 5 33 gSmallFont 30 1 67 -1 15 70 290) + ) + (7 + (Print 306 6 33 gSmallFont 30 1 67 -1 15 70 290) + ) + (8 + (Print 306 7 33 gSmallFont 30 1 67 -1 15 70 290) + ) + (9 + (Print 306 8 33 gSmallFont 30 1 67 -1 15 70 290) + ) + (10 + (Print 306 9 33 gSmallFont 30 1 67 -1 15 70 290) + ) + (11 + (Print 306 10 33 gSmallFont 30 1 67 -1 15 70 290) + ) + (12 + (Print 306 11 33 gSmallFont 30 1 67 -1 15 70 290) + ) + (13 + (Print 306 12 33 gSmallFont 30 1 67 -1 15 70 290) + ) + (14 + (Print 306 13 33 gSmallFont 30 1 67 -1 15 70 290) + ) + (15 + (Print 306 14 33 gSmallFont 30 1 67 -1 15 70 290) + ) + (16 + (Print 306 15 33 gSmallFont 30 1 67 -1 15 70 290) + ) + (17 + (Print 306 16 33 gSmallFont 30 1 67 -1 15 70 290) + ) + (18 + (Print 306 17 33 gSmallFont 30 1 67 -1 15 70 290) + ) + (19 + (Print 306 18 33 gSmallFont 30 1 67 -1 15 70 290) + ) + (20 + (Print 306 19 33 gSmallFont 30 1 67 -1 15 70 290) + ) + (21 + (Print 306 20 33 gSmallFont 30 1 67 -1 15 70 290) + ) + (22 + (Print 306 21 33 gSmallFont 30 1 67 -1 15 70 290) + ) + (23 + (Print 306 22 33 gSmallFont 30 1 67 -1 15 70 290) + ) + (24 + (Print 306 23 33 gSmallFont 30 1 67 -1 15 70 290) + ) + (25 + (Print 306 24 33 gSmallFont 30 1 67 -1 15 70 290) + ) + (26 + (Print 306 25 33 gSmallFont 30 1 67 -1 15 70 290) + ) + (27 + (Print 306 26 33 gSmallFont 30 1 67 -1 15 70 290) + ) + (28 + (Print 306 27 33 gSmallFont 30 1 67 -1 15 70 290) + ) + (29 + (Print 306 28 33 gSmallFont 30 1 67 -1 15 70 290) + ) + (30 + (Print 306 29 33 gSmallFont 30 1 67 -1 15 70 290) + ) + ) + (DisposeScript 306) + ) +) + +(instance readNote of Script + (properties) + + (method (cue) + (switch (Random 1 9) + (1 (Print 306 30)) + (2 (Print 306 31)) + (3 (Print 306 32)) + (4 (Print 306 33)) + (5 (Print 306 34)) + (6 (Print 306 35)) + (7 (Print 306 36)) + (8 (Print 306 37)) + (9 (Print 306 38)) + (10 (Print 306 39)) + ) + (DisposeScript 306) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/ReadBook.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/ReadBook.sco new file mode 100644 index 0000000..71761e3 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/ReadBook.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/RiverReg.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/RiverReg.sc new file mode 100644 index 0000000..7183008 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/RiverReg.sc @@ -0,0 +1,125 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 512) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Cycle) +(use Game) +(use Obj) + +(public + riverReg 0 +) +(synonyms + (brook brook brook) +) + +(local + local0 + gEgoViewer +) +(instance riverReg of Rgn + (properties) + + (method (init) + (super init:) + (self setScript: riverActions) + (Load rsVIEW 21) + ) + + (method (dispose) + ((ScriptID 0 4) dispose: delete:) + (super dispose:) + ) + + (method (handleEvent pEvent) + (super handleEvent: pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if (== (pEvent type?) evSAID) + (cond + ((Said 'look') + (cond + ((Said '/water') (Print 513 6)) + ((Said '/cliff') (Print 513 7)) + ((Said '/dirt') (Print 513 8)) + ((Said '/tuft') (Print 513 9)) + ((Said '/grass') (Print 513 10)) + ((Said '/bush') (Print 513 11)) + ((Said '/flora') (Print 513 12)) + ((Said '/blossom') (Print 513 13)) + ((Said '/forest') (Print 513 14)) + ) + ) + ((Said 'climb,cross/cliff') (Print 513 15)) + ((Said 'get/blossom') (Print 513 13)) + ( + (or (Said 'dennis/crown') (Said 'place/crown')) + (cond + ( + (and (gEgo inRect: 115 149 274 181) (== gCurRoomNum 78)) (Print 513 16)) + ((!= (gEgo view?) 2) (Print 513 17)) + ((gEgo has: 10) (swamp changeState: 20)) + (else (Print 800 2)) + ) + ) + ( + (or (Said 'detach/crown') (Said 'get') + (cond + ((Said '/boulder') (Print 507 0)) + ((Said '/flora') (Print 507 1)) + ((Said '/dirt,down') (Print 507 2)) + ((Said '/bush') (Print 507 3)) + ((Said '/grass') (Print 507 4)) + ((Said '/blossom') (Print 507 5)) + ((Said '/forest') (Print 507 6)) + ((Said '/crow,bird,crow') + (if (gCast contains: gNewAct_4) + (Print 507 7) + else + (Print 507 8) + ) + ) + ) + ) + ((Said 'climb/boulder') (Print 507 9)) + ((Said 'get/blossom') (Print 507 10)) + ((Said 'climb/forest') (Print 507 11)) + ((Said 'converse/crow,bird,crow') + (if (gCast contains: gNewAct_4) + (Print 507 12) + else + (Print 507 13) + ) + ) + ((Said 'get,capture/crow,bird,crow') + (if (gCast contains: gNewAct_4) + (Print 507 14) + else + (Print 507 15) + ) + ) + ((Said 'kiss/crow,bird,crow') + (if (gCast contains: gNewAct_4) + (Print 507 16) + else + (Print 507 15) + ) + ) + ) + else + 0 + ) + ) + ) +) + +(instance ravenActions of Script + (properties) + + (method (cue) + (gNewAct_4 dispose:) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Woods Region.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Woods Region.sco new file mode 100644 index 0000000..89b3b0f Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/Woods Region.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/game.sh b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/game.sh new file mode 100644 index 0000000..8495dae --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/game.sh @@ -0,0 +1,9 @@ +/************************************************************************* + * SCI Game Header + ************************************************************************* + * Put all the defines specific to your game in here + *************************************************************************/ + +// e.g. +// (define MAIN_SCRIPT 0) +// (define MENU_ABOUT $101) \ No newline at end of file diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/gfReg.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/gfReg.sc new file mode 100644 index 0000000..afeb801 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/gfReg.sc @@ -0,0 +1,283 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 505) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Cycle) +(use Game) +(use InvI) +(use Feature) +(use Obj) + +(public + gfReg 0 +) +(synonyms + (ocean seawater ocean) +) + +(local + local0 + local1 + local2 + newView + newAct +) +(instance gfReg of Rgn + (properties) + + (method (init) + (super init:) + (switch gCurRoomNum + (33 + (= local1 198) + (= local0 155) + ) + (34 + (= local1 172) + (= local0 133) + ) + (35 + (= local1 126) + (= local0 144) + ) + (39 + (= local1 224) + (= local0 113) + ) + (40 + (= local1 241) + (= local0 117) + ) + (41 + (= local1 102) + (= local0 109) + ) + ) + (if (< (Random 1 100) 75) + (= local2 (+ (Random 1 3) 32)) + else + (= local2 (+ (Random 1 3) 38)) + ) + (if ((Inv at: 8) ownedBy: 888) + ((Inv at: 8) moveTo: local2) + ) + (if ((Inv at: 8) ownedBy: gCurRoomNum) + ((= newView (View new:)) + view: 514 + posn: local1 local0 + loop: 0 + cel: 0 + init: + stopUpd: + ) + ) + (if (and (<= (Random 1 100) 40) (> local1 0)) + (Load rsVIEW 337) + (= newAct (Act new:)) + (newAct + view: 336 + moveSpeed: 1 + cycleSpeed: 1 + setCycle: Walk + setMotion: Wander 30000 + illegalBits: -2 + posn: local1 (- local0 4) + init: + setScript: peacockActions + setStep: 1 1 + ) + ) + ) + + (method (doit) + (if + (and + (gCast contains: newAct) + (not (newAct inRect: -10 50 329 199)) + ) + (newAct dispose:) + ) + ) + + (method (dispose) + (gTimers eachElementDo: #dispose 84) + (super dispose:) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if (== (pEvent type?) evSAID) + (cond + ((Said 'look>') + (cond + ((Said '/beach,beach') + (if ((Inv at: 8) ownedBy: gCurRoomNum) + (Print 505 0) + else + (Print 505 1) + ) + ) + ((Said '/feather') + (cond + ((gCast contains: newView) (Print 505 2)) + ((gEgo has: 8) ((Inv at: 8) showSelf:)) + (else (Print 505 3)) + ) + ) + ((Said '/tamir') (Print 505 4)) + ((Said '= gCurRoomNum 36) (<= gCurRoomNum 38)) (Print 505 8)) + (else (Print 505 9)) + ) + ) + ((Said '/boulder') (Print 505 10)) + ((Said '/forest') (Print 505 11)) + ((Said '/grass') (Print 505 12)) + ((Said '/bush') (Print 505 13)) + ((Said '/flora') (Print 505 14)) + ((Said '/blossom') (Print 505 15)) + ((Said '/garden') (Print 505 16)) + ((Said '/castle') (Print 505 17)) + ((Said '/peacock') + (if (gCast contains: newAct) + (Print 505 18) + else + (Print 505 19) + ) + ) + ((Said '/bird') + (if (gCast contains: newAct) + (Print 505 18) + else + (pEvent claimed: 0) + ) + ) + ) + ) + ((Said 'climb/forest') (Print 505 20)) + ((Said 'converse>') + (cond + ((Said '/peacock') + (if (gCast contains: newAct) + (Print 505 21) + else + (Print 505 19) + ) + ) + ((Said '/bird') + (if (gCast contains: newAct) + (Print 505 21) + else + (pEvent claimed: 0) + ) + ) + ) + ) + ((Said 'get/feather') + (cond + (((Inv at: 8) ownedBy: gCurRoomNum) + (if (< (gEgo distanceTo: newView) 15) + (gEgo get: 8) + (gGame changeScore: 2) + (gEgo setScript: getFeather) + else + (Print 800 1) + ) + ) + ((gEgo has: 8) (pEvent claimed: 0)) + (else (Print 505 22)) + ) + ) + ((Said 'get/blossom') (Print 505 23)) + ((Said 'get,capture/peacock') + (if (gCast contains: newAct) + (Print 505 24) + else + (Print 505 3) + ) + ) + ((Said 'get,capture/bird,parrot') (Print 505 25)) + ((Said 'kiss') + (if (gCast contains: newAct) + (Print 505 26) + else + (pEvent claimed: 0) + ) + ) + ) + else + 0 + ) + ) + ) +) + +(instance getFeather of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (proc0_8) + (gEgo view: 21) + (proc0_3 gEgo newView) + (gEgo setCycle: End self) + ) + (1 + (gEgo setCycle: Beg self) + (= global182 1) + (newView dispose:) + ) + (2 + (gEgo view: 2 setScript: 0 setCycle: Walk) + (proc0_9) + ) + ) + ) +) + +(instance peacockActions of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + ((ScriptID 0 4) setReal: self (Random 10 40)) + ) + (1 + (newAct + view: 337 + setLoop: 0 + setMotion: 0 + cel: 0 + setCycle: End self + ) + ) + (2 + ((ScriptID 0 4) setReal: self 4) + ) + (3 (newAct setCycle: Beg self)) + (4 + (newAct + view: 336 + setLoop: -1 + setCycle: Walk + setMotion: Wander 30000 + ) + (self changeState: 0) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/gfReg.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/gfReg.sco new file mode 100644 index 0000000..839dc75 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/gfReg.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/openPbox.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/openPbox.sc new file mode 100644 index 0000000..c180358 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/openPbox.sc @@ -0,0 +1,239 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 307) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Cycle) +(use Feature) +(use Obj) + +(public + openPbox 0 +) + +(local + local0 +) +(instance openPbox of Script + (properties) + + (method (init param1) + (Load rsVIEW 40) + (Load rsVIEW 21) + (Load rsVIEW 519) + (Load rsVIEW 43) + (Load rsVIEW 685) + (Load rsVIEW 684) + (super init: param1) + (proc0_8) + ) + + (method (changeState newState) + (switch (= state newState) + (0 + (Print 307 0 67 -1 10 25 6) + (gEgo viewer: 0) + (if global101 (gEgo view: 40) else (gEgo view: 21)) + (gEgo cel: 0 loop: 0 setCycle: End self) + ) + (1 + ((Sound new:) number: 58 play:) + (gEgo + view: 43 + loop: (if global101 0 else 2) + cel: 0 + setCycle: End + ) + (aBox + loop: (if global101 1 else 3) + cel: 0 + x: (if global101 (+ (gEgo x?) 30) else (+ (gEgo x?) 24)) + y: (gEgo y?) + init: + setCycle: End self + ) + (ills + posn: (aBox x?) (- (aBox y?) 5) + ignoreHorizon: 1 + ignoreActors: 1 + setPri: (aBox priority?) + init: + setLoop: 6 + setCycle: End + ) + (Print 307 1 33 gSmallFont 67 5 10 70 120 88) + ) + (2 + (smokeFirst + posn: (aBox x?) (- (aBox y?) 5) + ignoreHorizon: 1 + ignoreActors: 1 + setPri: (aBox priority?) + init: + setLoop: 0 + moveSpeed: 1 + setCycle: End self + ) + ) + (3 + (ills hide:) + ((ills new:) + posn: (aBox x?) (- (aBox y?) 5) + ignoreHorizon: 1 + ignoreActors: 1 + setPri: (aBox priority?) + init: + setLoop: 0 + setCycle: Fwd + setMotion: MoveTo (* 10 (Random 0 32)) -10 + ) + ((ills new:) + posn: (aBox x?) (- (aBox y?) 5) + ignoreHorizon: 1 + ignoreActors: 1 + setPri: (aBox priority?) + init: + setLoop: 1 + setCycle: Fwd + setMotion: MoveTo (Random 0 320) -10 + ) + ((ills new:) + posn: (aBox x?) (- (aBox y?) 5) + ignoreHorizon: 1 + ignoreActors: 1 + setPri: (aBox priority?) + init: + setLoop: 2 + setCycle: Fwd + setMotion: MoveTo (Random 0 320) -10 + ) + ((ills new:) + posn: (aBox x?) (- (aBox y?) 5) + ignoreHorizon: 1 + ignoreActors: 1 + setPri: (aBox priority?) + init: + setLoop: 3 + setCycle: Fwd + setMotion: MoveTo (Random 0 320) -10 + ) + ((ills new:) + posn: (aBox x?) (- (aBox y?) 5) + ignoreHorizon: 1 + ignoreActors: 1 + setPri: (aBox priority?) + init: + setLoop: 4 + setCycle: Fwd + setMotion: MoveTo (Random 0 320) -10 + ) + ((ills new:) + posn: (aBox x?) (- (aBox y?) 5) + ignoreHorizon: 1 + ignoreActors: 1 + setPri: (aBox priority?) + init: + setLoop: 5 + setCycle: Fwd + setMotion: MoveTo (Random 0 320) -10 + ) + (smokeFirst + setLoop: 1 + setCycle: Fwd + setMotion: MoveTo (aBox x?) (- (aBox y?) 20) self + ) + ) + (4 + ((smokes new:) + posn: (smokeFirst x?) (smokeFirst y?) + setPri: (aBox priority?) + init: + setLoop: 2 + setMotion: MoveTo (* 10 (Random 10 20)) -10 + ) + ((smokes new:) + posn: (smokeFirst x?) (smokeFirst y?) + setPri: (aBox priority?) + init: + setLoop: 3 + moveSpeed: 1 + setMotion: MoveTo (* 10 (Random 10 20)) -10 + ) + ((smokes new:) + posn: (smokeFirst x?) (smokeFirst y?) + setPri: (aBox priority?) + init: + setLoop: 4 + setMotion: MoveTo (* 10 (Random 10 20)) -10 + ) + ((smokes new:) + posn: (smokeFirst x?) (smokeFirst y?) + setPri: (aBox priority?) + init: + setLoop: 5 + setMotion: MoveTo (* 10 (Random 10 20)) -10 + ) + (smokeFirst hide:) + ((ScriptID 0 6) setReal: self 10) + ) + (5 + (gEgo + loop: (if global101 1 else 3) + cycleSpeed: 2 + setCycle: End + ) + (proc0_21) + ((ScriptID 0 6) setReal: self 10) + ) + (6 (= global127 1)) + ) + ) +) + +(instance aBox of Prop + (properties + view 519 + ) +) + +(instance smokeFirst of Act + (properties + view 685 + illegalBits $0000 + ) + + (method (init param1) + (super init: param1) + (self + ignoreHorizon: 1 + ignoreActors: 1 + moveSpeed: 1 + setCycle: Fwd + ) + ) +) + +(instance smokes of Act + (properties + view 685 + illegalBits $0000 + ) + + (method (init param1) + (super init: param1) + (self + ignoreHorizon: 1 + ignoreActors: 1 + moveSpeed: 1 + setCycle: Fwd + ) + ) +) + +(instance ills of Act + (properties + view 684 + illegalBits $0000 + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/openPbox.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/openPbox.sco new file mode 100644 index 0000000..47a61e4 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/openPbox.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regBFCastle.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regBFCastle.sc new file mode 100644 index 0000000..b6af898 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regBFCastle.sc @@ -0,0 +1,413 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 604) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Avoid) +(use Sound) +(use Cycle) +(use Game) +(use User) +(use Feature) +(use Obj) + +(public + regBFCastle 0 +) + +(local + newAct_2 + newProp + newAct + local3 +) +(instance henchCatchMusic of Sound + (properties + number 42 + ) +) + +(instance henchChaseMusic of Sound + (properties + number 41 + ) +) + +(instance regBFCastle of Rgn + (properties) + + (method (init) + (= keep 1) + (Load rsVIEW 355) + (Load rsVIEW 356) + (Load rsVIEW 358) + (= global189 1) + (if (< global109 5) (= local3 92)) + (if (not global223) (= local3 0)) + (super init:) + ) + + (method (doit) + (if + (and + (!= global105 16) + global169 + (== (gEgo script?) 0) + (gCast contains: newAct) + (== (newAct script?) 0) + (or + (and + (or (== gCurRoomNum 92) (== gCurRoomNum 91)) + (< (gEgo y?) 140) + (< (gEgo distanceTo: newAct) 45) + (> (Random 1 1000) 996) + ) + (< (gEgo distanceTo: newAct) 20) + ) + ) + (newAct setScript: henchChaseReg) + ) + (super doit:) + ) + + (method (dispose) + (if (gCast contains: newAct) + (newAct setMotion: 0 setCycle: 0) + ) + (if (== keep 0) (= global189 0) (super dispose:)) + ) + + (method (handleEvent pEvent &tmp temp0) + (super handleEvent: pEvent) + (return + (cond + ((pEvent claimed?) (return 1)) + ((== (pEvent type?) evSAID) + (cond + ((Said 'blow/whistle') (if (gEgo has: 27) (Print 604 0) else (proc0_17))) + ((Said 'look/wall') (Print 604 1)) + ( + (and + (gCast contains: newAct) + (Said 'converse[/goon,man]') + ) + (if (and global169 (not global175)) + (if (< (gEgo distanceTo: newAct) 40) + (newAct setScript: henchChaseReg) + else + (Print 604 2) + ) + else + (Print 604 3 67 -1 10) + ) + ) + ((Said '/goon,man>') + (cond + ((not (gCast contains: newAct)) (Print 604 4) (pEvent claimed: 1)) + ((Said 'look') + (if (and global169 (not global175)) + (Print 604 5) + else + (Print 604 6 67 -1 10) + ) + ) + ((Said 'awaken') + (if (and global169 (not global175)) + (if (< (gEgo distanceTo: newAct) 40) + (newAct setScript: henchChaseReg) + else + (Print 604 2) + ) + else + (Print 604 7) + ) + ) + ((Said 'get,capture') (Print 604 8)) + ((Said 'kiss') (Print 604 9)) + ((Said 'deliver') (Print 604 10) (pEvent claimed: 1)) + ) + ) + ((Said '/bird,crow>') + (cond + ((not (gCast contains: newAct_2)) (Print 604 11) (pEvent claimed: 1)) + ((Said 'look') (Print 604 12)) + ((Said 'converse') (Print 604 13)) + ((Said 'get,capture') (Print 604 14)) + ((Said 'kiss') (Print 604 15)) + ((Said 'deliver') (Print 604 16) (pEvent claimed: 1)) + ) + ) + ) + ) + ) + ) + ) + + (method (newRoom newRoomNumber) + (henchChaseReg seconds: 0) + (super newRoom: newRoomNumber) + ) + + (method (notify param1) + (initializeRoom changeState: param1) + ) +) + +(instance initializeRoom of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (henchChaseReg state: 0) + (if + (and + (or (== gCurRoomNum 91) (== gCurRoomNum 92)) + global223 + ) + ((= newProp (Prop new:)) + view: 358 + loop: 0 + cel: 0 + posn: + (switch gCurRoomNum + (91 258) + (92 275) + ) + (switch gCurRoomNum + (91 136) + (92 156) + ) + init: + stopUpd: + setScript: ravenStuff + ) + ) + (if + (and + (> global109 3) + global169 + (or + (== gCurRoomNum 90) + (== gCurRoomNum 91) + (== gCurRoomNum 92) + (== gCurRoomNum 93) + ) + ) + ((= newAct (Act new:)) + view: 145 + loop: 4 + cel: (if (== gCurRoomNum 90) 1 else 0) + posn: + (switch gCurRoomNum + (90 188) + (91 210) + (92 200) + (93 124) + ) + (switch gCurRoomNum + (90 128) + (91 119) + (92 128) + (93 129) + ) + init: + setAvoider: Avoid + stopUpd: + ) + ) + ) + ) + ) +) + +(instance ravenStuff of Script + (properties) + + (method (doit) + (if + (and + (== gCurRoomNum local3) + (not (gCast contains: newAct_2)) + ) + (self changeState: 0) + ) + (if + (and + (gCast contains: newAct_2) + (!= (newAct_2 priority?) (newProp priority?)) + ) + (newAct_2 setPri: (CoordPri (newProp y?))) + ) + (super doit:) + ) + + (method (changeState newState) + (switch (= state newState) + (0 + (if + (and + (not (gCast contains: newAct_2)) + (== gCurRoomNum local3) + (or (== gCurRoomNum 91) (== gCurRoomNum 92)) + ) + ((= newAct_2 (Act new:)) + view: 356 + ignoreActors: 1 + illegalBits: 0 + xStep: 6 + yStep: 2 + posn: + (switch gCurRoomNum + (91 316) + (92 51) + ) + (switch gCurRoomNum + (91 90) + (92 81) + ) + init: + ) + (newAct_2 + setPri: (+ (newProp priority?) 1) + setCycle: Fwd + setMotion: MoveTo (newProp x?) (- (newProp y?) 60) self + ) + else + (self changeState: 5) + ) + ) + (1 + (newAct_2 + setPri: (newProp priority?) + setMotion: MoveTo (newProp x?) (- (newProp y?) 40) self + ) + ) + (2 + (newAct_2 + view: 355 + loop: 3 + setMotion: 0 + setScript: preenShit + ) + (= seconds 30) + ) + (3 + (newAct_2 setScript: 0 setCycle: 0) + (newAct_2 cel: 0 loop: 2 setCycle: End self) + ) + (4 + (newAct_2 + setScript: 0 + view: 356 + setPri: 11 + setLoop: -1 + setCycle: Fwd + setMotion: + MoveTo + (switch gCurRoomNum + (91 316) + (92 53) + ) + (switch gCurRoomNum + (91 103) + (92 81) + ) + self + ) + ) + (5 + (if (gCast contains: newAct_2) (newAct_2 dispose:)) + (cond + ((== local3 92) (= local3 91)) + (global223 (= local3 92)) + ) + (self cue:) + ) + (6 (= state -1) (= seconds 30)) + ) + ) +) + +(instance preenShit of Script + (properties) + + (method (init param1) + (super init: param1) + ) + + (method (changeState newState) + (switch (= state newState) + (0 + (switch (/ (Random 0 59) 10) + (1 + (newAct_2 loop: 0 setCycle: End self) + ) + (2 + (newAct_2 loop: 1 setCycle: End self) + ) + (else (self cue:)) + ) + ) + (1 + (newAct_2 loop: 3) + (= seconds 4) + ) + (2 (= state -1) (self cue:)) + ) + ) +) + +(instance henchChaseReg of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (newAct loop: 2 setCycle: End self) + ) + (1 + (newAct loop: 0 setCycle: End self) + ) + (2 + (= global175 1) + (if (not (gCast contains: newAct)) + (newAct + setStep: 6 3 + posn: + (switch gCurRoomNum + (93 (- (gEgo x?) 30)) + (91 (+ (gEgo x?) 30)) + ) + (gEgo y?) + init: + ) + ) + (newAct + view: 141 + ignoreActors: 1 + setStep: 6 3 + setCycle: Walk + setMotion: Chase gEgo 15 self + ) + (henchChaseMusic play:) + ) + (3 + (User canControl: 0 canInput: 0) + (gEgo moveSpeed: 0 setMotion: 0) + (henchChaseMusic dispose:) + (henchCatchMusic play:) + (= seconds 4) + ) + (4 + (henchCatchMusic dispose:) + (if (== gCurRoomNum gNewRoomNumber_2) + (= global205 1) + (gRoom newRoom: 81) + else + (User canControl: 1 canInput: 1) + ) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regBFCastle.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regBFCastle.sco new file mode 100644 index 0000000..a710d4c Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regBFCastle.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regDwarfHouse.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regDwarfHouse.sc new file mode 100644 index 0000000..5284e61 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regDwarfHouse.sc @@ -0,0 +1,45 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 601) +(include sci.sh) +(use Main) +(use Sound) +(use Game) + +(public + regDwarfHouse 0 +) +(synonyms + (dwarf ass man person) +) + +(instance theSound of Sound + (properties + number 62 + loop -1 + ) +) + +(instance regDwarfHouse of Rgn + (properties) + + (method (init) + (if initialized (return)) + (super init:) + (Load rsVIEW 290) + (Load rsSOUND 62) + (= global189 (= keep 1)) + (theSound owner: self init:) + ) + + (method (dispose) + (if (not keep) (= global189 0) (super dispose:)) + ) + + (method (notify param1) + (if param1 + (theSound play:) + else + (theSound client: 0 stop:) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regDwarfHouse.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regDwarfHouse.sco new file mode 100644 index 0000000..71730c6 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regDwarfHouse.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regOgreHouse.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regOgreHouse.sc new file mode 100644 index 0000000..bf7b36b --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regOgreHouse.sc @@ -0,0 +1,89 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 602) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Game) +(use Obj) + +(public + regOgreHouse 0 +) +(synonyms + (giant troll man) + (giantess ass giantess fishwife) +) + +(instance regOgreHouse of Rgn + (properties) + + (method (init) + (if initialized (return)) + (= keep 1) + (super init:) + (if (not global166) (self setScript: ogreHere)) + (= global189 1) + ) + + (method (doit) + (super doit:) + ) + + (method (dispose) + (if (== keep 0) (= global189 0) (super dispose:)) + ) + + (method (newRoom newRoomNumber) + (if + (and + (== newRoomNumber 49) + (== gCurRoomNum 48) + (== (ogreHere state?) 0) + ) + (ogreHere seconds: 90) + ) + (if (and (== newRoomNumber 51) (gEgo has: 33)) + (ogreHere changeState: 3) + ) + ) +) + +(instance ogreHere of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 (= seconds 50)) + (1 + (if (and (!= gCurRoomNum 51) (!= gCurRoomNum 48)) + (Print 602 0 25 5) + ) + (if (== gCurRoomNum 48) + (= seconds 60) + else + (= seconds 10) + ) + ) + (2 + (= global165 1) + (if (== gCurRoomNum 51) + (Print 602 1) + (= seconds 60) + ) + ) + (3 + (if (not global166) + (= global165 2) + (if (== gCurRoomNum 51) (Print 602 2)) + ) + (= seconds 60) + ) + (4 + (if (and (== gCurRoomNum 51) (not global166)) + (= global165 5) + (Print 602 3) + ) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regOgreHouse.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regOgreHouse.sco new file mode 100644 index 0000000..a1a57ab Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regOgreHouse.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regPan.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regPan.sc new file mode 100644 index 0000000..3dfb0e3 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regPan.sc @@ -0,0 +1,278 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 514) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Avoid) +(use Sound) +(use Cycle) +(use Game) +(use InvI) +(use Feature) +(use Obj) + +(public + regPan 0 +) +(synonyms + (kiss kiss embrace) + (pan pan pan man pan pan person animal pan) +) + +(local + local0 + local1 + local2 + newProp_2 + newProp + local5 +) +(instance panCage of Cage + (properties) +) + +(instance panTheme of Sound + (properties) +) + +(instance luteMusic of Sound + (properties + number 54 + ) +) + +(instance regPan of Rgn + (properties) + + (method (init) + (super init:) + (if ((Inv at: 0) ownedBy: 201) + (= local0 157) + (= local5 + (+ + (* (- global160 global211) 60) + (- global159 global212) + ) + ) + (if (and (<= (Random 1 100) 40) (>= local5 2)) + (panCage + left: 0 + right: 319 + bottom: 189 + top: (gRoom horizon?) + init: + ) + (Load rsVIEW 157) + (if (gEgo has: 9) (Load rsVIEW 54) (Load rsVIEW 150)) + (= gNewAct_5 (Act new:)) + (gNewAct_5 + posn: (Random 10 300) (Random (+ (gRoom horizon?) 20) 169) + xStep: 2 + yStep: 1 + setCycle: Fwd + observeBlocks: panCage + setScript: panActions + setMotion: Wander 1500 + view: local0 + init: + yourself: + ) + (= newProp (Prop new:)) + (newProp + view: 888 + cycleSpeed: 1 + ignoreActors: + setCycle: Fwd + init: + ) + (panTheme number: 7 loop: -1 play:) + else + (= gNewAct_5 0) + ) + else + (= gNewAct_5 0) + ) + ) + + (method (doit) + (super doit:) + (if (gCast contains: gNewAct_5) + (if + (or + (== (gNewAct_5 view?) 158) + (== (gNewAct_5 view?) 157) + ) + (newProp + setPri: (gNewAct_5 priority?) + x: (+ (gNewAct_5 x?) 8) + y: (- (gNewAct_5 y?) 22) + ) + ) + (if (not (gNewAct_5 inRect: 0 0 319 219)) + (gNewAct_5 dispose:) + (if (IsObject newProp) (newProp dispose:)) + (panTheme loop: 1 changeState:) + ) + ) + ) + + (method (dispose) + ((ScriptID 0 4) dispose: delete:) + (super dispose:) + ) + + (method (handleEvent pEvent &tmp gInvSaidMe) + (if (pEvent claimed?) (return 1)) + (return + (if + (and + (== (pEvent type?) evSAID) + (gCast contains: gNewAct_5) + ) + (cond + ((Said 'play/lute') + (if (gEgo has: 9) + (if (== (gNewAct_5 view?) 157) + (gEgo setScript: playLute) + (playLute changeState: 1) + else + (Print 514 0) + ) + else + (Print 800 2) + ) + ) + ((Said 'play/flute') + (if (gEgo has: 0) + (if (== (panTheme state?) 3) + (Print 514 1) + else + (pEvent claimed: 0) + ) + else + (Print 800 2) + ) + ) + ((Said 'hum') (Print 514 2)) + ((Said 'kill/pan') (Print 514 3)) + ((Said 'play') + (if (= gInvSaidMe (gInv saidMe:)) + (if (gEgo has: (gInv indexOf: gInvSaidMe)) + (Print 514 10) + else + (proc0_17) + ) + else + (Print 514 11) + (pEvent claimed: 1) + ) + ) + ((Said 'kiss') (Print 514 12)) + ((== (gNewAct_5 view?) 157) + (cond + ((Said 'look/pan') (Print 514 13)) + ((Said 'converse[/pan]') (Print 514 14)) + ((Said 'get/flute') (Print 514 15)) + ((Said 'rob/flute') (Print 514 16)) + ) + ) + ((== (gNewAct_5 view?) 158) + (cond + ((Said 'get,rob/lute') (Print 514 17)) + ((Said 'look/pan') (Print 514 18)) + ((Said 'converse[/pan]') (Print 514 19)) + ) + ) + ((== (gNewAct_5 view?) 150) + (cond + ((Said 'converse[/pan]') (Print 514 20)) + ((Said 'look/pan') (Print 514 21)) + ((Said 'get/flute') (Print 514 15)) + ) + ) + ) + else + 0 + ) + ) + ) +) + +(instance playLute of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (1 + (proc0_8) + (panTheme client: 0 stop:) + (luteMusic play: self) + (gEgo view: 54 setLoop: 0 setCycle: Fwd) + (= newProp_2 (Prop new:)) + (newProp_2 + view: 888 + setPri: (gEgo priority?) + cycleSpeed: 1 + setCycle: Fwd + posn: (+ (gEgo x?) 15) (- (gEgo y?) 25) + init: + ) + (gNewAct_5 + view: 150 + setAvoider: Avoid + setCycle: Walk + setMotion: Follow gEgo 55 + ) + (newProp hide:) + ) + (2 + (Print 514 21 67 -1 10 83) + (gEgo view: 2 setLoop: -1 setCycle: Walk) + (if (IsObject newProp_2) (newProp_2 dispose:)) + (proc0_3 gEgo gNewAct_5) + (= local2 1) + (proc0_9) + ) + ) + ) +) + +(instance panActions of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 (= seconds 25)) + (1 + (gNewAct_5 ignoreBlocks: panCage) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regPan.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regPan.sco new file mode 100644 index 0000000..a128d4e Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regPan.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regTroll.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regTroll.sc new file mode 100644 index 0000000..3b80ae8 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regTroll.sc @@ -0,0 +1,432 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 605) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Avoid) +(use Sound) +(use Cycle) +(use Game) +(use Feature) +(use Obj) + +(public + regTroll 0 +) +(synonyms + (dirt dirt dirt dirt dirt) + (kiss kiss embrace) + (troll troll troll troll troll man) +) + +(local + newAct + local1 + local2 + local3 +) +(instance trollCaveMusic of Sound + (properties + number 66 + priority -1 + ) +) + +(instance caughtMusic of Sound + (properties + number 38 + priority 3 + ) +) + +(instance trollMusic of Sound + (properties + number 37 + priority 2 + loop -1 + ) + + (method (play) + (trollCaveMusic client: 0 stop:) + (super play: &rest) + ) +) + +(instance regTroll of Rgn + (properties) + + (method (init) + (if initialized (return)) + (= keep 1) + (if (gEgo has: 3) (Load rsVIEW 967)) + (Load rsVIEW 904) + (Load rsVIEW 190) + (super init:) + (= global189 1) + (= local2 0) + (= global126 0) + (= local1 0) + (= local3 0) + (trollCaveMusic owner: self init:) + (trollMusic owner: self init:) + (caughtMusic owner: self init:) + (doMusic cue:) + ) + + (method (doit) + (super doit:) + (if (== script gotchaScript) (return)) + (if + (and + (not (proc0_20)) + (not (& (gEgo onControl: 0) $0002)) + ) + (gEgo dispose:) + (proc0_18) + (Print 605 1) + (self setScript: gotchaScript) + (return) + ) + (if + (and (not (gCast contains: newAct)) (== global126 1)) + (trollScript changeState: 1) + ) + (if (not local1) + (= local1 1) + (if + (and + (not global126) + (< (Random 0 100) 50) + (!= gCurRoomNum 76) + (!= gCurRoomNum 73) + ) + (trollScript start: 0) + (self setScript: trollScript) + ) + ) + ) + + (method (dispose) + (if (== keep 0) (= global189 0) (super dispose:)) + ) + + (method (handleEvent pEvent &tmp gInvSaidMe temp1 temp2) + (super handleEvent: pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if (== (pEvent type?) evSAID) + (= temp2 (if (proc0_20) (gEgo has: 3) else 0)) + (cond + ( + (and (gEgo has: 3) (Said '/chandelier,lantern[')) + (cond + ((Said 'extinguish,(turn') + (cond + ((Said '') + (= gInvSaidMe (gInv saidMe:)) + (gEgo has: (gInv indexOf: gInvSaidMe)) + ) + (Print 605 13) + ) + ) + ) + ) + else + 0 + ) + ) + ) + + (method (newRoom newRoomNumber) + (= local1 0) + (= local3 0) + (proc0_21) + (if + (and + (!= newRoomNumber 77) + (!= newRoomNumber 70) + (not (gCast contains: newAct)) + ) + (doMusic cue:) + ) + (super newRoom: newRoomNumber) + ) + + (method (notify param1) + (switch param1 + (2 + (gEgo view: 904) + (theLight dispose:) + ) + (3 + (gEgo view: 967) + (theLight setLoop: 4 init:) + ) + (1 + (gEgo view: 967) + (theLight setLoop: 4 init:) + (proc0_18) + (proc0_20 1) + ) + (0 + (gEgo view: 904) + (theLight dispose:) + (cond + (local3 (gEgo dispose:) (proc0_18)) + ((& (gEgo onControl: 0) $0002) (proc0_20 0)) + (else + (gEgo dispose:) + (proc0_18) + (Print 605 0) + (self setScript: gotchaScript) + ) + ) + ) + (4 + (trollMusic client: 0 stop:) + (if (IsObject newAct) + (newAct setMotion: 0 setScript: 0) + ) + ) + ) + ) +) + +(instance trollScript of Script + (properties) + + (method (doit) + (if + (and + (gCast contains: newAct) + (< (self state?) 5) + (< (gEgo distanceTo: newAct) 5) + ) + (self changeState: 5) + (return) + ) + (super doit:) + ) + + (method (changeState newState) + (switch (= state newState) + (0 + (if (not local2) (= seconds 2)) + ) + (1 + (if + (and + (not global126) + (or + (== gCurRoomNum 71) + (== gCurRoomNum 72) + (== gCurRoomNum 74) + (== gCurRoomNum 75) + ) + ) + (Print 605 14 67 200 40 88) + (= global126 1) + ((= newAct (Act new:)) + view: 190 + setAvoider: Avoid 1 + illegalBits: 0 + xStep: 5 + yStep: 2 + init: + setCycle: Walk + ) + (switch gCurRoomNum + (71 (newAct posn: 230 96)) + (72 (newAct posn: 190 180)) + (74 (newAct posn: 73 166)) + (75 (newAct posn: 107 89)) + ) + (trollCaveMusic client: 0 stop:) + (trollMusic stop: loop: 1 play:) + else + (if (or (!= global126 1) (== gCurRoomNum 73)) (return)) + ((= newAct (Act new:)) + view: 190 + setAvoider: Avoid 1 + setCycle: Walk + illegalBits: 0 + ignoreActors: 1 + xStep: 6 + yStep: 2 + init: + ) + (switch gCurRoomNum + (71 + (switch gPrevRoomNum + (74 (newAct posn: 213 210)) + (72 (newAct posn: 250 101)) + (else (newAct posn: 179 196)) + ) + ) + (72 + (switch gPrevRoomNum + (71 (newAct posn: 20 92)) + (75 (newAct posn: 180 220)) + (else (newAct posn: 178 154)) + ) + ) + (74 + (switch gPrevRoomNum + (71 (newAct posn: 114 -20)) + (75 (newAct posn: 340 170)) + (else (newAct posn: 158 132)) + ) + ) + (75 + (switch gPrevRoomNum + (74 (newAct posn: -20 170)) + (76 (newAct posn: 340 170)) + (72 (newAct posn: 140 -20)) + (else (newAct posn: 148 118)) + ) + ) + (76 (newAct posn: -40 170)) + ) + (if (== gCurRoomNum 76) + (switch (Random 0 1) + (0 + (newAct xStep: 6 yStep: 3) + (gSounds eachElementDo: #stop 0) + (trollMusic loop: 1 play:) + ) + (1 + (newAct hide:) + (= local2 1) + (self changeState: 7) + (return) + ) + ) + else + (trollCaveMusic client: 0 stop:) + (trollMusic client: 0 stop: loop: 1 play:) + ) + (proc0_18) + ) + (if (not local2) (self cue:) (return)) + ) + (2 + (if (gCast contains: newAct) + (newAct + moveSpeed: 1 + cycleSpeed: 1 + setMotion: Chase gEgo 55 self + ) + else + (self cue:) + ) + ) + (3 + (Print 605 15 25 4 67 200 10 88) + (self cue:) + ) + (4 + (if (gCast contains: newAct) + (newAct setMotion: Chase gEgo 4 self) + else + (self cue:) + ) + ) + (5 + (gotchaScript start: 1) + (gRoom setScript: gotchaScript) + ) + ) + ) +) + +(instance gotchaScript of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (proc0_8) + (proc0_21) + (trollCaveMusic client: 0 stop:) + (trollMusic play:) + (= seconds 5) + ) + (1 + (proc0_8) + (trollCaveMusic client: 0 stop:) + (trollMusic client: 0 stop:) + (caughtMusic play:) + (proc0_21) + (Print 605 16 67 -1 10) + (= local3 1) + (regTroll notify: 0) + (Print 605 17 67 -1 10) + (= seconds 4) + ) + (2 (= global127 1)) + ) + ) +) + +(instance theLight of Prop + (properties + view 967 + loop 4 + ) + + (method (init) + (self + posn: (gEgo x?) (- (gEgo y?) 3) + ignoreActors: 1 + setCycle: Fwd + priority: (- (gEgo priority?) 1) + ) + (super init:) + ) + + (method (doit) + (self + posn: (gEgo x?) (- (gEgo y?) 3) + priority: (- (gEgo priority?) 1) + ) + (super doit:) + ) +) + +(instance doMusic of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 (Timer setReal: self 2)) + (1 + (trollCaveMusic loop: 1 playMaybe:) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regTroll.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regTroll.sco new file mode 100644 index 0000000..666cd02 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regTroll.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regUnicorn.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regUnicorn.sc new file mode 100644 index 0000000..9b7cdfd --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regUnicorn.sc @@ -0,0 +1,465 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 518) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Avoid) +(use Sound) +(use Cycle) +(use Game) +(use InvI) +(use Feature) +(use Obj) + +(public + regUnicorn 0 +) +(synonyms + (kiss kiss embrace) + (unicorn horse) +) + +(local + newProp + local1 +) +(instance uniTheme of Sound + (properties + number 32 + ) +) + +(instance regUnicorn of Rgn + (properties) + + (method (init) + (super init:) + (if (== 0 global124) + (switch (Random 1 3) + (1 (= global124 20)) + (2 (= global124 26)) + (3 (= global124 27)) + ) + ) + (if (== gCurRoomNum global124) + (Load rsVIEW 388) + (if (gEgo has: 21) (Load rsVIEW 389) (Load rsVIEW 381)) + (if (or (== global123 0) (== global123 999)) + (Load rsVIEW 382) + (Load rsVIEW 383) + (Load rsVIEW 380) + ) + (if (gEgo has: 14) (Load rsVIEW 31) (Load rsVIEW 681)) + (= gNewAct_3 (Act new:)) + (gNewAct_3 + view: 388 + xStep: 4 + yStep: 1 + setCycle: Fwd + cycleSpeed: 2 + setAvoider: Avoid 1 + init: + ) + (switch gCurRoomNum + (20 (gNewAct_3 x: 145 y: 110)) + (26 + (gNewAct_3 loop: 0 posn: 226 97) + ) + (27 + (gNewAct_3 + x: 177 + y: 139 + loop: (if (< (gEgo x?) (gNewAct_3 x?)) 0 else 1) + ) + ) + ) + (if (< (gEgo x?) (gNewAct_3 x?)) + (gNewAct_3 loop: 0) + else + (gNewAct_3 loop: 1) + ) + (gNewAct_3 setScript: uniActions) + ) + ) + + (method (dispose) + (gTimers eachElementDo: #dispose) + (super dispose:) + ) + + (method (handleEvent pEvent &tmp gInvSaidMe) + (if (pEvent claimed?) (return 1)) + (return + (if + (and + (== (pEvent type?) evSAID) + (!= (uniActions state?) 3) + (gCast contains: gNewAct_3) + (!= (gNewAct_3 script?) 0) + ) + (cond + ((and (== global123 999) (Said '/unicorn')) (Print 518 0)) + ((Said 'launch/arrow,unicorn,arrow') + (if + (and (gEgo has: 14) (< ((Inv at: 14) loop?) 2)) + (if (!= global123 0) (return (Print 518 1))) + (cond + ((!= (gEgo view?) 2) (Print 518 2)) + ((gNewAct_3 inRect: 0 0 319 189) + (proc0_3 gEgo gNewAct_3) + (uniActions changeState: 10) + (if (not global191) + (= global191 1) + (gGame changeScore: 4) + ) + ((Inv at: 14) loop: (+ ((Inv at: 14) loop?) 1)) + ) + (else (Print 518 3)) + ) + else + (Print 518 4) + ) + ) + ( + (or (Said 'converse[/!*]') (Said 'converse/unicorn')) + (if (gCast contains: gNewAct_3) + (switch global123 + (0 (Print 518 5)) + (1 (Print 518 6)) + (2 (Print 518 7)) + ) + else + (Print 518 8) + ) + ) + ((Said 'look/horn') + (if (gCast contains: gNewAct_3) + (Print 518 9) + else + (pEvent claimed: 0) + ) + ) + ((or (Said 'bit/unicorn') (Said 'place/bit')) + (switch global123 + (0 (Print 518 10)) + (1 + (if (gEgo has: 21) + (if + (or + (and + (== (gNewAct_3 loop?) 0) + (gEgo + inRect: + (+ (gNewAct_3 x?) 20) + (- (gNewAct_3 y?) 5) + (+ (gNewAct_3 x?) 40) + (+ (gNewAct_3 y?) 5) + ) + ) + (gEgo + inRect: + (- (gNewAct_3 x?) 40) + (- (gNewAct_3 y?) 5) + (- (gNewAct_3 x?) 20) + (+ (gNewAct_3 y?) 5) + ) + ) + (Print 518 11) + (gGame changeScore: 3) + ((Inv at: 21) moveTo: 205) + (uniActions changeState: 20) + else + (Print 800 1) + ) + else + (Print 518 12) + ) + ) + (2 (Print 518 13)) + ) + ) + ((or (Said 'kiss[/!*]') (Said 'kiss/unicorn')) + (if (gCast contains: gNewAct_3) + (cond + ((== global123 0) (Print 518 14)) + ( + (or + (and + (== (gNewAct_3 loop?) 0) + (gEgo + inRect: + (+ (gNewAct_3 x?) 20) + (- (gNewAct_3 y?) 5) + (+ (gNewAct_3 x?) 40) + (+ (gNewAct_3 y?) 5) + ) + ) + (gEgo + inRect: + (- (gNewAct_3 x?) 40) + (- (gNewAct_3 y?) 5) + (- (gNewAct_3 x?) 20) + (+ (gNewAct_3 y?) 5) + ) + ) + (Print 518 15) + ) + (else (Print 800 1)) + ) + else + (pEvent claimed: 0) + ) + ) + ((Said '/unicorn>') + (if (gCast contains: gNewAct_3) + (cond + ((Said 'look') + (switch global123 + (0 (Print 518 16)) + (1 (Print 518 17)) + (2 (Print 518 18)) + ) + ) + ( + (or (Said 'mount') (Said 'get (gEgo y?) (gNewAct_3 y?)) + (gEgo + view: 389 + setAvoider: (Avoid new:) + ignoreActors: + setMotion: 0 + posn: (gNewAct_3 x?) (gNewAct_3 y?) + cel: 0 71 + ) + (if (== (gNewAct_3 loop?) 0) + (gEgo loop: 0) + else + (gEgo loop: 1) + ) + (= global123 3) + (= global124 333) + (= gNewRoomNumber_2 333) + else + (Print 518 21) + ) + else + (Print 800 1) + ) + ) + ) + ) + ((Said 'get,capture') + (switch global123 + (0 (Print 518 19)) + (1 (Print 518 22)) + (2 (Print 518 23)) + ) + ) + ((Said 'pat') + (cond + ((== global123 0) (Print 518 19)) + ( + (or + (and + (== (gNewAct_3 loop?) 0) + (gEgo + inRect: + (+ (gNewAct_3 x?) 20) + (- (gNewAct_3 y?) 5) + (+ (gNewAct_3 x?) 40) + (+ (gNewAct_3 y?) 5) + ) + ) + (gEgo + inRect: + (- (gNewAct_3 x?) 40) + (- (gNewAct_3 y?) 5) + (- (gNewAct_3 x?) 20) + (+ (gNewAct_3 y?) 5) + ) + ) + (Print 518 24) + ) + (else (Print 800 1)) + ) + ) + ((Said 'feed') (Print 518 25)) + ((Said 'guide') + (switch global123 + (0 (Print 518 14)) + (1 (Print 518 26)) + (2 (Print 518 23)) + ) + ) + ) + else + (Print 518 27) + ) + ) + ((Said 'deliver>') + (if (= gInvSaidMe (gInv saidMe:)) + (if (gEgo has: (gInv indexOf: gInvSaidMe)) + (Print 518 28) + else + (Print 800 2) + ) + else + (Print 518 29) + (pEvent claimed: 1) + ) + ) + ) + else + 0 + ) + ) + ) +) + +(instance uniActions of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (uniTheme play:) + (= seconds 4) + ) + (1 + (switch global123 + (0 + (gNewAct_3 + view: 382 + cel: 0 + cycleSpeed: 1 + setCycle: End self + ) + ) + (1 (self changeState: 13)) + (2 + (gNewAct_3 view: 381 cycleSpeed: 1 setCycle: Fwd) + ) + (999 + (gNewAct_3 + view: 382 + cel: 0 + cycleSpeed: 1 + setCycle: End self + ) + ) + ) + ) + (2 + (switch gCurRoomNum + (20 + (gNewAct_3 view: 383 cycleSpeed: 0 setCycle: Walk) + (if (< (gEgo x?) (gNewAct_3 x?)) + (gNewAct_3 setMotion: MoveTo 350 95 self) + else + (gNewAct_3 setMotion: MoveTo -50 91 self) + ) + ) + (26 + (gNewAct_3 view: 383 cycleSpeed: 0 setCycle: Walk) + (gNewAct_3 setMotion: MoveTo 350 94 self) + ) + (27 + (gNewAct_3 view: 383 cycleSpeed: 0 setCycle: Walk) + (if (< (gEgo x?) (gNewAct_3 x?)) + (gNewAct_3 setMotion: MoveTo 350 139 self) + else + (gNewAct_3 setMotion: MoveTo -50 139 self) + ) + ) + ) + ) + (3 + (uniTheme dispose:) + (gNewAct_3 dispose:) + (switch gCurRoomNum + (20 (= global124 27)) + (26 (= global124 27)) + (27 + (if (< (gNewAct_3 x?) 0) + (= global124 26) + else + (= global124 20) + ) + ) + ) + ) + (10 + (proc0_8) + (proc0_3 gEgo gNewAct_3) + (gEgo view: 31 cel: 0 setCycle: End self) + ) + (11 + (gEgo setCycle: Beg) + (= global123 1) + (= newProp (Prop new:)) + (gNewAct_3 setMotion: 0 setCycle: 0) + (newProp + view: 681 + cel: 0 + loop: 0 + setPri: 15 + posn: (gNewAct_3 x?) (- (gNewAct_3 y?) 15) + setCycle: End self + init: + ) + ) + (12 + (newProp dispose:) + (Print 518 30 67 -1 10) + (gNewAct_3 view: 383 cycleSpeed: 0 setCycle: Walk) + (gEgo view: 2 setCycle: Walk) + (proc0_9) + (Print 518 31 67 -1 10) + (switch gCurRoomNum + (20 + (gNewAct_3 setMotion: MoveTo 160 110 self) + ) + (21 + (gNewAct_3 setMotion: MoveTo 142 91 self) + ) + (26 + (gNewAct_3 setMotion: MoveTo 226 99 self) + ) + (27 + (gNewAct_3 setMotion: MoveTo 177 139 self) + ) + ) + ) + (13 + (switch (++ local1) + (1 + (gNewAct_3 view: 380 cycleSpeed: 2 setCycle: Fwd) + ((ScriptID 0 4) setReal: self 3) + ) + (2 + (gNewAct_3 view: 388 cycleSpeed: 2 setCycle: Fwd) + ((ScriptID 0 4) setReal: self 5) + ) + (3 + (gNewAct_3 view: 388 cel: 0 setCycle: 0) + ((ScriptID 0 4) setReal: self 7) + ) + ) + ) + (14 + (if (== local1 3) (= local1 0)) + (self changeState: 13) + ) + (20 + (gNewAct_3 view: 381 setCycle: Fwd) + ((Inv at: 21) moveTo: 205) + (= global123 2) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regUnicorn.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regUnicorn.sco new file mode 100644 index 0000000..c037f8c Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/regUnicorn.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rg600.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rg600.sc new file mode 100644 index 0000000..da0977b --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rg600.sc @@ -0,0 +1,89 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 600) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Game) + +(public + rg600 0 +) +(synonyms + (dwarf ass dwarf man person) +) + +(instance dwarfMusic of Sound + (properties + number 30 + loop -1 + ) +) + +(instance rg600 of Rgn + (properties) + + (method (init) + (if initialized (return)) + (= keep 1) + (super init:) + (= global189 1) + (dwarfMusic owner: self play:) + ) + + (method (dispose) + (if (== keep 0) (= global189 0)) + (super dispose:) + ) + + (method (handleEvent pEvent &tmp gInvSaidMe) + (return + (cond + ((pEvent claimed?) (return 1)) + ((== (pEvent type?) evSAID) + (cond + ((Said 'look>') + (cond + ((Said '/dwarf') (Print 600 0)) + ((Said '/mine[') + (cond + ((Said '/boulder') (Print 600 9)) + ((Said '/diamond') (Print 600 10)) + ((Said '/dwarf') (Print 600 11)) + ) + ) + ((Said 'rob/diamond') (Print 600 12)) + ((Said 'climb/boulder') (Print 600 13)) + ( + (or (Said 'converse/dwarf') (Said 'converse[/!*]')) (Print 600 14)) + ((Said 'kill/dwarf') (Print 600 15)) + ((or (Said 'kiss/dwarf') (Said 'kiss[/!*]')) (Print 600 16)) + ((Said 'hit/dwarf') (Print 600 17)) + ((Said 'help/dwarf') (Print 600 18)) + ( + (and + (Said 'deliver,return>') + (= gInvSaidMe (gInv saidMe:)) + ) + (if (gEgo has: (gInv indexOf: gInvSaidMe)) + (Print 600 19) + else + (proc0_17) + ) + ) + ) + ) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rg600.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rg600.sco new file mode 100644 index 0000000..57088cd Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rg600.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm1.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm1.sc new file mode 100644 index 0000000..9440a23 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm1.sc @@ -0,0 +1,285 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 1) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Cycle) +(use Game) +(use Feature) +(use Obj) + +(public + Room1 0 +) + +(local + newAct + newProp + local2 + gEgoViewer +) +(instance waves of List + (properties) +) + +(instance wave1 of Prop + (properties) +) + +(instance wave2 of Prop + (properties) +) + +(instance wave3 of Prop + (properties) +) + +(instance Room1 of Rm + (properties + picture 1 + ) + + (method (init) + (= north 25) + (= south 7) + (= west 31) + (= east 2) + (= horizon 100) + (= global101 0) + (gEgo edgeHit: 0) + (super init:) + (if global100 (gRoom overlay: 101)) + (self setRegions: 503 501 504 506) + (= gEgoViewer (gEgo viewer?)) + (if (== gPrevRoomNum 2) (= global105 0)) + (= newProp (Prop new:)) + (wave1 + isExtra: 1 + view: 665 + loop: 0 + cel: 0 + posn: 203 75 + setPri: 0 + ignoreActors: + cycleSpeed: 3 + init: + ) + (wave2 + isExtra: 1 + view: 665 + loop: 1 + cel: 0 + posn: 191 115 + setPri: 0 + ignoreActors: + cycleSpeed: 3 + init: + ) + (wave3 + isExtra: 1 + view: 665 + loop: 2 + cel: 0 + posn: 191 188 + setPri: 0 + ignoreActors: + init: + cycleSpeed: 3 + init: + ) + (newProp + isExtra: 1 + view: 650 + loop: 1 + cel: 1 + posn: 69 61 + setPri: 0 + ignoreActors: + setCycle: Fwd + init: + ) + (waves add: wave1 wave2 wave3) + (wave1 setScript: waveActions) + (switch global105 + (0 + (switch gPrevRoomNum + (south + (if (> (gEgo x?) 128) + (gEgo posn: 300 187) + else + (gEgo posn: 225 187) + ) + ) + (north + (gEgo x: 225 y: (+ horizon (gEgo yStep?) 1)) + ) + (0 (gEgo x: 220 y: 135)) + (east + (if (<= (gEgo y?) horizon) + (gEgo x: 318 y: (+ horizon (gEgo yStep?) 1)) + else + (gEgo x: 318) + ) + ) + ) + ) + (1 + (switch gPrevRoomNum + (south (gEgo x: 186 y: 187)) + (north + (gEgo x: 180 y: (+ horizon (gEgo yStep?) 1)) + ) + ) + ) + (2 + (switch gPrevRoomNum + (south (gEgo x: 145 y: 187)) + (north + (gEgo x: 167 y: (+ horizon (gEgo yStep?) 1)) + ) + ) + ) + (3 + (switch gPrevRoomNum + (south (gEgo x: 100 y: 187)) + (north + (gEgo x: 149 y: (+ horizon (gEgo yStep?) 1)) + ) + ) + ) + (4 + (switch gPrevRoomNum + (south + (cond + ((> (gEgo x?) 78) (gEgo x: 30 y: 187)) + ((< (gEgo x?) 20) (gEgo x: 20 y: 187)) + (else (gEgo x: (gEgo x?) y: 187)) + ) + ) + (25 + (if (> (gEgo x?) 78) + (gEgo x: 78 y: (+ horizon (gEgo yStep?) 1)) + else + (gEgo x: 95 y: (+ horizon (gEgo yStep?) 1)) + ) + ) + (31 (gEgo x: 1)) + ) + ) + (14 + (= global205 0) + (gEgo viewer: 0 view: 312 setScript: rideDolphin) + (rideDolphin changeState: 1) + ) + ) + (gEgo init:) + ) + + (method (dispose) + (waves dispose:) + (super dispose:) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if + (and (== (pEvent type?) evSAID) (Said 'look>')) + (cond + ((Said '/grass') (Print 1 0)) + ((Said '/brook') (Print 1 1)) + ((Said '[')) + (cond + ((Said '/cottage') (Print 10 0)) + ((Said '[= (gEgo x?) 277) (gEgo x: 277 y: 188)) + ((<= (gEgo x?) 103) (gEgo x: 103 y: 188)) + (else (gEgo y: 188)) + ) + ) + (5 + (gEgo posn: 148 (+ horizon 2)) + ) + (0 (gEgo x: 318 y: 160)) + ) + (walkingMusic play:) + (gEgo view: 2 init:) + ((= newBlk (Blk new:)) + left: 212 + top: 103 + right: 224 + bottom: 106 + ) + (gEgo observeBlocks: newBlk) + ) + + (method (doit) + (super doit:) + (if + (and (not global112) (== (gRoom script?) 0)) + (cond + ((& (gEgo onControl: 0) $0002) (= local12 8) (= local13 3) (gRoom setScript: grabbed)) + ((& (gEgo onControl: 0) $0004) (= local12 1) (= local13 1) (gRoom setScript: grabbed)) + ((& (gEgo onControl: 0) $0008) + (= local12 2) + (gRoom setScript: grabbed) + (= local13 2) + (gRoom setScript: grabbed) + ) + ((& (gEgo onControl: 0) $0010) (= local12 3) (= local13 1) (gRoom setScript: grabbed)) + ((& (gEgo onControl: 0) $0020) (= local12 4) (= local13 1) (gRoom setScript: grabbed)) + ((& (gEgo onControl: 0) $0040) (= local12 5) (= local13 1) (gRoom setScript: grabbed)) + ((& (gEgo onControl: 0) $0200) (= local12 9) (= local13 1) (gRoom setScript: grabbed)) + ((& (gEgo onControl: 0) $2000) (= local12 6) (= local13 2) (gRoom setScript: grabbed)) + ((& (gEgo onControl: 0) $0400) + (= local12 10) + (= local13 2) + (gRoom setScript: grabbed) + ) + ((& (gEgo onControl: 0) $1000) + (= local12 11) + (= local13 3) + (gRoom setScript: grabbed) + ) + ((& (gEgo onControl: 0) $0800) (= local12 7) (= local13 2) (gRoom setScript: grabbed)) + ) + ) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if + (and + (== (pEvent type?) evSAID) + (or + (Said 'look/around') + (Said 'look/room') + (Said 'look[ (gEgo x?) 211) + (gEgo posn: 210 (+ horizon 2)) + else + (gEgo posn: (gEgo x?) (+ horizon 2)) + ) + ) + (south + (if (> (gEgo x?) 77) + (gEgo posn: 189 188) + else + (gEgo posn: 32 188) + ) + ) + (0 (gEgo x: 290 y: 160)) + ) + (walkingMusic play:) + (gEgo init: view: 2) + (= newBlk (Blk new:)) + (= newBlk_2 (Blk new:)) + (newBlk left: 194 top: 115 right: 230 bottom: 118) + (newBlk_2 left: 170 top: 106 right: 183 bottom: 110) + (gEgo observeBlocks: newBlk newBlk_2) + ) + + (method (doit) + (super doit:) + (if + (and (not global112) (== (gRoom script?) 0)) + (cond + ((& (gEgo onControl: 0) $0080) (= local13 1) (= local14 2) (gRoom setScript: grabbed)) + ((& (gEgo onControl: 0) $2000) (= local13 1) (= local14 3)) + ((& (gEgo onControl: 0) $0040) (= local13 1) (= local14 6) (gRoom setScript: grabbed)) + ((& (gEgo onControl: 0) $0020) (= local13 1) (= local14 5) (gRoom setScript: grabbed)) + ((& (gEgo onControl: 0) $0100) (= local13 2) (= local14 1) (gRoom setScript: grabbed)) + ((& (gEgo onControl: 0) $1000) (= local13 2) (= local14 4) (gRoom setScript: grabbed)) + ((& (gEgo onControl: 0) $0010) (= local13 2) (= local14 7) (gRoom setScript: grabbed)) + ((& (gEgo onControl: 0) $0200) (= local13 2) (= local14 8) (gRoom setScript: grabbed)) + ((& (gEgo onControl: 0) $0800) (= local13 2) (= local14 9) (gRoom setScript: grabbed)) + ((& (gEgo onControl: 0) $0004) + (= local13 2) + (= local14 10) + (gRoom setScript: grabbed) + ) + ((& (gEgo onControl: 0) $0400) + (= local13 2) + (= local14 11) + (gRoom setScript: grabbed) + ) + ((& (gEgo onControl: 0) $0008) + (= local13 3) + (= local14 12) + (gRoom setScript: grabbed) + ) + ) + ) + ) + + (method (dispose) + (if (IsObject newBlk) + (newBlk dispose:) + (newBlk_2 dispose:) + ) + (super dispose:) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if + (and + (== (pEvent type?) evSAID) + (Said 'look[= local3 3)) + (= global118 (/ (= global118 (Random 1 30)) 10)) + ) + (if (== global118 1) + ((= gNewAct_2 (Act new:)) + view: 174 + loop: 2 + setCel: 0 + illegalBits: 0 + posn: 264 118 + init: + ) + (gEgo observeBlocks: minBlock) + ) + (self setRegions: 501 516 503 504 506) + (if (and (== global116 1) (not global100)) + ((= newView (View new:)) + view: 534 + setLoop: 0 + setCel: 0 + posn: 65 54 + init: + addToPic: + ) + ) + (= newProp (Prop new:)) + (newProp + view: 625 + isExtra: 1 + posn: 173 29 + setLoop: 1 + setCycle: Fwd + cycleSpeed: 2 + init: + ) + (if (== gPrevRoomNum 14) (= global105 0)) + (switch global105 + (0 + (switch gPrevRoomNum + (19 + (if (> (gEgo x?) 233) + (gEgo x: 278 y: 188) + else + (gEgo x: 205 y: 188) + ) + ) + (7 + (if (> (gEgo x?) 208) + (gEgo x: 194 y: (+ horizon 2)) + else + (gEgo posn: 148 (+ horizon 2)) + ) + ) + (14 + (if (< (gEgo y?) horizon) + (gEgo x: 318 y: (+ horizon 2)) + else + (gEgo x: 318) + ) + ) + ) + ) + (1 + (switch gPrevRoomNum + (19 (gEgo x: 88 y: 188)) + (7 + (gEgo x: 133 y: (+ horizon 2)) + ) + ) + ) + (2 + (switch gPrevRoomNum + (19 (gEgo x: 88 y: 188)) + (7 + (gEgo x: 124 y: (+ horizon 2)) + ) + ) + ) + (3 + (switch gPrevRoomNum + (19 (gEgo x: 45 y: 188)) + (7 + (gEgo x: 108 y: (+ horizon 2)) + ) + ) + ) + (4 + (switch gPrevRoomNum + (19 (gEgo x: 16 y: 188)) + (7 + (if (> (gEgo x?) 75) + (gEgo x: 75 y: (+ horizon 2)) + else + (gEgo y: (+ horizon (gEgo yStep?) 1)) + ) + ) + (31 + (if (<= (gEgo y?) horizon) + (gEgo x: 1 y: (+ horizon 2)) + else + (gEgo x: 1) + ) + ) + ) + ) + ) + (gEgo init:) + ) + + (method (dispose) + (waves dispose:) + (super dispose:) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if + (and (== (pEvent type?) evSAID) (Said 'look>')) + (cond + ((Said '/grass') (Print 13 0)) + ((Said '/dock') + (if (== global116 1) + (Print 13 1) + else + (Print 13 2) + ) + ) + ((Said '/cottage') (Print 13 2)) + ((Said '/fisherman,man,fishwife,person') + (cond + ((gCast contains: gNewAct_2) (pEvent claimed: 0)) + ((== global116 1) (Print 13 3)) + (else (Print 13 4)) + ) + ) + ((Said '[ (gEgo x?) 209)) + (gEgo x: 209) + ) + (super init:) + (if global100 (gRoom overlay: 114)) + (= local0 + (+ + (* (- global160 global213) 60) + (- global159 global214) + ) + ) + (if + (and ((Inv at: 9) ownedBy: 203) (>= local0 3)) + (= global118 (/ (= global118 (Random 1 300)) 100)) + ) + (if (== global118 2) + ((= gNewAct_2 (Act new:)) + view: 174 + loop: 2 + setCel: 0 + illegalBits: 0 + posn: 168 129 + init: + ) + ) + (self setRegions: 506 516) + (gEgo view: 2 init:) + (if (== gPrevRoomNum 0) (gEgo posn: 149 188)) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if (== (pEvent type?) evSAID) + (cond + ( + (or + (Said 'look/around') + (Said 'look/room') + (Said 'look[') + (if + (and (== global110 5) (gCast contains: newAct)) + (cond + ((Said 'look') (Print 15 0)) + ((Said 'converse') (Print 15 1)) + ((Said 'get') (Print 15 2)) + ((Said 'kiss') (Print 15 3)) + ) + else + (Print 15 4) + (pEvent claimed: 1) + ) + ) + ( + (or + (Said 'fish') + (cond + ((Said '') + (if (= gInvSaidMe (gInv saidMe:)) + (if (gEgo has: (gInv indexOf: gInvSaidMe)) + (if (gCast contains: newAct) + (Print 15 44) + else + (Print 15 45) + ) + else + (proc0_17) + ) + ) + ) + ((Said 'get,rob/crown') + (cond + ((gEgo has: 10) (Print 800 0)) + ((== global110 4) + (Print 15 46) + ((Inv at: 10) moveTo: gEgo) + (= global182 1) + (gEgo + view: 2 + loop: 1 + cycleSpeed: 0 + setCycle: Walk + put: 11 999 + ) + (gGame changeScore: 2) + (= global110 6) + (frogActions changeState: 70) + ) + (else (Print 15 42)) + ) + ) + ) + else + 0 + ) + ) + ) + + (method (newRoom newRoomNumber) + (super newRoom: newRoomNumber) + ) +) + +(instance frogActions of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (1 + (= global110 1) + (Print 15 47 25 3) + (newAct + view: 373 + cycleSpeed: 0 + loop: 0 + cel: 255 + setCycle: End + illegalBits: 0 + setMotion: MoveTo (+ (newAct x?) 10) (- (newAct y?) 5) self + ) + ) + (2 + (newAct hide:) + (frogActions changeState: 100) + ) + (3 + (= seconds 2) + (Load rsVIEW 377) + (Load rsVIEW 372) + (Load rsVIEW 373) + ) + (4 + (gEgo setMotion: 0) + (newAct + view: 373 + show: + cycleSpeed: 0 + setLoop: 0 + cel: 255 + xStep: 2 + yStep: 2 + illegalBits: 0 + ignoreActors: 0 + setCycle: End self + setMotion: MoveTo (+ (newAct x?) 8) (newAct y?) + ) + ((Inv at: 5) moveTo: 15) + ) + (5 + (newAct ignoreActors: hide:) + (= seconds 4) + ) + (6 + (if (gEgo inRect: 247 132 278 140) + (gEgo setScript: ballActions) + (ballActions changeState: 10) + ) + (newAct + view: 377 + setLoop: 0 + cel: 0 + xStep: 2 + setAvoider: (Avoid new:) + setCycle: Fwd + illegalBits: 0 + cycleSpeed: 0 + moveSpeed: 0 + show: + setMotion: MoveTo 250 139 self + ) + ) + (7 + (newAct + view: 372 + xStep: 2 + setLoop: -1 + cel: 0 + cycleSpeed: 1 + moveSpeed: 1 + setMotion: MoveTo 265 137 self + ) + ) + (8 + (newAct + view: 370 + cel: 0 + ignoreActors: 0 + cycleSpeed: 2 + setCycle: Fwd + ) + (= global110 3) + (= newView (View new:)) + (newView + view: 518 + loop: 1 + cel: 0 + posn: (+ (newAct x?) 5) (newAct y?) + ignoreActors: + stopUpd: + init: + ) + (proc0_9) + ) + (10 + (proc0_3 gEgo newAct) + (gEgo view: 21 ignoreActors: setCycle: End self) + ) + (11 + (newAct dispose:) + ((Inv at: 11) moveTo: gEgo) + (gEgo view: 27 ignoreActors: 0 setCycle: End self) + ) + (12 + (gEgo + view: 28 + setCycle: Walk + setMotion: MoveTo 294 134 self + ) + ) + (13 + (gEgo view: 30 loop: 0 cycleSpeed: 1 setCycle: Fwd) + (proc0_18) + (Print 15 48) + (= global110 4) + (proc0_9) + ) + (50 + (proc0_8) + (gEgo + view: 29 + loop: 1 + cel: 0 + cycleSpeed: 0 + setCycle: End self + put: 11 999 + ) + (gGame changeScore: 3) + ) + (51 + (gEgo loop: 3 cel: 255 setCycle: End self) + ) + (52 + (poofSound play:) + ((= newProp_5 (Prop new:)) + posn: (- (gEgo x?) 15) (gEgo y?) + setPri: (+ (gEgo priority?) 1) + view: 680 + cel: 255 + loop: 0 + ignoreActors: + setCycle: CT 5 1 self + init: + ) + ) + (53 + (newProp_5 setCycle: End self) + (= newAct (Act new:)) + (newAct + posn: (- (gEgo x?) 19) (gEgo y?) + view: 225 + cel: 0 + setLoop: 2 + illegalBits: -32256 + init: + ) + (gEgo view: 2) + (proc0_3 gEgo newAct 1) + ) + (54 + (newProp_5 dispose:) + (Print 15 49 67 -1 10) + (Print 15 50 67 -1 10) + (newAct cycleSpeed: 1 setAvoider: (Avoid new:)) + (Print 15 51) + ((Inv at: 10) moveTo: gEgo) + (= global182 1) + (gGame changeScore: 2) + (if (< (newAct x?) (gEgo x?)) + (= local5 0) + else + (= local5 1) + ) + (newAct + view: 226 + setStep: 2 1 + setLoop: -1 + loop: local5 + setCycle: End self + ) + ) + (55 + (newAct + view: 227 + cycleSpeed: 0 + setCycle: Walk + setAvoider: (Avoid new:) + ) + (if (< (newAct x?) 150) + (newAct setMotion: MoveTo -10 150 self) + else + (newAct setMotion: MoveTo 330 150 self) + ) + ) + (56 + (proc0_9) + (gEgo setCycle: Walk) + (newAct dispose:) + ) + (60 + (gEgo view: 2 setLoop: -1 cycleSpeed: 0 setCycle: Walk) + (= newAct (Act new:)) + (newAct + view: 372 + setCycle: Walk + posn: (- (gEgo x?) 10) (gEgo y?) + setMotion: MoveTo (- (newView x?) 3) (newView y?) self + init: + ) + ) + (61 + (= global110 3) + (newAct view: 370 loop: 0 cycleSpeed: 3 setCycle: Fwd) + ) + (70 + (= global110 1) + (= newAct (Act new:)) + (newAct + view: 378 + posn: (- (gEgo x?) 6) (+ (gEgo y?) 4) + illegalBits: 0 + setAvoider: (Avoid new:) + setCycle: Walk + setMotion: MoveTo 244 142 self + init: + ) + ) + (71 (newAct dispose:)) + (100 (= seconds (Random 3 8))) + (101 + (if (== (gEgo onControl: 1) 512) + (self changeState: 100) + else + (newAct + view: 378 + loop: 1 + posn: 216 139 + cel: 255 + cycleSpeed: 1 + setCycle: End self + setMotion: MoveTo 206 145 + show: + ) + ) + ) + (102 + (newAct + view: 370 + loop: 0 + illegalBits: -32768 + cycleSpeed: 2 + setCycle: Fwd + ) + (= global110 0) + ) + ) + ) +) + +(instance ballActions of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (1 + (proc0_8) + (proc0_3 gEgo newView) + (gEgo view: 21 cel: 255 setCycle: End self) + ) + (2 + (newView dispose:) + (gEgo get: 5) + (gEgo setCycle: Beg self) + ) + (3 + (gEgo view: 2 setCycle: Walk) + (if (or (== global110 4) (== global110 3)) + (newAct + illegalBits: 0 + ignoreActors: + view: 373 + cel: 255 + setLoop: 1 + setMotion: MoveTo 244 142 + cycleSpeed: 1 + setCycle: End self + ) + ) + (proc0_9) + ) + (4 + (= global110 1) + (frogActions changeState: 100) + (newAct hide:) + (proc0_9) + ) + (10 + (gEgo + setMotion: MoveTo (+ (gEgo x?) 10) (- (gEgo y?) 10) self + ) + ) + (11 (gEgo loop: 1)) + ) + ) +) + +(instance drinking of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (proc0_8) + (gEgo view: 21 cel: 255 setCycle: End self) + ) + (1 + (= seconds 5) + (= global120 (Print 15 52 67 -1 10 88)) + ) + (2 (gEgo setCycle: Beg self)) + (3 + (proc0_9) + (proc0_21) + (gEgo view: 2 setCycle: Walk) + (gEgo script: gGEgoScript) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm15.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm15.sco new file mode 100644 index 0000000..c2323be Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm15.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm16.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm16.sc new file mode 100644 index 0000000..05b95a5 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm16.sc @@ -0,0 +1,672 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 16) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Avoid) +(use Sound) +(use Cycle) +(use Game) +(use InvI) +(use Feature) +(use Obj) + +(public + Room16 0 +) +(synonyms + (kiss kiss embrace) + (ghoul ghoul ghoul ghoul man ghoul ghoul) +) + +(local + newAct + newAct_2 + newAct_3 + newProp + local4 + local5 + local6 + local7 + local8 +) +(instance zTheme of Sound + (properties + number 20 + priority 1 + loop -1 + ) +) + +(instance Room16 of Rm + (properties + picture 16 + ) + + (method (init) + (= north 10) + (= south 22) + (= east 17) + (= west 15) + (= horizon 80) + (= global101 0) + (= global186 0) + (Load rsVIEW 47) + (if (<= (gEgo y?) (+ horizon 1)) + (gEgo y: (+ horizon 1)) + ) + (if (== gPrevRoomNum 22) (gEgo x: 158)) + (super init:) + (if global100 (gRoom overlay: 116)) + (self setRegions: 510) + (if global100 + (Load rsVIEW 261) + (Load rsVIEW 263) + (Load rsVIEW 265) + (Load rsVIEW 36) + (Load rsVIEW 46) + (Load rsVIEW 45) + (Load rsVIEW 21) + (= newAct (Act new:)) + (= newAct_2 (Act new:)) + (= newAct_3 (Act new:)) + (newAct + view: 260 + loop: 0 + cel: 0 + xStep: 2 + yStep: 1 + posn: 250 116 + setScript: z1Actions + init: + hide: + ) + (newAct_2 + view: 262 + loop: 0 + cel: 0 + xStep: 2 + yStep: 1 + posn: 70 123 + setScript: z2Actions + init: + hide: + ) + (newAct_3 + view: 264 + loop: 0 + cel: 0 + xStep: 2 + yStep: 1 + posn: 103 172 + setScript: z3Actions + init: + hide: + ) + ) + (gEgo view: 2 observeControl: 16384 init:) + (= global105 0) + (gRoom setScript: holeActions) + (= local6 1) + (while (<= local6 global113) + (if + (== + [gNewPropX (= local5 (* (- local6 1) 3))] + gCurRoomNum + ) + ((View new:) + view: 528 + loop: 0 + cel: 6 + posn: [gNewPropX (+ local5 1)] [gNewPropX (+ local5 2)] + setPri: 0 + addToPic: + ignoreActors: + ) + ) + (++ local6) + ) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if (== (pEvent type?) evSAID) + (cond + ((Said 'look/gravestone') (Print 16 0)) + ((Said 'read,look/epitaph,gravestone,boulder') + (cond + ((& (gEgo onControl: 0) $0008) (Print 16 1 30 1 67 -1 15 70 290)) + ((& (gEgo onControl: 0) $0020) (Print 16 2 30 1 67 -1 15 70 290)) + ((& (gEgo onControl: 0) $0100) (Print 16 3 30 1 67 -1 15 70 290)) + ((& (gEgo onControl: 0) $0200) (Print 16 4 30 1 67 -1 15 70 290)) + ((& (gEgo onControl: 0) $0004) (Print 16 5 30 1 67 -1 15 70 290)) + ((& (gEgo onControl: 0) $0002) (Print 16 6 30 1 67 -1 15 70 290)) + ((& (gEgo onControl: 0) $0080) (Print 16 7 30 1 67 -1 15 70 290)) + ((& (gEgo onControl: 0) $0040) (Print 16 8 30 1 67 -1 15 70 290)) + ((& (gEgo onControl: 0) $0010) (Print 16 9 30 1 67 -1 15 70 290)) + ((& (gEgo onControl: 0) $0400) (Print 16 10 30 1 67 -1 15 70 290)) + ((& (gEgo onControl: 0) $1000) (Print 16 11 30 1 67 -1 15 70 290)) + (else (Print 800 1)) + ) + ) + ((Said 'look>') + (cond + ((or (Said ' global134 0) + (if (& (gEgo onControl: 0) $7fff) + (gEgo setScript: digging) + (digging changeState: 1) + else + (Print 16 17) + ) + else + (Print 16 18) + ) + else + (Print 16 19) + ) + ) + ) + else + 0 + ) + ) + ) + + (method (newRoom newRoomNumber) + (gEgo illegalBits: -32768) + (= global189 0) + (if (== (gEgo view?) 2) (super newRoom: newRoomNumber)) + ) +) + +(instance z1Actions of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 (= seconds 4)) + (1 + (= global189 1) + (zTheme play:) + (newAct show: setCycle: End self) + (++ global186) + ((View new:) + view: 260 + posn: (newAct x?) (newAct y?) + ignoreActors: + addToPic: + ) + ) + (2 + (if (== global105 0) + (newAct + view: 261 + setCycle: Walk + setAvoider: (Avoid new:) + setMotion: Chase gEgo 12 self + ) + else + (newAct + view: 261 + setCycle: Walk + setAvoider: (Avoid new:) + setMotion: Wander 50 + ) + ) + ) + (3 + (cond + ((gEgo has: 7) (self changeState: 4)) + ((== global105 0) (self changeState: 10)) + ) + ) + (4 + (Print 16 20 67 -1 20) + (if (== (-- global186) 0) + (zTheme loop: 1 changeState:) + ) + (newAct setMotion: 0 view: 260 cel: 0 setCycle: Beg self) + ) + (5 + (newAct ignoreActors: addToPic:) + ) + (10 + (proc0_8) + (= global105 17) + (zTheme stop:) + (zTheme number: 21 loop: 1 play:) + (gEgo view: 36 cel: 0 setCycle: End self) + (newAct setMotion: Wander) + (if + (and + (gCast contains: newAct_2) + (== (newAct_2 mover?) Chase) + ) + (newAct_2 setMotion: Wander) + ) + (if + (and + (gCast contains: newAct_3) + (== (newAct_3 mover?) Chase) + ) + (newAct_3 setMotion: Wander) + ) + ) + (11 + (gEgo view: 46 cel: 0 setCycle: End self) + ) + (12 + (= global120 (Print 16 21 67 -1 20 88)) + (gEgo view: 45 setCycle: Walk setMotion: Wander) + (= seconds 12) + ) + (13 + (proc0_21) + (zTheme stop:) + (= global127 1) + ) + ) + ) +) + +(instance z2Actions of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 (= seconds 10)) + (1 + (if (== (zTheme state?) 0) (zTheme play:)) + (if (== (zTheme loop?) 1) + (zTheme loop: -1 changeState:) + ) + (++ global186) + (newAct_2 show: setCycle: End self) + ((View new:) + view: 262 + cel: 0 + posn: (newAct_2 x?) (newAct_2 y?) + ignoreActors: + addToPic: + ) + ) + (2 + (if (== global105 0) + (newAct_2 + view: 263 + setCycle: Walk + setAvoider: (Avoid new:) + setMotion: Chase gEgo 12 self + ) + else + (newAct_2 + view: 263 + setCycle: Walk + setAvoider: (Avoid new:) + setMotion: Wander 50 + ) + ) + ) + (3 + (cond + ((gEgo has: 7) (self changeState: 4)) + ((== global105 0) (self changeState: 10)) + ) + ) + (4 + (newAct_2 + setMotion: 0 + view: 262 + cel: 0 + setCycle: Beg self + ) + (Print 16 20 67 -1 20) + (if (== (-- global186) 0) + (zTheme loop: 1 changeState:) + ) + ) + (5 + (newAct_2 ignoreActors: addToPic:) + ) + (10 + (proc0_8) + (= global105 17) + (zTheme stop:) + (zTheme number: 21 loop: 1 play:) + (gEgo view: 36 cel: 0 setMotion: 0 setCycle: End self) + (newAct_2 setMotion: Wander) + (if + (and + (gCast contains: newAct) + (== (newAct mover?) Chase) + ) + (newAct setMotion: Wander) + ) + (if + (and + (gCast contains: newAct_3) + (== (newAct_3 mover?) Chase) + ) + (newAct_3 setMotion: Wander) + ) + ) + (11 + (gEgo view: 46 cel: 0 setCycle: End self) + ) + (12 + (= global120 (Print 16 21 67 -1 20 88)) + (gEgo view: 45 setCycle: Walk setMotion: Wander) + (= seconds 12) + ) + (13 + (proc0_21) + (zTheme stop:) + (= global127 1) + ) + ) + ) +) + +(instance z3Actions of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 (= seconds 15)) + (1 + (if (== (zTheme state?) 0) (zTheme play:)) + (if (== (zTheme loop?) 1) + (zTheme loop: -1 changeState:) + ) + (++ global186) + (newAct_3 show: setCycle: End self) + ((View new:) + view: 264 + posn: (newAct_3 x?) (newAct_3 y?) + ignoreActors: + addToPic: + ) + ) + (2 + (if (== global105 0) + (newAct_3 + view: 265 + setCycle: Walk + setAvoider: (Avoid new:) + setMotion: Chase gEgo 12 self + ) + else + (newAct_3 + view: 265 + setCycle: Walk + setAvoider: (Avoid new:) + setMotion: Wander 50 + ) + ) + ) + (3 + (cond + ((gEgo has: 7) (self changeState: 4)) + ((== global105 0) (self changeState: 10)) + ) + ) + (4 + (Print 16 20 67 -1 20) + (if (== (-- global186) 0) + (zTheme loop: 1 changeState:) + ) + (newAct_3 + setMotion: 0 + view: 264 + cel: 0 + setCycle: Beg self + ) + ) + (5 + (newAct_3 ignoreActors: addToPic:) + ) + (10 + (proc0_8) + (= global105 17) + (zTheme stop:) + (zTheme number: 21 loop: 1 play:) + (gEgo view: 36 cel: 0 setMotion: 0 setCycle: End self) + (newAct_3 setMotion: Wander) + (if + (and + (gCast contains: newAct) + (== (newAct mover?) Chase) + ) + (newAct setMotion: Wander) + ) + (if + (and + (gCast contains: newAct_2) + (== (newAct_2 mover?) Chase) + ) + (newAct_2 setMotion: Wander) + ) + ) + (11 + (gEgo view: 46 cel: 0 setCycle: End self) + ) + (12 + (= global120 (Print 16 21 67 -1 20 88)) + (gEgo view: 45 setCycle: Walk setMotion: Wander) + (= seconds 12) + ) + (13 + (proc0_21) + (zTheme stop:) + (= global127 1) + ) + ) + ) +) + +(instance holeActions of Script + (properties) + + (method (cue &tmp temp0) + (= temp0 (newProp cel?)) + (++ temp0) + (if (>= state 0) (newProp cel: temp0) else (++ state)) + ) +) + +(instance digging of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (1 + (proc0_8) + (gEgo + view: 47 + loop: (& (gEgo loop?) $0001) + cel: 0 + setCycle: End self + ) + (= newProp (Prop new:)) + (newProp + posn: + (if (== (gEgo loop?) 1) + (- (gEgo x?) 16) + else + (+ (gEgo x?) 16) + ) + (+ (gEgo y?) 4) + view: 528 + cel: 0 + setPri: 0 + ignoreActors: + init: + ) + ) + (2 + (gEgo cel: 0 setCycle: End self) + ) + (3 + (if (>= global113 5) + (Print 16 22) + (gEgo view: 2 setCycle: Walk) + ((Inv at: 15) loop: 1) + (self changeState: 0) + (proc0_9) + else + (gEgo cel: 0 setCycle: End self) + ) + ) + (4 + (gEgo cel: 0 setCycle: End self) + ) + (5 + (holeActions cue:) + (if (< (newProp cel?) 6) + (self changeState: 2) + else + (self changeState: 6) + ) + ) + (6 + (= [gNewPropX (= local5 (* (- (++ global113) 1) 3))] + gCurRoomNum + ) + (= [gNewPropX (+ local5 1)] (newProp x?)) + (= [gNewPropX (+ local5 2)] (newProp y?)) + (gEgo view: 2 setCycle: Walk) + (proc0_9) + (cond + ( + (and + (& (gEgo onControl: 0) $0008) + (== global134 2) + ((Inv at: 13) ownedBy: 88) + ) + (newProp setLoop: 1 cel: 2) + (Print 16 23 67 -1 20 83) + ((Inv at: 13) moveTo: 16) + (gEgo setScript: getItems) + (getItems changeState: 1) + (gEgo get: 13) + (gGame changeScore: 3) + ) + ( + (and + (& (gEgo onControl: 0) $0100) + (== global134 1) + ((Inv at: 12) ownedBy: 88) + ) + (newProp setLoop: 1 cel: 1) + (Print 16 24 67 -1 20 83) + (gEgo setScript: getItems) + (getItems changeState: 1) + (gGame changeScore: 3) + (gEgo get: 12) + ) + ( + (and + (& (gEgo onControl: 0) $0004) + (== global134 4) + ((Inv at: 29) ownedBy: 88) + ) + (newProp setLoop: 1 cel: 3) + (Print 16 25 67 -1 20 83) + ((Inv at: 29) moveTo: 16) + (gEgo setScript: getItems) + (getItems changeState: 1) + (gEgo get: 29) + (gGame changeScore: 3) + ) + (else (proc0_9) (Print 16 26 67 -1 20)) + ) + ) + ) + ) +) + +(instance getItems of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (1 + (proc0_8) + (proc0_3 gEgo newProp) + (gEgo view: 21 cel: 255 setCycle: End self) + ) + (2 + (newProp setLoop: 0 cel: 6) + (= global182 1) + (gEgo setCycle: Beg self) + ) + (3 (= cycles 6)) + (4 + (Print 16 27) + (gEgo view: 2 setCycle: Walk) + (proc0_9) + ) + ) + ) +) + +(instance egoDist of Code + (properties) + + (method (doit param1 param2 &tmp temp0) + (= temp0 + (Sqrt + (+ + (* + (Abs (- (gEgo y?) param2)) + (Abs (- (gEgo y?) param2)) + ) + (* + (Abs (- (gEgo x?) param1)) + (Abs (- (gEgo x?) param1)) + ) + ) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm16.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm16.sco new file mode 100644 index 0000000..a4e17d1 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm16.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm17.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm17.sc new file mode 100644 index 0000000..e3751cd --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm17.sc @@ -0,0 +1,242 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 17) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Cycle) +(use Game) +(use Feature) +(use Obj) + +(public + Room17 0 +) +(synonyms + (kiss kiss embrace) + (ghoul ghoul ghoul man ghoul ghoul) +) + +(local + newAct +) +(instance zTheme of Sound + (properties + number 21 + ) +) + +(instance doorSound of Sound + (properties) +) + +(instance door of Prop + (properties) + + (method (cue) + (if (!= (door cel?) (door lastCel:)) + (self setCycle: End self) + else + (proc0_9) + (gRoom newRoom: 68) + ) + ) +) + +(instance Room17 of Rm + (properties + picture 17 + ) + + (method (init) + (= north 11) + (= south 23) + (= east 18) + (= west 16) + (= horizon 100) + (= global101 0) + (gEgo edgeHit: 0) + (self setRegions: 508) + (super init:) + (if global100 (gRoom overlay: 117)) + (if (and global100 (not (gEgo has: 7))) + (Load rsVIEW 270) + (Load rsVIEW 36) + (Load rsVIEW 35) + (= newAct (Act new:)) + (newAct + view: 270 + cel: 0 + loop: 0 + posn: 146 145 + setPri: 10 + illegalBits: 0 + ignoreActors: + setScript: z6Actions + init: + hide: + ) + ) + (door + view: 610 + loop: 0 + cel: 0 + posn: 147 144 + stopUpd: + init: + ) + (switch gPrevRoomNum + (16 + (if (<= (gEgo y?) 120) + (gEgo x: 1 y: 120) + else + (gEgo x: 1) + ) + ) + (18 + (if (<= (gEgo y?) 120) + (gEgo x: 318 y: 120) + else + (gEgo x: 318) + ) + ) + (23 (gEgo posn: (gEgo x?) 188)) + (11 + (if (< (gEgo x?) 160) + (gEgo x: 42 y: (+ horizon (gEgo yStep?) 1)) + else + (gEgo x: 267 y: (+ horizon (gEgo yStep?) 1)) + ) + ) + (68 + (gEgo loop: 2 x: 161 y: 151) + ) + (0 (gEgo x: 290 y: 160)) + ) + (gEgo setPri: -1 view: 2 xStep: 3 yStep: 2 init:) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if (== (pEvent type?) evSAID) + (cond + ( + (or + (Said 'look/around') + (Said 'look/room') + (Said 'look[') + (cond + ((Said '/grave,gravestone,gravestone') (Print 17 1)) + ((Said '/fence,wall') (Print 17 2)) + ((Said '/cottage') (Print 17 3)) + ((Said '/cemetery') (Print 17 4)) + ((Said '/door') (Print 17 5)) + ((Said '/window') + (cond + ( + (or + (gEgo inRect: 96 142 128 148) + (gEgo inRect: 194 142 229 148) + ) + (Print 17 6) + ) + ( + (or + (gEgo inRect: 70 151 124 157) + (gEgo inRect: 193 154 260 159) + ) + (Print 17 7) + ) + (else (Print 800 1)) + ) + ) + ((Said '/stair') (Print 17 8)) + ((or (Said 'look/bush') (Said 'look/bush')) (Print 17 9)) + ) + ) + ((Said 'break/window') (Print 17 10)) + ((Said 'break/door') (Print 17 11)) + ((Said 'open/door') + (if (gEgo inRect: 139 140 173 153) + (proc0_8) + (gEgo loop: 3 setPri: 11) + (doorSound number: 300 loop: 1 play: door) + (door setCycle: End) + else + (Print 800 1) + ) + ) + ((Said 'close/door') (Print 17 12)) + ((Said 'open/window') (Print 17 13)) + ((Said 'unlatch/door') (Print 17 14)) + ((Said 'bang/door') + (if (gEgo inRect: 139 140 173 153) + (Print 17 15) + else + (Print 800 1) + ) + ) + ) + else + 0 + ) + ) + ) + + (method (newRoom newRoomNumber) + (if (== (gEgo view?) 2) + (proc0_9) + (gEgo setPri: -1) + (super newRoom: newRoomNumber) + ) + ) +) + +(instance z6Actions of Script + (properties) + + (method (doit) + (super doit:) + (if + (and (gEgo inRect: 141 146 175 149) (== state 0)) + (proc0_8) + (z6Actions changeState: 1) + ) + ) + + (method (changeState newState) + (switch (= state newState) + (1 + (newAct show: setLoop: 0 cel: 255 setCycle: End self) + ) + (2 + (newAct hide:) + (zTheme play: self) + (gEgo view: 35 cel: 255 setCycle: End self) + ) + (3 + (newAct view: 270 show: cycleSpeed: 1 setCycle: Beg) + (gEgo view: 36 cel: 255 setMotion: 0 setCycle: End self) + ) + (4 + (gEgo view: 46 cel: 255 setCycle: End self) + ) + (5 + (newAct hide:) + (= global120 (Print 17 16 67 -1 20 88)) + (gEgo + view: 45 + x: 160 + setCycle: Walk + setMotion: MoveTo 160 230 + ) + ) + (6 (= global127 1)) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm17.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm17.sco new file mode 100644 index 0000000..9fabb96 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm17.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm18.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm18.sc new file mode 100644 index 0000000..521b427 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm18.sc @@ -0,0 +1,824 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 18) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Avoid) +(use Sound) +(use Cycle) +(use Game) +(use InvI) +(use Feature) +(use Obj) + +(public + Room18 0 +) +(synonyms + (kiss kiss embrace) + (ghoul ghoul ghoul man ghoul ghoul) +) + +(local + newAct_2 + newAct_3 + newAct + newProp + local4 + local5 + local6 + local7 + local8 +) +(instance zTheme of Sound + (properties + number 20 + priority 1 + loop -1 + ) +) + +(instance doorSound of Sound + (properties + number 300 + priority 3 + ) +) + +(instance door of Prop + (properties) + + (method (cue) + (self ignoreActors:) + (gRoom newRoom: 69) + ) +) + +(instance Room18 of Rm + (properties + picture 18 + horizon 85 + north 12 + south 24 + west 17 + ) + + (method (init) + (= global101 0) + (Load rsVIEW 47) + (gEgo edgeHit: 0 observeControl: 16384) + (= global186 0) + (super init:) + (if global100 (gRoom overlay: 118)) + (self setRegions: 510 511) + (if global100 + (Load rsVIEW 261) + (Load rsVIEW 267) + (Load rsVIEW 269) + (Load rsVIEW 36) + (Load rsVIEW 46) + (Load rsVIEW 45) + (Load rsVIEW 21) + (= newAct (Act new:)) + (= newAct_2 (Act new:)) + (= newAct_3 (Act new:)) + (newAct + view: 260 + loop: 0 + cel: 0 + xStep: 2 + yStep: 1 + posn: 25 156 + setScript: z1Actions + init: + hide: + ) + (newAct_2 + view: 266 + loop: 0 + cel: 0 + xStep: 2 + yStep: 1 + posn: 109 131 + setScript: z4Actions + init: + hide: + ) + (newAct_3 + view: 268 + loop: 0 + cel: 0 + xStep: 2 + yStep: 1 + posn: 220 165 + setScript: z5Actions + init: + hide: + ) + ) + (if (== global174 2) + (gEgo ignoreControl: 16384) + (door + posn: 273 148 + view: 611 + loop: 0 + cel: 4 + setPri: 0 + ignoreActors: + init: + stopUpd: + ) + else + (door + posn: 273 148 + view: 611 + loop: 0 + cel: 0 + setPri: 0 + init: + stopUpd: + ) + ) + (switch gPrevRoomNum + (west (gEgo posn: 2 (gEgo y?))) + (north + (gEgo x: 45 y: (+ horizon (gEgo yStep?) 1)) + ) + (south (gEgo posn: 172 188)) + (69 + (gEgo + x: 266 + y: 153 + xStep: 3 + yStep: 2 + ignoreControl: 16384 + ) + (door + posn: 273 148 + view: 611 + loop: 0 + cel: 4 + setPri: 0 + ignoreActors: + init: + stopUpd: + ) + ) + (0 (gEgo x: 180 y: 188)) + ) + (= global105 0) + (gEgo view: 2 init:) + (= local6 1) + (while (<= local6 global113) + (if + (== + [gNewPropX (= local5 (* (- local6 1) 3))] + gCurRoomNum + ) + ((View new:) + view: 528 + loop: 0 + cel: 6 + posn: [gNewPropX (+ local5 1)] [gNewPropX (+ local5 2)] + ignoreActors: + setPri: 0 + addToPic: + ignoreActors: + ) + ) + (++ local6) + ) + ) + + (method (doit) + (super doit:) + (if (& (gEgo onControl: 0) $4000) + (gRoom newRoom: 69) + ) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if (== (pEvent type?) evSAID) + (cond + ((Said 'climb/boulder') (Print 18 0)) + ((Said 'open,enter/crypt') + (if (== global174 2) + (Print 18 1) + else + (Print 18 2) + ) + ) + ((Said 'look>') + (cond + ((Said '/boulder') (Print 18 3)) + ((Said '/grass') (Print 18 4)) + ((Said '/crypt') (Print 18 5)) + ((Said '/cliff') (Print 18 6)) + ((Said '/gravestone') (Print 18 7)) + ((Said '/monument,lion') (Print 18 8)) + ((Said '/door') + (if (== (door cel?) 0) + (Print 18 9) + else + (Print 18 10) + ) + ) + ((Said '/hole') + (= local7 1) + (while (<= local7 global113) + (if + (and + (== [gNewPropX (= local5 (* (- local7 1) 3))] 18) + (< + (egoDist + doit: [gNewPropX (+ local5 1)] [gNewPropX (+ local5 2)] + ) + 20 + ) + ) + (= local8 1) + ) + (++ local7) + ) + (if (>= global113 0) + (if local8 (Print 18 11) else (Print 800 1)) + else + (Print 18 12) + ) + (= local8 0) + ) + ((Said '[') + (cond + ((Said 'break') (Print 18 15)) + ((Said 'bang') + (if (gEgo inRect: 262 149 292 157) + (Print 18 16) + else + (Print 800 1) + ) + ) + ((Said 'open') + (if (gEgo inRect: 262 149 292 157) + (cond + ((== global174 1) + (doorSound play: door) + (gEgo setMotion: 0 ignoreControl: 16384) + (proc0_8) + (= global174 2) + (= global205 1) + (door setCycle: End door) + ) + ((== global174 0) (Print 18 17)) + (else (Print 18 18)) + ) + else + (Print 800 1) + ) + ) + ((Said 'close') + (if (== (door cel?) 0) + (Print 18 19) + else + (Print 18 20) + (door setCycle: Beg) + (gEgo observeControl: 16384) + (= global174 1) + (doorSound play:) + ) + ) + ((Said 'latch') + (if ((Inv at: 20) ownedBy: gEgo) + (if (gEgo inRect: 262 149 292 157) + (cond + ((== global174 1) + (if + (and ((Inv at: 4) ownedBy: 69) (== global109 99)) + (Print 18 21 83) + (gGame changeScore: 2) + (gEgo put: 20 18) + (= global174 0) + (gEgo observeControl: 16384) + else + (Print 18 22) + (= global174 0) + ) + ) + ((== global174 2) (Print 18 23)) + ((== global174 0) (Print 18 24)) + ) + else + (Print 800 1) + ) + else + (Print 18 25) + ) + ) + ((Said 'unlatch') + (if (gEgo inRect: 262 149 292 157) + (cond + ((== global174 0) + (if ((Inv at: 20) ownedBy: gEgo) + (Print 18 26) + (if (not global187) + (gGame changeScore: 3) + (++ global187) + ) + (= global174 1) + else + (Print 18 27) + ) + ) + ((== global174 2) (Print 18 28)) + ((== global174 1) (Print 18 29)) + ) + else + (Print 800 1) + ) + ) + ) + ) + ((Said 'read,look/epitaph,gravestone,boulder') + (cond + ((& (gEgo onControl: 0) $0004) (Print 18 30 30 1 67 -1 15 70 290)) + ((& (gEgo onControl: 0) $0080) (Print 18 31 30 1 67 -1 15 70 290)) + ((& (gEgo onControl: 0) $0008) (Print 18 32 30 1 67 -1 15 70 290)) + ((& (gEgo onControl: 0) $0020) (Print 18 33 30 1 67 -1 15 70 290)) + ((& (gEgo onControl: 0) $1000) (Print 18 34 30 1 67 -1 15 70 290)) + ((& (gEgo onControl: 0) $0002) (Print 18 35 30 1 67 -1 15 70 290)) + ((& (gEgo onControl: 0) $0010) (Print 18 36 30 1 67 -1 15 70 290)) + ((& (gEgo onControl: 0) $0100) (Print 18 37 30 1 67 -1 15 70 290)) + (else (Print 800 1)) + ) + ) + ((Said 'dig[/hole,grave]') + (if + (and (gEgo has: 15) (== 0 ((Inv at: 15) loop?))) + (if (> global134 0) + (if (& (gEgo onControl: 0) $7fff) + (gEgo setScript: digging) + (digging changeState: 1) + else + (Print 18 38) + ) + else + (Print 18 39) + ) + else + (Print 18 40) + ) + ) + ) + else + 0 + ) + ) + ) + + (method (newRoom newRoomNumber) + (proc0_9) + (= global189 0) + (if (== (gEgo view?) 2) (super newRoom: newRoomNumber)) + ) +) + +(instance z4Actions of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 (= seconds 4)) + (1 + (= global189 1) + (zTheme loop: -1 play:) + (++ global186) + (newAct_2 show: setCycle: End self) + ((View new:) + view: 266 + posn: (newAct_2 x?) (newAct_2 y?) + ignoreActors: + addToPic: + ) + ) + (2 + (if (== global105 0) + (newAct_2 + view: 267 + setCycle: Walk + setAvoider: (Avoid new:) + setMotion: Chase gEgo 12 self + ) + else + (newAct_2 + view: 267 + setCycle: Walk + setAvoider: (Avoid new:) + setMotion: Wander 50 + ) + ) + ) + (3 + (cond + ((gEgo has: 7) (self changeState: 4)) + ((== global105 0) (self changeState: 10)) + ) + ) + (4 + (newAct_2 + setMotion: 0 + view: 266 + cel: 0 + setCycle: Beg self + ) + (Print 18 41) + (if (== (-- global186) 0) + (zTheme loop: 1 changeState:) + ) + ) + (5 + (newAct_2 ignoreActors: addToPic:) + ) + (10 + (proc0_8) + (= global105 17) + (zTheme dispose: number: 21 play:) + (gEgo view: 36 cel: 255 setCycle: End self) + (if + (and + (gCast contains: newAct) + (== (newAct mover?) Chase) + ) + (newAct setMotion: Wander) + ) + (if + (and + (gCast contains: newAct_3) + (== (newAct_3 mover?) Chase) + ) + (newAct_3 setMotion: Wander) + ) + (if (gCast contains: newAct) (newAct setMotion: Wander)) + (newAct_2 setMotion: Wander) + ) + (11 + (gEgo view: 46 cel: 255 setCycle: End self) + ) + (12 + (= global120 (Print 18 42 67 -1 0 88)) + (gEgo view: 45 setCycle: Walk setMotion: Wander) + (= seconds 12) + ) + (13 + (proc0_21) + (zTheme stop:) + (= global127 1) + ) + ) + ) +) + +(instance z5Actions of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 (= seconds 8)) + (1 + (++ global186) + (if (== (zTheme state?) 0) (zTheme loop: -1 play:)) + (if (== (zTheme loop?) 1) + (zTheme loop: -1 changeState:) + ) + (newAct_3 show: setCycle: End self) + ((View new:) + view: 268 + cel: 0 + posn: (newAct_3 x?) (newAct_3 y?) + ignoreActors: + addToPic: + ) + ) + (2 + (if (== global105 0) + (newAct_3 + view: 269 + setCycle: Walk + setAvoider: (Avoid new:) + setMotion: Chase gEgo 12 self + ) + else + (newAct_3 + view: 269 + setCycle: Walk + setAvoider: (Avoid new:) + setMotion: Wander 50 self + ) + ) + ) + (3 + (cond + ((gEgo has: 7) (self changeState: 4)) + ((== global105 0) (self changeState: 10)) + ) + ) + (4 + (Print 18 41) + (if (== (-- global186) 0) + (zTheme loop: 1 changeState:) + ) + (newAct_3 + setMotion: 0 + view: 268 + cel: 0 + setCycle: Beg self + ) + ) + (5 + (newAct_3 ignoreActors: addToPic:) + ) + (10 + (proc0_8) + (= global105 17) + (zTheme dispose: number: 21 play:) + (gEgo view: 36 cel: 255 setMotion: 0 setCycle: End self) + (newAct_3 setMotion: Wander) + (if + (and + (gCast contains: newAct) + (== (newAct mover?) Chase) + ) + (newAct setMotion: Wander) + ) + (if + (and + (gCast contains: newAct_3) + (== (newAct_2 mover?) Chase) + ) + (newAct_2 setMotion: Wander) + ) + ) + (11 + (gEgo view: 46 cel: 255 setCycle: End self) + ) + (12 + (= global120 (Print 18 42 67 -1 0 88)) + (gEgo view: 45 setCycle: Walk setMotion: Wander) + (= seconds 12) + ) + (13 + (proc0_21) + (zTheme stop:) + (= global127 1) + ) + ) + ) +) + +(instance z1Actions of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 (= seconds 10)) + (1 + (if (== (zTheme state?) 0) (zTheme loop: -1 play:)) + (if (== (zTheme loop?) 1) + (zTheme loop: -1 changeState:) + ) + (++ global186) + (= global189 1) + (newAct show: setCycle: End self) + ((View new:) + view: 260 + posn: (newAct x?) (newAct y?) + ignoreActors: + addToPic: + ) + ) + (2 + (if (== global105 0) + (newAct + view: 261 + setCycle: Walk + setAvoider: (Avoid new:) + setMotion: Chase gEgo 12 self + ) + else + (newAct + view: 261 + setCycle: Walk + setAvoider: (Avoid new:) + setMotion: Wander 50 + ) + ) + ) + (3 + (cond + ((gEgo has: 7) (self changeState: 4)) + ((== global105 0) (self changeState: 10)) + ) + ) + (4 + (Print 18 41) + (if (== (-- global186) 0) + (zTheme loop: 1 changeState:) + ) + (newAct setMotion: 0 view: 260 cel: 0 setCycle: Beg self) + ) + (5 + (newAct ignoreActors: addToPic:) + ) + (10 + (proc0_8) + (= global105 17) + (zTheme dispose: number: 21 play:) + (gEgo view: 36 cel: 255 setMotion: 0 setCycle: End self) + (newAct setMotion: Wander) + (if + (and + (gCast contains: newAct_3) + (== (newAct_3 mover?) Chase) + ) + (newAct_3 setMotion: Wander) + ) + (if + (and + (gCast contains: newAct_2) + (== (newAct_2 mover?) Chase) + ) + (newAct_2 setMotion: Wander) + ) + ) + (11 + (gEgo view: 46 cel: 255 setCycle: End self) + ) + (12 + (= global120 (Print 18 42 67 -1 0 88)) + (gEgo view: 45 setCycle: Walk setMotion: Wander) + (= seconds 12) + ) + (13 + (proc0_21) + (zTheme stop:) + (= global127 1) + ) + ) + ) +) + +(instance holeActions of Script + (properties) + + (method (cue &tmp temp0) + (= temp0 (newProp cel?)) + (++ temp0) + (if (>= state 0) (newProp cel: temp0) else (++ state)) + ) +) + +(instance digging of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (1 + (proc0_8) + (gEgo + view: 47 + loop: (& (gEgo loop?) $0001) + cel: 255 + setCycle: End self + ) + (= newProp (Prop new:)) + (newProp + posn: + (if (== (gEgo loop?) 1) + (- (gEgo x?) 16) + else + (+ (gEgo x?) 16) + ) + (+ (gEgo y?) 4) + view: 528 + cel: 0 + setPri: 0 + ignoreActors: + init: + ) + ) + (2 + (gEgo cel: 255 setCycle: End self) + ) + (3 + (if (>= global113 5) + (Print 18 43) + (gEgo view: 2 setCycle: Walk) + ((Inv at: 15) loop: 1) + (self changeState: 0) + (proc0_9) + else + (gEgo cel: 255 setCycle: End self) + ) + ) + (4 + (gEgo cel: 255 setCycle: End self) + ) + (5 + (holeActions cue:) + (if (< (newProp cel?) 6) + (self changeState: 2) + else + (self changeState: 6) + ) + ) + (6 + (= [gNewPropX (= local5 (* (- (++ global113) 1) 3))] + gCurRoomNum + ) + (= [gNewPropX (+ local5 1)] (newProp x?)) + (= [gNewPropX (+ local5 2)] (newProp y?)) + (gEgo view: 2 setCycle: Walk) + (proc0_9) + (cond + ( + (and + (& (gEgo onControl: 0) $0020) + (== global134 5) + ((Inv at: 30) ownedBy: 88) + ) + (newProp setLoop: 1 cel: 4) + (Print 18 44 83) + (gEgo setScript: getItems) + (gEgo get: 30) + (getItems changeState: 1) + (gGame changeScore: 3) + ) + ( + (and + (& (gEgo onControl: 0) $0004) + (== global134 3) + ((Inv at: 28) ownedBy: 88) + ) + (newProp setLoop: 1 cel: 0) + (Print 18 45 83) + (gEgo setScript: getItems) + (getItems changeState: 1) + (gEgo get: 28) + (gGame changeScore: 3) + ) + (else (Print 18 46)) + ) + (proc0_9) + ) + ) + ) +) + +(instance getItems of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (1 + (proc0_8) + (gEgo view: 21 cel: 255 setCycle: End self) + ) + (2 + (newProp setLoop: 0 cel: 6) + (= global182 1) + (gEgo setCycle: Beg self) + ) + (3 + (gEgo view: 2 setCycle: Walk) + (Print 18 47) + (proc0_9) + ) + ) + ) +) + +(instance egoDist of Code + (properties) + + (method (doit param1 param2 &tmp temp0) + (= temp0 + (Sqrt + (+ + (* + (Abs (- (gEgo y?) param2)) + (Abs (- (gEgo y?) param2)) + ) + (* + (Abs (- (gEgo x?) param1)) + (Abs (- (gEgo x?) param1)) + ) + ) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm18.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm18.sco new file mode 100644 index 0000000..347a8fd Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm18.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm19.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm19.sc new file mode 100644 index 0000000..dc17017 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm19.sc @@ -0,0 +1,590 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 19) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Cycle) +(use Game) +(use InvI) +(use Feature) +(use Obj) + +(public + Room19 0 +) + +(local + gEgoViewer + local1 + local2 +) +(instance wave1 of Prop + (properties) +) + +(instance wave2 of Prop + (properties) +) + +(instance wave3 of Prop + (properties) +) + +(instance waves of List + (properties) +) + +(instance fallSound of Sound + (properties) +) + +(instance Room19 of Rm + (properties + picture 19 + ) + + (method (init) + (= north 13) + (= south 25) + (= east 20) + (= west 31) + (= horizon 104) + (= global101 0) + (gEgo edgeHit: 0) + (super init:) + (if global100 (gRoom overlay: 119)) + (= local2 + (+ + (* (- global160 global213) 60) + (- global159 global214) + ) + ) + (if + (and ((Inv at: 9) ownedBy: 203) (>= local2 3)) + (= global118 (/ (= global118 (Random 1 30)) 10)) + ) + (if (== global118 3) + ((= gNewAct_2 (Act new:)) + view: 174 + loop: 2 + setCel: 0 + illegalBits: 0 + posn: 293 116 + setPri: 14 + init: + ) + ) + (self setRegions: 516 503 501 504) + (Load rsVIEW 174) + (Load rsVIEW 17) + (Load rsVIEW 33) + (wave1 + view: 666 + loop: 0 + cel: 0 + posn: 183 73 + setPri: 0 + ignoreActors: + cycleSpeed: 3 + init: + ) + (wave2 + view: 666 + loop: 1 + cel: 0 + posn: 188 107 + setPri: 0 + ignoreActors: + cycleSpeed: 3 + init: + ) + (wave3 + view: 666 + loop: 2 + cel: 0 + posn: 189 152 + setPri: 0 + ignoreActors: + cycleSpeed: 3 + init: + ) + (waves add: wave1 wave2 wave3) + (wave1 setScript: waveActions) + (Load rsVIEW 2) + (Load rsVIEW 17) + (Load rsVIEW 33) + (if (== (gEgo view?) 2) + (= global105 0) + else + (= global107 0) + ) + (gEgo illegalBits: -16384) + (switch global105 + (0 + (switch gPrevRoomNum + (25 + (if (> (gEgo x?) 210) + (gEgo x: 293 y: 188) + (gEgo illegalBits: -32768 setPri: 14) + (= global107 11) + else + (gEgo x: 212 y: 188) + (= global107 0) + ) + ) + (13 + (if (< (gEgo x?) 245) + (= global107 0) + (gEgo x: 215 y: (+ horizon (gEgo yStep?) 1)) + else + (gEgo x: 286 y: (+ horizon (gEgo yStep?) 1)) + (gEgo setPri: 14 illegalBits: -32768) + (= global107 11) + ) + ) + (20 + (gEgo setPri: 14 illegalBits: -32768) + (= global107 11) + (= global105 0) + (if (< (gEgo y?) horizon) + (gEgo x: 318 y: (+ horizon 2)) + else + (gEgo x: 318) + ) + ) + (else + (= global107 11) + (gEgo x: 318 y: 160) + (gEgo illegalBits: -32768) + (gEgo setPri: 14) + ) + ) + ) + (1 + (switch gPrevRoomNum + (25 + (= global107 0) + (gEgo x: 151 y: 188) + ) + (13 + (= global107 0) + (gEgo x: 180 y: (+ horizon (gEgo yStep?) 1)) + ) + ) + ) + (2 + (switch gPrevRoomNum + (25 + (= global107 0) + (gEgo x: 88 y: 188) + ) + (13 + (= global107 0) + (gEgo x: 152 y: (+ horizon (gEgo yStep?) 1)) + ) + ) + ) + (3 + (switch gPrevRoomNum + (25 + (= global107 0) + (gEgo x: 31 y: 188) + ) + (13 + (= global107 0) + (gEgo x: 128 y: (+ horizon (gEgo yStep?) 1)) + ) + ) + ) + (4 + (switch gPrevRoomNum + (25 (gEgo x: 5 y: 188)) + (13 + (gEgo x: 104 y: (+ horizon (gEgo yStep?) 1)) + ) + (31 + (if (< (gEgo y?) horizon) + (gEgo x: 1 y: (+ 1 horizon)) + else + (gEgo x: 1) + ) + ) + ) + ) + ) + (gEgo init:) + (= gEgoViewer (gEgo viewer?)) + ) + + (method (doit &tmp temp0) + (super doit:) + (if (== global107 11) + (cond + ((gEgo inRect: 254 104 316 115) (gEgo setPri: 12)) + ( + (and (!= global105 10) (== (gEgo edgeHit?) 0)) (gEgo setPri: 14)) + ) + ) + (if + (and + (== (gRoom script?) 0) + (== global107 11) + (& (= temp0 (gEgo onControl: 0)) $31d4) + ) + (doFall doit:) + (self + setScript: + (cond + ((& temp0 $2000) fallLmagenta) + ((& temp0 $1000) fallLred) + ((& temp0 $0100) fallGrey) + ((& temp0 $0080) fallLgrey) + ((& temp0 $0010) fallRed) + ((& temp0 $0040) fallBrown) + ((& temp0 $0004) fallGreen) + ) + ) + ) + ) + + (method (dispose) + (waves dispose:) + (gEgo setPri: -1) + (super dispose:) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if + (and (== (pEvent type?) evSAID) (Said 'look>')) + (cond + ((Said '/grass') (Print 19 0)) + ((Said '/cliff') (Print 19 1)) + ((Said '[')) + (cond + ( + (or + (Said '/room') + (Said '/around') + (Said '[= (gEgo y?) 105) + (< (gEgo y?) 121) + (== (gEgo view?) 2) + ) + (gEgo posn: 318 102) + ) + (else (gEgo posn: 318 (gEgo y?))) + ) + ) + (20 + (if (> (gEgo y?) 140) + (gEgo posn: 1 139) + else + (gEgo posn: 1 (gEgo y?)) + ) + ) + (27 + (gEgo posn: (gEgo x?) (- 189 (gEgo yStep?))) + ) + (15 + (gEgo posn: (gEgo x?) (+ horizon 2)) + ) + ) + ((gEgo viewer?) doit:) + (gEgo init:) + (if (== gPrevRoomNum 0) (gEgo x: 180 y: 188)) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if + (and (== (pEvent type?) evSAID) (Said 'look>')) + (cond + ((Said '= (gEgo y?) 126) (< (gEgo y?) 130)) + (gEgo posn: 1 127) + else + (gEgo posn: 1 (gEgo y?)) + ) + ) + (16 + (gEgo x: 27 y: (+ horizon (gEgo yStep?) 1)) + ) + (28 (gEgo x: 171 y: 188)) + (23 (gEgo posn: 317 (gEgo y?))) + (53 + (gEgo view: 2 loop: 2 x: 188 y: 114) + (if (== global102 2) (gRoom setScript: doorActions)) + ) + (54 + (if (== global102 2) (gRoom setScript: doorActions)) + (gEgo view: 2 x: 188 y: 114) + ) + (0 (gEgo x: 318 y: 123)) + ) + (gEgo xStep: 3 yStep: 2 init:) + (proc0_9) + ) + + (method (doit) + (super doit:) + (if + (and + (gEgo inRect: 167 140 201 149) + (!= (gEgo view?) 2) + ) + (gEgo setPri: 11) + else + (gEgo setPri: -1) + ) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if (== (pEvent type?) evSAID) + (cond + ((Said 'look/cottage') (Print 22 0)) + ((Said 'look/window') + (if + (or + (gEgo inRect: 140 112 170 124) + (gEgo inRect: 170 112 202 120) + ) + (Print 22 1) + else + (Print 800 1) + ) + ) + ((Said 'look/blossom') (Print 22 2)) + ((Said 'get/blossom') (Print 22 3)) + ((Said 'look/door') (Print 22 4)) + ((Said 'break/window') (Print 22 5)) + ((Said 'break/door') (Print 22 6)) + ((Said 'open/window') (Print 22 7)) + ((Said 'open/door') + (if (gEgo inRect: 170 112 202 120) + (cond + ((== local0 1) (Print 22 8)) + ((not global100) + (proc0_8) + (gEgo loop: 3) + (doorSound number: 300 play: door) + (door setCycle: End) + ) + (else (Print 22 9)) + ) + else + (Print 800 1) + ) + ) + ((Said 'unlatch/door') + (if (gEgo inRect: 170 112 202 120) + (if (not global100) + (Print 22 10) + else + (Print 22 11) + ) + else + (Print 800 1) + ) + ) + ((Said 'bang/door') + (if (gEgo inRect: 170 112 202 120) + (cond + ((== local0 1) (Print 22 12)) + (global100 (Print 22 13)) + (else (Print 22 14)) + ) + else + (Print 800 1) + ) + ) + ((Said 'look/wheel') (Print 22 15)) + ((Said 'look[= (openMusic prevSignal?) 46) + (>= (openMusic signal?) 46) + ) + (self cue:) + else + (-- state) + (= seconds 1) + ) + ) + (20 + (if gModelessDlg (gModelessDlg dispose:)) + (= local25 + ((Act new:) + view: 770 + loop: 0 + posn: (local14 x?) (local14 y?) + setPri: 15 + ignoreActors: + cycleSpeed: 2 + setCycle: End self + init: + yourself: + ) + ) + ) + (21 + (local14 dispose:) + (local25 setLoop: 1 setCycle: End self) + ) + (22 (gRoom newRoom: 222)) + ) + ) + + (method (handleEvent pEvent) + (cond + ( + (and + (== (pEvent type?) evKEYBOARD) + (== (pEvent message?) KEY_F2) + ) + (= local0 (DoSound sndSET_SOUND)) + (DoSound sndSET_SOUND (not local0)) + ) + ( + (and + (== (pEvent type?) evKEYBOARD) + (== (pEvent message?) KEY_RETURN) + ) + (gGame restart:) + ) + ) + ) +) + +(instance stopRosella of Script + (properties) + + (method (cue) + (local14 stopUpd:) + ) +) + +(instance hideRosella of Script + (properties) + + (method (cue) + (local14 hide:) + ) +) + +(instance stopMirror of Script + (properties) + + (method (cue) + (local19 stopUpd:) + ) +) + +(instance doSparkle of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (= seconds (Random 1 4)) + (local29 hide:) + ) + (1 + (local29 cel: 255 setCycle: End self show:) + ) + (2 (self changeState: 0)) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm221.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm221.sco new file mode 100644 index 0000000..b95db0d Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm221.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm222.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm222.sc new file mode 100644 index 0000000..5b1bde2 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm222.sc @@ -0,0 +1,890 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 222) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Cycle) +(use Game) +(use MenuBar) +(use Feature) +(use Obj) + +(public + Room222 0 +) + +(local + local0 + openMusicSignal + [local2 3] + local5 + local6 + local7 + local8 + local9 + local10 + [local11 2] + local13 + [local14 5] + local19 + [local20 4] + newProp + local25 + [local26 2] + newProp_2 + newProp_3 + local30 + [local31 50] +) +(instance openMusic of Sound + (properties) +) + +(instance wave1 of Prop + (properties) +) + +(instance wave2 of Prop + (properties) +) + +(instance waves of List + (properties) +) + +(instance Room222 of Rm + (properties + picture 25 + style $0008 + ) + + (method (init) + (Load rsVIEW 757) + (Load rsVIEW 755) + (Load rsVIEW 771) + (Load rsVIEW 753) + (Load rsVIEW 765) + (Load rsPIC 25) + (Load rsPIC 205) + (Load rsPIC 209) + (= gUserFont gSmallFont) + (super init:) + (gRoom setScript: RoomActions) + ) + + (method (handleEvent pEvent) + (cond + ( + (and + (== (pEvent type?) evKEYBOARD) + (== (pEvent message?) KEY_F2) + ) + (= local0 (DoSound sndSET_SOUND)) + (DoSound sndSET_SOUND (not local0)) + ) + ( + (and + (== (pEvent type?) evKEYBOARD) + (== (pEvent message?) KEY_RETURN) + ) + (gGame restart:) + ) + ) + ) + + (method (newRoom newRoomNumber) + (TheMenuBar draw:) + (proc0_21) + (if (IsObject waves) (waves dispose:)) + (= gUserFont gBigFont) + (super newRoom: newRoomNumber) + ) +) + +(instance RoomActions of Script + (properties) + + (method (doit &tmp [temp0 40]) + (super doit:) + (if global215 + (Display + (Format + @temp0 + 222 + 0 + state + (openMusic prevSignal?) + openMusicSignal + ) + 100 + 0 + 0 + 103 + 15 + ) + ) + ) + + (method (changeState newState &tmp [temp0 20]) + (switch (= state newState) + (0 + (openMusic number: 106 loop: 6 play: highState) + (setupRoom25 doit:) + (= newProp (Prop new:)) + (newProp + posn: 229 125 + view: 680 + loop: 0 + cel: 255 + setCycle: CT 5 1 self + init: + ) + ) + (1 + (newProp setLoop: 0 setCycle: End self) + (= local13 + ((Prop new:) + view: 757 + posn: 229 125 + setLoop: 0 + cel: 0 + init: + yourself: + ) + ) + ) + (2 + (newProp dispose:) + (= local19 + ((Act new:) + view: 755 + loop: 0 + posn: -20 (+ (gRoom horizon?) 40) + setPri: 15 + illegalBits: 0 + ignoreActors: + cycleSpeed: 0 + setCycle: Fwd + setMotion: MoveTo 260 126 + init: + yourself: + ) + ) + (= local9 + ((Act new:) + view: 110 + loop: 0 + posn: -30 (+ (gRoom horizon?) 20) + illegalBits: 0 + setPri: 14 + ignoreActors: + cycleSpeed: 0 + setCycle: Fwd + setMotion: MoveTo 260 70 self + init: + yourself: + ) + ) + (if global223 + (= local10 + ((Act new:) + view: 114 + loop: 0 + posn: -40 (+ (gRoom horizon?) 2) + setPri: 14 + ignoreActors: + illegalBits: 0 + cycleSpeed: 0 + setCycle: Fwd + setMotion: MoveTo 260 85 + init: + yourself: + ) + ) + ) + ) + (3 + (local9 observeBlocks: fairyBlock) + (if global223 (local10 observeBlocks: fairyBlock)) + (local13 dispose:) + (= local13 + ((Prop new:) + view: 757 + posn: 229 125 + setLoop: 0 + setCel: 1 + init: + yourself: + ) + ) + (local19 setLoop: 3 cel: 0 stopUpd:) + (local9 setMotion: Wander) + (if global223 (local10 setMotion: Wander)) + (= local25 + (Print 222 1 80 {Genesta} 67 100 151 70 200 88) + ) + (Timer setReal: self 12) + ) + (4 + (local13 dispose:) + (local19 hide:) + (proc0_21) + (if global223 + (newProp_2 dispose:) + (newProp_3 dispose:) + (waveActions changeState: 10) + ) + (local9 dispose:) + (if global223 (local10 dispose:)) + (setupRoom209 doit:) + (= local13 + ((Act new:) + view: 771 + loop: 0 + posn: 107 78 + cel: 0 + setPri: 15 + ignoreActors: + stopUpd: + forceUpd: + init: + yourself: + ) + ) + ((View new:) + view: 771 + loop: 1 + cel: 3 + posn: 192 77 + setPri: 15 + ignoreActors: + addToPic: + ) + (Timer setReal: self 1) + ) + (5 + (proc0_21) + (= local25 (Print 222 2 67 50 151 70 200 83 88)) + (Timer setReal: self 9) + ) + (6 + (proc0_21) + (local13 cycleSpeed: 2 setCycle: Fwd show:) + (= local25 + (Print 222 3 80 {Rosella} 67 1 151 70 200 88) + ) + (Timer setReal: self 12) + ) + (7 + (proc0_21) + (local8 dispose:) + (local19 dispose:) + (local13 hide:) + (gRoom drawPic: 205) + ((View new:) + view: 765 + setLoop: 0 + posn: 200 119 + setPri: 0 + ignoreActors: + addToPic: + ) + (= local6 + ((Act new:) + view: 765 + loop: 2 + posn: 200 99 + setPri: 14 + ignoreActors: + cycleSpeed: 3 + setCycle: Fwd + init: + yourself: + ) + ) + (blinkEyes changeState: 0) + (= local25 + (Print 222 4 80 {Genesta} 67 60 130 70 240 88) + ) + (Timer setReal: self 11) + ) + (8 + (proc0_21) + (= local25 + (Print 222 5 80 {Genesta} 67 70 130 70 239 88) + ) + (Timer setReal: self 11) + ) + (9 + (blinkEyes changeState: 4) + (Timer setReal: self 14) + ) + (10 + (proc0_21) + (blinkEyes changeState: 7) + (local6 dispose:) + (setupRoom209 doit:) + (local13 + view: 771 + loop: 0 + cel: 0 + posn: 107 78 + setPri: 15 + ignoreActors: + cycleSpeed: 2 + show: + stopUpd: + forceUpd: + ) + (= local19 + ((Act new:) + view: 771 + loop: 1 + posn: 192 77 + setPri: 15 + ignoreActors: + cycleSpeed: 2 + setCycle: Fwd + init: + yourself: + ) + ) + (Timer setReal: self 2) + ) + (11 + (proc0_21) + (= local25 + (Print 222 6 80 {Genesta} 67 100 130 70 200 88) + ) + (Timer setReal: self 13) + ) + (12 + (proc0_21) + (= local25 + (Print 222 7 80 {Genesta} 67 100 130 70 200 88) + ) + (Timer setReal: self 9) + ) + (13 + (proc0_21) + (local19 setCel: 0 stopUpd:) + (local13 setCycle: Fwd) + (= local25 + (Print 222 8 80 {Rosella} 67 1 130 70 200 88) + ) + (Timer setReal: self 9) + ) + (14 + (proc0_21) + (local13 setCel: 0 stopUpd:) + (local19 setCycle: Fwd) + (= local25 + (Print 222 9 80 {Genesta} 67 100 130 70 200 88) + ) + (Timer setReal: self 14) + ) + (15 + (proc0_21) + (local8 dispose:) + (local13 dispose:) + (local19 dispose:) + (gRoom drawPic: 205) + ((View new:) + view: 753 + setLoop: 0 + posn: 50 119 + setPri: 0 + ignoreActors: + addToPic: + ) + (= local6 + ((Act new:) + view: 753 + loop: 2 + posn: 50 94 + setPri: 14 + ignoreActors: + cycleSpeed: 3 + setCycle: Fwd + init: + yourself: + ) + ) + (rosellaBlinks changeState: 0) + (proc0_21) + (= local25 + (Print 222 10 80 {Rosella} 67 1 130 70 200 88) + ) + (Timer setReal: self 9) + ) + (16 + (proc0_21) + (local6 hide:) + (= local25 + (Print 222 11 80 {Genesta} 67 100 130 70 200 88) + ) + (Timer setReal: self 12) + ) + (17 + (proc0_21) + (local6 show:) + (= local25 + (Print 222 12 80 {Rosella} 67 1 130 70 200 88) + ) + (Timer setReal: self 14) + ) + (18 + (proc0_21) + (rosellaBlinks changeState: 4) + (gCast eachElementDo: #dispose) + (setupRoom25 doit:) + (= local19 + ((Act new:) + view: 755 + loop: 4 + posn: 260 125 + cel: 0 + setPri: 15 + illegalBits: 0 + ignoreActors: + cycleSpeed: 5 + init: + yourself: + ) + ) + (= local9 + ((Act new:) + view: 110 + loop: 0 + posn: 260 69 + illegalBits: 0 + setPri: 14 + ignoreActors: + cycleSpeed: 0 + setMotion: Wander + setCycle: Fwd + observeBlocks: fairyBlock + init: + yourself: + ) + ) + (if global223 + (= local10 + ((Act new:) + view: 114 + loop: 0 + posn: 260 84 + setPri: 14 + ignoreActors: + illegalBits: 0 + cycleSpeed: 0 + setMotion: Wander + setCycle: Fwd + observeBlocks: fairyBlock + init: + yourself: + ) + ) + ) + (= local13 + ((Act new:) + view: 757 + setLoop: 0 + posn: 229 125 + cel: 1 + setPri: 14 + init: + yourself: + ) + ) + (Timer setReal: self 2) + ) + (19 + (proc0_21) + (= local25 + (Print 222 13 80 {Genesta} 67 100 151 70 200 88) + ) + (Timer setReal: self 7) + ) + (20 + (local19 setCycle: End) + (Timer setReal: self 7) + ) + (21 + (proc0_21) + (= local25 + (Print 222 14 80 {Genesta} 67 80 151 70 220 88) + ) + (local19 loop: 3 setCycle: Fwd) + (Timer setReal: self 11) + ) + (22 + (proc0_21) + (= local25 + (Print 222 15 80 {Genesta} 67 80 151 70 220 88) + ) + (Timer setReal: self 10) + ) + (23 + (proc0_21) + (local19 loop: 2 setCycle: End self) + ) + (24 + (= newProp + ((Act new:) + view: 770 + loop: 0 + cel: 0 + posn: (+ (local13 x?) 6) (local13 y?) + ignoreActors: + setCycle: End self + cycleSpeed: 2 + setPri: 15 + init: + yourself: + ) + ) + ) + (25 + (newProp setLoop: 1 setCycle: End self) + (local13 loop: 1 forceUpd:) + ) + (26 + (newProp dispose:) + (proc0_21) + (= local25 + (Print 222 16 80 {Rosella} 67 1 151 70 200 88) + ) + (local13 loop: 2 setCycle: End cycleSpeed: 4 cel: 0) + (local19 loop: 3 stopUpd: forceUpd:) + (Timer setReal: self 10) + ) + (27 + (proc0_21) + (= local25 + (Print 222 17 80 {Genesta} 67 80 151 70 220 88) + ) + (Timer setReal: self 9) + ) + (28 + (proc0_21) + (local19 + setMotion: MoveTo -30 (+ (gRoom horizon?) 1) + cycleSpeed: 0 + setCycle: Fwd self + ) + (local9 ignoreBlocks: fairyBlock) + (if global223 + (local10 ignoreBlocks: fairyBlock) + (local10 setMotion: MoveTo -30 (+ (gRoom horizon?) 1)) + ) + (local9 setMotion: MoveTo -30 (+ (gRoom horizon?) 1)) + (proc0_21) + (= local25 (Print 222 18 80 {Genesta} 67 200 151 88)) + (Timer setReal: self 7) + ) + (29 + (local13 setLoop: 1 cel: 0 forceUpd:) + (Timer setReal: self 13) + ) + (30 + (proc0_21) + (= local25 (Print 222 19 67 -1 151 88)) + (Timer setReal: self 4) + ) + (31 + (if + (or + (and + (== openMusicSignal 127) + (== (openMusic prevSignal?) 93) + ) + (== (openMusic signal?) -1) + (and + (== (openMusic prevSignal?) (openMusic signal?)) + (== (openMusic signal?) 127) + ) + ) + (proc0_21) + (= seconds 5) + else + (-- state) + (= cycles 1) + ) + ) + (32 + (openMusic dispose:) + (gGame restart:) + ) + ) + ) +) + +(instance stopRosella of Code + (properties) + + (method (doit) + (local13 stopUpd:) + ) +) + +(instance hideRosella of Code + (properties) + + (method (doit) + (local13 hide:) + ) +) + +(instance gotHere of Code + (properties) + + (method (doit) + (Print 222 20) + ) +) + +(instance blinkEyes of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (= local7 + ((Act new:) + view: 765 + loop: 3 + setCel: 0 + posn: 201 67 + setPri: 14 + cycleSpeed: 2 + ignoreActors: + hide: + init: + yourself: + ) + ) + (self changeState: 1) + ) + (1 + (local7 hide:) + (Timer setReal: self (Random 4 7)) + ) + (2 + (local7 show: setCycle: End self) + ) + (3 (self changeState: 1)) + (4 + (if timer (timer dispose:)) + (local7 show:) + (local7 setLoop: 1 setCycle: End self) + ) + (5 + (local7 setLoop: 3 hide:) + (= local5 + ((Act new:) view: 765 setLoop: 4 init: yourself:) + ) + (local5 + cel: 2 + setCel: + posn: (+ (local7 x?) 9) (+ (local7 y?) 6) + setPri: 15 + ignoreActors: + setStep: 0 1 + setMotion: MoveTo (+ (local7 x?) 9) (+ (local7 y?) 30) self + ) + ) + (6 + (local5 dispose:) + (self changeState: 1) + ) + (7 (local7 dispose:)) + ) + ) +) + +(instance rosellaBlinks of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (= local7 + ((Act new:) + view: 753 + loop: 1 + setCel: 0 + posn: 50 64 + setPri: 14 + cycleSpeed: 5 + ignoreActors: + init: + yourself: + ) + ) + (self changeState: 1) + ) + (1 + (local7 hide:) + (Timer setReal: self (Random 4 7)) + ) + (2 + (local7 show: setCycle: End self) + ) + (3 (self changeState: 1)) + (4 (if timer (timer dispose:))) + ) + ) +) + +(instance setupRoom209 of Code + (properties) + + (method (doit) + (gRoom drawPic: 209) + ((View new:) + view: 771 + cel: 0 + loop: 2 + posn: 165 169 + ignoreActors: + setPri: 1 + addToPic: + ) + (= local8 + ((Act new:) + view: 771 + loop: 3 + posn: 152 104 + setPri: 14 + ignoreActors: + cycleSpeed: 0 + setCycle: Fwd + init: + yourself: + ) + ) + ) +) + +(instance setupRoom25 of Code + (properties) + + (method (doit) + (gRoom drawPic: 25) + (if global223 + (= newProp_2 (Prop new:)) + (= newProp_3 (Prop new:)) + (newProp_2 + view: 666 + loop: 6 + cel: 1 + posn: 254 182 + setPri: 0 + ignoreActors: + setCycle: Fwd + init: + ) + (newProp_3 + view: 666 + loop: 7 + cel: 1 + posn: 226 164 + setPri: 0 + ignoreActors: + setCycle: Fwd + init: + ) + (wave1 + view: 666 + loop: 3 + cel: 3 + posn: 177 74 + setPri: 0 + ignoreActors: + setCycle: Fwd + cycleSpeed: 1 + init: + ) + (wave2 + view: 666 + loop: 4 + cel: 3 + posn: 164 115 + setPri: 0 + ignoreActors: + setCycle: Fwd + cycleSpeed: 1 + init: + ) + (waves add: wave1) + (waves add: wave2) + (wave1 setScript: waveActions) + ) + ) +) + +(instance fairyBlock of Cage + (properties + top 66 + left 152 + bottom 115 + right 319 + ) +) + +(instance waveActions of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (= local30 0) + (while (< local30 (waves size?)) + ((View new:) + view: ((waves at: local30) view?) + loop: ((waves at: local30) loop?) + cel: 0 + setPri: 0 + ignoreActors: + x: ((waves at: local30) x?) + y: ((waves at: local30) y?) + init: + addToPic: + yourself: + ) + (++ local30) + ) + (= local30 0) + (self changeState: 1) + ) + (1 + ((waves at: local30) cel: 0 show: setCycle: End self) + ) + (2 + ((waves at: local30) hide:) + (if (< local30 (- (waves size?) 1)) + (++ local30) + else + (= local30 0) + ) + (waveActions changeState: 1) + ) + (10 + (wave2 dispose:) + (wave1 setScript: 0 dispose:) + ) + ) + ) +) + +(instance highState of Script + (properties) + + (method (cue) + (if (> (openMusic signal?) openMusicSignal) + (= openMusicSignal (openMusic signal?)) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm222.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm222.sco new file mode 100644 index 0000000..3a435bb Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm222.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm23.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm23.sc new file mode 100644 index 0000000..f1b1cbd --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm23.sc @@ -0,0 +1,495 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 23) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Cycle) +(use Game) +(use InvI) +(use Feature) +(use Obj) + +(public + Room23 0 +) + +(local + local0 + local1 + newAct + local3 + local4 + newProp_5 + gEgoViewer + newProp_4 + local8 + newProp + newProp_2 + newProp_3 +) +(instance fallSound of Sound + (properties + number 51 + ) +) + +(instance dizzySound of Sound + (properties + number 80 + ) +) + +(instance Room23 of Rm + (properties + picture 23 + north 17 + east 24 + south 29 + west 22 + ) + + (method (init) + (= north 17) + (= south 29) + (= east 24) + (= west 22) + (= horizon 74) + (= global101 0) + (gEgo edgeHit: 0) + (super init:) + (if global100 (gRoom overlay: 123)) + (self setRegions: 508 501 512) + (Load rsVIEW 17) + (Load rsVIEW 18) + (Load rsSOUND 51) + (Load rsSOUND 80) + (if ((Inv at: 19) ownedBy: 206) + (Load rsVIEW 21) + (Load rsVIEW 348) + ) + (= newProp (Prop new:)) + (= newProp_2 (Prop new:)) + (= newProp_3 (Prop new:)) + (newProp + isExtra: 1 + view: 654 + loop: 2 + cel: 1 + posn: 75 157 + setPri: 0 + setCycle: Fwd + ignoreActors: + init: + ) + (newProp_2 + isExtra: 1 + view: 654 + loop: 3 + cel: 2 + posn: 101 164 + setPri: 0 + setCycle: Fwd + ignoreActors: + init: + ) + (newProp_3 + isExtra: 1 + view: 654 + loop: 4 + cel: 2 + posn: 224 115 + setPri: 0 + setCycle: Fwd + ignoreActors: + init: + ) + (= newProp_4 (Prop new:)) + (newProp_4 + isExtra: 1 + view: 654 + loop: 0 + cel: 0 + posn: 146 153 + setPri: 0 + setCycle: Fwd + ignoreActors: + init: + ) + (switch gPrevRoomNum + (west (gEgo posn: 1 (gEgo y?))) + (east + (gEgo x: 318) + (if (<= (gEgo y?) 109) (gEgo y: 99)) + ) + (north + (gEgo posn: 120 (+ horizon 1)) + ) + (south (gEgo x: 106 y: 188)) + (0 (gEgo x: 180 y: 188)) + ) + (= gEgoViewer (gEgo viewer?)) + (if + (and + (<= (Random 1 100) 50) + ((Inv at: 19) ownedBy: 206) + ) + (= newAct (Act new:)) + (newAct + view: 348 + loop: 2 + cel: 0 + setScript: birdActions + posn: 275 158 + setCycle: Fwd + illegalBits: 0 + ignoreActors: + ignoreHorizon: + init: + ) + (gRoom setScript: wormActions) + ) + (gEgo init:) + ) + + (method (doit) + (super doit:) + (if + (and + (!= (= local0 (gEgo onControl: 0)) local1) + (== (gEgo script?) 0) + ) + (= local1 local0) + (if (& local0 $0010) (gEgo setScript: fallRed)) + (if (& local0 $0004) (gEgo setScript: fallSouth)) + (if (& local0 $1000) (gEgo setScript: shortFall)) + ) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if (== (pEvent type?) evSAID) + (cond + ( + (or + (Said 'look/around') + (Said 'look/room') + (Said 'look[ (gEgo x?) 214) (gEgo x: 214)) + ) + (east + (gEgo view: 8 loop: 1 posn: 207 159) + ) + (0 (gEgo x: 200 y: 188)) + ) + (gEgo init:) + ) + + (method (doit) + (super doit:) + (if + (and + (& (gEgo onControl: 0) $0010) + (== (gEgo view?) 8) + (== (gEgo script?) 0) + ) + (gEgo setScript: swept) + ) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if (== (pEvent type?) evSAID) + (cond + ((Said 'look>') + (cond + ((Said ' (gEgo y?) 171) (self changeState: 10)) + (else (self changeState: 20)) + ) + ) + (5 + (gEgo setMotion: MoveTo 151 141 self) + ) + (6 + (gEgo setMotion: MoveTo 193 166 self) + ) + (7 (self changeState: 20)) + (10 + (gEgo setMotion: MoveTo 217 182 self) + ) + (11 (self changeState: 20)) + (20 + (gEgo setMotion: MoveTo 223 168 self) + ) + (21 + (gEgo hide:) + (= global205 1) + (proc0_9) + (gRoom newRoom: 70) + ) + ) + ) +) + +(instance frogViewer of Script + (properties) + + (method (doit) + (super doit:) + (= local4 (= local3 (gEgo onControl: 1))) + (if (& local3 $0001) + (gEgo view: 371) + else + (gEgo view: 377) + ) + ) +) + +(instance swept of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (proc0_8) + (if (< (gEgo x?) 255) + (gEgo + setLoop: 0 + xStep: 4 + setMotion: MoveTo (- (gEgo x?) 15) (gEgo y?) self + ) + else + (gEgo + setLoop: 3 + illegalBits: 0 + xStep: 4 + yStep: 3 + setMotion: MoveTo (- (gEgo x?) 5) (+ (gEgo y?) 7) self + ) + ) + (= local2 (Timer setReal: self 3)) + ) + (1 + (if (IsObject local2) (local2 dispose: delete:)) + (Print 24 17) + (gEgo + xStep: 3 + yStep: 2 + illegalBits: -32768 + setLoop: -1 + setScript: 0 + ) + (proc0_9) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm24.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm24.sco new file mode 100644 index 0000000..21f29b2 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm24.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm25.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm25.sc new file mode 100644 index 0000000..48004fe --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm25.sc @@ -0,0 +1,299 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 25) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Cycle) +(use Game) +(use Feature) +(use Obj) + +(public + Room25 0 +) +(synonyms + (brook brook brook) +) + +(local + local0 + local1 + gEgoViewer + local3 + newProp + newProp_2 +) +(instance wave1 of Prop + (properties) +) + +(instance wave2 of Prop + (properties) +) + +(instance waves of List + (properties) +) + +(instance Room25 of Rm + (properties + picture 25 + ) + + (method (init) + (= north 19) + (= south 1) + (= east 26) + (= west 31) + (= horizon 84) + (= global101 0) + (= global224 0) + (gEgo edgeHit: 0) + (super init:) + (if global100 (gRoom overlay: 125)) + (self setRegions: 504 501 503 506) + (Load rsVIEW 2) + (Load rsVIEW 5) + (Load rsVIEW 6) + (Load rsVIEW 7) + (Load rsVIEW 8) + (Load rsVIEW 21) + (wave1 + isExtra: 1 + view: 666 + loop: 3 + cel: 3 + posn: 177 74 + setPri: 0 + ignoreActors: + setCycle: Fwd + cycleSpeed: 1 + init: + ) + (wave2 + isExtra: 1 + view: 666 + loop: 4 + cel: 3 + posn: 164 116 + setPri: 0 + ignoreActors: + setCycle: Fwd + cycleSpeed: 1 + init: + ) + (= newProp (Prop new:)) + (= newProp_2 (Prop new:)) + (newProp + isExtra: 1 + view: 666 + loop: 6 + cel: 1 + posn: 254 182 + setPri: 0 + ignoreActors: + setCycle: Fwd + init: + ) + (newProp_2 + isExtra: 1 + view: 666 + loop: 7 + cel: 1 + posn: 226 164 + setPri: 0 + ignoreActors: + setCycle: Fwd + init: + ) + (waves add: wave1 wave2) + (wave1 setScript: waveActions) + (if (or (== gPrevRoomNum 222) (== (gEgo view?) 2)) + (= global105 0) + ) + (switch global105 + (0 + (switch gPrevRoomNum + (1 + (if (== global105 4) + (gEgo posn: 60 188) + else + (gEgo posn: 217 188) + ) + ) + (19 + (if (> (gEgo x?) 265) + (gEgo posn: 239 (+ horizon (gEgo yStep?) 1)) + else + (gEgo x: 185 y: (+ horizon (gEgo yStep?) 1)) + ) + ) + (26 + (if (<= (gEgo y?) horizon) + (gEgo posn: 318 (+ horizon 1)) + else + (gEgo posn: 318 (gEgo y?)) + ) + ) + (31 (gEgo posn: 1 (gEgo y?))) + (else + (gEgo posn: 229 125 setMotion: 0 loop: 1) + ) + ) + ) + (1 + (switch gPrevRoomNum + (1 (gEgo x: 126 y: 188)) + (19 + (gEgo x: 166 y: (+ horizon (gEgo yStep?) 1)) + ) + (26 (gEgo posn: 318 (gEgo y?))) + ) + ) + (2 + (switch gPrevRoomNum + (1 (gEgo x: 126 y: 188)) + (19 + (gEgo x: 157 y: (+ horizon (gEgo yStep?) 1)) + ) + (26 (gEgo posn: 318 (gEgo y?))) + ) + ) + (3 + (switch gPrevRoomNum + (1 (gEgo x: 126 y: 188)) + (19 + (gEgo x: 146 y: (+ horizon (gEgo yStep?) 1)) + ) + (26 (gEgo posn: 318 (gEgo y?))) + ) + ) + (4 + (switch gPrevRoomNum + (1 (gEgo x: 48 y: 188)) + (19 + (gEgo posn: 88 (+ horizon (gEgo yStep?) 1)) + ) + (31 + (if (< (gEgo y?) horizon) + (gEgo y: (+ horizon (gEgo yStep?) 1)) + ) + ) + ) + ) + ) + (gEgo xStep: 3 yStep: 2 init:) + (proc0_9) + (= gEgoViewer (gEgo viewer?)) + ) + + (method (dispose) + (waves dispose:) + (super dispose:) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if (== (pEvent type?) evSAID) + (cond + ((Said 'look>') + (cond + ((Said '/brook') (Print 25 0)) + ((Said '/grass') (Print 25 1)) + ((Said '[ (gEgo x?) 251) (gEgo posn: 251 188)) + ((< (gEgo x?) 80) (gEgo posn: 82 188)) + (else (gEgo posn: (gEgo x?) 188)) + ) + ) + (21 + (cond + ((!= (gEgo view?) 2) (gEgo posn: 215 (+ horizon 2))) + ((< (gEgo y?) 155) (gEgo posn: 155 (+ horizon 2))) + (else (gEgo posn: 255 76)) + ) + (Animate (gCast elements?) 0) + ) + (25 (gEgo posn: 1 (gEgo y?))) + (20 + (if (> (gEgo x?) 185) + (gEgo posn: 185 (+ horizon (gEgo yStep?))) + else + (gEgo posn: (gEgo x?) (+ horizon (gEgo yStep?))) + ) + ) + (27 (gEgo posn: 318 (gEgo y?))) + ) + (gEgo init:) + (if (== gPrevRoomNum 0) (gEgo posn: 150 149)) + (= newProp (Prop new:)) + (newProp + isExtra: 1 + view: 658 + loop: 6 + cel: 1 + posn: 171 85 + setPri: 0 + cycleSpeed: 1 + setCycle: Fwd + ignoreActors: + init: + ) + (= newProp_2 (Prop new:)) + (newProp_2 + isExtra: 1 + view: 658 + loop: 2 + cel: 1 + posn: 184 118 + setPri: 0 + cycleSpeed: 1 + setCycle: Fwd + ignoreActors: + init: + ) + (= newProp_3 (Prop new:)) + (= newProp_4 (Prop new:)) + (newProp_3 + isExtra: 1 + view: 658 + loop: 5 + cel: 1 + posn: 117 169 + setPri: 0 + cycleSpeed: 1 + setCycle: Fwd + ignoreActors: + init: + ) + (newProp_4 + isExtra: 1 + view: 658 + loop: 7 + cel: 0 + posn: 68 181 + setPri: 0 + cycleSpeed: 1 + setCycle: Fwd + ignoreActors: + init: + ) + (= newProp_5 (Prop new:)) + (= newProp_6 (Prop new:)) + (newProp_5 + isExtra: 1 + view: 658 + loop: 4 + cel: 1 + posn: 159 159 + setPri: 0 + cycleSpeed: 1 + setCycle: Fwd + ignoreActors: + init: + ) + (newProp_6 + isExtra: 1 + view: 658 + loop: 3 + cel: 1 + posn: 125 137 + setPri: 0 + cycleSpeed: 1 + setCycle: Fwd + ignoreActors: + init: + ) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if + (and + (== (pEvent type?) evSAID) + (or + (Said 'look/around') + (Said 'look/room') + (Said 'look[ (gEgo x?) 202)) + (super newRoom: 21) + else + (super newRoom: newRoomNumber) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm26.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm26.sco new file mode 100644 index 0000000..f308277 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm26.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm27.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm27.sc new file mode 100644 index 0000000..5c97671 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm27.sc @@ -0,0 +1,63 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 27) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Game) + +(public + Room27 0 +) + +(instance Room27 of Rm + (properties + picture 27 + ) + + (method (init) + (= north 21) + (= south 3) + (= east 28) + (= west 26) + (= horizon 75) + (= global101 0) + (super init:) + (gEgo view: 2 xStep: 3 yStep: 2 init:) + (if global100 (gRoom overlay: 127)) + (self setRegions: 507 518) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if + (and + (== (pEvent type?) evSAID) + (or + (Said 'look/around') + (Said 'look/room') + (Said 'look[') + (cond + ((Said '/door') (Print 28 0)) + ((Said '') + (cond + ((Said 'close,close') (Print 28 4)) + ((Said 'open,bang') (Print 28 5)) + ) + ) + else + (if (Said '/door,padlock,latch>') + (cond + ((Said 'break/door') (Print 28 6)) + ((Said 'bang/door') + (if (gEgo inRect: 276 131 298 143) + (Print 28 7) + else + (Print 800 1) + ) + ) + ((Said 'open/door') (Print 28 8)) + ((Said 'unlatch,detach,get') (Print 28 9)) + ) + ) + (if (Said 'look>') + (cond + ((Said '/door') (Print 28 10)) + ((Said '/mine,hill') (Print 28 11)) + ((Said '[ (+ (gEgo y?) local2) 188) + (= local1 188) + else + (= local1 (+ (gEgo y?) local2)) + ) + (gEgo + view: 17 + setStep: 6 6 + illegalBits: 0 + loop: (& (gEgo loop?) $0001) + setCel: 0 + setCycle: End + setMotion: MoveTo (gEgo x?) local1 self + ) + ) + (1 + (gEgo + xStep: 3 + yStep: 2 + view: 21 + loop: 2 + setCycle: CT 4 1 self + ) + ) + (2 + (gEgo view: 21 loop: 2 setCycle: Beg self) + ) + (3 + (gRoom setScript: 0) + (gEgo illegalBits: -32768 setCycle: Walk view: 2) + (if global100 (gEgo observeControl: 16384)) + (gRoom east: 29) + (proc0_9) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm28.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm28.sco new file mode 100644 index 0000000..69c0008 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm28.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm29.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm29.sc new file mode 100644 index 0000000..466dcfe --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm29.sc @@ -0,0 +1,357 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 29) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Cycle) +(use Game) +(use InvI) +(use Feature) +(use Obj) + +(public + Room29 0 +) + +(local + local0 + local1 + local2 + newAct + local4 + local5 + newProp + local7 +) +(instance fallSound of Sound + (properties + number 51 + ) +) + +(instance Room29 of Rm + (properties + picture 29 + ) + + (method (init) + (= north 23) + (= south 5) + (= east 30) + (= west 28) + (= horizon 100) + (= global101 0) + (gEgo edgeHit: 0) + (super init:) + (if global100 (gRoom overlay: 129)) + (self setRegions: 508) + (if ((Inv at: 19) ownedBy: 206) + (Load rsVIEW 21) + (Load rsVIEW 348) + ) + (Load rsVIEW 17) + (Load rsSOUND 51) + (switch gPrevRoomNum + (28 + (if (<= (gEgo y?) 156) + (gEgo x: 1 y: 150) + else + (gEgo x: 1 y: 186) + ) + ) + (30 + (if (<= (gEgo y?) horizon) + (gEgo x: 318 y: (+ horizon 1)) + else + (gEgo x: 318) + ) + ) + (23 + (gEgo x: 264 y: (+ horizon 2)) + ) + (5 (gEgo y: 188)) + (0 (gEgo x: 290 y: 160)) + ) + (if + (and + (<= (Random 1 100) 50) + ((Inv at: 19) ownedBy: 206) + ) + (= newAct (Act new:)) + (newAct + view: 348 + loop: 2 + cel: 0 + posn: 257 165 + setScript: birdActions + setCycle: Fwd + illegalBits: 0 + ignoreActors: + ignoreHorizon: + init: + ) + ) + (gEgo init: view: 2) + (gRoom setScript: wormActions) + ) + + (method (doit) + (super doit:) + (if + (and + (!= (= local0 (gEgo onControl: 0)) local7) + (== (gEgo script?) 0) + (== gNewRoomNumber_2 gCurRoomNum) + ) + (= local7 local0) + (if (& local0 $0004) + (gRoom west: 0) + (gEgo setScript: fallSouth) + ) + ) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if (== (pEvent type?) evSAID) + (cond + ( + (or + (Said 'look/around') + (Said 'look/room') + (Said 'look[ (gEgo x?) 100) (= local1 12)) + ((>= (gEgo x?) 65) (= local1 20)) + (else (= local1 30)) + ) + (if (> (+ (gEgo y?) local1) 188) + (= local2 188) + else + (= local2 (+ (gEgo y?) local1)) + ) + (gEgo + yStep: 6 + yStep: 6 + illegalBits: 0 + loop: (& (gEgo loop?) $0001) + setCel: 0 + view: 17 + setCycle: End + setMotion: MoveTo (gEgo x?) local2 self + ) + ) + (1 + (gEgo + xStep: 3 + yStep: 2 + view: 21 + loop: 2 + setCycle: CT 4 1 self + ) + ) + (2 + (gEgo view: 21 loop: 2 setCycle: Beg self) + ) + (3 + (proc0_9) + (gRoom west: 28) + (gEgo illegalBits: -32768 setCycle: Walk view: 2) + (gEgo setScript: 0) + ) + ) + ) +) + +(instance birdActions of Script + (properties) + + (method (doit) + (super doit:) + (if + (and + (gCast contains: newAct) + (< (newAct distanceTo: gEgo) 30) + (== (newAct loop?) 2) + ) + (if (gTimers contains: local4) (local4 dispose:)) + (self changeState: 1) + ) + ) + + (method (changeState newState) + (switch (= state newState) + (0 + (= local4 (Timer setReal: self 15)) + ) + (1 + (newAct cel: 255 loop: 3 setCycle: End self) + ) + (2 + (= newProp (Prop new:)) + (newProp + view: 348 + setLoop: 0 + setCycle: Fwd + ignoreActors: + posn: (- (newAct x?) 8) (newAct y?) + init: + ) + (wormActions changeState: 1) + (newAct + setPri: 12 + setLoop: 1 + xStep: 7 + yStep: 4 + setMotion: MoveTo 182 51 self + ) + ) + (3 + (newAct setMotion: MoveTo 20 -6 self) + ) + (4 + (newAct dispose:) + (= newAct 0) + ) + ) + ) +) + +(instance wormActions of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (1 + (= local5 (Timer setReal: self 10)) + ((Inv at: 19) moveTo: 29) + ) + (2 + (newProp dispose:) + ((Inv at: 19) moveTo: 206) + ) + (10 + (local5 dispose:) + (proc0_8) + (gEgo view: 21 setMotion: 0 setCycle: End self) + ) + (11 + (newProp dispose:) + (= newProp 0) + (gEgo setCycle: Beg self) + (gEgo get: 19) + (gGame changeScore: 2) + (= global182 1) + ) + (12 + (gEgo view: 2 setCycle: Walk) + (proc0_9) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm29.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm29.sco new file mode 100644 index 0000000..acae1a4 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm29.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm3.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm3.sc new file mode 100644 index 0000000..f37868c --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm3.sc @@ -0,0 +1,649 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 3) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Cycle) +(use Game) +(use InvI) +(use Feature) +(use Obj) + +(public + Room3 0 +) +(synonyms + (cupid cupid cupid cupid man cupid cupid animal cupid boy baby) + (kiss kiss embrace) +) + +(local + local0 + local1 + local2 + local3 + local4 + local5 + local6 + newView + newProp + newAct +) +(instance fallSound of Sound + (properties) +) + +(instance cupidCage of Cage + (properties) +) + +(instance theme of Sound + (properties + number 9 + ) +) + +(instance Room3 of Rm + (properties + picture 3 + ) + + (method (init) + (= north 27) + (= south 9) + (= east 4) + (= west 2) + (= horizon 75) + (= global101 0) + (self setRegions: 507) + (super init:) + (gEgo view: 2 init:) + (gEgo edgeHit: 0 setScript: fall) + (if global100 (gRoom overlay: 103)) + (gRoom setScript: egoActions) + (Load rsVIEW 7) + (Load rsVIEW 5) + (Load rsVIEW 6) + (Load rsVIEW 19) + (Load rsVIEW 17) + (Load rsVIEW 21) + (Load rsSOUND 51) + (Load rsSOUND 9) + (cupidCage + top: 118 + left: 118 + bottom: 135 + right: 235 + init: + ) + (= newProp (Prop new:)) + (newProp + isExtra: 1 + view: 650 + loop: 0 + cel: 1 + posn: 209 132 + setCycle: Fwd + cycleSpeed: 0 + ignoreActors: + init: + ) + (if + (and + (<= (Random 1 100) 33) + ((Inv at: 14) ownedBy: 202) + ) + (= newAct (Act new:)) + (newAct + view: 160 + posn: 5 71 + illegalBits: 0 + setPri: 7 + ignoreHorizon: + setCycle: Fwd + xStep: 4 + yStep: 2 + init: + ) + (newAct setScript: doCupid) + ) + (if ((Inv at: 14) ownedBy: 3) + ((Inv at: 14) moveTo: 202) + ) + (switch gPrevRoomNum + (2 + (if (<= (gEgo y?) horizon) + (gEgo x: 1 y: (+ horizon (gEgo yStep?) 1)) + else + (gEgo x: 1) + ) + ) + (4 + (if (< (gEgo y?) horizon) + (gEgo posn: 318 (+ horizon (gEgo yStep?) 1)) + else + (gEgo posn: 318 (gEgo y?)) + ) + ) + (9 (gEgo y: 187)) + (27 + (gEgo posn: (gEgo x?) (+ horizon 2)) + ) + (0 (gEgo x: 98 y: 176)) + ) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if (== (pEvent type?) evSAID) + (cond + ((Said 'look (gEgo x?) 210) (< (gEgo y?) 140)) + (self changeState: 30) + else + (self changeState: 20) + ) + ) + ) + + (method (changeState newState) + (switch (= state newState) + (0 + (= local1 0) + (theme play:) + (newAct ignoreActors: setMotion: MoveTo 164 70 self) + ) + (1 + (if (gEgo inRect: 171 101 317 183) + (self changeState: 10) + else + (newAct setPri: -1 setMotion: MoveTo 250 119 self) + ) + ) + (2 + (= local1 3) + (newAct + view: 162 + ignoreActors: 0 + setLoop: 0 + cel: 255 + setCycle: End self + ) + ) + (3 + (newAct setLoop: 2 cel: 255 setCycle: End self) + ) + (4 + (newAct + ignoreActors: 1 + view: 165 + xStep: 6 + setLoop: 1 + setCycle: End + ) + (= newView (View new:)) + ((Inv at: 14) moveTo: 3) + (newView + ignoreActors: + view: 509 + x: (+ (newAct x?) 10) + y: (newAct y?) + stopUpd: + init: + ) + (newAct setMotion: MoveTo 206 126 self) + ) + (5 + (= local1 4) + (newAct + view: 167 + setLoop: -1 + observeControl: 1 + xStep: 1 + yStep: 1 + loop: 1 + cycleSpeed: 1 + setCycle: Fwd + setMotion: Wander 6 + moveSpeed: 1 + ) + (newAct observeBlocks: cupidCage) + (= local6 (Timer setReal: self 15)) + ) + (6 + (= local1 5) + (self changeState: 40) + ) + (10 + (newAct setMotion: MoveTo 61 83 self) + (if (gTimers contains: local6) + (local6 dispose: delete:) + ) + ) + (11 + (newAct setMotion: MoveTo 4 72 self) + ) + (12 (newAct dispose:)) + (20 + (Print 3 35) + (if (gTimers contains: local6) + (local6 dispose: delete:) + ) + (newAct ignoreBlocks: cupidCage) + (newAct + ignoreControl: 1 + setLoop: 0 + xStep: 3 + yStep: 2 + moveSpeed: 0 + setMotion: MoveTo 230 129 self + ) + (= local1 2) + ) + (21 + (newAct view: 166 setCel: 0) + (newAct setMotion: MoveTo 240 129) + (newAct cycleSpeed: 0 setCycle: End self) + ) + (22 + (newAct view: 164 cel: 255 setLoop: 1 setCycle: End self) + ) + (23 + (newAct + view: 161 + xStep: 4 + yStep: 3 + setPri: 7 + setLoop: 1 + setCycle: Fwd + setMotion: MoveTo 168 70 self + ) + ) + (24 + (newAct setMotion: MoveTo 41 70 self) + ) + (25 (newAct dispose:)) + (30 + (Print 3 35) + (if (gTimers contains: local6) + (local6 dispose: delete:) + ) + (newAct + ignoreBlocks: cupidCage + ignoreControl: 1 + xStep: 6 + yStep: 2 + setLoop: 1 + moveSpeed: 0 + setMotion: MoveTo 100 129 self + ) + (= local1 2) + ) + (31 + (newAct xStep: 3 setMotion: MoveTo 85 129) + (newAct view: 166 setLoop: 1 cel: 255 setCycle: End self) + ) + (32 + (newAct posn: 80 124 loop: 3 setCycle: End self) + ) + (33 + (newAct view: 164 cel: 255 setLoop: 1 setCycle: End self) + ) + (34 + (= local1 1) + (newAct + view: 161 + xStep: 4 + yStep: 3 + setPri: 7 + setLoop: 1 + setCycle: Fwd + setMotion: MoveTo 41 70 self + ) + ) + (35 (self changeState: 11)) + (40 + (newAct ignoreBlocks: cupidCage) + (newAct + ignoreControl: 1 + setLoop: 0 + xStep: 3 + yStep: 2 + moveSpeed: 0 + setMotion: MoveTo 230 129 self + ) + ((Inv at: 14) moveTo: 202) + ) + (41 + (newAct view: 166 setCel: 0) + (newAct setMotion: MoveTo 240 129) + (newAct cycleSpeed: 0 setCycle: End self) + ) + (42 + (newAct + ignoreActors: + posn: (- (newView x?) 10) (- (newView y?) 4) + ) + (newAct view: 163 loop: 0 cel: 255 setCycle: CT 5 1 self) + ) + (43 + (newView dispose:) + (newAct cel: 6 setCycle: End self) + ) + (44 + (= local1 0) + (newAct view: 160 setLoop: 1 setCel: 0 setCycle: Fwd) + (newAct setPri: 7 setMotion: MoveTo 171 80 self) + ) + (45 (self changeState: 10)) + ) + ) + + (method (handleEvent pEvent &tmp gInvSaidMe) + (if (pEvent claimed?) (return 1)) + (return + (if (== (pEvent type?) evSAID) + (cond + ((Said 'look/cupid') + (cond + ((== local1 0) (Print 3 22)) + ((== local1 4) (Print 3 23)) + ((== local1 1) (Print 3 24)) + ((== local1 2) (Print 3 25)) + ((== local1 3) (Print 3 26)) + ((== local1 5) (Print 3 27)) + ) + ) + ((Said 'play/cupid') (Print 3 28)) + ((Said 'get/cupid') (Print 3 29)) + ((Said 'kiss') (Print 3 30)) + ((Said 'converse') + (cond + ((not (gCast contains: newAct)) (pEvent claimed: 0)) + ((== local1 0) (Print 3 31)) + ((== local1 2) (Print 3 32)) + ((== local1 4) + (if (< (gEgo distanceTo: newAct) 40) + (Print 3 33) + (if (and (> (gEgo x?) 210) (< (gEgo y?) 140)) + (self changeState: 30) + else + (self changeState: 20) + ) + else + (Print 3 31) + ) + ) + (else (Print 3 31)) + ) + ) + ( + (and (Said 'deliver>') (= gInvSaidMe (gInv saidMe:))) + (if (gEgo has: (gInv indexOf: gInvSaidMe)) + (Print 3 34) + else + (proc0_17) + ) + ) + ) + else + 0 + ) + ) + ) +) + +(instance egoActions of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (1 + (proc0_8) + (proc0_3 gEgo newView) + (gEgo view: 21 setMotion: 0 cel: 255 setCycle: End self) + ) + (2 + (= global182 1) + (newView dispose:) + (gEgo setCycle: Beg self) + ) + (3 + (gEgo view: 2 setCycle: Walk) + (proc0_9) + ) + (10 + (proc0_8) + (gEgo view: 21 cel: 255 setCycle: End self) + ) + (11 + (= seconds 5) + (= global120 (Print 3 36 67 -1 10 88)) + ) + (12 (gEgo setCycle: Beg self)) + (13 + (proc0_21) + (proc0_9) + (gEgo view: 2 setCycle: Walk) + (= local4 0) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm3.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm3.sco new file mode 100644 index 0000000..16087a3 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm3.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm30.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm30.sc new file mode 100644 index 0000000..ec02db8 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm30.sc @@ -0,0 +1,368 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 30) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Cycle) +(use Game) +(use Feature) +(use Obj) + +(public + Room30 0 +) + +(local + gEgoOnControl + theGEgoOnControl + newAct + newAct_2 + local4 + local5 +) +(instance hTheme of Sound + (properties + number 29 + ) +) + +(instance fallSound of Sound + (properties + number 51 + ) +) + +(instance cuckooSound of Sound + (properties + number 80 + ) +) + +(instance Room30 of Rm + (properties + picture 30 + ) + + (method (init) + (= north 24) + (= east 79) + (= west 29) + (= horizon 85) + (= global101 0) + (gEgo edgeHit: 0) + (super init:) + (if global100 (gRoom overlay: 130)) + (self setRegions: 508 511) + (Load rsVIEW 17) + (Load rsVIEW 18) + (Load rsVIEW 21) + (Load rsVIEW 33) + (Load rsSOUND 80) + (switch gPrevRoomNum + (west (gEgo x: 2)) + (24 + (gEgo posn: 112 (+ horizon 2)) + ) + (0 (gEgo x: 183 y: 123)) + (92 + (gEgo view: 80 setCycle: Fwd setScript: henchFlyIn) + (= horizon -1000) + (henchFlyIn changeState: 1) + ) + (79 + (if (== (gEgo view?) 80) + (= horizon -1000) + (gEgo ignoreHorizon: setScript: henchFlyIn) + (henchFlyIn changeState: 1) + else + (gEgo x: 318 y: 100) + ) + ) + (else (gEgo x: 183 y: 123)) + ) + (if (== (gEgo script?) 0) + (gEgo view: 2 xStep: 3 yStep: 2 init:) + ) + ) + + (method (doit) + (super doit:) + (if + (and + (!= + (= gEgoOnControl (gEgo onControl:)) + theGEgoOnControl + ) + (== (gRoom script?) 0) + ) + (= theGEgoOnControl gEgoOnControl) + (cond + ((& gEgoOnControl $0010) (self setScript: shortFall)) + ((& gEgoOnControl $0004) (self setScript: deadFall)) + ((& gEgoOnControl $0020) (self setScript: deadMagenta)) + ) + ) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if (== (pEvent type?) evSAID) + (cond + ((Said 'climb/boulder') (Print 30 0)) + ((Said 'look>') + (cond + ((Said '/path') (Print 30 1)) + ((Said '/boulder') (Print 30 2)) + ((Said '/goon,man,person') + (if (gCast contains: newAct) + (Print 30 3) + else + (Print 30 4) + ) + ) + ((Said '[ (gEgo x?) 195) (= local5 165)) + (else (= local5 154)) + ) + (gEgo + yStep: 6 + yStep: 6 + illegalBits: 0 + loop: (& (gEgo loop?) $0001) + setCel: 0 + view: 17 + setCycle: Fwd + setMotion: MoveTo (gEgo x?) local5 self + ) + ) + (1 + (gEgo xStep: 3 yStep: 2 view: 18 loop: 0 setCycle: Fwd) + (Timer setReal: self 5) + (cuckooSound play:) + ) + (2 + (gEgo view: 21 loop: 2 cel: 4 setCycle: Beg self) + ) + (3 + (gEgo setCycle: Walk view: 2 illegalBits: -32768) + (proc0_9) + (gRoom setScript: 0) + ) + ) + ) +) + +(instance deadFall of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (fallSound play:) + (proc0_8) + (gEgo + yStep: 10 + illegalBits: 0 + loop: (& (gEgo loop?) $0001) + setCel: 0 + view: 17 + setCycle: Fwd + setMotion: MoveTo (gEgo x?) 175 self + ) + ) + (1 + (gEgo view: 33 loop: 0) + (Animate (gCast elements?) 0) + (ShakeScreen 10 1) + (Timer setReal: self 3) + ) + (2 + (Print 30 6) + (Timer setReal: self 5) + ) + (3 (proc0_9) (= global127 1)) + ) + ) +) + +(instance deadMagenta of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (fallSound play:) + (proc0_8) + (gEgo + yStep: 10 + illegalBits: 0 + loop: (& (gEgo loop?) $0001) + setCel: 0 + view: 17 + setCycle: Fwd + setMotion: MoveTo (gEgo x?) 175 self + ) + ) + (1 + (gEgo view: 33 loop: 0) + (Timer setReal: self 3) + (Animate (gCast elements?) 0) + (ShakeScreen 10 1) + ) + (2 + (Print 30 6) + (Timer setReal: self 5) + ) + (3 (= global127 1) (proc0_9)) + ) + ) +) + +(instance henchFlyIn of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (1 + (Load rsVIEW 144) + (Load rsVIEW 60) + (Load rsVIEW 143) + (proc0_8) + (hTheme play:) + (gEgo + view: 80 + setLoop: 4 + ignoreHorizon: + yStep: 2 + illegalBits: 0 + setPri: 12 + setCycle: Fwd + posn: 168 -30 + init: + setMotion: MoveTo 160 121 self + ) + ) + (2 + (gEgo + view: 60 + setLoop: 3 + cel: 255 + cycleSpeed: 1 + setCycle: End self + ) + (= newAct (Act new:)) + (= newAct_2 (Act new:)) + (newAct + view: 144 + posn: (- (gEgo x?) 15) (gEgo y?) + xStep: 6 + yStep: 3 + cycleSpeed: 0 + setCycle: Fwd + setScript: h1Actions + ) + (newAct_2 + view: 144 + posn: (+ (gEgo x?) 15) (gEgo y?) + xStep: 6 + yStep: 3 + cycleSpeed: 0 + setCycle: Fwd + setScript: h2Actions + ) + ) + (3 + (gEgo + view: 2 + ignoreActors: 0 + setLoop: -1 + loop: 1 + illegalBits: -32768 + setPri: -1 + cycleSpeed: 0 + setCycle: Walk + ) + (gEgo xStep: 3 yStep: 2) + (proc0_9) + ) + ) + ) +) + +(instance h1Actions of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (newAct + init: + ignoreHorizon: + illegalBits: 0 + setPri: 12 + setCycle: Walk + setMotion: MoveTo 145 40 self + ) + ) + (1 + (newAct view: 143 setMotion: MoveTo 145 -30 self) + (= local4 1) + ) + (2 + (gRoom horizon: 85) + (newAct dispose:) + ) + ) + ) +) + +(instance h2Actions of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (newAct_2 + init: + ignoreHorizon: + illegalBits: 0 + setPri: 12 + setCycle: Walk + setMotion: MoveTo 175 40 self + ) + ) + (1 + (newAct_2 view: 143 setMotion: MoveTo 175 -30 self) + ) + (2 (newAct_2 dispose:)) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm30.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm30.sco new file mode 100644 index 0000000..72f8983 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm30.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm31.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm31.sc new file mode 100644 index 0000000..b2db2f6 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm31.sc @@ -0,0 +1,671 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 31) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Cycle) +(use Game) +(use User) +(use Feature) +(use Obj) + +(public + Room31 0 +) + +(local + newProp + local1 + local2 + local3 + newView + newAct + newAct_2 + local7 + newProp_2 + newAct_3 + local10 + local11 + local12 + local13 +) +(instance whaleMusic of Sound + (properties + number 36 + ) +) + +(instance sharkMusic of Sound + (properties + number 78 + loop -1 + ) +) + +(instance Room31 of Rm + (properties + style $0009 + ) + + (method (init) + (= horizon 75) + (= global101 0) + (= local12 4) + (if global223 + (= newProp (Prop new:)) + (newProp + view: 650 + loop: 1 + cel: 1 + posn: 155 57 + setPri: 0 + ignoreActors: + setCycle: Fwd + init: + hide: + ) + ) + (self setRegions: 519 504) + (Load rsVIEW 8) + (Load rsVIEW 10) + (Load rsVIEW 300) + (Load rsVIEW 84) + (Load rsVIEW 887) + (Load rsSOUND 78) + (if (<= (gEgo y?) (+ gHorizon 2)) + (gEgo y: (- horizon 1)) + ) + (= gHorizon horizon) + (switch gPrevRoomNum + (43 + (if (== (gEgo view?) 312) + (if global100 + (gRoom drawPic: 131) + else + (gRoom drawPic: 31) + ) + (= local2 4) + (= local1 2) + (User canControl: 0) + (= global205 1) + (gEgo posn: 5 100 setMotion: MoveTo 400 113) + else + (= local2 100) + (= local1 100) + ) + ) + (44 + (= local2 99) + (= local1 100) + ((= newView (View new:)) + view: 526 + loop: 0 + cel: 0 + posn: 134 54 + init: + ) + (if (IsObject newProp) (newProp hide:)) + (if global100 + (gRoom drawPic: 131) + else + (gRoom drawPic: 31) + ) + (gEgo setScript: whaleActions) + (whaleActions changeState: 10) + ) + (1 (= local2 4) (= local1 0)) + (95 (= local2 3) (= local1 1)) + (13 (= local2 2) (= local1 0)) + (19 (= local2 1) (= local1 0)) + (25 (= local2 0) (= local1 0)) + (32 + (cond + ((<= (gEgo x?) 0) (= local2 1) (= local1 5)) + ((>= (gEgo y?) 189) (= local2 1) (= local1 3)) + ((>= (gEgo x?) 319) (= local2 1) (= local1 3)) + (else (= local2 1) (= local1 3)) + ) + ) + (39 (= local2 2) (= local1 5)) + (41 (= local1 3) (= local2 2)) + (36 (= local2 3) (= local1 5)) + (38 (= local2 3) (= local1 3)) + (33 (= local2 4) (= local1 5)) + (34 (= local2 4) (= local1 4)) + (35 (= local2 4) (= local1 3)) + ) + (= local3 0) + (= local11 0) + (if (!= (gEgo view?) 312) + (if (!= (gEgo view?) 84) + (gEgo setCycle: Fwd) + (gEgo view: 8 init: hide: xStep: 2 yStep: 1) + ) + else + (gEgo setCycle: Fwd) + (gEgo init: xStep: 4 yStep: 2) + ) + (if + (and + (== global109 1) + (< (Random 1 100) 40) + (!= global105 14) + (== global183 0) + (< local1 30) + (!= (gEgo script?) sharkActions) + ) + (gEgo setScript: whaleActions) + ) + (gEgo edgeHit: 0) + (super init:) + (self doit:) + (= local13 local2) + ) + + (method (doit) + (super doit:) + (if + (and + (not global100) + (== (gRoom script?) 0) + (== (Random 1 100) 9) + ) + (gRoom setScript: fish3Actions) + ) + (if + (and + (== (gRoom script?) 0) + (not global100) + (== (Random 1 100) 10) + ) + (gRoom setScript: fishActions) + ) + (if (gEgo edgeHit?) + (++ local3) + (= global136 local1) + (= global137 local2) + (if (!= (gEgo view?) 312) + (if (and (== local3 1) global100) + (= local1 1000) + (= local2 1000) + ) + (if (== local3 4) (Print 31 17)) + (if + (and + (== local3 local12) + (!= (gEgo script?) sharkActions) + ) + (gEgo setScript: drown) + (drown changeState: 1) + 1 + ) + ) + (cond + ((== (gEgo edgeHit?) 1) + (if (and (< (++ local2) 10) (> local2 4)) + (= local2 0) + ) + (gEgo posn: (gEgo x?) 188) + ) + ((== (gEgo edgeHit?) 3) + (if (< (-- local2) 0) (= local2 4)) + (gEgo posn: (gEgo x?) (+ horizon (gEgo yStep?) 2)) + ) + ((== (gEgo edgeHit?) 2) (-- local1) (gEgo posn: 1 (gEgo y?))) + ((== (gEgo edgeHit?) 4) (++ local1) (gEgo posn: 318 (gEgo y?))) + ) + (cond + ((and (== local1 100) (== local2 100)) (gRoom newRoom: 43)) + ((and (== local1 1) (== local2 3)) (gRoom newRoom: 95)) + ((== local1 0) + (switch local2 + (4 (gRoom newRoom: 1)) + (2 (gRoom newRoom: 13)) + (1 (gRoom newRoom: 19)) + (0 (gRoom newRoom: 25)) + ) + ) + ( + (and + (== local2 1) + (or (== local1 3) (== local1 4) (== local1 5)) + ) + (gRoom newRoom: 32) + ) + ((and (== local2 2) (== local1 3)) (gRoom newRoom: 41)) + ((and (== local2 2) (== local1 5)) (gRoom newRoom: 39)) + ((and (== local2 3) (== local1 3)) + (if (== local13 4) + (gEgo y: 100) + (gRoom newRoom: 41) + else + (gEgo y: 170) + (gRoom newRoom: 35) + ) + ) + ((and (== local2 3) (== local1 5)) + (if (<= (gEgo y?) 120) + (gRoom newRoom: 33) + else + (gRoom newRoom: 39) + ) + ) + ((and (== local2 4) (== local1 3)) (if (!= (gEgo view?) 312) (gRoom newRoom: 35))) + ((and (== local2 4) (== local1 4)) (if (!= (gEgo view?) 312) (gRoom newRoom: 34))) + ( + (and + (== local2 4) + (== local1 5) + (!= (gEgo view?) 312) + ) + (gRoom newRoom: 33) + ) + ) + (cond + ((== (gEgo script?) sharkActions) + (if (gCast contains: newAct_3) + (cond + ((< (gEgo x?) 10) (newAct_3 posn: (- (gEgo x?) 30) (gEgo y?))) + ((> (gEgo x?) 300) (newAct_3 posn: (+ (gEgo x?) 30) (gEgo y?))) + ((< (gEgo y?) (+ horizon 10)) (newAct_3 posn: (+ (gEgo x?) 20) (gEgo y?))) + ((> (gEgo y?) 174) (newAct_3 posn: (gEgo x?) (+ (gEgo y?) 30))) + (else (newAct_3 posn: (- (gEgo x?) 20) (- (gEgo y?) 20))) + ) + ) + ) + ( + (and + (or + (and (== local2 0) (> local1 2) (<= local1 5)) + (and + (== local2 0) + (<= local1 2) + (> (Random 1 100) 50) + ) + (and (!= global100 0) (<= (Random 100) 40)) + (<= (Random 1 100) 20) + ) + (!= (gEgo view?) 312) + (!= (gEgo script?) sharkActions) + (!= (gEgo script?) whaleActions) + ) + (gEgo setScript: sharkActions) + ) + ) + (if (== gNewRoomNumber_2 31) + (if (gCast contains: newAct) + (newAct dispose:) + (gRoom setScript: 0) + ) + (if (gCast contains: newAct_2) + (newAct_2 dispose:) + (gRoom setScript: 0) + ) + (if + (and + (not (if (== local2 99) (== local1 100))) + (gCast contains: newView) + ) + (newView dispose:) + (if (IsObject newProp) (newProp show:)) + ) + (if global100 + (gAddToPics dispose:) + (gRoom drawPic: 131 9) + (if (gCast contains: newProp_2) + (gEgo setScript: 0) + (newProp_2 dispose:) + (whaleMusic dispose:) + ) + else + (gAddToPics dispose:) + (gRoom drawPic: 31 9) + (if (gCast contains: newProp_2) + (gEgo setScript: 0) + (newProp_2 dispose:) + (whaleMusic dispose:) + ) + ) + (cond + ((and (== local1 100) (== local2 99)) + (if (not (gCast contains: newView)) + ((= newView (View new:)) + view: 526 + loop: 0 + cel: 0 + posn: 134 54 + init: + ) + (if (IsObject newProp) (newProp hide:)) + ) + ) + ((IsObject newProp) (newProp show:)) + ) + (if (not global100) + ((View new:) + view: 671 + cel: (Random 0 9) + x: (Random 10 319) + y: (Random 20 30) + setPri: 0 + ignoreActors: + init: + addToPic: + ) + ((View new:) + view: 671 + cel: (Random 0 9) + x: (Random 10 319) + y: (Random 20 30) + setPri: 0 + ignoreActors: + init: + addToPic: + ) + ((View new:) + view: 671 + cel: (Random 0 9) + x: (Random 10 319) + y: (Random 20 30) + setPri: 0 + ignoreActors: + init: + addToPic: + ) + ) + (if (!= (gEgo view?) 312) (gEgo setMotion: 0 show:)) + ) + ) + ) + + (method (dispose) + (gEgo setLoop: -1) + (super dispose:) + ) + + (method (handleEvent pEvent &tmp gInvSaidMe) + (if (pEvent claimed?) (return 1)) + (return + (if (== (pEvent type?) evSAID) + (cond + ((Said 'look[') + (cond + ((Said '/*/fish') (Print 31 12)) + ((Said '/*/bird,gull') (Print 31 13)) + ( + (and + (Said '/*/dolphin>') + (= gInvSaidMe (gInv saidMe:)) + ) + (if (gEgo has: (gInv indexOf: gInvSaidMe)) + (Print 31 14) + else + (proc0_17) + ) + ) + ) + ) + ((Said 'converse[/dolphin]') (Print 31 15)) + ((Said 'pat/dolphin') (Print 31 16)) + (else (pEvent claimed: 0)) + ) + ) + ) + else + 0 + ) + ) + ) +) + +(instance fish3Actions of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (= newAct (Act new:)) + (= local10 (Random 5 304)) + (= local7 (Random (+ (gRoom horizon?) 10) 179)) + (newAct + view: 300 + loop: 0 + cel: 255 + posn: local10 local7 + setCycle: End self + init: + ) + (if (< (newAct distanceTo: gEgo) 30) + (newAct setCel: 0) + (fish3Actions changeState: 1) + ) + ) + (1 + (if (gCast contains: newAct) (newAct dispose:)) + (= seconds 3) + ) + (2 (gRoom setScript: 0)) + ) + ) +) + +(instance fishActions of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (= newAct_2 (Act new:)) + (= local10 (Random 5 304)) + (= local7 (Random (+ (gRoom horizon?) 10) 179)) + (newAct_2 + view: 301 + loop: 0 + cel: 255 + posn: local10 local7 + setCycle: End self + init: + ) + (if (< (newAct_2 distanceTo: gEgo) 30) + (newAct_2 setCel: 0) + (fishActions changeState: 1) + ) + ) + (1 + (if (gCast contains: newAct_2) (newAct_2 dispose:)) + (= seconds 3) + ) + (2 (gRoom setScript: 0)) + ) + ) +) + +(instance drown of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (1 (= seconds 10)) + (2 + (proc0_8) + (gEgo + view: 10 + setMotion: 0 + loop: 0 + cel: 255 + setCycle: End self + ) + ) + (3 + (gEgo cel: 255 setCycle: End self) + ) + (4 + (gEgo cel: 255 setCycle: End self) + ) + (5 + (gEgo hide:) + (if global100 + (Print 31 18 67 -1 10) + else + (Print 31 19 67 -1 10) + ) + (= global127 1) + ) + ) + ) +) + +(instance whaleActions of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 (= seconds (Random 2 8))) + (1 + (= newProp_2 (Prop new:)) + (whaleMusic play:) + (newProp_2 + view: 315 + cel: 255 + loop: 0 + posn: 120 66 + init: + setCycle: End self + ) + ) + (2 + (if (gCast contains: newProp_2) + (newProp_2 loop: 1 setCycle: Fwd) + (= seconds 3) + ) + ) + (3 + (if (gCast contains: newProp_2) + (newProp_2 loop: 2 cel: 255 setCycle: End self) + ) + ) + (4 + (if (gCast contains: newProp_2) (newProp_2 dispose:)) + (= seconds 5) + ) + (5 + (if (> (gEgo y?) 93) + (proc0_8) + (gEgo + view: 84 + setMotion: 0 + cel: 255 + setLoop: 0 + setCycle: End self + ) + else + (self changeState: 12) + ) + ) + (6 + (gEgo hide:) + (proc0_9) + (gRoom newRoom: 44) + ) + (10 + (= seconds 0) + (gEgo + view: 84 + setLoop: 1 + cel: 255 + posn: 160 129 + setCycle: End self + init: + ) + ) + (11 + (Print 31 20) + (gEgo view: 8 setCycle: Fwd setLoop: -1) + (proc0_9) + (gEgo script: 0) + ) + ) + ) +) + +(instance sharkActions of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 (= seconds (Random 1 5))) + (1 + (sharkMusic play:) + ((= newAct_3 (Act new:)) + ignoreHorizon: + posn: (Random 100 200) (Random 75 189) + view: 887 + setCycle: Walk + ignoreActors: + xStep: 5 + yStep: 4 + setMotion: Chase gEgo 10 self + init: + ) + ) + (2 + (proc0_8) + (gEgo + setMotion: 0 + view: 10 + loop: 0 + cel: 6 + setCycle: End self + ) + ) + (3 + (gEgo hide:) + (sharkMusic dispose:) + (if (gCast contains: newAct_3) + (newAct_3 setMotion: MoveTo -20 100) + ) + (= seconds 3) + ) + (4 + (= global204 0) + (Print 31 21 67 -1 10) + (= global127 1) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm31.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm31.sco new file mode 100644 index 0000000..6bf1aab Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm31.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm32.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm32.sc new file mode 100644 index 0000000..18596bd --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm32.sc @@ -0,0 +1,139 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 32) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Cycle) +(use Game) +(use Feature) + +(public + Room32 0 +) + +(local + newProp + newProp_2 + newProp_3 + newProp_4 + newView +) +(instance Room32 of Rm + (properties + picture 32 + ) + + (method (init) + (Load rsVIEW 9) + (= north 40) + (= west (= east (= south 31))) + (= horizon 114) + (super init:) + (self setRegions: 504 519) + (= newProp (Prop new:)) + (= newProp_2 (Prop new:)) + (= newProp_3 (Prop new:)) + (= newProp_4 (Prop new:)) + ((= newView (View new:)) + view: 613 + loop: 2 + cel: 0 + posn: 163 62 + setPri: 2 + init: + stopUpd: + ) + (newProp + view: 660 + loop: 0 + cel: 1 + posn: 79 81 + ignoreActors: + setPri: 4 + setCycle: Fwd + cycleSpeed: 3 + init: + ) + (newProp_2 + view: 660 + loop: 1 + cel: 2 + posn: 118 92 + ignoreActors: + setPri: 5 + setCycle: Fwd + cycleSpeed: 3 + init: + ) + (newProp_3 + view: 660 + loop: 2 + cel: 0 + posn: 214 93 + ignoreActors: + setPri: 5 + setCycle: Fwd + cycleSpeed: 3 + init: + ) + (newProp_4 + view: 660 + loop: 3 + cel: 3 + posn: 266 86 + ignoreActors: + setPri: 5 + setCycle: Fwd + cycleSpeed: 3 + init: + ) + (if global100 (= picture 132)) + (if (>= (gEgo x?) 319) (gEgo x: 1)) + (if (<= (gEgo x?) 0) (gEgo x: 318)) + (switch gPrevRoomNum + (41 + (gEgo posn: 226 (+ horizon 1)) + ) + (40 + (gEgo posn: 164 (+ horizon 1)) + ) + (39 + (gEgo posn: 100 (+ horizon 1)) + ) + ) + (if (< (gEgo y?) horizon) + (gEgo y: (+ horizon (gEgo yStep?) 1)) + ) + (gEgo view: 9 setCycle: Fwd init:) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if + (and (== (pEvent type?) evSAID) (Said 'look>')) + (cond + ((Said '/tamir') (Print 32 0)) + ((Said '/island') (Print 32 1)) + ((Said '/castle') (Print 32 2)) + ((Said '/fish') (Print 32 3)) + ((Said '[ (gEgo x?) 198) (super newRoom: 41)) + (else (super newRoom: 40)) + ) + else + (super newRoom: newRoomNumber) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm32.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm32.sco new file mode 100644 index 0000000..c8b33a6 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm32.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm33.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm33.sc new file mode 100644 index 0000000..25ee6dc --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm33.sc @@ -0,0 +1,120 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 33) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Cycle) +(use Game) +(use Feature) + +(public + Room33 0 +) + +(local + newProp + newProp_2 +) +(instance Room33 of Rm + (properties + picture 33 + ) + + (method (init) + (= north 31) + (= south 36) + (= east 34) + (= west 31) + (= horizon 80) + (= global101 0) + (= gHorizon horizon) + (gEgo edgeHit: 0) + (super init:) + (= newProp (Prop new:)) + (= newProp_2 (Prop new:)) + (newProp + isExtra: 1 + view: 661 + loop: 0 + cel: 1 + posn: 139 184 + setPri: 0 + setCycle: Fwd + ignoreActors: + cycleSpeed: 2 + init: + ) + (newProp_2 + isExtra: 1 + view: 661 + loop: 1 + cel: 3 + posn: 227 132 + setPri: 0 + setCycle: Fwd + ignoreActors: + cycleSpeed: 2 + init: + ) + (switch gPrevRoomNum + (36 (gEgo x: 246 y: 186)) + (39 + (cond + ((== (gEgo view?) 2) (gEgo posn: 138 188)) + ((== (gEgo view?) 5) (gEgo posn: 113 187)) + ((== (gEgo view?) 6) (gEgo posn: 84 187)) + ((== (gEgo view?) 7) (gEgo posn: 58 187)) + (else (gEgo posn: 20 188)) + ) + (Animate (gCast elements?) 0) + ) + (34 (gEgo posn: 317 (gEgo y?))) + (31 + (if (< (gEgo y?) horizon) + (gEgo posn: (gEgo x?) (+ horizon 2)) + else + (gEgo posn: 2 (gEgo y?)) + ) + ) + ) + (gEgo xStep: 3 yStep: 2 init:) + (self setRegions: 505 501 503 504) + ) + + (method (doit) + (cond + ((>= (gEgo y?) 189) + (if (< (gEgo x?) 160) + (= gNewRoomNumber_2 39) + (Animate (gCast elements?) 0) + else + (Animate (gCast elements?) 0) + (= gNewRoomNumber_2 36) + ) + ) + ((>= (gEgo x?) 319) (Animate (gCast elements?) 0) (= gNewRoomNumber_2 34)) + ((<= (gEgo x?) 0) (Animate (gCast elements?) 0) (= gNewRoomNumber_2 31)) + ((<= (gEgo y?) horizon) (Animate (gCast elements?) 0) (= gNewRoomNumber_2 31)) + ) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if + (and + (== (pEvent type?) evSAID) + (or + (Said 'look/around') + (Said 'look/island') + (Said 'look/room') + (Said 'look[= (gEgo y?) 189) + (if (< (gEgo x?) 125) + (= gNewRoomNumber_2 38) + else + (= gNewRoomNumber_2 41) + ) + ) + ((>= (gEgo x?) 319) (= gNewRoomNumber_2 31)) + ((<= (gEgo x?) 0) (= gNewRoomNumber_2 34)) + ((<= (gEgo y?) horizon) (= gNewRoomNumber_2 31)) + ) + ) + + (method (dispose) + (waves dispose: delete:) + (super dispose:) + ) + + (method (handleEvent pEvent) + (if + (and + (== (pEvent type?) evSAID) + (Said 'look[') + (if (= gInvSaidMe (gInv saidMe:)) + (if (gEgo has: (gInv indexOf: gInvSaidMe)) + (Print 36 0) + else + (proc0_17) + ) + ) + ) + ( + (or + (Said 'enter,capture/fish') + (Said 'fish[/!*]') + (Said 'cast/pole') + ) + (Print 36 1) + ) + ((Said 'look>') + (cond + ((Said '') + (cond + ((Said '/bush') (Print 37 1)) + ((Said '/dirt') (Print 37 2)) + ((Said '/grass') (Print 37 3)) + ((Said '/flora') (Print 37 4)) + ((Said '/blossom') (Print 37 5)) + ((Said '/forest') (Print 37 6)) + ((Said '/garden') (Print 37 7)) + ((Said '/castle') (Print 37 8)) + ((Said '/beach') (Print 37 9)) + ((Said '/ocean,water') (Print 37 10)) + ((Said '/door') (Print 37 11)) + ((Said '/fairies') (Print 37 12)) + ((Said '/bird') (Print 37 13)) + ((Said '/path') (Print 37 14)) + ((Said '[') (= gInvSaidMe (gInv saidMe:))) + (if (gEgo has: (gInv indexOf: gInvSaidMe)) + (Print 37 22) + else + (proc0_17) + ) + ) + ) + ) + ) + + (method (newRoom newRoomNumber) + (User canControl: 1) + (super newRoom: newRoomNumber) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm37.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm37.sco new file mode 100644 index 0000000..5365222 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm37.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm38.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm38.sc new file mode 100644 index 0000000..bdff42e --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm38.sc @@ -0,0 +1,127 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 38) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Extra) +(use Cycle) +(use Game) +(use Feature) + +(public + Room38 0 +) + +(local + newProp + newProp_2 + newExtra + newExtra_2 +) +(instance Room38 of Rm + (properties + picture 38 + ) + + (method (init) + (= north 35) + (= south 41) + (= west 37) + (= horizon 74) + (= global101 0) + (if global100 (= picture 138)) + (super init:) + (self setRegions: 505) + (gEgo view: 2 xStep: 3 yStep: 2 init:) + (= newProp (Prop new:)) + (= newProp_2 (Prop new:)) + (= newExtra (Extra new:)) + (= newExtra_2 (Extra new:)) + (newProp + view: 662 + loop: 3 + cel: 0 + posn: 199 74 + setPri: 0 + setCycle: Fwd + ignoreActors: + cycleSpeed: 2 + init: + ) + (newProp_2 + view: 662 + loop: 4 + cel: 3 + posn: 303 98 + setPri: 0 + setCycle: Fwd + ignoreActors: + cycleSpeed: 2 + init: + ) + (newExtra + view: 341 + loop: 2 + posn: 243 37 + minPause: 4 + maxPause: 60 + pauseCel: 1 + minCycles: 10 + maxCycles: 40 + ignoreActors: + cycleSpeed: 2 + init: + ) + (newExtra_2 + view: 341 + loop: 3 + pauseCel: 1 + minPause: 4 + maxPause: 60 + minCycles: 10 + maxCycles: 50 + posn: 214 26 + ignoreActors: + cycleSpeed: 2 + init: + ) + (cond + ((== gPrevRoomNum 35) (gEgo x: 196 y: 78)) + ((== gPrevRoomNum 41) (gEgo x: 159 y: 187)) + ) + ) + + (method (dispose) + (DisposeScript 988) + (super dispose:) + ) + + (method (handleEvent pEvent) + (if (== (pEvent type?) evSAID) + (cond + ((Said 'look>') + (cond + ((Said '/bush') (Print 38 0)) + ((Said '/beach') (Print 38 1)) + ((Said '/dirt') (Print 38 2)) + ((Said '/grass') (Print 38 3)) + ((Said '/flora') (Print 38 4)) + ((Said '/blossom') (Print 38 5)) + ((Said '/forest') (Print 38 6)) + ((Said '/garden') (Print 38 7)) + ((Said '/path') (Print 38 8)) + ((Said '/castle') (Print 38 9)) + ((Said '/ocean') (Print 38 10)) + ((Said '/bird') (Print 38 11)) + ((Said '/monument,dolphin') (Print 38 12)) + ((Said '[= (gEgo y?) 189) (= gNewRoomNumber_2 32)) + ((>= (gEgo x?) 319) (= gNewRoomNumber_2 40)) + ((<= (gEgo x?) 0) (= gNewRoomNumber_2 31)) + ((<= (gEgo y?) horizon) + (if (> (gEgo x?) 292) + (= gNewRoomNumber_2 36) + else + (= gNewRoomNumber_2 33) + ) + ) + ) + ) + + (method (dispose) + (waves dispose: delete:) + (super dispose:) + ) + + (method (handleEvent pEvent) + (if + (and + (== (pEvent type?) evSAID) + (Said 'look[ local4 345) + ) + (= newActHeading (+ newActHeading 360)) + ) + (if (< (Abs (- local4 newActHeading)) 15) + (= local3 2) + (Print 4 0) + (ogressActions changeState: 10) + ) + ) + ) + + (method (dispose) + (= global189 0) + (gEgo setPri: -1) + (super dispose:) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if (== (pEvent type?) evSAID) + (cond + ((Said 'look>') + (cond + ((Said '/cottage') (Print 4 1)) + ((Said '/door') (Print 4 2)) + ((Said '/bucket') (Print 4 3)) + ((Said '/buck') (if (gCast contains: newAct) (Print 4 4))) + ((Said '/window') + (if (gEgo inRect: 266 140 304 155) + (Print 4 5) + else + (Print 800 1) + ) + ) + ((Said '/giantess') + (if (gCast contains: newAct) + (switch (newAct view?) + (246 (Print 4 6)) + (245 (Print 4 7)) + ) + else + (Print 4 8) + ) + ) + ((Said '[= (gEgo heading?) 270)) + ) + (gRoom newRoom: 35) + ) + (if (& gEgoOnControl $0010) (gRoom newRoom: 38)) + ) + + (method (dispose) + (waves dispose:) + (super dispose:) + ) + + (method (handleEvent pEvent) + (if + (and + (== (pEvent type?) evSAID) + (or + (Said 'look/island') + (Said 'look/around') + (Said 'look/room') + (Said 'look[') + (cond + ((Said '/fishwife,person') + (cond + (local9 + (cond + ((not (gEgo has: 17)) (Print 42 3)) + ((not (gEgo has: 1)) (Print 42 4)) + ) + ) + ((!= global116 3) (Print 42 5)) + ((== ((gInv at: 1) owner?) 42) (Print 42 6)) + (else (Print 42 7)) + ) + ) + ((Said '/dough[') + (cond + ((Said '[/!*]') + (if (== global116 3) + (Print 42 34) + else + (Print 42 35) + ) + ) + ((Said '/fishwife,person') (Print 42 35)) + ((Said '/fisherman') + (if (== global116 3) + (Print 42 36) + else + (Print 42 37) + ) + ) + ) + ) + ((Said 'help') (Print 42 38)) + ( + (or + (Said 'converse/fishwife,person') + (and + (< (gEgo distanceTo: newAct) 50) + (Said 'converse[/!*]') + ) + ) + (cond + ((== ((gInv at: 1) owner?) 42) (wifeTacoDoco2 cue:)) + ((gCast contains: newAct_3) (wifeTacoDoco1 cue:)) + (else (wifeTacoDoco cue:)) + ) + ) + ( + (or + (Said 'converse/fisherman') + (and + (gCast contains: newAct_3) + (< (gEgo distanceTo: newAct_3) 50) + (Said 'converse[/!*]') + ) + ) + (if (== global116 3) + (if (== ((gInv at: 1) owner?) 42) + (fishermanTacoDoco1 cue:) + else + (fishermanTacoDoco2 cue:) + ) + else + (Print 42 39) + ) + ) + ((Said 'converse[/!*]') + (cond + ((gCast contains: newAct_3) (Print 42 40)) + ((== ((gInv at: 1) owner?) 42) (wifeTacoDoco2 cue:)) + ((gCast contains: newAct_3) (wifeTacoDoco1 cue:)) + (else (wifeTacoDoco cue:)) + ) + ) + ((Said 'close,open/door') (Print 42 41)) + ((Said 'sit') (Print 42 42)) + ( + (or + (Said 'lay,sleep[') + (if + (or + (< (gEgo distanceTo: newAct) 20) + (and + (gCast contains: newAct_3) + (< (gEgo distanceTo: newView) 30) + ) + ) + (if + (and + (= gInvSaidMe (gInv saidMe:)) + (gEgo has: (gInv indexOf: gInvSaidMe)) + ) + (cond + ( + (and + (== (gInv indexOf: gInvSaidMe) 1) + (== global116 3) + ) + (if (< (gEgo distanceTo: newAct) 25) + (Print 42 44) + else + (Print 42 45) + ) + (gEgo put: 1 42) + (newAct setScript: givePole) + ) + ((== global116 3) (Print 42 46)) + (else (Print 42 47)) + ) + else + (if gInvSaidMe (Print 800 2) else (Print 42 48)) + (pEvent claimed: 1) + ) + else + (Print 800 1) + (pEvent claimed: 1) + ) + ) + ((Said 'get,rob>') + (cond + ((Said '/knitting') (Print 42 49)) + ((Said '/pole') + (cond + ( + (and (== ((gInv at: 17) owner?) 204) (== global116 3)) (Print 42 50)) + (((gInv at: 17) ownedBy: gEgo) (Print 42 51)) + (else (Print 42 21)) + ) + ) + ((Said '/dough') (Print 42 52)) + ((Said '/fishwife,person') (Print 42 53)) + ((Said '/fisherman') (if (== global116 3) (Print 42 54))) + ((Said '/caldron') (Print 42 55)) + ((Said '/can') (Print 42 56)) + ((Said '/fish') (Print 42 57)) + ) + ) + ((Said 'create/bed') (Print 42 58)) + ) + else + 0 + ) + ) + ) + + (method (newRoom newRoomNumber) + (super newRoom: newRoomNumber) + ) +) + +(instance doBread of Script + (properties) + + (method (init param1) + (super init: param1) + ) + + (method (changeState newState) + (switch (= state newState) + (0 (Timer setReal: self 5)) + (1 + (newAct setLoop: 1) + (Timer setReal: self 3) + ) + (2 + (newAct setLoop: 0) + (= state -1) + (self cue:) + ) + ) + ) +) + +(instance givePole of Script + (properties) + + (method (init param1) + (super init: param1) + ) + + (method (changeState newState) + (switch (= state newState) + (0 + (gEgo setMotion: 0) + (proc0_8) + (if (gEgo inRect: 185 115 239 124) + (gEgo setMotion: MoveTo (gEgo x?) 125) + ) + (newAct + view: 242 + loop: 0 + cel: 0 + setAvoider: (Avoid new:) + setCycle: Walk + setMotion: MoveTo 223 118 self + ) + ) + (1 + (proc0_3 gEgo newAct) + (newAct_4 dispose:) + (newAct + view: 243 + setLoop: -1 + cel: 0 + setMotion: Chase gEgo 20 self + ) + ) + (2 + (gEgo get: 17) + (gGame changeScore: 3) + (= global182 1) + (newAct + view: 242 + loop: 0 + cel: 0 + setMotion: MoveTo 200 118 self + ) + ) + (3 + (proc0_9) + (newAct + view: 241 + setAvoider: 0 + loop: 0 + setCycle: Fwd + setScript: doBread + ) + ) + ) + ) +) + +(instance wifeTalk of Script + (properties) + + (method (init param1) + (super init: param1) + (client cycleSpeed: 1) + ) + + (method (changeState newState) + (switch (= state newState) + (0 + (client setCycle: Fwd) + ((ScriptID 0 4) setReal: self 2) + ) + (1 + (= state -1) + (client cel: 0 setCycle: 0) + (if (== (client loop?) 3) + ((ScriptID 0 4) setReal: self 1) + else + ((ScriptID 0 4) setReal: self 5) + ) + ) + ) + ) +) + +(instance fishermanSit of Script + (properties) + + (method (init param1) + (super init: param1) + (client cycleSpeed: 2) + ) + + (method (changeState newState) + (switch (= state newState) + (0 + (client loop: 0 cel: 0 setCycle: Fwd) + (Timer setReal: self 3) + ) + (1 + (client loop: 1 cel: 255 setCycle: End self) + ) + (2 (Timer setReal: self 2)) + (3 + (= state -1) + (client setCycle: Beg) + (Timer setReal: self 10) + ) + ) + ) +) + +(instance wifeTacoDoco of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (if global206 (self cue:) (return)) + (Print 42 59) + (= global206 1) + ) + (1 + (if (> global206 1) (self cue:) (return)) + (Print 42 60) + (= global206 2) + ) + (2 + (= state 1) + (Print 42 61) + ) + ) + ) +) + +(instance wifeTacoDoco1 of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (if global206 (self cue:) (return)) + (Print 42 62) + (= global206 1) + ) + (1 + (= state 0) + (Print 42 63) + ) + ) + ) +) + +(instance wifeTacoDoco2 of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (if (< global206 0) (self cue:) (return)) + (= global206 -1) + (Print 42 64) + ) + (1 + (= state 0) + (Print + (Format + @global228 + 42 + 65 + (if (== (newAct view?) 241) + {kneading the bread} + else + {knitting} + ) + ) + ) + ) + ) + ) +) + +(instance fishermanTacoDoco1 of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 (Print 42 66)) + (1 + (= state 0) + (Print 42 67) + ) + ) + ) +) + +(instance fishermanTacoDoco2 of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 (Print 42 68)) + (1 (Print 42 69)) + (2 + (= state 1) + (Print 42 70) + ) + ) + ) +) + +(instance chairBase of Code + (properties) + + (method (doit param1) + (param1 brTop: (- (param1 y?) 5)) + (param1 brLeft: (- (param1 x?) 16)) + (param1 brBottom: (+ (param1 y?) 1)) + (param1 brRight: (+ (param1 x?) 5)) + ) +) + +(instance chairBlock of Blk + (properties) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm42.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm42.sco new file mode 100644 index 0000000..27bcbc2 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm42.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm43.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm43.sc new file mode 100644 index 0000000..0433cd1 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm43.sc @@ -0,0 +1,892 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 43) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Avoid) +(use Sound) +(use Cycle) +(use Game) +(use InvI) +(use User) +(use Feature) +(use Obj) + +(public + Room43 0 +) +(synonyms + (dolphin dolphin) +) + +(local + gEgoViewer + local1 + local2 + local3 + newAct + newAct_4 + newAct_3 + newProp_4 + newAct_2 + newProp_2 + newProp_3 + local11 + local12 + local13 + [local14 2] + newProp +) +(instance whistleSound of Sound + (properties) +) + +(instance dolphinTheme of Sound + (properties + number 35 + ) +) + +(instance Room43 of Rm + (properties) + + (method (init) + (if global100 (= picture 143) else (= picture 43)) + (= south (= north (= west (= east 31)))) + (= horizon 78) + (= global101 0) + (= gHorizon horizon) + (super init:) + (if (gEgo has: 24) + (Load rsVIEW 312) + (Load rsVIEW 311) + (Load rsVIEW 310) + (Load rsVIEW 524) + (Load rsVIEW 306) + (Load rsSOUND 35) + (Load rsSOUND 76) + ) + (Load rsVIEW 320) + (Load rsVIEW 321) + (Load rsVIEW 15) + (Load rsVIEW 670) + (Load rsVIEW 518) + (self setRegions: 501 504) + ((View new:) + view: 670 + posn: 50 142 + setPri: 0 + ignoreActors: + addToPic: + ) + ((View new:) + view: 670 + loop: 1 + cel: 2 + posn: 151 174 + setPri: 0 + ignoreActors: + addToPic: + ) + ((View new:) + view: 670 + loop: 2 + posn: 284 183 + setPri: 0 + ignoreActors: + addToPic: + ) + ((View new:) + view: 670 + loop: 3 + cel: 2 + posn: 301 145 + setPri: 0 + ignoreActors: + addToPic: + ) + ((View new:) + view: 670 + loop: 4 + posn: 24 74 + setPri: 0 + ignoreActors: + addToPic: + ) + ((View new:) + view: 670 + loop: 5 + cel: 1 + posn: 258 77 + setPri: 0 + ignoreActors: + addToPic: + ) + ((= newProp (Prop new:)) + view: 670 + posn: 50 142 + setPri: 0 + ignoreActors: + cycleSpeed: 2 + init: + setScript: waveScript + ) + (if (or (gEgo has: 27) (gEgo has: 24)) (= local11 1)) + (cond + ((and (== global136 101) (== global137 100)) (gEgo posn: 13 91)) + ((and (== global136 99) (== global137 100)) (gEgo posn: 294 84)) + ((and (== global136 100) (== global137 99)) (gEgo posn: 38 171)) + ((and (== global136 100) (== global137 101)) (gEgo posn: (gEgo x?) (+ horizon (gEgo yStep?) 1))) + ) + (= newProp_2 (Prop new:)) + (newProp_2 setScript: deathTimer init: hide:) + ((= newProp_3 (Prop new:)) init: hide:) + (if ((Inv at: 27) ownedBy: 207) + (= newAct (Act new:)) + (newAct + ignoreHorizon: + posn: 118 73 + view: 320 + loop: 0 + setPri: 7 + illegalBits: 0 + ignoreActors: + setCycle: Fwd + cycleSpeed: 1 + xStep: 5 + yStep: 4 + init: + ) + (newAct setScript: pelActions) + ) + (if ((Inv at: 27) ownedBy: 43) + ((= newAct_2 (Act new:)) + posn: 137 106 + ignoreActors: + illegalBits: 0 + view: 524 + setLoop: 1 + setCel: 0 + setCycle: 0 + init: + stopUpd: + ) + (newAct_2 setScript: whistleActions) + (whistleActions changeState: 1) + ) + (gEgo view: 8 setStep: 3 2 setScript: bridleActions init:) + ) + + (method (dispose) + (gTimers eachElementDo: #dispose 84) + (super dispose:) + ) + + (method (handleEvent pEvent &tmp gInvSaidMe) + (if (pEvent claimed?) (return 1)) + (return + (if (== (pEvent type?) evSAID) + (cond + ((Said 'look[') + (cond + ((Said '/fish') + (if (gEgo has: 24) + ((Inv at: 24) showSelf:) + else + (Print 43 6) + ) + ) + ((Said '/dolphin') + (cond + ((gCast contains: newAct_3) (Print 43 8)) + ((== (gEgo view?) 312) (Print 43 9)) + (else (Print 43 10)) + ) + ) + ((Said '/island') (Print 43 11)) + ((Said ' (gEgo x?) 121) + (gGame changeScore: 4) + (pelActions changeState: 20) + else + (Print 43 25) + ) + else + (Print 800 1) + ) + ) + (2 (Print 43 26)) + (3 (Print 43 27)) + (else (Print 43 28)) + ) + else + (Print 43 28) + ) + else + (Print 43 29) + ) + ) + ((Said 'get,whistle/whistle') + (cond + (((Inv at: 27) ownedBy: 43) + (if (< (gEgo distanceTo: newAct_2) 15) + (bridleActions changeState: 10) + (gGame changeScore: 2) + (gEgo get: 27) + else + (Print 800 1) + ) + ) + ((gEgo has: 27) (Print 43 30)) + (else (Print 43 10)) + ) + ) + ((Said 'mount/dolphin') + (if (gCast contains: newAct_3) + (if (< (gEgo distanceTo: newAct_3) 14) + (User canControl: 0) + (= global205 1) + (gGame changeScore: 2) + (dolphActions changeState: 10) + else + (Print 800 1) + ) + else + (Print 43 31) + ) + ) + ((Said 'play,whistle,blow[/whistle]') + (if (gEgo has: 27) + (gSounds eachElementDo: #stop 0) + (whistleSound number: 76 play:) + (if (not newAct_3) + (if (== global217 0) + (gGame changeScore: 2) + (= global217 1) + ) + ((= newAct_3 (Act new:)) x: -1000 y: 1000 init:) + (gRoom setScript: dolphActions) + else + (Print 43 32) + ) + else + (Print 43 33) + ) + ) + ((Said 'converse>') + (cond + ( + (and + (gCast contains: newAct) + (newAct inRect: 0 0 319 189) + (Said '[/pelican,bird]') + ) + (Print 43 34) + (pEvent claimed: 1) + ) + ( + (and (gCast contains: newAct_3) (Said '[/dolphin]')) (Print 43 35) (pEvent claimed: 1)) + ((Said '/bird,gull,gull') (pEvent claimed: 0)) + ((Said '[/!*]') (Print 43 36)) + ) + ) + ((Said 'feed/pelican,bird') + (if (and (gCast contains: newAct) (!= local1 4)) + (Print 43 37) + else + (Print 43 10) + ) + ) + ((Said 'get/pelican,bird') + (if (and (gCast contains: newAct) (!= local1 4)) + (Print 43 38) + else + (Print 43 10) + ) + ) + ((Said 'capture/pelican,bird') + (if (and (gCast contains: newAct) (!= local1 4)) + (Print 43 39) + else + (Print 43 10) + ) + ) + ((Said 'kiss') + (cond + ((and (gCast contains: newAct) (!= local1 4)) (Print 43 39)) + ((gCast contains: newAct_3) (Print 43 40)) + (else (pEvent claimed: 0)) + ) + ) + ((Said 'deliver>') + (if (= gInvSaidMe (gInv saidMe:)) + (if (gEgo has: (gInv indexOf: gInvSaidMe)) + (cond + ( + (or + (and (!= local1 4) (gCast contains: newAct)) + (Said '/pelican,bird') + ) + (Print 43 41) + ) + ( + (and (gCast contains: newAct_3) (Said '/dolphin')) (Print 43 42)) + (else (Print 43 43) (pEvent claimed: 1)) + ) + else + (proc0_17) + ) + ) + ) + ((Said 'get,capture/dolphin') + (cond + ((gCast contains: newAct_3) (Print 43 44)) + ((== (gEgo view?) 312) (Print 43 45)) + (else (Print 43 10)) + ) + ) + ((Said 'deliver>') + (if + (and + (= gInvSaidMe (gInv saidMe:)) + (gEgo has: (gInv indexOf: gInvSaidMe)) + ) + (Print 43 46) + else + (Print 43 47) + ) + ) + ((Said 'pat/dolphin') + (if (gCast contains: newAct_3) + (if (< (gEgo distanceTo: newAct_3) 12) + (Print 43 48) + else + (Print 800 1) + ) + else + (Print 43 10) + ) + ) + ) + else + 0 + ) + ) + ) +) + +(instance bridleActions of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (1 + (proc0_8) + (gEgo get: 21 setMotion: 0) + (= gEgoViewer (gEgo viewer?)) + (gEgo + viewer: 0 + view: 21 + loop: 1 + cel: 255 + setCycle: End self + ) + ) + (2 + (= global182 1) + (gEgo setCycle: Beg self) + ) + (3 + (Print 43 49 67 -1 10) + (gEgo viewer: gEgoViewer view: 2 setCycle: Walk) + (proc0_9) + ) + (10 + (proc0_8) + (= gEgoViewer (gEgo viewer?)) + (proc0_3 gEgo newAct_2) + (gEgo + viewer: 0 + view: 21 + loop: 1 + cel: 255 + setCycle: End self + ) + ) + (11 + (newAct_2 dispose:) + (newProp_4 dispose:) + (= global182 1) + (gEgo setCycle: Beg self) + ) + (12 + (gEgo viewer: gEgoViewer view: 2 setCycle: Walk) + (proc0_9) + ) + ) + ) +) + +(instance pelActions of Script + (properties) + + (method (doit) + (if + (and (== local1 1) (gEgo inRect: 95 92 140 110)) + (pelActions changeState: 10) + ) + ) + + (method (changeState newState) + (switch (= state newState) + (0 + (if (gCast contains: newAct) + (= local1 1) + (newProp_3 setScript: pelMovement) + ((ScriptID 0 5) setReal: self 30) + ) + ) + (1 (self changeState: 10)) + (10 + ((ScriptID 0 5) dispose: delete:) + (++ local2) + (newProp_3 setScript: 0) + (= local1 2) + (newAct + view: 321 + setLoop: 2 + setCel: -1 + cel: 0 + cycleSpeed: 0 + setCycle: End self + ) + ) + (11 + (newAct + setLoop: 0 + cel: 0 + setCycle: Fwd + setMotion: MoveTo 339 20 self + ) + ) + (12 + (newAct stopUpd:) + (= local1 4) + ((ScriptID 0 5) setReal: self 1 1) + ) + (13 + (if + (and (not (gEgo inRect: 192 108 237 125)) (< local2 3)) + (= local1 2) + (newAct + startUpd: + posn: -20 20 + setCycle: Fwd + setMotion: MoveTo 118 74 self + ) + else + (self changeState: 11) + ) + ) + (14 + (newAct loop: 1 cel: 255 setCycle: End self) + ) + (15 + (newAct view: 320 setLoop: 0 cycleSpeed: 1 setCycle: Fwd) + (= local1 1) + (newProp_3 setScript: pelMovement) + ) + (20 + (proc0_8) + (if (IsObject (ScriptID 0 5)) + ((ScriptID 0 5) dispose: delete:) + ) + (whistleSound number: 63 play:) + (newProp_3 setScript: 0) + (= local1 3) + (proc0_3 gEgo newAct) + (= gEgoViewer (gEgo viewer?)) + (gEgo viewer: 0 loop: (& (gEgo loop?) $0001)) + (gEgo + view: 15 + cel: 255 + setMotion: 0 + loop: (& (gEgo loop?) $0001) + setCycle: End self + ) + ) + (21 + (= newAct_4 (Act new:)) + (if (gEgo loop?) + (newAct_4 + posn: (- (gEgo x?) 10) (- (gEgo y?) 15) + init: + ) + else + (newAct_4 + posn: (+ (gEgo x?) 10) (- (gEgo y?) 15) + init: + ) + ) + (newAct_4 + view: 306 + ignoreActors: + illegalBits: 0 + ignoreHorizon: + setPri: 6 + setLoop: 0 + cel: 0 + setCycle: Fwd + setMotion: MoveTo (+ (newAct x?) 8) (- (newAct y?) 7) self + ) + (gEgo viewer: gEgoViewer view: 2 setCycle: Walk) + (newAct setLoop: 1 setCel: -1 cel: 255 setCycle: End) + ) + (22 + (= newAct_2 (Act new:)) + (newAct_2 setScript: whistleActions) + (newAct_2 + posn: 123 63 + ignoreActors: + illegalBits: 0 + view: 524 + setLoop: 0 + cel: 0 + setMotion: MoveTo 137 106 whistleActions + yStep: 10 + setCycle: Fwd + init: + ) + (newAct setLoop: 2 cel: 255 setCycle: End self) + (newAct_4 dispose:) + ((Inv at: 27) moveTo: 43) + ) + (23 + (Print 43 50) + ((Inv at: 24) moveTo: 207) + (= local2 99) + (proc0_9) + (self changeState: 10) + ) + ) + ) +) + +(instance whistleActions of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (1 + (newAct_2 setCel: 0 setLoop: 1 setCycle: 0 stopUpd:) + (= newProp_4 (Prop new:)) + (newProp_4 + view: 518 + setLoop: 4 + ignoreActors: + posn: (newAct_2 x?) (newAct_2 y?) + init: + ) + (self changeState: 2) + ) + (2 + (newProp_4 cel: 255 setCycle: End self show:) + ) + (3 + (newProp_4 hide:) + (= seconds (Random 3 10)) + ) + (4 (self changeState: 2)) + ) + ) +) + +(instance dolphActions of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 (= seconds 4)) + (1 + (gSounds eachElementDo: #stop 0) + (dolphinTheme play:) + (newAct_3 + posn: 284 71 + view: 310 + loop: 0 + cel: 0 + ignoreHorizon: + setCycle: End self + init: + ) + ) + (2 + (newAct_3 view: 311 posn: 283 87 loop: 3 setCycle: Fwd) + (Print 43 51) + ) + (10 + (newAct_3 dispose:) + (= global105 14) + (gEgo + view: 312 + loop: 0 + setCycle: Fwd + setMotion: MoveTo 339 (gEgo y?) + ) + ) + ) + ) +) + +(instance deathTimer of Script + (properties) + + (method (doit) + (if + (and + local12 + (<= state 2) + (or + (gEgo inRect: 140 98 196 118) + (gEgo inRect: 146 118 258 150) + ) + ) + (self changeState: 10) + ) + (super doit:) + ) + + (method (changeState newState) + (switch (= state newState) + (0 + (if local11 (= seconds 240) else (= seconds 120)) + ) + (1 (= local12 1)) + (10 + (proc0_8) + (gEgo + illegalBits: -2 + setAvoider: Avoid + setMotion: MoveTo 184 130 self + ) + ) + (11 + (gEgo + setMotion: 0 + viewer: 0 + view: 21 + loop: 2 + cel: 255 + cycleSpeed: 2 + setCycle: End self + ) + ) + (12 + (gEgo view: 83 loop: 0 cel: 0) + (= seconds 4) + ) + (13 + (gEgo cel: 1) + (= seconds 5) + ) + (14 + (gEgo cel: 2) + (= seconds 6) + ) + (15 + (gEgo cel: 3) + (= seconds 7) + ) + (16 + (Print 43 52 67 -1 10) + (= seconds 6) + ) + (17 (= global127 1)) + ) + ) +) + +(instance drinking of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (1 + (proc0_8) + (= gEgoViewer (gEgo viewer?)) + (gEgo viewer: 0 view: 21 cel: 255 setCycle: End self) + ) + (2 + (= global120 (Print 43 5 67 -1 10 88)) + (= seconds 5) + ) + (3 (gEgo setCycle: Beg self)) + (4 + (proc0_21) + (gEgo view: 2 setCycle: Walk) + (gEgo script: gGEgoScript viewer: gEgoViewer) + (proc0_9) + ) + ) + ) +) + +(instance pelMovement of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (if (== local1 1) (newAct setCycle: Fwd)) + (= seconds (Random 3 7)) + ) + (1 + (if (== local1 1) + (newAct setCycle: 0) + (= seconds (Random 3 7)) + ) + ) + (2 (self changeState: 0)) + ) + ) +) + +(instance waveScript of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 (= cycles (Random 2 6))) + (1 + (newProp loop: 0 cel: 0 posn: 50 142 setCycle: End self) + (= state 6) + ) + (2 + (newProp loop: 1 cel: 2 posn: 151 174 setCycle: End self) + (= state 6) + ) + (3 + (newProp loop: 2 cel: 0 posn: 284 183 setCycle: End self) + (= state 6) + ) + (4 + (newProp loop: 3 cel: 2 posn: 301 145 setCycle: End self) + (= state 6) + ) + (5 + (newProp loop: 4 cel: 0 posn: 24 74 setCycle: End self) + (= state 6) + ) + (6 + (newProp loop: 5 cel: 1 posn: 258 77 setCycle: End self) + ) + (7 + (newProp posn: 999 999) + (= cycles (Random 2 10)) + (= state (Random 1 6)) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm43.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm43.sco new file mode 100644 index 0000000..8e8131d Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm43.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm44.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm44.sc new file mode 100644 index 0000000..849e0f7 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm44.sc @@ -0,0 +1,427 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 44) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Cycle) +(use Game) +(use InvI) +(use Feature) +(use Obj) + +(public + Room44 0 +) + +(local + newProp + newAct + gEgoX + local3 +) +(instance tickleSound of Sound + (properties + number 60 + ) +) + +(instance fallSound of Sound + (properties + number 51 + ) +) + +(instance bottleCage of Cage + (properties + top 144 + left 130 + bottom 175 + right 218 + ) +) + +(instance Room44 of Rm + (properties + picture 44 + style $0008 + ) + + (method (init) + (= global101 1) + (super init:) + (Load rsVIEW 52) + (Load rsVIEW 17) + (Load rsVIEW 19) + (Load rsVIEW 7) + (Load rsVIEW 6) + (Load rsVIEW 53) + (Load rsVIEW 49) + (Load rsVIEW 21) + (Load rsVIEW 73) + (Load rsSOUND 51) + (if (gEgo has: 8) (Load rsSOUND 60) (Load rsVIEW 51)) + (= global189 1) + (gEgo view: 8 posn: 39 160 viewer: inWhale init:) + ((= newProp (Prop new:)) + view: 0 + posn: 161 75 + init: + hide: + ) + (if ((Inv at: 31) ownedBy: 44) + (= newAct (Act new:)) + (newAct + view: 531 + posn: 201 166 + xStep: 1 + yStep: 1 + setLoop: 0 + ignoreActors: 0 + illegalBits: -32768 + observeControl: 4 1 + setCycle: Fwd + setMotion: Wander 4 + moveSpeed: 8 + cycleSpeed: 2 + observeBlocks: bottleCage + init: + ) + ) + (gRoom setScript: deadTimer) + (Print 44 0) + (Print 44 1) + (= global183 1) + (= local3 0) + ) + + (method (doit) + (super doit:) + (if + (and + (& (gEgo onControl: 0) $0004) + (== (gEgo script?) 0) + (== (deadTimer state?) 0) + (<= (inWhale state?) 0) + ) + (gEgo setScript: slide) + (fallSound play:) + (if (== (gEgo view?) 2) + (slide changeState: 10) + else + (slide changeState: 1) + ) + ) + ) + + (method (dispose) + (gTimers eachElementDo: #dispose 84) + (super dispose:) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if (== (pEvent type?) evSAID) + (cond + ((Said 'get,(look') + (cond + ((Said '/fish') (Print 44 10)) + ((Said '/boat') (Print 44 11)) + ((Said ' (gEgo x?) 270) (= gEgoX (- (gEgo x?) 20))) + (else (= gEgoX (gEgo x?))) + ) + (gEgo + view: 52 + illegalBits: 0 + setLoop: 2 + setCycle: Fwd + yStep: 5 + xStep: 3 + setMotion: MoveTo gEgoX 145 self + ) + ) + (2 + (gEgo view: 19 setLoop: 0 cel: 2 setCycle: End self) + ) + (3 + (fallSound dispose:) + (gEgo viewer: inWhale) + (gEgo + illegalBits: -32768 + setLoop: -1 + xStep: 2 + yStep: 1 + setScript: 0 + ) + (proc0_9) + ) + (10 + (proc0_8) + (gEgo view: 17 setLoop: (& (gEgo loop?) $0001)) + (gEgo illegalBits: 0 cel: 255 setCycle: End self) + ) + (11 (self changeState: 1)) + ) + ) +) + +(instance inWhale of Script + (properties) + + (method (doit) + (super doit:) + (if (== (gEgo script?) 0) + (cond + ((& (gEgo onControl: 1) $0200) (gEgo view: 8 xStep: 2 yStep: 1 setCycle: Fwd)) + ((& (gEgo onControl: 1) $0008) (gEgo view: 7 xStep: 2 yStep: 1 setCycle: Walk)) + ((& (gEgo onControl: 1) $0800) (gEgo view: 6 xStep: 2 yStep: 1 setCycle: Walk)) + ((& (gEgo onControl: 1) $0001) + (if (== (gEgo view?) 2) + (slide changeState: 1) + else + (gEgo view: 53 setCycle: Walk setStep: 1 1) + ) + ) + ( + (and + (!= (gEgo view?) 2) + (& (gEgo onControl: 1) $0010) + (== (gEgo script?) 0) + (<= state 0) + (<= (deadTimer state?) 0) + ) + (self changeState: 1) + ) + ) + ) + ) + + (method (changeState newState) + (switch (= state newState) + (1 + (if (!= (gEgo view?) 2) + (proc0_8) + (gEgo + viewer: 0 + view: 49 + setMotion: 0 + loop: (& (gEgo loop?) $0001) + cel: 4 + setCycle: Beg self + ) + else + (self changeState: 0) + ) + ) + (2 + (gEgo view: 21 cel: 6 setCycle: Beg self) + ) + (3 + (gEgo view: 2 setStep: 2 1 setCycle: Walk viewer: inWhale) + (= state 0) + (proc0_9) + ) + ) + ) +) + +(instance tickle of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (1 + (proc0_8) + (gTimers eachElementDo: #dispose 84) + (gRoom script: 0) + (tickleSound play: self) + (gEgo setMotion: 0 viewer: 0) + (proc0_3 gEgo newProp) + (gEgo loop: (& (gEgo loop?) $0001)) + (gEgo + view: 51 + loop: (& (gEgo loop?) $0001) + setCycle: Fwd + ) + ) + (2 + (Print 44 30) + (gEgo setLoop: -1 setCel: -1) + (proc0_9) + (= global189 0) + (gRoom newRoom: 31) + ) + ) + ) +) + +(instance deadTimer of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (if (gEgo has: 8) + ((ScriptID 0 5) setReal: self 1 4) + else + ((ScriptID 0 5) setReal: self 2 1) + ) + ) + (1 + (gEgo viewer: 0) + (++ local3) + (if (and (> (inWhale state?) 0) (< local3 4)) + (-- state) + (= seconds 2) + else + (self cue:) + ) + ) + (2 + (proc0_8) + (gSounds eachElementDo: #stop 0) + (cond + ((< (gEgo x?) 50) (= gEgoX (+ (gEgo x?) 20))) + ((> (gEgo x?) 270) (= gEgoX (- (gEgo x?) 20))) + (else (= gEgoX (gEgo x?))) + ) + (cond + ((== (gEgo view?) 2) (self changeState: 10)) + ((== (gEgo view?) 53) + (fallSound play:) + (gEgo + view: 52 + setLoop: 2 + setCycle: Fwd (gEgo yStep: 5) + setMotion: MoveTo gEgoX 145 self + ) + ) + (else (self changeState: 4)) + ) + ) + (3 + (gEgo view: 19 setLoop: 0 cel: 2 setCycle: End self) + ) + (4 (self changeState: 20)) + (10 + (fallSound play:) + (gEgo + setLoop: (& (gEgo loop?) $0001) + view: 17 + cel: 255 + setCycle: End self + ) + ) + (11 + (gEgo + view: 52 + setLoop: 2 + setCycle: Fwd + yStep: 5 + xStep: 3 + illegalBits: 0 + setMotion: MoveTo gEgoX 145 self + ) + ) + (12 (self changeState: 3)) + (20 + (gEgo view: 73 setLoop: 0 cel: 6 setCycle: End self) + ) + (21 + (gEgo hide:) + (Print 44 31) + ((ScriptID 0 5) setReal: self 5) + ) + (22 (= global127 1)) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm44.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm44.sco new file mode 100644 index 0000000..a93295c Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm44.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm45.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm45.sc new file mode 100644 index 0000000..9e91088 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm45.sc @@ -0,0 +1,504 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 45) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Cycle) +(use Game) +(use Feature) +(use Obj) + +(public + Room45 0 +) +(synonyms + (room room castle) + (leopard leopard cat) +) + +(local + newAct + newAct_2 + newProp + newProp_2 + newProp_4 + local5 + newProp_3 + newProp_5 + newProp_6 + newProp_7 + [local10 2] +) +(instance Room45 of Rm + (properties + picture 45 + style $0010 + ) + + (method (init) + (Load rsVIEW 632) + (Load rsVIEW 645) + (Load rsVIEW 365) + (Load rsVIEW 101) + (Load rsVIEW 112) + (Load rsVIEW 115) + (super init:) + (proc0_9) + (= global205 0) + (fairyMusic play:) + (gEgo + view: 4 + posn: 225 174 + illegalBits: -32768 + init: + setStep: 4 2 + setPri: -1 + ) + (if global223 + ((View new:) view: 632 posn: 115 100 setPri: 0 addToPic:) + ((View new:) view: 632 posn: 201 100 setPri: 0 addToPic:) + ((= newProp (Prop new:)) + view: 632 + posn: 115 43 + setLoop: 1 + setCycle: Fwd + init: + ) + ((= newProp_2 (Prop new:)) + view: 632 + posn: 201 43 + setLoop: 1 + setCycle: Fwd + init: + ) + ) + ((= newProp_3 (Prop new:)) + view: 101 + loop: 0 + cel: 0 + ignoreActors: 1 + posn: 159 126 + setPri: 11 + init: + ) + ((= newAct (Act new:)) + view: 112 + posn: 110 60 + setStep: 1 59 + setLoop: 0 + setCycle: Fwd + setScript: Flutter3 + init: + ) + ((= newAct_2 (Act new:)) + view: 115 + posn: 200 59 + setStep: 1 1 + setLoop: 1 + setCycle: Fwd + setScript: Flutter6 + init: + ) + ((= newProp_4 (Prop new:)) + view: 365 + posn: 59 130 + ignoreActors: 1 + init: + ) + (if global223 + (newProp_4 setScript: catMove) + else + (newProp_4 addToPic:) + ) + (gEgo observeBlocks: catBlock) + ) + + (method (doit) + (super doit:) + (if (gCast contains: gEgo) + (if (& (gEgo onControl: 0) $0040) + (gRoom newRoom: 46) + ) + (if + (and + (gEgo inRect: 93 116 223 151) + (!= (self script?) closer) + ) + (cond + ((< (gEgo x?) 158) + (if (!= (newAct script?) ChaseEgo) + (newAct setScript: ChaseEgo) + ) + ) + ((!= (newAct_2 script?) ChaseEgo) (newAct_2 setScript: ChaseEgo)) + ) + else + (if (!= (newAct script?) ChaseEgoWhenTalk) + (newAct setScript: Flutter3) + ) + (if (!= (newAct_2 script?) ChaseEgoWhenTalk) + (newAct_2 setScript: Flutter6) + ) + ) + ) + ) + + (method (dispose) + (proc0_21) + (super dispose:) + ) + + (method (handleEvent pEvent) + (return + (cond + ((pEvent claimed?) (return 1)) + ((== (pEvent type?) evSAID) + (cond + ((Said 'look>') + (cond + ((Said '[') + (if (Said ' (Random 0 200) 180) + (newProp_4 + cycleSpeed: 1 + setLoop: 1 + cel: 255 + setCycle: End self + ) + else + (self cue:) + ) + ) + (3 + (newProp_4 stopUpd:) + (= seconds 3) + ) + (4 + (newProp_4 setLoop: 0) + (= state -1) + (self cue:) + ) + ) + ) +) + +(instance closer of Script + (properties) + + (method (init param1) + (Load rsVIEW 101) + (Load rsVIEW 103) + (Load rsVIEW 104) + (super init: param1) + ) + + (method (changeState newState) + (switch (= state newState) + (0 + (proc0_8) + (= global204 0) + (proc0_21) + (gGame changeScore: 10) + (gCast eachElementDo: #hide) + (DrawPic 991) + (newProp_3 view: 103 loop: 0 posn: 160 159 show:) + ((= newProp_5 (Prop new:)) + view: 103 + loop: 1 + posn: (newProp_3 x?) (- (newProp_3 y?) 30) + setPri: (+ (newProp_3 priority?) 1) + init: + ) + ((= newProp_6 (Prop new:)) + view: 103 + loop: 2 + posn: (newProp_3 x?) (newProp_3 y?) + setPri: (+ (newProp_3 priority?) 1) + init: + setCycle: Fwd + ) + (= seconds 4) + ) + (1 + (newProp_5 cycleSpeed: 2 setCycle: End) + (= seconds 4) + ) + (2 + (newProp_6 dispose:) + (newProp_5 dispose:) + (newProp_3 hide:) + (= cycles 1) + ) + (3 + (DrawPic 45 dpOPEN_CENTEREDGE) + ((View new:) view: 632 posn: 115 100 setPri: 0 addToPic:) + ((View new:) view: 632 posn: 201 100 setPri: 0 addToPic:) + (newProp_3 + view: 101 + loop: 1 + cel: 0 + ignoreActors: 1 + posn: 159 126 + setPri: 11 + ) + (gCast eachElementDo: #show) + (newProp_3 setCycle: End) + (= seconds 4) + ) + (4 + (Print 45 37 67 20 10) + (Print 45 38 67 100 140) + (newProp_3 loop: 2 setCycle: End self) + ) + (5 + (Print 45 39 67 -1 150) + (= local5 (Print 45 40 67 -1 10 88)) + (newProp_3 loop: 3 setCycle: Fwd) + ((= newProp_7 (Prop new:)) + view: 686 + ignoreActors: 1 + posn: (gEgo x?) (gEgo y?) + setPri: (+ (gEgo priority?) 1) + init: + cel: 0 + setCycle: CT 5 1 self + ) + ) + (6 + (gEgo dispose:) + (newProp_7 cel: 5 setCycle: End self) + ) + (7 + (newProp_7 dispose:) + (proc0_21) + (newProp_3 view: 104 loop: 1 setCycle: End self) + ) + (8 + (= global205 1) + (gRoom newRoom: 690) + ) + ) + ) +) + +(instance fairyMusic of Sound + (properties + number 34 + ) +) + +(instance catBlock of Blk + (properties + top 125 + left 31 + bottom 131 + right 80 + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm45.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm45.sco new file mode 100644 index 0000000..43780ac Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm45.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm46.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm46.sc new file mode 100644 index 0000000..4de016b --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm46.sc @@ -0,0 +1,286 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 46) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Cycle) +(use Game) +(use Feature) +(use Obj) + +(public + Room46 0 +) +(synonyms + (room room castle) +) + +(local + newAct + newAct_2 +) +(instance theMusic of Sound + (properties + number 33 + ) +) + +(instance Room46 of Rm + (properties + picture 46 + style $0010 + ) + + (method (init) + (Load rsVIEW 110) + (Load rsVIEW 114) + (super init:) + (= global105 0) + (if (or (== gPrevRoomNum 47) (== gPrevRoomNum 0)) + (gEgo + view: 4 + baseSetter: (ScriptID 0 1) + posn: 250 164 + setStep: 4 2 + setPri: -1 + init: + ) + (proc0_8) + ) + (if (== gPrevRoomNum 45) + (gEgo + view: 4 + baseSetter: (ScriptID 0 1) + posn: 184 23 + setStep: 4 2 + setPri: 6 + illegalBits: 16384 + init: + ) + ) + ((= newAct (Act new:)) + view: 111 + posn: 231 65 + illegalBits: 8192 + setPri: 14 + xStep: 1 + yStep: 3 + setMotion: Wander 5 + setCycle: Fwd + init: + ) + ((= newAct_2 (Act new:)) + view: 113 + posn: 132 144 + illegalBits: 8192 + setPri: 14 + xStep: 1 + yStep: 3 + setMotion: Wander 5 + setCycle: Fwd + init: + ) + (theMusic play:) + (gEgo + observeBlocks: stairBlock1 stairBlock2 stairBlock3 stairBlock4 + ) + ) + + (method (doit) + (super doit:) + (if (& (gEgo onControl: 0) $0040) + (gEgo setPri: -1 baseSetter: 0) + (gRoom newRoom: 47) + ) + (if (& (gEgo onControl: 0) $0020) + (proc0_9) + (gEgo setPri: -1 illegalBits: -32768 baseSetter: 0) + (gRoom newRoom: 45) + ) + (if (& (gEgo onControl: 0) $0200) (gEgo setPri: 4)) + (if (& (gEgo onControl: 0) $0010) + (if (and (== global105 18) (== (gEgo script?) 0)) + (gEgo illegalBits: -32768 setPri: 4) + else + (gEgo setPri: 6) + ) + ) + (if + (and + (& (gEgo onControl: 0) $0008) + (not (& (gEgo signal?) $0010)) + ) + (gEgo setPri: 4) + ) + (if (& (gEgo onControl: 0) $1000) (gEgo setPri: -1)) + (if + (and + (!= global105 18) + (or + (& (gEgo onControl: 0) $0800) + (& (gEgo onControl: 1) $0400) + ) + ) + (proc0_8) + (= global105 18) + (gEgo setScript: moveOnTheStairs) + (if (& (gEgo onControl: 0) $0800) + (moveOnTheStairs changeState: 10) + else + (moveOnTheStairs changeState: 1) + ) + ) + ) + + (method (dispose) + (theMusic dispose:) + (super dispose:) + ) + + (method (handleEvent pEvent) + (return + (cond + ((pEvent claimed?) (return 1)) + ((== (pEvent type?) evSAID) + (cond + ((Said 'look>') + (cond + ((Said ' (gEgo y?) 150) + (gEgo illegalBits: 0) + (gEgo setMotion: MoveTo 199 133 self) + else + (gEgo illegalBits: 0) + (gEgo setMotion: MoveTo 261 172 self) + ) + ) + (2 + (if (& (gEgo onControl:) $0040) + (gEgo setPri: -1 illegalBits: -32768 baseSetter: 0) + (proc0_9) + (gRoom newRoom: 47) + else + (gEgo + observeBlocks: stairBlock1 stairBlock2 stairBlock3 stairBlock4 + ) + (gEgo illegalBits: -32768 setScript: 0) + (proc0_9) + (= global105 0) + ) + ) + (10 + (= global205 1) + (= global204 0) + (gEgo + ignoreBlocks: stairBlock1 stairBlock2 stairBlock3 stairBlock4 + ) + (if (< (gEgo y?) 50) + (gEgo illegalBits: 0) + (gEgo setMotion: MoveTo 69 105 self) + else + (gEgo illegalBits: 0) + (gEgo setMotion: MoveTo 205 7 self) + ) + ) + (11 + (gEgo + observeBlocks: stairBlock1 stairBlock2 stairBlock3 stairBlock4 + ) + (if (& (gEgo onControl:) $0020) + (gEgo setPri: -1 illegalBits: -32768 baseSetter: 0) + (proc0_9) + (gRoom newRoom: 45) + else + (proc0_9) + (gEgo illegalBits: -32768 setScript: 0) + (= global105 0) + ) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm46.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm46.sco new file mode 100644 index 0000000..a598937 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm46.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm47.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm47.sc new file mode 100644 index 0000000..15b60b2 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm47.sc @@ -0,0 +1,238 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 47) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Cycle) +(use Game) +(use Feature) + +(public + Room47 0 +) +(synonyms + (room room castle) +) + +(local + newAct + newAct_2 + newAct_3 + newAct_4 +) +(instance theMusic of Sound + (properties + number 33 + ) +) + +(instance Room47 of Rm + (properties + picture 47 + style $0010 + ) + + (method (init) + (Load rsVIEW 632) + (Load rsVIEW 111) + (Load rsVIEW 113) + (super init:) + (proc0_9) + (= global205 0) + (if (or (== gPrevRoomNum 37) (== gPrevRoomNum 0)) + (gEgo posn: 156 176 view: 4 xStep: 4 yStep: 2 init:) + ) + (if (== gPrevRoomNum 46) + (gEgo + posn: 72 141 + view: 4 + illegalBits: -32768 + xStep: 4 + yStep: 2 + init: + ) + ) + ((View new:) + view: 632 + loop: 0 + cel: 3 + posn: 38 105 + setPri: 14 + addToPic: + ) + ((View new:) + view: 632 + loop: 0 + cel: 4 + posn: 281 106 + setPri: 14 + addToPic: + ) + ((= newAct (Act new:)) + view: 632 + loop: 2 + cel: 2 + illegalBits: 0 + setPri: 14 + posn: 41 97 + setCycle: Fwd + init: + ) + ((= newAct_2 (Act new:)) + view: 632 + loop: 2 + cel: 2 + illegalBits: 0 + setPri: 14 + setCycle: Fwd + posn: 278 98 + init: + ) + ((= newAct_3 (Act new:)) + view: 111 + posn: 250 79 + illegalBits: 8192 + setPri: 14 + xStep: 1 + yStep: 3 + setMotion: Wander 5 + setCycle: Fwd + init: + ) + ((= newAct_4 (Act new:)) + view: 113 + posn: 65 74 + illegalBits: 8192 + setPri: 14 + xStep: 1 + yStep: 3 + setMotion: Wander 5 + setCycle: Fwd + init: + ) + (theMusic play:) + ) + + (method (doit) + (super doit:) + (if (& (gEgo onControl: 0) $0040) + (gRoom newRoom: 37) + ) + (if (& (gEgo onControl: 0) $0020) + (gRoom newRoom: 46) + ) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if (== (pEvent type?) evSAID) + (cond + ( + (or + (Said 'look[') + (cond + ( + (or + (Said '') + (cond + ((Said ' (ogressChase state?) 0) + ) + (cond + ((Said 'look/giantess') (Print 48 22)) + ((Said 'converse[/giantess]') (Print 48 23)) + ((Said 'kill[/giantess]') (Print 48 24)) + ((Said 'get,capture/giantess') (Print 48 25)) + ((Said 'deliver') (Print 48 26)) + ) + ) + else + 0 + ) + ) + ) +) + +(instance ogressChase of Script + (properties) + + (method (doit) + (super doit:) + ) + + (method (changeState newState) + (switch (= state newState) + (0 + (client + view: 245 + posn: 0 0 + illegalBits: 0 + ignoreActors: 1 + setPri: 8 + setCycle: Walk + init: + hide: + ) + (if (!= global14 0) (= seconds 10) else (= seconds 60)) + ) + (1 + (= local5 10) + (= global204 1) + (User canInput: 0) + (playMusic cue:) + (client + posn: 64 138 + show: + setAvoider: Avoid + setMotion: MoveTo 135 123 self + ) + ) + (2 + (if (and (< (gEgo x?) 135) (> (gEgo y?) 128)) + (newAct setAvoider: Avoid setMotion: MoveTo 145 135 self) + else + (self cue:) + ) + ) + (3 + (Print 48 27) + (client + illegalBits: -32768 + setPri: -1 + setAvoider: Avoid + setMotion: Chase gEgo 15 self + ) + ) + (4 + (proc0_8) + (= local5 11) + (playMusic cue:) + (gEgo hide:) + (gEgo hide:) + (client + view: 48 + cycleSpeed: 2 + cel: 255 + setCycle: End self + ) + ) + (5 + (Print 48 28 67 -1 10) + (= seconds 4) + ) + (6 (= global127 1)) + ) + ) +) + +(instance ogressChaseMusic of Sound + (properties + number 10 + ) +) + +(instance ogressCatchMusic of Sound + (properties + number 11 + ) +) + +(instance playMusic of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (switch local5 + (10 + (ogressChaseMusic play: self) + ) + (11 + (ogressCatchMusic play: self) + ) + ) + ) + (1 + (if (!= local5 11) (= state -1) (self cue:)) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm48.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm48.sco new file mode 100644 index 0000000..ec0871a Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm48.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm49.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm49.sc new file mode 100644 index 0000000..8216c41 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm49.sc @@ -0,0 +1,1055 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 49) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Avoid) +(use Sound) +(use Cycle) +(use Game) +(use InvI) +(use User) +(use Feature) +(use Obj) + +(public + Room49 0 +) + +(local + newAct_4 + local1 + newAct_3 + newAct_2 + newAct + newProp + newProp_2 + newAct_5 + newProp_3 + local9 + local10 + local11 +) +(instance theMusic of Sound + (properties) +) + +(instance throwSound of Sound + (properties) +) + +(instance Room49 of Rm + (properties + picture 49 + style $0010 + ) + + (method (init) + (Load rsVIEW 541) + (= global105 0) + (if (not ((Inv at: 23) ownedBy: 49)) + (Load rsVIEW 351) + (Load rsVIEW 352) + (Load rsVIEW 87) + (Load rsVIEW 15) + ) + (self setRegions: 602) + (super init:) + (if + (and (> global165 0) (!= global165 5) (not global167)) + (= local1 1) + ) + (= global101 1) + (= global189 1) + (if global100 + ((View new:) + view: 616 + loop: 1 + posn: 50 128 + ignoreActors: 1 + addToPic: + stopUpd: + ) + ) + ((Prop new:) + view: 541 + loop: (if global100 1 else 2) + cel: 0 + posn: 86 136 + ignoreActors: 1 + setPri: 12 + setCycle: Fwd + init: + addToPic: + ) + ((= newAct (Act new:)) + view: 351 + illegalBits: 0 + loop: 1 + setStep: 5 2 + posn: (if (== ((gInv at: 23) owner?) 49) 155 else 160) 126 + init: + ) + (if (== global165 5) ((gInv at: 33) owner: 48)) + (if ((gInv at: 33) ownedBy: 49) + ((= newAct_2 (Act new:)) + view: 360 + posn: 230 129 + init: + hide: + ) + (newAct_2 setScript: henPecked) + ) + ((= newProp (Prop new:)) + view: 615 + loop: 0 + cel: 0 + posn: 209 123 + init: + stopUpd: + ) + ((= newProp_2 (Prop new:)) + view: 616 + ignoreActors: 1 + loop: 0 + posn: 59 129 + init: + ) + (if (or (== gPrevRoomNum 4) (== gPrevRoomNum 0)) + (newProp_2 setPri: 0 ignoreActors: 1) + (= global210 1) + (gEgo + posn: 53 132 + view: 2 + loop: 0 + setStep: 3 2 + illegalBits: -32768 + init: + ) + (if (or (> global109 2) (gEgo has: 33)) + (Load rsVIEW 245) + (Load rsVIEW 48) + ((= newAct_3 (Act new:)) + view: 245 + posn: 65 131 + setStep: 4 2 + init: + setScript: ogressChase + ) + ) + ) + (if (== gPrevRoomNum 48) + (gEgo + posn: 181 69 + view: 2 + loop: 1 + setStep: 3 2 + illegalBits: -32768 + init: + ) + ) + (if (== gPrevRoomNum 50) + (gEgo + posn: 267 131 + view: 2 + setStep: 3 2 + illegalBits: -32768 + init: + ) + (if global167 + (Load rsVIEW 245) + (Load rsVIEW 48) + ((= newAct_3 (Act new:)) + view: 245 + illegalBits: -32768 + posn: 301 131 + setStep: 4 2 + init: + setScript: ogressChase + ) + ) + (if (or (== global165 1) (== global165 90)) + (self setScript: ogreStuff) + ) + ) + (if (== gPrevRoomNum 51) + (gEgo + view: 2 + setStep: 3 2 + loop: 2 + illegalBits: -32768 + posn: 225 128 + init: + setCycle: Walk + setMotion: 0 + ) + (if (== global165 5) + (Load rsVIEW 245) + (Load rsVIEW 48) + ((= newAct_3 (Act new:)) + view: 245 + illegalBits: -32768 + posn: 301 131 4 2 + init: + setScript: ogressChase + ) + ) + (if (== global165 4) + (Load rsVIEW 250) + (Load rsVIEW 78) + (Load rsVIEW 79) + ((= newAct_4 (Act new:)) + view: 250 + posn: 235 132 + setStep: 6 2 + init: + setCycle: Walk + ) + (= global210 0) + ) + ) + (if (== global165 2) + (= global210 0) + (newProp_2 setPri: -1 cel: 0) + (Load rsVIEW 250) + (Load rsVIEW 78) + (Load rsVIEW 79) + (Load rsVIEW 256) + ((= newAct_4 (Act new:)) + view: 256 + posn: 201 158 + setStep: 6 2 + init: + cycleSpeed: 2 + setCycle: Fwd + ) + (newAct_4 setScript: ogreAwake) + ) + (if (== global165 3) + (= global210 0) + (newProp_2 setPri: -1 cel: 0) + (Load rsVIEW 250) + (Load rsVIEW 78) + (Load rsVIEW 79) + ((= newAct_4 (Act new:)) + illegalBits: 0 + view: 256 + posn: 201 158 + setStep: 6 2 + init: + cycleSpeed: 2 + setCycle: Fwd + ) + (newAct_4 setScript: ogreAwake) + ) + (newProp_2 + cel: (if global210 (newProp_2 lastCel:) else 0) + init: + stopUpd: + ) + (if (not (newProp_2 cel?)) + (gEgo observeControl: 16384) + else + (gEgo ignoreControl: 16384) + ) + (if (== ((gInv at: 23) owner?) 49) + (newAct setScript: chewBone) + else + (newAct setScript: chaseEgo) + ) + ) + + (method (doit) + (super doit:) + (if (& (gEgo onControl:) $0004) + (gEgo setPri: 4) + else + (gEgo setPri: -1) + ) + (if + (and + global165 + (> (gEgo x?) 111) + (> (gEgo y?) 123) + (!= global165 5) + (!= (self script?) ogreStuff) + (!= (self script?) ogreAwake) + ) + (if + (not + (if (== gPrevRoomNum 50) + (if (== global165 4) else (== global165 1)) + ) + ) + (self setScript: ogreStuff) + ) + ) + (if (& (gEgo onControl: 0) $0040) + (proc0_9) + (gRoom newRoom: 4) + ) + (if + (and (& (gEgo onControl: 0) $0010) (not local9)) + (proc0_9) + (gRoom newRoom: 51) + ) + (if (& (gEgo onControl: 0) $0008) + (proc0_9) + (gRoom newRoom: 48) + ) + (if + (and (& (gEgo onControl: 0) $0020) (not local9)) + (proc0_9) + (gRoom newRoom: 50) + ) + (if + (and + (& (gEgo onControl: 0) $0400) + (!= global105 18) + (not local9) + ) + (= global105 18) + (proc0_8) + (moveOnTheStairs changeState: 1) + ) + ) + + (method (dispose) + (proc0_9) + (= global189 0) + (super dispose:) + ) + + (method (handleEvent pEvent &tmp gInvSaidMe) + (return + (cond + ((pEvent claimed?) (return 1)) + ((== (pEvent type?) evSAID) + (cond + ((Said 'look>') + (cond + ((Said '') (Print 49 23) (pEvent claimed: 1)) + ((Said 'converse/bulldog') + (if (== (newAct script?) chewBone) + (Print 49 17) + else + (Print 49 18) + ) + ) + ((Said 'converse,awaken[/giant]') + (if (gCast contains: newAct_4) + (if (== global165 3) + (if + (and + (< (gEgo distanceTo: newAct_4) 50) + (not (ogreAwake state?)) + ) + (Print 49 24) + (= local11 1) + (ogreAwake cue:) + else + (Print 49 25) + ) + else + (Print 49 26) + ) + else + (Print 49 27) + ) + ) + ( + (or (Said 'open/closet') (Said 'open/door (gEgo x?) (- (newAct_2 x?) 11)) + (< (gEgo x?) (+ (newAct_2 x?) 11)) + ) + (= global182 1) + (gEgo get: 33) + (gGame changeScore: 4) + (newAct_2 dispose:) + ) + (else (proc0_13)) + ) + ) + ((Said 'kill/giant') (Print 49 36)) + ( + (or + (Said 'kiss/giant') + (Said 'kiss/bulldog') + (Said 'kiss[/!*]') + ) + (Print 49 37) + ) + ((Said 'fling,deliver,feed/bone') + (if (gEgo has: 23) + (if (> (gEgo distanceTo: newAct) 40) + (proc0_8) + (newAct setMotion: 0 setCycle: 0 setScript: 0) + ((gInv at: 23) moveTo: 49) + (gGame changeScore: 4) + (newAct setScript: catchBone) + else + (Print 49 38) + ) + else + (Print 49 39) + ) + ) + ((Said 'get,rob/bone') + (if (== ((gInv at: 23) owner?) 49) + (Print 49 40) + else + (Print 49 41) + ) + ) + ((Said 'get,capture/giant') (Print 49 42)) + ( + (and (Said 'deliver>') (= gInvSaidMe (gInv saidMe:))) + (if + (and gInvSaidMe (gEgo has: (gInv indexOf: gInvSaidMe))) + (if (gCast contains: newAct_4) + (Print 49 43) + else + (Print 49 44) + ) + (pEvent claimed: 1) + else + (Print 49 45) + (pEvent claimed: 1) + ) + ) + ) + ) + ) + ) + ) + + (method (newRoom newRoomNumber) + (if (== newRoomNumber 4) + ((ScriptID 602) keep: 0) + (= global189 0) + ) + (super newRoom: newRoomNumber) + ) +) + +(instance ogreStuff of Script + (properties) + + (method (doit) + (super doit:) + (if + (and + (not global167) + (== (self state?) 11) + (> (gEgo y?) 122) + ) + (self cue:) + ) + ) + + (method (changeState newState) + (switch (= state newState) + (0 + (switch global165 + (1 + (if global167 + (self changeState: 11) + else + (self changeState: 10) + ) + ) + (2 (self changeState: 20)) + (3 (self changeState: 30)) + ) + ) + (10 + (if (== (newProp_2 cel?) 0) + (newProp_2 setCycle: End setPri: 0) + ) + (theMusic number: 5 loop: -1 play:) + (self cue:) + ) + (11 + ((= newAct_4 (Act new:)) + view: 250 + posn: 53 132 + setStep: 6 2 + init: + setCycle: Walk + ) + (User canInput: 0) + (if (not global167) + (newAct_4 setMotion: MoveTo 130 133) + else + (proc0_3 newAct_4 gEgo) + ) + ) + (12 + (= local9 1) + (newAct_4 + setAvoider: (Avoid new:) + setCycle: Walk + setMotion: Chase gEgo 15 self + ) + ) + (13 + (User canControl: 0 canInput: 0) + (gEgo dispose:) + (newAct_4 view: 78 setCycle: End self) + (Print 49 46 67 -1 20 83) + (theMusic number: 6 loop: 1 play:) + (Print 49 47 67 -1 10) + ) + (14 + (newAct_4 + view: 79 + setPri: 9 + setCycle: Walk + setAvoider: Avoid + setMotion: MoveTo 246 132 self + ) + ) + (15 (= global127 1)) + (20 + (Print 49 48 67 -1 10) + (ogreAwake state: 0) + ((= newAct_4 (Act new:)) + illegalBits: 0 + view: 256 + loop: 2 + posn: 200 158 + setStep: 6 2 + setPri: 12 + init: + setScript: ogreAwake + ) + ) + (30 + (if (== gPrevRoomNum 51) (Print 49 49 67 -1 10)) + ) + ) + ) +) + +(instance ogreAwake of Script + (properties) + + (method (doit) + (super doit:) + (if + (and + (not global167) + (== (self state?) 1) + (> (gEgo y?) 122) + (not (& (gEgo onControl:) $0004)) + ) + (self cue:) + ) + ) + + (method (changeState newState) + (switch (= state newState) + (0 + (if (!= global165 2) + (if (== global223 0) + (= seconds 75) + else + (= seconds 60) + ) + else + (self cue:) + ) + ) + (1 + (if (> (gEgo y?) 122) (return)) + ) + (2 + (gEgo observeControl: 4) + (cond + ((gEgo has: 33) (if (not local11) (Print 49 50 25 4))) + ((== global165 3) (Print 49 51)) + ) + (theMusic number: 5 loop: -1 play:) + (newAct_4 cycleSpeed: 0 loop: 1 setCycle: End self) + ) + (3 + (if (== global223 0) (= seconds 3) else (self cue:)) + ) + (4 + (= global165 4) + (= local9 1) + (newAct_4 + view: 250 + posn: (newAct_4 x?) (- (newAct_4 y?) 3) + setAvoider: Avoid + setCycle: Walk + setMotion: Chase gEgo 15 self + ) + ) + (5 + (User canControl: 0 canInput: 0) + (if (gEgo has: 33) + (Print 49 52 83) + else + (Print 49 47 83) + ) + (theMusic number: 6 loop: 1 play:) + (gEgo dispose:) + (newAct_4 view: 78 setCycle: End self) + ) + (6 + (newAct_4 + view: 79 + setCycle: Walk + illegalBits: -32768 + setPri: -1 + setAvoider: Avoid + setMotion: MoveTo 246 132 self + ) + ) + (7 (= global127 1)) + ) + ) +) + +(instance ogressChase of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (= local9 1) + (theMusic number: 10 loop: -1 play:) + (newAct_3 + illegalBits: -32768 + setAvoider: Avoid + ignoreActors: 1 + setCycle: Walk + setMotion: Chase gEgo 15 self + ) + ) + (1 + (proc0_8) + (theMusic number: 11 loop: 1 play:) + (gEgo hide:) + (newAct_3 + view: 48 + cycleSpeed: 2 + cel: 255 + setCycle: End self + ) + ) + (2 + (Print 49 53 67 -1 10 83) + (= seconds 4) + ) + (3 (= global127 1)) + ) + ) +) + +(instance henPecked of Script + (properties) + + (method (init param1) + (super init: param1) + ) + + (method (changeState newState) + (switch (= state newState) + (0 + (newAct_2 + view: 360 + posn: 225 129 + loop: 0 + show: + setPri: 12 + ignoreActors: 1 + setCycle: Walk + moveSpeed: 2 + cycleSpeed: 0 + setMotion: MoveTo 260 133 self + ) + ) + (1 + (if (gCast contains: newAct_2) + (newAct_2 + loop: (+ (newAct_2 loop?) 2) + setCycle: End self + ) + ) + ) + (2 + (if (gCast contains: newAct_2) + (newAct_2 + setCycle: Walk + setMotion: + MoveTo + (if (> (newAct_2 x?) 238) + (Random 214 230) + else + (Random 240 262) + ) + 133 + self + ) + ) + ) + (3 (= state 0) (self cue:)) + ) + ) +) + +(instance chaseEgo of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (Print 49 54 67 -1 10 83) + (newAct + setAvoider: (Avoid new:) + setCycle: Fwd + ignoreActors: 1 + setMotion: Chase gEgo 15 self + ) + ) + (1 + (User canInput: 0 canControl: 0) + (gEgo dispose:) + (newAct view: 87 loop: 0 setMotion: 0) + (self cue:) + ) + (2 + (newAct loop: 1 setCycle: Fwd) + (theMusic number: 5 loop: -1 play:) + (= seconds 3) + ) + (3 + (newAct loop: 3 cycleSpeed: 2 setCycle: End) + (= seconds 4) + ) + (4 + ((= newProp_3 (Prop new:)) + view: 87 + loop: 4 + cel: 0 + setPri: 15 + posn: (- (newAct x?) 17) (- (newAct y?) 9) + init: + cycleSpeed: 1 + setCycle: Fwd + ) + (= seconds 2) + ) + (5 + (newProp_3 dispose:) + (Print 49 55 83 67 -1 10) + (= global127 1) + ) + ) + ) +) + +(instance chewBone of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (newAct + view: 350 + loop: 2 + ignoreActors: 0 + cycleSpeed: 1 + setCycle: Fwd + ) + (= seconds 2) + ) + (1 + (dogsPlace + top: (newAct nsTop?) + bottom: (+ (newAct nsBottom?) 1) + left: (- (newAct nsLeft?) 1) + right: (+ (newAct nsRight?) 1) + init: + ) + (gEgo observeBlocks: dogsPlace) + ) + ) + ) +) + +(instance dogsPlace of Blk + (properties) +) + +(instance catchBone of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (proc0_3 gEgo newAct) + (throwSound number: 63 play:) + (gEgo + view: 15 + cycleSpeed: 1 + cel: 255 + setCycle: CT 5 1 self + ) + ) + (1 + (gEgo cel: 6 setCycle: End) + ((= newAct_5 (Act new:)) + view: 541 + illegalBits: 0 + posn: (+ (gEgo x?) 3) (- (gEgo y?) 25) + setLoop: 0 + setPri: 14 + setStep: 6 1 + setCycle: Fwd + setMotion: MoveTo (- (newAct x?) 10) (- (newAct y?) 11) self + init: + ) + ) + (2 + (Print 49 56 70 290 67 -1 10 88) + (gEgo view: 2 cycleSpeed: 0 setCycle: Walk) + (newAct_5 dispose:) + (newAct view: 350 loop: 3 setCycle: End self) + ) + (3 + (newAct + view: 352 + setLoop: (if (< (newAct x?) 155) 0 else 1) + setCycle: Walk + moveSpeed: 1 + setMotion: MoveTo 155 126 self + ) + ) + (4 + (newAct + view: 350 + loop: 2 + ignoreActors: 0 + cycleSpeed: 1 + setCycle: Fwd + ) + (= seconds 8) + ) + (5 + (if gModelessDlg (gModelessDlg dispose:)) + (proc0_9) + (newAct setScript: chewBone) + ) + ) + ) +) + +(instance doorOpen of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (proc0_8) + (gEgo + setMotion: MoveTo (+ (client x?) 20) (+ (client y?) 9) self + ) + ) + (1 + (proc0_3 gEgo client) + (client setCycle: End self) + ) + (2 + (gEgo + setMotion: MoveTo (gEgo x?) (+ (client y?) 2) self + ) + ) + (3 + (proc0_9) + (gRoom newRoom: 51) + ) + ) + ) +) + +(instance moveOnTheStairs of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (1 + (gEgo setStep: 2 2) + (gEgo illegalBits: 0) + (if (> (gEgo y?) 100) + (gEgo setMotion: MoveTo 194 61 self) + else + (gEgo setMotion: MoveTo 97 123 self) + ) + ) + (2 + (proc0_9) + (gEgo illegalBits: -32768) + (if (== global210 0) (gEgo observeControl: 16384)) + (gEgo setStep: 3 2) + (= global105 0) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm49.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm49.sco new file mode 100644 index 0000000..68efe36 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm49.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm5.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm5.sc new file mode 100644 index 0000000..fe29dc5 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm5.sc @@ -0,0 +1,269 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 5) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Cycle) +(use Game) +(use Feature) +(use Obj) + +(public + Room5 0 +) + +(local + [newProp 9] + local9 + newProp_2 + local11 + newProp_3 +) +(instance gMusic of Sound + (properties + number 65 + ) +) + +(instance walkingMusic of Sound + (properties + number 64 + ) +) + +(instance Room5 of Rm + (properties + picture 5 + ) + + (method (init) + (= north 29) + (= south 11) + (= east 6) + (= west 4) + (= horizon 86) + (= global101 0) + (Load rsSOUND 65) + (gEgo edgeHit: 0) + (self setRegions: 509) + (super init:) + (if global100 (gRoom overlay: 105)) + (= local9 1) + (while (<= local9 7) + (= [newProp local9] (Prop new:)) + (++ local9) + ) + ([newProp 1] + view: 690 + loop: 0 + cel: 0 + cycleSpeed: 1 + ignoreActors: + posn: 270 81 + setPri: 15 + init: + stopUpd: + ) + ([newProp 2] + view: 690 + loop: 1 + cel: 0 + cycleSpeed: 1 + ignoreActors: + posn: 270 81 + setPri: 15 + init: + stopUpd: + ) + ([newProp 3] + view: 690 + loop: 2 + cel: 0 + cycleSpeed: 1 + ignoreActors: + posn: 291 78 + setPri: 8 + init: + stopUpd: + ) + ([newProp 4] + view: 690 + loop: 3 + cel: 0 + cycleSpeed: 1 + ignoreActors: + posn: 311 150 + setPri: 7 + init: + stopUpd: + ) + ([newProp 5] + view: 690 + loop: 3 + cel: 0 + cycleSpeed: 1 + ignoreActors: + posn: 269 89 + setPri: 2 + init: + stopUpd: + ) + ([newProp 6] + view: 691 + loop: 0 + cel: 0 + cycleSpeed: 1 + ignoreActors: + posn: 115 76 + setPri: 8 + init: + stopUpd: + ) + ([newProp 7] + view: 691 + loop: 1 + cel: 0 + cycleSpeed: 1 + ignoreActors: + posn: 235 162 + setPri: 15 + init: + stopUpd: + ) + (= newProp_2 (Prop new:)) + (= newProp_3 (Prop new:)) + (newProp_2 + isExtra: 1 + view: 689 + loop: 0 + cel: 3 + ignoreActors: + posn: 208 57 + setPri: 15 + setCycle: Fwd + cycleSpeed: 4 + init: + ) + (newProp_3 + isExtra: 1 + view: 689 + loop: 1 + cel: 0 + ignoreActors: + posn: 233 44 + setPri: 15 + setCycle: Fwd + cycleSpeed: 3 + init: + ) + (switch gPrevRoomNum + (4 + (if (<= (gEgo y?) 135) + (gEgo posn: 1 120) + else + (gEgo posn: 1 (gEgo y?)) + ) + ) + (6 + (if (< (gEgo y?) 133) + (gEgo posn: 318 133) + else + (gEgo posn: 318 (gEgo y?)) + ) + ) + (11 + (if (> (gEgo x?) 207) + (gEgo posn: 207 187) + else + (gEgo posn: (gEgo x?) 187) + ) + ) + (29 + (if (> (gEgo x?) 272) (gEgo x: 258)) + (gEgo posn: (gEgo x?) (+ horizon (gEgo yStep?))) + ) + (0 (gEgo x: 290 y: 161)) + ) + (walkingMusic play:) + (gEgo view: 2 init:) + ) + + (method (doit) + (super doit:) + (if + (and (not global112) (== (gRoom script?) 0)) + (cond + ((& (gEgo onControl: 0) $0040) (= local11 3) (= local9 1) (gRoom setScript: grabbed)) + ((& (gEgo onControl: 0) $0020) (= local11 3) (= local9 2) (gRoom setScript: grabbed)) + ((& (gEgo onControl: 0) $0010) (= local11 3) (= local9 3) (gRoom setScript: grabbed)) + ((& (gEgo onControl: 0) $0004) (= local11 1) (= local9 7) (gRoom setScript: grabbed)) + ((& (gEgo onControl: 0) $0400) (= local11 1) (= local9 4) (gRoom setScript: grabbed)) + ((& (gEgo onControl: 0) $0200) (= local11 1) (= local9 5) (gRoom setScript: grabbed)) + ((& (gEgo onControl: 0) $0002) (= local11 2) (= local9 6) (gRoom setScript: grabbed)) + ) + ) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if (== (pEvent type?) evSAID) + (cond + ( + (or + (Said 'look/room') + (Said 'look/around') + (Said 'look[') + (cond + ((Said '') (= gInvSaidMe (gInv saidMe:))) + (if (gInvSaidMe ownedBy: gEgo) + (Print 50 16) + else + (pEvent claimed: 1) + (Print 50 17) + ) + ) + ) + else + 0 + ) + ) + ) +) + +(instance ogressChase of Script + (properties) + + (method (doit) + (super doit:) + (if + (and (< (gEgo distanceTo: client) 25) (== state 0)) + (= seconds 0) + (self cue:) + ) + ) + + (method (changeState newState) + (switch (= state newState) + (0 + (client + view: 247 + loop: 0 + posn: 173 121 + cycleSpeed: 3 + setCycle: Fwd + init: + ) + (= seconds 5) + ) + (1 + (Print 50 18) + (self cue:) + ) + (2 + (theSelection number: 10 loop: 1 play:) + (= global167 1) + (newAct + view: 245 + cycleSpeed: 0 + illegalBits: 0 + setCycle: Walk + setAvoider: Avoid + setMotion: Chase gEgo 15 self + ) + ) + (3 + (theSelection number: 11 loop: 1 play:) + (gEgo hide:) + (newAct + view: 48 + setCycle: Walk + setMotion: MoveTo 173 125 self + ) + ) + (4 + (Print 50 19 67 -1 10) + (= seconds 5) + ) + (5 (= global127 1)) + ) + ) +) + +(instance ogressChaseMusic of Sound + (properties + number 10 + ) +) + +(instance ogressCatchMusic of Sound + (properties + number 11 + ) +) + +(instance playMusic of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (switch theSelection + (10 + (ogressChaseMusic play: self) + ) + (11 + (ogressCatchMusic play: self) + ) + ) + ) + (1 + (if (!= theSelection 11) (= state -1) (self cue:)) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm50.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm50.sco new file mode 100644 index 0000000..9da310e Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm50.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm51.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm51.sc new file mode 100644 index 0000000..cb2f904 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm51.sc @@ -0,0 +1,423 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 51) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Cycle) +(use Game) +(use Feature) +(use Obj) + +(public + Room51 0 +) + +(local + newProp + newView + newProp_2 + newProp_3 + newView_2 + newProp_4 + local6 + local7 +) +(instance keyholeMusic of Sound + (properties + number 61 + ) +) + +(instance Room51 of Rm + (properties + picture 51 + style $0010 + ) + + (method (init) + (= global101 1) + (= global189 1) + (Load rsVIEW 2) + (Load rsVIEW 614) + (Load rsVIEW 647) + (self setRegions: 602) + (super init:) + (keyholeMusic init:) + (if (and (gEgo has: 33) (< global165 5)) + (= global165 4) + ) + (if (or (== gPrevRoomNum 49) (== gPrevRoomNum 0)) + (gEgo + view: 2 + setStep: 3 2 + posn: 156 139 + illegalBits: -32768 + init: + ) + ((= newProp (Prop new:)) + view: 614 + loop: 0 + setCel: 255 + posn: 177 132 + ignoreActors: 0 + setPri: 8 + init: + setCycle: Beg + ) + ((= newView (View new:)) + view: 614 + setLoop: 1 + posn: 165 105 + init: + hide: + ) + (if (and global165 (< global165 5)) + (newView + cel: + (switch global165 + (1 0) + (2 1) + (3 + (if (gEgo has: 33) 3 else 2) + ) + (4 0) + ) + setPri: 2 + show: + ) + ) + (gEgo loop: 2 setMotion: 0) + ) + ) + + (method (dispose) + (= global189 0) + (super dispose:) + ) + + (method (handleEvent pEvent) + (return + (cond + ((pEvent claimed?) (return 1)) + ((== (pEvent type?) evSAID) + (cond + ((Said 'look>') + (cond + ((Said '/keyhole') + (if (== (newProp cel?) 0) + (cond + ((not global166) + (if (and (> global165 0) (!= global165 5)) + (self setScript: theKeyhole) + else + (self setScript: emptyHole) + ) + ) + ((!= script theKeyhole) (self setScript: emptyHole)) + (else (Print 51 0)) + ) + else + (Print 51 1) + ) + ) + ((Said '/door') (Print 51 2)) + ((Said '/wall') (Print 51 3)) + ((or (Said '/dirt') (Said ' global165 1) (< global165 5)) + (newView + cel: + (switch global165 + (1 0) + (2 1) + (3 + (if (gEgo has: 33) 3 else 2) + ) + (4 0) + ) + setPri: 2 + show: + ) + else + (newView hide:) + ) + (client ignoreActors: 1 setCycle: End self) + ) + (1 + (proc0_18) + (proc0_9) + (gRoom newRoom: 49) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm51.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm51.sco new file mode 100644 index 0000000..751e082 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm51.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm53.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm53.sc new file mode 100644 index 0000000..fc71038 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm53.sc @@ -0,0 +1,565 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 53) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Avoid) +(use Cycle) +(use Game) +(use Feature) +(use Obj) + +(public + Room53 0 +) +(synonyms + (room bedroom cottage) +) + +(local + newView_18 + newView_19 + newView_20 + newView_21 + newView_22 + newView_23 + newView_24 + newView + newView_2 + newView_3 + newView_4 + newView_5 + newView_6 + newView_7 + newView_8 + newView_9 + newView_10 + newView_11 + newView_12 + newView_13 + newView_14 + newView_15 + newView_16 + newView_17 + [local24 2] + newAct + local27 +) +(instance Room53 of Rm + (properties + picture 53 + style $0010 + ) + + (method (init) + (Load rsVIEW 676) + (Load rsVIEW 290) + (self setRegions: 601) + (= global189 1) + (super init:) + ((View new:) + view: 676 + loop: 3 + cel: 0 + posn: 230 76 + setPri: 4 + addToPic: + ) + ((View new:) + view: 676 + loop: 3 + cel: 1 + posn: 42 87 + setPri: 10 + addToPic: + ) + (if (or (== gPrevRoomNum 54) (== gPrevRoomNum 0)) + (gEgo + posn: 72 131 + view: 4 + setStep: 4 2 + illegalBits: -32768 + init: + ) + ) + (if global115 (self setScript: cleanBedroom)) + (if (not global102) + (Load rsVIEW 675) + (Load rsVIEW 676) + (Load rsVIEW 63) + (Load rsVIEW 678) + (Load rsSOUND 62) + ((= newAct (Act new:)) + view: 290 + illegalBits: 0 + loop: 0 + setCycle: Walk + posn: 72 1131 + illegalBits: 0 + ignoreActors: 1 + setCycle: Walk + setScript: chaseEgo + init: + ) + ((= newView (View new:)) + view: 676 + loop: 0 + cel: 0 + posn: 102 88 + ignoreActors: 1 + stopUpd: + init: + ) + ((= newView_2 (View new:)) + view: 676 + loop: 0 + cel: 1 + posn: 261 124 + ignoreActors: 1 + stopUpd: + init: + ) + ((= newView_3 (View new:)) + view: 676 + loop: 0 + cel: 2 + posn: 246 135 + ignoreActors: 1 + stopUpd: + init: + ) + ((= newView_4 (View new:)) + view: 676 + loop: 0 + cel: 3 + posn: 101 111 + ignoreActors: 1 + stopUpd: + init: + ) + ((= newView_5 (View new:)) + view: 676 + loop: 0 + cel: 4 + posn: 198 106 + ignoreActors: 1 + stopUpd: + init: + ) + ((= newView_6 (View new:)) + view: 676 + loop: 0 + cel: 5 + posn: 97 149 + ignoreActors: 1 + stopUpd: + init: + ) + ((= newView_7 (View new:)) + view: 676 + loop: 0 + cel: 6 + posn: 174 146 + ignoreActors: 1 + setPri: 13 + stopUpd: + init: + ) + ((= newView_8 (View new:)) + view: 676 + loop: 1 + cel: 0 + posn: 275 149 + ignoreActors: 1 + setPri: 11 + stopUpd: + init: + ) + ((= newView_9 (View new:)) + view: 676 + loop: 1 + cel: 1 + posn: 255 146 + ignoreActors: 1 + setPri: 11 + stopUpd: + init: + ) + ((= newView_10 (View new:)) + view: 676 + loop: 1 + cel: 2 + posn: 201 146 + ignoreActors: 1 + setPri: 13 + stopUpd: + init: + ) + ((= newView_11 (View new:)) + view: 676 + loop: 1 + cel: 3 + posn: 195 83 + ignoreActors: 1 + stopUpd: + init: + ) + ((= newView_12 (View new:)) + view: 676 + loop: 2 + cel: 0 + posn: 182 125 + ignoreActors: 1 + stopUpd: + init: + ) + ((= newView_13 (View new:)) + view: 676 + loop: 2 + cel: 1 + posn: 17 146 + ignoreActors: 1 + stopUpd: + init: + ) + ((= newView_14 (View new:)) + view: 676 + loop: 2 + cel: 2 + posn: 24 136 + ignoreActors: 1 + stopUpd: + init: + ) + ((= newView_15 (View new:)) + view: 676 + loop: 2 + cel: 3 + posn: 292 139 + ignoreActors: 1 + stopUpd: + init: + ) + ((= newView_16 (View new:)) + view: 676 + loop: 2 + cel: 4 + posn: 264 133 + ignoreActors: 1 + stopUpd: + init: + ) + ((= newView_17 (View new:)) + view: 676 + loop: 2 + cel: 5 + posn: 270 135 + ignoreActors: 1 + stopUpd: + init: + ) + ((= newView_18 (View new:)) + view: 675 + loop: 0 + cel: 0 + posn: 128 92 + ignoreActors: 1 + stopUpd: + init: + ) + ((= newView_19 (View new:)) + view: 675 + loop: 0 + cel: 1 + posn: 178 91 + ignoreActors: 1 + stopUpd: + init: + ) + ((= newView_20 (View new:)) + view: 675 + loop: 0 + cel: 2 + posn: 130 117 + ignoreActors: 1 + stopUpd: + init: + ) + ((= newView_21 (View new:)) + view: 675 + loop: 0 + cel: 3 + posn: 177 120 + ignoreActors: 1 + stopUpd: + init: + ) + ((= newView_22 (View new:)) + view: 675 + loop: 0 + cel: 4 + posn: 237 120 + ignoreActors: 1 + stopUpd: + init: + ) + ((= newView_23 (View new:)) + view: 675 + loop: 0 + cel: 5 + posn: 132 156 + ignoreActors: 1 + setPri: 13 + stopUpd: + init: + ) + ((= newView_24 (View new:)) + view: 675 + loop: 0 + cel: 6 + posn: 173 156 + ignoreActors: 1 + setPri: 13 + stopUpd: + init: + ) + ) + ) + + (method (doit) + (super doit:) + (if (& (gEgo onControl: 0) $0040) + (gRoom newRoom: 54) + ) + ) + + (method (handleEvent pEvent) + (super handleEvent: pEvent) + (if + (or (!= (pEvent type?) evSAID) (pEvent claimed?)) + (return) + ) + (cond + ((or (Said 'clean/room') (Said 'clean[/!*]')) + (if (!= global102 1) + (self setScript: cleanBedroom) + else + (Print 53 0) + ) + ) + ((Said 'look>') + (cond + ((Said '/bed') (Print 53 1)) + ((Said '/stair') (Print 53 2)) + ((Said '= local11 0) + ((= [newView local11] (View new:)) + view: 500 + loop: 1 + cel: 2 + ignoreActors: 1 + setPri: 12 + posn: + (switch local11 + (0 189) + (1 193) + (2 218) + (3 228) + (4 240) + (5 262) + (6 270) + (7 295) + ) + (switch local11 + (0 136) + (1 133) + (2 133) + (3 136) + (4 133) + (5 136) + (6 133) + (7 136) + ) + init: + stopUpd: + ) + (-- local11) + ) + else + ((= [newView 0] (View new:)) + view: 677 + posn: 78 102 + loop: 3 + cel: 0 + init: + stopUpd: + ) + ) + (if (== ((gInv at: 1) owner?) 54) + ((= newView_2 (View new:)) + view: 500 + ignoreActors: 1 + loop: 0 + cel: 0 + setPri: 12 + posn: 236 134 + init: + stopUpd: + ) + ) + (if (not global102) + ((= newView_3 (View new:)) + view: 677 + loop: 0 + cel: 0 + posn: 100 98 + init: + stopUpd: + ) + ((= newView_4 (View new:)) + view: 677 + loop: 0 + cel: 1 + posn: 110 98 + init: + stopUpd: + ) + ((= newView_5 (View new:)) + view: 677 + loop: 0 + cel: 2 + posn: 120 98 + init: + stopUpd: + ) + ((= newView_6 (View new:)) + view: 677 + loop: 1 + cel: 0 + posn: 130 98 + init: + stopUpd: + ) + ((= newView_7 (View new:)) + view: 677 + loop: 1 + cel: 1 + posn: 140 98 + init: + stopUpd: + ) + ((= newView_8 (View new:)) + view: 677 + loop: 1 + cel: 2 + posn: 150 98 + init: + stopUpd: + ) + ((= newView_9 (View new:)) + view: 678 + loop: 0 + cel: 0 + posn: 160 98 + init: + stopUpd: + ) + ((= newView_10 (View new:)) + view: 678 + loop: 0 + cel: 1 + posn: 170 98 + init: + stopUpd: + ) + ((= newView_11 (View new:)) + view: 678 + loop: 0 + cel: 2 + posn: 180 98 + init: + stopUpd: + ) + ((= newView_12 (View new:)) + view: 677 + loop: 0 + cel: 3 + posn: 107 96 + init: + stopUpd: + ) + ) + (= global176 0) + ((= newProp (Prop new:)) + view: 630 + posn: 83 124 + cycleSpeed: 0 + setCycle: Fwd + init: + ) + (if (not global223) (newProp addToPic:)) + ((= newProp_2 (Prop new:)) + view: 677 + setLoop: 2 + cel: 3 + setPri: 9 + posn: 56 137 + ignoreActors: 1 + init: + stopUpd: + ) + ) + + (method (doit) + (super doit:) + (if (and (== local25 0) (== (gEgo script?) 0)) + (cond + ((& (gEgo onControl:) $0020) (gRoom newRoom: 53)) + ((& (gEgo onControl:) $0200) (gEgo setScript: useSteps) (useSteps changeState: 1)) + ((& (gEgo onControl:) $1000) (gEgo setScript: useSteps) (useSteps changeState: 4)) + ((& (gEgo onControl:) $0040) + (gEgo illegalBits: -32768 ignoreActors: 0 loop: 2) + (gRoom newRoom: 22) + ) + ) + ) + ) + + (method (handleEvent pEvent) + (super handleEvent: pEvent) + (if + (or (!= (pEvent type?) evSAID) (pEvent claimed?)) + (return) + ) + (cond + ((or (Said 'is (newProp_2 cel?) 0) (Print 54 3)) + ((gEgo inRect: 0 137 70 145) (newProp_2 setScript: doorClose)) + (else (Print 800 1)) + ) + ) + ((Said 'sit') (Print 54 5)) + ((Said 'clean[/cottage]') + (if (== global122 1) (Print 54 5) (return)) + (cond + ((& (gEgo onControl:) $0004) (Print 54 6)) + ((== global102 0) (gEgo setScript: startClean)) + ((not global177) (gEgo setScript: cleanTable)) + (else (Print 54 7)) + ) + ) + ((Said 'clean,scrub/table,dish') + (cond + ((and global102 (not global177)) (gEgo setScript: cleanTable)) + ((and global102 global177) (Print 54 8)) + (else (Print 54 2)) + ) + ) + ( + (Said 'clean,do,scrub,sweep,dust[/dish,dirt,furniture]') (if global102 (Print 54 9) else (Print 54 2))) + ((Said 'chew,drink,chew/soup') + (if (not global176) + (Print 54 5) + else + (Print 54 10) + ) + ) + ((Said 'get>') + (cond + ((Said '/dish[') + (cond + ((and (== global176 1) (Said '/soup')) (Print 54 20)) + ( + (and ((Inv at: 1) ownedBy: 54) (Said '/pouch,diamond')) (Print 54 21)) + ((Said '/window') + (if (gEgo inRect: 124 117 197 130) + (Print 54 22) + else + (Print 800 1) + ) + ) + ((Said '/mantel,mantel') + (if + (and + (gCast contains: [newView 0]) + (== ([newView 0] view?) 677) + ) + (Print 54 23) + else + (Print 54 24) + ) + ) + ((Said ' (newProp_2 cel?) 0) (Print 54 45)) + (else (Print 800 1)) + ) + ) + ((Said '/closet') + (if (& (gEgo onControl: 1) $0004) + (Print 54 46) + else + (Print 54 47) + ) + ) + ((Said '/broom') + (if (& (gEgo onControl: 1) $0004) + (Print 54 48) + else + (Print 54 49) + ) + ) + ((Said '[ (gEgo y?) 145) + (gEgo setMotion: MoveTo 135 159 self) + else + (gEgo setMotion: MoveTo 135 150 self) + ) + ) + (1 + (= local11 7) + (gEgo setMotion: MoveTo 290 (gEgo y?) self) + ) + (2 + ([newView local11] dispose:) + (gEgo + view: 63 + setLoop: (if (> (gEgo y?) 151) 3 else 2) + setMotion: MoveTo (+ (* local11 10) 190) (gEgo y?) self + ) + ) + (3 + (if (> local11 0) + (-- local11) + (= state 1) + (self cue:) + else + (gEgo + view: 4 + setLoop: -1 + setMotion: MoveTo 135 (gEgo y?) self + ) + ) + ) + (4 + (if (not global102) + (cleanKitchen cue:) + else + (gEgo setMotion: MoveTo 150 120 self) + ) + ) + (5 + (dishDust init:) + (gEgo view: 62 loop: 3 setCycle: Fwd) + (= seconds 5) + ) + (6 + (dishDust dispose:) + (gEgo view: 4 setLoop: -1 setMotion: MoveTo 83 134 self) + ) + (7 + ((= [newView 0] (View new:)) + view: 677 + posn: 78 102 + loop: 3 + cel: 0 + init: + ) + (gEgo + setAvoider: 0 + setCycle: Walk + setMotion: MoveTo 123 134 self + ) + ) + (8 + (= global177 1) + (= local25 0) + (= global115 0) + (proc0_10 601 0) + (proc0_7) + (gEgo observeControl: 4) + (proc0_9) + (= global189 1) + (client setScript: 0) + (Print 54 52) + ) + ) + ) +) + +(instance doorOpen of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (proc0_8) + (gEgo setMotion: MoveTo 64 146 self) + ) + (1 + (gEgo loop: 1) + (newProp_2 setCycle: Beg self) + ) + (2 + (gEgo ignoreControl: 4) + (proc0_9) + ) + ) + ) +) + +(instance doorClose of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (proc0_8) + (gEgo setMotion: MoveTo 64 144 self) + ) + (1 + (gEgo loop: 1) + (newProp_2 setCycle: End self) + ) + (2 + (proc0_9) + (gEgo observeControl: 4) + ) + ) + ) +) + +(instance useSteps of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (1 + (proc0_8) + (= local25 1) + (gEgo ignoreControl: -32768 setMotion: MoveTo 232 88 self) + ) + (2 + (gEgo setMotion: MoveTo 243 90 self) + ) + (3 + (proc0_9) + (= global189 1) + (gEgo observeControl: -32768 setScript: 0) + (gRoom newRoom: 53) + ) + (4 + (proc0_8) + (= local25 1) + (gEgo + ignoreControl: -32768 + setMotion: MoveTo 192 123 self + ) + ) + (5 + (proc0_9) + (= local25 0) + (= global189 1) + (gEgo observeControl: -32768 setScript: 0) + ) + ) + ) +) + +(instance bounceBitchScript of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 (= seconds 60)) + (1 + (if + (or + global115 + global122 + global204 + global102 + (> (gEgo y?) 155) + (< (gEgo y?) 119) + ) + (-- state) + (= seconds 5) + else + (Print 54 53) + (= global122 1) + (proc0_8) + (newAct + posn: 140 221 + setMotion: MoveTo 140 160 self + setAvoider: Avoid + ) + ) + ) + (2 + (newAct setMotion: MoveTo 110 160 self) + ) + (3 + (newAct loop: 0 stopUpd:) + (= local25 1) + (gEgo + illegalBits: 0 + setMotion: MoveTo 140 (gEgo y?) self + ) + ) + (4 + (gEgo setMotion: MoveTo 140 162 self) + ) + (5 + (= global102 2) + (= global122 0) + (proc0_7) + (gEgo observeControl: 4) + (proc0_9) + (User canInput: 0) + (gRoom newRoom: 22) + ) + (6 + (= seconds 0) + (proc0_8) + (= local25 1) + (gEgo setMotion: MoveTo 192 123 self) + ) + (7 + (gEgo setMotion: MoveTo 140 131 self) + (= state 3) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm54.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm54.sco new file mode 100644 index 0000000..84d60e7 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm54.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm55.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm55.sc new file mode 100644 index 0000000..37ec768 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm55.sc @@ -0,0 +1,433 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 55) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Jump) +(use Cycle) +(use Game) +(use Feature) +(use Obj) + +(public + Room55 0 +) +(synonyms + (path ledge) +) + +(local + local0 + newAct + local2 + newAct_2 + newAct_3 + local5 + newAct_4 + local7 + newAct_5 + local9 + newProp + newProp_2 + newProp_3 + newProp_4 +) +(instance Room55 of Rm + (properties + picture 55 + style $0010 + east 56 + ) + + (method (init) + (Load rsSCRIPT 991) + (Load rsVIEW 4) + (Load rsVIEW 44) + (Load rsVIEW 41) + (Load rsVIEW 518) + (Load rsVIEW 18) + (self setRegions: 600) + (super init:) + (= local0 0) + (= global101 1) + (if (or (== gPrevRoomNum 28) (== gPrevRoomNum 0)) + (gEgo + posn: 100 82 + view: 4 + loop: 0 + xStep: 4 + yStep: 2 + ignoreActors: 0 + illegalBits: -32768 + init: + ) + else + (gEgo + posn: 290 149 + view: 4 + xStep: 4 + yStep: 2 + ignoreActors: 0 + illegalBits: -32768 + init: + ) + ) + (if global223 + ((= newProp (Prop new:)) + view: 518 + posn: 60 67 + setPri: 5 + cel: 2 + cycleSpeed: 1 + setLoop: 3 + init: + stopUpd: + ) + ((= newProp_2 (Prop new:)) + view: 518 + posn: 95 120 + setPri: 10 + cel: 1 + setLoop: 3 + init: + stopUpd: + ) + ((= newProp_3 (Prop new:)) + view: 518 + posn: 220 89 + cycleSpeed: 1 + setLoop: 3 + init: + stopUpd: + ) + ((= newProp_4 (Prop new:)) + view: 518 + posn: 245 48 + cel: 3 + setLoop: 3 + init: + stopUpd: + ) + (newProp setScript: sparkle) + ) + (if (== global102 1) + (Load rsVIEW 284) + (Load rsVIEW 285) + (Load rsVIEW 282) + ((= newAct (Act new:)) + view: 282 + illegalBits: 0 + posn: 219 153 + setLoop: 0 + init: + setScript: Watch + ) + ((= newAct_2 (Act new:)) + isExtra: 1 + view: 284 + illegalBits: 0 + posn: 188 128 + setCycle: Fwd + init: + ) + ((= newAct_3 (Act new:)) + isExtra: 1 + view: 285 + illegalBits: 0 + posn: 200 74 + setLoop: 1 + setCycle: Fwd + init: + ) + else + (Load rsVIEW 289) + (Load rsVIEW 286) + (Load rsVIEW 287) + (gEgo illegalBits: -32764) + ((View new:) + view: 287 + loop: 2 + cel: 0 + posn: 213 129 + addToPic: + ) + ((View new:) + view: 286 + loop: 5 + cel: 0 + posn: 233 129 + addToPic: + ) + ((= newAct_4 (Act new:)) + view: 287 + illegalBits: 0 + posn: 213 113 + setPri: 11 + setLoop: 0 + setCycle: Fwd + cycleSpeed: 1 + ignoreActors: 1 + init: + ) + ((= newAct_5 (Act new:)) + view: 286 + illegalBits: 0 + posn: 233 113 + setPri: 11 + setLoop: 3 + setCycle: Fwd + cycleSpeed: 2 + ignoreActors: 1 + init: + ) + ((= newAct (Act new:)) + view: 289 + illegalBits: 0 + posn: 60 107 + setCycle: Walk + init: + ignoreActors: 1 + ) + (newAct setScript: SendOut) + ) + ) + + (method (doit) + (if (== (gEgo script?) 0) (gEgo setPri: -1)) + (if + (and + (& (gEgo onControl: 0) $0040) + (!= (gEgo script?) Tripped) + ) + (gRoom newRoom: 28) + ) + (if + (and + (& (gEgo onControl: 1) $1000) + (== local0 0) + (== (gEgo script?) 0) + ) + (gEgo setScript: WalkPath) + ) + (if + (and + (or + (& (gEgo onControl:) $0002) + (& (gEgo onControl:) $1000) + ) + (== local0 0) + (== (gEgo script?) 0) + ) + (gEgo setScript: WalkPath) + ) + (if + (and + (& (gEgo onControl: 1) $0004) + (== global102 1) + (!= (gEgo script?) Tripped) + ) + (gEgo setScript: Tripped) + ) + (if + (and + (& (gEgo onControl:) $0010) + (== (gEgo script?) 0) + ) + (gEgo setPri: 12) + (if + (or (>= (gEgo heading?) 180) (== (gEgo heading?) 0)) + (= local0 0) + (gEgo illegalBits: -32768) + else + (= local0 1) + (gEgo illegalBits: -28672) + ) + (if (> (gEgo x?) 121) (gEgo setPri: -1)) + ) + (super doit:) + ) + + (method (dispose) + (DisposeScript 991) + (super dispose:) + ) + + (method (handleEvent pEvent) + (return + (cond + ((pEvent claimed?) (return 1)) + ( + (and (== (pEvent type?) evSAID) (Said 'look>')) + (cond + ((Said '/door') (Print 55 0)) + ((Said ' (gEgo y?) 115) 11 else 10) + ignoreActors: 1 + view: 44 + setStep: 10 20 + setLoop: 2 + setCycle: Fwd + setMotion: + JumpTo + (if (< (gEgo x?) 100) 100 else (+ (gEgo x?) 20)) + 149 + self + ) + ) + (1 + (gEgo view: 18 setLoop: 1 cel: 0 setCycle: Fwd) + (= seconds 5) + ) + (2 + (gEgo view: 41 setLoop: 0 cel: 255 setCycle: End self) + ) + (3 + (= local0 1) + (gEgo + view: 4 + setStep: 4 2 + setCycle: Walk + setLoop: -1 + setPri: -1 + illegalBits: -28672 + ignoreActors: 0 + ) + (= state 0) + (client setScript: 0) + (proc0_9) + ) + ) + ) +) + +(instance WalkPath of Script + (properties) + + (method (doit) + (cond + ( + (and + (or + (& (gEgo onControl:) $0002) + (& (gEgo onControl:) $1000) + ) + (== local0 0) + ) + (gEgo setPri: 13) + (if (& (gEgo onControl: 0) $0008) + (gEgo setScript: Tripped) + ) + ) + ((not (& (gEgo onControl: 1) $0010)) + (gEgo setPri: -1) + (if (== (gEgo script?) WalkPath) (gEgo setScript: 0)) + ) + ) + ) +) + +(instance Watch of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 (newAct setCycle: End self)) + (1 (= seconds 5)) + (2 + (newAct setCel: 0) + (= seconds 10) + (= state -1) + ) + ) + ) +) + +(instance sparkle of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (switch (Random 1 4) + (1 (newProp setCycle: End self)) + (2 + (newProp_2 setCycle: End self) + ) + (3 + (newProp_3 setCycle: End self) + ) + (4 + (newProp_4 setCycle: End self) + ) + ) + ) + (1 + (newProp stopUpd:) + (newProp_2 stopUpd:) + (newProp_3 stopUpd:) + (newProp_4 stopUpd:) + (= state -1) + (self cue:) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm55.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm55.sco new file mode 100644 index 0000000..7108064 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm55.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm56.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm56.sc new file mode 100644 index 0000000..9f8eb0a --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm56.sc @@ -0,0 +1,530 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 56) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Cycle) +(use Game) +(use InvI) +(use Feature) +(use Obj) + +(public + Room56 0 +) + +(local + newAct_5 + newAct_4 + newAct_3 + [local3 5] + newAct_2 + local9 + newAct + local11 + newProp + newProp_2 + newProp_3 + newProp_4 + local16 + newView +) +(instance Room56 of Rm + (properties + picture 56 + style $0010 + west 55 + ) + + (method (init) + (self setRegions: 600) + (Load rsVIEW 516) + (Load rsVIEW 283) + (Load rsVIEW 286) + (Load rsVIEW 287) + (Load rsVIEW 4) + (Load rsVIEW 518) + (super init:) + (= global101 1) + (gEgo view: 4 posn: 65 139 init:) + (if ((Inv at: 1) ownedBy: gEgo) + (Load rsVIEW 288) + (Load rsVIEW 281) + (Load rsVIEW 523) + ((View new:) + view: 287 + loop: 3 + cel: 0 + posn: 118 68 + addToPic: + ) + ((View new:) + view: 286 + loop: 4 + cel: 0 + posn: 70 70 + addToPic: + ) + ((View new:) + view: 283 + loop: 1 + cel: 0 + posn: 211 99 + addToPic: + ) + ((View new:) + view: 516 + loop: 0 + cel: 0 + posn: 234 118 + addToPic: + ) + ((= newAct (Act new:)) + isExtra: 1 + view: 287 + setLoop: 1 + illegalBits: 0 + posn: 118 52 + setCycle: Fwd + init: + ) + ((= newAct_2 (Act new:)) + isExtra: 1 + view: 286 + illegalBits: 0 + posn: 70 54 + setLoop: 2 + setCycle: Fwd + init: + ) + ((= newAct_3 (Act new:)) + view: 283 + setLoop: 0 + illegalBits: 0 + posn: 211 89 + setCycle: Fwd + init: + ) + ((= newAct_4 (Act new:)) + view: 281 + loop: 4 + cel: 0 + illegalBits: 0 + posn: 233 129 + setPri: -1 + init: + stopUpd: + ) + ((= newAct_5 (Act new:)) + view: 281 + illegalBits: 0 + posn: (newAct_4 x?) (- (newAct_4 y?) 18) + ignoreActors: 1 + init: + setPri: (CoordPri (newAct_4 y?)) + setLoop: 0 + setCycle: Fwd + ) + (if (not (gEgo has: 3)) + ((= newView (View new:)) + view: 523 + loop: 1 + posn: (- (newAct_4 x?) 18) (- (newAct_4 y?) 1) + init: + stopUpd: + ) + ) + (newAct_5 setScript: dwarvesMove) + else + (Load rsVIEW 280) + ((View new:) + view: 283 + loop: 1 + cel: 0 + posn: 82 70 + addToPic: + ) + ((View new:) + view: 286 + loop: 4 + cel: 0 + posn: 83 121 + addToPic: + ) + ((View new:) + view: 287 + loop: 2 + cel: 0 + posn: 109 120 + addToPic: + ) + ((View new:) + view: 516 + loop: 0 + cel: 0 + posn: 99 72 + addToPic: + ) + ((= newAct_4 (View new:)) + view: 280 + loop: 4 + cel: 0 + posn: 211 98 + setPri: -1 + init: + stopUpd: + ) + ((= newAct_5 (Act new:)) + view: 280 + illegalBits: 0 + posn: (newAct_4 x?) (- (newAct_4 y?) 18) + setLoop: 1 + ignoreActors: 1 + setPri: (CoordPri (newAct_4 y?)) + setCycle: Fwd + init: + ) + ((= newAct_3 (Act new:)) + view: 283 + setLoop: 0 + illegalBits: 0 + posn: 82 60 + setCycle: Fwd + init: + ) + ((= newAct_2 (Act new:)) + isExtra: 1 + view: 286 + setLoop: 2 + illegalBits: 0 + posn: 89 105 + setPri: 8 + setCycle: Fwd + init: + ) + ((= newAct (Act new:)) + isExtra: 1 + view: 287 + setLoop: 0 + illegalBits: 0 + posn: 110 106 + setPri: 8 + setCycle: Fwd + init: + ) + (newAct_5 setScript: dwarvesMove) + ) + (if global223 + ((= newProp (Prop new:)) + view: 518 + cel: 2 + posn: 86 154 + setPri: 15 + cycleSpeed: 1 + setLoop: 3 + init: + ignoreActors: 1 + stopUpd: + ) + ((= newProp_2 (Prop new:)) + view: 518 + cel: 1 + posn: 261 117 + setPri: 15 + setLoop: 3 + init: + ignoreActors: 1 + stopUpd: + ) + ((= newProp_3 (Prop new:)) + view: 518 + posn: 212 118 + cycleSpeed: 1 + setPri: 9 + setLoop: 3 + init: + ignoreActors: 1 + stopUpd: + ) + ((= newProp_4 (Prop new:)) + view: 518 + cel: 3 + posn: 136 48 + setLoop: 3 + init: + ignoreActors: 1 + stopUpd: + ) + (newProp setScript: sparkle) + ) + ) + + (method (doit) + (super doit:) + (if (& (gEgo onControl: 0) $0040) + (gRoom newRoom: 55) + ) + ) + + (method (handleEvent pEvent) + (return + (cond + ((pEvent claimed?) (return 1)) + ((== (pEvent type?) evSAID) + (cond + ( + (or + (Said 'deliver,return/pouch,diamond[/dwarf]') + (Said 'deliver,return/dwarf/pouch,diamond') + ) + (if + (and + (== ((Inv at: 1) owner?) gEgo) + (!= ((Inv at: 3) owner?) gEgo) + ) + (if (gEgo inRect: 198 122 222 134) + (proc0_8) + (gEgo setScript: handOff) + else + (Print 56 0) + ) + else + (Print 56 1) + ) + ) + ( + (or + (Said 'look[') + (cond + ((Said '/dwarf') (Print 56 3)) + ((Said '/bucket') (Print 56 4)) + ) + ) + ( + (and + (< (gEgo distanceTo: newAct_4) 30) + (Said 'converse[/dwarf]') + ) + (if (and (gEgo has: 1) (not (gEgo has: 3))) + (answer1 cue:) + else + (Print 56 5) + ) + ) + ( + (and + (< (gEgo distanceTo: newAct_4) 20) + (or (Said 'kiss/dwarf') (Said 'kiss[/!*]')) + ) + (Print 56 6) + ) + ((Said 'get,rob/bucket') (Print 56 7)) + ((Said 'rob/lantern') (Print 56 8)) + ) + ) + ) + ) + ) +) + +(instance dwarvesMove of Script + (properties) + + (method (changeState newState &tmp temp0) + (switch (= state newState) + (0 (= cycles 4)) + (1 + (switch (= temp0 (Random 1 6)) + (1 + (if (gCast contains: newAct_2) + (newAct_2 setCycle: End self) + else + (= seconds 2) + ) + ) + (2 + (newAct_5 loop: 3 cycleSpeed: 2 setCycle: End self) + (newAct_4 setLoop: 5) + ) + (3 + (if (gCast contains: newAct) + (newAct setLoop: 1 setCycle: End self) + else + (= seconds 2) + ) + ) + (4 + (if (gCast contains: newAct_2) + (newAct_2 setCycle: End self) + else + (= seconds 2) + ) + ) + (5 + (if (gCast contains: newAct) + (newAct setLoop: 1 setCycle: End self) + else + (= seconds 2) + ) + ) + (6 + (newAct_5 loop: 1 cycleSpeed: 0 setCycle: End self) + (newAct_4 setLoop: 5) + ) + (else (self cue:)) + ) + ) + (2 + (newAct_5 setMotion: 0 stopUpd:) + (if (gCast contains: newAct_2) + (newAct_2 setMotion: 0 stopUpd:) + ) + (if (gCast contains: newAct) + (newAct setMotion: 0 stopUpd:) + ) + (self changeState: 1) + ) + ) + ) +) + +(instance sparkle of Script + (properties) + + (method (changeState newState &tmp temp0) + (switch (= state newState) + (0 + (switch (Random 1 4) + (1 + (newProp startUpd: setCycle: End self) + ) + (2 + (newProp_2 startUpd: setCycle: End self) + ) + (3 + (newProp_3 startUpd: setCycle: End self) + ) + (4 + (newProp_4 startUpd: setCycle: End self) + ) + ) + ) + (1 + (newProp stopUpd:) + (newProp_2 stopUpd:) + (newProp_3 stopUpd:) + (newProp_4 stopUpd:) + (= state -1) + (self cue:) + ) + ) + ) +) + +(instance answer1 of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 (Print 56 9)) + (1 (Print 56 10)) + (2 + (Print 56 11) + (= state 1) + ) + ) + ) +) + +(instance handOff of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (dwarvesMove changeState: 3) + (if global223 (sparkle changeState: 2)) + (if (gCast contains: newAct) (newAct dispose: delete:)) + (if (gCast contains:) (newAct_2 dispose: delete:)) + (if (gCast contains: newProp_4) + (newProp_4 dispose: delete:) + ) + (gEgo loop: 0) + (newAct_5 view: 288 loop: 0 setCycle: End) + (Print 56 12 67 -1 15 70 290 33 gSmallFont 83) + (self cue:) + ) + (1 + (newAct_5 loop: 1 cycleSpeed: 1 setCycle: End self) + ) + (2 + (newAct_5 hide:) + (newView dispose:) + (newAct_4 + view: 288 + loop: 2 + cel: 255 + cycleSpeed: 1 + setCycle: End self + ) + (if (>= (gEgo y?) (newView y?)) + (newAct_4 setPri: (- (gEgo priority?) 1)) + ) + (gEgo get: 3) + (gGame changeScore: 3) + ) + (3 + (if global223 + ((= newAct (Act new:)) + view: 287 + setLoop: 1 + illegalBits: 0 + posn: 118 52 + setCycle: Fwd + init: + ) + ((= newAct_2 (Act new:)) + view: 286 + illegalBits: 0 + posn: 70 54 + setLoop: 2 + setCycle: Fwd + init: + ) + ((= newProp_4 (Prop new:)) + view: 518 + cel: 3 + posn: 136 48 + setLoop: 3 + init: + ignoreActors: 1 + stopUpd: + ) + (sparkle changeState: 0) + ) + (dwarvesMove changeState: 1) + (newAct_4 setPri: -1) + (newAct_5 view: 281 loop: 3 cel: 0 cycleSpeed: 0 show:) + (newAct_4 + view: 281 + loop: 5 + cel: 0 + stopUpd: + ignoreActors: 0 + init: + ) + (= seconds 3) + ) + (4 + (proc0_9) + (client setScript: 0) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm56.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm56.sco new file mode 100644 index 0000000..c3df339 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm56.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm57.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm57.sc new file mode 100644 index 0000000..aecf2bf --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm57.sc @@ -0,0 +1,878 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 57) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Avoid) +(use Sound) +(use Jump) +(use Cycle) +(use Game) +(use User) +(use Feature) +(use Obj) + +(public + Room57 0 +) +(synonyms + (dirt dirt dirt dirt dirt) + (hag hag fishwife) +) + +(local + newView + newProp_2 + newProp_3 + newAct_2 + newProp_5 + newProp_6 + newProp_8 + newProp_7 + local8 + newProp_4 + local10 + newAct + local12 + local13 + newProp +) +(instance Room57 of Rm + (properties + picture 57 + style $0010 + ) + + (method (init) + (= south 6) + (Load rsVIEW 631) + (if (>= global109 3) + (Load rsVIEW 183) + (Load rsVIEW 184) + (Load rsVIEW 185) + (Load rsVIEW 186) + (Load rsVIEW 180) + (Load rsVIEW 64) + (Load rsVIEW 21) + ) + (Load rsVIEW 65) + (Load rsVIEW 66) + (super init:) + (= global101 1) + (= global189 1) + (self setScript: rm57Script) + (gEgo + posn: 160 184 + view: 2 + setStep: 3 2 + setPri: -1 + loop: 3 + init: + ) + (if global207 + ((= newAct (Act new:)) + view: 631 + loop: 3 + cel: 0 + illegalBits: 0 + ignoreActors: 1 + posn: gNewActX gNewActY + setScript: scarabToss + init: + ) + ) + ((= newProp (Prop new:)) + isExtra: 1 + view: 631 + loop: 1 + cel: 0 + posn: 105 83 + init: + cycleSpeed: 2 + setCycle: Fwd + ) + ((= newView (View new:)) + view: 631 + loop: 4 + cel: 0 + posn: 159 151 + setPri: 12 + init: + addToPic: + ) + ((= newProp_2 (Prop new:)) + isExtra: 1 + view: 631 + loop: 5 + posn: 159 157 + setCycle: Fwd + setPri: 12 + init: + ) + ((= newProp_3 (Prop new:)) + view: 631 + loop: 0 + posn: 159 140 + setPri: 12 + ignoreActors: + setCycle: Fwd + init: + ) + (newProp_3 + brTop: (+ (newProp_3 brTop?) 14) + brBottom: (+ (newProp_3 brBottom?) 19) + ) + (if (> global109 2) + (witchMusic loop: 1 play:) + ((= newProp_4 (Prop new:)) + view: 631 + setLoop: 2 + cycleSpeed: 2 + setCycle: Fwd + setPri: 12 + init: + stopUpd: + hide: + ) + ((= newProp_5 (Prop new:)) + view: 186 + loop: 0 + cel: 5 + posn: 108 101 + setLoop: 1 + init: + stopUpd: + ) + ((= newProp_6 (Prop new:)) + view: 186 + setLoop: 3 + cel: 0 + posn: 108 121 + init: + stopUpd: + ) + ((= newProp_7 (Prop new:)) + view: 184 + loop: 0 + cel: 5 + posn: 135 100 + init: + stopUpd: + ) + ((= newProp_8 (Prop new:)) + view: 184 + setLoop: 2 + cel: 0 + posn: 135 120 + init: + stopUpd: + ) + (blockWitch2 + top: 115 + bottom: (newProp_5 brBottom?) + left: (- (newProp_5 brLeft?) 2) + right: (+ (newProp_5 brBottom?) 2) + init: + ) + (blockWitch3 + top: 115 + bottom: (newProp_7 brBottom?) + left: (- (newProp_7 brLeft?) 2) + right: (+ (newProp_7 brBottom?) 2) + init: + ) + (gEgo observeBlocks: blockWitch2 blockWitch3) + ((= newAct_2 (Act new:)) + view: 185 + posn: 83 126 + illegalBits: -32768 + setLoop: 0 + init: + ) + (if (gEgo has: 6) + (= local10 1) + (if (and (not (gEgo has: 7)) (not global207)) + (Load rsSCRIPT 991) + ((= newAct (Act new:)) + view: 631 + loop: 3 + cel: 0 + illegalBits: 0 + ignoreActors: 1 + posn: (newAct_2 x?) (- (newAct_2 y?) 30) + setScript: scarabToss + init: + ) + (rm57Script changeState: 1) + else + (rm57Script changeState: 3) + ) + (newProp_7 setScript: witchMoan) + else + (= local10 0) + (newProp_5 setScript: witchEye) + ) + ) + ) + + (method (doit) + (cond + ( + (and + (& (gEgo onControl:) $0004) + (not local12) + (not local13) + ) + (Print 57 0 25 3) + (ouchness cue:) + ) + ((> global109 2) + (cond + ( + (and (gEgo has: 6) (!= (newProp_7 script?) witchMoan)) + (newAct_2 setScript: 0 setMotion: 0) + (witchEye changeState: 20) + ) + ( + (and + (!= (newAct_2 script?) witchChase) + (< (gEgo distanceTo: newAct_2) 30) + (not (gEgo has: 6)) + (!= (newProp_7 script?) witchMoan) + ) + (newAct_2 setScript: witchChase) + ) + ( + (and + (gEgo inRect: 110 123 119 133) + (not (gEgo has: 6)) + (not local12) + (== (newAct_2 script?) witchChase) + ) + (Print 57 1 25 2) + (Print 57 2 25 2) + (newProp_5 hide:) + (newProp_6 hide: ignoreActors:) + (gEgo + setMotion: 0 + view: 186 + loop: 2 + posn: (newProp_6 x?) (newProp_6 y?) + setLoop: 2 + setCycle: Fwd + ) + (= local12 1) + (witchMusic number: 13 loop: 1 play:) + (User canControl: 0 canInput: 0) + (witchEye changeState: 7) + ) + ( + (and + (gEgo inRect: 131 122 138 131) + (not (gEgo has: 6)) + (not local12) + (== (newAct_2 script?) witchChase) + ) + (Print 57 1 25 2) + (Print 57 2 25 2) + (proc0_8) + (gEgo + setMotion: 0 + view: 184 + loop: 1 + posn: (newProp_8 x?) (newProp_8 y?) + setLoop: 1 + setCycle: Fwd + ) + (newProp_7 hide:) + (newProp_8 hide: ignoreActors:) + (= local12 1) + (witchMusic number: 13 loop: 1 play:) + (witchEye changeState: 4) + ) + ( + (and + (!= (newAct_2 script?) witchChase) + (!= (newProp_7 script?) witchMoan) + (gEgo inRect: 110 123 138 133) + ) + (newAct_2 setScript: witchChase) + ) + ) + ) + ) + (super doit:) + ) + + (method (dispose) + (gSounds eachElementDo: #stop 0) + (gTimers eachElementDo: #dispose 84) + (= global189 0) + (DisposeScript 991) + (super dispose:) + ) + + (method (handleEvent pEvent &tmp gInvSaidMe) + (if + (or (!= (pEvent type?) evSAID) (pEvent claimed?)) + (return) + ) + (if (> global109 2) + (cond + ((Said 'look>') + (cond + ((Said '/eye') + (if ((gInv at: 6) ownedBy: 57) + (Print 57 3) + else + (pEvent claimed: 0) + ) + ) + ((Said '/hag') + (cond + ((not (gEgo has: 6)) (Print 57 4)) + (local10 (Print 57 5)) + (((gInv at: 6) ownedBy: -1) (Print 57 6)) + (else (Print 57 5)) + ) + ) + (else (pEvent claimed: 0)) + ) + ) + ((Said 'converse') + (cond + (((gInv at: 6) ownedBy: 57) (answer1 cue:)) + ((gEgo has: 6) (answer2 cue:)) + (else (answer3 cue:)) + ) + ) + ((Said 'rob,get/charm') + (cond + ((gEgo has: 7) (Print 800 0)) + ((not global207) (Print 57 7)) + ((> (gEgo distanceTo: newAct) 20) (Print 800 1)) + (else (gEgo setScript: pickUp)) + ) + ) + ((Said 'get,rob/eye') + (if (not (gEgo has: 6)) + (if ((gInv at: 6) ownedBy: 57) + (if (gEgo inRect: 119 122 129 136) + (Print 57 8) + (gEgo get: 6) + (gGame changeScore: 3) + (= global182 1) + else + (Print 800 1) + ) + else + (Print 57 9) + ) + else + (Print 800 0) + ) + ) + ((Said 'deliver,return,fling/eye') + (if (gEgo has: 6) + (if (not local10) + (Print 57 10) + (gEgo put: 6 -1) + else + (gGame changeScore: 3) + (gEgo put: 6 -1) + (Print 57 11) + ) + (witchMoan changeState: 4) + else + (Print 800 2) + ) + ) + ((Said '/hag>') + (cond + ((Said 'kill') (Print 57 12)) + ((Said 'get') (Print 57 13)) + ((Said 'kiss') (Print 57 14)) + ( + (and (Said 'deliver>') (= gInvSaidMe (gInv saidMe:))) + (if (gEgo has: (gInv indexOf: gInvSaidMe)) + (Print 57 15) + else + (proc0_17) + ) + ) + ) + ) + ) + ) + (cond + ((Said 'look>') + (cond + ((Said '/bottle') (Print 57 16)) + ( + (or (Said '[ global109 2) + {Within it, reside three one-eyed old witches.} + else + {_} + ) + (if (gCast contains: newAct) + {You see a black scarab on the cave floor.} + else + {_} + ) + ) + ) + ) + ((Said '/caldron') (Print 57 18)) + ((Said '/brew') (Print 57 19)) + ((Said '/fire') (Print 57 20)) + ((Said '') + (cond + ((Said '/bottle') (Print 57 27)) + ((Said '/skull') (Print 57 28)) + ((Said '/brew') (Print 57 29)) + ) + ) + ((Said 'chew,drink/brew') (Print 57 30)) + ((Said 'get/caldron') (Print 57 31)) + ) + ) + + (method (newRoom newRoomNumber) + (gEgo loop: 2) + (Animate (gCast elements?) 0) + (= global189 0) + (super newRoom: newRoomNumber) + ) +) + +(instance witchEye of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (newAct_2 view: 185 loop: 0 setCycle: Beg self) + ) + (1 + (newProp_4 + x: (+ (newAct_2 x?) 1) + y: (- (newAct_2 y?) 43) + show: + ) + (= seconds 4) + ) + (2 + (newProp_4 hide:) + (newAct_2 loop: 1 setCycle: End self) + ) + (3 + (if (not ((gInv at: 6) ownedBy: -1)) + (newAct_2 setScript: witchChase) + ) + (newProp_5 loop: 0 setCycle: CT 4 1 self) + ) + (4 + (newProp_7 stopUpd:) + (newProp_4 + x: (- (newProp_5 x?) 1) + y: (- (newProp_5 y?) 12) + show: + ) + (if (not local12) (= seconds 5)) + ) + (5 + (newProp_4 hide:) + (newProp_5 setLoop: 0 setCycle: Beg self) + ) + (6 + (newProp_5 setCycle: CT 5 -1) + (newProp_7 setCycle: CT 4 1 self) + ) + (7 + (newProp_5 stopUpd:) + (newProp_4 + x: (+ (newProp_7 x?) 0) + y: (- (newProp_7 y?) 12) + show: + ) + (if (not local12) (= seconds 5)) + ) + (8 + (newProp_4 hide:) + (newProp_7 setCycle: Beg self) + ) + (9 + (newProp_7 setCycle: CT 5 -1) + (if (== (newAct_2 script?) witchChase) (= state 3)) + (newProp_5 setCycle: CT 4 1 self) + ) + (10 + (newProp_7 stopUpd:) + (newProp_4 + x: (- (newProp_5 x?) 1) + y: (- (newProp_5 y?) 40) + show: + ) + (if (not local12) (= seconds 5)) + ) + (11 + (newProp_4 hide:) + (newProp_5 loop: 0 cel: 255 setCycle: End self) + ) + (12 (self changeState: 0)) + (20 + (newProp_4 hide:) + (client setScript: 0) + (newProp_7 setScript: witchMoan) + ) + ) + ) +) + +(instance witchChase of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (newAct_2 + view: 180 + moveSpeed: 2 + setAvoider: Avoid + setLoop: -1 + setCycle: Walk + setMotion: Chase gEgo 7 self + ) + ) + (1 + (proc0_8) + (gEgo ignoreActors: hide:) + (newProp_5 show:) + (newProp_6 show:) + (newProp_7 show:) + (newProp_8 show:) + (newAct_2 view: 65 moveSpeed: 0) + (self cue:) + ) + (2 + (witchMusic number: 13 loop: 1 play:) + (= local12 1) + (newAct_2 + view: 66 + setLoop: + (if + (< + 180 + (GetAngle + (gEgo x?) + (gEgo y?) + (newAct_2 x?) + (newAct_2 y?) + ) + ) + 1 + else + 0 + ) + setAvoider: Avoid + setMotion: MoveTo 157 (if (< (newAct_2 y?) 154) 143 else 164) self + ) + ) + (3 + (Print 57 32 67 -1 20) + (newAct_2 + view: 66 + setLoop: (+ (newAct_2 loop?) 2) + cel: 255 + setCycle: End self + ) + ) + (4 + (newAct_2 + setLoop: -1 + illegalBits: -32768 + ignoreActors: 0 + setAvoider: Avoid + view: 180 + setMotion: MoveTo 95 (newAct_2 y?) + ) + (newProp_5 stopUpd:) + (newProp_7 stopUpd:) + (witchMusic stop:) + (gEgo + view: 64 + posn: (newProp_3 x?) (+ (newProp_3 y?) 1) + cel: 255 + ignoreActors: 1 + setPri: 12 + setLoop: (newAct_2 loop?) + show: + setMotion: 0 + setCycle: End self + ) + ) + (5 + (gEgo setLoop: 2 cycleSpeed: 1 setCycle: Fwd) + (= cycles (* (NumCels gEgo) 6)) + ) + (6 + (gEgo cel: 255 setLoop: 3 setCycle: End self) + ) + (7 (= seconds 6)) + (8 (= global127 1)) + ) + ) +) + +(instance witchMoan of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (newAct_2 setScript: 0) + (newProp_4 hide:) + (newProp_7 hide: ignoreActors:) + (newProp_8 + view: 183 + setLoop: 2 + cel: 255 + setCycle: End self + ignoreActors: 0 + ) + ) + (1 + (newProp_8 stopUpd:) + (newProp_5 hide: ignoreActors:) + (newProp_6 + view: 183 + setLoop: 1 + cel: 255 + ignoreActors: 0 + setCycle: End self + ) + ) + (2 + (newProp_6 stopUpd:) + (newAct_2 ignoreActors: 0 setMotion: MoveTo 125 133 self) + ) + (3 + (if (not ((gInv at: 6) ownedBy: -1)) + (Print 57 33) + ) + (newAct_2 view: 183 setLoop: 0 cel: 255 setCycle: End) + ) + (4 + (newProp_8 setCycle: Beg) + (newAct_2 setCycle: Beg) + (newProp_6 setCycle: Beg) + ((ScriptID 0 4) setReal: self 4) + ) + (5 + (newAct_2 + view: 180 + setLoop: -1 + setMotion: MoveTo 88 129 self + ) + ) + (6 + (newProp_6 view: 186 setLoop: 3 cel: 0) + (newProp_8 view: 184 setLoop: 2 cel: 0) + (newProp_5 show:) + (newProp_7 show:) + (client setScript: 0) + (newProp_5 setScript: witchEye) + ) + ) + ) +) + +(instance answer1 of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 (Print 57 34)) + (1 (Print 57 35)) + (2 + (Print 57 36) + (= state 1) + ) + ) + ) +) + +(instance answer2 of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (if (not ((gInv at: 6) ownedBy: -1)) + (Print 57 37) + ) + ) + (1 + (if (not ((gInv at: 6) ownedBy: -1)) + (switch (Random 1 4) + (1 (Print 57 38)) + (2 (Print 57 39)) + (3 (Print 57 40)) + (4 (Print 57 37)) + ) + (= state 0) + ) + ) + ) + ) +) + +(instance answer3 of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 (Print 57 41)) + (1 + (switch (Random 1 3) + (1 (Print 57 42)) + (2 (Print 57 43)) + (3 (Print 57 41)) + ) + (= state 0) + ) + ) + ) +) + +(instance scarabToss of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (if global207 + (self changeState: 1) + else + (newAct + setMotion: JumpTo (- (gEgo x?) 20) (- (gEgo y?) 20) self + ) + ) + ) + (1 + (= gNewActX (newAct x?)) + (= gNewActY (newAct y?)) + (= global207 1) + (newAct setPri: -1) + (= seconds 2) + ) + (2 + (if (gCast contains: newAct) + (newAct setCycle: End self) + ) + ) + (3 + (if (gCast contains: newAct) + (newAct setCycle: Beg self) + ) + ) + (4 + (newAct stopUpd:) + (= state 1) + (= seconds 5) + ) + ) + ) +) + +(instance ouchness of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (= local13 1) + ((ScriptID 0 5) setReal: self 3) + ) + (1 (= state -1) (= local13 0)) + ) + ) +) + +(instance witchMusic of Sound + (properties + number 12 + ) +) + +(instance blockWitch2 of Blk + (properties) +) + +(instance blockWitch3 of Blk + (properties) +) + +(instance pickUp of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 (self cue:)) + (1 + (proc0_8) + (proc0_3 gEgo newAct) + (gEgo view: 21 cel: 255 setCycle: End self) + ) + (2 + (newAct dispose:) + (= global207 0) + (gEgo get: 7) + (= global182 1) + (gGame changeScore: 2) + (= seconds 2) + ) + (3 (gEgo setCycle: Beg self)) + (4 + (gEgo view: 2 setCycle: Walk) + (proc0_9) + ) + ) + ) +) + +(instance rm57Script of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (1 (proc0_8) (= seconds 3)) + (2 + (Print 57 44 67 -1 20) + (= state 4) + (= seconds 3) + (proc0_9) + ) + (3 (= seconds 3)) + (4 + (if (not ((gInv at: 6) ownedBy: -1)) + (Print 57 45) + ) + ) + (5 (Print 57 46)) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm57.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm57.sco new file mode 100644 index 0000000..db986c5 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm57.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm58.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm58.sc new file mode 100644 index 0000000..6b91f6f --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm58.sc @@ -0,0 +1,404 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 58) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Cycle) +(use Game) +(use User) +(use Feature) +(use Obj) + +(public + Room58 0 +) + +(local + newAct + local1 + newProp_3 + local3 + newView + newProp + newProp_2 +) +(instance Room58 of Rm + (properties + picture 58 + style $0010 + ) + + (method (init) + (Load rsVIEW 58) + (Load rsVIEW 42) + (Load rsVIEW 44) + (Load rsVIEW 521) + (Load rsSOUND 51) + (Load rsSOUND 52) + (Load rsPIC 66) + (Load rsPIC 61) + (super init:) + (self setRegions: 603) + (theMusic number: 57 loop: 0) + (if ((gInv at: 20) ownedBy: gCurRoomNum) (= local3 1)) + (if global193 (= local1 1) else (= local1 0)) + ((View new:) + view: 521 + loop: 2 + cel: 0 + posn: 102 74 + setPri: 4 + addToPic: + ) + ((View new:) + view: 521 + loop: 2 + cel: 1 + posn: 231 74 + setPri: 4 + addToPic: + ) + ((= newProp (Prop new:)) + view: 521 + loop: 3 + posn: 104 58 + setPri: 2 + init: + setCycle: Fwd + ) + ((= newProp_2 (Prop new:)) + view: 521 + loop: 3 + posn: 228 58 + setPri: 2 + init: + setCycle: Fwd + ) + ((= newProp_3 (Prop new:)) + view: 521 + loop: 1 + posn: 181 95 + setPri: 5 + init: + ) + (if global193 + (newProp_3 setCel: 255 addToPic:) + else + (newProp_3 hide:) + ) + (gEgo + view: 4 + setStep: 4 2 + setPri: 11 + illegalBits: 16384 + posn: 121 154 + baseSetter: (ScriptID 0 1) + init: + ) + ) + + (method (doit) + (if + (and + (& (gEgo onControl:) $0002) + (== (gEgo illegalBits?) -32768) + (not (gEgo script?)) + ) + (gEgo + setPri: 11 + illegalBits: 16384 + baseSetter: (ScriptID 0 1) + ) + ) + (if + (and + (& (gEgo onControl:) $0010) + (not (& (gEgo onControl: 1) $0002)) + (not (gEgo script?)) + ) + (gEgo setPri: -1 illegalBits: -32768 baseSetter: 0) + ) + (if + (and + (& (gEgo onControl: 0) $0040) + (!= (gEgo script?) fallHole) + ) + (gRoom newRoom: 61) + ) + (if + (and + (& (gEgo onControl:) $0004) + (!= (gEgo illegalBits?) 16384) + (!= (gEgo script?) fallHole) + ) + (proc0_8) + (gEgo setScript: fallHole) + ) + (super doit:) + ) + + (method (handleEvent pEvent) + (return + (cond + ((pEvent claimed?) (return 1)) + ((== (pEvent type?) evSAID) + (cond + ( + (or + (Said 'look[') + (cond + ((or (Said '') + (cond + ((Said '[') + (cond + ((Said 'get,hold,capture,(get') + (cond + ( + (or + (not (= gInvSaidMe (gInv saidMe:))) + (not (gEgo has: (gInv indexOf: gInvSaidMe))) + ) + (pEvent claimed: 0) + ) + ((>= (gEgo distanceTo: newProp) 17) (proc0_13)) + ((!= (gInv indexOf: gInvSaidMe) 12) (Print 59 24)) + (else + (Print 59 25) + (gEgo put: 12 59) + (gGame changeScore: 2) + (proc0_10 603 2) + ) + ) + ) + ) + ) + ) + ) +) + +(instance rockMeBaby of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (newProp + cycleSpeed: 1 + setCycle: Fwd + brTop: (- (newProp y?) 2) + ) + ) + (1 + (newProp stopUpd: brTop: (- (newProp y?) 2) setCel: 0) + (= state -1) + ) + ) + ) +) + +(instance rockAgain of Script + (properties) + + (method (init param1) + (super init: param1) + ) + + (method (changeState newState) + (switch (= state newState) + (0 + (rockMeBaby changeState: 0) + (babySound number: 22 play: self) + ) + (1 + (rockMeBaby cue:) + (if (== global134 1) (self changeState: 0)) + ) + ) + ) +) + +(instance rm59Script of Script + (properties) + + (method (changeState newState &tmp [temp0 102]) + (switch (= state newState) + (1 (= seconds 5)) + (2 (Print 59 26)) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm59.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm59.sco new file mode 100644 index 0000000..0e5bfb3 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm59.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm6.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm6.sc new file mode 100644 index 0000000..93886bd --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm6.sc @@ -0,0 +1,119 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 6) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Cycle) +(use Game) +(use Feature) + +(public + Room6 0 +) + +(local + local0 + newProp +) +(instance Room6 of Rm + (properties + picture 6 + ) + + (method (init) + (= south 12) + (= west 5) + (= horizon 80) + (= global101 0) + (gEgo view: 2 edgeHit: 0) + (super init:) + (if global100 (gRoom overlay: 106)) + (self setRegions: 508 511) + (switch gPrevRoomNum + (west + (cond + ((>= (gEgo y?) 160) (gEgo x: 1 y: 160)) + ((<= (gEgo y?) 84) (gEgo x: 2 y: 84)) + (else (gEgo x: 1)) + ) + ) + (south + (cond + ((>= (gEgo x?) 265) (gEgo posn: 265 187)) + ((<= (gEgo x?) 100) (gEgo posn: 100 187)) + (else (gEgo posn: (gEgo x?) 187)) + ) + ) + (57 + (gEgo loop: 1 x: 200 y: 152) + ) + (0 (gEgo x: 180 y: 160)) + ) + (= newProp (Prop new:)) + (newProp + view: 628 + loop: 1 + cel: 0 + x: 247 + y: 34 + setCycle: Fwd + setPri: 15 + cycleSpeed: 2 + init: + ) + (gEgo init:) + (gEgo setStep: 3 2) + ) + + (method (doit) + (super doit:) + (if (& (= local0 (gEgo onControl: 0)) $0040) + (= gNewRoomNumber_2 57) + ) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if (== (pEvent type?) evSAID) + (cond + ((Said 'look') + (cond + ((Said '/cave,skull') (Print 6 2)) + ((Said '/grass') (Print 6 3)) + ((Said '/bush') (Print 6 4)) + ((Said '/flora') (Print 6 5)) + ((Said 'blossom') (Print 6 6)) + ((Said '/forest') (Print 6 7)) + ((Said '/boulder') (Print 6 8)) + ((or (Said '/sky') (Said ' global134 4) + (Load rsVIEW 529) + (Load rsVIEW 77) + ((= newView (View new:)) + view: 529 + loop: 1 + cel: 0 + posn: 161 137 + init: + stopUpd: + ) + ((= newView_2 (View new:)) + view: 529 + loop: 0 + cel: 0 + posn: 161 33 + init: + stopUpd: + setPri: (- (newView priority?) 1) + ) + (= local1 1) + ) + (if (== gPrevRoomNum 68) + (gEgo posn: 68 159 view: 4 setStep: 4 2 init:) + else + (gEgo posn: 161 59 view: 77 setStep: 4 2 init:) + (self setScript: climbDown) + ) + (if + (and + (< 0 global134) + (< global134 255) + (== global133 gCurRoomNum) + ) + (proc0_10 603 -1) + ) + ) + + (method (doit) + (super doit:) + (if (& (gEgo onControl: 0) $0040) + (gRoom newRoom: 68) + ) + ) + + (method (handleEvent pEvent &tmp gInvSaidMe) + (return + (cond + ((pEvent claimed?) (return 1)) + ((== (pEvent type?) evSAID) + (cond + ( + (or + (Said 'look[') + (cond + ((Said '= (gEgo y?) (newView y?)) + (gEgo setScript: climbLadder) + else + (Print 60 26) + ) + else + (Print 800 1) + ) + else + (Print 60 27) + ) + ) + ((Said 'climb') (Print 60 28)) + ((Said 'move>') (Print 60 29)) + ) + (if + (and + (== global134 3) + (== global225 1) + (== (pEvent claimed?) 0) + ) + (cond + ((Said 'look/ghost,fishwife,fishwife,fishwife') (Print 60 1)) + ((Said 'look/chair') (Print 60 30)) + ( + (or + (Said 'converse/ghost,fishwife,fishwife,fishwife') + (Said 'converse[/!*]') + ) + (Print 60 31) + ) + ((Said 'get/ghost,fishwife,fishwife,fishwife') (Print 60 32)) + ( + (Said 'get,capture/ghost,fishwife,fishwife,fishwife') (Print 60 33)) + ((Said 'kill/ghost,fishwife,fishwife,fishwife') (Print 60 34)) + ( + (or + (Said 'kiss/ghost,fishwife,fishwife,fishwife') + (Said 'kiss[/!*]') + ) + (Print 60 35) + ) + ((Said 'help/ghost,fishwife,fishwife,fishwife') (Print 60 36)) + ((Said 'deliver>') + (if (gEgo inRect: 60 118 105 152) + (cond + ( + (and + (= gInvSaidMe (gInv saidMe:)) + (gEgo has: (gInv indexOf: gInvSaidMe)) + ) + (if (== (gInv indexOf: gInvSaidMe) 28) + (gEgo put: 28 -1) + (gGame changeScore: 2) + (Print 60 37) + (proc0_10 603 -1) + else + (Print 60 38) + ) + ) + (gInvSaidMe (pEvent claimed: 0)) + ) + else + (Print 800 1) + (pEvent claimed: 1) + ) + ) + ) + ) + ) + ) + ) + ) +) + +(instance climbLadder of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (proc0_8) + (gEgo + ignoreActors: 1 + illegalBits: 0 + setMotion: MoveTo 161 140 self + ) + ) + (1 + (gEgo view: 77 loop: 0 setStep: 4 3 setCycle: End self) + ) + (2 + (gEgo + loop: 1 + cel: 0 + setPri: 12 + setCycle: Walk + moveSpeed: 2 + cycleSpeed: 2 + setMotion: MoveTo 161 48 self + ) + ) + (3 + (= global204 0) + (= global205 1) + (client setScript: 0) + (gEgo cycleSpeed: 0 moveSpeed: 0) + (gRoom newRoom: 63) + ) + ) + ) +) + +(instance climbDown of Script + (properties) + + (method (init param1) + (super init: param1) + ) + + (method (changeState newState) + (switch (= state newState) + (0 + (proc0_8) + (gEgo + view: 77 + loop: 1 + illegalBits: 0 + setStep: 3 3 + moveSpeed: 2 + cycleSpeed: 2 + setPri: 10 + setCycle: Rev + setMotion: MoveTo 161 140 self + ) + ) + (1 + (gEgo + view: 4 + loop: 3 + illegalBits: -32768 + setCycle: Walk + cycleSpeed: 0 + moveSpeed: 0 + setPri: -1 + setStep: 4 2 + ) + (proc0_9) + (= global205 0) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm60.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm60.sco new file mode 100644 index 0000000..219dbe3 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm60.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm61.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm61.sc new file mode 100644 index 0000000..db550a4 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm61.sc @@ -0,0 +1,217 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 61) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Cycle) +(use Game) +(use User) +(use Obj) + +(public + Room61 0 +) + +(local + local0 +) +(instance fallSound of Sound + (properties + number 51 + ) +) + +(instance Room61 of Rm + (properties + picture 61 + style $0010 + ) + + (method (init) + (Load rsSOUND 51) + (Load rsVIEW 44) + (Load rsVIEW 42) + (Load rsPIC 66) + (self setRegions: 603) + (super init:) + (= global101 1) + (if (== gPrevRoomNum 66) + (gEgo + posn: 111 171 + view: 4 + loop: 0 + baseSetter: (ScriptID 0 1) + xStep: 2 + yStep: 1 + setPri: 12 + illegalBits: -32768 + init: + ) + ) + (if (== gPrevRoomNum 58) + (gEgo + posn: 155 44 + view: 4 + baseSetter: (ScriptID 0 1) + looper: myLooper + xStep: 4 + yStep: 2 + illegalBits: -32768 + init: + ) + ) + ) + + (method (doit) + (super doit:) + (if + (and + (& (gEgo onControl: 0) $0040) + (== (gEgo script?) 0) + ) + (gEgo looper: 0) + (gRoom newRoom: 66) + ) + (if + (and + (& (gEgo onControl: 0) $0020) + (== (gEgo script?) 0) + ) + (gEgo looper: 0) + (gRoom newRoom: 58) + ) + (if + (and + (& (gEgo onControl: 0) $0004) + (== (gEgo script?) 0) + ) + (gEgo setScript: fallStairs) + ) + (cond + ((& (gEgo onControl: 0) $0200) (gEgo looper: myLooper)) + ( + (and (> (gEgo y?) 130) (!= (gEgo script?) fallStairs)) (gEgo looper: 0)) + ) + ) + + (method (handleEvent pEvent) + (return + (cond + ((pEvent claimed?) (return 1)) + ( + (and (== (pEvent type?) evSAID) (Said 'look>')) + (cond + ((Said '/stair') (Print 61 0)) + ((Said '/dirt') (Print 61 1)) + ((Said '/wall') (Print 61 2)) + ((Said '= (param1 heading?) 335) + (<= (param1 heading?) 25) + ) + 2 + ) + ( + (and + (>= (param1 heading?) 155) + (<= (param1 heading?) 205) + ) + 3 + ) + ( + (and + (> (param1 heading?) 25) + (< (param1 heading?) 155) + ) + 0 + ) + (else 1) + ) + ) + ) +) + +(instance fallStairs of Script + (properties) + + (method (doit) + (if + (and (== (gRoom picture?) 61) (> (gEgo y?) 100)) + (gEgo setPri: 14) + ) + (super doit:) + ) + + (method (changeState newState) + (switch (= state newState) + (0 + (= local0 (Print 61 5 67 -1 10 88)) + (User canControl: 0) + (fallSound play:) + (gEgo illegalBits: 0 ignoreActors: 1) + (self cue:) + ) + (1 + (gEgo view: 44 moveSpeed: 0 setPri: 13 setCycle: End self) + ) + (2 + (gEgo + xStep: 5 + yStep: 20 + setCycle: Fwd + setPri: -1 + setMotion: + MoveTo + (if (< (gEgo y?) 130) + (- (gEgo x?) 20) + else + (+ (gEgo x?) 20) + ) + 255 + self + ) + ) + (3 + (gEgo posn: 195 9) + (gRoom drawPic: 66) + (gSounds eachElementDo: #stop 0) + (fallSound play:) + (gEgo setPri: -1 setMotion: MoveTo 200 137 self) + ) + (4 + (proc0_21) + (gEgo + view: 42 + loop: (mod (gEgo loop?) 2) + baseSetter: 0 + setPri: 3 + ) + ((ScriptID 0 4) setCycle: self 1) + ) + (5 + (ShakeScreen 10) + (Animate (gCast elements?) 0) + (= seconds 4) + ) + (6 (= global127 1)) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm61.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm61.sco new file mode 100644 index 0000000..10be991 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm61.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm62.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm62.sc new file mode 100644 index 0000000..5894c78 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm62.sc @@ -0,0 +1,123 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 62) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Cycle) +(use Game) +(use Feature) + +(public + Room62 0 +) +(synonyms + (room bedroom) +) + +(instance Room62 of Rm + (properties + picture 62 + style $0010 + ) + + (method (init) + (self setRegions: 603) + (Load rsVIEW 536) + (super init:) + (if global100 + ((Prop new:) + view: 536 + loop: 1 + cel: 0 + posn: 114 77 + init: + setPri: 4 + setCycle: Fwd + ) + ((Prop new:) + view: 536 + loop: 2 + cel: 1 + posn: 205 77 + init: + setPri: 4 + setCycle: Fwd + ) + ) + (if (== gPrevRoomNum 59) + (gEgo posn: 47 129 view: 4 xStep: 4 yStep: 2 init:) + ) + (if (== gPrevRoomNum 68) + (gEgo posn: 244 157 view: 4 xStep: 4 yStep: 2 init:) + ) + (if + (and + (< 0 global134) + (< global134 255) + (== global133 gCurRoomNum) + ) + (proc0_10 603 -1) + ) + ) + + (method (doit) + (super doit:) + (if (& (gEgo onControl: 0) $0040) + (gRoom newRoom: 68) + ) + (if (& (gEgo onControl: 0) $0020) + (gRoom newRoom: 59) + ) + ) + + (method (handleEvent pEvent) + (return + (cond + ((pEvent claimed?) (return 1)) + ((== (pEvent type?) evSAID) + (cond + ((Said 'look>') + (cond + ((Said '') + (cond + ((Said '= (gEgo priority?) 12) 11 else (gEgo priority?)) + setCycle: Fwd + setStep: 5 5 + setLoop: (if (> (gEgo x?) 155) 1 else 0) + setMotion: MoveTo 155 155 self + ) + ) + (1 + (gEgo + setLoop: (+ 2 (gEgo loop?)) + setMotion: MoveTo 155 222 self + ) + ) + (2 + (gAddToPics eachElementDo: #dispose) + (gCast eachElementDo: #hide) + (gRoom drawPic: 60 6) + ((= newView (View new:)) + view: 529 + loop: 1 + cel: 0 + posn: 161 137 + ignoreActors: 1 + addToPic: + ) + ((= newView_2 (View new:)) + view: 529 + loop: 0 + cel: 0 + posn: 161 33 + setPri: (- (newView priority?) 1) + addToPic: + ) + (if global100 + ((View new:) + view: 648 + loop: 1 + posn: 163 90 + setPri: 5 + addToPic: + ) + ((Prop new:) + view: 536 + loop: 2 + posn: 267 75 + init: + setPri: 13 + setCycle: Fwd + ) + ) + (gEgo + posn: 156 59 + setStep: 1 10 + show: + setMotion: MoveTo 161 150 self + ) + ) + (3 + (gEgo view: 40 setLoop: (- 2 (gEgo loop?)) setCel: 2) + (= cycles 1) + ) + (4 + (gSounds eachElementDo: #stop 0) + (gEgo view: 42) + (proc0_18) + (ShakeScreen 10) + (= seconds 5) + ) + (5 (= global127 1)) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm63.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm63.sco new file mode 100644 index 0000000..8d13e85 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm63.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm64.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm64.sc new file mode 100644 index 0000000..b58f471 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm64.sc @@ -0,0 +1,162 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 64) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Cycle) +(use Game) +(use Feature) + +(public + Room64 0 +) + +(local + [local0 3] +) +(instance Room64 of Rm + (properties + picture 64 + style $0010 + ) + + (method (init) + (self setRegions: 603) + (super init:) + ((View new:) + view: 536 + loop: 3 + cel: 0 + posn: 153 81 + setPri: 15 + addToPic: + ) + ((View new:) + view: 536 + loop: 3 + cel: 0 + posn: 166 81 + setPri: 15 + addToPic: + ) + ((View new:) + view: 536 + loop: 3 + cel: 0 + posn: 178 81 + setPri: 15 + addToPic: + ) + (if global100 + ((View new:) + view: 648 + loop: 3 + cel: 0 + posn: 219 88 + setPri: 5 + addToPic: + ) + ((View new:) + view: 648 + loop: 4 + cel: 0 + posn: 266 104 + setPri: 6 + addToPic: + ) + ((Prop new:) + view: 536 + loop: 2 + cel: 2 + posn: 152 76 + setPri: 15 + init: + setCycle: Fwd + ) + ((Prop new:) + view: 536 + loop: 1 + cel: 1 + posn: 166 76 + setPri: 15 + init: + setCycle: Fwd + ) + ((Prop new:) + view: 536 + loop: 2 + cel: 4 + posn: 177 76 + setPri: 15 + init: + setCycle: Fwd + ) + ) + (if (== gPrevRoomNum 68) + (gEgo posn: 51 130 view: 4 xStep: 4 yStep: 2 init:) + ) + (if (== gPrevRoomNum 65) + (gEgo posn: 210 117 view: 4 xStep: 4 yStep: 2 init:) + ) + (if + (and + (< 0 global134) + (< global134 255) + (== global133 gCurRoomNum) + ) + (proc0_10 603 -1) + ) + ) + + (method (doit) + (super doit:) + (if (& (gEgo onControl: 0) $0040) + (gRoom newRoom: 68) + ) + (if (& (gEgo onControl: 0) $0020) + (gRoom newRoom: 65) + ) + ) + + (method (handleEvent pEvent) + (return + (cond + ((pEvent claimed?) (return 1)) + ((== (pEvent type?) evSAID) + (cond + ( + (or (Said 'look[') + (cond + ((Said '') (Print 64 10) (pEvent claimed: 1)) + ((Said 'get>') + (if (Said '/crumbs') + (Print 64 11) + else + (pEvent claimed: 0) + ) + ) + ) + ) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm64.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm64.sco new file mode 100644 index 0000000..279b72d Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm64.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm65.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm65.sc new file mode 100644 index 0000000..114a3c7 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm65.sc @@ -0,0 +1,132 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 65) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Cycle) +(use Game) +(use Feature) + +(public + Room65 0 +) +(synonyms + (caldron caldron) + (shelf cabinet) +) + +(instance Room65 of Rm + (properties + picture 65 + style $0010 + ) + + (method (init) + (Load rsVIEW 648) + (Load rsVIEW 536) + (self setRegions: 603) + (super init:) + ((View new:) + view: 536 + loop: 5 + cel: 0 + posn: 238 80 + setPri: 4 + addToPic: + ) + (if global100 + ((View new:) + view: 648 + loop: 5 + cel: 0 + posn: 280 104 + setPri: 6 + addToPic: + ) + ((Prop new:) + view: 536 + loop: 1 + posn: 237 73 + setPri: 4 + init: + setCycle: Fwd + ) + ) + (if (or (== gPrevRoomNum 64) (== gPrevRoomNum 0)) + (gEgo posn: 245 162 view: 4 xStep: 4 yStep: 2 init:) + ) + (if + (and + (< 0 global134) + (< global134 255) + (== global133 gCurRoomNum) + ) + (proc0_10 603 -1) + ) + ) + + (method (doit) + (super doit:) + (if (& (gEgo onControl: 0) $0040) + (gRoom newRoom: 64) + ) + ) + + (method (handleEvent pEvent) + (return + (cond + ((pEvent claimed?) (return 1)) + ((== (pEvent type?) evSAID) + (cond + ( + (or + (Said 'look[') + (cond + ((Said '/pantry') (Print 65 1)) + ((Said '/fireplace') (Print 65 2)) + ((Said '/caldron') (Print 65 3)) + ((Said '/butterchurn') (Print 65 4)) + ((Said '/window') + (if (gEgo inRect: 229 124 277 146) + (Print 65 5) + else + (Print 65 6) + ) + ) + ((Said '/barrel') (Print 65 7)) + ((Said '/shelf') (Print 65 8)) + ((Said '/chandelier') (Print 65 9)) + ((Said '/wall') (Print 65 10)) + ((or (Said '/dirt') (Said '') + (cond + ((Said '/caldron') (Print 65 14)) + ((Said '/butterchurn') (Print 65 4)) + ((Said '/barrel') (Print 65 7)) + ((Said '/crumbs') (Print 65 15)) + (else (pEvent claimed: 0)) + ) + ) + ) + ) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm65.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm65.sco new file mode 100644 index 0000000..dbdfd0c Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm65.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm654.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm654.sc new file mode 100644 index 0000000..61380f2 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm654.sc @@ -0,0 +1,544 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 654) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Cycle) +(use Game) +(use User) +(use Feature) +(use Obj) + +(public + Room654 0 +) +(synonyms + (soup gruel food) +) + +(local + newProp + [local1 49] + newView_2 + [newView 7] + local58 + newView_3 + local60 + [local61 2] + local63 + local64 +) +(instance dwarfMusic of Sound + (properties + number 31 + loop -1 + ) +) + +(instance Room654 of Rm + (properties + picture 54 + style $0008 + ) + + (method (init) + (= global101 1) + (Load rsVIEW 630) + (Load rsVIEW 677) + (Load rsVIEW 678) + (Load rsVIEW 500) + (Load rsVIEW 76) + (Load rsVIEW 533) + (super init:) + ((View new:) + view: 533 + loop: 1 + cel: 0 + posn: 295 106 + setPri: 9 + addToPic: + ) + (= local63 0) + (gEgo + posn: 150 125 + view: 4 + xStep: 4 + yStep: 2 + init: + setCycle: Walk + ) + ((= [newView 0] (View new:)) + view: 677 + posn: 78 102 + loop: 3 + cel: 0 + init: + stopUpd: + ) + (= global176 0) + ((= newProp (Prop new:)) + view: 630 + posn: 83 124 + cycleSpeed: 0 + setCycle: Fwd + init: + ) + (if (not global223) (newProp addToPic:)) + (Print 654 0 67 -1 20 25 5) + (self setScript: dwarfsInToEat) + ) + + (method (handleEvent pEvent) + (super handleEvent: pEvent) + (return + (cond + ((pEvent claimed?) (return 1)) + ((== (pEvent type?) evSAID) + (cond + ( + (or (Said 'look[') + (cond + ((Said '/window') (Print 654 2)) + ((Said '/table') + (if (not global102) (Print 654 3)) + (if (and global102 global176) (Print 654 4)) + ) + ((Said ' local58 48) + (proc0_21) + (= local60 + (Print 654 17 33 gSmallFont 67 7 5 70 290 83 88) + ) + ) + (= seconds 15) + ) + (10 + (gEgo + illegalBits: 0 + ignoreActors: 1 + setMotion: MoveTo 270 136 self + ) + ) + (11 + (User canInput: 1) + (proc0_21) + (= local60 (Print 654 18 33 gSmallFont 67 -1 10 88)) + (gEgo view: 76 loop: 5) + (dwarfMusic dispose:) + (= global176 1) + (gEgo setScript: eatOut) + (= seconds 60) + ) + (12 (= local63 1)) + (13 + (proc0_21) + (= local60 (Print 654 19 33 gSmallFont 67 -1 10 88)) + (= global176 2) + (User canInput: 0) + (= local58 0) + (while (< local58 7) + ([local1 (* local58 7)] cel: 0) + (++ local58) + ) + (gEgo cel: 0) + (= local58 49) + (= seconds 5) + ) + (14 + (dwarfMusic play:) + (proc0_21) + (= local60 (Print 654 20 33 gSmallFont 67 -1 10 88)) + (self cue:) + ) + (15 + (= local58 (- local58 7)) + ([local1 local58] loop: 5 cel: 0 setCycle: End self) + ((= newView_2 (View new:)) + view: 500 + loop: 1 + cel: 2 + setPri: 12 + ignoreActors: 1 + posn: ([local1 local58] x?) (if [local1 (+ local58 3)] 136 else 133) + addToPic: + ) + (if (== local58 28) + ((= newView_3 (View new:)) + view: 500 + loop: 0 + cel: 0 + posn: (+ (newView_2 x?) 8) (- (newView_2 y?) 1) + ignoreActors: 1 + setPri: 12 + init: + stopUpd: + ) + ((gInv at: 1) moveTo: 54) + ) + ) + (16 + ([local1 local58] + view: [local1 (+ local58 1)] + setPri: -1 + cel: 0 + loop: 1 + posn: ([local1 (+ local58 6)] x?) (+ ([local1 (+ local58 6)] y?) 2) + cycleSpeed: 0 + moveSpeed: 0 + setCycle: Walk + setMotion: MoveTo 140 (+ ([local1 (+ local58 6)] y?) 2) self + ) + ([local1 (+ local58 6)] dispose:) + ) + (17 + ([local1 local58] + setPri: ([local1 local58] priority?) + setMotion: MoveTo 150 207 self + ) + ) + (18 + ([local1 local58] dispose:) + (if local58 (= state 14)) + (self cue:) + ) + (19 + (dwarfMusic loop: 1 changeState:) + (proc0_21) + (Print 654 21 33 gSmallFont 67 -1 20) + (= newView_2 (View new:)) + (newView_2 + view: 500 + loop: 1 + cel: 2 + posn: (gEgo x?) 132 + setPri: 12 + ignoreActors: + init: + ) + (newView_2 addToPic:) + (proc0_18) + (gEgo + ignoreActors: 0 + illegalBits: -32768 + posn: 270 135 + view: 4 + loop: 2 + setCycle: Walk + ) + (self cue:) + ) + (20 + (dwarfMusic dispose:) + (User canControl: 1 canInput: 1) + (= global205 0) + (gRoom newRoom: 54) + ) + ) + ) + + (method (handleEvent pEvent &tmp gInvSaidMe) + (return + (cond + ((pEvent claimed?) (return 1)) + ((== (pEvent type?) evSAID) + (cond + ((Said 'look/dwarf,man') (Print 654 22)) + ((Said 'look/table') (Print 654 23)) + ((Said 'look/soup') (Print 654 24)) + ((Said 'converse[/dwarf,man]') (tacodoco1 cue:)) + ((or (Said 'get/soup') (Said 'get/bowl')) + (cond + ((== global176 0) (Print 654 25)) + ((== global176 1) (Print 654 26)) + (else (Print 654 27)) + ) + ) + ((Said 'kill/dwarf,man') (Print 654 28)) + ((Said 'get/dwarf,man') (Print 654 29)) + ( + (or (Said 'kiss[/!*]') (Said 'kiss/dwarf,man')) (Print 654 30)) + ((Said 'deliver>') + (if + (and + (= gInvSaidMe (gInv saidMe:)) + (gEgo has: (gInv indexOf: gInvSaidMe)) + ) + (Print 654 31) + else + (pEvent claimed: 0) + ) + ) + ((or (Said 'chew/soup') (Said 'chew')) + (switch global176 + (0 + (Print 654 32) + (= global176 1) + ) + (1 (Print 654 33)) + (2 (Print 654 27)) + ) + ) + ((Said '(stand (gEgo cel?) 0) (gEgo setCycle: CT 0 1)) + ([local1 local58] setCycle: CT 0 1 self) + ) + (3 + ([local1 local58] stopUpd:) + (if (not local63) + (= state 0) + (self cue:) + else + (dwarfsInToEat cue:) + ) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm654.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm654.sco new file mode 100644 index 0000000..1728c1f Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm654.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm66.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm66.sc new file mode 100644 index 0000000..c8456f3 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm66.sc @@ -0,0 +1,332 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 66) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Jump) +(use Cycle) +(use Game) +(use Feature) +(use Obj) + +(public + Room66 0 +) + +(local + newView + local1 + local2 + local3 +) +(instance fallSound of Sound + (properties + number 51 + ) +) + +(instance Room66 of Rm + (properties + picture 66 + style $0010 + ) + + (method (init) + (Load rsVIEW 512) + (Load rsVIEW 44) + (Load rsVIEW 42) + (Load rsVIEW 41) + (Load rsVIEW 4) + (Load rsSCRIPT 991) + (self setRegions: 603) + (super init:) + ((View new:) + view: 512 + loop: 1 + cel: 0 + posn: 208 79 + setPri: 4 + addToPic: + ) + ((Prop new:) + view: 512 + loop: 0 + posn: 206 64 + setPri: 3 + init: + setCycle: Fwd + ) + (if (== ((gInv at: 15) owner?) 66) + ((= newView (View new:)) + view: 512 + loop: 2 + cel: 0 + posn: 194 122 + init: + stopUpd: + ) + ) + (if (or (== gPrevRoomNum 67) (== gPrevRoomNum 0)) + (gEgo + illegalBits: -16384 + posn: 240 127 + view: 4 + xStep: 4 + yStep: 2 + init: + setPri: -1 + ) + (= local1 1) + (gEgo observeBlocks: stair1) + ) + (if (== gPrevRoomNum 61) + (gEgo + illegalBits: -32768 + view: 4 + xStep: 4 + setPri: 7 + yStep: 1 + posn: 102 37 + baseSetter: (ScriptID 0 1) + init: + ) + (= local1 0) + ) + (gEgo observeBlocks: stair2) + ) + + (method (doit) + (super doit:) + (if (!= (self script?) stairTrip) + (if (& (gEgo onControl: 0) $0040) + (gRoom newRoom: 67) + ) + (if (& (gEgo onControl: 0) $0020) + (gRoom newRoom: 61) + ) + (if + (and (& (gEgo onControl: 0) $0004) (not local1)) + (self setScript: stairTrip) + ) + (if (& (gEgo onControl: 1) $0800) + (if (> (gEgo heading?) 180) + (= local1 0) + (if (gEgo blocks?) (gEgo ignoreBlocks: stair1)) + (gEgo + illegalBits: -32768 + baseSetter: (ScriptID 0 1) + setPri: 12 + ) + else + (= local1 1) + (gEgo + observeBlocks: stair1 + illegalBits: -16384 + baseSetter: 0 + setPri: -1 + ) + ) + ) + ) + (cond + ( + (and + (gEgo inRect: 183 150 205 168) + (& (gEgo onControl:) $0800) + local1 + ) + (gEgo setPri: 12) + ) + ( + (and + local1 + (not (gEgo inRect: 183 150 205 168)) + (== (gEgo priority?) 12) + ) + (gEgo setPri: -1) + ) + ) + (if + (and + (!= (self script?) stairTrip) + (or + (gEgo inRect: 92 14 128 36) + (gEgo inRect: 74 13 112 48) + ) + ) + (gEgo setPri: 7) + ) + (if (& (gEgo onControl: 1) $0400) + (if + (or (< (gEgo heading?) 90) (> (gEgo heading?) 270)) + (gEgo setPri: 7) + else + (gEgo setPri: 12) + ) + ) + (if + (and + (> (gEgo y?) 60) + (< (gEgo y?) 116) + (!= (gEgo script?) stairTrip) + ) + (gEgo setPri: 12) + ) + ) + + (method (dispose) + (DisposeScript 991) + (super dispose:) + ) + + (method (handleEvent pEvent) + (return + (cond + ((pEvent claimed?) (return 1)) + ((== (pEvent type?) evSAID) + (cond + ((Said 'look>') + (cond + ((Said '/stair') (Print 66 0)) + ((Said '/door') (Print 66 1)) + ((or (Said '/dirt') (Said '') + (cond + ((and (gEgo has: 18) (Said '/book')) ((gInv at: 18) showSelf:)) + ((Said '/book,shelf,bookshelf') + (if (> (gEgo x?) 160) + (if (== ((gInv at: 18) owner?) 67) + (Print 67 1) + (= global128 1) + else + (Print 67 2) + ) + else + (Print 67 3) + ) + ) + ((Said ' global160 11) (< global160 24)) + {P.M.} + else + {A.M.} + ) + ) + 80 + {TAMIR TIME} + 67 + -1 + 20 + 33 + gSmallFont + ) + ) + ((Said 'look>') + (cond + ((Said ' (gEgo y?) 100) + (gEgo illegalBits: 0 setMotion: MoveTo 196 81 self) + else + (gEgo illegalBits: 0 setMotion: MoveTo 99 139 self) + ) + ) + (1 + (proc0_7) + (proc0_9) + (= global189 1) + (gEgo setScript: 0 setStep: 4 2) + (if (< (gEgo y?) 130) + (gEgo baseSetter: 0) + else + (gEgo baseSetter: (ScriptID 0 1)) + ) + (= global105 0) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm68.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm68.sco new file mode 100644 index 0000000..d4f8f8d Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm68.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm69.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm69.sc new file mode 100644 index 0000000..70bd956 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm69.sc @@ -0,0 +1,709 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 69) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Cycle) +(use Game) +(use InvI) +(use User) +(use Feature) +(use Obj) + +(public + Room69 0 +) + +(local + newProp_2 + newView + newProp + newAct + newAct_2 + local5 + local6 + local7 + local8 +) +(instance fallMusic of Sound + (properties + number 51 + ) +) + +(instance mummyMusic of Sound + (properties + number 27 + ) +) + +(instance mummyBlock of Blk + (properties + top 110 + left 140 + bottom 122 + right 182 + ) +) + +(instance ladderSpace of Blk + (properties + top 146 + left 90 + bottom 152 + right 96 + ) +) + +(instance Room69 of Rm + (properties + picture 69 + style $0010 + ) + + (method (init) + (Load rsVIEW 520) + (Load rsVIEW 522) + (Load rsVIEW 195) + (Load rsVIEW 196) + (Load rsVIEW 197) + (Load rsVIEW 4) + (Load rsVIEW 38) + (Load rsVIEW 519) + (Load rsVIEW 683) + (Load rsVIEW 44) + (Load rsVIEW 41) + (Load rsVIEW 40) + (Load rsVIEW 42) + (Load rsVIEW 37) + (Load rsVIEW 39) + (super init:) + (= local7 0) + (= local6 0) + (= global101 1) + ((View new:) + view: 522 + loop: 3 + cel: 0 + posn: 253 71 + addToPic: + ) + ((Prop new:) + view: 522 + loop: 2 + cel: 0 + posn: 252 57 + init: + setCycle: Fwd + ) + ((= newView (View new:)) + view: 520 + loop: 2 + cel: 0 + setPri: 7 + posn: 160 112 + init: + stopUpd: + ) + ((= newProp (Prop new:)) + view: 520 + ignoreActors: 1 + setPri: 8 + loop: 0 + cel: 0 + posn: (- (newView x?) 4) (newView y?) + init: + stopUpd: + ) + ((= newProp_2 (Prop new:)) + view: 522 + setCel: (if global170 255 else 0) + setPri: 11 + ignoreActors: 1 + posn: 98 87 + init: + ) + ((= newAct (Act new:)) + view: 195 + illegalBits: 0 + setPri: 7 + posn: (newView x?) (newView y?) + init: + ) + (if ((Inv at: 4) ownedBy: 69) + ((= newAct_2 (Act new:)) + view: 519 + illegalBits: 0 + ignoreActors: 0 + posn: 260 171 + init: + ) + ) + (gEgo + posn: 41 86 + view: 4 + loop: 0 + ignoreActors: 1 + setStep: 4 1 + illegalBits: -32768 + setPri: 11 + init: + ) + ) + + (method (doit) + (super doit:) + (if (& (gEgo onControl: 0) $0040) + (User canControl: 1 canInput: 1) + (gEgo setPri: -1) + (gRoom newRoom: 18) + ) + (if + (and + (& (gEgo onControl: 1) $0004) + (== (gEgo script?) 0) + ) + (User canControl: 0 canInput: 0) + (gEgo setScript: cryptFall) + ) + ) + + (method (handleEvent pEvent) + (return + (cond + ((pEvent claimed?) (return 1)) + ((== (pEvent type?) evSAID) + (cond + ( + (or + (Said 'look[') + (cond + ((Said '/epitaph') (Print 69 1)) + ( + (and + (Said ' (gEgo distanceTo: newProp_2) 25) (Print 800 1)) + (else + (Print 69 14) + (gGame changeScore: 2) + (User canControl: 0 canInput: 0) + (gEgo setMotion: 0) + (= local6 1) + (newProp_2 setScript: DropRope) + ) + ) + ) + ((Said 'climb[/(hemp,ladder)]>') + (cond + ((not global170) (pEvent claimed: 1) (Print 800 3)) + ((or (Said ' (gEgo distanceTo: newProp_2) 20) + (Print 800 1) + else + (gEgo setScript: DownLadder) + ) + ) + ((or (Said ' (gEgo distanceTo: newAct_2) 20) (Print 800 1)) + (else (gEgo setScript: stoop)) + ) + ) + ((Said 'place,drop,return/box') + (cond + ((not (gEgo has: 4)) (Print 69 18)) + ((not local7) (Print 69 15)) + (else (gEgo setScript: putBack)) + ) + ) + ((Said 'open/box') + (cond + ((not (gEgo has: 4)) (Print 69 18)) + ((not local7) (Print 69 19)) + (else (pEvent claimed: 0)) + ) + ) + ((Said 'read/(epitaph,wall,casket,lid)') (Print 69 1)) + ((Said 'get,rob,get,move/casket') (Print 69 20)) + ((Said 'bang[') + (cond + ((not local8) (pEvent claimed: 1) (Print 69 11)) + ((Said 'kill') (Print 69 27)) + ((Said 'get,capture') (Print 69 28)) + ((Said 'kiss') (Print 69 29)) + ((Said 'help,save') (Print 69 30)) + ) + ) + ((Said 'deliver/*/mummy') (if local8 (Print 69 31) else (Print 69 11))) + ) + ) + ) + ) + ) + + (method (newRoom newRoomNumber) + (proc0_7) + (super newRoom: newRoomNumber) + ) +) + +(instance doMummy of Script + (properties) + + (method (doit) + (if + (and + (== (self state?) 2) + (< (gEgo distanceTo: newAct) 25) + ) + (newAct setMotion: 0) + (self changeState: 3) + (super doit:) + ) + ) + + (method (changeState newState) + (switch (= state newState) + (0 + (if (not (gEgo inRect: 138 110 192 125)) + (Print 69 32 67 -1 10 25 3) + (gEgo observeBlocks: mummyBlock) + (newProp priority: 8) + (= local8 1) + (newAct show:) + (newProp setCycle: End self) + else + (-- state) + (= seconds 5) + ) + ) + (1 (newAct setCycle: End self)) + (2 + (newAct + view: 196 + setCycle: Walk + illegalBits: 0 + cycleSpeed: 0 + moveSpeed: 0 + setPri: 9 + setStep: 3 2 + setMotion: MoveTo 145 135 self + ) + (mummyMusic play:) + ) + (3 + (newProp ignoreActors: 0 stopUpd:) + (if (gEgo has: 7) + (Print 69 33 67 -1 10 25 4) + (self changeState: 5) + else + (Print 69 34 67 -1 10 25 5) + (self changeState: 20) + ) + ) + (5 + (newAct + setPri: 9 + ignoreActors: 1 + setMotion: MoveTo (newView x?) (newView y?) self + ) + ) + (6 + (newAct view: 195 setPri: 7 loop: 0 setCycle: Beg self) + ) + (7 + (newProp ignoreActors: 1 setCycle: Beg self) + ) + (8 + (newAct hide:) + (= local8 0) + (mummyMusic dispose:) + (newProp setPri: 7 stopUpd:) + (= state -1) + (client setScript: 0) + (gEgo ignoreBlocks: mummyBlock) + ) + (20 + (newAct moveSpeed: 0 setMotion: Chase gEgo 15 self) + ) + (21 + (Print 69 35) + (= global127 1) + ) + ) + ) +) + +(instance DownLadder of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (User canControl: 0 canInput: 0) + (gEgo setMotion: 0) + (self cue:) + ) + (1 + (gEgo + view: 38 + setLoop: 0 + illegalBits: 0 + posn: 98 87 + setPri: 14 + setCycle: End self + ) + ) + (2 + (gEgo setLoop: 1 setCycle: End self) + ) + (3 + (gEgo + view: 39 + x: 98 + y: (+ (gEgo y?) 35) + setLoop: 1 + cel: 0 + cycleSpeed: 0 + moveSpeed: 0 + setCycle: Rev + setMotion: MoveTo 98 150 self + ) + ) + (4 + (gEgo loop: 0 posn: 104 149 setCycle: Beg self) + ) + (5 + (gEgo + view: 4 + posn: 107 149 + setLoop: -1 + cycleSpeed: 0 + moveSpeed: 0 + loop: 1 + setPri: -1 + setCycle: Walk + illegalBits: -32768 + ignoreActors: 0 + ) + (self cue:) + ) + (6 + (= local7 1) + (= local6 0) + (gEgo observeBlocks: ladderSpace) + (User canControl: 1 canInput: 1) + (self cue:) + ) + (7 + (if (== (newAct script?) 0) + (newAct setScript: doMummy) + ) + ) + (14 + (User canControl: 0 canInput: 0) + (gEgo + view: 39 + setLoop: 0 + setMotion: 0 + illegalBits: 0 + posn: 107 151 + script: DownLadder + setCycle: End self + forceUpd: + ) + ) + (15 + (gEgo + view: 39 + x: 98 + setPri: 11 + setLoop: 1 + cel: 0 + cycleSpeed: 0 + moveSpeed: 0 + ignoreActors: 1 + setCycle: Walk + setMotion: MoveTo (+ (newProp_2 x?) 0) (+ (newProp_2 y?) 35) self + ) + ) + (16 + (gEgo + view: 38 + posn: 96 (newProp_2 y?) + cycleSpeed: 0 + moveSpeed: 0 + setLoop: 1 + setCycle: Beg self + ) + ) + (17 (self cue:)) + (18 + (gEgo + view: 4 + posn: 80 87 + setLoop: -1 + setCycle: Walk + illegalBits: -32768 + ) + (User canControl: 1 canInput: 1) + (= state -1) + (= local6 0) + (= local7 0) + (gEgo setScript: 0) + ) + ) + ) +) + +(instance DropRope of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (gEgo setMotion: MoveTo 70 88 self) + ) + (1 + (gEgo view: 37 setLoop: 0 setCycle: End self) + ) + (2 + (newProp_2 cycleSpeed: 1 setCycle: End self) + ) + (3 + (newProp_2 stopUpd:) + (= global170 1) + (gEgo view: 41 loop: 0 cel: 255 setCycle: End self) + ) + (4 + (gEgo view: 4 setLoop: -1 setCycle: Walk) + (User canControl: 1 canInput: 1) + (client setScript: 0) + ) + ) + ) +) + +(instance cryptFall of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (gEgo + ignoreActors: 1 + illegalBits: 0 + setPri: (if (< (gEgo y?) 84) -1 else 12) + ) + (self cue:) + ) + (1 + (fallMusic play:) + (gEgo view: 44 moveSpeed: 0 setLoop: 0 setCycle: End self) + ) + (2 + (gEgo setLoop: 2 xStep: 10 yStep: 10 setCycle: Fwd) + (if (< (gEgo y?) 84) + (gEgo + setMotion: MoveTo (+ (gEgo x?) 10) (+ (gEgo y?) 60) self + ) + else + (gEgo + setMotion: MoveTo (+ (gEgo x?) 10) (+ (gEgo y?) 70) self + ) + ) + ) + (3 + (gEgo view: 42 setLoop: 0 setCel: 0 setPri: -1) + (proc0_18) + (fallMusic dispose:) + (ShakeScreen 5) + (= seconds 1) + ) + (4 + (Print 69 36 70 100 67 -1 10) + (= seconds 4) + ) + (5 + (client setScript: 0) + (= global127 1) + ) + ) + ) +) + +(instance stoop of Script + (properties) + + (method (init param1) + (super init: param1) + ) + + (method (changeState newState) + (switch (= state newState) + (0 + (proc0_8) + (gEgo view: 40 cel: 255 setCycle: End self) + (if (> (gEgo x?) (newAct_2 x?)) + (gEgo loop: 1) + else + (gEgo loop: 0) + ) + ) + (1 + (gEgo get: 4) + (newAct_2 dispose:) + (if (not global218) + (= global218 1) + (= global182 1) + (gGame changeScore: 4) + ) + (if (== global169 0) (gGame changeScore: -2)) + (gEgo setCycle: Beg self) + ) + (2 + (gEgo view: 4 setCycle: Walk) + (proc0_9) + (client setScript: 0) + ) + ) + ) +) + +(instance putBack of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (proc0_8) + (gEgo view: 40 cel: 255 setCycle: End self) + (if (> (gEgo x?) 160) + (gEgo loop: 1) + else + (gEgo loop: 0) + ) + ) + (1 + (gEgo put: 4 69) + (if (== global169 0) + (gSounds eachElementDo: #stop 0) + ((Sound new:) number: 50 play:) + (gGame changeScore: 2) + ) + ((= newAct_2 (Act new:)) + view: 519 + posn: + (if (> (gEgo x?) 160) + (- (gEgo x?) 20) + else + (+ (gEgo x?) 20) + ) + (gEgo y?) + init: + ) + (gEgo setCycle: Beg self) + ) + (2 + (gEgo view: 4 setCycle: Walk) + (proc0_9) + (client setScript: 0) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm69.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm69.sco new file mode 100644 index 0000000..7bfb290 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm69.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm690.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm690.sc new file mode 100644 index 0000000..5731269 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm690.sc @@ -0,0 +1,523 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 690) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Extra) +(use Cycle) +(use Game) +(use InvI) +(use User) +(use Feature) +(use Obj) + +(public + Room690 0 +) + +(local + newExtra + newAct_3 + newAct + local3 + newAct_2 + newProp_2 + newProp + newProp_3 + newView + newProp_4 + newProp_5 +) +(instance wave1 of Prop + (properties) +) + +(instance wave2 of Prop + (properties) +) + +(instance fairyCage of Cage + (properties + top 52 + left 101 + bottom 92 + right 228 + ) +) + +(instance Room690 of Rm + (properties + picture 40 + horizon 98 + ) + + (method (init) + (super init:) + (self setRegions: 521) + (= gUserFont gSmallFont) + (wave1 + view: 664 + loop: 3 + cel: 0 + posn: 40 178 + setPri: 0 + ignoreActors: + cycleSpeed: 4 + setCycle: Fwd + init: + ) + (wave2 + view: 664 + loop: 4 + cel: 2 + posn: 280 178 + setPri: 0 + ignoreActors: + cycleSpeed: 4 + setCycle: Fwd + init: + ) + (= newProp (Prop new:)) + (newProp + view: 650 + loop: 2 + cel: 2 + posn: 61 84 + setPri: 0 + ignoreActors: + setCycle: Fwd + init: + ) + ((View new:) + view: 613 + loop: 1 + cel: 0 + posn: 155 78 + setPri: 2 + init: + addToPic: + ) + ((Act new:) + view: 114 + illegalBits: 0 + posn: 110 59 + setCycle: Walk + setMotion: Wander + setPri: 3 + observeBlocks: fairyCage + moveSpeed: 2 + ignoreHorizon: + init: + ) + ((Act new:) + view: 110 + illegalBits: 0 + posn: 190 79 + setCycle: Walk + setMotion: Wander + setPri: 3 + observeBlocks: fairyCage + moveSpeed: 2 + ignoreHorizon: + init: + ) + (gEgo + view: 106 + posn: 158 129 + setLoop: 5 + cel: 0 + setScript: egoActions + init: + ) + (= global205 1) + ) + + (method (dispose) + (DisposeScript 988) + (super dispose:) + ) +) + +(instance egoActions of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (User canControl: 0 canInput: 0) + (gEgo setCycle: End self) + (cond + ((and (gEgo has: 25) (gEgo has: 33)) ((ScriptID 521 1) number: 201 play:)) + ((gEgo has: 25) ((ScriptID 521 1) number: 200 play:)) + ((gEgo has: 33) ((ScriptID 521 1) number: 203 play:)) + (else ((ScriptID 521 1) number: 202 play:)) + ) + ) + (1 + (= newAct (Act new:)) + (newAct + posn: 185 129 + view: 106 + setLoop: 4 + cel: 0 + init: + setCycle: End self + ) + ) + (2 + (= global120 (Print 690 0 67 -1 0 88)) + (= seconds 5) + ) + (3 + (proc0_21) + (if (gEgo has: 33) + (self changeState: 10) + else + (self changeState: 4) + ) + ) + (4 + (if (gEgo has: 25) + (self changeState: 20) + else + (self changeState: 100) + ) + ) + (10 + (= global120 + (Print 690 1 67 -1 10 80 {Genesta} 83 88) + ) + (= seconds 6) + ) + (11 + (if gModelessDlg (gModelessDlg dispose:)) + (gEgo + view: 106 + setLoop: 1 + cel: 0 + cycleSpeed: 1 + setCycle: End self + ) + ) + (12 + (newAct setLoop: 0 cel: 0 setCycle: End self) + (gEgo setLoop: 5 cel: 5) + (gGame changeScore: 2) + ((Inv at: 33) moveTo: -1) + ) + (13 + (newAct loop: 2 cycleSpeed: 1 setCycle: Fwd) + (= global120 (Print 690 2 67 -1 0 88)) + (= seconds 8) + ) + (14 + (if gModelessDlg (gModelessDlg dispose:)) + (= global120 (Print 690 3 67 -1 10 80 {Genesta} 88)) + (= seconds 6) + ) + (15 + (if gModelessDlg (gModelessDlg dispose:)) + (newAct setLoop: 3 cel: 0 setCycle: CT 3 1 self) + ) + (16 + (newAct setCycle: End) + (= newAct_2 (Act new:)) + (newAct_2 + view: 360 + xStep: 1 + yStep: 1 + cycleSpeed: 3 + posn: (newAct x?) (+ (newAct y?) 6) + moveSpeed: 3 + setCycle: Walk + setMotion: Wander + illegalBits: -2 + init: + ) + (= seconds 4) + ) + (17 + (newAct cycleSpeed: 0) + (self changeState: 4) + ) + (20 + (= global120 (Print 690 4 67 -1 10 80 {Genesta} 88)) + (= seconds 15) + ) + (21 + (if gModelessDlg (gModelessDlg dispose:)) + (= global120 (Print 690 5 67 -1 0 88)) + (= seconds 6) + ) + (22 + (if gModelessDlg (gModelessDlg dispose:)) + (= global120 (Print 690 6 67 -1 10 80 {Genesta} 88)) + (= seconds 10) + ) + (23 + (if gModelessDlg (gModelessDlg dispose:)) + (newAct view: 755 loop: 2 cel: 0 setCycle: End self) + ) + (24 + (= newProp_2 (Prop new:)) + (newProp_2 + view: 680 + cel: 0 + posn: (gEgo x?) (gEgo y?) + setPri: (+ (gEgo priority?) 1) + setCycle: CT 5 1 self + init: + ) + ) + (25 + (gEgo view: 757 loop: 0 cel: 1) + (newProp_2 setCycle: End self) + ) + (26 + (newProp_2 hide:) + (= global120 (Print 690 7 67 -1 10 80 {Genesta} 88)) + (newAct loop: 3 setCycle: Fwd) + (= seconds 10) + ) + (27 + (if gModelessDlg (gModelessDlg dispose:)) + (newAct loop: 2 cel: 0 setCycle: End self) + ) + (28 + (= newAct_3 (Act new:)) + (newAct_3 + view: 107 + posn: 136 130 + loop: 0 + cel: 0 + setCycle: End self + init: + ) + ) + (29 + (gEgo cel: 0) + (newAct_3 loop: 1 cel: 0 setCycle: End self) + ) + (30 + (= global120 (Print 690 8 67 -1 10 80 {Genesta} 88)) + (= seconds 8) + (newAct loop: 3 setCycle: Fwd) + ) + (31 + (if gModelessDlg (gModelessDlg dispose:)) + (newAct loop: 2 cel: 0 setCycle: End self) + ) + (32 + (newAct_3 loop: 2 cel: 0 setCycle: End self) + (newAct setLoop: -1 loop: 3 setCycle: Fwd) + ) + (33 (= seconds 4)) + (34 + (newAct_3 + view: 108 + loop: 0 + cel: 0 + cycleSpeed: 3 + setCycle: CT 3 1 self + ) + ) + (35 + (gCast eachElementDo: #hide) + (gRoom drawPic: 696) + ((= newProp_3 (Prop new:)) + view: 787 + loop: 0 + cel: 0 + posn: 84 127 + ignoreActors: + init: + ) + (= newProp_4 (Prop new:)) + (= newProp_5 (Prop new:)) + (newProp_4 + view: 787 + loop: 4 + cel: 1 + posn: 17 111 + setPri: 0 + cycleSpeed: 4 + setCycle: Fwd + init: + ) + (newProp_5 + view: 787 + loop: 5 + cel: 3 + posn: 126 94 + setPri: 0 + cycleSpeed: 4 + setCycle: Fwd + init: + ) + ((= newExtra (Extra new:)) + view: 787 + loop: 3 + cel: 2 + posn: 180 54 + setPri: 13 + pauseCel: 0 + minPause: 30 + maxPause: 30 + minCycles: 4 + maxCycles: 4 + init: + ) + (= global120 (Print 690 9 67 -1 0 88)) + (= seconds 6) + ) + (36 + (if gModelessDlg (gModelessDlg dispose:)) + (newProp_3 cycleSpeed: 5 setCycle: End self) + (= global120 (Print 690 10 67 -1 10 80 {Edgar} 88)) + ((= newView (View new:)) + view: 787 + loop: 2 + cel: 0 + posn: 92 192 + setPri: 14 + init: + ) + ) + (37 + (if gModelessDlg (gModelessDlg dispose:)) + (= global120 (Print 690 11 67 -1 0 88)) + (= seconds 5) + ) + (38 + (if gModelessDlg (gModelessDlg dispose:)) + (= global120 (Print 690 12 67 -1 0 88)) + (= seconds 5) + ) + (39 + (if gModelessDlg (gModelessDlg dispose:)) + (= global120 (Print 690 13 67 -1 0 88)) + (= seconds 3) + ) + (40 + (if gModelessDlg (gModelessDlg dispose:)) + (= global120 (Print 690 14 67 -1 10 80 {Rosella} 88)) + (newProp_3 + view: 787 + loop: 1 + cel: 0 + posn: 72 157 + setPri: 14 + ) + (newView dispose:) + (= seconds 7) + ) + (41 + (if gModelessDlg (gModelessDlg dispose:)) + (newProp_3 dispose:) + (newExtra dispose:) + (= global120 (Print 690 15 67 -1 10 80 {Rosella} 88)) + (= seconds 4) + ) + (42 + (if gModelessDlg (gModelessDlg dispose:)) + (newProp_4 dispose:) + (newProp_5 dispose:) + (Timer setCycle: self 2) + ) + (43 + (gRoom drawPic: 40) + (gCast eachElementDo: #show) + ((View new:) + view: 613 + loop: 1 + cel: 0 + posn: 156 77 + setPri: 2 + init: + addToPic: + ) + (gEgo cel: 1) + (newAct_3 setCycle: End) + (= global120 (Print 690 16 67 -1 10 80 {Genesta} 88)) + (= seconds 6) + ) + (44 + (if gModelessDlg (gModelessDlg dispose:)) + (= global120 (Print 690 17 67 -1 10 80 {Genesta} 88)) + (= seconds 5) + ) + (45 + (if gModelessDlg (gModelessDlg dispose:)) + (newAct loop: 2 cel: 0 setCycle: End self) + ) + (46 + (= newProp_2 (Prop new:)) + (newProp_2 + view: 680 + loop: 0 + cel: 0 + posn: (gEgo x?) (gEgo y?) + setPri: (+ (gEgo priority?) 1) + setCycle: CT 5 1 self + init: + ) + ) + (47 + (gEgo hide:) + (newProp_2 setCycle: End self) + ) + (48 (gRoom newRoom: 693)) + (100 + (newAct view: 755 setLoop: 3 cel: 8) + (= global120 (Print 690 18 67 -1 10 80 {Genesta} 88)) + (= seconds 15) + ) + (101 + (if gModelessDlg (gModelessDlg dispose:)) + (= global120 (Print 690 19 67 -1 0 88)) + (= seconds 8) + ) + (102 + (if gModelessDlg (gModelessDlg dispose:)) + (= global120 (Print 690 20 67 -1 10 80 {Genesta} 88)) + (= seconds 10) + ) + (103 + (newAct setLoop: 2 cel: 0 setCycle: End self) + ) + (104 + (if gModelessDlg (gModelessDlg dispose:)) + (= newProp_2 (Prop new:)) + (newProp_2 + view: 680 + cel: 0 + posn: (gEgo x?) (gEgo y?) + setPri: (+ (gEgo priority?) 1) + setCycle: CT 5 1 self + init: + ) + ) + (105 + (gEgo view: 757 loop: 0 cel: 1) + (newProp_2 setCycle: End self) + ) + (106 + (newProp_2 hide:) + (= global120 (Print 690 21 67 -1 10 80 {Genesta} 88)) + (= seconds 10) + ) + (107 + (if gModelessDlg (gModelessDlg dispose:)) + (newProp_2 cel: 0 show: setCycle: CT 5 1 self) + ) + (108 + (gEgo hide:) + (newProp_2 setCycle: End self) + ) + (109 + (newProp_2 dispose:) + (gRoom newRoom: 693) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm690.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm690.sco new file mode 100644 index 0000000..1aec857 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm690.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm692.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm692.sc new file mode 100644 index 0000000..0214c71 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm692.sc @@ -0,0 +1,346 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 692) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Cycle) +(use Game) +(use User) +(use Feature) +(use Obj) + +(public + Room692 0 +) + +(local + newProp + newAct + newProp_3 + newProp_2 +) +(instance weddingMarch of Sound + (properties + number 69 + loop 2 + ) +) + +(instance escort of Prop + (properties) + + (method (cue) + (self addToPic:) + ) +) + +(instance Room692 of Rm + (properties + picture 92 + style $0008 + ) + + (method (init) + (super init:) + ((View new:) + view: 806 + loop: 0 + cel: 0 + posn: 118 104 + setPri: 6 + init: + addToPic: + ) + ((View new:) + view: 806 + loop: 0 + cel: 0 + posn: 111 111 + setPri: 7 + init: + addToPic: + ) + ((View new:) + view: 806 + loop: 0 + cel: 0 + posn: 103 119 + setPri: 8 + init: + addToPic: + ) + ((Prop new:) + view: 806 + loop: 1 + cel: 5 + posn: 118 48 + setPri: 1 + setCycle: Fwd + ignoreActors: + init: + ) + ((Prop new:) + view: 806 + loop: 1 + cel: 3 + posn: 111 55 + setPri: 2 + setCycle: Fwd + ignoreActors: + init: + ) + ((Prop new:) + view: 806 + loop: 1 + cel: 0 + posn: 103 63 + setPri: 3 + setCycle: Fwd + ignoreActors: + init: + ) + ((View new:) + view: 806 + loop: 0 + cel: 1 + posn: 205 104 + setPri: 6 + init: + addToPic: + ) + ((View new:) + view: 806 + loop: 0 + cel: 1 + posn: 212 110 + setPri: 7 + init: + addToPic: + ) + ((View new:) + view: 806 + loop: 0 + cel: 1 + posn: 221 119 + setPri: 8 + init: + addToPic: + ) + ((Prop new:) + view: 806 + loop: 1 + cel: 3 + posn: 205 48 + setPri: 1 + setCycle: Fwd + ignoreActors: + init: + ) + ((Prop new:) + view: 806 + loop: 1 + cel: 2 + posn: 212 54 + setPri: 2 + setCycle: Fwd + ignoreActors: + init: + ) + ((Prop new:) + view: 806 + loop: 1 + cel: 0 + posn: 221 63 + setPri: 3 + setCycle: Fwd + ignoreActors: + init: + ) + ((View new:) + view: 804 + loop: 4 + cel: 0 + posn: 59 141 + setPri: 10 + init: + addToPic: + ) + ((View new:) + view: 804 + loop: 4 + cel: 0 + posn: 56 149 + setPri: 11 + init: + addToPic: + ) + ((View new:) + view: 804 + loop: 4 + cel: 0 + posn: 49 158 + setPri: 12 + init: + addToPic: + ) + ((View new:) + view: 804 + loop: 4 + cel: 1 + posn: 267 143 + setPri: 10 + init: + addToPic: + ) + ((View new:) + view: 804 + loop: 4 + cel: 1 + posn: 271 151 + setPri: 11 + init: + addToPic: + ) + ((View new:) + view: 804 + loop: 4 + cel: 1 + posn: 276 159 + setPri: 12 + init: + addToPic: + ) + (User canControl: 0 canInput: 0) + ((= newProp (Prop new:)) + view: 807 + loop: 3 + cel: 0 + posn: 162 93 + setPri: 5 + init: + ) + (gEgo + view: 808 + loop: 0 + cel: 0 + illegalBits: 0 + ignoreActors: + posn: 10 131 + setScript: egoActions + init: + ) + ((= newAct (Act new:)) + view: 810 + loop: 0 + cel: 0 + posn: 175 131 + ignoreActors: + init: + stopUpd: + ) + ((= newProp_2 (Prop new:)) + view: 804 + loop: 0 + cel: 0 + ignoreActors: + posn: 184 111 + init: + stopUpd: + ) + (weddingMarch play:) + ) +) + +(instance egoActions of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (User canControl: 0 canInput: 0) + (gEgo + xStep: 2 + setMotion: MoveTo 105 132 self + moveSpeed: 1 + cycleSpeed: 1 + ) + ) + (1 + (gEgo setLoop: 2 setMotion: MoveTo 152 132 self) + (escort + view: 808 + setLoop: 1 + ignoreActors: + posn: 117 128 + setCycle: End escort + init: + ) + ) + (2 + (gEgo setLoop: 3 cel: 0 cycleSpeed: 0 setCycle: End self) + (newAct setCycle: End) + ) + (3 + (newProp cel: 0 setCycle: End self) + ) + (4 + (newProp cel: 0 setCycle: End self) + ) + (5 + (newProp_2 cycleSpeed: 2 setCycle: End self) + ) + (6 + (newProp_2 stopUpd:) + (= global120 (Print 692 0 67 -1 10 88)) + (= seconds 12) + ) + (7 + (proc0_21) + (newAct hide:) + (gEgo view: 810 setLoop: 1 cel: 0 setCycle: End self) + ) + (8 + (= newProp_3 (Prop new:)) + (newProp_3 + view: 810 + setLoop: 2 + ignoreActors: + cel: 0 + setPri: 15 + posn: 175 85 + setCycle: End self + init: + ) + ) + (9 + (newProp_3 dispose:) + (gEgo setLoop: 3 cel: 0 setCycle: End self) + ) + (10 (= seconds 3)) + (11 + (gEgo setLoop: 5) + (newAct + setLoop: 4 + posn: 181 126 + show: + cel: 0 + setPri: 8 + setCycle: End self + ) + ) + (12 (= seconds 5)) + (13 + (Print 692 1 67 -1 10 25 15) + (proc0_21) + (= seconds 4) + ) + (14 + (Print 692 2 67 -1 10 25 15) + (proc0_21) + (User canControl: 1 canInput: 1) + (= global127 1) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm692.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm692.sco new file mode 100644 index 0000000..a7c062a Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm692.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm693.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm693.sc new file mode 100644 index 0000000..4c06234 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm693.sc @@ -0,0 +1,122 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 693) +(include sci.sh) +(use Main) +(use Cycle) +(use Game) +(use User) +(use Feature) +(use Obj) + +(public + Room693 0 +) + +(local + newProp + newView +) +(instance Room693 of Rm + (properties + picture 201 + style $0008 + ) + + (method (init) + (super init:) + (self setRegions: 521) + ((= newView (View new:)) + view: 767 + loop: 0 + cel: 3 + posn: 270 137 + setPri: 15 + init: + ) + ((View new:) + view: 768 + loop: 0 + cel: 0 + posn: 157 65 + init: + addToPic: + ) + ((View new:) + view: 769 + loop: 3 + cel: 0 + posn: 48 139 + init: + addToPic: + ) + (gEgo setScript: egoActions) + ) +) + +(instance egoActions of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (Timer setReal: self 2) + (User canControl: 0 canInput: 0) + ) + (1 + (= newProp (Prop new:)) + (newProp + view: 687 + loop: 0 + cel: 0 + posn: 225 149 + setPri: 15 + ignoreActors: + setCycle: CT 3 1 self + init: + ) + ) + (2 + (gEgo + view: 759 + setLoop: -1 + loop: 1 + cel: 2 + posn: 225 149 + init: + ) + (newProp setCycle: End self) + ) + (3 (= seconds 2)) + (4 + (if (gEgo has: 25) + (self changeState: 10) + else + (self changeState: 5) + ) + ) + (5 + (gEgo setMotion: MoveTo 245 220 self) + ) + (6 (gRoom newRoom: 694)) + (10 + (gEgo setCycle: Walk setMotion: MoveTo 253 135 self) + ) + (11 + (gEgo loop: 4 cel: 0 setCycle: CT 2 1 self) + ) + (12 + (newView dispose:) + (gEgo setCycle: End self) + ) + (13 + (gEgo + view: 759 + loop: 1 + setCycle: Walk + setMotion: MoveTo 245 220 self + ) + ) + (14 (gRoom newRoom: 694)) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm693.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm693.sco new file mode 100644 index 0000000..546a120 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm693.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm694.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm694.sc new file mode 100644 index 0000000..af86e48 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm694.sc @@ -0,0 +1,671 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 694) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Cycle) +(use Game) +(use Feature) +(use Obj) + +(public + Room694 0 +) + +(local + newProp_3 + newProp_4 + newView + newProp_2 + newProp + newAct + local6 + local7 +) +(instance Room694 of Rm + (properties + picture 204 + style $0008 + ) + + (method (init) + (super init:) + (self setRegions: 521) + (= number gCurRoomNum) + (gRoom setScript: actions) + ) +) + +(instance actions of Script + (properties) + + (method (changeState newState &tmp [temp0 12]) + (switch (= state newState) + (0 + (= local6 1) + (self changeState: 500) + ) + (1 + (if (gEgo has: 25) + (self changeState: 100) + else + ((View new:) + view: 786 + loop: 4 + cel: 0 + posn: 277 171 + setPri: 13 + ignoreActors: + init: + addToPic: + ) + ((= newProp (Prop new:)) + view: 786 + loop: 5 + cel: 0 + posn: 277 138 + setPri: 14 + init: + ) + (= seconds 6) + ) + ) + (2 + (gCast eachElementDo: #dispose) + (gAddToPics eachElementDo: #dispose) + (gRoom drawPic: 991) + (self changeState: 3) + ) + (3 + ((= newView (View new:)) + view: 752 + loop: 1 + cel: 0 + posn: 159 114 + setPri: 14 + init: + addToPic: + ) + (= global120 (Print 694 0 67 -1 117 88)) + (= newProp_2 (Prop new:)) + (newProp_2 + view: 752 + loop: 5 + cel: 2 + posn: 164 88 + cycleSpeed: 18 + setPri: 15 + init: + setCycle: Beg self + ) + ) + (4 + (newProp_2 + view: 752 + loop: 5 + cel: 0 + posn: 164 88 + cycleSpeed: 8 + setPri: 15 + init: + setCycle: End self + ) + (= seconds 12) + ) + (5 + (proc0_21) + (gCast eachElementDo: #dispose) + (gAddToPics eachElementDo: #dispose) + (newProp_2 dispose:) + (= local6 6) + (self changeState: 500) + ) + (6 + ((View new:) + view: 786 + loop: 4 + cel: 0 + posn: 277 171 + setPri: 13 + ignoreActors: + init: + addToPic: + ) + ((= newProp (Prop new:)) + view: 786 + loop: 5 + cel: 0 + posn: 277 138 + setPri: 14 + init: + ) + (= seconds 3) + ) + (7 + (= global120 (Print 694 1 67 -1 25 70 240 88)) + (= seconds 2) + (newProp_3 cel: 1) + ) + (8 + (newProp cel: 3) + (newProp_4 cel: 1) + (if (== ((ScriptID 521 1) state?) 3) + ((ScriptID 521 1) client: actions) + ((ScriptID 0 4) setReal: self 10) + else + (= seconds 10) + ) + ) + (9 + (if + (or + (gTimers contains: (ScriptID 0 4)) + (== ((ScriptID 521 1) state?) 3) + ) + (-- state) + else + (self changeState: 10) + ) + ) + (10 (= global127 1) (proc0_21)) + (100 + (= newAct (Act new:)) + (= newProp (Act new:)) + (newProp + view: 786 + setLoop: 5 + cel: 2 + posn: 298 141 + setPri: 13 + ignoreActors: + setMotion: MoveTo 250 142 + init: + ) + (newAct + view: 786 + setLoop: 4 + cel: 0 + posn: 298 174 + setPri: 12 + setMotion: MoveTo 250 175 self + init: + ) + ) + (101 + (newProp cel: 4) + (gEgo put: 25 999) + (= global120 (Print 694 2 67 -1 35 70 240 88)) + (= seconds 8) + ) + (102 + (proc0_21) + (gCast eachElementDo: #dispose) + (gAddToPics eachElementDo: #dispose) + (gRoom drawPic: 991) + ((View new:) + view: 752 + loop: 1 + cel: 0 + posn: 159 114 + setPri: 14 + init: + addToPic: + ) + (= newProp_2 (Prop new:)) + (newProp_2 + view: 752 + setLoop: 6 + cel: 0 + posn: 164 88 + cycleSpeed: 10 + setCycle: Fwd + setPri: 15 + init: + ) + (= seconds 8) + ) + (103 + (newProp_2 + setLoop: 7 + cel: 0 + cycleSpeed: 18 + setCycle: End self + ) + ) + (104 + (newProp_2 dispose:) + ((View new:) + view: 786 + loop: 2 + cel: 0 + posn: 85 177 + setPri: 11 + ignoreActors: + init: + addToPic: + ) + ((= newProp_3 (Prop new:)) + view: 786 + loop: 3 + cel: 2 + posn: 85 147 + setPri: 12 + init: + stopUpd: + ) + ((View new:) + view: 786 + loop: 0 + cel: 0 + posn: 228 176 + setPri: 11 + ignoreActors: + init: + addToPic: + ) + ((= newProp_4 (Prop new:)) + view: 786 + loop: 1 + cel: 2 + posn: 228 101 + setPri: 12 + init: + stopUpd: + ) + ((View new:) + view: 752 + loop: 0 + cel: 1 + posn: 163 137 + setPri: 14 + ignoreActors: + init: + addToPic: + ) + ((View new:) + view: 786 + setLoop: 5 + cel: 4 + posn: 250 141 + setPri: 13 + ignoreActors: + init: + addToPic: + ) + ((View new:) + view: 786 + setLoop: 4 + cel: 0 + posn: 250 174 + setPri: 12 + init: + addToPic: + ) + ((View new:) + view: 752 + loop: 2 + cel: 0 + posn: 204 89 + setPri: 6 + init: + addToPic: + ) + ((View new:) + view: 752 + loop: 2 + cel: 0 + posn: 123 89 + setPri: 6 + init: + addToPic: + ) + ((Prop new:) + view: 752 + loop: 4 + cel: 1 + posn: 204 63 + setPri: 14 + ignoreActors: + cycleSpeed: 1 + setCycle: Fwd + init: + ) + ((Prop new:) + view: 752 + loop: 4 + cel: 0 + posn: 123 63 + setPri: 14 + ignoreActors: + cycleSpeed: 1 + setCycle: Fwd + init: + ) + ((View new:) + view: 752 + loop: 3 + cel: 0 + posn: 64 139 + setPri: 0 + init: + addToPic: + ) + (gRoom drawPic: 204) + (= seconds 4) + ) + (105 + (= global120 + (Print 694 3 67 -1 20 70 240 80 {Rosella} 88) + ) + (= seconds 7) + ) + (106 + (proc0_21) + (= global120 + (Print 694 4 67 -1 20 70 240 80 {King Graham} 88) + ) + (= seconds 7) + ) + (107 + (proc0_21) + (= global120 + (Print 694 5 67 -1 20 70 240 80 {Rosella} 88) + ) + (= seconds 8) + ) + (108 + (proc0_21) + (gCast eachElementDo: #dispose) + (gAddToPics eachElementDo: #dispose) + (gRoom drawPic: 991) + ((= newProp_2 (View new:)) + view: 752 + setLoop: 0 + cel: 3 + posn: 159 114 + setPri: 14 + init: + ) + (= global120 + (Print 694 6 67 -1 138 70 240 80 {Rosella} 88) + ) + (= seconds 15) + ) + (109 + (proc0_21) + (newProp_2 dispose:) + ((View new:) + view: 786 + loop: 2 + cel: 0 + posn: 85 177 + setPri: 11 + ignoreActors: + init: + addToPic: + ) + ((= newProp_3 (Prop new:)) + view: 786 + loop: 3 + cel: 2 + posn: 85 147 + setPri: 12 + init: + stopUpd: + ) + ((View new:) + view: 786 + loop: 0 + cel: 0 + posn: 228 176 + setPri: 11 + ignoreActors: + init: + addToPic: + ) + ((= newProp_4 (Prop new:)) + view: 786 + loop: 1 + cel: 2 + posn: 228 101 + setPri: 12 + init: + stopUpd: + ) + ((View new:) + view: 752 + loop: 0 + cel: 1 + posn: 163 137 + setPri: 14 + ignoreActors: + init: + addToPic: + ) + ((View new:) + view: 752 + loop: 0 + cel: 2 + posn: 158 82 + ignoreActors: + setPri: 15 + init: + ) + ((View new:) + view: 786 + setLoop: 4 + cel: 0 + posn: 250 174 + setPri: 12 + init: + addToPic: + ) + ((View new:) + view: 786 + setLoop: 5 + cel: 4 + posn: 250 141 + setPri: 13 + ignoreActors: + init: + addToPic: + ) + ((View new:) + view: 752 + loop: 2 + cel: 0 + posn: 204 89 + setPri: 6 + init: + addToPic: + ) + ((View new:) + view: 752 + loop: 2 + cel: 0 + posn: 123 89 + setPri: 6 + init: + addToPic: + ) + ((Prop new:) + view: 752 + loop: 4 + cel: 1 + posn: 204 63 + setPri: 14 + ignoreActors: + cycleSpeed: 1 + setCycle: Fwd + init: + ) + ((Prop new:) + view: 752 + loop: 4 + cel: 0 + posn: 123 63 + setPri: 14 + ignoreActors: + cycleSpeed: 1 + setCycle: Fwd + init: + ) + ((View new:) + view: 752 + loop: 3 + cel: 0 + posn: 64 139 + setPri: 0 + init: + addToPic: + ) + (gRoom drawPic: 204) + (if (== ((ScriptID 521 1) state?) 3) + ((ScriptID 521 1) client: actions) + ((ScriptID 0 4) setReal: self 5) + else + (= seconds 5) + ) + ) + (110 + (if + (or + (gTimers contains: (ScriptID 0 4)) + (== ((ScriptID 521 1) state?) 3) + ) + (-- state) + else + (self changeState: 111) + ) + ) + (111 + (Print 694 7 67 -1 85 82 100 0 0 88) + (= global160 0) + (= seconds 10) + ) + (112 (proc0_21)) + (500 + ((View new:) + view: 786 + loop: 2 + cel: 0 + posn: 85 177 + setPri: 11 + ignoreActors: + init: + addToPic: + ) + ((View new:) + view: 786 + loop: 0 + cel: 0 + posn: 228 176 + setPri: 11 + ignoreActors: + init: + addToPic: + ) + ((View new:) + view: 752 + loop: 0 + cel: 0 + posn: 163 137 + setPri: 15 + ignoreActors: + init: + addToPic: + ) + ((= newProp_4 (Prop new:)) + view: 786 + loop: 1 + cel: 0 + posn: 228 101 + setPri: 12 + init: + stopUpd: + ) + ((= newProp_3 (Prop new:)) + view: 786 + loop: 3 + cel: 0 + posn: 85 147 + setPri: 12 + init: + stopUpd: + ) + ((View new:) + view: 752 + loop: 2 + cel: 0 + posn: 204 89 + setPri: 6 + init: + addToPic: + ) + ((View new:) + view: 752 + loop: 2 + cel: 0 + posn: 123 89 + setPri: 6 + init: + addToPic: + ) + ((Prop new:) + view: 752 + loop: 4 + cel: 1 + posn: 204 63 + setPri: 14 + ignoreActors: + cycleSpeed: 1 + setCycle: Fwd + init: + ) + ((Prop new:) + view: 752 + loop: 4 + cel: 0 + posn: 123 63 + setPri: 14 + ignoreActors: + cycleSpeed: 1 + setCycle: Fwd + init: + ) + ((View new:) + view: 752 + loop: 3 + cel: 0 + posn: 64 139 + setPri: 0 + init: + addToPic: + ) + (gRoom drawPic: 204) + (self changeState: local6) + ) + (600 + (StrAt @temp0 10) + (= local7 0) + (while (<= local7 9) + (StrAt @temp0 local7 (+ (Random 0 25) 65)) + (++ local7) + ) + (StrAt @temp0 10 0) + (if (== global15 230) + (StrAt @temp0 2 69) + (StrAt @temp0 6 52) + (StrAt @temp0 9 65) + ) + (Print + (Format + @global228 + {Your Secret Code is:\0A\0A___%s} + @temp0 + ) + ) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm694.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm694.sco new file mode 100644 index 0000000..8cc8239 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm694.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm697.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm697.sc new file mode 100644 index 0000000..168cd2a --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm697.sc @@ -0,0 +1,47 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 697) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Game) +(use User) +(use Obj) + +(public + Room697 0 +) + +(instance Room697 of Rm + (properties + picture 697 + style $0008 + ) + + (method (init) + (super init:) + (= global204 1) + (self setScript: showMessage) + ) +) + +(instance showMessage of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (User canControl: 0 canInput: 0) + (= global120 (Print 697 0 67 -1 118 88)) + ((Sound new:) number: 67 play: self) + ) + (1 + (proc0_21) + (= gCurRoomNum gPrevRoomNum) + (= global204 0) + (User canControl: 1 canInput: 1) + (gRoom newRoom: gNewRoomNumber) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm697.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm697.sco new file mode 100644 index 0000000..9795ded Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm697.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm698.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm698.sc new file mode 100644 index 0000000..1a9e3e3 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm698.sc @@ -0,0 +1,336 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 698) +(include sci.sh) +(use Main) +(use Sound) +(use Game) +(use User) +(use Feature) +(use Obj) + +(public + Room698 0 +) + +(local + local0 + [newView 84] +) +(instance creditMusic of Sound + (properties) +) + +(instance Room698 of Rm + (properties + picture 698 + style $0008 + ) + + (method (init) + (Load rsVIEW 898) + (Load rsVIEW 899) + (super init:) + (User canControl: 0 canInput: 0) + (= global205 1) + (gRoom setScript: creditActions) + ) + + (method (dispose) + (User canControl: 1 canInput: 1) + (= global205 0) + (super dispose:) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (cond + ( + (and + (== (pEvent type?) evKEYBOARD) + (== (pEvent message?) KEY_F2) + ) + (pEvent claimed: 1) + (DoSound sndSET_SOUND (not (DoSound sndSET_SOUND))) + ) + ( + (or + (== (pEvent message?) KEY_x) + (== (pEvent message?) KEY_X) + ) + (gGame restart:) + ) + (else (gRoom newRoom: 120)) + ) + ) + ) +) + +(instance creditActions of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (creditMusic number: 2 play: self) + ((= newView (View new:)) + view: 898 + setPri: 0 + setLoop: 0 + setCel: 0 + x: 162 + y: 77 + init: + ) + (= [newView 1] (View new:)) + ([newView 1] + view: 898 + setPri: 0 + setLoop: 0 + setCel: 1 + x: 162 + y: 111 + init: + ) + (= seconds 4) + ) + (1 + (newView dispose:) + ([newView 1] dispose:) + (= [newView 2] (View new:)) + ([newView 2] + view: 898 + setPri: 0 + setLoop: 1 + setCel: 0 + x: 162 + y: 77 + init: + ) + (= [newView 3] (View new:)) + ([newView 3] + view: 898 + setPri: 0 + setLoop: 1 + setCel: 2 + x: 162 + y: 112 + init: + ) + (= seconds 3) + ) + (2 + ([newView 2] dispose:) + (= [newView 4] (View new:)) + ([newView 4] + view: 898 + setPri: 0 + setLoop: 1 + setCel: 1 + x: 162 + y: 77 + init: + ) + (= seconds 3) + ) + (3 + ([newView 4] dispose:) + ([newView 3] dispose:) + (= [newView 6] (View new:)) + ([newView 6] + view: 898 + setPri: 0 + setLoop: 2 + setCel: 0 + x: 162 + y: 77 + init: + ) + (= [newView 5] (View new:)) + ([newView 5] + view: 898 + setPri: 0 + setLoop: 2 + setCel: 1 + x: 162 + y: 99 + init: + ) + (= [newView 7] (View new:)) + ([newView 7] + view: 898 + setPri: 0 + setLoop: 2 + setCel: 2 + x: 162 + y: 137 + init: + ) + (= seconds 3) + ) + (4 + ([newView 6] dispose:) + ([newView 7] dispose:) + ([newView 5] dispose:) + (= [newView 8] (View new:)) + ([newView 8] + view: 899 + setPri: 0 + setLoop: 0 + setCel: 0 + x: 162 + y: 77 + init: + ) + (= [newView 9] (View new:)) + ([newView 9] + view: 899 + setPri: 0 + setLoop: 0 + setCel: 1 + x: 162 + y: 109 + init: + ) + (= [newView 10] (View new:)) + ([newView 10] + view: 899 + setPri: 0 + setLoop: 2 + setCel: 0 + x: 162 + y: 145 + init: + ) + (= seconds 5) + ) + (5 + ([newView 8] dispose:) + ([newView 9] dispose:) + ([newView 10] dispose:) + (= [newView 11] (View new:)) + ([newView 11] + view: 898 + setPri: 0 + setLoop: 3 + setCel: 0 + x: 162 + y: 77 + init: + ) + (= [newView 12] (View new:)) + ([newView 12] + view: 898 + setPri: 0 + setLoop: 4 + setCel: 0 + x: 162 + y: 109 + init: + ) + (= [newView 8] (View new:)) + ([newView 8] + view: 898 + setPri: 0 + setLoop: 3 + setCel: 2 + x: 162 + y: 145 + init: + ) + (= seconds 4) + ) + (6 + ([newView 11] dispose:) + ([newView 12] dispose:) + ([newView 8] dispose:) + (= [newView 13] (View new:)) + ([newView 13] + view: 898 + setPri: 0 + setLoop: 3 + setCel: 1 + x: 162 + y: 77 + init: + ) + (= [newView 14] (View new:)) + ([newView 14] + view: 898 + setPri: 0 + setLoop: 4 + setCel: 1 + x: 162 + y: 111 + init: + ) + (= seconds 4) + ) + (7 + ([newView 13] dispose:) + ([newView 14] dispose:) + (= [newView 15] (View new:)) + ([newView 15] + view: 899 + setPri: 0 + setLoop: 1 + setCel: 0 + x: 162 + y: 77 + init: + ) + (= [newView 16] (View new:)) + ([newView 16] + view: 899 + setPri: 0 + setLoop: 1 + setCel: 1 + x: 162 + y: 109 + init: + ) + (= [newView 17] (View new:)) + ([newView 17] + view: 899 + setPri: 0 + setLoop: 1 + setCel: 2 + x: 162 + y: 145 + init: + ) + (= [newView 18] (View new:)) + (= seconds 4) + ) + (8 + ([newView 16] dispose:) + ([newView 17] dispose:) + ([newView 18] + view: 899 + setPri: 0 + setLoop: 1 + setCel: 3 + x: 162 + y: 109 + init: + ) + (= [newView 19] (View new:)) + ([newView 19] + view: 899 + setPri: 0 + setLoop: 1 + setCel: 4 + x: 162 + y: 145 + init: + ) + ) + (9 + ([newView 15] dispose:) + ([newView 18] dispose:) + ([newView 19] dispose:) + (gRoom newRoom: 120) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm698.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm698.sco new file mode 100644 index 0000000..d59dc67 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm698.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm699.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm699.sc new file mode 100644 index 0000000..a83d474 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm699.sc @@ -0,0 +1,303 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 699) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Cycle) +(use Game) +(use Feature) +(use Obj) + +(public + Room699 0 +) + +(local + newProp + newProp_2 + newProp_3 + newProp_4 + local4 + local5 + local6 + local7 + local8 + [local9 3] +) +(instance Room699 of Rm + (properties + picture 96 + style $0006 + ) + + (method (init) + (Load rsVIEW 879) + (super init:) + ((View new:) + view: 879 + loop: 0 + cel: 0 + posn: 124 192 + addToPic: + ) + ((View new:) + view: 879 + loop: 0 + cel: 1 + posn: 165 192 + addToPic: + ) + ((View new:) + view: 879 + loop: 0 + cel: 2 + posn: 206 192 + addToPic: + ) + (= local5 global127) + (= global127 0) + ((= newProp (Prop new:)) + view: 879 + setLoop: 2 + setPri: 15 + setScript: spark1 + ) + ((= newProp_2 (Prop new:)) + view: 879 + setLoop: 2 + setPri: 15 + setScript: spark2 + ) + ((= newProp_3 (Prop new:)) + view: 879 + setLoop: 2 + setPri: 15 + setScript: spark3 + ) + ((= newProp_4 (Prop new:)) + view: 879 + setLoop: 2 + setPri: 15 + setScript: spark4 + ) + ) + + (method (doit) + (if (== local7 0) + (if + (== (Print 699 0 25 10 81 {Yes} 1 81 {No} 2) 2) + (gGame restart:) + ) + (playMusic cue:) + (= global224 1) + (= local7 1) + ) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (pEvent claimed: 1) + (= local8 0) + (if local5 (= local5 0) (gGame restart:)) + (return + (cond + ( + (and + (== (pEvent type?) evKEYBOARD) + (== (pEvent message?) KEY_F2) + ) + (pEvent claimed: 1) + (DoSound sndSET_SOUND (not (DoSound sndSET_SOUND))) + ) + ( + (or + (== (pEvent message?) KEY_x) + (== (pEvent message?) KEY_X) + ) + (gGame restart:) + ) + (else (gCast eachElementDo: #dispose) (gRoom newRoom: 98)) + ) + ) + ) +) + +(instance spark1 of Script + (properties) + + (method (init param1) + (super init: param1) + (client init:) + ) + + (method (changeState newState &tmp temp0) + (switch (= state newState) + (0 + (= temp0 (/ (Random 10 40) 10)) + (client + posn: + (switch temp0 + (1 96) + (2 135) + (3 230) + (4 260) + (else 150) + ) + (switch temp0 + (1 39) + (2 158) + (3 18) + (4 123) + (else 100) + ) + show: + cycleSpeed: (Random 0 2) + setCycle: End self + ) + ) + (1 + (client hide:) + (= state -1) + (self cue:) + ) + ) + ) +) + +(instance spark2 of Script + (properties) + + (method (init param1) + (super init: param1) + (client init:) + ) + + (method (changeState newState &tmp temp0) + (switch (= state newState) + (0 + (= temp0 (/ (Random 10 40) 10)) + (client + posn: + (switch temp0 + (1 80) + (2 204) + (3 141) + (4 267) + ) + (switch temp0 + (1 83) + (2 121) + (3 80) + (4 97) + ) + show: + cycleSpeed: (Random 0 2) + setCycle: End self + ) + ) + (1 + (client hide:) + (= state -1) + (self cue:) + ) + ) + ) +) + +(instance spark3 of Script + (properties) + + (method (init param1) + (super init: param1) + (client init:) + ) + + (method (changeState newState &tmp temp0) + (switch (= state newState) + (0 + (= temp0 (/ (Random 10 40) 10)) + (client + posn: + (switch temp0 + (1 197) + (2 182) + (3 116) + (4 104) + ) + (switch temp0 + (1 47) + (2 158) + (3 49) + (4 185) + ) + show: + cycleSpeed: (Random 0 2) + setCycle: End self + ) + ) + (1 + (client hide:) + (= state -1) + (self cue:) + ) + ) + ) +) + +(instance spark4 of Script + (properties) + + (method (init param1) + (super init: param1) + (client init:) + ) + + (method (changeState newState &tmp temp0) + (switch (= state newState) + (0 + (= temp0 (/ (Random 10 40) 10)) + (client + posn: + (switch temp0 + (1 141) + (2 102) + (3 268) + (4 210) + ) + (switch temp0 + (1 80) + (2 117) + (3 96) + (4 112) + ) + show: + cycleSpeed: (Random 0 2) + setCycle: End self + ) + ) + (1 + (client hide:) + (= state -1) + (self cue:) + ) + ) + ) +) + +(instance bannerSound of Sound + (properties + number 1 + ) +) + +(instance playMusic of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 (bannerSound play: self)) + (1 (gRoom newRoom: 98)) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm699.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm699.sco new file mode 100644 index 0000000..5532bfd Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm699.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm7.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm7.sc new file mode 100644 index 0000000..5eff89c --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm7.sc @@ -0,0 +1,807 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 7) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Cycle) +(use Game) +(use Feature) +(use Obj) + +(public + Room7 0 +) +(synonyms + (fisherman fisherman fisherman fisherman man) +) + +(local + local0 + local1 + gEgoOnControl + local3 + newAct + newProp_4 + [local6 2] + newProp + newProp_2 + newProp_3 + local11 + local12 + local13 +) +(instance fallSound of Sound + (properties + number 51 + ) +) + +(instance dizzySound of Sound + (properties + number 80 + ) +) + +(instance doorSound of Sound + (properties + number 300 + ) +) + +(instance fisherCage of Cage + (properties + top 137 + bottom 149 + right 231 + ) +) + +(instance door of Prop + (properties) + + (method (cue) + (if (!= (door cel?) (door lastCel:)) + (self setCycle: End self) + else + (proc0_9) + (gRoom newRoom: 42) + ) + ) +) + +(instance waves of List + (properties) +) + +(instance wave1 of Prop + (properties) +) + +(instance wave2 of Prop + (properties) +) + +(instance wave3 of Prop + (properties) +) + +(instance Room7 of Rm + (properties + picture 7 + ) + + (method (init) + (= north 1) + (= south 13) + (= east 8) + (= west 95) + (= horizon 86) + (= global101 0) + (gEgo edgeHit: 0) + (super init:) + (if global100 (gRoom overlay: 107)) + (self setRegions: 503 504) + (Load rsVIEW 2) + (Load rsVIEW 5) + (Load rsVIEW 6) + (Load rsVIEW 7) + (Load rsVIEW 8) + (Load rsVIEW 17) + (Load rsVIEW 19) + (Load rsVIEW 18) + (Load rsSOUND 80) + (Load rsSOUND 51) + (Load rsSOUND 300) + (wave1 + isExtra: 1 + view: 667 + loop: 0 + cel: 0 + posn: 98 84 + setPri: 0 + ignoreActors: + cycleSpeed: 3 + init: + ) + (wave2 + isExtra: 1 + view: 667 + loop: 1 + cel: 0 + posn: 97 109 + setPri: 0 + ignoreActors: + cycleSpeed: 3 + init: + ) + (wave3 + isExtra: 1 + view: 667 + loop: 2 + cel: 0 + posn: 79 136 + setPri: 0 + ignoreActors: + cycleSpeed: 3 + init: + ) + (= newProp (Prop new:)) + (= newProp_2 (Prop new:)) + (= newProp_3 (Prop new:)) + (newProp + isExtra: 1 + view: 667 + loop: 3 + cel: 0 + posn: 11 168 + setPri: 0 + ignoreActors: + setCycle: Fwd + cycleSpeed: 2 + init: + ) + (newProp_2 + isExtra: 1 + view: 667 + loop: 5 + cel: 0 + posn: 103 166 + setPri: 0 + ignoreActors: + setCycle: Fwd + cycleSpeed: 2 + init: + ) + (newProp_3 + isExtra: 1 + view: 667 + loop: 4 + cel: 0 + posn: 117 177 + setPri: 0 + ignoreActors: + setCycle: Fwd + cycleSpeed: 2 + init: + ) + (waves add: wave1 wave2 wave3) + (wave1 setScript: waveActions) + (= newProp_4 (Prop new:)) + (newProp_4 + isExtra: 1 + view: 625 + loop: 1 + cel: 0 + x: 200 + y: 19 + setCycle: Fwd + cycleSpeed: 1 + init: + ) + (door + view: 601 + loop: 0 + cel: 0 + x: 220 + y: 139 + setPri: 9 + ignoreActors: + init: + stopUpd: + ) + (if (== global116 2) + (if + (< + (= local12 + (+ + (* 3600 (- global160 global199)) + (* 60 (- global159 global197)) + (- global158 global198) + ) + ) + 40 + ) + ((= newAct (Act new:)) view: 230) + (cond + ((<= local12 12) (= local13 40)) + ((< local12 20) (= local13 120)) + (else (= local13 166)) + ) + (newAct + posn: local13 144 + setPri: 13 + loop: 0 + setCycle: Walk + xStep: 3 + yStep: 1 + setScript: fishWalkHouse + init: + ) + (newAct baseSetter: (ScriptID 0 1)) + else + (= global116 3) + ) + ) + (gEgo observeControl: -32768 16384 1024) + (if (<= (gEgo y?) (+ horizon 1)) + (gEgo y: (+ horizon 2)) + ) + (if + (or + (== gPrevRoomNum 0) + (== gPrevRoomNum 8) + (== (gEgo view?) 2) + ) + (= global105 0) + ) + (switch global105 + (0 + (switch gPrevRoomNum + (13 + (if (< (gEgo x?) 164) + (gEgo posn: 170 188) + else + (gEgo posn: 304 187) + ) + ) + (1 + (if (> (gEgo x?) 277) + (gEgo posn: 143 (+ horizon 2)) + else + (gEgo posn: 113 (+ horizon 2)) + ) + ) + (42 + (gEgo view: 2 loop: 1 posn: 212 140 xStep: 3 yStep: 2) + ) + (95 + (if (== global107 9) + (gEgo + view: 2 + illegalBits: -32768 + observeControl: 128 1024 + posn: 1 143 + ) + else + (gEgo posn: 1 (gEgo y?)) + ) + ) + (8 + (if (< (gEgo y?) 125) + (gEgo x: 280) + else + (gEgo x: 317) + ) + (if (<= (gEgo y?) (+ horizon 1)) + (gEgo y: (+ horizon 2)) + ) + (if (gEgo inRect: 193 129 319 157) (gEgo setPri: 12)) + ) + ) + ) + (1 + (switch gPrevRoomNum + (13 (gEgo posn: 189 185)) + (1 + (gEgo posn: 93 (+ horizon 2)) + ) + ) + ) + (2 + (switch gPrevRoomNum + (13 (gEgo posn: 137 185)) + (1 + (gEgo posn: 88 (+ horizon 2)) + ) + ) + ) + (3 + (switch gPrevRoomNum + (13 (gEgo posn: 105 184)) + (1 + (gEgo posn: 73 (+ horizon 2)) + ) + ) + ) + (4 + (switch gPrevRoomNum + (95 (gEgo x: 2)) + (13 (gEgo posn: 42 184)) + (1 + (gEgo posn: 20 (+ horizon 2)) + ) + ) + ) + ) + (gEgo xStep: 3 yStep: 2 init: viewer: water) + (gEgo y: (& (gEgo y?) $fffe)) + (fisherCage init:) + ) + + (method (doit) + (super doit:) + (if (not (gEgo inRect: -5 135 174 153)) + (= global107 0) + ) + (= gEgoOnControl (gEgo onControl:)) + (if + (and (gEgo inRect: -3 0 27 189) (!= global107 9)) + (gEgo view: 8) + ) + (if + (and (& (gEgo onControl: 1) $0040) (== global107 9)) + (gEgo observeControl: 16384) + (gEgo ignoreControl: 128) + (gEgo setPri: -1) + (= global107 0) + ) + (if + (and (& (gEgo onControl: 1) $0020) (!= global107 9)) + (gEgo setPri: 13) + (gEgo illegalBits: -32768 observeControl: 1024) + (gEgo observeControl: 128) + (= global107 9) + ) + (if (== (gRoom script?) 0) + (if (!= global107 9) + (cond + ((gEgo inRect: 103 157 219 189) (gEgo setPri: 15)) + ((gEgo inRect: 193 129 319 157) (gEgo setPri: 12)) + ((gEgo inRect: 80 125 157 158) (gEgo setPri: 8)) + (else (gEgo setPri: -1)) + ) + ) + (cond + ( + (and + (== global105 0) + (& gEgoOnControl $1000) + (> (gEgo heading?) 135) + ) + (self setScript: fallRocks) + ) + ( + (and + (== global105 0) + (& gEgoOnControl $1000) + (<= (gEgo heading?) 135) + ) + (gEgo setPri: -1) + ) + ((& gEgoOnControl $2000) + (if + (and + (!= global107 9) + (> (gEgo heading?) 90) + (< (gEgo heading?) 270) + ) + (gEgo setPri: -1) + else + (gEgo setPri: 12) + ) + ) + ((& gEgoOnControl $0100) + (if (!= global107 9) + (if + (and (> (gEgo heading?) 90) (< (gEgo heading?) 270)) + (gEgo setPri: 12) + else + (gEgo setPri: -1) + ) + ) + ) + ((== global107 9) + (cond + ((& gEgoOnControl $0010) (self setScript: fallNorth)) + ((& gEgoOnControl $0004) (self setScript: fallSouth)) + ) + ) + ) + ) + ) + + (method (dispose) + (gEgo setPri: -1) + (waves dispose:) + (super dispose:) + ) + + (method (handleEvent pEvent &tmp gInvSaidMe) + (if (pEvent claimed?) (return 1)) + (return + (if (== (pEvent type?) evSAID) + (cond + ((Said 'get/fisherman') + (if (== global116 2) + (Print 7 0) + else + (Print 7 1) + ) + ) + ((Said 'get/pole') + (if (gCast contains: newAct) + (Print 7 2) + else + (Print 7 3) + ) + ) + ((Said 'rob/pole') + (if (gCast contains: newAct) + (Print 7 4) + else + (Print 7 3) + ) + ) + ((Said 'kiss') + (if (== global116 2) + (Print 7 5) + else + (Print 7 6) + ) + ) + ((Said 'deliver>') + (if (= gInvSaidMe (gInv saidMe:)) + (if (gEgo has: (gInv indexOf: gInvSaidMe)) + (if (== global116 2) + (Print 7 7) + else + (Print 7 8) + ) + else + (proc0_17) + ) + ) + ) + ((Said 'help/fisherman') (Print 7 9)) + ( + (or + (Said 'look/around') + (Said 'look/room') + (Said 'look[') + (cond + ((Said '/anchor') (Print 7 11)) + ((Said '/cottage') (Print 7 12)) + ((Said '') + (cond + ((Said '/falls') (Print 70 0)) + ((Said '/cliff') (Print 70 1)) + ((Said '/cave') (Print 70 2)) + ((Said '/boulder') (Print 70 3)) + ((Said '/flora') (Print 70 4)) + ((Said '/dirt') + (if ((Inv at: 22) ownedBy: 70) + (Print 70 5) + else + (Print 70 6) + ) + ) + ((Said '') + (cond + ((or (Said '/falls') (Said ' (gEgo heading?) 180) + (self changeState: 10) + else + (self changeState: 20) + ) + ) + (10 + (gEgo + view: 950 + setLoop: 3 + xStep: 2 + setCycle: Walk + setMotion: MoveTo 255 164 self + ) + ) + (11 + (gEgo cel: 5 setLoop: 1 cycleSpeed: 1 setCycle: Beg self) + ) + (12 + (gEgo + view: 904 + setLoop: -1 + xStep: 4 + cycleSpeed: 0 + setCycle: Walk + illegalBits: -32768 + ) + (proc0_9) + (client setScript: 0) + (if (proc0_20) (proc0_10 605 3)) + ) + (20 + (if (proc0_20) (proc0_10 605 2)) + (gEgo + view: 950 + setLoop: 0 + cel: 255 + xStep: 2 + setCycle: End self + ) + ) + (21 + (gEgo + illegalBits: 0 + setLoop: 2 + setCycle: Walk + setMotion: MoveTo (gEgo x?) 164 self + ) + ) + (22 + (gEgo setMotion: MoveTo 296 164 self) + ) + (23 + (gEgo illegalBits: -32768) + (= global205 1) + (= global204 0) + (gRoom newRoom: 77) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm73.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm73.sco new file mode 100644 index 0000000..883d091 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm73.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm74.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm74.sc new file mode 100644 index 0000000..12d9eb2 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm74.sc @@ -0,0 +1,34 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 74) +(include sci.sh) +(use Main) +(use Game) + +(public + Room74 0 +) + +(instance Room74 of Rm + (properties + picture 74 + style $0010 + horizon 65 + north 71 + ) + + (method (init) + (super init:) + (self setRegions: 605) + (= global101 1) + (= east 75) + (gEgo view: 904 xStep: 4 yStep: 1) + (switch gPrevRoomNum + (75 (gEgo posn: 295 167 init:)) + (else + (gEgo posn: 109 84 init:) + ) + ) + (gEgo priority: (CoordPri (gEgo y?))) + (proc0_10 605 1) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm74.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm74.sco new file mode 100644 index 0000000..466524e Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm74.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm75.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm75.sc new file mode 100644 index 0000000..4973018 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm75.sc @@ -0,0 +1,36 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 75) +(include sci.sh) +(use Main) +(use Game) + +(public + Room75 0 +) + +(instance Room75 of Rm + (properties + picture 75 + style $0010 + horizon 65 + north 72 + ) + + (method (init) + (self setRegions: 605) + (super init:) + (= global101 1) + (= west 74) + (= east 76) + (gEgo view: 904 xStep: 4 yStep: 1) + (switch gPrevRoomNum + (72 (gEgo posn: 132 83 init:)) + (74 (gEgo posn: 10 167 init:)) + (else + (gEgo posn: 307 163 init:) + ) + ) + (gEgo priority: (CoordPri (gEgo y?))) + (proc0_10 605 1) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm75.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm75.sco new file mode 100644 index 0000000..3614463 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm75.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm76.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm76.sc new file mode 100644 index 0000000..3a24d8e --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm76.sc @@ -0,0 +1,193 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 76) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Cycle) +(use Game) +(use Obj) + +(public + Room76 0 +) + +(local + local0 + gEgoY +) +(instance fallSound of Sound + (properties + number 52 + ) +) + +(instance Room76 of Rm + (properties + picture 76 + style $0010 + horizon 99 + north 73 + ) + + (method (init) + (Load rsVIEW 936) + (Load rsSOUND 52) + (self setRegions: 605) + (super init:) + (= global101 1) + (= west 75) + (gEgo view: 904 xStep: 4 yStep: 1) + (if (== gPrevRoomNum 73) + (gEgo posn: 189 118 init:) + else + (gEgo posn: 20 161 init:) + ) + (gEgo priority: (CoordPri (gEgo y?))) + (proc0_10 605 1) + ) + + (method (doit) + (super doit:) + (if (& (gEgo onControl: 0) $0040) + (= gNewRoomNumber_2 73) + ) + (if + (and + (& (gEgo onControl: 1) $0004) + (not local0) + (!= (gRoom script?) fallChasm) + ) + (self setScript: fallChasm) + ) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if (== (pEvent type?) evSAID) + (cond + ((Said 'look[ (gEgo y?) (+ gEgoY 3)) + (< (gEgo y?) (- gEgoY 3)) + ) + ) + (= local0 0) + (client setScript: fallChasm) + ) + (if + (and + (& (gEgo onControl: 1) $0004) + (== local0 1) + (== global132 0) + ) + (= global132 1) + ) + (if + (and + (& (gEgo onControl: 1) $1000) + (== global132 1) + (== local0 1) + ) + (= global132 0) + (= local0 0) + (self changeState: 1) + ) + ) + + (method (changeState newState) + (switch (= state newState) + (0 + (Print 76 8) + (= local0 1) + ((gInv at: 22) moveTo: 76) + ) + (1 + (gRoom setScript: 0) + (Print 76 9 83) + (gEgo get: 22) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm76.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm76.sco new file mode 100644 index 0000000..f41a349 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm76.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm77.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm77.sc new file mode 100644 index 0000000..5921c80 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm77.sc @@ -0,0 +1,360 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 77) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Avoid) +(use Jump) +(use Cycle) +(use Game) +(use User) +(use Feature) +(use Obj) + +(public + Room77 0 +) + +(local + local0 + local1 + [local2 22] + gEgoViewer + newProp + newProp_2 +) +(instance Room77 of Rm + (properties + picture 77 + ) + + (method (init) + (= east 78) + (= west 73) + (= horizon 40) + (= global101 0) + (Load rsVIEW 21) + (Load rsVIEW 69) + (Load rsVIEW 49) + (Load rsSCRIPT 991) + (if global100 (= picture 177)) + (super init:) + (self setRegions: 513) + (= newProp (Prop new:)) + (= newProp_2 (Prop new:)) + (newProp + isExtra: 1 + view: 650 + loop: 2 + cel: 1 + posn: 241 145 + setPri: 0 + setCycle: Fwd + init: + ) + (newProp_2 + isExtra: 1 + view: 650 + loop: 4 + cel: 0 + posn: 275 112 + setPri: 0 + setCycle: Fwd + init: + ) + (switch gPrevRoomNum + (east + (gEgo view: 2 posn: 301 161 loop: 1) + (= local0 10) + (= local1 20) + (= global105 12) + (User canControl: 1 canInput: 1) + ) + (west + (gEgo + view: 49 + setLoop: 2 + cel: 0 + posn: 32 160 + setCycle: Fwd + setScript: egoCrawlOut + ) + ) + (else + (gEgo + view: 49 + setLoop: 2 + cel: 0 + posn: 32 160 + setCycle: Walk + setScript: egoCrawlOut + ) + ) + ) + (gEgo init:) + (gEgo edgeHit: 0) + (= [local2 0] 94) + (= [local2 1] 167) + (= [local2 2] 113) + (= [local2 3] 164) + (= [local2 4] 135) + (= [local2 5] 162) + (= [local2 6] 159) + (= [local2 7] 165) + (= [local2 8] 186) + (= [local2 9] 161) + (= [local2 10] 206) + (= [local2 11] 165) + (= [local2 12] 225) + (= [local2 13] 161) + (= [local2 14] 244) + (= [local2 15] 166) + (= [local2 16] 264) + (= [local2 17] 163) + (= [local2 18] 285) + (= [local2 19] 167) + (= [local2 20] 301) + (= [local2 21] 162) + (gRoom setScript: jump) + (= global205 1) + ) + + (method (doit) + (super doit:) + (if + (or + (== (gEgo view?) 5) + (== (gEgo view?) 6) + (== (gEgo view?) 7) + ) + (= local0 0) + (= local1 0) + ) + (if + (and + (& (gEgo onControl: 0) $4000) + (== (gEgo view?) 2) + (== (gEgo script?) 0) + (< (gEgo heading?) 285) + (> (gEgo heading?) 255) + ) + (gEgo setScript: egoCrawlIn) + ) + ) + + (method (dispose) + (DisposeScript 991) + (super dispose:) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if (== (pEvent type?) evSAID) + (cond + ( + (or + (Said 'look/room') + (Said 'look/around') + (Said 'look/marsh') + (Said 'look[' + push + callk Said, 2 + bnt code_069e + pushi #saidMe + pushi 0 + lag gInv + send 4 + sat temp0 + bnt code_068a + pushi #has + pushi 1 + pushi #indexOf + pushi 1 + push + lag gInv + send 6 + push + lag gEgo + send 6 + bnt code_0683 + pushi 2 + pushi 78 + pushi 9 + calle Print, 4 + jmp code_08e2 +code_0683: + pushi 0 + callb proc0_17, 0 + jmp code_08e2 +code_068a: + pushi 2 + pushi 78 + pushi 10 + calle Print, 4 + pushi #claimed + pushi 1 + pushi 1 + lap pEvent + send 6 + jmp code_08e2 +code_069e: + pushi 1 + lofsa 'fling/*[/cobra]>' + push + callk Said, 2 + bnt code_06e2 + pushi #saidMe + pushi 0 + lag gInv + send 4 + sat temp0 + bnt code_06e2 + pushi #has + pushi 1 + pushi #indexOf + pushi 1 + lst temp0 + lag gInv + send 6 + push + lag gEgo + send 6 + bnt code_06d7 + pushi 2 + pushi 78 + pushi 11 + calle Print, 4 + jmp code_08e2 +code_06d7: + pushi #claimed + pushi 1 + pushi 0 + lap pEvent + send 6 + jmp code_08e2 +code_06e2: + pushi 1 + lofsa 'look>' + push + callk Said, 2 + bnt code_0858 + pushi 1 + lofsa '/cobra' + push + callk Said, 2 + bnt code_073f + pushi #state + pushi 0 + lofsa snakeActions + send 4 + push + ldi 21 + eq? + bnt code_0713 + pushi 2 + pushi 78 + pushi 12 + calle Print, 4 + jmp code_08e2 +code_0713: + pushi #ownedBy + pushi 1 + pushi 78 + pushi #at + pushi 1 + pushi 25 + class Inv + send 6 + send 6 + bnt code_0733 + pushi 2 + pushi 78 + pushi 13 + calle Print, 4 + jmp code_08e2 +code_0733: + pushi 2 + pushi 78 + pushi 14 + calle Print, 4 + jmp code_08e2 +code_073f: + pushi 1 + lofsa '/forest' + push + callk Said, 2 + bnt code_0776 + pushi #ownedBy + pushi 1 + pushi 78 + pushi #at + pushi 1 + pushi 25 + class Inv + send 6 + send 6 + bnt code_076a + pushi 2 + pushi 78 + pushi 15 + calle Print, 4 + jmp code_08e2 +code_076a: + pushi 2 + pushi 78 + pushi 16 + calle Print, 4 + jmp code_08e2 +code_0776: + pushi 1 + lofsa '/fruit' + push + callk Said, 2 + bnt code_07cb + pushi #ownedBy + pushi 1 + pushi 78 + pushi #at + pushi 1 + pushi 25 + class Inv + send 6 + send 6 + bnt code_07a1 + pushi 2 + pushi 78 + pushi 17 + calle Print, 4 + jmp code_08e2 +code_07a1: + pushi #has + pushi 1 + pushi 25 + lag gEgo + send 6 + bnt code_07bf + pushi #showSelf + pushi 0 + pushi #at + pushi 1 + pushi 25 + class Inv + send 6 + send 4 + jmp code_08e2 +code_07bf: + pushi 2 + pushi 78 + pushi 18 + calle Print, 4 + jmp code_08e2 +code_07cb: + pushi 1 + lofsa '/island' + push + callk Said, 2 + bnt code_0802 + pushi #ownedBy + pushi 1 + pushi 78 + pushi #at + pushi 1 + pushi 25 + class Inv + send 6 + send 6 + bnt code_07f6 + pushi 2 + pushi 78 + pushi 19 + calle Print, 4 + jmp code_08e2 +code_07f6: + pushi 2 + pushi 78 + pushi 20 + calle Print, 4 + jmp code_08e2 +code_0802: + pushi 1 + lofsa '/grass,tuft' + push + callk Said, 2 + bnt code_0819 + pushi 2 + pushi 78 + pushi 21 + calle Print, 4 + jmp code_08e2 +code_0819: + pushi 1 + lofsa '[' + push + callk Said, 2 + bnt code_08e2 + pushi 1 + lofsa 'converse' + push + callk Said, 2 + bnt code_087c + pushi 2 + pushi 78 + pushi 23 + calle Print, 4 + ldi 1 + jmp code_08dd +code_087c: + pushi 1 + lofsa 'kill' + push + callk Said, 2 + bnt code_0895 + pushi 2 + pushi 78 + pushi 24 + calle Print, 4 + ldi 1 + jmp code_08dd +code_0895: + pushi 1 + lofsa 'get,capture/*' + push + callk Said, 2 + bnt code_08ae + pushi 2 + pushi 78 + pushi 25 + calle Print, 4 + ldi 1 + jmp code_08dd +code_08ae: + pushi 1 + lofsa 'kiss' + push + callk Said, 2 + bnt code_08c7 + pushi 2 + pushi 78 + pushi 26 + calle Print, 4 + ldi 1 + jmp code_08dd +code_08c7: + pushi 1 + lofsa 'hit/*' + push + callk Said, 2 + bnt code_08e2 + pushi 2 + pushi 78 + pushi 27 + calle Print, 4 + ldi 1 +code_08dd: + bnt code_08e2 + ldi 1 +code_08e2: + ret + ) + ) +) + +(instance jump of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (1 + (if (== (gEgo loop?) 0) + (++ local0) + (= local1 (+ local1 2)) + else + (-- local0) + (= local1 (- local1 2)) + ) + (if (== local0 -1) (gRoom newRoom: 77) (return)) + (proc0_8) + (= gEgoViewer (gEgo viewer?)) + (gEgo viewer: 0) + (gEgo view: 69 cel: 255 setCycle: End self) + ) + (2 + (gEgo setCycle: CT 1 -1 self) + ) + (3 + (gEgo xStep: 6 yStep: 4) + (cond + ((== (gEgo loop?) 0) + (gEgo + setMotion: + JumpTo + [local2 local1] + [local2 (+ (gEgo setLoop: 2 cel: 255 setCycle: End) 1)] + self + ) + ) + ((== (gEgo loop?) 1) + (gEgo + setMotion: + JumpTo + [local2 local1] + [local2 (+ (gEgo setLoop: 3 cel: 255 setCycle: End) 1)] + self + ) + ) + ((== (gEgo loop?) 2) + (gEgo viewer: gEgoViewer) + (gEgo setMotion: JumpTo (gEgo x?) (+ (gEgo y?) 6)) + ) + ((== (gEgo loop?) 3) + (gEgo viewer: gEgoViewer) + (gEgo setMotion: JumpTo (gEgo x?) (- (gEgo y?) 6)) + ) + ) + ) + (4 + (if (== local0 6) (gEgo viewer: gEgoViewer)) + (if (== (gEgo loop?) 2) + (gEgo cel: 255 setLoop: -1 loop: 4 setCycle: End self) + else + (gEgo cel: 255 setLoop: -1 loop: 5 setCycle: End self) + ) + ) + (5 + (if (== (gEgo loop?) 4) + (gEgo view: 2 loop: 0 cel: 0 xStep: 3 yStep: 2) + else + (gEgo view: 2 loop: 1 cel: 0 xStep: 3 yStep: 2) + ) + (proc0_9) + (gEgo viewer: gEgoViewer) + (gEgo view: 2 setCycle: Walk) + (if (and (== local0 5) (== local22 0)) + (snakeActions changeState: 1) + ) + ) + (10 (Print 78 0)) + ) + ) +) + +(instance snakeActions of Script + (properties) + + (method (doit) + (super doit:) + (if + (and (== local22 1) (gEgo inRect: 170 157 217 170)) + (= local22 3) + (snakeActions changeState: 10) + ) + ) + + (method (changeState newState) + (switch (= state newState) + (1 + (theme number: 39 play:) + (newAct setCycle: End self) + ) + (2 + (newAct setLoop: 1 setCycle: Fwd) + (= local22 1) + ) + (10 + (proc0_8) + (gSounds eachElementDo: #stop 0) + (theme number: 40 play:) + (gEgo viewer: 0) + (if (< (gEgo x?) 194) + (newAct cel: 255 setLoop: 2 setCycle: End self) + else + (newAct cel: 255 setLoop: 3 setCycle: End self) + ) + ) + (11 + (gEgo + view: 59 + illegalBits: 0 + ignoreActors: + cel: 255 + setCycle: End self + ) + ) + (12 + (Print 78 28) + (newAct setLoop: 1 setCycle: Fwd) + (= seconds 5) + ) + (13 (= global127 1)) + (20 + (= seconds 0) + (proc0_8) + (= global105 0) + (gEgo view: 55 setMotion: 0 loop: 0 setCycle: Fwd) + ((= newProp_4 (Prop new:)) + view: 888 + setPri: (+ (gEgo priority?) 1) + cycleSpeed: 1 + setCycle: Fwd + posn: (+ (gEgo x?) 10) (- (gEgo y?) 27) + init: + ) + (gSounds eachElementDo: #stop 0) + (charm play: self) + (newAct setLoop: 4 setCycle: Fwd) + (= local22 2) + ) + (21 + (Print 78 29 67 -1 10) + (gEgo view: 2 setCycle: Walk) + (newProp_4 dispose:) + (= global105 12) + (= seconds 15) + (proc0_9) + ) + (22 (self changeState: 2)) + ) + ) +) + +(instance boardActions of Script + (properties) + + (method (doit) + (super doit:) + (if (== state 3) + (if + (gEgo + inRect: 101 (- (newView y?) 3) 150 (+ (newView y?) 3) + ) + (= global132 1) + else + (= global132 0) + ) + else + (= global132 0) + ) + ) + + (method (changeState newState) + (switch (= state newState) + (1 + (proc0_8) + (gEgo view: 21 loop: 0 cel: 255 setCycle: End self) + (if (not global201) + (= global201 1) + (gGame changeScore: 2) + ) + ) + (2 + (= newView (View new:)) + (newView + view: 515 + cel: 0 + loop: 0 + ignoreActors: + setPri: 12 + posn: 121 (gEgo y?) + init: + ) + ((Inv at: 22) moveTo: 78) + (gEgo setCycle: Beg self) + ) + (3 + (gEgo view: 2 setCycle: Walk) + (proc0_9) + ) + (10 + (proc0_8) + (gEgo view: 21 loop: 0 cel: 255 setCycle: End self) + ) + (11 + (newView dispose:) + ((Inv at: 22) moveTo: gEgo) + (gEgo setCycle: Beg self) + ) + (12 + (gEgo view: 2 loop: 1 setCycle: Walk) + (proc0_9) + ) + ) + ) +) + +(instance fruitActions of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 (= seconds (Random 2 10))) + (1 + (newProp_3 cel: 255 setCycle: End self) + ) + (2 + (newProp_3 cel: 0) + (self changeState: 0) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm78.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm78.sco new file mode 100644 index 0000000..da7bf4a Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm78.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm79.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm79.sc new file mode 100644 index 0000000..66c1b15 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm79.sc @@ -0,0 +1,598 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 79) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Cycle) +(use Game) +(use User) +(use Feature) +(use Obj) + +(public + Room79 0 +) +(synonyms + (goon goon goon man goon goon animal goon) +) + +(local + newAct + newAct_2 + local2 +) +(instance henchTheme of Sound + (properties + number 29 + loop -1 + ) +) + +(instance sFalling of Sound + (properties + number 51 + priority 3 + ) +) + +(instance Room79 of Rm + (properties + picture 79 + style $0008 + ) + + (method (init) + (= north (= east 80)) + (= south 30) + (= global101 0) + (Load rsVIEW 80) + (Load rsVIEW 60) + (Load rsVIEW 140) + (Load rsVIEW 142) + (Load rsVIEW 143) + (Load rsVIEW 144) + (if global100 (= picture 179)) + (super init:) + (switch gPrevRoomNum + (north + (gEgo view: 2 posn: 232 91 loop: 1 init:) + ) + (south + (if global169 + (= newAct (Act new:)) + (= newAct_2 (Act new:)) + (newAct setScript: h1Actions) + (newAct_2 setScript: h2Actions init: hide:) + ) + (gEgo x: 63 y: 188) + (gEgo init: view: 2) + ) + (else + (gEgo x: 63 y: 188) + (= newAct (Act new:)) + (= newAct_2 (Act new:)) + (newAct setScript: h1Actions) + (newAct_2 setScript: h2Actions init: hide:) + (gEgo x: 63 y: 188) + (gEgo init: view: 2) + ) + ) + (gEgo edgeHit: 0) + (= global105 0) + (= global189 1) + (= global204 0) + ) + + (method (doit &tmp temp0) + (super doit:) + (if + (and (== (gRoom script?) 0) (== global105 0)) + (cond + ((& (= temp0 (gEgo onControl: 0)) $0040) (gRoom newRoom: 80)) + ((& temp0 $0010) + (if (< (gEgo heading?) 180) + (gEgo baseSetter: 0) + else + (gEgo baseSetter: (ScriptID 0 1)) + ) + ) + ((& temp0 $0f8e) + (gSounds eachElementDo: #stop 0) + (sFalling play:) + (stopHench cue:) + (gRoom + setScript: + (cond + ((& temp0 $0002) fallBlue) + ((& temp0 $0008) fallCyan) + ((& temp0 $0004) fallGreen) + ((& temp0 $0080) fallLgrey) + ((& temp0 $0100) fallGrey) + ((& temp0 $0200) fallLblue) + ((& temp0 $0400) fallLgreen) + ((& temp0 $0800) fallLcyan) + ) + ) + ) + ) + ) + ) + + (method (handleEvent pEvent &tmp gInvSaidMe) + (if (pEvent claimed?) (return 1)) + (return + (if (== (pEvent type?) evSAID) + (cond + ((Said 'look>') + (cond + ( + (or (Said '/room,cliff') (Said '[') + (if (= gInvSaidMe (gInv saidMe:)) + (if (gEgo has: (gInv indexOf: gInvSaidMe)) + (Print 79 11) + else + (Print 800 2) + ) + else + (Print 79 12) + (pEvent claimed: 1) + ) + ) + ) + else + 0 + ) + ) + ) + + (method (newRoom newRoomNumber) + (proc0_21) + (if (!= global105 10) + (= global189 0) + (gEgo illegalBits: -32768 setPri: -1) + (super newRoom: newRoomNumber) + ) + ) +) + +(instance fallBlue of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (= global105 10) + (proc0_8) + (gEgo + setPri: 8 + yStep: 10 + illegalBits: 0 + loop: (& (gEgo loop?) $0001) + cel: 0 + view: 17 + setCycle: Fwd + posn: (- (gEgo x?) 8) (gEgo y?) + setMotion: MoveTo (gEgo x?) (+ (gEgo y?) 150) self + ) + ) + (1 (gRoom setScript: egoDead)) + ) + ) +) + +(instance fallCyan of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (proc0_8) + (= global105 10) + (gEgo + setPri: 8 + yStep: 10 + illegalBits: 0 + loop: (& (gEgo loop?) $0001) + cel: 0 + view: 17 + setCycle: Fwd + posn: (gEgo x?) (+ (gEgo y?) 8) + setMotion: MoveTo (gEgo x?) (+ (gEgo y?) 150) self + ) + ) + (1 (gRoom setScript: egoDead)) + ) + ) +) + +(instance fallGreen of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (proc0_8) + (= global105 10) + (gEgo + setPri: 4 + yStep: 10 + illegalBits: 0 + loop: (& (gEgo loop?) $0001) + cel: 0 + view: 17 + setCycle: Fwd + posn: (gEgo x?) (- (gEgo y?) 8) + setMotion: MoveTo (gEgo x?) (+ (gEgo y?) 150) self + ) + ) + (1 (gRoom setScript: egoDead)) + ) + ) +) + +(instance fallLgrey of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (proc0_8) + (= global105 10) + (gEgo + setPri: 10 + yStep: 10 + illegalBits: 0 + loop: (& (gEgo loop?) $0001) + cel: 0 + view: 17 + setCycle: Fwd + posn: (+ (gEgo x?) 8) (+ (gEgo y?) 4) + setMotion: MoveTo (gEgo x?) (+ (gEgo y?) 150) self + ) + ) + (1 (gRoom setScript: egoDead)) + ) + ) +) + +(instance fallGrey of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (proc0_8) + (= global105 10) + (gEgo + setPri: 7 + yStep: 10 + illegalBits: 0 + loop: (& (gEgo loop?) $0001) + cel: 0 + view: 17 + setCycle: Fwd + posn: (gEgo x?) (+ (gEgo y?) 4) + setMotion: MoveTo (gEgo x?) (+ (gEgo y?) 150) self + ) + ) + (1 (gRoom setScript: egoDead)) + ) + ) +) + +(instance fallLblue of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (proc0_8) + (= global105 10) + (gEgo + setPri: 6 + yStep: 10 + illegalBits: 0 + loop: (& (gEgo loop?) $0001) + cel: 0 + view: 17 + setCycle: Fwd + posn: (gEgo x?) (+ (gEgo y?) 4) + setMotion: MoveTo (gEgo x?) (+ (gEgo y?) 150) self + ) + ) + (1 (gRoom setScript: egoDead)) + ) + ) +) + +(instance fallLgreen of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (proc0_8) + (= global105 10) + (gEgo + setPri: 0 + yStep: 10 + illegalBits: 0 + loop: (& (gEgo loop?) $0001) + cel: 0 + view: 17 + setCycle: Fwd + posn: (gEgo x?) (- (gEgo y?) 4) + setMotion: MoveTo (gEgo x?) (+ (gEgo y?) 150) self + ) + ) + (1 (gRoom setScript: egoDead)) + ) + ) +) + +(instance fallLcyan of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (proc0_8) + (= global105 10) + (gEgo + setPri: 0 + yStep: 10 + illegalBits: 0 + loop: (& (gEgo loop?) $0001) + cel: 0 + view: 17 + setCycle: Fwd + posn: (gEgo x?) (+ (gEgo y?) 4) + setMotion: MoveTo (gEgo x?) (+ (gEgo y?) 150) self + ) + ) + (1 (gRoom setScript: egoDead)) + ) + ) +) + +(instance h1Actions of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (henchTheme play:) + (newAct + ignoreHorizon: + posn: 57 6 + setStep: 4 3 + view: 142 + setCycle: Walk + setMotion: MoveTo -10 22 self + ignoreActors: + illegalBits: 0 + setPri: 13 + init: + ) + (Print 79 13 83 67 -1 10 88) + ) + (1 + (newAct xStep: 4 yStep: 3 setMotion: MoveTo -10 50 self) + ) + (2 + (proc0_21) + (newAct + view: 143 + xStep: 6 + yStep: 4 + setMotion: MoveTo 252 66 self + ) + ) + (3 + (newAct + view: 144 + xStep: 8 + yStep: 6 + setMotion: Chase gEgo 14 self + ) + (h2Actions changeState: 1) + ) + (4 + (newAct + view: 140 + posn: (+ (gEgo x?) 14) (+ (gEgo y?) 5) + ) + (proc0_3 newAct gEgo) + (gEgo loop: 0 setMotion: 0) + (proc0_8) + ) + ) + ) +) + +(instance h2Actions of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (1 + (newAct_2 + ignoreHorizon: + posn: 57 6 + view: 142 + setCycle: Walk + xStep: 4 + yStep: 3 + setMotion: MoveTo 26 65 self + ignoreActors: + illegalBits: 0 + setPri: 13 + show: + ) + ) + (2 + (newAct_2 + view: 143 + xStep: 6 + yStep: 4 + setMotion: MoveTo 42 120 self + ) + ) + (3 + (newAct_2 + view: 144 + xStep: 8 + yStep: 6 + setMotion: MoveTo (- (gEgo x?) 14) (gEgo y?) self + ) + ) + (4 + (newAct_2 view: 140) + (proc0_3 newAct_2 gEgo) + ((ScriptID 0 4) setReal: self 2) + ) + (5 + (= global105 1) + (newAct hide:) + (newAct_2 hide:) + (cond + ((== global109 1) (self changeState: 20)) + ((and (== global109 2) (not (gEgo has: 33))) (self changeState: 20)) + ((and (== global109 3) (not (gEgo has: 4))) (self changeState: 20)) + (else + (gEgo + view: 60 + illegalBits: 0 + setPri: 15 + ignoreHorizon: + setLoop: 1 + cel: 255 + setCycle: End self + ) + ) + ) + ) + (6 + (gEgo + view: 80 + setLoop: 5 + setCycle: Fwd + setMotion: MoveTo 24 60 self + ) + ) + (7 + (gEgo + setLoop: 3 + posn: (gEgo x?) (- (gEgo y?) 5) + setMotion: MoveTo 50 38 + ) + ((ScriptID 0 4) setReal: self 2) + ) + (8 + (gEgo setLoop: 1 setMotion: MoveTo 72 29) + ((ScriptID 0 4) setReal: self 3) + ) + (9 + (gEgo + illegalBits: 0 + setPri: 15 + setLoop: 0 + setMotion: MoveTo 72 29 self + ) + ) + (10 + (gEgo setLoop: -1 setCel: -1) + (User canControl: 1) + (User canInput: 1) + (gEgo dispose:) + (proc0_9) + (gRoom newRoom: 92) + ) + (20 + (gEgo + illegalBits: 0 + setPri: 15 + view: 60 + setLoop: 2 + cel: 255 + setCycle: End self + ) + ) + (21 + (proc0_19 henchTheme 1) + (gEgo + view: 80 + setCycle: Fwd + setLoop: 4 + setMotion: MoveTo -40 160 self + ) + ) + (22 + (proc0_9) + (gRoom newRoom: 30) + ) + ) + ) +) + +(instance egoDead of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (Animate (gCast elements?) 0) + (ShakeScreen 10 1) + (= seconds 3) + ) + (1 + (Print 79 14) + ((ScriptID 0 4) setReal: self 4) + ) + (2 (= global127 1)) + ) + ) +) + +(instance stopHench of Script + (properties) + + (method (cue) + (if (gCast contains: newAct) + (newAct + setLoop: -1 + setCycle: Walk + setMotion: MoveTo -68 32 + setCycle: Fwd + ) + ) + (if (gCast contains: newAct_2) + (newAct_2 + setLoop: -1 + setCycle: Walk + setMotion: MoveTo -68 32 + setCycle: Fwd + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm79.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm79.sco new file mode 100644 index 0000000..5063143 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm79.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm8.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm8.sc new file mode 100644 index 0000000..5c18321 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm8.sc @@ -0,0 +1,69 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 8) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Game) + +(public + Room8 0 +) + +(instance Room8 of Rm + (properties + picture 8 + ) + + (method (init) + (= north 2) + (= south 14) + (= east 9) + (= west 7) + (= horizon 68) + (= global101 0) + (super init:) + (if global100 (gRoom overlay: 108)) + (gEgo view: 2 init:) + (self setRegions: 506 514) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if (== (pEvent type?) evSAID) + (cond + ((Said '/door') (Print 8 0)) + ((Said '/window>') + (cond + ((Said 'open') (Print 8 1)) + ((Said 'break') (Print 8 2)) + ((Said 'look') + (if (gEgo inRect: 10 134 57 140) + (Print 8 3) + else + (Print 800 1) + ) + ) + ) + ) + ) + (if (Said 'look>') + (cond + ((Said '/cottage') (Print 8 4)) + ((Said '[') + (cond + ( + (or + (Said '/room') + (Said '/around') + (Said '[') + (cond + ((Said '') + (cond + ((Said '') (Print 82 18) (pEvent claimed: 1)) + ((Said 'awaken/lolotte,fairies') + (if global169 + (gRoom setScript: egoZapped) + else + (Print 82 19 33 gSmallFont 67 15 10 25 4) + ) + ) + ((Said 'get,capture/lolotte,fairies') (if global169 (Print 82 20) else (Print 82 17))) + ((Said 'converse[= ((gInv at: 14) loop?) 2) (Print 82 33)) + ((not global169) (Print 82 34)) + ((== (gRoom script?) lolotteDead) (Print 82 35)) + (else (self setScript: shootLolotte)) + ) + else + (Print 82 36) + ) + ) + ) + ) + ((Said 'look/stair') (Print 82 37)) + ((Said 'look/wall') (Print 82 7)) + ((Said 'look/door') (Print 82 38)) + ((Said 'open/window') (Print 82 39)) + ((Said 'break/window') (Print 82 40)) + ((Said 'look[') + (cond + (global220 (pEvent claimed: 1) (Print 82 26)) + ((not (gEgo inRect: 233 155 251 162)) (pEvent claimed: 1) (proc0_13)) + ( + (or + (and (gEgo has: 32) (not (gEgo has: 20))) + (and (Said '*/*/(key') + (cond + ((Said '/skeleton,bone') (Print 83 1)) + ((Said '/machine') (Print 83 2)) + ((Said '/whip') (Print 83 3)) + ((Said '/chain') (Print 83 4)) + ((Said '/window') (Print 83 5)) + ((Said '/wall') (Print 83 6)) + ((or (Said '/dirt') (Said '') + (cond + ((Said '/box') (Print 84 5)) + ((Said '/barrel') (Print 84 6)) + ((Said '/chest') (Print 84 7)) + ((Said '/shelf') (Print 84 8)) + ((Said '/bone') (Print 84 9)) + ((Said '/window') (Print 84 10)) + ((Said '/wall') (Print 84 11)) + ((or (Said '/dirt') (Said '') + (cond + ((Said '/box') + (cond + ((Said '/box (newAct x?) 87) + (Random 67 85) + else + (Random 90 120) + ) + 134 + self + ) + ) + ) + (2 (= state -1) (self cue:)) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm84.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm84.sco new file mode 100644 index 0000000..cf8f46f Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm84.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm85.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm85.sc new file mode 100644 index 0000000..b2b2931 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm85.sc @@ -0,0 +1,240 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 85) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Cycle) +(use Game) +(use User) +(use Feature) +(use Obj) + +(public + Room85 0 +) + +(instance fallMusic of Sound + (properties + number 52 + ) +) + +(instance Room85 of Rm + (properties + picture 85 + style $0010 + ) + + (method (init) + (Load rsSOUND 52) + (self setRegions: 604) + (super init:) + ((View new:) + view: 634 + loop: 1 + cel: 1 + posn: 223 163 + setPri: 12 + addToPic: + ) + ((Prop new:) + view: 512 + loop: 0 + cel: 4 + posn: 223 151 + setPri: 11 + init: + setCycle: Fwd + ) + (if (or (== gPrevRoomNum 90) (== gPrevRoomNum 0)) + (gEgo + posn: 117 169 + view: 4 + baseSetter: (ScriptID 0 1) + setStep: 4 2 + init: + ) + ) + (if (== gPrevRoomNum 81) + (gEgo + posn: 131 35 + view: 4 + baseSetter: (ScriptID 0 1) + looper: myLooper + setLoop: -1 + setStep: 4 2 + init: + ) + ) + ) + + (method (doit) + (super doit:) + (if (!= (self script?) fallStairs) + (if (& (gEgo onControl: 0) $0040) + (gEgo baseSetter: 0 looper: 0) + (gRoom newRoom: 90) + ) + (if (& (gEgo onControl: 0) $0020) + (gEgo baseSetter: 0 looper: 0) + (gRoom newRoom: 81) + ) + (if (& (gEgo onControl:) $0004) + (self setScript: fallStairs) + ) + (cond + ((& (gEgo onControl: 0) $0002) (gEgo looper: myLooper)) + ((> (gEgo y?) 110) (gEgo looper: 0)) + ) + ) + ) + + (method (handleEvent pEvent) + (return + (cond + ((pEvent claimed?) (return 1)) + ((== (pEvent type?) evSAID) + (cond + ( + (or + (Said 'look[') + (cond + ((or (Said '/dirt') (Said '= (param1 heading?) 305) + (<= (param1 heading?) 45) + ) + 2 + ) + ( + (and + (>= (param1 heading?) 135) + (<= (param1 heading?) 225) + ) + 3 + ) + ( + (and + (> (param1 heading?) 45) + (< (param1 heading?) 135) + ) + 0 + ) + (else 1) + ) + ) + ) +) + +(instance fallStairs of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (User canControl: 0 canInput: 0) + (= global105 16) + (gEgo + view: 44 + illegalBits: 0 + ignoreActors: 1 + moveSpeed: 0 + setLoop: (if (== (gEgo loop?) 1) 1 else 0) + setCycle: End self + ) + (fallMusic play:) + ) + (1 + (gEgo + setStep: 10 10 + setLoop: (+ 2 (gEgo loop?)) + setCycle: Fwd + setPri: -1 + setMotion: + MoveTo + (if (< (gEgo y?) 130) + (- (gEgo x?) 20) + else + (+ (gEgo x?) 10) + ) + 220 + self + ) + ) + (2 + (gCast eachElementDo: #hide) + (DrawPic 90) + ((View new:) + view: 634 + loop: 1 + cel: 1 + posn: 209 77 + setPri: 4 + addToPic: + ) + ((Prop new:) + view: 512 + loop: 0 + posn: 209 65 + setPri: 3 + init: + setCycle: Fwd + ) + (if global169 + ((View new:) + view: 145 + ignoreActors: 1 + loop: 4 + cel: 0 + posn: 188 127 + init: + addToPic: + ) + ) + (gEgo + show: + posn: 190 9 + setStep: 10 30 + setMotion: MoveTo 190 147 self + ) + ) + (3 + (gEgo view: 42 loop: (if (== (gEgo loop?) 2) 0 else 1)) + (proc0_18) + (fallMusic dispose:) + (ShakeScreen 5) + (= seconds 4) + ) + (4 + (= global127 1) + (client setScript: 0) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm85.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm85.sco new file mode 100644 index 0000000..42b0e8d Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm85.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm86.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm86.sc new file mode 100644 index 0000000..78d4f00 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm86.sc @@ -0,0 +1,294 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 86) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Cycle) +(use Game) +(use User) +(use Feature) +(use Obj) + +(public + Room86 0 +) + +(local + newAct + newAct_2 + newProp_2 + newProp_3 + newProp_4 + newProp +) +(instance theMusic of Sound + (properties) +) + +(instance doorOpenMusic of Sound + (properties + number 300 + ) +) + +(instance Room86 of Rm + (properties + picture 86 + style $0010 + ) + + (method (init) + (Load rsVIEW 81) + (Load rsVIEW 82) + (Load rsVIEW 147) + (Load rsVIEW 607) + (Load rsVIEW 141) + (Load rsVIEW 633) + (super init:) + (self setRegions: 604) + ((= newProp (Prop new:)) + view: 607 + posn: 173 117 + init: + stopUpd: + ) + ((= newProp_2 (Prop new:)) + posn: 281 64 + view: 633 + cel: 2 + init: + setCycle: Fwd + ) + ((= newProp_3 (Prop new:)) + posn: 289 75 + view: 633 + cel: 0 + init: + setCycle: Fwd + ) + ((= newProp_4 (Prop new:)) + posn: 296 64 + view: 633 + cel: 1 + init: + setCycle: Fwd + ) + (if (or (== gPrevRoomNum 87) (== gPrevRoomNum 0)) + (gEgo posn: 303 141 view: 4 xStep: 4 yStep: 2 init:) + (if global175 + ((= newAct (Act new:)) + view: 141 + posn: (+ (gEgo x?) 40) (gEgo y?) + setCycle: Walk + illegalBits: 0 + init: + setScript: henchChase + ) + (theMusic number: 41 loop: 1 init:) + ) + ) + (if (== gPrevRoomNum 83) + (if (== global109 0) + (User canControl: 0 canInput: 0) + (gEgo + view: 81 + loop: 2 + posn: 190 120 + init: + setCycle: Walk + setScript: toThrone + ) + else + (gEgo posn: 190 120 view: 4 setStep: 4 2 init:) + ) + ) + (if (== gPrevRoomNum 92) + (gEgo + view: 81 + loop: 1 + posn: 293 141 + setStep: 4 2 + init: + setCycle: Walk + ) + (User canControl: 0 canInput: 0) + (self setScript: intoDungeon) + ) + ) + + (method (doit) + (super doit:) + (if + (and (& (gEgo onControl:) $0040) (!= global109 0)) + (gRoom newRoom: 87) + ) + ) + + (method (handleEvent pEvent) + (return + (cond + ((pEvent claimed?) (return 1)) + ((== (pEvent type?) evSAID) + (cond + ( + (or + (Said 'look[') + (cond + ((Said '/door') (Print 86 1)) + ((Said '/table') (Print 86 2)) + ((Said '/candelabra,candle') (Print 86 3)) + ((Said '/chair') (Print 86 4)) + ((Said '/wall') (Print 86 5)) + ((or (Said '/dirt') (Said '') + (cond + ((Said '/goon') (Print 87 1 67 -1 10)) + ((Said '/door') (Print 87 2)) + ((Said '/table') (Print 87 3)) + ((Said '/candelabra,candle') (Print 87 4)) + ((Said '/wall') (Print 87 5)) + ((or (Said '/dirt') (Said '') + (cond + ((Said 'converse') (Print 87 14 67 -1 10)) + ((Said 'get,capture') (Print 87 15 67 -1 10)) + ((Said 'kiss') (Print 87 16 67 -1 10)) + ((Said 'deliver') (Print 87 17 67 -1 10)) + ) + ) + ) + ) + ) + ) + ) +) + +(instance doDoor of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (newProp stopUpd:) + (gRoom newRoom: 84) + ) + ) + ) +) + +(instance henchChase of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (newAct loop: 2 setCycle: End self) + ) + (1 + (newAct loop: 0 setCycle: End self) + ) + (2 + (= global175 1) + (theMusic number: 41 loop: 10 play:) + (newAct + view: 141 + setAvoider: Avoid + setCycle: Walk + setMotion: Chase gEgo 15 self + ) + ) + (3 + (User canControl: 0 canInput: 0) + (gEgo moveSpeed: 0 setMotion: 0) + (theMusic number: 42 loop: 1 play:) + (= seconds 4) + ) + (4 + (= global205 1) + (gRoom newRoom: 81) + ) + ) + ) +) + +(instance circleJerk of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + ((ScriptID 0 4) setReal: self 2) + ) + (1 + (newAct setCycle: End) + (newAct_2 setCycle: End) + (newAct_3 setCycle: End) + ((ScriptID 0 4) setReal: self 5) + ) + (2 + (newAct_2 setCycle: Beg) + (newAct setCycle: Beg) + (newAct_3 setCycle: Beg self) + ) + (3 (client setScript: 0)) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm87.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm87.sco new file mode 100644 index 0000000..211bcb8 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm87.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm88.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm88.sc new file mode 100644 index 0000000..8ef1469 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm88.sc @@ -0,0 +1,332 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 88) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Cycle) +(use Game) +(use User) +(use Feature) +(use Obj) + +(public + Room88 0 +) + +(local + newAct + local1 +) +(instance theMusic of Sound + (properties) +) + +(instance fallSound of Sound + (properties + number 52 + ) +) + +(instance Room88 of Rm + (properties + picture 88 + style $0010 + ) + + (method (init) + (Load rsVIEW 634) + (Load rsVIEW 512) + (Load rsSOUND 52) + (self setRegions: 604) + (super init:) + ((View new:) + view: 634 + loop: 1 + cel: 0 + posn: 105 79 + setPri: 4 + init: + addToPic: + ) + ((Prop new:) + view: 512 + loop: 0 + posn: 107 67 + setPri: 3 + init: + setCycle: Fwd + ) + (= local1 0) + (gEgo baseSetter: (ScriptID 0 1)) + (if (or (== gPrevRoomNum 93) (== gPrevRoomNum 0)) + (gEgo posn: 162 142 view: 4 looper: 0 setStep: 4 2 init:) + ) + (if (== gPrevRoomNum 87) + (gEgo + posn: 91 130 + view: 4 + looper: 0 + setStep: 4 2 + illegalBits: -32760 + init: + ) + (if global175 + ((= newAct (Act new:)) + view: 141 + illegalBits: 0 + ignoreActors: + posn: 75 129 + setStep: 6 4 + setLoop: 0 + setCycle: Walk + init: + setScript: henchChase88 + ) + ) + ) + (if (== gPrevRoomNum 82) + (= local1 1) + (gEgo + posn: 211 62 + view: 4 + looper: myLooper + setStep: 4 2 + illegalBits: -16384 + init: + ) + ) + ) + + (method (doit) + (super doit:) + (if + (and + (!= (self script?) fallStairs) + (& (gEgo onControl: 0) $0040) + ) + (gEgo baseSetter: 0 looper: 0) + (gRoom newRoom: 93) + ) + (if + (and + (!= (self script?) fallStairs) + (& (gEgo onControl: 0) $0020) + ) + (gEgo baseSetter: 0 looper: 0) + (gRoom newRoom: 82) + ) + (if (& (gEgo onControl: 0) $0010) + (gEgo baseSetter: 0 looper: 0) + (gRoom newRoom: 87) + ) + (if + (and + (not local1) + (& (gEgo onControl: 0) $0004) + (!= (self script?) fallStairs) + ) + (gEgo baseSetter: 0 looper: 0) + (self setScript: fallStairs) + ) + (if + (and + local1 + (& (gEgo onControl: 0) $1000) + (!= (self script?) fallStairs) + ) + (gEgo baseSetter: 0 looper: 0) + (self setScript: fallStairs) + ) + (if + (and (not local1) (& (gEgo onControl: 1) $0400)) + (gEgo illegalBits: -16384 looper: myLooper) + (= local1 1) + ) + (if (and local1 (& (gEgo onControl: 1) $0100)) + (gEgo illegalBits: -32760 looper: 0) + (= local1 0) + ) + ) + + (method (handleEvent pEvent) + (return + (cond + ((pEvent claimed?) (return 1)) + ((== (pEvent type?) evSAID) + (cond + ( + (or + (Said 'look[') + (cond + ((or (Said '/dirt') (Said '= (param1 heading?) 305) + (<= (param1 heading?) 45) + ) + 2 + ) + ( + (and + (>= (param1 heading?) 135) + (<= (param1 heading?) 225) + ) + 3 + ) + ( + (and + (> (param1 heading?) 45) + (< (param1 heading?) 135) + ) + 0 + ) + (else 1) + ) + ) + ) +) + +(instance henchChase88 of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (theMusic number: 41 play:) + (newAct + view: 141 + setCycle: Walk + setMotion: Chase gEgo 15 self + ) + ) + (1 + (User canControl: 0 canInput: 0) + (gEgo moveSpeed: 0 setMotion: 0) + (theMusic number: 42 play:) + (= seconds 4) + ) + (2 + (= global205 1) + (gRoom newRoom: 81) + ) + ) + ) +) + +(instance fallStairs of Script + (properties) + + (method (init param1) + (super init: param1) + ) + + (method (changeState newState) + (switch (= state newState) + (0 + (User canControl: 0 canInput: 0) + (= global105 16) + (gEgo + illegalBits: 0 + ignoreActors: 1 + view: 44 + moveSpeed: 0 + setLoop: (if (== (gEgo loop?) 1) 1 else 0) + setCycle: End self + ) + (fallSound play:) + ) + (1 + (gEgo + setStep: 10 10 + setLoop: (+ 2 (gEgo loop?)) + setCycle: Fwd + setPri: -1 + setMotion: + MoveTo + (if (< (gEgo y?) 130) + (- (gEgo x?) 10) + else + (+ (gEgo x?) 10) + ) + 220 + self + ) + ) + (2 + (gRoom drawPic: 93 7) + (gCast eachElementDo: #hide) + ((View new:) + view: 634 + loop: 1 + cel: 0 + posn: 101 75 + setPri: 4 + addToPic: + ) + ((Prop new:) + view: 512 + loop: 0 + posn: 103 63 + setPri: 3 + init: + setCycle: Fwd + ) + (if global169 + ((View new:) + view: 145 + ignoreActors: 1 + loop: 4 + cel: 0 + posn: 124 128 + init: + addToPic: + ) + ) + (gEgo + posn: 155 9 + show: + setStep: 10 30 + setMotion: MoveTo 150 140 self + ) + ) + (3 + (gEgo view: 42 loop: (if (== (gEgo loop?) 2) 0 else 1)) + (proc0_18) + (fallSound dispose:) + (ShakeScreen 5) + (= seconds 4) + ) + (4 + (= global127 1) + (client setScript: 0) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm88.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm88.sco new file mode 100644 index 0000000..68db600 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm88.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm89.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm89.sc new file mode 100644 index 0000000..4e05599 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm89.sc @@ -0,0 +1,317 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 89) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Cycle) +(use Game) +(use Feature) +(use Obj) + +(public + Room89 0 +) + +(local + newProp + newProp_2 + newView + newView_2 + gInvFirst + local5 + local6 + local7 +) +(procedure (localproc_000c &tmp temp0) + (= temp0 0) + (= gInvFirst (gInv first:)) + (while gInvFirst + (if + (and + (= local5 (NodeValue gInvFirst)) + (== (local5 owner?) 89) + ) + (= temp0 1) + ) + (= gInvFirst (gInv next: gInvFirst)) + ) + (return temp0) +) + +(instance Room89 of Rm + (properties + picture 89 + style $0010 + ) + + (method (init) + (Load rsVIEW 606) + (Load rsVIEW 649) + (Load rsVIEW 634) + (Load rsVIEW 512) + (self setRegions: 604) + (super init:) + ((View new:) + view: 634 + loop: 1 + cel: 0 + posn: 57 88 + setPri: 6 + init: + addToPic: + ) + (if global100 + ((Prop new:) + view: 512 + loop: 0 + posn: 59 76 + setPri: 6 + init: + setCycle: Fwd + ) + ((View new:) + view: 649 + loop: 2 + cel: 0 + posn: 264 105 + setPri: 7 + init: + addToPic: + ) + ) + ((= newProp (Prop new:)) + view: 606 + loop: 0 + posn: 241 108 + init: + setPri: 8 + stopUpd: + ) + ((= newProp_2 (Prop new:)) + view: 606 + posn: 76 108 + loop: 1 + init: + setPri: 8 + stopUpd: + ) + ((= newView (View new:)) + view: 606 + posn: 222 108 + loop: 2 + cel: 0 + ignoreActors: 1 + init: + stopUpd: + ) + (if (not (= local7 (localproc_000c))) + (newView cel: 2 forceUpd:) + ) + ((= newView_2 (View new:)) + view: 606 + posn: 96 108 + loop: 2 + cel: 1 + ignoreActors: 1 + init: + stopUpd: + ) + (if (or (== gPrevRoomNum 91) (== gPrevRoomNum 0)) + (gEgo posn: 38 151 view: 4 xStep: 4 yStep: 2 init:) + (if global175 (= global175 0)) + ) + ) + + (method (doit) + (super doit:) + (if (& (gEgo onControl: 0) $0040) + (gRoom newRoom: 91) + ) + ) + + (method (handleEvent pEvent) + (return + (cond + ((pEvent claimed?) (return 1)) + ((== (pEvent type?) evSAID) + (cond + ( + (or + (Said 'look[') + (cond + ((Said '') + (cond + ((Said '/barrel') (Print 89 14)) + ((Said '/window') (Print 89 15)) + ((Said '/cabinet,door') + (cond + ((gEgo inRect: 210 123 249 133) + (if (== (newProp cel?) 0) + (newProp setCycle: End rightCabinet) + (if local7 (Print 89 16) else (Print 89 2)) + else + (Print 89 17) + ) + ) + ((gEgo inRect: 74 122 100 133) + (if (== (newProp_2 cel?) 0) + (newProp_2 setCycle: End leftCabinet) + (Print 89 3) + else + (Print 89 17) + ) + ) + (else (Print 800 1)) + ) + ) + ) + ) + ((Said 'close/cabinet,door') + (cond + ((< (gEgo distanceTo: newProp) 25) + (if (newProp cel?) + (newProp setCycle: Beg rightCabinet) + else + (Print 89 18) + ) + ) + ((< (gEgo distanceTo: newProp_2) 25) + (if (newProp_2 cel?) + (newProp_2 setCycle: Beg leftCabinet) + else + (Print 89 18) + ) + ) + (else (Print 800 1)) + ) + ) + ((Said 'break/window') (Print 89 19)) + ((Said 'get>') + (cond + ((Said '/caldron') (Print 89 20)) + ((Said '/dish') + (if (not (newProp_2 cel?)) + (Print 89 21) + else + (Print 89 22) + ) + ) + ((Said '/all,possessions,inventory') + (cond + ((not local7) (Print 89 2)) + ((not (newProp cel?)) (Print 89 21)) + ((> (gEgo distanceTo: newProp) 25) (Print 800 1)) + (else + (= local6 1) + (= gInvFirst (gInv first:)) + (while gInvFirst + (if + (and + (= local5 (NodeValue gInvFirst)) + (== (local5 owner?) 89) + ) + (local5 owner: gEgo) + (= local6 0) + ) + (= gInvFirst (gInv next: gInvFirst)) + ) + (if (not local6) + (gGame changeScore: 4) + (newView loop: 2 cel: 2 startUpd: forceUpd:) + (= global182 1) + (= local7 0) + else + (Print 89 2) + ) + (newView stopUpd:) + ) + ) + ) + ( + (and + local7 + (< (gEgo distanceTo: newProp) 25) + (!= (newProp cel?) (- (NumCels newProp) 1)) + ) + (Print 89 23) + (pEvent claimed: 1) + ) + ) + ) + ) + ) + ) + ) + ) +) + +(instance rightCabinet of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (newProp stopUpd:) + (= state -1) + ) + ) + ) +) + +(instance leftCabinet of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (newProp_2 stopUpd:) + (= state -1) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm89.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm89.sco new file mode 100644 index 0000000..4087f43 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm89.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm9.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm9.sc new file mode 100644 index 0000000..b40cfaf --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm9.sc @@ -0,0 +1,134 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 9) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Cycle) +(use Game) +(use Feature) +(use Obj) + +(public + Room9 0 +) +(synonyms + (pool water) +) + +(local + newProp + newProp_2 +) +(instance Room9 of Rm + (properties + picture 9 + ) + + (method (init) + (= north 3) + (= south 15) + (= east 10) + (= west 8) + (= horizon 75) + (= global101 0) + (if (<= (gEgo y?) (+ horizon 1)) + (gEgo y: (+ horizon 2)) + ) + (if (< (gEgo x?) 93) (gEgo x: 93)) + (super init:) + (gEgo view: 2 init:) + (if global100 (gRoom overlay: 109)) + (self setRegions: 507 514) + (if (not global100) + (if (< (Random 1 100) 50) + (= newProp (Prop new:)) + (newProp + view: 342 + loop: 5 + cel: 2 + posn: 283 17 + setPri: 14 + setScript: bird1Actions + init: + ) + ) + (if (< (Random 1 100) 50) + (= newProp_2 (Prop new:)) + (newProp_2 + view: 342 + loop: 4 + cel: 2 + posn: 58 30 + setPri: 14 + setScript: bird2Actions + init: + ) + ) + ) + ) + + (method (handleEvent pEvent) + (if (pEvent claimed?) (return 1)) + (return + (if (== (pEvent type?) evSAID) + (cond + ((Said 'climb/boulder') (Print 9 0)) + ((Said 'look>') + (cond + ((Said '/pool') (Print 9 1)) + ((Said '/boulder') (Print 9 2)) + ((Said '/blossom') (Print 9 3)) + ((Said '[ (gEgo heading?) 0)) + (gEgo + baseSetter: (ScriptID 0 1) + setPri: -1 + illegalBits: -16384 + ) + (= local0 0) + else + (gEgo baseSetter: 0 illegalBits: -32768 setPri: 12) + (= local0 1) + ) + ) + ) + (super doit:) + ) + + (method (dispose) + (DisposeScript 991) + (super dispose:) + ) + + (method (handleEvent pEvent) + (return + (cond + ((pEvent claimed?) (return 1)) + ( + (and (== (pEvent type?) evSAID) (Said 'look>')) + (cond + ((or (Said '/dirt') (Said '= (gEgo y?) 145) -5 else 5) + ) + self + ) + (fallMusic play:) + ) + (1 + (gEgo view: 41 loop: 0 cel: 255 setCycle: End self) + ) + (2 + (gEgo + view: 4 + baseSetter: 0 + illegalBits: -16384 + setPri: -1 + setCycle: Walk + ) + (= local0 0) + (fallMusic dispose:) + (User canInput: 1 canControl: 1) + (client setScript: 0) + (= state -1) + ) + ) + ) +) + +(instance fallingToDeath of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (User canInput: 0 canControl: 0) + (= global105 16) + (gEgo + view: 44 + loop: 2 + illegalBits: 0 + setPri: 9 + setMotion: ((Jump new:) y: 145 gx: 2 gy: 5) self + ) + (fallMusic play:) + ) + (1 + (gEgo view: 42) + (proc0_18) + (ShakeScreen 5) + (= seconds 2) + ) + (2 + (gSounds eachElementDo: #stop 0) + (= global127 1) + (client setScript: 0) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm90.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm90.sco new file mode 100644 index 0000000..fa97399 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm90.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm91.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm91.sc new file mode 100644 index 0000000..4051e01 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm91.sc @@ -0,0 +1,172 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 91) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Cycle) +(use Game) +(use User) +(use Feature) +(use Obj) + +(public + Room91 0 +) + +(local + newAct +) +(instance theMusic of Sound + (properties) +) + +(instance Room91 of Rm + (properties + picture 91 + style $0010 + ) + + (method (init) + (Load rsVIEW 141) + (Load rsVIEW 636) + (self setRegions: 604) + (super init:) + (proc0_10 604 0) + ((Prop new:) + isExtra: 1 + view: 636 + loop: 0 + posn: 133 60 + setPri: 15 + init: + setCycle: Fwd + ) + (if (or (== gPrevRoomNum 92) (== gPrevRoomNum 0)) + (gEgo posn: 291 152 view: 4 setStep: 4 2 init:) + (if global175 + (gEgo x: 275) + ((= newAct (Act new:)) + view: 141 + posn: (+ (gEgo x?) 25) (gEgo y?) + illegalBits: 0 + setStep: 6 4 + setCycle: Walk + init: + setScript: henchChase + ) + ) + ) + (if (== gPrevRoomNum 89) + (gEgo posn: 253 123 view: 4 xStep: 4 yStep: 2 init:) + ) + (if (== gPrevRoomNum 90) + (gEgo posn: 27 153 view: 4 setStep: 4 2 init:) + (if global175 + ((= newAct (Act new:)) + view: 141 + posn: (- (gEgo x?) 30) (gEgo y?) + illegalBits: 0 + setStep: 6 4 + setCycle: Walk + init: + setScript: henchChase + ) + ) + ) + ) + + (method (doit) + (super doit:) + (if (& (gEgo onControl: 0) $0040) + (gRoom newRoom: 90) + ) + (if (& (gEgo onControl: 0) $0020) + (gRoom newRoom: 92) + ) + (if (& (gEgo onControl: 0) $0010) + (gRoom newRoom: 89) + ) + ) + + (method (handleEvent pEvent) + (return + (cond + ((pEvent claimed?) (return 1)) + ((== (pEvent type?) evSAID) + (cond + ( + (or + (Said 'look[/!*]') + (Said 'look[') + (cond + ((Said '') (Print 91 9) (pEvent claimed: 1)) + ) + ) + ) + ) + ) + + (method (newRoom newRoomNumber) + (if + (or (>= (henchChase state?) 1) (== newRoomNumber 81)) + (= global175 1) + (= newRoomNumber 81) + else + (= global175 0) + (User canControl: 1 canInput: 1) + ) + (henchChase seconds: 0) + (super newRoom: newRoomNumber) + ) +) + +(instance henchChase of Script + (properties) + + (method (init param1) + (super init: param1) + ) + + (method (changeState newState) + (switch (= state newState) + (0 + (theMusic number: 41 play:) + (client setMotion: Chase gEgo 15 self) + (= global175 1) + ) + (1 + (if (== gCurRoomNum gNewRoomNumber_2) + (= global205 1) + (User canControl: 0 canInput: 0) + (gEgo moveSpeed: 0 setMotion: 0) + (theMusic number: 42 play:) + (= seconds 4) + ) + ) + (2 + (if (== gCurRoomNum gNewRoomNumber_2) + (gRoom newRoom: 81) + else + (User canControl: 1 canInput: 1) + (= global205 0) + ) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm91.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm91.sco new file mode 100644 index 0000000..0467223 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm91.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm92.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm92.sc new file mode 100644 index 0000000..217966e --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm92.sc @@ -0,0 +1,846 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 92) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Cycle) +(use Game) +(use User) +(use Feature) +(use Obj) + +(public + Room92 0 +) + +(local + newProp_2 + newProp_3 + newProp_4 + newAct + local4 + local5 + gInvFirst + newProp + local8 + local9 + local10 +) +(instance theMusic of Sound + (properties + number 44 + ) +) + +(instance Room92 of Rm + (properties + picture 92 + style $0010 + ) + + (method (init) + (if (<= global109 3) + (Load rsVIEW 82) + (Load rsVIEW 121) + (Load rsVIEW 132) + (Load rsVIEW 681) + (Load rsVIEW 81) + (Load rsVIEW 145) + (Load rsVIEW 141) + ) + (Load rsVIEW 634) + (Load rsVIEW 512) + (self setRegions: 604) + (super init:) + (proc0_10 604 0) + (= local8 0) + ((View new:) + view: 634 + loop: 1 + cel: 0 + posn: 32 79 + setPri: 10 + init: + startUpd: + ) + ((View new:) + view: 634 + loop: 1 + cel: 1 + posn: 289 80 + setPri: 10 + init: + addToPic: + ) + ((Prop new:) + view: 512 + loop: 0 + posn: 289 68 + setPri: 10 + init: + setCycle: Fwd + ) + ((= newProp (Prop new:)) + view: 512 + loop: 0 + posn: 34 67 + setPri: 10 + init: + setCycle: Fwd + ) + (= global101 1) + (if (== gPrevRoomNum 80) + (gEgo posn: 153 156 view: 4 xStep: 4 yStep: 2 init:) + ) + (if (== gPrevRoomNum 91) + (gEgo posn: 53 131 view: 4 xStep: 4 yStep: 2 init:) + ) + (if (== gPrevRoomNum 93) + (gEgo posn: 271 131 view: 4 xStep: 4 yStep: 2 init:) + ) + (if (== gPrevRoomNum 86) + ((= newProp_2 (Prop new:)) + posn: 162 102 + view: 121 + cycleSpeed: 1 + setLoop: 0 + init: + stopUpd: + setScript: lipLooper + ) + ((= newProp_3 (Prop new:)) + posn: 210 94 + view: 132 + loop: 2 + cel: 0 + init: + stopUpd: + ) + (User canControl: 0 canInput: 0) + (= global205 1) + (gEgo + posn: 251 131 + view: 81 + setLoop: 1 + init: + setCycle: Walk + ) + (lotTalk2 start: 0) + (self setScript: lotTalk2) + ) + (if + (or (== gPrevRoomNum 79) (== gPrevRoomNum 0) (== gPrevRoomNum 333)) + (gEgo + posn: 153 156 + view: 82 + xStep: 4 + yStep: 2 + setLoop: 0 + init: + setCycle: Walk + ) + ((= newProp_2 (Prop new:)) + posn: 162 102 + view: 121 + cycleSpeed: 1 + setLoop: 0 + init: + stopUpd: + setScript: lipLooper + ) + ((= newProp_3 (Prop new:)) + posn: 210 94 + view: 132 + cel: 0 + loop: 2 + init: + stopUpd: + ) + ((= newAct (Act new:)) + view: 141 + setStep: 4 2 + illegalBits: 0 + ignoreActors: 1 + posn: 350 129 + setCycle: Walk + init: + stopUpd: + ) + (User canControl: 0 canInput: 0) + (= global205 1) + (gRoom setScript: walkIn) + ) + (if (gCast contains: newProp_2) (theMusic play:)) + ) + + (method (doit) + (if (& (gEgo onControl: 0) $0040) + (cond + ((and (== global109 99) (== global169 0)) (gRoom newRoom: 80)) + ((not local10) (Print 92 0) (= local10 1)) + ) + else + (= local10 0) + ) + (if + (and + (& (gEgo onControl: 0) $0020) + (!= (gEgo view?) 81) + ) + (gRoom newRoom: 91) + ) + (if + (and + (& (gEgo onControl: 0) $0010) + (!= (gEgo view?) 81) + ) + (gRoom newRoom: 93) + ) + (super doit:) + ) + + (method (handleEvent pEvent) + (return + (if (pEvent claimed?) + (return 1) + else + (if + (and + local8 + (== (pEvent type?) evKEYBOARD) + (== (pEvent message?) KEY_RETURN) + ) + ((self script?) seconds: 1) + (= local9 0) + (= local8 0) + ) + (if (== (pEvent type?) evSAID) + (cond + ((Said 'look>') + (cond + ((Said '/throne') (Print 92 1)) + ((Said '/stair') (Print 92 2)) + ((Said ' local9 0) + (== (newProp_2 loop?) 0) + (== (newProp_2 cycler?) 0) + ) + (-- local9) + (newProp_2 setCycle: End) + ) + ) +) + +(instance getShit of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (newAct posn: 290 129 setMotion: MoveTo 153 129 self) + ) + (1 + (newAct loop: 2) + (newAct setMotion: MoveTo 320 130 self) + ) + (2 (newAct dispose:)) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm92.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm92.sco new file mode 100644 index 0000000..e4aa5a0 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm92.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm93.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm93.sc new file mode 100644 index 0000000..e32386d --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm93.sc @@ -0,0 +1,300 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 93) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Sound) +(use Jump) +(use Cycle) +(use Game) +(use User) +(use Feature) +(use Obj) + +(public + Room93 0 +) + +(local + local0 + newAct +) +(instance theMusic of Sound + (properties) +) + +(instance fallMusic of Sound + (properties + number 51 + ) +) + +(instance Room93 of Rm + (properties + picture 93 + style $0010 + ) + + (method (init) + (Load rsSCRIPT 991) + (Load rsVIEW 634) + (Load rsVIEW 512) + (Load rsSOUND 51) + (self setRegions: 604) + (super init:) + (proc0_10 604 0) + ((View new:) + view: 634 + loop: 1 + cel: 0 + posn: 101 75 + setPri: 4 + init: + addToPic: + ) + ((Prop new:) + view: 512 + loop: 0 + posn: 103 63 + setPri: 3 + init: + setCycle: Fwd + ) + (gEgo baseSetter: (ScriptID 0 1)) + (if (or (== gPrevRoomNum 92) (== gPrevRoomNum 0)) + (gEgo + posn: 73 137 + view: 4 + setStep: 4 2 + illegalBits: -16384 + baseSetter: 0 + init: + observeBlocks: stair1 stair2 + ) + (= local0 0) + (if global175 + (if (> (Random 0 100) 90) + (Print 93 0 67 -1 10 33 gSmallFont) + (= global175 0) + else + ((= newAct (Act new:)) + view: 141 + illegalBits: 0 + ignoreActors: + posn: 45 134 + setStep: 6 4 + setCycle: Walk + setScript: henchChase93 + init: + ) + ) + ) + ) + (if (== gPrevRoomNum 88) + (gEgo + posn: 195 25 + view: 4 + setStep: 4 2 + setPri: 12 + baseSetter: (ScriptID 0 1) + illegalBits: -32768 + init: + observeBlocks: stair1 stair2 + ) + (= local0 1) + ) + ) + + (method (doit) + (if (& (gEgo onControl: 0) $0040) + (gEgo illegalBits: -32768) + (gRoom newRoom: 92) + ) + (if (& (gEgo onControl: 0) $0020) + (gEgo setPri: -1 illegalBits: -32768) + (gRoom newRoom: 88) + ) + (if + (and + local0 + (!= (gEgo script?) falling) + (& (gEgo onControl: 0) $0004) + ) + (gEgo setScript: falling) + ) + (if + (and + (& (gEgo onControl: 1) $0002) + (!= (gEgo script?) falling) + ) + (if + (and (< (gEgo heading?) 180) (> (gEgo heading?) 0)) + (gEgo + setPri: 12 + illegalBits: -32768 + baseSetter: (ScriptID 0 1) + ) + (= local0 1) + else + (gEgo setPri: -1 illegalBits: -16384 baseSetter: 0) + (= local0 0) + ) + ) + (super doit:) + ) + + (method (dispose) + (DisposeScript 991) + (super dispose:) + ) + + (method (handleEvent pEvent) + (return + (cond + ((pEvent claimed?) (return 1)) + ((== (pEvent type?) evSAID) + (cond + ( + (or + (Said 'look[') + (cond + ((Said '/stair') (Print 93 2)) + ((or (Said '/dirt') (Said ' (gEgo y?) 110) + (self changeState: 10) + else + (self changeState: 20) + ) + ) + (10 + (gEgo + view: 44 + baseSetter: 0 + setStep: 8 3 + setLoop: 1 + illegalBits: 0 + setPri: 9 + setCycle: End + ) + (if (<= (gEgo y?) 135) + (gEgo setMotion: JumpTo 137 145 self) + else + (gEgo setMotion: MoveTo 137 145 self) + ) + (fallMusic play:) + ) + (11 + (gEgo view: 41 cel: 255 setPri: -1 setCycle: End self) + ) + (12 + (gEgo + view: 4 + setStep: 4 2 + setLoop: -1 + illegalBits: -16384 + setPri: -1 + setCycle: Walk + ) + (= local0 0) + (fallMusic dispose:) + (User canInput: 1 canControl: 1) + (client setScript: 0) + ) + (20 + (User canInput: 0 canControl: 0) + (= global105 16) + (gEgo + view: 44 + illegalBits: 0 + baseSetter: 0 + setPri: 9 + setMotion: + ((Jump new:) + y: (if (<= (gEgo y?) 145) 145 else (gEgo y?)) + gy: 4 + gx: (if (< (gEgo y?) 60) -1 else -2) + ) + self + ) + (fallMusic play:) + ) + (21 + (gEgo view: 42 setPri: 3) + (proc0_18) + (ShakeScreen 5) + (= seconds 4) + ) + (22 + (= global127 1) + (fallMusic dispose:) + (client setScript: 0) + ) + ) + ) +) + +(instance henchChase93 of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (theMusic number: 41 loop: 1 play:) + (newAct setMotion: Chase gEgo 15 self) + ) + (1 + (User canControl: 0 canInput: 0) + (gEgo moveSpeed: 0 setMotion: 0) + (theMusic number: 42 loop: 1 play:) + (= seconds 4) + ) + (2 + (= global205 1) + (gRoom newRoom: 81) + ) + ) + ) +) + +(instance stair1 of Blk + (properties + top 127 + left 192 + bottom 129 + right 194 + ) +) + +(instance stair2 of Blk + (properties + top 144 + left 167 + bottom 146 + right 169 + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm93.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm93.sco new file mode 100644 index 0000000..b2e6946 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm93.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm94.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm94.sc new file mode 100644 index 0000000..4fa466a --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm94.sc @@ -0,0 +1,235 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 94) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Cycle) +(use Game) +(use User) +(use Feature) +(use Obj) + +(public + Room94 0 +) + +(local + newAct + newProp + newProp_2 +) +(instance block1 of Blk + (properties + top 137 + left 58 + bottom 146 + right 152 + ) +) + +(instance block2 of Blk + (properties + top 136 + left 161 + bottom 146 + right 248 + ) +) + +(instance Room94 of Rm + (properties + picture 94 + style $0010 + ) + + (method (init) + (Load rsVIEW 380) + (Load rsVIEW 386) + (Load rsVIEW 609) + (super init:) + (= global101 1) + (gEgo + posn: 149 166 + view: 2 + setStep: 2 1 + observeBlocks: block1 block2 + init: + ) + ((= newProp (Prop new:)) + view: 609 + loop: 0 + cel: 0 + posn: 154 120 + setPri: 10 + init: + stopUpd: + ) + ((= newProp_2 (Prop new:)) + view: 609 + loop: 1 + cel: 0 + posn: 245 120 + setPri: 10 + init: + stopUpd: + ) + (if (== global123 99) + ((= newAct (Act new:)) + view: 380 + loop: 0 + cel: 0 + posn: 203 144 + illegalBits: 0 + cycleSpeed: 2 + setPri: 9 + init: + setScript: uniStuff + ) + ) + ) + + (method (doit) + (super doit:) + (if (& (gEgo onControl: 0) $0040) + (gRoom newRoom: 80) + ) + ) + + (method (handleEvent pEvent) + (return + (cond + ((pEvent claimed?) (return 1)) + ((!= (pEvent type?) evSAID) (return 1)) + ((Said 'open/gate') + (cond + ((!= (newProp_2 cel?) 0) (Print 94 0)) + ((not (gEgo inRect: 150 144 163 158)) (Print 800 1)) + (else + (gEgo ignoreControl: 16) + (newProp_2 ignoreActors: 1 setCycle: End gateScript) + (if (== global123 99) + (uniStuff changeState: 4) + else + (gEgo ignoreBlocks: block2) + ) + ) + ) + ) + ((Said 'close/gate') + (cond + ((== (newProp_2 cel?) 0) (Print 94 1)) + ((not (gEgo inRect: 232 149 248 158)) (Print 800 1)) + (else + (gEgo observeControl: 16) + (newProp_2 ignoreActors: 0 setCycle: Beg gateScript) + ) + ) + ) + ((Said 'converse[/unicorn,horse]') + (if + (or (!= global123 99) (not (gCast contains: newAct))) + (Print 94 2) + else + (Print 94 3) + ) + ) + ((Said 'kiss') + (if (== global123 99) + (Print 94 4) + else + (Print 94 5) + ) + ) + ((Said '/unicorn,horse>') + (cond + ((!= global123 99) (Print 94 5) (pEvent claimed: 1)) + ((Said 'look/*') + (if (== global123 99) + (Print 94 6) + (Print 94 7) + else + (Print 94 8) + ) + ) + ((Said 'pat') (Print 94 9)) + ((Said 'mount') (Print 94 10)) + ((Said 'get,capture,guide') (Print 94 11)) + ((Said 'free,help') (Print 94 12)) + (else (Print 94 13) (pEvent claimed: 1)) + ) + ) + ((Said 'look>') + (cond + ((Said '/gate') (Print 94 14)) + ((Said '/wall') (Print 94 15)) + ((Said '[= (gEgo y?) 189) (gEgo y: 188)) + ((>= (gEgo x?) 319) (gEgo x: 1)) + ) + (if (<= (gEgo y?) horizon) (gEgo y: (+ horizon 2))) + (gEgo view: 8 setCycle: Fwd) + ) + ) + (if (not global100) + (= newAct (Act new:)) + (newAct + posn: 278 124 + view: 327 + loop: 0 + cel: 0 + xStep: 8 + yStep: 6 + illegalBits: 0 + ignoreActors: + ignoreHorizon: + setPri: 13 + setAvoider: (Avoid new:) + init: + ) + (newAct setScript: gullActions) + ) + (if (== global116 1) + (= newAct_2 (Act new:)) + (fisherTheme play:) + (newAct_2 + view: 233 + posn: 177 145 + setPri: 13 + loop: 0 + setCycle: Fwd + xStep: 3 + yStep: 2 + setScript: manActions + init: + ) + (= local3 1) + ) + (gEgo xStep: 3 yStep: 2 init:) + (if (and (== global107 9) (== local3 1)) + (gEgo observeControl: 32) + ) + ) + + (method (doit) + (super doit:) + (if + (and + (or + (and + (gCast contains: newAct_2) + (newAct_2 inRect: 249 138 305 148) + ) + (and (== global107 9) (gEgo inRect: 249 138 305 148)) + ) + (== (gullActions state?) 0) + ) + (gullActions changeState: 1) + ) + (= local2 (gEgo onControl: 0)) + (if (and (== global107 9) (!= global105 15)) + (cond + ((& local2 $0010) (gEgo setScript: fallNorth)) + ((& local2 $0004) (gEgo setScript: fallSouth)) + ((& local2 $0008) (gEgo setScript: fallWest)) + ) + ) + (if (or (== local3 0) (!= global107 9)) + (gEgo ignoreControl: 32) + ) + ) + + (method (handleEvent pEvent &tmp gInvSaidMe) + (if (pEvent claimed?) (return 1)) + (return + (if (== (pEvent type?) evSAID) + (cond + ((Said 'deliver>') + (cond + ((Said '/*/gull') (Print 95 0)) + ((Said '/*[/fisherman,man,man,man,man]>') + (if (= gInvSaidMe (gInv saidMe:)) + (if (gEgo has: (gInv indexOf: gInvSaidMe)) + (Print 95 1) + else + (Print 95 2) + ) + else + (Print 95 3) + (pEvent claimed: 1) + ) + ) + ) + ) + ((Said 'look>') + (cond + ((Said '/fish') + (if (gEgo has: 24) + ((Inv at: 24) showSelf:) + else + (Print 95 4) + ) + ) + ((Said '/dock') (Print 95 5)) + ((Said '') + (cond + ((gEgo has: 17) + (cond + ((Said 'bait') (pEvent claimed: 0)) + ((Said 'get') (proc0_14)) + ((Said 'use') (Print 95 25)) + ) + ) + ((not (gCast contains: newAct_2)) (pEvent claimed: 1) (Print 95 26)) + ((Said 'get') (Print 95 27)) + ((Said 'rob') (Print 95 28)) + ) + ) + ((Said '/gull>') + (cond + ((not (gCast contains: newAct)) 0) + ((Said 'feed') (Print 95 29)) + ((Said 'kiss') (Print 95 30)) + ((Said 'converse') (Print 95 31)) + ((Said 'capture,get') (Print 95 32)) + ) + ) + ((Said '[/fisherman,man,man,man,man]>') + (cond + ((Said 'get/*') + (if (== global116 1) + (Print 95 33) + else + (Print 95 34) + ) + ) + ((Said 'help') (Print 95 35)) + ((Said 'kiss') + (if (== global116 1) + (Print 95 36) + else + (Print 95 34) + ) + ) + ((Said 'converse') + (if (gCast contains: newAct_2) + (Print 95 37) + else + (Print 95 38) + ) + ) + ) + ) + ) + else + 0 + ) + ) + ) + + (method (newRoom newRoomNumber) + (= global189 0) + (gEgo baseSetter: 0) + (super newRoom: newRoomNumber) + ) +) + +(instance fallSouth of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (proc0_8) + (= global189 1) + (= global107 0) + (fallSound play:) + (gEgo + illegalBits: 0 + yStep: 10 + setMotion: MoveTo (gEgo x?) (+ (gEgo y?) 34) self + setPri: 15 + view: 17 + cel: 255 + setCycle: End + ) + ) + (1 + (gEgo yStep: 2 setPri: -1) + (gEgo + view: 19 + loop: (& (gEgo loop?) $0001) + illegalBits: -32768 + cel: 255 + setCycle: End self + ) + ) + (2 + (gEgo + view: 8 + setCycle: Fwd + illegalBits: -32768 + setPri: -1 + ) + (proc0_9) + (= global107 0) + (gEgo setScript: 0) + ) + ) + ) +) + +(instance fallNorth of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (proc0_8) + (= global107 0) + (fallSound play:) + (gEgo + illegalBits: 0 + setPri: 11 + posn: (gEgo x?) (- (gEgo y?) 5) + yStep: 10 + view: 17 + cel: 255 + setCycle: End + setMotion: MoveTo (gEgo x?) (+ (gEgo y?) 20) self + ) + ) + (1 + (gEgo + view: 8 + setCycle: Fwd + setStep: 3 2 + setPri: -1 + illegalBits: -32768 + ) + (proc0_9) + (gEgo setScript: 0) + ) + ) + ) +) + +(instance fallWest of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + (proc0_8) + (= global107 0) + (fallSound play:) + (gEgo illegalBits: 0) + (gEgo view: 17 setCycle: Fwd setStep: 10 8 cel: 0) + (gEgo + setMotion: MoveTo (- (gEgo x?) 30) (+ (gEgo y?) 20) self + ) + ) + (1 + (gEgo + view: 19 + loop: (& (gEgo loop?) $0001) + illegalBits: -32768 + cel: 255 + setPri: -1 + setCycle: End self + ) + ) + (2 + (gEgo view: 8 xStep: 3 yStep: 2 setCycle: Fwd) + (proc0_9) + (gEgo setScript: 0) + ) + ) + ) +) + +(instance manActions of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (0 + ((ScriptID 0 4) setReal: self 15) + ) + (1 + (newAct_2 view: 234 loop: 0 cel: 255 setCycle: End self) + ) + (2 + (newAct_2 loop: 1 cel: 255 setCycle: End self) + ) + (3 + (newAct_2 + view: 230 + setCycle: Walk + setMotion: MoveTo 319 146 self + ) + (= local3 0) + ) + (4 + (= global197 global159) + (= global198 global158) + (= global199 global160) + (= global116 2) + (newAct_2 dispose:) + (= newAct_2 0) + ) + ) + ) +) + +(instance gullActions of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (1 + (newAct view: 327 cel: 255 loop: 0 setCycle: End self) + ) + (2 + (newAct loop: 1 cel: 0 setCycle: Fwd) + (newAct setMotion: MoveTo -10 25 self) + ) + (3 (newAct dispose:)) + ) + ) +) + +(instance fishing of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (1 + (gEgo baseSetter: (ScriptID 0 1)) + (= global105 15) + (cond + ( + (and (gEgo has: 17) ((Inv at: 19) ownedBy: 666)) (self changeState: 9)) + ((gEgo has: 17) (self changeState: 19)) + (else + (Print 95 39) + (= global105 0) + (fishing changeState: 0) + ) + ) + ) + (9 + (proc0_8) + (gEgo setMotion: MoveTo (gEgo x?) 144 self) + ) + (10 + (gEgo setMotion: MoveTo 189 145 self) + ) + (11 + (Print 95 40 67 -1 15) + (gEgo + view: 13 + loop: 2 + cel: 3 + cycleSpeed: 1 + setCycle: Beg self + ) + ) + (12 + (gEgo view: 12 loop: 0 cycleSpeed: 0 setCycle: Fwd) + ((ScriptID 0 4) setReal: self 7) + ) + (13 + (if (< (Random 1 100) 50) + (gEgo loop: 1) + (Print 95 41 67 -1 15) + (self changeState: 14) + ((Inv at: 17) loop: 0) + else + (self changeState: 50) + ) + ) + (14 + (gEgo + view: 14 + loop: 1 + cel: 255 + cycleSpeed: 1 + setCycle: End + ) + (= seconds 4) + ) + (15 + (= global182 1) + (gEgo + view: 2 + setLoop: -1 + loop: 1 + cycleSpeed: 0 + setCycle: Walk + baseSetter: 0 + ) + (= global105 0) + (proc0_9) + ((Inv at: 24) moveTo: gEgo) + (gGame changeScore: 3) + ((Inv at: 19) moveTo: 777) + (gRoom setScript: 0) + ) + (19 + (proc0_8) + (if (and (<= (gEgo y?) 141) (>= (gEgo x?) 289)) + (gEgo setMotion: MoveTo (gEgo x?) 143 self) + else + (self changeState: 20) + ) + ) + (20 + (proc0_8) + (gEgo setMotion: MoveTo 189 145 self) + ) + (21 + (Print 95 42 67 -1 15) + (gEgo + view: 13 + loop: 1 + cel: 3 + cycleSpeed: 1 + setCycle: Beg self + ) + ) + (22 + (gEgo view: 12 loop: 0 cycleSpeed: 0 setCycle: Fwd) + ((ScriptID 0 4) setReal: self 7) + ) + (23 + (if (and (< (Random 1 100) 50) (== local12 0)) + (gEgo loop: 1) + (self changeState: 24) + else + (Print 95 43 67 -1 15) + (self changeState: 30) + ) + ) + (24 + (gEgo + view: 14 + loop: 0 + cel: 255 + cycleSpeed: 1 + setCycle: End + ) + (= seconds 4) + ) + (25 + (Print 95 44 67 -1 15) + (= local12 1) + (gEgo + view: 2 + setLoop: -1 + loop: 1 + cycleSpeed: 0 + setCycle: Walk + baseSetter: 0 + ) + (= global105 0) + (proc0_9) + (gRoom setScript: 0) + ) + (30 + (gEgo + view: 13 + cel: 255 + loop: 1 + cycleSpeed: 2 + setCycle: End + ) + (= seconds 3) + ) + (31 + (gEgo + view: 2 + setLoop: -1 + cycleSpeed: 0 + loop: 1 + setCycle: Walk + baseSetter: 0 + ) + (= global105 0) + (proc0_9) + (gRoom setScript: 0) + ) + (50 + (gEgo + view: 13 + cel: 255 + loop: 2 + cycleSpeed: 2 + setCycle: End + ) + ((ScriptID 0 4) setReal: self 4) + ) + (51 + (Print 95 45 67 -1 15) + (gEgo + view: 2 + loop: 1 + cycleSpeed: 0 + setCycle: Walk + baseSetter: 0 + ) + (= global105 0) + (proc0_9) + (gRoom setScript: 0) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm95.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm95.sco new file mode 100644 index 0000000..cd63935 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm95.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm98.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm98.sc new file mode 100644 index 0000000..ff4a8d6 --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm98.sc @@ -0,0 +1,52 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 98) +(include sci.sh) +(use Main) +(use Cycle) +(use Game) + +(public + rm98 0 +) + +(local + local0 +) +(instance rm98 of Rm + (properties + picture 991 + style $0006 + ) + + (method (init) + (proc0_8) + (super init:) + (gEgo + view: 991 + setLoop: 0 + posn: 20 99 + setStep: 1 1 + setMotion: MoveTo 300 100 + setCycle: Fwd + init: + ) + (gGame setSpeed: 0) + ) + + (method (doit) + (super doit:) + (if (== (++ global222) 1) + (= local0 (+ 60 (GetTime))) + ) + (if (< local0 (GetTime)) + (cond + ((<= global222 30) (= global223 0)) + ((<= global222 60) (= global223 1)) + (else (= global223 2)) + ) + (gGame setSpeed: 6) + (proc0_9) + (gRoom newRoom: 698) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm98.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm98.sco new file mode 100644 index 0000000..fd67f6c Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm98.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm99.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm99.sc new file mode 100644 index 0000000..8dcfa1c --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm99.sc @@ -0,0 +1,56 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 99) +(include sci.sh) +(use Main) +(use Cycle) +(use Game) +(use MenuBar) + +(public + rm99 0 +) + +(local + local0 +) +(instance rm99 of Rm + (properties + picture 991 + style $0006 + ) + + (method (init) + (proc0_8) + (super init:) + (gEgo + view: 991 + setLoop: 0 + posn: 20 99 + setStep: 1 1 + setMotion: MoveTo 300 100 + setCycle: Fwd + init: + ) + (gGame setSpeed: 0) + ) + + (method (doit) + (super doit:) + (if (== (++ global222) 1) + (= local0 (+ 60 (GetTime))) + ) + (if (< local0 (GetTime)) + (cond + ((<= global222 30) (= global223 0)) + ((<= global222 60) (= global223 1)) + (else (= global223 2)) + ) + (gGame setSpeed: 6) + (TheMenuBar draw:) + (SL enable:) + (proc0_9) + (gEgo view: 2 setLoop: -1) + (gRoom newRoom: 25) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm99.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm99.sco new file mode 100644 index 0000000..d24b857 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/rm99.sco differ diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/sForReg.sc b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/sForReg.sc new file mode 100644 index 0000000..bc6b03b --- /dev/null +++ b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/sForReg.sc @@ -0,0 +1,134 @@ +;;; Sierra Script 1.0 - (do not remove this comment) +(script# 509) +(include sci.sh) +(use Main) +(use Class_255_0) +(use Cycle) +(use Game) +(use InvI) +(use Feature) +(use Obj) + +(public + sForReg 0 +) +(synonyms + (branch arm branch) +) + +(local + newBlk + newBlk_2 +) +(instance sForReg of Rgn + (properties) + + (method (handleEvent pEvent &tmp gInvSaidMe) + (if (pEvent claimed?) (return 1)) + (return + (if (== (pEvent type?) evSAID) + (cond + ((Said 'look>') + (cond + ((Said '/boulder') (Print 509 0)) + ((Said '/dirt') (Print 509 1)) + ((Said '/bush') (Print 509 2)) + ((or (Said '/sky') (Said '') + (if + (and + (= gInvSaidMe (gInv saidMe:)) + (gEgo has: (gInv indexOf: gInvSaidMe)) + ) + (Print 509 18) + else + (pEvent claimed: 0) + ) + ) + ) + else + 0 + ) + ) + ) +) + +(instance chop of Script + (properties) + + (method (changeState newState) + (switch (= state newState) + (1 + (proc0_8) + (gEgo view: 86 setCycle: Fwd) + ((ScriptID 0 4) setReal: self 4) + ) + (2 + (gEgo view: 2 setCycle: Walk) + (Print 509 19) + (proc0_9) + (switch gCurRoomNum + (11 + ((= newBlk (Blk new:)) + left: 212 + top: 103 + right: 224 + bottom: 106 + ) + (gEgo observeBlocks: newBlk) + ) + (12 + (= newBlk (Blk new:)) + (= newBlk_2 (Blk new:)) + (newBlk left: 197 top: 112 right: 230 bottom: 117) + (newBlk_2 left: 170 top: 108 right: 185 bottom: 110) + (gEgo observeBlocks: newBlk newBlk_2) + ) + ) + ) + ) + ) +) diff --git a/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/sForReg.sco b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/sForReg.sco new file mode 100644 index 0000000..8430ea1 Binary files /dev/null and b/KQ4_v1.006.004_int0.000.502_SRC_(6)/src/sForReg.sco differ diff --git a/King's Quest IV - The Perils of Rosella (1988).zip b/King's Quest IV - The Perils of Rosella (1988).zip new file mode 100644 index 0000000..9251924 Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988).zip differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/ADL.DRV b/King's Quest IV - The Perils of Rosella (1988)/KQ4/ADL.DRV new file mode 100644 index 0000000..4377b8f Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/ADL.DRV differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/AGI b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/AGI new file mode 100644 index 0000000..a054f9c Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/AGI differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/AGIDATA.OVL b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/AGIDATA.OVL new file mode 100644 index 0000000..406e55d Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/AGIDATA.OVL differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/CGA_GRAF.OVL b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/CGA_GRAF.OVL new file mode 100644 index 0000000..e4ccdfa Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/CGA_GRAF.OVL differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/EGA_GRAF.OVL b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/EGA_GRAF.OVL new file mode 100644 index 0000000..46dc9df Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/EGA_GRAF.OVL differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/HGC_FONT b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/HGC_FONT new file mode 100644 index 0000000..d35262b Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/HGC_FONT differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/HGC_GRAF.OVL b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/HGC_GRAF.OVL new file mode 100644 index 0000000..58886ad Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/HGC_GRAF.OVL differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/HGC_OBJS.OVL b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/HGC_OBJS.OVL new file mode 100644 index 0000000..5a4e2e5 Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/HGC_OBJS.OVL differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/IBM_OBJS.OVL b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/IBM_OBJS.OVL new file mode 100644 index 0000000..74bd601 Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/IBM_OBJS.OVL differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/JR_GRAF.OVL b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/JR_GRAF.OVL new file mode 100644 index 0000000..f2a15b3 Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/JR_GRAF.OVL differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/KQ4.COM b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/KQ4.COM new file mode 100644 index 0000000..f7b8e9a Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/KQ4.COM differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/KQ4DIR b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/KQ4DIR new file mode 100644 index 0000000..50e5ad5 Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/KQ4DIR differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/KQ4VOL.0 b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/KQ4VOL.0 new file mode 100644 index 0000000..7726388 Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/KQ4VOL.0 differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/KQ4VOL.1 b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/KQ4VOL.1 new file mode 100644 index 0000000..f0998d7 Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/KQ4VOL.1 differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/KQ4VOL.2 b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/KQ4VOL.2 new file mode 100644 index 0000000..2da2e2f Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/KQ4VOL.2 differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/KQ4VOL.3 b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/KQ4VOL.3 new file mode 100644 index 0000000..511f5bd Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/KQ4VOL.3 differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/OBJECT b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/OBJECT new file mode 100644 index 0000000..6372520 Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/OBJECT differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/RELEASE.NFO b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/RELEASE.NFO new file mode 100644 index 0000000..8a867a1 --- /dev/null +++ b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/RELEASE.NFO @@ -0,0 +1,5 @@ +During the copy protection screen (right at the very beginning!) +press ALT-D +Then press enter twice to get through the version info screens. +At the < prompt, type "marble" and yer in! +for a weird surprise, type "pirate" diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/VG_GRAF.OVL b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/VG_GRAF.OVL new file mode 100644 index 0000000..5430861 Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/VG_GRAF.OVL differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/WORDS.TOK b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/WORDS.TOK new file mode 100644 index 0000000..e9f7a5d Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/WORDS.TOK differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/file_id.diz b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/file_id.diz new file mode 100644 index 0000000..4c3185b --- /dev/null +++ b/King's Quest IV - The Perils of Rosella (1988)/KQ4/AGI/file_id.diz @@ -0,0 +1,8 @@ +King's Quest IV- The Perils of Rosella v2.0 (AGI Engine) (1988)(Sierra On-Line, Inc.) [Adventure].zip +Name:King's Quest IV- The Perils of Rosella +Version:2.0 (AGI Engine) +Language/Country:English +Flags: +Year:1988 +Publisher:Sierra On-Line, Inc. +Genre(s):Adventure diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/CGA320BW.DRV b/King's Quest IV - The Perils of Rosella (1988)/KQ4/CGA320BW.DRV new file mode 100644 index 0000000..c8da9dd Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/CGA320BW.DRV differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/CGA320C.DRV b/King's Quest IV - The Perils of Rosella (1988)/KQ4/CGA320C.DRV new file mode 100644 index 0000000..1b6f0c0 Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/CGA320C.DRV differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/CHOICE.EXE b/King's Quest IV - The Perils of Rosella (1988)/KQ4/CHOICE.EXE new file mode 100644 index 0000000..e3618d4 Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/CHOICE.EXE differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/EGA320.DRV b/King's Quest IV - The Perils of Rosella (1988)/KQ4/EGA320.DRV new file mode 100644 index 0000000..f63fabe Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/EGA320.DRV differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/EXISTS.COM b/King's Quest IV - The Perils of Rosella (1988)/KQ4/EXISTS.COM new file mode 100644 index 0000000..b348bbf Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/EXISTS.COM differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/GODIR.COM b/King's Quest IV - The Perils of Rosella (1988)/KQ4/GODIR.COM new file mode 100644 index 0000000..b1cf0b4 Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/GODIR.COM differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/IBMKBD.DRV b/King's Quest IV - The Perils of Rosella (1988)/KQ4/IBMKBD.DRV new file mode 100644 index 0000000..b7f7fb9 Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/IBMKBD.DRV differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/IMF.DRV b/King's Quest IV - The Perils of Rosella (1988)/KQ4/IMF.DRV new file mode 100644 index 0000000..9f9c3ca Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/IMF.DRV differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/INSTALL.EXE b/King's Quest IV - The Perils of Rosella (1988)/KQ4/INSTALL.EXE new file mode 100644 index 0000000..c921187 Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/INSTALL.EXE differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/INSTALL.PIF b/King's Quest IV - The Perils of Rosella (1988)/KQ4/INSTALL.PIF new file mode 100644 index 0000000..6ffd779 Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/INSTALL.PIF differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/INSTGAME.BAT b/King's Quest IV - The Perils of Rosella (1988)/KQ4/INSTGAME.BAT new file mode 100644 index 0000000..a234693 --- /dev/null +++ b/King's Quest IV - The Perils of Rosella (1988)/KQ4/INSTGAME.BAT @@ -0,0 +1,35 @@ +echo off +rem Parameters are +rem %1: drive on which to install the program +rem %2: drive from which installation is taking place + +rem Check to see that there is enough space for the installation. +space %1: 2950kb +if errorlevel 1 goto NoSpace + +rem Create the drivers subdirectory and copy the drivers. +godir %1:\sierra\kq4 +if errorlevel 1 goto CantCreate + +rem Copy over the necessary files. +echo Copying drivers... +copy %2:*.drv >nul +copy %2:exists.com >nul +copy %2:kq4.bat .. >nul +copy %2:__insth.bat >nul + +rem Copy all the resources over. +__insth %1 %2 + +:NoSpace +echo "There is not enough space on %1 to install King's Quest IV!" +echo "3 megabytes of disk space are necessary." +pause +goto Exit + +:CantCreate +echo "Unable to create directory %1." +pause +goto Exit + +:Exit diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/JOYSTICK.DRV b/King's Quest IV - The Perils of Rosella (1988)/KQ4/JOYSTICK.DRV new file mode 100644 index 0000000..1e4b1f9 Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/JOYSTICK.DRV differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/JR.DRV b/King's Quest IV - The Perils of Rosella (1988)/KQ4/JR.DRV new file mode 100644 index 0000000..30e9019 Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/JR.DRV differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/K4092488.QA b/King's Quest IV - The Perils of Rosella (1988)/KQ4/K4092488.QA new file mode 100644 index 0000000..c90aea2 --- /dev/null +++ b/King's Quest IV - The Perils of Rosella (1988)/KQ4/K4092488.QA @@ -0,0 +1,5 @@ +King's Quest IV - The Perils of Rosella + Version 1.000.111 + SCI Version 0.000.274 + September 24th, 1988 + \ No newline at end of file diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/KQ4SG.000 b/King's Quest IV - The Perils of Rosella (1988)/KQ4/KQ4SG.000 new file mode 100644 index 0000000..da8166e Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/KQ4SG.000 differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/KQ4SG.001 b/King's Quest IV - The Perils of Rosella (1988)/KQ4/KQ4SG.001 new file mode 100644 index 0000000..6aa5782 Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/KQ4SG.001 differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/KQ4SG.DIR b/King's Quest IV - The Perils of Rosella (1988)/KQ4/KQ4SG.DIR new file mode 100644 index 0000000..638d04f Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/KQ4SG.DIR differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/MCGA320.DRV b/King's Quest IV - The Perils of Rosella (1988)/KQ4/MCGA320.DRV new file mode 100644 index 0000000..feccc88 Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/MCGA320.DRV differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/MT32.DRV b/King's Quest IV - The Perils of Rosella (1988)/KQ4/MT32.DRV new file mode 100644 index 0000000..0bd2709 Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/MT32.DRV differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/RESOURCE.001 b/King's Quest IV - The Perils of Rosella (1988)/KQ4/RESOURCE.001 new file mode 100644 index 0000000..6434769 Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/RESOURCE.001 differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/RESOURCE.002 b/King's Quest IV - The Perils of Rosella (1988)/KQ4/RESOURCE.002 new file mode 100644 index 0000000..ed77d5c Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/RESOURCE.002 differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/RESOURCE.003 b/King's Quest IV - The Perils of Rosella (1988)/KQ4/RESOURCE.003 new file mode 100644 index 0000000..d874eb1 Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/RESOURCE.003 differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/RESOURCE.004 b/King's Quest IV - The Perils of Rosella (1988)/KQ4/RESOURCE.004 new file mode 100644 index 0000000..485ab0a Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/RESOURCE.004 differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/RESOURCE.005 b/King's Quest IV - The Perils of Rosella (1988)/KQ4/RESOURCE.005 new file mode 100644 index 0000000..60b08b6 Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/RESOURCE.005 differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/RESOURCE.006 b/King's Quest IV - The Perils of Rosella (1988)/KQ4/RESOURCE.006 new file mode 100644 index 0000000..703c383 Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/RESOURCE.006 differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/RESOURCE.007 b/King's Quest IV - The Perils of Rosella (1988)/KQ4/RESOURCE.007 new file mode 100644 index 0000000..fa6c542 Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/RESOURCE.007 differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/RESOURCE.008 b/King's Quest IV - The Perils of Rosella (1988)/KQ4/RESOURCE.008 new file mode 100644 index 0000000..78a9130 Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/RESOURCE.008 differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/RESOURCE.009 b/King's Quest IV - The Perils of Rosella (1988)/KQ4/RESOURCE.009 new file mode 100644 index 0000000..a638e47 Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/RESOURCE.009 differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/RESOURCE.CFG b/King's Quest IV - The Perils of Rosella (1988)/KQ4/RESOURCE.CFG new file mode 100644 index 0000000..331bd7e --- /dev/null +++ b/King's Quest IV - The Perils of Rosella (1988)/KQ4/RESOURCE.CFG @@ -0,0 +1,4 @@ +videoDrv=EGA320.DRV +soundDrv=ADL.DRV +kbdDrv=IBMKBD.DRV +mouseDrv= YES diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/RESOURCE.MAP b/King's Quest IV - The Perils of Rosella (1988)/KQ4/RESOURCE.MAP new file mode 100644 index 0000000..4881c0e Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/RESOURCE.MAP differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/SIERRA.EXE b/King's Quest IV - The Perils of Rosella (1988)/KQ4/SIERRA.EXE new file mode 100644 index 0000000..5cd0ac5 Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/SIERRA.EXE differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/SPACE.COM b/King's Quest IV - The Perils of Rosella (1988)/KQ4/SPACE.COM new file mode 100644 index 0000000..ed9bfa8 Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/SPACE.COM differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/STD.DRV b/King's Quest IV - The Perils of Rosella (1988)/KQ4/STD.DRV new file mode 100644 index 0000000..b5bcae4 Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/STD.DRV differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/TANDY320.DRV b/King's Quest IV - The Perils of Rosella (1988)/KQ4/TANDY320.DRV new file mode 100644 index 0000000..3314eca Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/TANDY320.DRV differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/TANDYKBD.DRV b/King's Quest IV - The Perils of Rosella (1988)/KQ4/TANDYKBD.DRV new file mode 100644 index 0000000..13deb25 Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/TANDYKBD.DRV differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/__INSTH.BAT b/King's Quest IV - The Perils of Rosella (1988)/KQ4/__INSTH.BAT new file mode 100644 index 0000000..bb760e5 --- /dev/null +++ b/King's Quest IV - The Perils of Rosella (1988)/KQ4/__INSTH.BAT @@ -0,0 +1,94 @@ +rem Prompt for each disk of the game in succession and copy +rem everything over from it. + +echo Copying game files... + +:Vol1 +exists %2:resource.001 +if not errorlevel 1 goto GetVol1 +echo Please insert the disk labeled "Disk 1" in drive %2. +pause +goto Vol1 +:GetVol1 +copy %2:sierra.exe >nul +copy %2:resource.* >nul + +:Vol2 +exists %2:resource.002 +if not errorlevel 1 goto GetVol2 +echo Please insert the disk labeled "Disk 2" in drive %2. +pause +goto Vol2 +:GetVol2 +copy %2:*.* >nul + +:Vol3 +exists %2:resource.003 +if not errorlevel 1 goto GetVol3 +echo Please insert the disk labeled "Disk 3" in drive %2. +pause +goto Vol3 +:GetVol3 +copy %2:*.* >nul + +:Vol4 +exists %2:resource.004 +if not errorlevel 1 goto GetVol4 +echo Please insert the disk labeled "Disk 4" in drive %2. +pause +goto Vol4 +:GetVol4 +copy %2:*.* >nul + +:Vol5 +exists %2:resource.005 +if not errorlevel 1 goto GetVol5 +echo Please insert the disk labeled "Disk 5" in drive %2. +pause +goto Vol5 +:GetVol5 +copy %2:*.* >nul + +:Vol6 +exists %2:resource.006 +if not errorlevel 1 goto GetVol6 +echo Please insert the disk labeled "Disk 6" in drive %2. +pause +goto Vol6 +:GetVol6 +copy %2:*.* >nul + +:Vol7 +exists %2:resource.007 +if not errorlevel 1 goto GetVol7 +echo Please insert the disk labeled "Disk 7" in drive %2. +pause +goto Vol7 +:GetVol7 +copy %2:*.* >nul + +:Vol8 +exists %2:resource.008 +if not errorlevel 1 goto GetVol8 +echo Please insert the disk labeled "Disk 8" in drive %2. +pause +goto Vol8 +:GetVol8 +copy %2:*.* >nul + +:Vol9 +exists %2:resource.009 +if not errorlevel 1 goto GetVol9 +echo Please insert the disk labeled "Disk 9" in drive %2. +pause +goto Vol9 +:GetVol9 +copy %2:*.* >nul + +cd .. + +echo To play King's Quest IV, type +echo cd \sierra +echo and then +echo kq4 + diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/kq4.conf b/King's Quest IV - The Perils of Rosella (1988)/KQ4/kq4.conf new file mode 100644 index 0000000..284231e --- /dev/null +++ b/King's Quest IV - The Perils of Rosella (1988)/KQ4/kq4.conf @@ -0,0 +1,199 @@ +[sdl] +# fullscreen -- Start dosbox directly in fullscreen. +# fulldouble -- Use double buffering in fullscreen. +# fullresolution -- What resolution to use for fullscreen: original or fixed size (e.g. 1024x768). +# windowresolution -- Scale the window to this size IF the output device supports hardware scaling. +# output -- What to use for output: surface,overlay,opengl,openglnb,ddraw. +# autolock -- Mouse will automatically lock, if you click on the screen. +# sensitiviy -- Mouse sensitivity. +# waitonerror -- Wait before closing the console if dosbox has an error. +# priority -- Priority levels for dosbox: lowest,lower,normal,higher,highest,pause (when not focussed). +# Second entry behind the comma is for when dosbox is not focused/minimized. +# mapperfile -- File used to load/save the key/event mappings from. +# usescancodes -- Avoid usage of symkeys, might not work on all operating systems. + +fullscreen=true +fulldouble=false +fullresolution=original +windowresolution=original +output=surface +autolock=true +sensitivity=100 +waitonerror=true +priority=higher,normal +mapperfile=mapper.txt +usescancodes=true + +[dosbox] +# language -- Select another language file. +# memsize -- Amount of memory dosbox has in megabytes. +# machine -- The type of machine tries to emulate:hercules,cga,tandy,pcjr,vga. +# captures -- Directory where things like wave,midi,screenshot get captured. + +language= +machine=vga +captures=capture +memsize=64 + +[render] +# frameskip -- How many frames dosbox skips before drawing one. +# aspect -- Do aspect correction, if your output method doesn't support scaling this can slow things down!. +# scaler -- Scaler used to enlarge/enhance low resolution modes. +# Supported are none,normal2x,normal3x,advmame2x,advmame3x,hq2x,hq3x, +# 2xsai,super2xsai,supereagle,advinterp2x,advinterp3x, +# tv2x,tv3x,rgb2x,rgb3x,scan2x,scan3x. + +frameskip=0 +aspect=false +scaler=normal2x + +[cpu] +# core -- CPU Core used in emulation: normal,simple,dynamic,auto. +# auto switches from normal to dynamic if appropriate. +# cycles -- Amount of instructions dosbox tries to emulate each millisecond. +# Setting this value too high results in sound dropouts and lags. +# You can also let DOSBox guess the correct value by setting it to max. +# The default setting (auto) switches to max if appropriate. +# cycleup -- Amount of cycles to increase/decrease with keycombo. +# cycledown Setting it lower than 100 will be a percentage. + +core=auto +cycles=auto +cycleup=500 +cycledown=20 + +[mixer] +# nosound -- Enable silent mode, sound is still emulated though. +# rate -- Mixer sample rate, setting any devices higher than this will +# probably lower their sound quality. +# blocksize -- Mixer block size, larger blocks might help sound stuttering +# but sound will also be more lagged. +# prebuffer -- How many milliseconds of data to keep on top of the blocksize. + +nosound=false +rate=22050 +blocksize=2048 +prebuffer=10 + +[midi] +# mpu401 -- Type of MPU-401 to emulate: none, uart or intelligent. +# device -- Device that will receive the MIDI data from MPU-401. +# This can be default,alsa,oss,win32,coreaudio,none. +# config -- Special configuration options for the device. In Windows put +# the id of the device you want to use. See README for details. + +mpu401=intelligent +device=default +config= + +[sblaster] +# sbtype -- Type of sblaster to emulate:none,sb1,sb2,sbpro1,sbpro2,sb16. +# sbbase,irq,dma,hdma -- The IO/IRQ/DMA/High DMA address of the soundblaster. +# mixer -- Allow the soundblaster mixer to modify the dosbox mixer. +# oplmode -- Type of OPL emulation: auto,cms,opl2,dualopl2,opl3. +# On auto the mode is determined by sblaster type. +# All OPL modes are 'Adlib', except for CMS. +# oplrate -- Sample rate of OPL music emulation. + +sbtype=sb16 +sbbase=220 +irq=7 +dma=1 +hdma=5 +mixer=true +oplmode=auto +oplrate=22050 + +[gus] +# gus -- Enable the Gravis Ultrasound emulation. +# gusbase,irq1,irq2,dma1,dma2 -- The IO/IRQ/DMA addresses of the +# Gravis Ultrasound. (Same IRQ's and DMA's are OK.) +# gusrate -- Sample rate of Ultrasound emulation. +# ultradir -- Path to Ultrasound directory. In this directory +# there should be a MIDI directory that contains +# the patch files for GUS playback. Patch sets used +# with Timidity should work fine. + +gus=true +gusrate=22050 +gusbase=240 +irq1=5 +irq2=5 +dma1=3 +dma2=3 +ultradir=C:\ULTRASND + +[speaker] +# pcspeaker -- Enable PC-Speaker emulation. +# pcrate -- Sample rate of the PC-Speaker sound generation. +# tandy -- Enable Tandy Sound System emulation (off,on,auto). +# For auto Tandysound emulation is present only if machine is set to tandy. +# tandyrate -- Sample rate of the Tandy 3-Voice generation. +# disney -- Enable Disney Sound Source emulation. + +pcspeaker=true +pcrate=22050 +tandy=auto +tandyrate=22050 +disney=true + +[joystick] +# joysticktype -- Type of joystick to emulate: auto (default), none, +# 2axis (supports two joysticks), 4axis, +# fcs (Thrustmaster), ch (CH Flightstick). +# none disables joystick emulation. +# auto chooses emulation depending on real joystick(s). +# timed -- enable timed intervals for axis. (false is old style behaviour). +# autofire -- continuously fires as long as you keep the button pressed. +# swap34 -- swap the 3rd and the 4th axis. can be useful for certain joysticks. +# buttonwrap -- enable button wrapping at the number of emulated buttons. + +joysticktype=auto +timed=true +autofire=false +swap34=false +buttonwrap=true + +[serial] +# serial1-4 -- set type of device connected to com port. +# Can be disabled, dummy, modem, nullmodem, directserial. +# Additional parameters must be in the same line in the form of +# parameter:value. Parameter for all types is irq. +# for directserial: realport (required), rxdelay (optional). +# for modem: listenport (optional). +# for nullmodem: server, rxdelay, txdelay, telnet, usedtr, +# transparent, port, inhsocket (all optional). +# Example: serial1=modem listenport:5000 + +serial1=dummy +serial2=dummy +serial3=disabled +serial4=disabled + +[dos] +# xms -- Enable XMS support. +# ems -- Enable EMS support. +# umb -- Enable UMB support. +# keyboardlayout -- Language code of the keyboard layout (or none). + +xms=true +ems=true +umb=true +keyboardlayout=none + +[ipx] +# ipx -- Enable ipx over UDP/IP emulation. + +ipx=false + +[autoexec] +# Lines in this section will be run at startup. +cd .. +cd .. +mount c .\games\ +#mount d .\games\lsl6\cd\ -t cdrom +#mount d d:\ -t cdrom +c: +cd kq4 +sierra +exit diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/kq4.conf.bak b/King's Quest IV - The Perils of Rosella (1988)/KQ4/kq4.conf.bak new file mode 100644 index 0000000..570cb26 --- /dev/null +++ b/King's Quest IV - The Perils of Rosella (1988)/KQ4/kq4.conf.bak @@ -0,0 +1,199 @@ +[sdl] +# fullscreen -- Start dosbox directly in fullscreen. +# fulldouble -- Use double buffering in fullscreen. +# fullresolution -- What resolution to use for fullscreen: original or fixed size (e.g. 1024x768). +# windowresolution -- Scale the window to this size IF the output device supports hardware scaling. +# output -- What to use for output: surface,overlay,opengl,openglnb,ddraw. +# autolock -- Mouse will automatically lock, if you click on the screen. +# sensitiviy -- Mouse sensitivity. +# waitonerror -- Wait before closing the console if dosbox has an error. +# priority -- Priority levels for dosbox: lowest,lower,normal,higher,highest,pause (when not focussed). +# Second entry behind the comma is for when dosbox is not focused/minimized. +# mapperfile -- File used to load/save the key/event mappings from. +# usescancodes -- Avoid usage of symkeys, might not work on all operating systems. + +fullscreen=true +fulldouble=false +fullresolution=original +windowresolution=original +output=surface +autolock=true +sensitivity=100 +waitonerror=true +priority=higher,normal +mapperfile=mapper.txt +usescancodes=true + +[dosbox] +# language -- Select another language file. +# memsize -- Amount of memory dosbox has in megabytes. +# machine -- The type of machine tries to emulate:hercules,cga,tandy,pcjr,vga. +# captures -- Directory where things like wave,midi,screenshot get captured. + +language= +machine=vga +captures=capture +memsize=64 + +[render] +# frameskip -- How many frames dosbox skips before drawing one. +# aspect -- Do aspect correction, if your output method doesn't support scaling this can slow things down!. +# scaler -- Scaler used to enlarge/enhance low resolution modes. +# Supported are none,normal2x,normal3x,advmame2x,advmame3x,hq2x,hq3x, +# 2xsai,super2xsai,supereagle,advinterp2x,advinterp3x, +# tv2x,tv3x,rgb2x,rgb3x,scan2x,scan3x. + +frameskip=0 +aspect=false +scaler=normal2x + +[cpu] +# core -- CPU Core used in emulation: normal,simple,dynamic,auto. +# auto switches from normal to dynamic if appropriate. +# cycles -- Amount of instructions dosbox tries to emulate each millisecond. +# Setting this value too high results in sound dropouts and lags. +# You can also let DOSBox guess the correct value by setting it to max. +# The default setting (auto) switches to max if appropriate. +# cycleup -- Amount of cycles to increase/decrease with keycombo. +# cycledown Setting it lower than 100 will be a percentage. + +core=auto +cycles=auto +cycleup=500 +cycledown=20 + +[mixer] +# nosound -- Enable silent mode, sound is still emulated though. +# rate -- Mixer sample rate, setting any devices higher than this will +# probably lower their sound quality. +# blocksize -- Mixer block size, larger blocks might help sound stuttering +# but sound will also be more lagged. +# prebuffer -- How many milliseconds of data to keep on top of the blocksize. + +nosound=false +rate=22050 +blocksize=2048 +prebuffer=10 + +[midi] +# mpu401 -- Type of MPU-401 to emulate: none, uart or intelligent. +# device -- Device that will receive the MIDI data from MPU-401. +# This can be default,alsa,oss,win32,coreaudio,none. +# config -- Special configuration options for the device. In Windows put +# the id of the device you want to use. See README for details. + +mpu401=intelligent +device=default +config= + +[sblaster] +# sbtype -- Type of sblaster to emulate:none,sb1,sb2,sbpro1,sbpro2,sb16. +# sbbase,irq,dma,hdma -- The IO/IRQ/DMA/High DMA address of the soundblaster. +# mixer -- Allow the soundblaster mixer to modify the dosbox mixer. +# oplmode -- Type of OPL emulation: auto,cms,opl2,dualopl2,opl3. +# On auto the mode is determined by sblaster type. +# All OPL modes are 'Adlib', except for CMS. +# oplrate -- Sample rate of OPL music emulation. + +sbtype=sb16 +sbbase=220 +irq=7 +dma=1 +hdma=5 +mixer=true +oplmode=auto +oplrate=22050 + +[gus] +# gus -- Enable the Gravis Ultrasound emulation. +# gusbase,irq1,irq2,dma1,dma2 -- The IO/IRQ/DMA addresses of the +# Gravis Ultrasound. (Same IRQ's and DMA's are OK.) +# gusrate -- Sample rate of Ultrasound emulation. +# ultradir -- Path to Ultrasound directory. In this directory +# there should be a MIDI directory that contains +# the patch files for GUS playback. Patch sets used +# with Timidity should work fine. + +gus=true +gusrate=22050 +gusbase=240 +irq1=5 +irq2=5 +dma1=3 +dma2=3 +ultradir=C:\ULTRASND + +[speaker] +# pcspeaker -- Enable PC-Speaker emulation. +# pcrate -- Sample rate of the PC-Speaker sound generation. +# tandy -- Enable Tandy Sound System emulation (off,on,auto). +# For auto Tandysound emulation is present only if machine is set to tandy. +# tandyrate -- Sample rate of the Tandy 3-Voice generation. +# disney -- Enable Disney Sound Source emulation. + +pcspeaker=true +pcrate=22050 +tandy=auto +tandyrate=22050 +disney=true + +[joystick] +# joysticktype -- Type of joystick to emulate: auto (default), none, +# 2axis (supports two joysticks), 4axis, +# fcs (Thrustmaster), ch (CH Flightstick). +# none disables joystick emulation. +# auto chooses emulation depending on real joystick(s). +# timed -- enable timed intervals for axis. (false is old style behaviour). +# autofire -- continuously fires as long as you keep the button pressed. +# swap34 -- swap the 3rd and the 4th axis. can be useful for certain joysticks. +# buttonwrap -- enable button wrapping at the number of emulated buttons. + +joysticktype=auto +timed=true +autofire=false +swap34=false +buttonwrap=true + +[serial] +# serial1-4 -- set type of device connected to com port. +# Can be disabled, dummy, modem, nullmodem, directserial. +# Additional parameters must be in the same line in the form of +# parameter:value. Parameter for all types is irq. +# for directserial: realport (required), rxdelay (optional). +# for modem: listenport (optional). +# for nullmodem: server, rxdelay, txdelay, telnet, usedtr, +# transparent, port, inhsocket (all optional). +# Example: serial1=modem listenport:5000 + +serial1=dummy +serial2=dummy +serial3=disabled +serial4=disabled + +[dos] +# xms -- Enable XMS support. +# ems -- Enable EMS support. +# umb -- Enable UMB support. +# keyboardlayout -- Language code of the keyboard layout (or none). + +xms=true +ems=true +umb=true +keyboardlayout=none + +[ipx] +# ipx -- Enable ipx over UDP/IP emulation. + +ipx=false + +[autoexec] +# Lines in this section will be run at startup. +cd .. +cd .. +mount c ..\DosGames\games\ +#mount d .\games\lsl6\cd\ -t cdrom +#mount d d:\ -t cdrom +c: +cd kq4 +sierra +exit diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/kq4map.gif b/King's Quest IV - The Perils of Rosella (1988)/KQ4/kq4map.gif new file mode 100644 index 0000000..fabc071 Binary files /dev/null and b/King's Quest IV - The Perils of Rosella (1988)/KQ4/kq4map.gif differ diff --git a/King's Quest IV - The Perils of Rosella (1988)/KQ4/run.bat b/King's Quest IV - The Perils of Rosella (1988)/KQ4/run.bat new file mode 100644 index 0000000..b88a30a --- /dev/null +++ b/King's Quest IV - The Perils of Rosella (1988)/KQ4/run.bat @@ -0,0 +1,31 @@ +:menu +@echo off +cls +echo. +echo Press 1 for King's Quest IV: The Perils of Rosella SCI (newer) +echo Press 2 for King's Quest IV: The Perils of Rosella AGI (older) +echo Press 3 to Quit +echo. +choice /C:123 /N Please Choose: + +if errorlevel = 3 goto quit +if errorlevel = 2 goto epi2 +if errorlevel = 1 goto epi1 + +:epi1 +@sierra +cls + +goto menu + +:epi2 +cd agi +@kq4 +cd .. +cls + +goto menu + + +:quit +exit \ No newline at end of file