home *** CD-ROM | disk | FTP | other *** search
/ CyberMycha 2006 April / SGP.iso / dema / Keepsake-Demo-en-li-v1.0.exe / res / scripts / inGameWalkthrough.tcl < prev    next >
Text File  |  2005-12-06  |  33KB  |  736 lines

  1. ################################################################################
  2. #                                                                             ##
  3. #    file   ingameWalkthrough.tcl                                             ##
  4. #    brief  Events for the ingame Walkthrough.                                ##
  5. #                                                                             ##
  6. ################################################################################
  7.  
  8. source "[PUZZLES]/basement.clues.tcl"
  9. source "[PUZZLES]/crescentCoastWaterway.clues.tcl"
  10. source "[PUZZLES]/enchantedHallway.clues.tcl"
  11. source "[PUZZLES]/garden.clues.tcl"
  12. source "[PUZZLES]/gardenWatch.clues.tcl"
  13. source "[PUZZLES]/mill.clues.tcl"
  14.  
  15. ## ===================================================== ##
  16. ##   INIT                                                ##
  17. ## ===================================================== ##
  18.  
  19. event "init" {
  20. }
  21.  
  22. ## ===================================================== ##
  23. ##   REMOVE FROM HERE!                                   ##
  24. ## ===================================================== ##
  25.  
  26. event "nevermind" {
  27.     iactive interface.help true
  28.     ozIMenu enable help
  29.     wizqConvClose 1
  30. }
  31.  
  32. proc simpleClueUse {} {
  33.     wizqTalkOpen
  34.     wizqTalkSay Unknown $::lng::simpleClueUse ""
  35.     wizqTalkClose
  36. }
  37.  
  38. proc simpleCluePickup {} {
  39.     wizqTalkOpen
  40.     wizqTalkSay Unknown $::lng::simpleCluePickup ""
  41.     wizqTalkClose
  42. }
  43.  
  44. proc simpleClueInfo {} {
  45.     wizqTalkOpen
  46.     wizqTalkSay Unknown $::lng::simpleClueInfo ""
  47.     wizqTalkClose
  48. }
  49.  
  50. proc simpleClueNoInfo {} {
  51.     wizqTalkOpen
  52.     wizqTalkSay Unknown $::lng::simpleClueNoInfo ""
  53.     wizqTalkClose
  54. }
  55.  
  56. proc simpleClueNoPrereq {} {
  57.     wizqTalkOpen
  58.     wizqTalkSay Unknown $::lng::simpleClueNoPrereq ""
  59.     wizqTalkClose
  60. }
  61.  
  62. proc giveClue {clueName} {
  63.     ozIMenu disable back
  64.     iactive interface.back false
  65.     wizqConvRemove "clues"
  66.     oz'event {oz'delay 0.01}
  67.     if {[ozGet $clueName] == "" || [ozGet $clueName] == 2} {
  68.         wizqConvAdd "clues" $::lng::generalClue1 "inGameWalkthrough.${clueName}1"
  69.     }
  70.     if {[ozGet $clueName] == 2 || [ozGet $clueName] == 3} {
  71.         wizqConvAdd "clues" $::lng::generalClue2 "inGameWalkthrough.${clueName}2"
  72.     }
  73.     if {[ozGet $clueName] == 3 || [ozGet $clueName] == 4} {
  74.         wizqConvAdd "clues" $::lng::generalClue3 "inGameWalkthrough.${clueName}3"
  75.     }
  76.     if {[ozGet $clueName] == 4 || [ozGet $clueName] == 5} {
  77.         wizqConvAdd "clues" $::lng::generalClue4 "inGameWalkthrough.${clueName}4"
  78.     }
  79.     oz'event {
  80.         hConvUpdate
  81.         ozIMenu disable talk
  82.         iactive interface.talk false
  83.     }
  84.     wizqConvOpen 1
  85. }
  86.  
  87. # Macros
  88.  
  89. proc millPuzzleCluesCheck {} {
  90.     if {[ozGet pzlMillMachineE] != 1} {
  91.         simpleClueNoPrereq
  92.     } else {
  93.         giveClue millPuzzleCloseUpClue
  94.     }
  95. }
  96.  
  97. proc pantryLiftCluesCheck {} {
  98.     if { [ozGet "puzzlePowerSurge"] == "complete" } {
  99.         simpleClueUse
  100.     } else {
  101.         simpleClueNoPrereq
  102.     }
  103. }
  104.  
  105. proc actionButtonCluesCheck {} {
  106.     if { [getVar "nightingaleClassPassword"] != "discussed" } {
  107.         simpleClueNoPrereq
  108.     } else {
  109.         simpleClueUse
  110.     }
  111. }
  112.  
  113. proc observatoryLensCloseUpClueCheck {} {
  114.     if { [ozGet "itemObservatoryClue"] == "pickedUp" } {
  115.         giveClue lensCloseUpClue
  116.     } else {
  117.         simpleClueNoPrereq
  118.     }
  119. }
  120.  
  121. proc artPortraitPuzzleCheck {} {
  122.     if { [ozGet "artRoomCeleste"] == "complete" && [ozGet "paintPuzzle"] == "complete"} {
  123.         giveClue artPortraitClue
  124.     } else {
  125.         simpleClueNoPrereq
  126.     }
  127. }
  128.  
  129. proc solariumFlowersPuzzlecheck {} {
  130.     if {[ozGet "itemSolariumClue"] != "pickedUp"} {
  131.         simpleClueNoPrereq
  132.     } {
  133.         giveClue solariumFlowersClue
  134.     }
  135. }
  136.  
  137. proc sanctuaryFinalClue {} {
  138.     wizqTalkOpen
  139.         wizqTalkSay Unknown $::lng::sanctuaryClue3L1 ""
  140.     wizqTalkClose
  141. }
  142.  
  143. proc trialBridgeClueRequirementCheck {} {
  144.     if { [ozGet "zakRoofWalk"] == "complete"} {
  145.         giveClue trialBridgeClue
  146.     } else {
  147.         simpleClueNoPrereq
  148.     }
  149. }
  150. ## ===================================================== ##
  151. ##   Walkthru                                            ##
  152. ## ===================================================== ##
  153.  
  154. proc Walkthru {} {
  155.     # ZoomOut!
  156.     if {[ozGet "sysCamera"] == "house"}                   {
  157.         if {[ozIConv isVisible]} {
  158.             wizqConvRemove "clues"
  159.             wizqConvClose 1
  160.         } else {
  161.             giveClue trialTriumphClue
  162.  
  163.             }
  164.         ozIMenu enable help
  165.         iactive interface.help true
  166.             
  167.         return
  168.     }
  169.  
  170.     # Zoomin!
  171.     if {[ozGet "interface.backevent"] != ""} {
  172.         if {[ozIConv isVisible]} {
  173.             wizqConvRemove "clues"
  174.             wizqConvClose 1
  175.         } else {
  176.             ##############################
  177.             # First Stage clues
  178.             if     {[ozGet "sysCamera"] == "brassKey"}                {simpleCluePickup} \
  179.             elseif {[ozGet "sysCamera"] == "cabinetCloseUp"}          {simpleClueUse} \
  180.             elseif {[ozGet "sysCamera"] == "cabinetCloseUpOpen"}      {simpleCluePickup} \
  181.             elseif {[ozGet "sysCamera"] == "cabinetCloseUpTaken"}     {simpleClueNoInfo} \
  182.             elseif {[ozGet "sysCamera"] == "circletCloseUp"}          {giveClue circletClue} \
  183.             elseif {[ozGet "sysCamera"] == "circletDoorOpen"}         {simpleCluePickup} \
  184.             elseif {[ozGet "sysCamera"] == "cornerLeverCloseUp"}      {
  185.                 if {[ozGet "pumpPuzzleDone"] == "ok"} {
  186.                     simpleClueUse
  187.                 } else {
  188.                     simpleClueNoPrereq
  189.                 }
  190.             } \
  191.             elseif {[ozGet "sysCamera"] == "crateMustavio"}           {simpleClueInfo} \
  192.             elseif {[ozGet "sysCamera"] == "doorBellOpened"}          {giveClue doorBellClue} \
  193.             elseif {[ozGet "sysCamera"] == "doorBellClosed"}          {simpleClueUse} \
  194.             elseif {[ozGet "sysCamera"] == "driaCloseUp"}             {simpleClueInfo} \
  195.             elseif {[ozGet "sysCamera"] == "fruitCloseUp"}            {simpleCluePickup} \
  196.             elseif {[ozGet "sysCamera"] == "gardenLever"}             {simpleClueUse} \
  197.             elseif {[ozGet "sysCamera"] == "gateLever"}               {simpleClueUse} \
  198.             elseif {[ozGet "sysCamera"] == "leverCloseUpA"}           {trialBridgeClueRequirementCheck} \
  199.             elseif {[ozGet "sysCamera"] == "leverCloseUpB"}           {trialBridgeClueRequirementCheck} \
  200.             elseif {[ozGet "sysCamera"] == "leverCloseUpC"}           {trialBridgeClueRequirementCheck} \
  201.             elseif {[ozGet "sysCamera"] == "leverCloseUpD"}           {trialBridgeClueRequirementCheck} \
  202.             elseif {[ozGet "sysCamera"] == "leverMachineCloseUp"}     {simpleClueUse} \
  203.             elseif {[ozGet "sysCamera"] == "magicalStaffCloseUp"}     {simpleCluePickup} \
  204.             elseif {[ozGet "sysCamera"] == "mantraCloseUp"}           {simpleClueInfo} \
  205.             elseif {[ozGet "sysCamera"] == "millStoreRoomCloseUp"}    {simpleClueUse} \
  206.             elseif {[ozGet "sysCamera"] == "millStoreRoomCloseUpRightOpened"} {simpleClueUse} \
  207.             elseif {[ozGet "sysCamera"] == "millStoreRoomCloseUpLeftOpened"} {simpleCluePickup} \
  208.             elseif {[ozGet "sysCamera"] == "minotaurMazeCloseUp"}     {
  209.               if {[ozGet "minotaurMazeFigurines"] == ""} {
  210.                   simpleClueNoPrereq
  211.               } else {
  212.                   giveClue minotaurMazeCloseUpClue
  213.               }
  214.             } \
  215.             elseif {[ozGet "sysCamera"] == "mustavioBarrels"}         {simpleClueInfo} \
  216.             elseif {[ozGet "sysCamera"] == "nightingaleLockCloseUp"}  {giveClue nigthingaleClue} \
  217.             elseif {[ozGet "sysCamera"] == "notebookCloseUp"}         {simpleCluePickup} \
  218.             elseif {[ozGet "sysCamera"] == "notesCloseUp"}            {simpleCluePickup} \
  219.             elseif {[ozGet "sysCamera"] == "orlosCloseUp"}            {simpleClueInfo} \
  220.             elseif {[ozGet "sysCamera"] == "plantsCloseUp"}           {simpleCluePickup} \
  221.             elseif {[ozGet "sysCamera"] == "postCloseUp"}             {simpleClueUse} \
  222.             elseif {[ozGet "sysCamera"] == "puzzleChimera"}           {simpleClueUse} \
  223.             elseif {[ozGet "sysCamera"] == "puzzleBook"}              {giveClue trialWisdomClue} \
  224.             elseif {[ozGet "sysCamera"] == "puzzleCloseUpA"}          {millPuzzleCluesCheck} \
  225.             elseif {[ozGet "sysCamera"] == "puzzleCloseUpB"}          {millPuzzleCluesCheck} \
  226.             elseif {[ozGet "sysCamera"] == "puzzleCloseUpC"}          {millPuzzleCluesCheck} \
  227.             elseif {[ozGet "sysCamera"] == "puzzleCloseUpD"}          {millPuzzleCluesCheck} \
  228.             elseif {[ozGet "sysCamera"] == "puzzleCloseUpE"}          {millPuzzleCluesCheck} \
  229.             elseif {[ozGet "sysCamera"] == "puzzleCloseUpF"}          {millPuzzleCluesCheck} \
  230.             elseif {[ozGet "sysCamera"] == "puzzleCloseUpG"}          {millPuzzleCluesCheck} \
  231.             elseif {[ozGet "sysCamera"] == "puzzleCloseUpH"}          {millPuzzleCluesCheck} \
  232.             elseif {[ozGet "sysCamera"] == "puzzleGearCloseUp"}       {simpleClueUse} \
  233.             elseif {[ozGet "sysCamera"] == "puzzleGearCloseUpOpened"} {
  234.                 if {[ozGet "puzzlePowerSurge"] != "complete" } {
  235.                     simpleClueNoPrereq
  236.                 } else {
  237.                     giveClue puzzleGearClue
  238.                 }
  239.             } \
  240.             elseif {[ozGet "sysCamera"] == "puzzleGoat"}              {giveClue trialAllegianceClue} \
  241.             elseif {[ozGet "sysCamera"] == "puzzleGoatShadow"}        {giveClue trialAllegianceClue} \
  242.             elseif {[ozGet "sysCamera"] == "puzzleLion"}              {giveClue trialAllegianceClue} \
  243.             elseif {[ozGet "sysCamera"] == "puzzleLionShadow"}        {giveClue trialAllegianceClue} \
  244.             elseif {[ozGet "sysCamera"] == "puzzleMillWeightCloseUp"} {giveClue millWeightClue} \
  245.             elseif {[ozGet "sysCamera"] == "puzzleSerpent"}           {giveClue trialAllegianceClue} \
  246.             elseif {[ozGet "sysCamera"] == "puzzleSerpentShadow"}     {giveClue trialAllegianceClue} \
  247.             elseif {[ozGet "sysCamera"] == "puzzleSliders"}           {giveClue puzzleSlidersClue} \
  248.             elseif {[ozGet "sysCamera"] == "resetLiftCloseUp"}        {pantryLiftCluesCheck} \
  249.             elseif {[ozGet "sysCamera"] == "resetLiftCloseUpLiftUp"}  {pantryLiftCluesCheck} \
  250.             elseif {[ozGet "sysCamera"] == "resetLiftCloseUpCauldron"} {pantryLiftCluesCheck} \
  251.             elseif {[ozGet "sysCamera"] == "resetLiftCloseUpLowered"} {pantryLiftCluesCheck} \
  252.             elseif {[ozGet "sysCamera"] == "tableCloseUp"}            {simpleCluePickup} \
  253.             elseif {[ozGet "sysCamera"] == "tableCloseUpNotes"}       {simpleCluePickup} \
  254.             elseif {[ozGet "sysCamera"] == "tableCloseUpScroll"}      {simpleCluePickup} \
  255.             elseif {[ozGet "sysCamera"] == "tableCloseUpScrollNotes"} {simpleCluePickup} \
  256.             elseif {[ozGet "sysCamera"] == "toolCloseUp"}             {
  257.                 if { [getVar "mustavioCanRepair"] == "discussed" } {
  258.                     simpleCluePickup
  259.                 } else {
  260.                     simpleClueNoPrereq
  261.                 }
  262.             } \
  263.             elseif {[ozGet "sysCamera"] == "undarCloseUp"}            {simpleClueInfo} \
  264.             elseif {[ozGet "sysCamera"] == "wineCavePuzzleCloseUp"}   {
  265.                 if {[ozGet "itemWineCaveClue"] != "pickedUp"} {
  266.                     simpleClueNoPrereq
  267.                 } {
  268.                     giveClue wineCaveClue
  269.                 }
  270.             } \
  271.             elseif {[ozGet "sysCamera"] == "zakNotesCloseUp"}         {simpleCluePickup} \
  272.             elseif {[ozGet "sysCamera"] == "activationBottle"}        {actionButtonCluesCheck} \
  273.             elseif {[ozGet "sysCamera"] == "activationBottleTaken"}   {actionButtonCluesCheck} \
  274.             elseif {[ozGet "sysCamera"] == "activationDragonLair"}    {actionButtonCluesCheck} \
  275.             elseif {[ozGet "sysCamera"] == "activationCloseUp"}       {actionButtonCluesCheck} \
  276.             elseif {[ozGet "sysCamera"] == "awakeningCloseUp"}        {simpleClueUse} \
  277.             elseif {[ozGet "sysCamera"] == "artPuzzleCloseUp"}        {
  278.                 if {[ozGet "itemArtRoomClue"] != "pickedUp"} {
  279.                     simpleClueNoPrereq
  280.                 } {
  281.                     giveClue artPaintingClue
  282.                 }
  283.             } \
  284.             elseif {[ozGet "sysCamera"] == "bottleCloseUp"}           {giveClue mountainBottleClue} \
  285.             elseif {[ozGet "sysCamera"] == "bottleShipStrange"}       {simpleClueUse} \
  286.             elseif {[ozGet "sysCamera"] == "bottleShip"}              {
  287.                 if { [getVar "bottlePuzzleInit"] == "complete" } {
  288.                     simpleClueUse
  289.                 } else {
  290.                     simpleClueNoPrereq
  291.                 }
  292.             } \
  293.             elseif {[ozGet "sysCamera"] == "dragonLairCloseUp"}       {
  294.                 if { [getVar "loungeInitPuzzle"] == "complete" } {
  295.                     giveClue dragonLairClue
  296.                 } else {
  297.                     simpleClueNoPrereq
  298.                 }
  299.             } \
  300.             elseif {[ozGet "sysCamera"] == "drawerCloseUp"}              {
  301.                 if { [ozGet "bottlePuzzle"] == "complete" } {
  302.                     simpleClueUse
  303.                 } else {
  304.                     simpleClueNoPrereq
  305.                 }
  306.             } \
  307.             elseif {[ozGet "sysCamera"] == "flowerCloseUp"}           {solariumFlowersPuzzlecheck} \
  308.             elseif {[ozGet "sysCamera"] == "flowerCloseUpWinter"}         {solariumFlowersPuzzlecheck} \
  309.             elseif {[ozGet "sysCamera"] == "drawerCloseUpOpenedStrange"}  {simpleClueInfo} \
  310.             elseif {[ozGet "sysCamera"] == "drawerCloseUpStrange"}        {simpleClueUse} \
  311.             elseif {[ozGet "sysCamera"] == "hallwaySeasonChangerCloseUp"} {seasonChangerClue} \
  312.             elseif {[ozGet "sysCamera"] == "hallwaySeasonChangerCloseUpFall"}   {seasonChangerClue} \
  313.             elseif {[ozGet "sysCamera"] == "hallwaySeasonChangerCloseUpSpring"} {seasonChangerClue} \
  314.             elseif {[ozGet "sysCamera"] == "hallwaySeasonChangerCloseUpWinter"} {seasonChangerClue} \
  315.             elseif {[ozGet "sysCamera"] == "drawerCloseUpOpened"}     {simpleCluePickup} \
  316.             elseif {[ozGet "sysCamera"] == "drawerCloseUpTaken"}      {simpleClueUse} \
  317.             elseif {[ozGet "sysCamera"] == "aquaBallCloseUp"}         {giveClue libraryClue} \
  318.             elseif {[ozGet "sysCamera"] == "entranceBallCloseUp"}     {giveClue libraryClue} \
  319.             elseif {[ozGet "sysCamera"] == "pinkBallCloseUp"}         {giveClue libraryClue} \
  320.             elseif {[ozGet "sysCamera"] == "brownBallCloseUp"}        {giveClue libraryClue} \
  321.             elseif {[ozGet "sysCamera"] == "containers"}              {giveClue dustPuzzleClue} \
  322.             elseif {[ozGet "sysCamera"] == "confrontation"}           {sanctuaryFinalClue} \
  323.             elseif {[ozGet "sysCamera"] == "confrontationPuzzle"}     {sanctuaryFinalClue} \
  324.             elseif {[ozGet "sysCamera"] == "puppetBalls"}             {sanctuaryFinalClue} \
  325.             elseif {[ozGet "sysCamera"] == "celesteCloseUp"}          {sanctuaryFinalClue} \
  326.             elseif {[ozGet "sysCamera"] == "celesteSide"}             {sanctuaryFinalClue} \
  327.             elseif {[ozGet "sysCamera"] == "downStairs"}              {sanctuaryFinalClue} \
  328.             elseif {[ozGet "sysCamera"] == "entrance"}                {sanctuaryFinalClue} \
  329.             elseif {[ozGet "sysCamera"] == "generalView"}             {sanctuaryFinalClue} \
  330.             elseif {[ozGet "sysCamera"] == "puzzleCloseUp"}           {simpleClueNoPrereq} \
  331.             elseif {[ozGet "sysCamera"] == "puzzleCloseUpPuzzle"}           {
  332.                 if { [ozGet "sanctuaryScalePuzzle"] == "complete" } {
  333.                     giveClue sanctuaryGatePuzzleClue
  334.                 } else {
  335.                     simpleClueNoPrereq
  336.                 }
  337.             } \
  338.             elseif {[ozGet "sysCamera"] == "puzzleMidRightA"}         {giveClue libraryClue} \
  339.             elseif {[ozGet "sysCamera"] == "puzzleMidRightB"}         {giveClue libraryClue} \
  340.             elseif {[ozGet "sysCamera"] == "puzzleMidTopA"}           {giveClue libraryClue} \
  341.             elseif {[ozGet "sysCamera"] == "puzzleMidTopB"}           {giveClue libraryClue} \
  342.             elseif {[ozGet "sysCamera"] == "puzzleMidLeftA"}          {giveClue libraryClue} \
  343.             elseif {[ozGet "sysCamera"] == "puzzleLeftTopA"}          {giveClue libraryClue} \
  344.             elseif {[ozGet "sysCamera"] == "puzzleLeftTopB"}          {giveClue libraryClue} \
  345.             elseif {[ozGet "sysCamera"] == "puzzleMidBottomA"}        {giveClue libraryClue} \
  346.             elseif {[ozGet "sysCamera"] == "puzzleDownRightA"}        {giveClue libraryClue} \
  347.             elseif {[ozGet "sysCamera"] == "puzzleDownRightB"}        {giveClue libraryClue} \
  348.             elseif {[ozGet "sysCamera"] == "puzzleDownLeftA"}         {giveClue libraryClue} \
  349.             elseif {[ozGet "sysCamera"] == "puzzleDownLeftB"}         {giveClue libraryClue} \
  350.             elseif {[ozGet "sysCamera"] == "puzzleRightTopA"}         {giveClue libraryClue} \
  351.             elseif {[ozGet "sysCamera"] == "puzzleUpTopA"}            {giveClue libraryClue} \
  352.             elseif {[ozGet "sysCamera"] == "vision1"}                 {sanctuaryFinalClue } \
  353.             elseif {[ozGet "sysCamera"] == "vision2"}                 {sanctuaryFinalClue } \
  354.             elseif {[ozGet "sysCamera"] == "vision3"}                 {sanctuaryFinalClue } \
  355.             elseif {[ozGet "sysCamera"] == "vision4"}                 {sanctuaryFinalClue } \
  356.             elseif {[ozGet "sysCamera"] == "vision5"}                 {sanctuaryFinalClue } \
  357.             elseif {[ozGet "sysCamera"] == "vision6"}                 {sanctuaryFinalClue } \
  358.             elseif {[ozGet "sysCamera"] == "artRoomClue"}             {simpleCluePickup} \
  359.             elseif {[ozGet "sysCamera"] == "solariumClue"}            {simpleCluePickup} \
  360.             elseif {[ozGet "sysCamera"] == "observatoryClue"}         {simpleCluePickup} \
  361.             elseif {[ozGet "sysCamera"] == "forgeCloseUp"}            {simpleCluePickup} \
  362.             elseif {[ozGet "sysCamera"] == "laboratoryPlateCloseUp"}  {simpleClueInfo} \
  363.             elseif {[ozGet "sysCamera"] == "forgePuzzleCeillingCloseUp"} {giveClue forgeBreathClue} \
  364.             elseif {[ozGet "sysCamera"] == "forgePuzzleStartA"}       {giveClue forgeTilesClue} \
  365.             elseif {[ozGet "sysCamera"] == "forgePuzzleStartB"}       {giveClue forgeTilesClue} \
  366.             elseif {[ozGet "sysCamera"] == "forgePuzzleStartC"}       {giveClue forgeTilesClue} \
  367.             elseif {[ozGet "sysCamera"] == "forgePuzzleStartD"}       {giveClue forgeTilesClue} \
  368.             elseif {[ozGet "sysCamera"] == "forgeAltarPuzzle"}        {
  369.                 if { [ozGet "itemForgeClue"] == "pickedUp" } {
  370.                     giveClue forgeAltarClue
  371.                 } else {
  372.                     simpleClueNoPrereq
  373.                 }
  374.             } \
  375.             elseif {[ozGet "sysCamera"] == "forgeRuneWall"}           {simpleClueUse} \
  376.             elseif {[ozGet "sysCamera"] == "menhirA"} {
  377.                 if { [getVar "oracleInitPuzzle"] == "complete" } {
  378.                     giveClue oracleClue
  379.                 } else {
  380.                     actionButtonCluesCheck
  381.                 }
  382.             } \
  383.             elseif {[ozGet "sysCamera"] == "mapCloseUp"}              {simpleClueUse} \
  384.             elseif {[ozGet "sysCamera"] == "menhirB"}                 {giveClue oracleClue} \
  385.             elseif {[ozGet "sysCamera"] == "menhirC"}                 {giveClue oracleClue} \
  386.             elseif {[ozGet "sysCamera"] == "menhirD"}                 {giveClue oracleClue} \
  387.             elseif {[ozGet "sysCamera"] == "menhirE"}                 {giveClue oracleClue} \
  388.             elseif {[ozGet "sysCamera"] == "menhirF"}                 {giveClue oracleClue} \
  389.             elseif {[ozGet "sysCamera"] == "portraitPuzzle"}          {artPortraitPuzzleCheck} \
  390.             elseif {[ozGet "sysCamera"] == "panel"}                   {artPortraitPuzzleCheck} \
  391.             elseif {[ozGet "sysCamera"] == "solariumRune"}            {simpleClueUse} \
  392.             elseif {[ozGet "sysCamera"] == "secondFloorPuzzle"}       {observatorySecondFloorClue} \
  393.             elseif {[ozGet "sysCamera"] == "secondFloorPuzzleNightCentaur"} {observatorySecondFloorClue} \
  394.             elseif {[ozGet "sysCamera"] == "secondFloorPuzzleNightCerberus"} {observatorySecondFloorClue} \
  395.             elseif {[ozGet "sysCamera"] == "secondFloorPuzzleNightDragon"} {observatorySecondFloorClue} \
  396.             elseif {[ozGet "sysCamera"] == "secondFloorPuzzleNightGriffon"} {observatorySecondFloorClue} \
  397.             elseif {[ozGet "sysCamera"] == "secondFloorPuzzleNightMedusa"} {observatorySecondFloorClue} \
  398.             elseif {[ozGet "sysCamera"] == "secondFloorPuzzleNightManticore"} {observatorySecondFloorClue} \
  399.             elseif {[ozGet "sysCamera"] == "secondFloorPuzzleNightMermaid"} {observatorySecondFloorClue} \
  400.             elseif {[ozGet "sysCamera"] == "secondFloorPuzzleNightMinotaur"} {observatorySecondFloorClue} \
  401.             elseif {[ozGet "sysCamera"] == "secretLibraryPuzzle"}      {
  402.                 if {[ozGet secretLibraryInitPuzzle] == "complete"} {
  403.                     giveClue secretLibraryClue
  404.                 } else {
  405.                     simpleClueNoPrereq
  406.                 }
  407.             } \
  408.             elseif {[ozGet "sysCamera"] == "secretLibraryTable"}      {simpleCluePickup} \
  409.             elseif {[ozGet "sysCamera"] == "secretLibraryTableNotesTaken"} {
  410.                 if { [ozGet "nightingaleSecretPassword"] == "discussed" } {
  411.                     simpleClueUse
  412.                 } else {
  413.                     simpleClueNoPrereq
  414.                 }
  415.             } \
  416.             elseif {[ozGet "sysCamera"] == "telescopeCloseUpNightNumbers"} {
  417.                 if { [ozGet "itemObservatoryClue"] == "pickedUp" } {
  418.                     giveClue observatoryClue
  419.                 } else {
  420.                     simpleClueNoPrereq
  421.                 }
  422.             } \
  423.             elseif {[ozGet "sysCamera"] == "telescopeCloseUpNight"}   {simpleClueNoPrereq} \
  424.             elseif {[ozGet "sysCamera"] == "telescopeCloseUpNightContainer"}   {simpleCluePickup} \
  425.             elseif {[ozGet "sysCamera"] == "telescopeCloseUpNumbers"} {simpleClueNoPrereq} \
  426.             elseif {[ozGet "sysCamera"] == "lensCloseUpNight"}        {observatoryLensCloseUpClueCheck } \
  427.             elseif {[ozGet "sysCamera"] == "lensCloseUpCentaur"}      {observatoryLensCloseUpClueCheck } \
  428.             elseif {[ozGet "sysCamera"] == "lensCloseUpCerberus"}     {observatoryLensCloseUpClueCheck } \
  429.             elseif {[ozGet "sysCamera"] == "lensCloseUpDragon"}       {observatoryLensCloseUpClueCheck } \
  430.             elseif {[ozGet "sysCamera"] == "lensCloseUpGriffon"}      {observatoryLensCloseUpClueCheck } \
  431.             elseif {[ozGet "sysCamera"] == "lensCloseUpMedusa"}       {observatoryLensCloseUpClueCheck } \
  432.             elseif {[ozGet "sysCamera"] == "lensCloseUpManticore"}    {observatoryLensCloseUpClueCheck } \
  433.             elseif {[ozGet "sysCamera"] == "lensCloseUpMermaid"}      {observatoryLensCloseUpClueCheck } \
  434.             elseif {[ozGet "sysCamera"] == "lensCloseUpMinotaur"}     {observatoryLensCloseUpClueCheck } \
  435.             elseif {[ozGet "sysCamera"] == "obeliskA"}                {giveClue teleportTowerBaseClue} \
  436.             elseif {[ozGet "sysCamera"] == "obeliskB"}                {giveClue teleportTowerBaseClue} \
  437.             elseif {[ozGet "sysCamera"] == "obeliskC"}                {giveClue teleportTowerBaseClue} \
  438.             elseif {[ozGet "sysCamera"] == "obeliskD"}                {giveClue teleportTowerBaseClue} \
  439.             elseif {[ozGet "sysCamera"] == "observatoryAwakening"}    {simpleClueUse} \
  440.             elseif {[ozGet "sysCamera"] == "watchTowerAction"}        {actionButtonCluesCheck} \
  441.             elseif {[ozGet "sysCamera"] == "watchTowerPuzzleCloseUpNight"} {giveClue watchTowerClue} \
  442.             else {simpleClueNoInfo}
  443.         }
  444.         return
  445.     }
  446.  
  447.   NextStep
  448.  
  449.   chainEvent { delay 2500 }
  450.   chainCallEvent "inGameWalkthrough.walkthruResume"
  451.   chainEvent { wizEnableMouse }
  452. }
  453.  
  454.  
  455. ## ===================================================== ##
  456. ##   NEXT STEP                                           ##
  457. ## ===================================================== ##
  458.  
  459. proc NextStep {} {
  460.   oz'event {
  461.     ozIMenu disable help
  462.     iactive interface.help false
  463.     MainDisableSidebar
  464.  
  465.     wizDisableMouse
  466.     freezePlayer
  467.     
  468.     CloseAllInterface
  469.  
  470. #    wizEntityHide Lydia
  471. #    if {[ozGet "puzzleZak"] == "complete"} {wizEntityHide Zak}
  472.   }
  473.  
  474.   # STEP 0
  475.   if {[ozGet "tutorialEvents"] != "complete"} {
  476.     set img [wq'widget::new "walkthru/[MODE]/walkthru/step0A.jpg" -alpha 0 -foreground -depth -0.9]
  477.     wq'widget::fadeto $img 1 -wait
  478.  
  479.     wizqTalkOpen
  480.     wizqTalkSay Unknown $::lng::step0 ""
  481.     chainEvent { MainDisableSidebar }
  482.     wizqTalkClose
  483.  
  484.     chainEvent { delay 1500 }
  485.  
  486.     set ::walkthruSprite [wq'widget::new "walkthru/[MODE]/walkthru/step0B.jpg" -alpha 0 -foreground -depth -1]
  487.     wq'widget::fadeto  $::walkthruSprite 1 -wait
  488.     wq'widget::delete  $img
  489.     return
  490.   }
  491.  
  492.   #STEP 11
  493.   if { [ ozGet "itemNoteBook"] != "pickedUp" } {
  494.     set img [wq'widget::new "walkthru/[MODE]/walkthru/step11A.jpg" -alpha 0 -foreground -depth -0.9]
  495.     wq'widget::fadeto $img 1 -wait
  496.  
  497.     wizqTalkOpen
  498.     wizqTalkSay Unknown $::lng::step11  ""
  499.     chainEvent { MainDisableSidebar }
  500.     wizqTalkClose
  501.  
  502.     chainEvent { delay 1500 }
  503.  
  504.     set ::walkthruSprite [wq'widget::new "walkthru/[MODE]/walkthru/step11B.jpg" -alpha 0 -foreground -depth -1]
  505.     wq'widget::fadeto  $::walkthruSprite 1 -wait
  506.     wq'widget::delete  $img
  507.     return
  508.   }
  509.  
  510.   # STEP 12
  511.   if {[ozGet "dragonvaleHallwayRoom"] != "visited"} {
  512.     set img [wq'widget::new "walkthru/[MODE]/walkthru/step12A.jpg" -alpha 0 -foreground -depth -0.9]
  513.     wq'widget::fadeto $img 1 -wait
  514.  
  515.     wizqTalkOpen
  516.     wizqTalkSay Unknown $::lng::step12 ""
  517.     chainEvent { MainDisableSidebar }
  518.     wizqTalkClose
  519.  
  520.     chainEvent { delay 1500 }
  521.  
  522.     set ::walkthruSprite [wq'widget::new "walkthru/[MODE]/walkthru/step12B.jpg" -alpha 0 -foreground -depth -1]
  523.     wq'widget::fadeto  $::walkthruSprite 1 -wait
  524.     wq'widget::delete  $img
  525.     return
  526.   }
  527.  
  528.   # STEP 13
  529.   if {[ozGet "gardenWatchRoom"] != "visited"} {
  530.     set img [wq'widget::new "walkthru/[MODE]/walkthru/step13A.jpg" -alpha 0 -foreground -depth -0.9]
  531.     wq'widget::fadeto $img 1 -wait
  532.  
  533.     wizqTalkOpen
  534.     wizqTalkSay Unknown $::lng::step13 ""
  535.     chainEvent { MainDisableSidebar }
  536.     wizqTalkClose
  537.  
  538.     chainEvent { delay 1500 }
  539.  
  540.     set ::walkthruSprite [wq'widget::new "walkthru/[MODE]/walkthru/step13B.jpg" -alpha 0 -foreground -depth -1]
  541.     wq'widget::fadeto  $::walkthruSprite 1 -wait
  542.     wq'widget::delete  $img
  543.     return
  544.   }
  545.  
  546.   #STEP 50
  547.   if { [ ozGet "itemNigilisBean"] != "pickedUp" && [ozGet "itemNigilisBean"] != "planted" } {
  548.     set img [wq'widget::new "walkthru/[MODE]/walkthru/step50A.jpg" -alpha 0 -foreground -depth -0.9]
  549.     wq'widget::fadeto $img 1 -wait
  550.  
  551.     wizqTalkOpen
  552.     wizqTalkSay Unknown $::lng::step50    ""
  553.     chainEvent { MainDisableSidebar }
  554.     wizqTalkClose
  555.  
  556.     chainEvent { delay 1500 }
  557.  
  558.     set ::walkthruSprite [wq'widget::new "walkthru/[MODE]/walkthru/step50B.jpg" -alpha 0 -foreground -depth -1]
  559.     wq'widget::fadeto  $::walkthruSprite 1 -wait
  560.     wq'widget::delete  $img
  561.     return
  562.   }
  563.  
  564.   # STEP 14
  565.   if {[ozGet "gardenRoom"] != "visited"} {
  566.     set img [wq'widget::new "walkthru/[MODE]/walkthru/step14A.jpg" -alpha 0 -foreground -depth -0.9]
  567.     wq'widget::fadeto $img 1 -wait
  568.  
  569.     wizqTalkOpen
  570.     wizqTalkSay Unknown $::lng::step14 ""
  571.     chainEvent { MainDisableSidebar }
  572.     wizqTalkClose
  573.  
  574.     chainEvent { delay 1500 }
  575.  
  576.     set ::walkthruSprite [wq'widget::new "walkthru/[MODE]/walkthru/step14B.jpg" -alpha 0 -foreground -depth -1]
  577.     wq'widget::fadeto  $::walkthruSprite 1 -wait
  578.     wq'widget::delete  $img
  579.     return
  580.   }
  581.  
  582.   #STEP 15
  583.   if { [ ozGet "itemDoll"] != "pickedUp" } {
  584.     set img [wq'widget::new "walkthru/[MODE]/walkthru/step15A.jpg" -alpha 0 -foreground -depth -0.9]
  585.     wq'widget::fadeto $img 1 -wait
  586.  
  587.     wizqTalkOpen
  588.     wizqTalkSay Unknown $::lng::step15  ""
  589.     chainEvent { MainDisableSidebar }
  590.     wizqTalkClose
  591.  
  592.     chainEvent { delay 1500 }
  593.  
  594.     set ::walkthruSprite [wq'widget::new "walkthru/[MODE]/walkthru/step15B.jpg" -alpha 0 -foreground -depth -1]
  595.     wq'widget::fadeto  $::walkthruSprite 1 -wait
  596.     wq'widget::delete  $img
  597.     return
  598.   }
  599.  
  600.   #STEP 51
  601.   if { [ozGet "puzzleNigilisBean"] != "complete" && [ozGet "itemNigilisBean"] != "planted" } {
  602.     set img [wq'widget::new "walkthru/[MODE]/walkthru/step51A.jpg" -alpha 0 -foreground -depth -0.9]
  603.     wq'widget::fadeto $img 1 -wait
  604.  
  605.     wizqTalkOpen
  606.     wizqTalkSay Unknown $::lng::step51    ""
  607.     chainEvent { MainDisableSidebar }
  608.     wizqTalkClose
  609.  
  610.     chainEvent { delay 1500 }
  611.  
  612.     set ::walkthruSprite [wq'widget::new "walkthru/[MODE]/walkthru/step51B.jpg" -alpha 0 -foreground -depth -1]
  613.     wq'widget::fadeto  $::walkthruSprite 1 -wait
  614.     wq'widget::delete  $img
  615.     return
  616.   }
  617.  
  618.   #STEP 52
  619.   if { [ ozGet "puzzleLightRune"] != "complete" } {
  620.     set img [wq'widget::new "walkthru/[MODE]/walkthru/step52A.jpg" -alpha 0 -foreground -depth -0.9]
  621.     wq'widget::fadeto $img 1 -wait
  622.  
  623.     wizqTalkOpen
  624.     wizqTalkSay Unknown $::lng::step52    ""
  625.     chainEvent { MainDisableSidebar }
  626.     wizqTalkClose
  627.  
  628.     chainEvent { delay 1500 }
  629.  
  630.     set ::walkthruSprite [wq'widget::new "walkthru/[MODE]/walkthru/step52B.jpg" -alpha 0 -foreground -depth -1]
  631.     wq'widget::fadeto  $::walkthruSprite 1 -wait
  632.     wq'widget::delete  $img
  633.     return
  634.   }
  635.  
  636.   #STEP 55
  637.   if { [ ozGet "puzzleWaterLevel"] != "complete" } {
  638.     set img [wq'widget::new "walkthru/[MODE]/walkthru/step55A.jpg" -alpha 0 -foreground -depth -0.9]
  639.     wq'widget::fadeto $img 1 -wait
  640.  
  641.     wizqTalkOpen
  642.     wizqTalkSay Unknown $::lng::step55    ""
  643.     chainEvent { MainDisableSidebar }
  644.     wizqTalkClose
  645.  
  646.     chainEvent { delay 1500 }
  647.  
  648.     set ::walkthruSprite [wq'widget::new "walkthru/[MODE]/walkthru/step55B.jpg" -alpha 0 -foreground -depth -1]
  649.     wq'widget::fadeto  $::walkthruSprite 1 -wait
  650.     wq'widget::delete  $img
  651.     return
  652.   }
  653.  
  654.   # STEP 16
  655.   if {[ozGet "basementRoom"] != "visited"} {
  656.     set img [wq'widget::new "walkthru/[MODE]/walkthru/step16A.jpg" -alpha 0 -foreground -depth -0.9]
  657.     wq'widget::fadeto $img 1 -wait
  658.  
  659.     wizqTalkOpen
  660.     wizqTalkSay Unknown $::lng::step16 ""
  661.     chainEvent { MainDisableSidebar }
  662.     wizqTalkClose
  663.  
  664.     chainEvent { delay 1500 }
  665.  
  666.     set ::walkthruSprite [wq'widget::new "walkthru/[MODE]/walkthru/step16B.jpg" -alpha 0 -foreground -depth -1]
  667.     wq'widget::fadeto  $::walkthruSprite 1 -wait
  668.     wq'widget::delete  $img
  669.     return
  670.   }
  671.  
  672.   #STEP 18
  673.   if { [ ozGet "secretPassage"] != "complete" } {
  674.     set img [wq'widget::new "walkthru/[MODE]/walkthru/step18A.jpg" -alpha 0 -foreground -depth -0.9]
  675.     wq'widget::fadeto $img 1 -wait
  676.  
  677.     wizqTalkOpen
  678.     wizqTalkSay Unknown $::lng::step18 ""
  679.     chainEvent { MainDisableSidebar }
  680.     wizqTalkClose
  681.  
  682.     chainEvent { delay 1500 }
  683.  
  684.     set ::walkthruSprite [wq'widget::new "walkthru/[MODE]/walkthru/step18B.jpg" -alpha 0 -foreground -depth -1]
  685.     wq'widget::fadeto  $::walkthruSprite 1 -wait
  686.     wq'widget::delete  $img
  687.     return
  688.   }
  689.  
  690.   # STEP 19
  691.   if {[ozGet "crescentCoastWaterwayRoom"] != "visited"} {
  692.     set img [wq'widget::new "walkthru/[MODE]/walkthru/step19A.jpg" -alpha 0 -foreground -depth -0.9]
  693.     wq'widget::fadeto $img 1 -wait
  694.  
  695.     wizqTalkOpen
  696.     wizqTalkSay Unknown $::lng::step19 ""
  697.     chainEvent { MainDisableSidebar }
  698.     wizqTalkClose
  699.  
  700.     chainEvent { delay 1500 }
  701.  
  702.     set ::walkthruSprite [wq'widget::new "walkthru/[MODE]/walkthru/step19B.jpg" -alpha 0 -foreground -depth -1]
  703.     wq'widget::fadeto  $::walkthruSprite 1 -wait
  704.     wq'widget::delete  $img
  705.     return
  706.   }
  707. }
  708.  
  709.  
  710. ## ===================================================== ##
  711. ##   Walkthrough Resume Button                           ##
  712. ## ===================================================== ##
  713.  
  714. event "walkthruResume" {
  715.     wq'widget::fadeto  $::walkthruSprite 0 -wait
  716.     wq'widget::delete  $::walkthruSprite
  717.  
  718.     iactive interface.help  true
  719.     ozIMenu enable help
  720.   
  721.     oz'event {
  722.         ozIMenu enable help
  723.         iactive interface.help true
  724.         MainEnableSidebar
  725.         MainEnableTalk
  726.  
  727.         wizEnableMouse
  728.         unfreezePlayer
  729.  
  730. #        wizEntityShow Lydia
  731. #        if {[ozGet "puzzleZak"] == "complete"} {wizEntityShow Zak}
  732.     }
  733. }
  734.  
  735.  
  736.