116 lines
3.2 KiB
Plaintext
116 lines
3.2 KiB
Plaintext
|
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
|