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
— AnOnTrigger
causes the mover to transition to the "open" state while anOnUntrigger
event causes the mover to transition to the "closed" state.2STATE_OPEN_TIMED
— AnOnTrigger
event 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.