Scriptname dunKarthspirePuzzleMaster extends ObjectReference Conditional {The master control script for the ring puzzle, it will keep all of the ring variables} ; ********************************** ; ** THE STUFF FOR THE PILLAR PUZZLE ; ********************************** INT PROPERTY pillarAState AUTO HIDDEN Conditional INT PROPERTY pillarBState AUTO HIDDEN Conditional INT PROPERTY pillarCState AUTO HIDDEN Conditional BOOL PROPERTY pillarSolved=FALSE AUTO HIDDEN Conditional OBJECTREFERENCE PROPERTY flameA AUTO {PP: the flame for showing the way} OBJECTREFERENCE PROPERTY flameB AUTO {PP: the flame for showing the way} OBJECTREFERENCE PROPERTY flameC AUTO {PP: the flame for showing the way} OBJECTREFERENCE PROPERTY flameD AUTO {PP: the flame for showing the way} ; ********************************* ; ** THE STUFF FOR THE PLATE PUZZLE ; ********************************* BOOL PROPERTY plateTriggered=FALSE AUTO HIDDEN Conditional ; set to true when the player triggers a plate BOOL PROPERTY plateSolved=FALSE AUTO HIDDEN Conditional ; ********************************* ; ** THE STUFF FOR THE RING PUZZLE ; ********************************* INT PROPERTY ring1State AUTO HIDDEN INT PROPERTY ring2State AUTO HIDDEN INT PROPERTY ring3State AUTO HIDDEN INT PROPERTY ring4State AUTO HIDDEN BOOL PROPERTY questDone=FALSE AUTO HIDDEN OBJECTREFERENCE PROPERTY puzzRing1 AUTO OBJECTREFERENCE PROPERTY puzzRing2 AUTO OBJECTREFERENCE PROPERTY puzzRing3 AUTO OBJECTREFERENCE PROPERTY puzzRing4 AUTO ; //FUNCTION: ringShift ; //int ring: an int representing the ring to spin ; // ; //PURPOSE: A cleaner way to spin the rings, plus it ; //lets us manipulate one function instead of 3 seperate ; //ones. FUNCTION ringShift(int ring) IF(ring == 1) IF(ring1State == 1) puzzRing1.playAnimation("Ring01Rotate01") ring1State = 2 ELSEIF(ring1State == 2) puzzRing1.playAnimation("Ring01Rotate02") ring1State = 3 ELSEIF(ring1State == 3) puzzRing1.playAnimation("Ring01Rotate03") ring1State = 4 ELSEIF(ring1State == 4) puzzRing1.playAnimation("Ring01Rotate04") ring1State = 1 ENDIF ELSEIF(ring == 2) IF(ring2State == 1) puzzRing2.playAnimation("Ring01Rotate01") ring2State = 2 ELSEIF(ring2State == 2) puzzRing2.playAnimation("Ring01Rotate02") ring2State = 3 ELSEIF(ring2State == 3) puzzRing2.playAnimation("Ring01Rotate03") ring2State = 4 ELSEIF(ring2State == 4) puzzRing2.playAnimation("Ring01Rotate04") ring2State = 1 ENDIF ELSEIF(ring == 3) IF(ring3State == 1) puzzRing3.playAnimation("Ring01Rotate01") ring3State = 2 ELSEIF(ring3State == 2) puzzRing3.playAnimation("Ring01Rotate02") ring3State = 3 ELSEIF(ring3State == 3) puzzRing3.playAnimation("Ring01Rotate03") ring3State = 4 ELSEIF(ring3State == 4) puzzRing3.playAnimation("Ring01Rotate04") ring3State = 1 ENDIF ELSEIF(ring == 4) IF(ring4State == 1) puzzRing3.playAnimation("Ring01Rotate01") ring4State = 2 ELSEIF(ring4State == 2) puzzRing4.playAnimation("Ring01Rotate02") ring4State = 3 ELSEIF(ring4State == 3) puzzRing4.playAnimation("Ring01Rotate03") ring4State = 4 ELSEIF(ring4State == 4) puzzRing4.playAnimation("Ring01Rotate04") ring4State = 1 ENDIF ENDIF ENDFUNCTION