zCMover
Quick Infos
Class Name: zCMover
Version Identifiers:
β Gothic I: 39936
β Gothic II: 39936
Sources:
β spacerhilfedatei.sph
β gothic-library.ru
β zk.gothickit.dev
A VObject which can move along a pre-determined path in response to an event. Movers can be controlled through a set of keyframes or the animation of their visuals. If the visual has an attached animation to be used as the mover's animation, it must have the following animations which are run depending on the mover's state: S_OPEN, S_CLOSED, T_CLOSED_2_OPEN, T_OPEN_2_CLOSED, S_LOCKED, S_UNLOCKED, T_UNLOCKED_TO_LOCKED, T_LOCKED_TO_UNLOCKED.
Each mover is in one of three states, "open", "closed" or "moving". Keyframe 0 (or S_OPEN when using the visual's animation) corresponds to the "open" state while the last keyframe (or S_CLOSED) corresponds to the "closed" state. When transitioning between the "open" and "closed" states, the mover is in the "moving" state during which it sequentially moves between its keyframes (or runs the T_CLOSED_2_OPEN or T_OPEN_TO_CLOSED animations). Movers with their moverBehavior set to NSTATE_SINGLE_KEYS are an exception to this rule: each keyframe can individually be addressed as a state.
Movers are specialized triggers. Before beginning their animation, movers first filter the incoming events as per the zCTrigger's rules and only start the animation if the event passes through the filters. When the mover reaches the "open" state after being activated, it emits an OnTrigger event according to the fire behavior set for the zCTrigger. Similarly, when it reaches the "closed" state it emits an OnUntrigger event.
Movers can be enabled and disabled using the OnEnable, OnDisable and OnToggleDisabled events.
Class members
- zCVob
- zCTriggerBase
- zCTrigger
- zCMover
- Mover
- moverBehavior = 2STATE_TOGGLE
- touchBlockerDamage = 0.0
- stayOpenTimeSec = 0.0
- moverLocked = FALSE
- autoLinkEnabled = FALSE
- Keyframe
- numKeyframes = 0
- moveSpeed = 0.0
- posLerpType = CURVE
- speedType = CONST
- Sound
- sfxOpenStart = ""
- sfxOpenEnd = ""
- sfxMoving = ""
- sfxCloseStart = ""
- sfxCloseEnd = ""
- sfxLock = ""
- sfxUnlock = ""
- sfxUseLocked = ""
- Mover
- zCVob
- zCTriggerBase
- zCTrigger
- zCMover
- Mover
- moverBehavior = 2STATE_TOGGLE
- touchBlockerDamage = 0.0
- stayOpenTimeSec = 0.0
- moverLocked = FALSE
- autoLinkEnabled = FALSE
- autoRotate = FALSE
- Keyframe
- numKeyframes = 0
- moveSpeed = 0.0
- posLerpType = CURVE
- speedType = CONST
- Sound
- sfxOpenStart = ""
- sfxOpenEnd = ""
- sfxMoving = ""
- sfxCloseStart = ""
- sfxCloseEnd = ""
- sfxLock = ""
- sfxUnlock = ""
- sfxUseLocked = ""
- Mover
- zCVob
- zCTriggerBase
- zCTrigger
- zCMover
- Mover
- moverBehavior = 2STATE_TOGGLE
- touchBlockerDamage = 0.0
- stayOpenTimeSec = 0.0
- moverLocked = FALSE
- autoLinkEnabled = FALSE
- Keyframe
- numKeyframes = 0
- moveSpeed = 0.0
- posLerpType = CURVE
- speedType = CONST
- actKeyPosDelta = 0 0 0
- actKeyframeF = 0.0
- actKeyframe = 0
- nextKeyframe = 0
- moveSpeedUnit = 0.0
- advanceDir = 0.0
- moverState = ?
- numTriggerEvents = 0
- stayOpenTimeDest = 0.0
- Sound
- sfxOpenStart = ""
- sfxOpenEnd = ""
- sfxMoving = ""
- sfxCloseStart = ""
- sfxCloseEnd = ""
- sfxLock = ""
- sfxUnlock = ""
- sfxUseLocked = ""
- Mover
- zCVob
- zCTriggerBase
- zCTrigger
- zCMover
- Mover
- moverBehavior = 2STATE_TOGGLE
- touchBlockerDamage = 0.0
- stayOpenTimeSec = 0.0
- moverLocked = FALSE
- autoLinkEnabled = FALSE
- autoRotate = FALSE
- Keyframe
- numKeyframes = 0
- moveSpeed = 0.0
- posLerpType = CURVE
- speedType = CONST
- actKeyPosDelta = 0 0 0
- actKeyframeF = 0.0
- actKeyframe = 0
- nextKeyframe = 0
- moveSpeedUnit = 0.0
- advanceDir = 0.0
- moverState = ?
- numTriggerEvents = 0
- stayOpenTimeDest = 0.0
- Sound
- sfxOpenStart = ""
- sfxOpenEnd = ""
- sfxMoving = ""
- sfxCloseStart = ""
- sfxCloseEnd = ""
- sfxLock = ""
- sfxUnlock = ""
- sfxUseLocked = ""
- Mover
Class member overview
moverBehavior
Controls how the mover behaves in response to events ("activation").
Accepted values:
2STATE_TOGGLEβ Receiving either event causes the state of the mover to swap. The direction of the animation is reversed.2STATE_TRIGGER_CTRLβ AnOnTriggercauses the mover to transition to the "open" state while anOnUntriggerevent causes the mover to transition to the "closed" state.2STATE_OPEN_TIMEDβ AnOnTriggerevent causes the mover to transition to the "open" state. It than transitions to the "closed" state after a fixed amount of time specified bystayOpenTimeSec.NSTATE_LOOPβ The mover opens and closes in a loop indefinitely.NSTATE_SINGLE_KEYSβ The mover can transition to each keyframe separately. Often used in conjunction with azCMoverControler.
touchBlockerDamage
The amount of damage to deal to objects in the way of the mover.
stayOpenTimeSec
The number of seconds a mover with the 2STATE_OPEN_TIMED behavior stays in the "open" state until transitioning to the "closed" state again.
Warning
Only relevant if moverBehavior is 2STATE_OPEN_TIMED.
moverLocked
Unclear.
autoLinkEnabled
Determines whether the position of the object triggering the mover should be tied to the mover's position.
Accepted values:
TRUEβ When the mover transitions, the position of the triggering object follows the position of the mover.FALSEβ The triggering object's position is uncoupled from the position of the mover.
autoRotate
Whether to automatically rotate the mover along its movement trajectory. For example, this is used for making fish always face in the direction they're moving.
Accepted values:
TRUEβ Automatically face the mover forward along its trajectory.FALSEβ Never automatically rotate the mover.
Warning
Only available in Gothic II.
numKeyframes
Unclear.
moveSpeed
The movement speed for transitioning between keyframes in units per millisecond.
Warning
Only relevant if manually specified keyframes are used. Ignored when using the visual for the animation.
posLerpType
Defines how the mover should interpolate between the keyframe positions. Only affects the mover's position, never its rotation.
Accepted values:
CURVEβ Smoothly transition between keyframes.LINEARβ Linearly transition between keyframes.
Warning
Only relevant if manually specified keyframes are used. Ignored when using the visual for the animation.
speedType
Controls the acceleration and deceleration behavior of the mover.
Accepted values:
CONSTβ Mover with a constant speed.SLOW_START_ENDβ Slowly accelerate at the first keyframe and decelerate at the last keyframe.SLOW_STARTβ Slowly accelerate at the first keyframe but don't decelerate at the end.SLOW_ENDβ Slowly decelerate at the last keyframe but don't accelerate at the start.SEG_SLOW_START_ENDβ Slowly accelerate at the beginning of each keyframe and decelerate at the end of each keyframe.SEG_SLOW_STARTβ Slowly accelerate at the beginning of each keyframe but don't decelerate at the end.SEG_SLOW_ENDβ Slowly decelerate at the end of each keyframe but don't accelerate at the beginning.
Warning
Only relevant if manually specified keyframes are used. Ignored when using the visual for the animation.
sfxOpenStart
The name of the sound to play at the beginning of the opening sequence.
sfxOpenEnd
The name of the sound to play at the end of the opening sequence.
sfxMoving
The name of the sound to play in a loop while the mover is transitioning between keyframes.
sfxCloseStart
The name of the sound to play at the beginning of the closing sequence.
sfxCloseEnd
The name of the sound to play at the end of the closing sequence.
sfxLock
The name of the sound to play when locking a mover.
sfxUnlock
The name of the sound to play when unlocking a mover.
sfxUseLocked
The name of the sound to play when using a locked mover.
actKeyPosDelta
Unknown.
Warning
This property is only available in saved games.
actKeyframeF
Unknown.
Warning
This property is only available in saved games.
actKeyframe
Unknown.
Warning
This property is only available in saved games.
nextKeyframe
Unknown.
Warning
This property is only available in saved games.
moveSpeedUnit
Unknown.
Warning
This property is only available in saved games.
advanceDir
Unknown.
Warning
This property is only available in saved games.
moverState
Unknown.
Warning
This property is only available in saved games.
numTriggerEvents
Unknown.
Warning
This property is only available in saved games.
stayOpenTimeDest
Unknown.
Warning
This property is only available in saved games.