Skip to content

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

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 β€” An OnTrigger causes the mover to transition to the "open" state while an OnUntrigger event causes the mover to transition to the "closed" state.
  • 2STATE_OPEN_TIMED β€” An OnTrigger event causes the mover to transition to the "open" state. It than transitions to the "closed" state after a fixed amount of time specified by stayOpenTimeSec.
  • 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 a zCMoverControler.

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.