home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GameStar 2006 April
/
Gamestar_83_2006-04_dvd.iso
/
Dema
/
keepsake_demo_en.exe
/
res
/
scripts
/
mill.tcl
< prev
next >
Wrap
Text File
|
2005-10-30
|
34KB
|
1,167 lines
################################################################################
# ##
# file mill.tcl ##
# brief Events for the Mill. ##
# ##
################################################################################
## ===================================================== ##
## Loading script from source ##
## ===================================================== ##
source "[AUTO]/mill.mvwrap.tcl"
source "[PUZZLES]/mill.camera.tcl"
source "[PUZZLES]/mill.puzzle.tcl"
## ===================================================== ##
## Initialization ##
## ===================================================== ##
event "init" {
ozSet "millRoom" "visited"
deleteEventPriority optionnalConversation.whereMillBehavior short
deleteEventPriority optionnalConversation.whereMillBehavior medium
deleteEventPriority optionnalConversation.whereMillBehavior long
deleteEventPriority optionnalConversation.whereMillBehavior emergency
setAudioEnv "room"
oz'track::stop $::music_track
SetAmbient 2d ambiance/forest "0 0 0" 0 0
SetAmbient 2d ambiance/waterway "0 0 0" 0 0
SetAmbient 2d ambiance/elvandarRiver "0 0 0" 0 0
SetAmbient 3d sfx/millWheel "594.459 -21.683 372.964" 30 0 0.6
SetAmbient 3d sfx/millGearWorking "610 -19 454" 30 0 0.6
if {[ozGet pzlMillMachineA] == 1} {SetAmbient 3d sfx/machineA "541.508 -17.481 274.492" 30 1 0.6}
if {[ozGet pzlMillMachineB] == 1} {SetAmbient 3d sfx/machineB "584.563 22.187 323.312" 30 1 0.6}
if {[ozGet pzlMillMachineC] == 1} {SetAmbient 3d sfx/machineC "634.052 22.187 318.092" 30 1 0.6}
if {[ozGet pzlMillMachineD] == 1} {SetAmbient 3d sfx/machineD "589.581 -16.969 267.858" 30 1 0.6}
if {[ozGet pzlMillMachineE] == 1} {SetAmbient 3d sfx/machineE "605.908 -30.502 304.112" 30 1 0.6}
}
################################################################################
## ========================================================================== ##
## DOOR BLOCKING & PUZZLE SECTION ##
## ========================================================================== ##
################################################################################
## ===================================================== ##
## use Lever A Behavior ##
## ===================================================== ##
event "useLeverABehavior" {
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
wizqEntityMove Zak "627.1 -34.2 305.3" "wait"
wizqEntityOrientation Zak 140
}
oz'event {wizEntityStopFollow Zak}
}
oz'event {wizDisableMouse}
wizqEntityOrientation Lydia 190 "wait"
wizqEntitySetCycle Lydia standCycleNormal
# Wait for Block 1
wizqWaitQueue 2
if { [getVar "millAlone"] == "" && [getVar "puzzleZak"] == "" } {
oz'event {callEvent "millAlone"}
} elseif { [getVar "millZak"] == "" && [getVar "puzzleZak"] == "complete" } {
oz'event {callEvent "millZak"}
wizqEntityOrientation Lydia 190 "wait"
}
oz'event {callEvent "leverAZoomIn"}
oz'event {wizEnableMouse}
oz'event {wizEntityResumeFollow Zak}
}
## ===================================================== ##
## use Lever B Behavior ##
## ===================================================== ##
event "useLeverBBehavior" {
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
wizqEntityMove Zak "607.1 13.7 315.3" "wait"
wizqEntityOrientation Zak 95
}
oz'event {wizEntityStopFollow Zak}
}
oz'event {wizDisableMouse}
wizqEntityOrientation Lydia 80 "wait"
wizqEntitySetCycle Lydia standCycleNormal
# Wait for Block 1
wizqWaitQueue 2
if { [getVar "millAlone"] == "" && [getVar "puzzleZak"] == "" } {
oz'event {callEvent "millAlone"}
} elseif { [getVar "millZak"] == "" && [getVar "puzzleZak"] == "complete" } {
oz'event {callEvent "millZak"}
wizqEntityOrientation Lydia 80 "wait"
}
oz'event {callEvent "leverBZoomIn"}
oz'event {wizEnableMouse}
oz'event {wizEntityResumeFollow Zak}
}
## ===================================================== ##
## use Lever C Behavior ##
## ===================================================== ##
event "useLeverCBehavior" {
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
wizqEntityMove Zak "607.1 13.7 315.3" "wait"
wizqEntityOrientation Zak 125
}
oz'event {wizEntityStopFollow Zak}
}
oz'event {wizDisableMouse}
wizqEntityOrientation Lydia 185 "wait"
wizqEntitySetCycle Lydia standCycleNormal
# Wait for Block 1
wizqWaitQueue 2
if { [getVar "millAlone"] == "" && [getVar "puzzleZak"] == "" } {
oz'event {callEvent "millAlone"}
} elseif { [getVar "millZak"] == "" && [getVar "puzzleZak"] == "complete" } {
oz'event {callEvent "millZak"}
wizqEntityOrientation Lydia 160 "wait"
}
oz'event {callEvent "leverCZoomIn"}
oz'event {wizEnableMouse}
oz'event {wizEntityResumeFollow Zak}
}
## ===================================================== ##
## use Lever D Behavior ##
## ===================================================== ##
event "useLeverDBehavior" {
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
wizqEntityMove Zak "580 13.7 310.9" "wait"
wizqEntityOrientation Zak 120
}
oz'event {wizEntityStopFollow Zak}
}
oz'event {wizDisableMouse}
wizqEntityOrientation Lydia 190 "wait"
wizqEntitySetCycle Lydia standCycleNormal
# Wait for Block 1
wizqWaitQueue 2
if { [getVar "millAlone"] == "" && [getVar "puzzleZak"] == "" } {
oz'event {callEvent "millAlone"}
} elseif { [getVar "millZak"] == "" && [getVar "puzzleZak"] == "complete" } {
oz'event {callEvent "millZak"}
wizqEntityOrientation Lydia 190 "wait"
}
oz'event {callEvent "leverDZoomIn"}
oz'event {wizEnableMouse}
oz'event {wizEntityResumeFollow Zak}
}
## ===================================================== ##
## use Lever E Behavior ##
## ===================================================== ##
event "useLeverEBehavior" {
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
wizqEntityMove Zak "582.1 13.7 312.3" "wait"
wizqEntityOrientation Zak 50
}
oz'event {wizEntityStopFollow Zak}
}
oz'event {wizDisableMouse}
wizqEntityOrientation Lydia 10 "wait"
wizqEntitySetCycle Lydia standCycleNormal
# Wait for Block 1
wizqWaitQueue 2
if { [getVar "millAlone"] == "" && [getVar "puzzleZak"] == "" } {
oz'event {callEvent "millAlone"}
} elseif { [getVar "millZak"] == "" && [getVar "puzzleZak"] == "complete" } {
oz'event {callEvent "millZak"}
wizqEntityOrientation Lydia 10 "wait"
}
oz'event {callEvent "leverEZoomIn"}
oz'event {wizEnableMouse}
oz'event {wizEntityResumeFollow Zak}
}
## ===================================================== ##
## use Lever F Behavior ##
## ===================================================== ##
event "useLeverFBehavior" {
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
wizqEntityMove Zak "610.9 -24.5 275.5" "wait"
wizqEntityOrientation Zak 260
}
oz'event {wizEntityStopFollow Zak}
}
oz'event {wizDisableMouse}
wizqEntityOrientation Lydia 320 "wait"
wizqEntitySetCycle Lydia standCycleNormal
# Wait for Block 1
wizqWaitQueue 2
if { [getVar "millAlone"] == "" && [getVar "puzzleZak"] == "" } {
oz'event {callEvent "millAlone"}
} elseif { [getVar "millZak"] == "" && [getVar "puzzleZak"] == "complete" } {
oz'event {callEvent "millZak"}
wizqEntityOrientation Lydia 320 "wait"
}
oz'event {callEvent "leverFZoomIn"}
oz'event {wizEnableMouse}
oz'event {wizEntityResumeFollow Zak}
}
## ===================================================== ##
## use Lever G Behavior ##
## ===================================================== ##
event "useLeverGBehavior" {
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
wizqEntityMove Zak "587.1 1.2 267.3" "wait"
wizqEntityOrientation Zak 280
}
oz'event {wizEntityStopFollow Zak}
}
oz'event {wizDisableMouse}
wizqEntityOrientation Lydia 10 "wait"
wizqEntitySetCycle Lydia standCycleNormal
# Wait for Block 1
wizqWaitQueue 2
if { [getVar "millAlone"] == "" && [getVar "puzzleZak"] == "" } {
oz'event {callEvent "millAlone"}
} elseif { [getVar "millZak"] == "" && [getVar "puzzleZak"] == "complete" } {
oz'event {callEvent "millZak"}
wizqEntityOrientation Lydia 330 "wait"
}
oz'event {callEvent "leverGZoomIn"}
oz'event {wizEnableMouse}
oz'event {wizEntityResumeFollow Zak}
}
## ===================================================== ##
## use Lever H Behavior ##
## ===================================================== ##
event "useLeverHBehavior" {
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
wizqEntityMove Zak "569.1 -24.5 293.3" "wait"
wizqEntityOrientation Zak 135
}
oz'event {wizEntityStopFollow Zak}
}
oz'event {wizDisableMouse}
wizqEntityOrientation Lydia 120 "wait"
wizqEntitySetCycle Lydia standCycleNormal
# Wait for Block 1
wizqWaitQueue 2
if { [getVar "millAlone"] == "" && [getVar "puzzleZak"] == "" } {
oz'event {callEvent "millAlone"}
} elseif { [getVar "millZak"] == "" && [getVar "puzzleZak"] == "complete" } {
oz'event {callEvent "millZak"}
}
oz'event {callEvent "leverHZoomIn"}
oz'event {wizEnableMouse}
oz'event {wizEntityResumeFollow Zak}
}
## ===================================================== ##
## use To Waterway Behavior ##
## ===================================================== ##
event "useToWaterwayBehavior" {
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
wizqEntityMove Zak "563.1 -16.2 320.5" "wait"
wizqEntityOrientation Zak 220
}
oz'event {wizEntityStopFollow Zak}
}
oz'event {wizDisableMouse}
wizqEntityOrientation Lydia 190 "wait"
wizqEntitySetCycle Lydia standCycleNormal
# Wait for Block 1
wizqWaitQueue 2
chainEvent { freezePlayer }
if { [getVar "puzzleMillTools"] == "complete" } {
Play3DSound "characters/lydia/smallDoorUnlocked"
wizqEntityAction Lydia standOpenDoorRightHand
chainEvent { delay 2200 }
chainEvent { standardFadeout }
chainEvent { delay 1000 }
chainEvent { wizEntitySetPosition Lydia "553.6 -16.9 342" }
chainEvent { wizEntitySetPosition Zak "558.6 -16.9 349.9" }
chainEvent { setScene "crescentCoastWaterway" world }
chainEvent { wizEntitySetOrientation Lydia 190 }
wizqEntitySetCycle Lydia standCycleNormal
chainEvent { wizEntitySetOrientation Zak 200 }
wizqEntitySetCycle Lydia standCycleNormal
chainEvent { standardFadein }
chainEvent {
unfreezePlayer
wizEnableMouse
}
} else {
ozSet "millDoorToWaterway" "initiated"
Play3DSound "characters/lydia/smallDoorLocked"
wizqEntityAction Lydia standOpenDoorRightHand
# Block 1
wizqQueue 1 {
chainEvent { delay 2000 }
wizqEntityAction Lydia standHandOnChin "wait"
}
wizqTalkOpen
wizqTalkSay Lydia $::lng::useToWaterwayTeleportL1 "sound/vo/$::LNG/scenes/mill/useToWaterwayTeleportL1.ogg"
wizqTalkSay Lydia $::lng::useToWaterwayTeleportL2 "sound/vo/$::LNG/scenes/mill/useToWaterwayTeleportL2.ogg"
wizqTalkClose
# Wait for Block 1
wizqWaitQueue 1
}
chainEvent { unfreezePlayer }
oz'event {wizEnableMouse}
oz'event {wizEntityResumeFollow Zak}
}
################################################################################
## ========================================================================== ##
## MOVEMENT ##
## ========================================================================== ##
################################################################################
## ===================================================== ##
## use Lever A ##
## ===================================================== ##
event "useLeverA" {
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
oz'event {wizEntityStopFollow Zak}
wizqEntityMove Zak "627.1 -34.2 305.3" "wait"
wizqEntityOrientation Zak 140
oz'event {wizEntityResumeFollow Zak}
}
}
wizqEntityMove Lydia "635.1 -34.2 313.5" "mill.useLeverABehavior" 2
wizqEventEnd "useLeverA"
}
## ===================================================== ##
## use Lever B ##
## ===================================================== ##
event "useLeverB" {
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
oz'event {wizEntityStopFollow Zak}
wizqEntityMove Zak "607.1 13.7 315.3" "wait"
wizqEntityOrientation Zak 95
oz'event {wizEntityResumeFollow Zak}
}
}
wizqEntityMove Lydia "620.1 13.7 316.4" "mill.useLeverBBehavior" 2
wizqEventEnd "useLeverB"
}
## ===================================================== ##
## use Lever C ##
## ===================================================== ##
event "useLeverC" {
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
oz'event {wizEntityStopFollow Zak}
wizqEntityMove Zak "607.1 13.7 315.3" "wait"
wizqEntityOrientation Zak 125
oz'event {wizEntityResumeFollow Zak}
}
}
wizqEntityMove Lydia "616.1 13.7 316.4" "mill.useLeverCBehavior" 2
wizqEventEnd "useLeverC"
}
## ===================================================== ##
## use Lever D ##
## ===================================================== ##
event "useLeverD" {
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
oz'event {wizEntityStopFollow Zak}
wizqEntityMove Zak "580 13.7 310.9" "wait"
wizqEntityOrientation Zak 120
oz'event {wizEntityResumeFollow Zak}
}
}
wizqEntityMove Lydia "590.1 13.7 314.3" "mill.useLeverDBehavior" 2
wizqEventEnd "useLeverD"
}
## ===================================================== ##
## use Lever E ##
## ===================================================== ##
event "useLeverE" {
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
oz'event {wizEntityStopFollow Zak}
wizqEntityMove Zak "582.1 13.7 312.3" "wait"
wizqEntityOrientation Zak 50
oz'event {wizEntityResumeFollow Zak}
}
}
wizqEntityMove Lydia "588 13.7 309.5" "mill.useLeverEBehavior" 2
wizqEventEnd "useLeverE"
}
## ===================================================== ##
## use Lever F ##
## ===================================================== ##
event "useLeverF" {
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
oz'event {wizEntityStopFollow Zak}
wizqEntityMove Zak "610.9 -24.5 275.5" "wait"
wizqEntityOrientation Zak 260
oz'event {wizEntityResumeFollow Zak}
}
}
wizqEntityMove Lydia "599.1 -24.5 278.3" "mill.useLeverFBehavior" 2
}
## ===================================================== ##
## use Lever G ##
## ===================================================== ##
event "useLeverG" {
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
oz'event {wizEntityStopFollow Zak}
wizqEntityMove Zak "587.1 1.2 267.3" "wait"
wizqEntityOrientation Zak 280
oz'event {wizEntityResumeFollow Zak}
}
}
wizqEntityMove Lydia "578.1 1.2 269.5" "mill.useLeverGBehavior" 2
wizqEventEnd "useLeverG"
}
## ===================================================== ##
## use Lever H ##
## ===================================================== ##
event "useLeverH" {
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
oz'event {wizEntityStopFollow Zak}
wizqEntityMove Zak "569.1 -24.5 293.3" "wait"
wizqEntityOrientation Zak 135
oz'event {wizEntityResumeFollow Zak}
}
}
wizqEntityMove Lydia "578.9 -24.5 304.8" "mill.useLeverHBehavior" 2
wizqEventEnd "useLeverH"
}
## ===================================================== ##
## use To Waterway ##
## ===================================================== ##
event "useToWaterway" {
eventState [wizEventStart "useToWaterway"]
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
oz'event {wizEntityStopFollow Zak}
wizqEntityMove Zak "563.1 -16.2 320.5" "wait"
wizqEntityOrientation Zak 220
oz'event {wizEntityResumeFollow Zak}
}
}
wizqEntityMove Lydia "555 -16.2 326.5" "mill.useToWaterwayBehavior" 2
wizqEventEnd "useToWaterway"
}
## ===================================================== ##
## To Mill Store Room ##
## ===================================================== ##
event "ToMillStoreRoom" {
if { [getVar "leftCloseDoor"] == "" } {
setScene "millStoreRoom" worldOpened
} else {
setScene "millStoreRoom" world
}
}
################################################################################
## ========================================================================== ##
## ANIMATION & SPECIAL CAMERA SECTION ##
## ========================================================================== ##
################################################################################
## ===================================================== ##
## proc pzlZoomIn ##
## ===================================================== ##
proc pzlZoomIn {device} {
set s [ozGet pzlMillCloseUp$device]
if {$s == ""} {set s 0}
oz'event {freezePlayer}
oz'event {standardFadeout}
oz'event {
hConvBackEvent "mill.lever${device}ZoomOut"
wizEntityHide Lydia
if { \"[ozGet "puzzleZak"]\" == "complete" } {
wizEntityHide Zak
}
}
oz'event {
setCamera puzzleCloseUp$device
wizhCameraChange
MainDisableSidebar
MainDisableTalk
}
oz'event { puzzleCloseUp${device}::newSt switch,${s}St }
oz'event {oz'delay 0.01}
oz'event {standardFadein}
}
## ===================================================== ##
## proc pzlZoomOut ##
## ===================================================== ##
proc pzlZoomOut {device camera} {
oz'event {standardFadeout}
wq'widget::delete& puzzleCloseUp${device}::switch,0St
wq'widget::delete& puzzleCloseUp${device}::switch,1St
wq'widget::delete& puzzleCloseUp${device}::switch,2St
wq'widget::delete& puzzleCloseUp${device}::switch,3St
oz'event {
setCamera $camera
wizhCameraChange
MainEnableSidebar
MainEnableTalk
}
oz'event {
wizEntityShow Lydia
if { \"[ozGet "puzzleZak"]\" == "complete" } {
wizEntityShow Zak
}
unfreezePlayer
}
oz'event {standardFadein}
}
## ===================================================== ##
## lever A Zoom In ##
## ===================================================== ##
event "leverAZoomIn" {
pzlZoomIn A
}
## ===================================================== ##
## lever A Zoom Out ##
## ===================================================== ##
event "leverAZoomOut" {
pzlZoomOut A "machineStart"
}
## ===================================================== ##
## lever B Zoom In ##
## ===================================================== ##
event "leverBZoomIn" {
pzlZoomIn B
}
## ===================================================== ##
## lever B Zoom Out ##
## ===================================================== ##
event "leverBZoomOut" {
pzlZoomOut B "secondFloor"
}
## ===================================================== ##
## lever C Zoom In ##
## ===================================================== ##
event "leverCZoomIn" {
pzlZoomIn C
}
## ===================================================== ##
## lever C Zoom Out ##
## ===================================================== ##
event "leverCZoomOut" {
pzlZoomOut C "secondFloor"
}
## ===================================================== ##
## lever D Zoom In ##
## ===================================================== ##
event "leverDZoomIn" {
pzlZoomIn D
}
## ===================================================== ##
## lever D Zoom Out ##
## ===================================================== ##
event "leverDZoomOut" {
pzlZoomOut D "millEntrance"
}
## ===================================================== ##
## lever E Zoom In ##
## ===================================================== ##
event "leverEZoomIn" {
pzlZoomIn E
}
## ===================================================== ##
## lever E Zoom Out ##
## ===================================================== ##
event "leverEZoomOut" {
pzlZoomOut E "millEntrance"
}
## ===================================================== ##
## lever F Zoom In ##
## ===================================================== ##
event "leverFZoomIn" {
pzlZoomIn F
}
## ===================================================== ##
## lever F Zoom Out ##
## ===================================================== ##
event "leverFZoomOut" {
pzlZoomOut F "millFlourSac"
}
## ===================================================== ##
## lever G Zoom In ##
## ===================================================== ##
event "leverGZoomIn" {
pzlZoomIn G
}
## ===================================================== ##
## lever G Zoom Out ##
## ===================================================== ##
event "leverGZoomOut" {
pzlZoomOut G "millStairs"
}
## ===================================================== ##
## lever H Zoom In ##
## ===================================================== ##
event "leverHZoomIn" {
pzlZoomIn H
}
## ===================================================== ##
## lever H Zoom Out ##
## ===================================================== ##
event "leverHZoomOut" {
pzlZoomOut H "barrels"
}
## ===================================================== ##
## camera millEntrance ##
## ===================================================== ##
event "millEntrance" {
setCamera "millEntrance"
wizhCameraChange
wizEntityResumeFollow Zak
chainEvent { delay 500 }
if { [ozGet "puzzleZak"] == "complete" && [ozGet "zakPresentation"] == "" } {
ozSet "zakPresentation" "discussed"
callEvent millWalkway.zakPresentation
}
}
## ===================================================== ##
## camera secondFloor ##
## ===================================================== ##
event "secondFloor" {
setCamera "secondFloor"
wizhCameraChange
wizEntityResumeFollow Zak
}
## ===================================================== ##
## camera millStairs ##
## ===================================================== ##
event "millStairs" {
setCamera "millStairs"
wizhCameraChange
wizEntityResumeFollow Zak
}
## ===================================================== ##
## camera millDownStairs ##
## ===================================================== ##
event "millDownStairs" {
setCamera "millDownStairs"
wizhCameraChange
wizEntityResumeFollow Zak
}
## ===================================================== ##
## camera wheelBarrow ##
## ===================================================== ##
event "wheelBarrow" {
setCamera "wheelBarrow"
wizhCameraChange
wizEntityResumeFollow Zak
}
## ===================================================== ##
## camera waterway ##
## ===================================================== ##
event "waterway" {
setCamera "waterway"
wizhCameraChange
wizEntityResumeFollow Zak
}
################################################################################
## ========================================================================== ##
## NPC DIALOGUE SECTION ##
## ========================================================================== ##
################################################################################
# NONE FOR NOW
################################################################################
## ========================================================================== ##
## FORCED DIALOGUE SECTION ##
## ========================================================================== ##
################################################################################
## ===================================================== ##
## First glimpse on the Mill alone ##
## ===================================================== ##
event "millAlone" {
checkConversation "millAlone" {
chainEvent {
freezePlayer
wizDisableMouse
}
# Block 1
wizqQueue 1 {
wizqEntityAction Lydia standHandOnChin "wait"
}
wizqTalkOpen
wizqTalkSay Lydia $::lng::millAloneL1 "sound/vo/$::LNG/scenes/mill/millAloneL1.ogg"
wizqTalkClose
# Wait for Block 1
wizqWaitQueue 1
chainEvent {
unfreezePlayer
wizEnableMouse
}
}
}
## ===================================================== ##
## First glimpse on the Mill with Zak ##
## ===================================================== ##
event "millZak" {
checkConversation "millZak" {\
oz'event {oz'track::play $::music_track "/sound/music/caretaker.ogg" -repeat 1}
chainEvent {
freezePlayer
wizDisableMouse
}
# Block 1
wizqQueue 1 {
wizqEntityAction Lydia standHandOnChin "wait"
chainEvent { wizEntityLookAt Lydia [wizEntityGetPosition Zak] }
}
# Block 1-B
wizqQueue 2 {
chainEvent { delay 500 }
chainEvent { wizEntityLookAt Zak [wizEntityGetPosition Lydia] }
}
wizqTalkOpen
wizqTalkSay Lydia $::lng::millAloneL1 "sound/vo/$::LNG/scenes/mill/millAloneL1.ogg"
wizqTalkSay Zak $::lng::millZakZ1 "sound/vo/$::LNG/scenes/mill/millZakZ1.ogg"
# Wait for Block 1 & 1-B
wizqWaitQueue 1
wizqWaitQueue 2
# Block 2
wizqQueue 1 {
wizqEntityAction Zak standRelax "wait"
}
wizqTalkSay Zak $::lng::millZakZ2 "sound/vo/$::LNG/scenes/mill/millZakZ2.ogg"
# Wait for Block 2
wizqWaitQueue 1
# Block 3
wizqQueue 1 {
wizqEntityAction Zak standConfusedRight "wait"
}
wizqTalkSay Zak $::lng::millZakZ3 "sound/vo/$::LNG/scenes/mill/millZakZ3.ogg"
# Wait for Block 3
wizqWaitQueue 1
# Block 4
wizqQueue 1 {
chainEvent { delay 2000 }
wizqEntityAction Zak standNo "wait"
}
wizqTalkSay Zak $::lng::millZakZ4 "sound/vo/$::LNG/scenes/mill/millZakZ4.ogg"
wizqTalkClose
# Wait for Block 4
wizqWaitQueue 1
chainEvent {
unfreezePlayer
wizEnableMouse
}
oz'event {oz'track::play $::music_track "/sound/music/caretaker.ogg" -repeat 0}
}
}
## ===================================================== ##
## Mill Wheel Solved ##
## ===================================================== ##
## trigger is when the player solve the Mill Wheel puzzle
event "millSolved" {
chainEvent {
freezePlayer
wizDisableFloorevent
wizDisableMouse
wizEntityStopFollow Zak
}
ozSet "mill.useLeverA" "false"
ozSet "mill.useLeverB" "false"
ozSet "mill.useLeverC" "false"
ozSet "mill.useLeverD" "false"
ozSet "mill.useLeverE" "false"
ozSet "mill.useLeverF" "false"
ozSet "mill.useLeverG" "false"
ozSet "mill.useLeverH" "false"
ozSet "puzzleMill" "complete"
ozSet "puzzlePowerSurge" "complete"
# Block 1
wizqQueue 1 {
chainEvent { wizEntityLookAt Zak [wizEntityGetPosition Lydia] }
chainEvent { delay 1500 }
wizqEntityAction Zak standYes "wait"
}
# Block 1-B
wizqQueue 2 {
chainEvent { delay 500 }
chainEvent { wizEntityLookAt Lydia [wizEntityGetPosition Zak] }
}
wizqTalkOpen
wizqTalkSay Zak $::lng::millSolvedZ1 "sound/vo/$::LNG/scenes/mill/millSolvedZ1.ogg"
# Wait for Block 1 & 1-B
wizqWaitQueue 1
wizqWaitQueue 2
# Block 2
wizqQueue 1 {
wizqEntityAction Lydia standTalkTwoHands "wait"
}
wizqTalkSay Lydia $::lng::millSolvedL1 "sound/vo/$::LNG/scenes/mill/millSolvedL1.ogg"
# Wait for Block 2
wizqWaitQueue 1
# Block 2-B
wizqQueue 2 {
chainEvent { delay 1000 }
wizqEntityAction Zak standConfusedLeft "wait"
}
wizqTalkSay Zak $::lng::millSolvedZ2 "sound/vo/$::LNG/scenes/mill/millSolvedZ2.ogg"
# Wait for Block 2-B
wizqWaitQueue 1
wizqWaitQueue 2
# Block 3
wizqQueue 1 {
wizqEntityAction Lydia standWhat "wait"
}
wizqTalkSay Lydia $::lng::millSolvedL2 "sound/vo/$::LNG/scenes/mill/millSolvedL2.ogg"
wizqTalkClose
# Wait for Block 3
wizqWaitQueue 1
chainEvent {
unfreezePlayer
wizEnableFloorevent
wizEnableMouse
wizEntityResumeFollow Zak
}
if { [getVar "lydiasPastConversation"] == "" } {
setEventPriority optionnalConversation.lydiasPastBehavior long
ozSet "lydiasPastConversation" "initiated"
}
}
################################################################################
## ========================================================================== ##
## OPTIONNAL DIALOGUE SECTION ##
## ========================================================================== ##
################################################################################
# NONE FOR NOW
################################################################################
## ========================================================================== ##
## TO ADD/ CORRECTIONS NEEDED ##
## ========================================================================== ##
################################################################################
# NONE FOR NOW
################################################################################
## ========================================================================== ##
## TO CHECK ##
## ========================================================================== ##
################################################################################
# NONE FOR NOW