enderalse/source/scripts/dunkarthspirepuzzlemaster.psc

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