home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CyberMycha 2006 April
/
SGP.iso
/
dema
/
Keepsake-Demo-en-li-v1.0.exe
/
res
/
scripts
/
garden.tcl
< prev
next >
Wrap
Text File
|
2006-01-23
|
79KB
|
2,851 lines
################################################################################
# ##
# file garden.tcl ##
# brief Events for the Garden. ##
# author bruno.parenteau@wickedstudios.com ##
# ben.thomas@wickedstudios.com ##
# ##
################################################################################
## ===================================================== ##
## Loading script from source ##
## ===================================================== ##
source "[PUZZLES]/garden.puzzle.tcl"
source "[AUTO]/garden.mvwrap.tcl"
source "[PUZZLES]/garden.camera.tcl"
## ===================================================== ##
## Initialization ##
## ===================================================== ##
event "init" {
zakFollowDist 30
ozSet "gardenRoom" "visited"
ozSet "garden.useBeanClick" "false"
setAudioEnv "city"
SetAmbient 2d ambiance/basement "0 0 0" 0 0
SetAmbient 3d sfx/fountain "359 4 -62" 30 0 0.6
SetAmbient 3d sfx/bigFirePlace "293 109 496" 30 0 0.6
SetAmbient 3d sfx/bigFirePlace2 "393 95 589" 30 0 0.6
SetAmbient 3d sfx/smallOven "409 95 515" 30 0 0.6
SetAmbient 3d sfx/bubblingCauldron "393 95 589" 30 0 0.6
SetAmbient 3d sfx/fallsFar "130 144 870" 10000 0.5
SetAmbient 3d sfx/gardenPond "245 71 270" 30 1 0.6
if {[ozGet "puzzleWaterLevel"] == "complete"} {
SetAmbient 3d sfx/dragonFountainLoop "227 71 157" 30 1 0.6
} else {
SetAmbient 3d sfx/dragonFountainLoop "227 71 157" 30 0 0.6
}
}
################################################################################
## ========================================================================== ##
## DOOR BLOCKING & PUZZLE SECTION ##
## ========================================================================== ##
################################################################################
## ===================================================== ##
## To Dinner Hall ##
## ===================================================== ##
event "toDinnerHall" {
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
wizqEntityMove Zak "263.6 106.5 390.7" "wait"
wizqEntityOrientation Zak 180
}
oz'event {wizEntityStopFollow Zak}
}
oz'event {wizDisableMouse}
wizqEntityOrientation Lydia 180 "wait"
wizqEntitySetCycle Lydia standCycleNormal
# Wait for Block 1
wizqWaitQueue 2
wizqEntityAction Lydia standOpenDoorRightHand
callEvent lockedDoor.init
lockedDoorDispatcher
oz'event {wizEnableMouse}
oz'event {wizEntityResumeFollow Zak}
}
## ===================================================== ##
## To Basement ##
## ===================================================== ##
event "toBasement" {
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
wizqEntityMove Zak "245.8 66.1 479.6" "wait"
wizqEntityOrientation Zak 105
}
oz'event {wizEntityStopFollow Zak}
}
oz'event {wizDisableMouse}
wizqEntityOrientation Lydia 190 "wait"
wizqEntitySetCycle Lydia standCycleNormal
# Wait for Block 1
wizqWaitQueue 2
wizqEntityAction Lydia standOpenDoorLeftHand
callEvent lockedDoor.init
doorDispatcher basement
wizqEventEnd "toBasement"
oz'event {wizEnableMouse}
oz'event {wizEntityResumeFollow Zak}
}
## ===================================================== ##
## Zak Discovery dispatcher ##
## ===================================================== ##
event "gardenStage" {
if { [getVar "puzzleZak"] == "complete" && [getVar "zakDiscovery"] == "" } {
freezePlayer
setCamera "stageStairs"
chainEvent { standardFadeout }
chainEvent {
setCamera "gardenStage"
wizhCameraChange
#Player will unfreeze and mouse re-enable in the event "vision.dollEffectOne"
freezePlayer
wizDisableFloorevent
wizDisableMouse
wizEntityStopFollow Zak
wizEntitySetPosition Zak "204.4 70.4 350"
wizEntitySetOrientation Zak 180
wizEntitySetPosition Lydia "200.3 70.4 333.5"
wizEntityWalk Lydia "204.5 70.4 358.9"
wizEntityWalk Zak "204.5 70.4 358.9"
standardFadein
delay 10
}
chainCallEvent "zakDiscovery"
} else {
setCamera "gardenStage"
wizhCameraChange
}
disableedge down
}
## ===================================================== ##
## usePuzzleSliders Behavior ##
## ===================================================== ##
event "puzzleSlidersBehavior" {
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
wizqEntityMove Zak "211.6 89.1 253.9" "wait"
wizqEntityOrientation Zak 220
}
oz'event {wizEntityStopFollow Zak}
}
oz'event {wizDisableMouse}
wizqEntityOrientation Lydia 270 "wait"
wizqEntitySetCycle Lydia standCycleNormal
# Wait for Block 1
wizqWaitQueue 2
chainEvent {
freezePlayer
wizDisableMouse
wizEntityStopFollow Zak
}
if { [getVar "puzzleLightRune" ] != "complete" } {
chainCallEvent "puzzleLightRuneTry"
}
oz'event {wizEnableMouse}
oz'event {wizEntityResumeFollow Zak}
}
## ===================================================== ##
## Look Magical Tree Behavior from the balcony ##
## ===================================================== ##
event "lookMagicalTreeBehavior" {
chainEvent { wizEntityStopFollow Zak }
wizqEntityWalk Zak "226.6 143.9 138.9" "wait"
chainEvent { wizEntityLookAt Zak [wizEntityGetPosition Lydia] }
wizqEntityOrientation Lydia 270 "wait"
wizqEntitySetCycle Lydia standCycleNormal
callEvent "nigilisFruitZoomIn"
chainEvent {
wizEntityResumeFollow Zak
}
}
## ===================================================== ##
## Light Rune puzzle ##
## ===================================================== ##
event "puzzleLightRuneTry" {
if { [getVar "puzzleZak" ] == "complete" && [getVar "puzzleLightRuneTryZak" ] == "" } {
callEvent "puzzleLightRuneTryZak"
} elseif { [getVar "puzzleLightRuneTryAlone" ] == "" && [getVar "puzzleLightRuneTryZak" ] == "" } {
callEvent "puzzleLightRuneTryAlone"
} else {
callEvent "puzzleSlidersZoomIn"
}
}
## ===================================================== ##
## Water Lever puzzle while zoom out ##
## ===================================================== ##
event "smallBridgeBehavior" {
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
wizqEntityMove Zak "200.8 70.4 211.8" "wait"
wizqEntityOrientation Zak 320
}
oz'event {wizEntityStopFollow Zak}
}
oz'event {wizDisableMouse}
wizqEntityOrientation Lydia 360 "wait"
wizqEntitySetCycle Lydia standCycleNormal
# Wait for Block 1
wizqWaitQueue 2
callEvent "waterLeverZoomIn"
oz'event {wizEnableMouse}
oz'event {wizEntityResumeFollow Zak}
}
## ===================================================== ##
## Water Lever puzzle while zoom in ##
## ===================================================== ##
event "useGardenLever" {
chainEvent {
freezePlayer
wizDisableMouse
}
if { [getVar "puzzleAqueduct" ] == "complete" } {
chainEvent {hideInterface}
chainEvent {hideMouse}
PlayMovieSound gardenLever leverSuccess sfx/gardenLeverSuccess
chainEvent {standardFadeout}
chainEvent {cameraFadein 0}
PlayMovieSound gardenLever leverWater sfx/dragonFountainSpit
oz'event {
hRemoveBack
setCamera "smallBridge"
wizhCameraChange
}
wq'widget::waitfor $gardenLever::leverSuccess -animate
wq'widget::delete& gardenLever::leverSuccess
chainEvent {wizDisableMouse}
oz'event {SetAmbient 3d sfx/dragonFountainLoop "227 71 157" 30 1 0.6}
chainEvent {cameraFadeout 0}
oz'event {
wizEntityShow Lydia
wizEntityShow Zak
showMouse
showInterface
}
chainEvent {delay 1}
chainEvent {standardFadein}
callEvent "puzzleWaterSolved"
} else {
PlayMovieSound gardenLever leverFail sfx/gardenLeverFail
wizqTalkOpen
wizqTalkSay Lydia $::lng::useGardenLeverL1 "sound/vo/$::LNG/scenes/garden/useGardenLeverL1.ogg"
wizqTalkClose
}
chainEvent {
unfreezePlayer
wizEnableMouse
}
}
## ===================================================== ##
## Planting the Bean ##
## ===================================================== ##
event "useNigilisBeanBehavior" {
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
wizqEntityMove Zak "180.5 70.7 155.3" "wait"
wizqEntityOrientation Zak 55
}
oz'event {wizEntityStopFollow Zak}
}
oz'event {wizDisableMouse}
wizqEntityOrientation Lydia 145 "wait"
wizqEntitySetCycle Lydia standCycleNormal
# Wait for Block 1
wizqWaitQueue 2
chainEvent {
freezePlayer
wizDisableMouse
wizEntityStopFollow Zak
}
if { [getVar "puzzleZak" ] == "" } {
callEvent "nothingToPlantAlone"
} elseif { [getVar "puzzleZak" ] == "complete" } {
if { [getVar "itemNigilisBean" ] == "" } {
callEvent "nothingToPlantZak"
} elseif { [getVar "itemNigilisBean" ] == "pickedUp" } {
if { [ozGet "itemPagesNigilis"] == "pickedUp" && [ozGet "itemCirclet"] == "pickedUp" } {
callEvent "plantingTheBean"
} else {
callEvent "nigilisBeanNotNeeded"
}
}
}
oz'event {wizEnableMouse}
oz'event {wizEntityResumeFollow Zak}
chainEvent {
unfreezePlayer
}
}
## ===================================================== ##
## Water Shower puzzle Solved ##
## ===================================================== ##
event "puzzleWaterSolved" {
chainEvent {
freezePlayer
wizDisableMouse
wizEntityStopFollow Zak
}
ozSet "puzzleWaterLevel" "complete"
ozSet "garden.useSmallBridge" "false"
ozqSound::New3DFX ::snd_littleFall "sound/sfx/charmingFall.ogg"
ozqSound::Position $::snd_littleFall "227 71 157"
ozqSound::ReferenceDistance $::snd_littleFall 3
ozqSound::Play $::snd_littleFall
chainEvent { delay 500 }
ozqSound::New3DFX ::snd_littleFallLoop "sound/ambiance/charmingFallLoop.ogg"
ozqSound::Position $::snd_littleFallLoop "227 71 157"
ozqSound::ReferenceDistance $::snd_littleFallLoop 3
ozqSound::Repeat $::snd_littleFallLoop 1
ozqSound::Play $::snd_littleFallLoop
if { [ozGet "itemPagesNigilis"] == "pickedUp" && [ozGet "itemNoteBook"] == "pickedUp" && [ozGet "itemCirclet"] == "pickedUp" } {
callEvent "waterNeededNotNow"
} else {
callEvent "waterNotNeeded"
}
}
## ===================================================== ##
## Light Rune puzzle Solved ##
## ===================================================== ##
## trigger is when the Light Rune puzzle is complete
event "puzzleLightRuneSolved" {
ozSet "puzzleLightRune" "complete"
ozSet "garden.usePuzzleSliders" "false"
if { [getVar "puzzleZak" ] == "" } {
callEvent "lightBreathAlone"
} elseif { [getVar "puzzleZak" ] == "complete" } {
if { [getVar "puzzleNigilisBean" ] == "complete" && [getVar "puzzleWaterLevel" ] == "complete" } {
chainEvent {
wizEntityShow Zak
wizEntityShow Lydia
hRemoveBack
standardFadein
delay 0
}
chainCallEvent "magicalFormula"
} elseif { [ozGet "itemPagesNigilis"] == "pickedUp" && [ozGet "itemNoteBook"] == "pickedUp" && [ozGet "itemCirclet"] == "pickedUp" } {
callEvent "lightBreathZakNeeded"
} else {
callEvent "lightBreathZakNotNeeded"
}
}
}
################################################################################
## ========================================================================== ##
## MOVEMENT ##
## ========================================================================== ##
################################################################################
## ===================================================== ##
## Look Magical Tree from the balcony ##
## ===================================================== ##
event "lookMagicalTree" {
wizEntityMove Lydia "222.6 143.9 152.9" "garden.lookMagicalTreeBehavior" 2
}
## ===================================================== ##
## transDinnerRoomEntrance ##
## ===================================================== ##
event "transDinnerRoomEntrance" {
eventState [wizEventStart "transDinnerRoomEntrance"]
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
oz'event {wizEntityStopFollow Zak}
wizqEntityMove Zak "263.6 106.5 390.7" "wait"
wizqEntityOrientation Zak 180
oz'event {wizEntityResumeFollow Zak}
}
}
wizqEntityMove Lydia "260.6 109.7 400.7" "garden.toDinnerHall" 2
wizqEventEnd "transDinnerRoomEntrance"
}
## ===================================================== ##
## transBasementDoor ##
## ===================================================== ##
event "transBasementDoor" {
eventState [wizEventStart "transBasementDoor"]
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
oz'event {wizEntityStopFollow Zak}
wizqEntityMove Zak "245.8 66.1 479.6" "wait"
wizqEntityOrientation Zak 105
oz'event {wizEntityResumeFollow Zak}
}
}
wizqEntityMove Lydia "264 61.9 485" "garden.toBasement" 2
wizqEventEnd "transBasementDoor"
}
## ===================================================== ##
## toBasementClick ##
## ===================================================== ##
event "toBasementClick" {
eventState [wizEventStart "toBasementClick"]
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
oz'event {wizEntityStopFollow Zak}
wizqEntityMove Zak "245.8 66.1 479.6" "wait"
wizqEntityOrientation Zak 105
oz'event {wizEntityResumeFollow Zak}
}
}
wizqEntityMove Lydia "264 61.9 485" "garden.toBasement" 2
wizqEventEnd "toBasementClick"
}
## ===================================================== ##
## transBasementDoor ##
## ===================================================== ##
event "transBasementEntrance" {
wizEntityMove Lydia "264 61.9 485"
}
## ===================================================== ##
## use Nigilis Bean ##
## ===================================================== ##
event "useNigilisBean" {
eventState [wizEventStart "useNigilisBean"]
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
oz'event {wizEntityStopFollow Zak}
wizqEntityMove Zak "180.5 70.7 155.3" "wait"
wizqEntityOrientation Zak 55
oz'event {wizEntityResumeFollow Zak}
}
}
wizqEntityMove Lydia "190.6 70.7 147.9" garden.useNigilisBeanBehavior 2
wizqEventEnd "useNigilisBean"
}
## ===================================================== ##
## usePuzzleSliders ##
## ===================================================== ##
event "usePuzzleSliders" {
eventState [wizEventStart "usePuzzleSliders"]
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
oz'event {wizEntityStopFollow Zak}
wizqEntityMove Zak "211.6 89.1 253.9" "wait"
wizqEntityOrientation Zak 220
oz'event {wizEntityResumeFollow Zak}
}
}
wizqEntityMove Lydia "208.629 89.13 264.87" "garden.puzzleSlidersBehavior" 2
wizqEventEnd "usePuzzleSliders"
}
## ===================================================== ##
## Water Lever puzzle while zoom out ##
## ===================================================== ##
event "useSmallBridge" {
eventState [wizEventStart "useSmallBridge"]
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
oz'event {wizEntityStopFollow Zak}
wizqEntityMove Zak "200.8 70.4 211.8" "wait"
wizqEntityOrientation Zak 320
oz'event {wizEntityResumeFollow Zak}
}
}
wizqEntityMove Lydia "190.6 70.4 201.9" "garden.smallBridgeBehavior" 2
wizqEventEnd "useSmallBridge"
}
## ===================================================== ##
## garden Fear going Right ##
## ===================================================== ##
event "gardenFearGoingRight" {
chainEvent { wizEntityStopFollow Zak }
ozSet "zakGardenPosition" "rightSide"
wizqEntityChangeSprintSpeed Zak 50
wizqEntityRun Zak "230.6 143.9 133.9" "wait"
wizqEntitySetCycle Zak lieCycleFear
}
## ===================================================== ##
## garden Fear going Left ##
## ===================================================== ##
event "gardenFearGoingLeft" {
chainEvent { wizEntityStopFollow Zak }
ozSet "zakGardenPosition" "leftSide"
wizqEntityChangeSprintSpeed Zak 50
wizqEntityRun Zak "301.8 147.2 209.4" "wait"
wizqEntitySetCycle Zak lieCycleFear
}
## ===================================================== ##
## trans Gargoyles ##
## ===================================================== ##
event "transGargoyles" {
wizEntityMove Lydia "277.6 143.9 208.7"
}
## ===================================================== ##
## trans Flag ##
## ===================================================== ##
event "transFlag" {
wizEntityMove Lydia "320.6 147 208.1"
}
################################################################################
## ========================================================================== ##
## ANIMATION & SPECIAL CAMERA SECTION ##
## ========================================================================== ##
################################################################################
## ===================================================== ##
## Nigilis Tree Growing ##
## ===================================================== ##
event "nigilisTreeMovie" {
ozSet "puzzleNigilisTree" "complete"
ozSet "garden.useOrlos" "false"
ozSet "garden.useDria" "false"
ozSet "garden.useUndar" "false"
ozSet "zakPresence" "away"
chainEvent {standardFadeout}
oz'event {
hideInterface
hideMouse
wizEntityHide Lydia
wizEntityHide Zak
}
oz'event {oz'delay 0.250}
oz'track::play $::music_track "sound/music/mystery.ogg"
ozqSound::NewFX "sound/cutscenes/treeGrowing.ogg"
magicalTreeGrowing::new magicalTreeGrowing -foreground -nopan
chainEvent {standardFadein}
oz'event {
setCamera "smallBridgeTree"
wizhCameraChange
wizEntitySetPosition Zak "200.8 70.4 211.8"
wizEntitySetPosition Lydia "208.6 70.4 195.9"
wizEntityLookAt Zak "195.6 70.7 169.4"
wizEntityLookAt Lydia "195.6 70.7 169.4"
}
wq'widget::waitfor $magicalTreeGrowing::magicalTreeGrowing -animate
wq'widget::delete& magicalTreeGrowing::magicalTreeGrowing
chainEvent {cameraFadeout 0}
oz'event {wizDisableMouse}
oz'event {
wizEntityShow Lydia
wizEntityShow Zak
showMouse
showInterface
}
chainEvent {standardFadein}
callEvent "nigilisTree"
}
## ===================================================== ##
## Water shower level Zoom In ##
## ===================================================== ##
event "waterLeverZoomIn" {
wizqZoomIn "gardenLever" "garden.waterLeverZoomOut"
}
## ===================================================== ##
## Water shower level Zoom Out ##
## ===================================================== ##
event "waterLeverZoomOut" {
wizqZoomOut "smallBridge"
chainEvent { hRemoveBack }
}
## ===================================================== ##
## puzzleSliders Zoom In ##
## ===================================================== ##
event "puzzleSlidersZoomIn" {
chainEvent {
unfreezePlayer
wizEnableFloorevent
wizEnableMouse
wizEntityResumeFollow Zak
}
for {set i 1} {$i <= 8} {incr i} {
puzzleSliders::new rune${i} -repeat -alpha 0 -foreground
}
wizqZoomIn "puzzleSliders" "garden.puzzleSlidersZoomOut"
}
## ===================================================== ##
## puzzleSliders Zoom Out ##
## ===================================================== ##
event "puzzleSlidersZoomOut" {
wizEntityResumeFollow Zak
resetPuzzle
for {set i 1} {$i <= 8} {incr i} {
wq'widget::delete& puzzleSliders::rune${i}
wq'widget::delete& puzzleSliders::slider${i}OnSt
}
wizqZoomOut "puzzleStageBack"
chainEvent { hRemoveBack }
}
## ===================================================== ##
## useUndar Zoom In ##
## ===================================================== ##
event "useUndar" {
eventState [wizEventStart "useUndar"]
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
oz'event {wizEntityStopFollow Zak}
wizqEntityMove Zak "187.6 70.7 142.9" "wait"
wizqEntityOrientation Zak 90
oz'event {wizEntityResumeFollow Zak}
}
}
wizqEntityMove Lydia "203.6 70.7 143.9" garden.useUndarBehavior 2
wizqEventEnd "useUndar"
}
## ===================================================== ##
## useUndar Behavior ##
## ===================================================== ##
event "useUndarBehavior" {
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
wizqEntityMove Zak "187.6 70.7 142.9" "wait"
wizqEntityOrientation Zak 90
}
oz'event {wizEntityStopFollow Zak}
}
oz'event {wizDisableMouse}
wizqEntityOrientation Lydia 210 "wait"
wizqEntitySetCycle Lydia standCycleNormal
# Wait for Block 1
wizqWaitQueue 2
chainEvent { wizEntityLookAt Lydia "189.4 70.7 166.3" }
wizqEntityChangeCycle Lydia crouchCycleNormal standToCrouch "wait"
wizqZoomIn "undarCloseUpNA" "garden.useUndarZoomOut"
oz'event {setCrossfadeCamera "undarCloseUp" 3000}
wizqTalkOpen
wizqTalkSay Lydia $::lng::useUndarL1 "sound/vo/$::LNG/scenes/garden/useUndarL1.ogg"
wizqTalkClose
}
## ===================================================== ##
## useUndar Zoom Out ##
## ===================================================== ##
event "useUndarZoomOut" {
chainEvent {
freezePlayer
wizDisableMouse
}
wizqEntitySetCycle Lydia crouchCycleNormal
wizqZoomOut "islandCloseUp"
chainEvent { hRemoveBack }
wizqDisableMouse
chainEvent { delay 100 }
wizqEntityChangeCycle Lydia standCycleNormal crouchToStand "wait"
chainEvent {
unfreezePlayer
wizEnableMouse
}
}
## ===================================================== ##
## useOrlos Zoom In ##
## ===================================================== ##
event "useOrlos" {
eventState [wizEventStart "useOrlos"]
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
oz'event {wizEntityStopFollow Zak}
wizqEntityMove Zak "212.6 70.7 156.9" "wait"
wizqEntityOrientation Zak 200
oz'event {wizEntityResumeFollow Zak}
}
}
wizqEntityMove Lydia "205.6 70.7 170.9" garden.useOrlosBehavior 2
wizqEventEnd "useOrlos"
}
## ===================================================== ##
## useOrlos Behavior ##
## ===================================================== ##
event "useOrlosBehavior" {
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
wizqEntityMove Zak "212.6 70.7 156.9" "wait"
wizqEntityOrientation Zak 200
}
oz'event {wizEntityStopFollow Zak}
}
oz'event {wizDisableMouse}
wizqEntityOrientation Lydia 330 "wait"
wizqEntitySetCycle Lydia standCycleNormal
# Wait for Block 1
wizqWaitQueue 2
wizqEntityChangeCycle Lydia crouchCycleNormal standToCrouch "wait"
wizqZoomIn "orlosCloseUpNA" "garden.useOrlosZoomOut"
oz'event {setCrossfadeCamera "orlosCloseUp" 3000}
wizqTalkOpen
wizqTalkSay Lydia $::lng::useOrlosL1 "sound/vo/$::LNG/scenes/garden/useOrlosL1.ogg"
wizqTalkClose
oz'event {wizEnableMouse}
oz'event {wizEntityResumeFollow Zak}
}
## ===================================================== ##
## useOrlos Zoom Out ##
## ===================================================== ##
event "useOrlosZoomOut" {
chainEvent {
freezePlayer
wizDisableMouse
}
wizqEntitySetCycle Lydia crouchCycleNormal
wizqZoomOut "islandCloseUp"
chainEvent { hRemoveBack }
wizqDisableMouse
chainEvent { delay 100 }
wizqEntityChangeCycle Lydia standCycleNormal crouchToStand "wait"
chainEvent {
unfreezePlayer
wizEnableMouse
}
}
## ===================================================== ##
## useDria Zoom In ##
## ===================================================== ##
event "useDria" {
eventState [wizEventStart "useDria"]
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
oz'event {wizEntityStopFollow Zak}
wizqEntityMove Zak "187.6 70.7 142.9" "wait"
wizqEntityOrientation Zak 180
oz'event {wizEntityResumeFollow Zak}
}
}
wizqEntityMove Lydia "181.6 70.7 155.9" garden.useDriaBehavior 2
wizqEventEnd "useDria"
}
## ===================================================== ##
## useDria Behavior ##
## ===================================================== ##
event "useDriaBehavior" {
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
wizqEntityMove Zak "187.6 70.7 142.9" "wait"
wizqEntityOrientation Zak 180
}
oz'event {wizEntityStopFollow Zak}
}
oz'event {wizDisableMouse}
wizqEntityOrientation Lydia 90 "wait"
wizqEntitySetCycle Lydia standCycleNormal
# Wait for Block 1
wizqWaitQueue 2
wizqEntityChangeCycle Lydia crouchCycleNormal standToCrouch "wait"
wizqZoomIn "driaCloseUpNA" "garden.useDriaZoomOut"
oz'event {setCrossfadeCamera "driaCloseUp" 3000}
wizqTalkOpen
wizqTalkSay Lydia $::lng::useDriaL1 "sound/vo/$::LNG/scenes/garden/useDriaL1.ogg"
wizqTalkClose
oz'event {wizEnableMouse}
oz'event {wizEntityResumeFollow Zak}
}
## ===================================================== ##
## useDria Zoom Out ##
## ===================================================== ##
event "useDriaZoomOut" {
chainEvent {
freezePlayer
wizDisableMouse
}
wizqEntitySetCycle Lydia crouchCycleNormal
wizqZoomOut "islandCloseUp"
chainEvent { hRemoveBack }
wizqDisableMouse
chainEvent { delay 100 }
wizqEntityChangeCycle Lydia standCycleNormal crouchToStand "wait"
chainEvent {
unfreezePlayer
wizEnableMouse
}
}
## ===================================================== ##
## Study Balconny ##
## ===================================================== ##
event "studyBalcony" {
if { [ozGet "puzzleNigilisTree"] == "complete" } {
setCamera "studyBalconyTree"
wizhCameraChange
} else {
setCamera "studyBalcony"
wizhCameraChange
}
chainEvent { delay 500 }
if {[ozGet "zakRoofWalk"] != "complete"} {
if { [ozGet "zakGardenPosition"] == "leftSide" } {
callEvent "gardenFearGoingRight"
} elseif { [ozGet "zakGardenPosition"] == "rightSide" } {
callEvent "gardenFearGoingRight"
}
ozSet "zakPresence" "away"
}
}
## ===================================================== ##
## Fear of Heights Dispatcher ##
## ===================================================== ##
event "gargoyles" {
if { [ozGet "puzzleNigilisTree"] == "complete" } {
setCamera "gargoylesTree"
wizhCameraChange
} else {
setCamera "gargoyles"
wizhCameraChange
}
chainEvent { delay 500 }
if {[ozGet "zakRoofWalk"] != "complete"} {
if { [ozGet "zakGardenPosition"] == "rightSide" } {
callEvent "gardenFearGoingLeft"
} elseif { [ozGet "zakGardenPosition"] == "leftSide" } {
callEvent "gardenFearGoingRight"
}
}
}
## ===================================================== ##
## camera flag ##
## ===================================================== ##
event "flag" {
setCamera "flag"
wizhCameraChange
wizEntityHide Npc
chainEvent { delay 500 }
if {[ozGet "zakRoofWalk"] != "complete"} {
ozSet "zakPresence" "away"
if { [ozGet "zakGardenPosition"] == "" } {
callEvent "gardenFearEntering"
} elseif { [ozGet "zakGardenPosition"] == "rightSide" } {
callEvent "gardenFearGoingLeft"
} elseif { [ozGet "zakGardenPosition"] == "leftSide" } {
callEvent "gardenFearGoingLeft"
}
}
}
## ===================================================== ##
## to grand hall studies ##
## ===================================================== ##
event "toGrandhallStudies" {
wizEntityResumeFollow Zak
wizEntityWalk Zak "244 144 151.9"
setScene "grandHall" worldStudies
}
## ===================================================== ##
## Camera ##
## ===================================================== ##
camera "ending" {
pos 206.7356 141.033 322.8264
aim 48.3625 -34.2672 65.5973
up 0.23 0.9218 0.312
fov 48.4555
layer background "ending" 0 0 0 0 0 0 0 0
cursor "dinnerRoomStairs/dinnerRoomStairsCursor.tga"
}
## ===================================================== ##
## small Island ##
## ===================================================== ##
event "smallIsland" {
if { [ozGet "puzzleNigilisTree"] == "complete" } {
setCamera "smallIslandTree"
wizhCameraChange
} else {
setCamera "smallIsland"
wizhCameraChange
}
if { [ozGet "zakPresence"] == "" && [ozGet noZakFollow] != 1} {
wizEntityResumeFollow Zak
}
}
## ===================================================== ##
## island Close Up Camera ##
## ===================================================== ##
event "islandCloseUp" {
if { [ozGet "puzzleNigilisTree"] == "complete" } {
setCamera "islandCloseUpTree"
wizhCameraChange
} else {
setCamera "islandCloseUp"
wizhCameraChange
}
}
## ===================================================== ##
## puzzle stage top ##
## ===================================================== ##
event "puzzleStageTop" {
setCamera "puzzleStageTop"
wizhCameraChange
}
## ===================================================== ##
## basement door camera ##
## ===================================================== ##
event "basementDoor" {
setCamera "basementDoor"
wizhCameraChange
}
## ===================================================== ##
## garden End camera ##
## ===================================================== ##
event "gardenEnd" {
setCamera "gardenEnd"
wizhCameraChange
if { [ozGet "visionOne"] == "viewed" && [ozGet "familiar"] == "" } {
wizqDisableMouse
chainEvent {
freezePlayer
wizEntityStopFollow Zak
}
# Block 1
wizqQueue 1 {
wizqEntityWalk Zak "204.6 70.4 475.7" "wait"
}
# Block 1-B
wizqQueue 2 {
wizqEntityWalk Lydia "205.6 70.4 463.7" "wait"
}
# Wait for Block 1 & 1-B
wizqWaitQueue 1
wizqWaitQueue 2
chainEvent {
unfreezePlayer
wizEntityResumeFollow Zak
}
chainCallEvent optionnalConversation.familiarBehavior
}
}
## ===================================================== ##
## small Brige Camera ##
## ===================================================== ##
event "smallBridge" {
if { [ozGet "puzzleNigilisTree"] == "complete" } {
setCamera "smallBridgeTree"
wizhCameraChange
} else {
setCamera "smallBridge"
wizhCameraChange
}
}
## ===================================================== ##
## path Camera ##
## ===================================================== ##
event "path" {
if { [ozGet "puzzleNigilisTree"] == "complete" } {
setCamera "pathTree"
wizhCameraChange
} else {
setCamera "path"
wizhCameraChange
}
wizEntityResumeFollow Zak
}
## ===================================================== ##
## nigilis Fruit Zoom In ##
## ===================================================== ##
event "nigilisFruitZoomIn" {
wizqZoomIn "fruitCloseUp" "garden.nigilisFruitZoomOut"
}
## ===================================================== ##
## nigilis Fruit Zoom Out ##
## ===================================================== ##
event "nigilisFruitZoomOut" {
wizqZoomOut "studyBalconyTree"
chainEvent { hRemoveBack }
}
################################################################################
## ========================================================================== ##
## NPC DIALOGUE SECTION ##
## ========================================================================== ##
################################################################################
# NONE FOR NOW
################################################################################
## ========================================================================== ##
## FORCED DIALOGUE SECTION ##
## ========================================================================== ##
################################################################################
## ===================================================== ##
## Zak Discovery && The Doll ##
## ===================================================== ##
event "zakDiscovery" {
ozSet "zakDiscovery" "initiated"
# Block 1
wizqQueue 1 {
wizqEntityWalk Lydia "201.6 70.4 352.5" "wait"
}
# Block 1-B
wizqQueue 2 {
wizqEntityWalk Zak "204.5 70.4 358.9" "wait"
Play3DSound "characters/Zak/zakSnif" Zak
wizqEntityAction Zak standSniffing "wait"
wizqEntityRun Zak "208 70.4 439"
}
# Wait for Block 1 & 1-B
wizqWaitQueue 1
wizqWaitQueue 2
# Block 2
wizqQueue 1 {
chainEvent { delay 1000 }
chainEvent {
setCamera "zakSearch"
wizhCameraChange
}
}
# Block 2- B
wizqQueue 2 {
wizqEntityRun Zak "214.5 70.4 421.7" "wait"
Play3DSound "characters/Zak/zakSnif" Zak
wizqEntityAction Zak standSniffing "wait"
wizqEntityWalk Zak "195 70.4 449" "wait"
}
# Block 2- C
wizqQueue 3 {
wizqEntityAction Lydia "standWhat" "wait"
wizqEntityWalk Lydia "200.6 70.4 430.5"
}
wizqTalkOpen
wizqTalkSay Lydia $::lng::zakDiscoveryL1 "sound/vo/$::LNG/scenes/garden/zakDiscoveryL1.ogg"
wizqTalkSay Zak $::lng::zakDiscoveryZ1 "sound/vo/$::LNG/scenes/garden/zakDiscoveryZ1.ogg"
wizqTalkClose
# Wait for Block 2 & 2-B & 2-C
wizqWaitQueue 1
wizqWaitQueue 2
wizqWaitQueue 3
# Block 3
wizqQueue 1 {
Play3DSound "characters/Zak/zakSnif" Zak
wizqEntityAction Zak standSniffing "wait"
wizqEntityWalk Zak "175.9 69.8 490.9"
}
# Block 3-B
wizqQueue 2 {
chainEvent { delay 500 }
chainEvent { wizEntityLookAt Lydia [wizEntityGetPosition Zak] }
Play3DSound "characters/Lydia/standHappy"
wizqEntityAction Lydia standHappy "wait"
wizqEntityWalk Lydia "198.4 70.4 455.5"
}
wizqTalkOpen
wizqTalkSay Lydia $::lng::zakDiscoveryL2 "sound/vo/$::LNG/scenes/garden/zakDiscoveryL2.ogg"
wizqTalkSay Zak $::lng::zakDiscoveryZ2 "sound/vo/$::LNG/scenes/garden/zakDiscoveryZ2.ogg"
wizqTalkClose
# Wait for Block 3 & 3-B
wizqWaitQueue 1
wizqWaitQueue 2
# Block 4
wizqQueue 1 {
chainEvent {
wizqEntityWalk Zak "175.9 69.8 490.9" "wait"
wizEntityLookAt Zak "184.9 70.3 480.9"
wizEntitySetCycle Zak sitCycleNormal
}
}
# Block 4-B
wizqQueue 2 {
chainEvent { delay 1000 }
wizqEntityRun Lydia "184.9 70.3 480.9"
chainEvent { delay 1000 }
chainEvent {
setCamera "dollFinding"
wizhCameraChange
}
chainEvent { wizEntityLookAt Lydia [wizEntityGetPosition Zak] }
wizqEntityRun Lydia "184.9 70.3 480.9" "wait"
chainEvent { wizEntityLookAt Lydia [wizEntityGetPosition Zak] }
wizqEntityChangeCycle Lydia crouchCycleNormal standToCrouch "wait"
}
wizqTalkOpen
wizqTalkSay Zak $::lng::zakDiscoveryZ3 "sound/vo/$::LNG/scenes/garden/zakDiscoveryZ3.ogg"
wizqTalkClose
# Wait for Block 4 & 4-B
wizqWaitQueue 1
wizqWaitQueue 2
# Block 6
wizqQueue 1 {
chainEvent { standardFadeout }
chainEvent {wizEntityHide Lydia}
chainEvent {wizEntityHide Zak}
chainEvent {
setCamera "dollCloseUp"
wizhCameraChange
standardFadein
delay 0
}
}
wizqTalkOpen
wizqTalkSay Lydia $::lng::zakDiscoveryL3 "sound/vo/$::LNG/scenes/garden/zakDiscoveryL3.ogg"
wizqTalkSay Lydia $::lng::zakDiscoveryL4 "sound/vo/$::LNG/scenes/garden/zakDiscoveryL4.ogg"
wizqTalkClose
# Wait for Block 6
wizqWaitQueue 1
# Block 7
wizqQueue 1 {
chainEvent { oz'track::stop $::music_track }
chainEvent { delay 1000 }
ozqSound::NewFX "/sound/sfx/dollGrab.ogg"
chainEvent { setCrossfadeCamera "dollCloseUpEmpty" }
}
wizqTalkOpen
wizqTalkSay Zak $::lng::zakDiscoveryZ4 "sound/vo/$::LNG/scenes/garden/zakDiscoveryZ4.ogg"
wizqTalkSay Zak $::lng::zakDiscoveryZ5 "sound/vo/$::LNG/scenes/garden/zakDiscoveryZ5.ogg"
wizqTalkClose
# Wait for Block 7
wizqWaitQueue 1
chainEvent { standardFadeout }
chainEvent {wizEntityShow Lydia}
chainEvent {wizEntityShow Zak}
ozSet "itemDoll" "pickedUp"
oz'event {SetModelLydia}
callEvent vision.firstVisionTeleport
}
## ===================================================== ##
## Nothing to Plant Alone ##
## ===================================================== ##
event "nothingToPlantAlone" {
# Block 1
wizqQueue 1 {
chainEvent { delay 100 }
wizqEntityChangeCycle Lydia crouchCycleNormal standToCrouch "wait"
}
wizqTalkOpen
wizqTalkSay Lydia $::lng::nothingToPlantAloneL1 "sound/vo/$::LNG/scenes/garden/nothingToPlantAloneL1.ogg"
wizqTalkClose
# Wait for Block 1
wizqWaitQueue 1
wizqEntityChangeCycle Lydia standCycleNormal crouchToStand "wait"
chainEvent {
unfreezePlayer
wizEnableMouse
wizEntityResumeFollow Zak
}
}
## ===================================================== ##
## Nothing to Plant ##
## ===================================================== ##
event "nothingToPlantZak" {
# Block 1
wizqQueue 1 {
chainEvent { delay 500 }
chainEvent { wizEntityLookAt Lydia [wizEntityGetPosition Zak] }
chainEvent { delay 500 }
wizqEntityAction Lydia standWhat "wait"
}
# Block 1-B
wizqQueue 2 {
chainEvent { delay 1000 }
chainEvent { wizEntityLookAt Zak [wizEntityGetPosition Lydia] }
}
wizqTalkOpen
wizqTalkSay Lydia $::lng::nothingToPlantZakL1 "sound/vo/$::LNG/scenes/garden/nothingToPlantZakL1.ogg"
# Wait for Block 1
wizqWaitQueue 1
wizqWaitQueue 2
# Block 2
wizqQueue 1 {
chainEvent { delay 500 }
wizqEntityAction Zak standYes "wait"
}
wizqTalkSay Zak $::lng::nothingToPlantZakZ1 "sound/vo/$::LNG/scenes/garden/nothingToPlantZakZ1.ogg"
wizqTalkClose
# Wait for Block 2
wizqWaitQueue 1
chainEvent { ozSet "plantGrowingProcess" "initiated" }
if { [getVar "howDoYouKnow"] == "" } {
callEvent "howDoYouKnow"
}
chainEvent {
unfreezePlayer
wizEnableMouse
wizEntityResumeFollow Zak
}
}
## ===================================================== ##
## Nigilis Bean not needed ##
## ===================================================== ##
event "nigilisBeanNotNeeded" {
# Block 1
wizqQueue 1 {
chainEvent { delay 500 }
chainEvent { wizEntityLookAt Lydia [wizEntityGetPosition Zak] }
}
# Block 1-B
wizqQueue 2 {
chainEvent { wizEntityLookAt Zak [wizEntityGetPosition Lydia] }
chainEvent { delay 1000 }
wizqEntityAction Zak standYes "wait"
}
wizqTalkOpen
wizqTalkSay Zak $::lng::nigilisBeanNotNeededZ1 "sound/vo/$::LNG/scenes/garden/nigilisBeanNotNeededZ1.ogg"
# Wait for Block 1 & 1-B
wizqWaitQueue 1
wizqWaitQueue 2
# Block 2
wizqQueue 1 {
wizqEntityAction Lydia standNo "wait"
wizqEntityAction Lydia standTalkHandHip "wait"
chainEvent { delay 1000 }
wizqEntityAction Lydia standTalkTwoHands "wait"
}
wizqTalkSay Lydia $::lng::nigilisBeanNotNeededL1 "sound/vo/$::LNG/scenes/garden/nigilisBeanNotNeededL1.ogg"
wizqTalkSay Lydia $::lng::nigilisBeanNotNeededL2 "sound/vo/$::LNG/scenes/garden/nigilisBeanNotNeededL2.ogg"
# Wait for Block 2
wizqWaitQueue 1
# Block 3
wizqQueue 1 {
wizqEntityAction Zak standTurnRightHoldShort "wait"
}
wizqTalkSay Zak $::lng::nigilisBeanNotNeededZ2 "sound/vo/$::LNG/scenes/garden/nigilisBeanNotNeededZ2.ogg"
if { [getVar "plantGrowingProcess"] == "" } {
ozSet "plantGrowingProcess" "initiated"
# Block 3
wizqQueue 2 {
chainEvent { delay 500 }
wizqEntityAction Lydia standHandOnChin "wait"
}
wizqTalkSay Zak $::lng::nigilisBeanNotNeededZ3 "sound/vo/$::LNG/scenes/garden/nigilisBeanNotNeededZ3.ogg"
}
wizqTalkClose
# Wait for Block 3 & 3-B
wizqWaitQueue 1
wizqWaitQueue 2
if { [getVar "howDoYouKnow"] == "" } {
callEvent "howDoYouKnow"
}
chainEvent {
unfreezePlayer
wizEnableMouse
wizEntityResumeFollow Zak
}
}
## ===================================================== ##
## Planting the Bean ##
## ===================================================== ##
event "plantingTheBean" {
ozSet "puzzleNigilisBean" "complete"
ozSet "itemNigilisBean" "planted"
ozSet "garden.useNigilisBean" "false"
if { [ozGet "potionMaking"] == "initiated" || [ozGet "potionMaking"] == "needed" } {
# Block 1
wizqQueue 1 {
chainEvent { delay 500 }
chainEvent { wizEntityLookAt Lydia [wizEntityGetPosition Zak] }
}
# Block 1-B
wizqQueue 2 {
chainEvent { wizEntityLookAt Zak [wizEntityGetPosition Lydia] }
chainEvent { delay 500 }
wizqEntityAction Zak standYes "wait"
}
wizqTalkOpen
wizqTalkSay Zak $::lng::plantingTheBeanZ1 "sound/vo/$::LNG/scenes/garden/plantingTheBeanZ1.ogg"
# Wait for Block 1 & 1-B
wizqWaitQueue 1
wizqWaitQueue 2
} else {
# Block 1
wizqQueue 1 {
chainEvent { delay 500 }
chainEvent { wizEntityLookAt Zak [wizEntityGetPosition Lydia] }
}
# Block 1-B
wizqQueue 2 {
chainEvent { wizEntityLookAt Lydia [wizEntityGetPosition Zak] }
chainEvent { delay 500 }
wizqEntityAction Lydia standTalkTwoHands "wait"
wizqEntityAction Lydia standYes "wait"
}
wizqTalkOpen
wizqTalkSay Lydia $::lng::plantingTheBeanL1 "sound/vo/$::LNG/scenes/garden/plantingTheBeanL1.ogg"
# Wait for Block 2 & 2-B
wizqWaitQueue 1
wizqWaitQueue 2
# Block 3
wizqQueue 1 {
chainEvent { delay 1000 }
wizqEntityAction Zak standYes "wait"
}
wizqTalkSay Zak $::lng::plantingTheBeanZ2 "sound/vo/$::LNG/scenes/garden/plantingTheBeanZ2.ogg"
# Block 3-B
wizqQueue 2 {
wizqEntityAction Lydia standWhat "wait"
}
wizqTalkSay Lydia $::lng::plantingTheBeanL2 "sound/vo/$::LNG/scenes/garden/plantingTheBeanL2.ogg"
# Wait for Block 3 & 3-B
wizqWaitQueue 1
wizqWaitQueue 2
# Block 4
wizqQueue 1 {
chainEvent { delay 1500 }
wizqEntityAction Zak standConfusedRight "wait"
}
wizqTalkSay Zak $::lng::plantingTheBeanZ3 "sound/vo/$::LNG/scenes/garden/plantingTheBeanZ3.ogg"
# Wait for Block 4
wizqWaitQueue 1
}
# Block 5
wizqQueue 1 {
wizqEntitySetOrientationTarget Zak Lydia
}
# Block 5-B
wizqQueue 2 {
wizqEntityAction Lydia standHandOnChin "wait"
wizqEntityWalk Lydia "195 70.7 153" "wait"
chainEvent { wizEntityLookAt Lydia "206.6 70.7 172.1" }
wizqEntityChangeCycle Lydia crouchCycleNormal standToCrouch "wait"
Play3DSound characters/lydia/crouchPlant
wizqEntityAction Lydia crouchPlant "wait"
}
wizqTalkSay Zak $::lng::plantingTheBeanZ4 "sound/vo/$::LNG/scenes/garden/plantingTheBeanZ4.ogg"
wizqTalkSay Lydia $::lng::plantingTheBeanL3 "sound/vo/$::LNG/scenes/garden/plantingTheBeanL3.ogg"
wizqTalkClose
# Wait for Block 5 & 5-B
wizqWaitQueue 1
wizqWaitQueue 2
wizqEntitySetOrientationTarget Zak None
# Block 6
wizqQueue 1 {
chainEvent { delay 100 }
wizqEntityChangeCycle Lydia standCycleNormal crouchToStand "wait"
chainEvent { wizEntityLookAt Lydia [wizEntityGetPosition Zak] }
}
wizqTalkOpen
wizqTalkSay Lydia $::lng::plantingTheBeanL4 "sound/vo/$::LNG/scenes/garden/plantingTheBeanL4.ogg"
# Wait for Block 6
wizqWaitQueue 1
if { [getVar "puzzleWaterLevel" ] == "complete" && [getVar "puzzleLightRune" ] == "complete" } {
wizqTalkClose
# Block 7
wizqQueue 1 {
wizqEntitySetOrientationTarget Zak Lydia
}
# Block 7-B
wizqQueue 2 {
wizqEntityWalk Lydia "190.6 70.7 147.9" "wait"
}
# Wait for Block 7 & 7-B
wizqWaitQueue 1
wizqWaitQueue 2
wizqEntitySetOrientationTarget Zak None
wizqTalkClose
chainCallEvent "magicalFormula"
return
} elseif { [getVar "puzzleLightRune"] == "complete" || [getVar "puzzleWaterLevel"] == "complete"} {
# Block 8
wizqQueue 1 {
chainEvent { wizEntityLookAt Zak [wizEntityGetPosition Lydia] }
chainEvent { delay 500 }
wizqEntityAction Zak standLoseHope "wait"
}
wizqTalkSay Zak $::lng::plantingTheBeanZ5 "sound/vo/$::LNG/scenes/garden/plantingTheBeanZ5.ogg"
# Block 8-B
wizqQueue 2 {
wizqEntityAction Lydia standTalkTwoHands "wait"
}
wizqTalkSay Lydia $::lng::plantingTheBeanL5 "sound/vo/$::LNG/scenes/garden/plantingTheBeanL5.ogg"
} else {
# Block 8
wizqQueue 1 {
chainEvent { wizEntityLookAt Zak [wizEntityGetPosition Lydia] }
chainEvent { delay 500 }
wizqEntityAction Zak standLoseHope "wait"
}
wizqTalkSay Zak $::lng::plantingTheBeanZ5 "sound/vo/$::LNG/scenes/garden/plantingTheBeanZ5.ogg"
# Block 8-B
wizqQueue 2 {
wizqEntityAction Lydia standTalkTwoHands "wait"
}
wizqTalkSay Lydia $::lng::plantingTheBeanL6 "sound/vo/$::LNG/scenes/garden/plantingTheBeanL6.ogg"
}
wizqTalkClose
# Wait for Block 8 & 8-B
wizqWaitQueue 1
wizqWaitQueue 2
# Block 9
wizqQueue 1 {
wizqEntitySetOrientationTarget Zak Lydia
}
# Block 9-B
wizqQueue 2 {
wizqEntityWalk Lydia "190.6 70.7 147.9" "wait"
}
# Wait for Block 9 & 9-B
wizqWaitQueue 1
wizqWaitQueue 2
wizqEntitySetOrientationTarget Zak None
chainEvent {
unfreezePlayer
wizEnableMouse
wizEntityResumeFollow Zak
}
}
## ===================================================== ##
## Light Rune puzzle ##
## ===================================================== ##
event "puzzleLightRuneTryZak" {
checkConversation "puzzleLightRuneTryZak" {
# Block 1
wizqQueue 1 {
chainEvent { delay 1000 }
chainEvent { wizEntityLookAt Lydia [wizEntityGetPosition Zak] }
}
# Block 1-B
wizqQueue 2 {
chainEvent { delay 500 }
chainEvent { wizEntityLookAt Zak [wizEntityGetPosition Lydia] }
chainEvent { delay 1000 }
wizqEntityAction Zak standConfusedLeft "wait"
}
wizqTalkOpen
wizqTalkSay Zak $::lng::puzzleLightRuneTryZ1 "sound/vo/$::LNG/scenes/garden/puzzleLightRuneTryZ1.ogg"
# Wait for Block 1
wizqWaitQueue 1
# Block 2
wizqQueue 1 {
wizqEntityAction Lydia standTalkTwoHands "wait"
wizqEntityAction Lydia standYes "wait"
}
wizqTalkSay Lydia $::lng::puzzleLightRuneTryL1 "sound/vo/$::LNG/scenes/garden/puzzleLightRuneTryL1.ogg"
wizqTalkClose
# Wait for Block 2 & 1-B
wizqWaitQueue 1
wizqWaitQueue 2
wizqEntityOrientation Zak 220
wizqEntityOrientation Lydia 270 "wait"
chainCallEvent "puzzleSlidersZoomIn"
}
}
## ===================================================== ##
## Light Rune puzzle ##
## ===================================================== ##
event "puzzleLightRuneTryAlone" {
checkConversation "puzzleLightRuneTryAlone" {
# Block 1
wizqQueue 1 {
wizqEntityAction Lydia standHandOnChin "wait"
}
wizqTalkOpen
wizqTalkSay Lydia $::lng::puzzleLightRuneTryAloneL1 "sound/vo/$::LNG/scenes/garden/puzzleLightRuneTryAloneL1.ogg"
wizqTalkClose
# Wait for Block 2
wizqWaitQueue 1
chainCallEvent "puzzleSlidersZoomIn"
}
}
## ===================================================== ##
## Light Breath Alone ##
## ===================================================== ##
event "lightBreathAlone" {
chainEvent {
freezePlayer
wizDisableMouse
}
chainEvent {
wizEntityShow Lydia
standardFadein
delay 0
}
# Block 1
wizqQueue 1 {
chainEvent { wizEntityLookAt Lydia "211.7 89.1 264.2" }
chainEvent { delay 1000 }
wizqEntityAction Lydia standTalkTwoHands "wait"
wizqEntityAction Lydia standHandOnChin "wait"
}
wizqTalkOpen
wizqTalkSay Lydia $::lng::lightBreathAloneL1 "sound/vo/$::LNG/scenes/garden/lightBreathAloneL1.ogg"
wizqTalkSay Lydia $::lng::lightBreathAloneL2 "sound/vo/$::LNG/scenes/garden/lightBreathAloneL2.ogg"
wizqTalkClose
# Wait for Block 1
wizqWaitQueue 1
wizqConvRemove "clues"
chainEvent {
unfreezePlayer
wizEnableMouse
}
}
## ===================================================== ##
## Light Breath Zak needed ##
## ===================================================== ##
event "lightBreathZakNeeded" {
chainEvent {
freezePlayer
wizDisableMouse
wizEntityStopFollow Zak
}
chainEvent {
wizhCameraChange
wizEntitySetPosition Zak "212.5 89.1 254.7"
wizEntityShow Zak
wizEntityShow Lydia
standardFadein
delay 0
}
# Block 1
wizqQueue 1 {
chainEvent { delay 1000 }
chainEvent { wizEntityLookAt Lydia [wizEntityGetPosition Zak] }
chainEvent { delay 500 }
wizqEntityAction Lydia standTalkTwoHands "wait"
chainEvent { delay 1000 }
wizqEntityAction Lydia standHandOnChin "wait"
}
# Block 1-B
wizqQueue 2 {
chainEvent { wizEntityLookAt Zak [wizEntityGetPosition Lydia] }
}
wizqTalkOpen
wizqTalkSay Lydia $::lng::lightBreathAloneL1 "sound/vo/$::LNG/scenes/garden/lightBreathAloneL1.ogg"
# Wait for Block 1-B
wizqWaitQueue 2
# Block 2-B
wizqQueue 2 {
chainEvent { delay 3500 }
wizqEntityAction Zak standNo "wait"
}
wizqTalkSay Zak $::lng::lightBreathMissingSomethingZ1 "sound/vo/$::LNG/scenes/garden/lightBreathMissingSomethingZ1.ogg"
# Wait for Block 1 & 2-B
wizqWaitQueue 1
wizqWaitQueue 2
if { [getVar "puzzleNigilisBean"] == "complete" || [getVar "puzzleWaterLevel"] == "complete" } {
# Block 2
wizqQueue 1 {
wizqEntityAction Lydia standTalkTwoHands "wait"
}
wizqTalkSay Lydia $::lng::plantingTheBeanL5 "sound/vo/$::LNG/scenes/garden/plantingTheBeanL5.ogg"
} else {
# Block 2
wizqQueue 1 {
wizqEntityAction Lydia standTalkTwoHands "wait"
}
wizqTalkSay Lydia $::lng::plantingTheBeanL6 "sound/vo/$::LNG/scenes/garden/plantingTheBeanL6.ogg"
}
wizqTalkClose
# Wait for Block 2
wizqWaitQueue 1
wizqConvRemove "clues"
chainEvent {
unfreezePlayer
wizEnableMouse
wizEntityResumeFollow Zak
}
}
## ===================================================== ##
## Light Breath Zak Not Needed ##
## ===================================================== ##
event "lightBreathZakNotNeeded" {
chainEvent {
freezePlayer
wizDisableMouse
wizEntityStopFollow Zak
}
chainEvent {
wizEntitySetPosition Zak "212.5 89.1 254.7"
wizEntityShow Zak
wizEntityShow Lydia
standardFadein
delay 0
}
# Block 1
wizqQueue 1 {
chainEvent { wizEntityLookAt Lydia [wizEntityGetPosition Zak] }
chainEvent { delay 500 }
wizqEntityAction Lydia standTalkTwoHands "wait"
}
# Block 1-B
wizqQueue 2 {
chainEvent { delay 500 }
chainEvent { wizEntityLookAt Zak [wizEntityGetPosition Lydia] }
}
wizqTalkOpen
wizqTalkSay Lydia $::lng::lightBreathAloneL1 "sound/vo/$::LNG/scenes/garden/lightBreathAloneL1.ogg"
# Wait for Block 1 & 1-B
wizqWaitQueue 1
wizqWaitQueue 2
if { [getVar "plantGrowingProcess"] == "" } {
ozSet "plantGrowingProcess" "initiated"
# Block 2
wizqQueue 1 {
chainEvent { delay 1500 }
wizqEntityAction Lydia standHandOnChin "wait"
}
wizqTalkSay Lydia $::lng::lightBreathZakNotNeededL1 "sound/vo/$::LNG/scenes/garden/lightBreathZakNotNeededL1.ogg"
wizqTalkSay Zak $::lng::lightBreathZakNotNeededZ1 "sound/vo/$::LNG/scenes/garden/lightBreathZakNotNeededZ1.ogg"
}
wizqTalkClose
# Wait for Block 2
wizqWaitQueue 1
if { [getVar "howDoYouKnow"] == "" } {
callEvent "howDoYouKnow"
}
chainEvent {
unfreezePlayer
wizEnableMouse
wizEntityResumeFollow Zak
}
}
## ===================================================== ##
## Water Needed Not Now ##
## ===================================================== ##
event "waterNeededNotNow" {
chainEvent {
freezePlayer
wizDisableMouse
wizEntityStopFollow Zak
}
# Block 1
wizqQueue 1 {
chainEvent { delay 500 }
chainEvent { wizEntityLookAt Lydia [wizEntityGetPosition Zak] }
chainEvent { delay 500 }
wizqEntityAction Lydia standTalkTwoHands "wait"
}
# Block 1-B
wizqQueue 2 {
chainEvent { wizEntityLookAt Zak [wizEntityGetPosition Lydia] }
}
wizqTalkOpen
wizqTalkSay Lydia $::lng::waterNeededNotNowL1 "sound/vo/$::LNG/scenes/garden/waterNeededNotNowL1.ogg"
# Wait for Block 1 & 1-B
wizqWaitQueue 1
wizqWaitQueue 2
# Block 2
wizqQueue 1 {
wizqEntityAction Lydia standYes "wait"
wizqEntityAction Lydia standTalkTwoHands
}
wizqTalkSay Lydia $::lng::waterNeededNotNowL2 "sound/vo/$::LNG/scenes/garden/waterNeededNotNowL2.ogg"
# Wait for Block 2
wizqWaitQueue 1
if { [getVar "puzzleNigilisBean" ] == "complete" && [getVar "puzzleLightRune" ] == "complete" } {
wizqTalkClose
ozSet "safeDistanceTree" "complete"
callEvent "magicalFormula"
return
}
if { [getVar "puzzleLightRune"] == "complete" || [getVar "puzzleNigilisBean"] == "complete" } {
# Block 3
wizqQueue 1 {
wizqEntityAction Lydia standTalkTwoHands "wait"
}
wizqTalkSay Lydia $::lng::plantingTheBeanL5 "sound/vo/$::LNG/scenes/garden/plantingTheBeanL5.ogg"
} else {
# Block 3
wizqQueue 1 {
wizqEntityAction Lydia standTalkTwoHands "wait"
}
wizqTalkSay Lydia $::lng::plantingTheBeanL6 "sound/vo/$::LNG/scenes/garden/plantingTheBeanL6.ogg"
}
wizqTalkClose
# Wait for Block 3
wizqWaitQueue 1
chainEvent {
unfreezePlayer
wizEnableMouse
wizEntityResumeFollow Zak
}
}
## ===================================================== ##
## Water Not Needed ##
## ===================================================== ##
event "waterNotNeeded" {
chainEvent {
freezePlayer
wizDisableMouse
wizEntityStopFollow Zak
}
chainEvent {
wizEntitySetPosition Zak "179.6 70.4 213.9"
}
# Block 1
wizqQueue 1 {
chainEvent { delay 500 }
chainEvent { wizEntityLookAt Lydia [wizEntityGetPosition Zak] }
wizqEntityAction Lydia standWhat "wait"
}
# Block 1-B
wizqQueue 2 {
chainEvent { wizEntityLookAt Zak [wizEntityGetPosition Lydia] }
}
wizqTalkOpen
wizqTalkSay Lydia $::lng::waterNotNeededL1 "sound/vo/$::LNG/scenes/garden/waterNotNeededL1.ogg"
wizqTalkClose
# Wait for Block 1 & 1-B
wizqWaitQueue 1
wizqWaitQueue 2
chainEvent {
unfreezePlayer
wizEnableMouse
wizEntityResumeFollow Zak
}
}
## ===================================================== ##
## Nigilis Tree Grown ##
## ===================================================== ##
event "nigilisTree" {
# Block 1
wizqQueue 1 {
chainEvent { delay 1000 }
chainEvent { wizEntityLookAt Lydia [wizEntityGetPosition Zak] }
}
# Block 1-B
wizqQueue 2 {
chainEvent { wizEntityLookAt Zak [wizEntityGetPosition Lydia] }
}
wizqTalkOpen
wizqTalkSay Zak $::lng::nigilisTreeZ1 "sound/vo/$::LNG/scenes/garden/nigilisTreeZ1.ogg"
# Wait for Block 1 & 1-B
wizqWaitQueue 1
wizqWaitQueue 2
# Block 2
wizqQueue 1 {
Play3DSound "characters/Lydia/standHappy"
wizqEntityAction Lydia standHappy "wait"
}
wizqTalkSay Lydia $::lng::nigilisTreeL1 "sound/vo/$::LNG/scenes/garden/nigilisTreeL1.ogg"
# Wait for Block 2
wizqWaitQueue 1
# Block 3
wizqQueue 1 {
wizqEntityRun Lydia "173.6 70.7 158.9" "wait"
chainEvent { wizEntityLookAt Lydia "208 70.7 160.2" }
wizqEntityAction Lydia standLookUp "wait"
}
# Block 3-B
wizqQueue 2 {
wizqEntityRun Zak "179 70.7 150.2" "wait"
chainEvent { wizEntityLookAt Zak "208 70.7 160.2" }
chainEvent { delay 2000 }
wizqEntityAction Zak standLookUp "wait"
}
if { [ozGet "potionMaking"] == "initiated" || [ozGet "potionMaking"] == "needed" } {
wizqTalkSay Zak $::lng::nigilisTreeZ2 "sound/vo/$::LNG/scenes/garden/nigilisTreeZ2.ogg"
} else {
wizqTalkSay Lydia $::lng::nigilisTreeL3 "sound/vo/$::LNG/scenes/garden/nigilisTreeL3.ogg"
}
wizqTalkClose
# Wait for Block 3 & 3-B
wizqWaitQueue 1
wizqWaitQueue 2
wizqTalkOpen
if { [ozGet "potionMaking"] == "initiated" || [ozGet "potionMaking"] == "needed" } {
# Block 4
wizqQueue 1 {
chainEvent { wizEntityLookAt Lydia [wizEntityGetPosition Zak] }
chainEvent { delay 1000 }
wizqEntityAction Lydia standNo "wait"
}
# Block 4-B
wizqQueue 2 {
chainEvent { delay 500 }
chainEvent { wizEntityLookAt Zak [wizEntityGetPosition Lydia] }
}
wizqTalkSay Lydia $::lng::nigilisTreeL2 "sound/vo/$::LNG/scenes/garden/nigilisTreeL2.ogg"
} else {
# Block 4
wizqQueue 1 {
chainEvent { wizEntityLookAt Lydia [wizEntityGetPosition Zak] }
chainEvent { delay 500 }
wizqEntityAction Lydia standWhat "wait"
}
# Block 4-B
wizqQueue 2 {
chainEvent { delay 500 }
chainEvent { wizEntityLookAt Zak [wizEntityGetPosition Lydia] }
}
wizqTalkSay Lydia $::lng::nigilisTreeL4 "sound/vo/$::LNG/scenes/garden/nigilisTreeL4.ogg"
}
# Wait for Block 4 & 4-B
wizqWaitQueue 1
wizqWaitQueue 2
# Block 5
wizqQueue 1 {
wizqEntityWalk Zak "188 70.7 140.9" "wait"
chainEvent { wizEntityLookAt Zak [wizEntityGetPosition Lydia] }
}
# Block 5-B
wizqQueue 2 {
wizqEntitySetOrientationTarget Lydia Zak
}
wizqTalkSay Zak $::lng::nigilisTreeZ3 "sound/vo/$::LNG/scenes/garden/nigilisTreeZ3.ogg"
# Wait for Block 5 & 5-B
wizqWaitQueue 1
wizqWaitQueue 2
wizqEntitySetOrientationTarget Lydia None
# Block 6
wizqQueue 1 {
wizqEntityAction Zak standYes
}
wizqTalkSay Zak $::lng::nigilisTreeZ4 "sound/vo/$::LNG/scenes/garden/nigilisTreeZ4.ogg"
# Wait for Block 6
wizqWaitQueue 1
# Block 6
wizqQueue 1 {
wizqEntityWalk Lydia "172.6 77.2 190.9" "wait"
chainEvent { wizEntityLookAt Lydia [wizEntityGetPosition Zak] }
}
# Block 6-B
wizqQueue 2 {
chainEvent { delay 5000 }
wizqEntityWalk Zak "173.7 77.2 179.7" "wait"
chainEvent { wizEntityLookAt Zak [wizEntityGetPosition Lydia] }
}
if { [ozGet "potionMaking"] == "initiated" || [ozGet "potionMaking"] == "needed" } {
wizqTalkSay Lydia $::lng::nigilisTreeL5 "sound/vo/$::LNG/scenes/garden/nigilisTreeL5.ogg"
wizqTalkSay Zak $::lng::nigilisTreeZ5 "sound/vo/$::LNG/scenes/garden/nigilisTreeZ5.ogg"
# Wait for Block 6 & 6-B
wizqWaitQueue 1
wizqWaitQueue 2
# Block 7
wizqQueue 1 {
chainEvent { delay 500 }
wizqEntityAction Zak standYes "wait"
}
wizqTalkSay Zak $::lng::nigilisTreeZ6 "sound/vo/$::LNG/scenes/garden/nigilisTreeZ6.ogg"
# Wait for Block 7
wizqWaitQueue 1
} else {
wizqTalkSay Lydia $::lng::nigilisTreeL7 "sound/vo/$::LNG/scenes/garden/nigilisTreeL7.ogg"
wizqTalkSay Zak $::lng::nigilisTreeZ7 "sound/vo/$::LNG/scenes/garden/nigilisTreeZ7.ogg"
}
# Block 7
wizqQueue 1 {
wizqEntityAction Lydia standArmCross "wait"
}
wizqTalkSay Lydia $::lng::nigilisTreeL6 "sound/vo/$::LNG/scenes/garden/nigilisTreeL6.ogg"
wizqTalkClose
# Wait for Block 7
wizqWaitQueue 1
# Block 8
wizqQueue 1 {
chainEvent { delay 1000 }
wizqEntityAction Lydia standNo "wait"
chainEvent { wizEntityLookAt Lydia "231.6 70.4 193.1" }
chainEvent {
setCamera "gargoylesTree"
wizhCameraChange
}
}
wizqTalkOpen
wizqTalkSay Lydia $::lng::nigilisTreeL8 "sound/vo/$::LNG/scenes/garden/nigilisTreeL8.ogg"
# Wait for Block 8
wizqWaitQueue 1
# Block 9
wizqQueue 1 {
wizqEntityAction Lydia standPoint "wait"
}
# Block 9-B
wizqQueue 2 {
chainEvent { wizEntityLookAt Zak "231.6 70.4 193.1" }
wizqEntityAction Zak standLookUp "wait"
}
wizqTalkSay Lydia $::lng::nigilisTreeL9 "sound/vo/$::LNG/scenes/garden/nigilisTreeL9.ogg"
wizqTalkClose
# Wait for Block 9 & 9-B
wizqWaitQueue 1
wizqWaitQueue 2
chainEvent {
setCamera "smallBridgeTree"
wizhCameraChange
}
chainEvent {
#all of this start in event "nigilisTreeMovie"
unfreezePlayer
wizEnableMouse
wizEntityResumeFollow Zak
ozSet "zakPresence" ""
}
oz'event {ozSet noZakFollow 0}
}
## ===================================================== ##
## get Magical Fruit ##
## ===================================================== ##
event "getMagicalFruit" {
checkConversation "getMagicalFruit" {
chainEvent {
wizEntityStopFollow Zak
freezePlayer
wizDisableMouse
}
ozSet "itemNigilisFruit" "pickedUp"
ozSet "mustavioLooseInSchool" "complete"
ozSet "garden.lookMagicalTree" "false"
# Block 1
wizqQueue 1 {
ozqSound::NewFX "sound/sfx/nigilisFruitPickup.ogg"
chainEvent { setCrossfadeCamera "fruitCloseUpTaken" }
}
wizqTalkOpen
wizqTalkSay Lydia $::lng::getMagicalFruitL1 "sound/vo/$::LNG/scenes/garden/getMagicalFruitL1.ogg"
# Wait for Block 1
wizqWaitQueue 1
# Block 2
wizqQueue 1 {
chainEvent { standardFadeout }
chainEvent { wizEntityLookAt Zak [wizEntityGetPosition Lydia] }
wizqEntitySetCycle Zak sitCycleNormal
chainEvent {
setCamera "studyBalconyTree"
wizhCameraChange
wizEntityShow Lydia
wizEntityShow Zak
hRemoveBack
delay 500
standardFadein
}
wizqEntityWalk Lydia "224.6 143.9 151.9" "wait"
chainEvent { wizEntityLookAt Lydia [wizEntityGetPosition Zak] }
wizqEntityAction Lydia standHandOnChin
}
if { [ozGet "potionMaking"] == "needed" || [ozGet "potionMaking"] == "initiated" } {
wizqTalkSay Lydia $::lng::getMagicalFruitL2 "sound/vo/$::LNG/scenes/garden/getMagicalFruitL2.ogg"
} else {
wizqTalkSay Lydia $::lng::getMagicalFruitL3 "sound/vo/$::LNG/scenes/garden/getMagicalFruitL3.ogg"
# Block 2-B
wizqQueue 2 {
wizqEntityAction Zak sitYes "wait"
}
wizqTalkSay Zak $::lng::getMagicalFruitZ1 "sound/vo/$::LNG/scenes/garden/getMagicalFruitZ1.ogg"
}
wizqTalkClose
# Wait for Block 2 & 2-B
wizqWaitQueue 1
wizqWaitQueue 2
wizqEntityAction Zak sitDisbelief "wait"
wizqEntityAction Lydia standHandOnChin
# Block 3
wizqQueue 1 {
chainEvent { delay 1000 }
wizqEntityAction Zak sitLoseHope "wait"
chainEvent { delay 1500 }
wizqEntityAction Zak sitNo "wait"
}
wizqTalkOpen
wizqTalkSay Zak $::lng::getMagicalFruitZ2 "sound/vo/$::LNG/scenes/garden/getMagicalFruitZ2.ogg"
# Wait for Block 3
wizqWaitQueue 1
# Block 4
wizqQueue 1 {
wizqEntityAction Lydia standYes "wait"
wizqEntityAction Lydia standTalkHandHip "wait"
chainEvent { delay 500 }
wizqEntityAction Lydia standTalkTwoHands "wait"
}
# Block 4-B
wizqQueue 2 {
chainEvent { delay 3000 }
wizqEntityChangeCycle Zak standCycleNormal sitToStand "wait"
}
wizqTalkSay Lydia $::lng::getMagicalFruitL4 "sound/vo/$::LNG/scenes/garden/getMagicalFruitL4.ogg"
wizqTalkSay Lydia $::lng::getMagicalFruitL5 "sound/vo/$::LNG/scenes/garden/getMagicalFruitL5.ogg"
# Wait for Block 4 & 4-B
wizqWaitQueue 1
wizqWaitQueue 2
# Block 5
wizqQueue 1 {
wizqEntityAction Zak standYes "wait"
}
wizqTalkSay Zak $::lng::getMagicalFruitZ3 "sound/vo/$::LNG/scenes/garden/getMagicalFruitZ3.ogg"
wizqTalkClose
# Wait for Block 5
wizqWaitQueue 1
}
chainEvent {
wizEntityResumeFollow Zak
unfreezePlayer
wizEnableMouse
}
chainEvent {
ozqSound::NewFX "sound/interface/itemPickUp.ogg"
iq'showdesc nigilisFruit
}
}
## ===================================================== ##
## Magical Formula ##
## ===================================================== ##
event "magicalFormula" {
chainEvent {
freezePlayer
wizDisableMouse
wizEntityStopFollow Zak
}
chainEvent { wizEntityLookAt Lydia "194.6 70.7 154.8" }
chainEvent { delay 500 }
chainEvent { wizEntityLookAt Zak "194.6 70.7 154.8" }
chainEvent { delay 1000 }
wizqEntityAction Lydia standArmCross "wait"
chainEvent { delay 1000 }
# Block 1
wizqQueue 1 {
chainEvent { wizEntityLookAt Lydia [wizEntityGetPosition Zak] }
chainEvent { delay 500 }
wizqEntityAction Lydia standTalkTwoHands "wait"
}
# Block 1-B
wizqQueue 2 {
chainEvent { wizEntityLookAt Zak [wizEntityGetPosition Lydia] }
}
wizqTalkOpen
wizqTalkSay Lydia $::lng::magicalFormulaL1 "sound/vo/$::LNG/scenes/garden/magicalFormulaL1.ogg"
# Wait for Block 1
wizqWaitQueue 1
wizqWaitQueue 2
wizqTalkSay Zak $::lng::magicalFormulaZ1 "sound/vo/$::LNG/scenes/garden/magicalFormulaZ1.ogg" fastout
# Block 2
wizqQueue 1 {
wizqEntityAction Lydia standTalkHandHip "wait"
}
wizqTalkSay Lydia $::lng::magicalFormulaL2 "sound/vo/$::LNG/scenes/garden/magicalFormulaL2.ogg" fastboth
# Block 2
wizqQueue 1 {
chainEvent { delay 1000 }
wizqEntityAction Zak standNo "wait"
}
wizqTalkSay Zak $::lng::magicalFormulaZ2 "sound/vo/$::LNG/scenes/garden/magicalFormulaZ2.ogg" fastin
# Wait for Block 2 & 2-B
wizqWaitQueue 1
wizqWaitQueue 2
wizqTalkSay Lydia $::lng::magicalFormulaL3 "sound/vo/$::LNG/scenes/garden/magicalFormulaL3.ogg"
oz'event {ozSet noZakFollow 1}
if { [ozGet "safeDistanceTree"] == "complete" } {
wizqTalkClose
wizqEntitySetOrientationTarget Zak Lydia
wizqEntityWalk Lydia "208.6 70.4 195.9" "wait"
# Block 4
wizqQueue 1 {
chainEvent { delay 500 }
wizqEntityAction Zak Yes "wait"
}
# Block 4-B
wizqQueue 2 {
chainEvent { wizEntityLookAt Lydia [wizEntityGetPosition Zak] }
}
wizqTalkOpen
wizqTalkSay Zak $::lng::magicalFormulaZ4 "sound/vo/$::LNG/scenes/garden/magicalFormulaZ4.ogg"
} else {
# Block 3
wizqQueue 1 {
wizqEntityWalk Zak "200.8 70.4 211.8" "wait"
wizqEntitySetOrientationTarget Zak Lydia
}
# Block 3-B
wizqQueue 2 {
chainEvent { delay 1000 }
wizqEntityRun Lydia "208.6 70.4 195.9" "wait"
}
wizqTalkSay Zak $::lng::magicalFormulaZ3 "sound/vo/$::LNG/scenes/garden/magicalFormulaZ3.ogg"
wizqTalkClose
# Wait for Block 3 & 3-B
wizqWaitQueue 1
wizqWaitQueue 2
wizqEntitySetOrientationTarget Zak None
# Block 4
wizqQueue 1 {
chainEvent { wizEntityLookAt Zak [wizEntityGetPosition Lydia] }
chainEvent { delay 500 }
wizqEntityAction Zak Yes "wait"
}
# Block 4-B
wizqQueue 2 {
chainEvent { wizEntityLookAt Lydia [wizEntityGetPosition Zak] }
}
wizqTalkOpen
wizqTalkSay Zak $::lng::magicalFormulaZ4 "sound/vo/$::LNG/scenes/garden/magicalFormulaZ4.ogg"
}
# Wait for Block 3 & 3-B
wizqWaitQueue 1
wizqWaitQueue 2
wizqEntitySetOrientationTarget Zak None
# Block 5
wizqQueue 1 {
wizqEntityAction Lydia standHandOnChin "wait"
}
# Block 5-B
wizqQueue 2 {
chainEvent { delay 500 }
wizqEntityAction Zak standYes "wait"
}
wizqTalkSay Zak $::lng::magicalFormulaZ5 "sound/vo/$::LNG/scenes/garden/magicalFormulaZ5.ogg"
# Wait for Block 5
wizqWaitQueue 1
chainEvent { wizEntityLookAt Lydia "195 70.7 153" }
chainEvent { wizEntityLookAt Zak "195 70.7 153" }
chainEvent { delay 500 }
# Block 6
wizqQueue 1 {
wizqEntityAction Lydia standTalkTwoHands "wait"
wizqEntityAction Lydia standTalkTwoHands
}
wizqQueue 2 {
oz'event {oz'delay 0.5}
Play3DSound characters/lydia/incantation
}
wizqTalkSay Lydia $::lng::magicalFormulaL4 "sound/vo/$::LNG/scenes/garden/magicalFormulaL4.ogg"
wizqTalkClose
# Wait for Block 6
wizqWaitQueue 1
wizqWaitQueue 2
chainCallEvent "nigilisTreeMovie"
}
## ===================================================== ##
## Magical Formula ##
## ===================================================== ##
event "gardenFearEntering" {
chainEvent { wizEntityStopFollow Zak }
ozSet "zakGardenPosition" "leftSide"
wizqEntityRun Zak "301.8 147.2 209.4" "wait"
wizqEntitySetCycle Zak lieCycleFear
}
################################################################################
## ========================================================================== ##
## OPTIONNAL DIALOGUE SECTION ##
## ========================================================================== ##
################################################################################
## ===================================================== ##
## How do you know ##
## ===================================================== ##
event "howDoYouKnow" {
chainEvent {
freezePlayer
wizDisableMouse
wizEntityStopFollow Zak
}
ozSet "howDoYouKnow" "discussed"
# Block 1
wizqQueue 1 {
chainEvent { wizEntityLookAt Lydia [wizEntityGetPosition Zak] }
chainEvent { delay 500 }
wizqEntityAction Lydia standWhat "wait"
}
# Block 1-B
wizqQueue 2 {
chainEvent { delay 500 }
chainEvent { wizEntityLookAt Zak [wizEntityGetPosition Lydia] }
}
wizqTalkOpen
wizqTalkSay Lydia $::lng::howDoYouKnowTriggerL1 "sound/vo/$::LNG/scenes/garden/howDoYouKnowTriggerL1.ogg"
wizqTalkSay Lydia $::lng::howDoYouKnowL1 "sound/vo/$::LNG/scenes/garden/howDoYouKnowL1.ogg"
# Wait for Block 1 & 1-B
wizqWaitQueue 1
wizqWaitQueue 2
# Block 2
wizqQueue 1 {
wizqEntityAction Zak standConfusedLeft "wait"
chainEvent { delay 3000 }
wizqEntityAction Zak standYes "wait"
}
wizqTalkSay Zak $::lng::howDoYouKnowZ1 "sound/vo/$::LNG/scenes/garden/howDoYouKnowZ1.ogg"
# Block 2-B
wizqQueue 2 {
wizqEntityAction Lydia standTalkHandHip "wait"
}
wizqTalkSay Lydia $::lng::howDoYouKnowL2 "sound/vo/$::LNG/scenes/garden/howDoYouKnowL2.ogg"
# Wait for Block 2 & 2-B
wizqWaitQueue 1
wizqWaitQueue 2
# Block 3
wizqQueue 1 {
wizqEntityAction Lydia standTalkTwoHands "wait"
wizqEntityAction Lydia standYes "wait"
}
wizqTalkSay Lydia $::lng::howDoYouKnowL3 "sound/vo/$::LNG/scenes/garden/howDoYouKnowL3.ogg"
wizqTalkSay Zak $::lng::howDoYouKnowZ2 "sound/vo/$::LNG/scenes/garden/howDoYouKnowZ2.ogg"
wizqTalkClose
# Wait for Block 2
wizqWaitQueue 1
chainEvent {
unfreezePlayer
wizEnableMouse
wizEntityResumeFollow Zak
}
}
event "useBean" {
setCamera "islandCloseUp"
}
################################################################################
## ========================================================================== ##
## CAMERA ##
## ========================================================================== ##
################################################################################
camera "driaCloseUpNA" {
pos 181.6167 80.0358 157.4484
aim 1.4479 -2.7247 0
up 0.8831 0.4693 0
fov 48.4555
layer background "driaCloseUp/driaCloseUp" 0 0 0 0 0 0 0 0
cursor "driaCloseUp/driaCloseUpCursor.tga"
}
camera "undarCloseUpNA" {
pos 203.4733 81.1714 146.1205
aim -9.6923 -50.5414 13.7397
up -0.547 0.3157 0.7754
fov 48.4555
layer background "undarCloseUp/undarCloseUp" 0 0 0 0 0 0 0 0
cursor "undarCloseUp/undarCloseUpCursor.tga"
}
camera "orlosCloseUpNA" {
pos 203.024 80.4011 169.1231
aim -1.4712 -9.3123 -2.7669
up -0.445 0.3189 -0.8368
fov 48.4555
layer background "orlosCloseUp/orlosCloseUp" 0 0 0 0 0 0 0 0
cursor "orlosCloseUp/orlosCloseUpCursor.tga"
}
################################################################################
## ========================================================================== ##
## TO ADD/ CORRECTIONS NEEDED ##
## ========================================================================== ##
################################################################################
# NONE FOR NOW
################################################################################
## ========================================================================== ##
## TO CHECK ##
## ========================================================================== ##
################################################################################
# NONE FOR NOW