diff --git a/docs/engine/objects/oCCSTrigger.md b/docs/engine/objects/oCCSTrigger.md index cdfba87d..555957f3 100644 --- a/docs/engine/objects/oCCSTrigger.md +++ b/docs/engine/objects/oCCSTrigger.md @@ -9,6 +9,7 @@ — Gothic I: `24577`
— Gothic II: `24577`
**ZenKit Class:** `VCutsceneTrigger`
+ **Sources:**
— [spacerhilfedatei.sph](https://wiki.worldofgothic.de/doku.php?id=spacer:hilfedatei)
— [gothic-library.ru](http://www.gothic-library.ru/publ/class_occstrigger/1-1-0-530) diff --git a/docs/engine/objects/oCMobBed.md b/docs/engine/objects/oCMobBed.md index 882aeeb5..382607e0 100644 --- a/docs/engine/objects/oCMobBed.md +++ b/docs/engine/objects/oCMobBed.md @@ -10,7 +10,7 @@ — Gothic II: `35585`
**ZenKit Class:** `VBed`
**Sources:**
- — [spacerhilfedatei.sph](https://wiki.worldofgothic.de/doku.php?id=spacer:hilfedatei)
+ — [spacerhilfedatei.sph](https://wiki.worldofgothic.de/doku.php?id=spacer:hilfedatei) VObject marking beds for NPCs and the player to sleep on. In the original Gothic I, there is a bug which prevents `oCMobBed`s from working correctly, so it is recommended to instead use [`oCMobDoor`](oCMobDoor.md) and attach the diff --git a/docs/engine/objects/oCMobInter.md b/docs/engine/objects/oCMobInter.md index d24f2a2c..e3039320 100644 --- a/docs/engine/objects/oCMobInter.md +++ b/docs/engine/objects/oCMobInter.md @@ -29,13 +29,13 @@ Interactive objects can be interacted with by NPCs and the player. Every time th {: .sp-class} - [stateNum](#statenum) = 0 {: .sp-int} - - [triggerTarget](#triggerTarget) = "" + - [triggerTarget](#triggertarget) = "" {: .sp-string} - - [useWithItem](#useWithItem) = "" + - [useWithItem](#usewithitem) = "" {: .sp-string} - - [conditionFunc](#conditionFunc) = "" + - [conditionFunc](#conditionfunc) = "" {: .sp-string} - - [onStateFunc](#onStateFunc) = "" + - [onStateFunc](#onstatefunc) = "" {: .sp-string} - [rewind](#rewind) = FALSE {: .sp-bool} @@ -52,13 +52,13 @@ Interactive objects can be interacted with by NPCs and the player. Every time th {: .sp-class} - [stateNum](#statenum) = 0 {: .sp-int} - - [triggerTarget](#triggerTarget) = "" + - [triggerTarget](#triggertarget) = "" {: .sp-string} - - [useWithItem](#useWithItem) = "" + - [useWithItem](#usewithitem) = "" {: .sp-string} - - [conditionFunc](#conditionFunc) = "" + - [conditionFunc](#conditionfunc) = "" {: .sp-string} - - [onStateFunc](#onStateFunc) = "" + - [onStateFunc](#onstatefunc) = "" {: .sp-string} - [rewind](#rewind) = FALSE {: .sp-bool} @@ -75,13 +75,13 @@ Interactive objects can be interacted with by NPCs and the player. Every time th {: .sp-class} - [stateNum](#statenum) = 0 {: .sp-int} - - [triggerTarget](#triggerTarget) = "" + - [triggerTarget](#triggertarget) = "" {: .sp-string} - - [useWithItem](#useWithItem) = "" + - [useWithItem](#usewithitem) = "" {: .sp-string} - - [conditionFunc](#conditionFunc) = "" + - [conditionFunc](#conditionfunc) = "" {: .sp-string} - - [onStateFunc](#onStateFunc) = "" + - [onStateFunc](#onstatefunc) = "" {: .sp-string} - [rewind](#rewind) = FALSE {: .sp-bool} @@ -98,13 +98,13 @@ Interactive objects can be interacted with by NPCs and the player. Every time th {: .sp-class} - [stateNum](#statenum) = 0 {: .sp-int} - - [triggerTarget](#triggerTarget) = "" + - [triggerTarget](#triggertarget) = "" {: .sp-string} - - [useWithItem](#useWithItem) = "" + - [useWithItem](#usewithitem) = "" {: .sp-string} - - [conditionFunc](#conditionFunc) = "" + - [conditionFunc](#conditionfunc) = "" {: .sp-string} - - [onStateFunc](#onStateFunc) = "" + - [onStateFunc](#onstatefunc) = "" {: .sp-string} - [rewind](#rewind) = FALSE {: .sp-bool} diff --git a/docs/engine/objects/oCMobSwitch.md b/docs/engine/objects/oCMobSwitch.md index 3c2eb1f9..78fc8919 100644 --- a/docs/engine/objects/oCMobSwitch.md +++ b/docs/engine/objects/oCMobSwitch.md @@ -10,7 +10,7 @@ — Gothic II: `35585`
**ZenKit Class:** `VSwitch`
**Sources:**
- — [spacerhilfedatei.sph](https://wiki.worldofgothic.de/doku.php?id=spacer:hilfedatei)
+ — [spacerhilfedatei.sph](https://wiki.worldofgothic.de/doku.php?id=spacer:hilfedatei) A VObject representing a switch with two states. diff --git a/docs/engine/objects/oCMobWheel.md b/docs/engine/objects/oCMobWheel.md index 20283583..47688604 100644 --- a/docs/engine/objects/oCMobWheel.md +++ b/docs/engine/objects/oCMobWheel.md @@ -10,7 +10,7 @@ — Gothic II: `35585`
**ZenKit Class:** `VWheel`
**Sources:**
- — [spacerhilfedatei.sph](https://wiki.worldofgothic.de/doku.php?id=spacer:hilfedatei)
+ — [spacerhilfedatei.sph](https://wiki.worldofgothic.de/doku.php?id=spacer:hilfedatei) A wheel with four different states. For example, this is used for the gates of the old camp in Gothic I. diff --git a/docs/engine/objects/oCZoneMusic.md b/docs/engine/objects/oCZoneMusic.md index 416f9617..571ca345 100644 --- a/docs/engine/objects/oCZoneMusic.md +++ b/docs/engine/objects/oCZoneMusic.md @@ -16,7 +16,7 @@ A VObject which defines the music to be played within its bounding box. Music zones may overlap; if they do, their [`priority`](#priority) property determines which music zone should be used. The camera object is used to test which -music zone applies. If no music zone applies the music defined in the optional [`zCZoneMusicDefault`](#zCZoneMusicDefault) +music zone applies. If no music zone applies the music defined in the optional [`oCZoneMusicDefault`](oCZoneMusicDefault.md) is used. The name of the music theme to be played is defined by the [`vobName`](zCVob.md#vobname). diff --git a/docs/engine/objects/oCZoneMusicDefault.md b/docs/engine/objects/oCZoneMusicDefault.md index 1d901338..db963b32 100644 --- a/docs/engine/objects/oCZoneMusicDefault.md +++ b/docs/engine/objects/oCZoneMusicDefault.md @@ -12,7 +12,7 @@ **Sources:**
— [spacerhilfedatei.sph](https://wiki.worldofgothic.de/doku.php?id=spacer:hilfedatei) -Determines the default music to be played when the camera is outside any [`oCZoneMusic`](#oCZoneMusic) zones. The +Determines the default music to be played when the camera is outside any [`oCZoneMusic`](oCZoneMusic.md) zones. The volume-related options of the zone are ignored. There may only be one `oCZoneMusicDefault` object in a world. === "Gothic 1" diff --git a/docs/engine/objects/zCCodeMaster.md b/docs/engine/objects/zCCodeMaster.md index 0c4a7cb8..07260da8 100644 --- a/docs/engine/objects/zCCodeMaster.md +++ b/docs/engine/objects/zCCodeMaster.md @@ -9,80 +9,173 @@ — Gothic I: `0`
— Gothic II: `0`
**ZenKit Class:** `zCCodeMaster` + **Source:**
+ — [spacerhilfedatei.sph](https://wiki.worldofgothic.de/doku.php?id=spacer:hilfedatei)
+ — [gothic-library.ru](http://www.gothic-library.ru/publ/zccodemaster/1-1-0-526) `zCCodeMaster` VObjects keep a list of 'slave' VObjects and keep track of events received by them. If the master receives an `OnTrigger` event from a slave, it remembers that it did. After it has receives an `OnTrigger` message -from all slaves, it emits an `OnTrigger` event to the [`triggerTarget`](#triggerTarget). Receiving or sending an +from all slaves, it emits an `OnTrigger` event to the [`triggerTarget`](#triggertarget). Receiving or sending an `OnTrigger` event is also referred to as an 'activation' for this purpose. - +=== "Gothic 1" + + - [zCVob](zCVob.md) + {: .sp-class} + - zCCodeMaster + {: .sp-class} + - [triggerTarget](#triggertarget) = "" + {: .sp-string} + - CodeMaster + {: .sp-folder} + - [orderRelevant](#orderrelevant) = FALSE + {: .sp-bool} + - OrderRelevant + {: .sp-folder} + - [firstFalseIsFailure](#firstfalseisfailure) = TRUE + {: .sp-bool} + - [triggerTargetFailure](#triggertargetfailure) = "" + {: .sp-string} + - OrderNotRelevant + {: .sp-folder} + - [untriggerCancels](#untriggercancels) = FALSE + {: .sp-bool} + - [slaveVobName0](#slavevobname) = "" + {: .sp-string} + - [slaveVobName1](#slavevobname) = "" + {: .sp-string} + - [slaveVobName2](#slavevobname) = "" + {: .sp-string} + +=== "Gothic 2" + + - [zCVob](zCVob.md) + {: .sp-class} + - zCCodeMaster + {: .sp-class} + - [triggerTarget](#triggertarget) = "" + {: .sp-string} + - CodeMaster + {: .sp-folder} + - [orderRelevant](#orderrelevant) = FALSE + {: .sp-bool} + - OrderRelevant + {: .sp-folder} + - [firstFalseIsFailure](#firstfalseisfailure) = TRUE + {: .sp-bool} + - [triggerTargetFailure](#triggertargetfailure) = "" + {: .sp-string} + - OrderNotRelevant + {: .sp-folder} + - [untriggerCancels](#untriggercancels) = FALSE + {: .sp-bool} + - [slaveVobName0](#slavevobname) = "" + {: .sp-string} + - [slaveVobName1](#slavevobname) = "" + {: .sp-string} + - [slaveVobName2](#slavevobname) = "" + {: .sp-string} + +=== "Gothic 1 (Save)" + + - [zCVob](zCVob.md) + {: .sp-class} + - zCCodeMaster + {: .sp-class} + - [triggerTarget](#triggertarget) = "" + {: .sp-string} + - CodeMaster + {: .sp-folder} + - [orderRelevant](#orderrelevant) = FALSE + {: .sp-bool} + - OrderRelevant + {: .sp-folder} + - [firstFalseIsFailure](#firstfalseisfailure) = TRUE + {: .sp-bool} + - [triggerTargetFailure](#triggertargetfailure) = "" + {: .sp-string} + - OrderNotRelevant + {: .sp-folder} + - [untriggerCancels](#untriggercancels) = FALSE + {: .sp-bool} + - [slaveVobName0](#slavevobname) = "" + {: .sp-string} + - [slaveVobName1](#slavevobname) = "" + {: .sp-string} + - [slaveVobName2](#slavevobname) = "" + {: .sp-string} + +=== "Gothic 2 (Save)" + + - [zCVob](zCVob.md) + {: .sp-class} + - zCCodeMaster + {: .sp-class} + - [triggerTarget](#triggertarget) = "" + {: .sp-string} + - CodeMaster + {: .sp-folder} + - [orderRelevant](#orderrelevant) = FALSE + {: .sp-bool} + - OrderRelevant + {: .sp-folder} + - [firstFalseIsFailure](#firstfalseisfailure) = TRUE + {: .sp-bool} + - [triggerTargetFailure](#triggertargetfailure) = "" + {: .sp-string} + - OrderNotRelevant + {: .sp-folder} + - [untriggerCancels](#untriggercancels) = FALSE + {: .sp-bool} + - [slaveVobName0](#slavevobname) = "" + {: .sp-string} + - [slaveVobName1](#slavevobname) = "" + {: .sp-string} + - [slaveVobName2](#slavevobname) = "" + {: .sp-string} + - [numSlavesTriggered](#numslavestriggered) + {: .sp-int} + - slaveTriggered0 + {: .sp-type} + - slaveTriggered1 + {: .sp-type} ## Properties -### `triggerTarget` {: .sp-string} +#### `triggerTarget` {: .sp-string} : The name of the VObject to send an `OnTrigger` event to after all slaves have fired in the correct order. -### `orderRelevant` {: .sp-bool} +#### `orderRelevant` {: .sp-bool} : Controls whether the master should keep track of the order it receives messages from its slaves. - * `TRUE` — Only send an `OnTrigger` event to the [`triggerTarget`](#triggerTarget) if the slaves have fired in + * `TRUE` — Only send an `OnTrigger` event to the [`triggerTarget`](#triggertarget) if the slaves have fired in the exact order they are configured here. Also counts multiple activations. - * `FALSE` — Send an `OnTrigger` event to the [`triggerTarget`](#triggerTarget) after all slaves have fired at least + * `FALSE` — Send an `OnTrigger` event to the [`triggerTarget`](#triggertarget) after all slaves have fired at least once, regardless of order. -### `firstFalseIsFailure` {: .sp-bool} +#### `firstFalseIsFailure` {: .sp-bool} : Controls when the slave activation sequence is considered to be incorrect. After the sequence is marked as - incorrect an `OnTrigger` event is sent to [`triggerTargetFailure`](#triggerTargetFailure). + incorrect an `OnTrigger` event is sent to [`triggerTargetFailure`](#triggertargetfailure). * `TRUE` — The sequence is considered to be incorrect as soon as one slave is activated out-of-order. * `FALSE` — The sequence is considered to be incorrect only after all slaves have been activated at least once and they were activated out-of-order. !!! warning - Only relevant if [`orderRelevant`](#orderRelevant) is set to `TRUE`. + Only relevant if [`orderRelevant`](#orderrelevant) is set to `TRUE`. -### `triggerTargetFailure` {: .sp-string} +#### `triggerTargetFailure` {: .sp-string} : The name of the VObject to emit an `OnTrigger` event to if the activation sequence fails. This is controlled by - [`firstFalseIsFailure`](#firstFalseIsFailure). + [`firstFalseIsFailure`](#firstfalseisfailure). !!! warning - Only relevant if [`orderRelevant`](#orderRelevant) is set to `TRUE`. + Only relevant if [`orderRelevant`](#orderrelevant) is set to `TRUE`. -### `untriggerCancels` {: .sp-bool} +#### `untriggerCancels` {: .sp-bool} : Controls whether slaves can emit `OnUntrigger` events to the master VObject to mark themselves as deactivated. @@ -90,14 +183,13 @@ from all slaves, it emits an `OnTrigger` event to the [`triggerTarget`](#trigger * `FALSE` — The master ignore `OnUntrigger` events from its slaves. !!! warning - Only relevant if [`orderRelevant`](#orderRelevant) is set to `FALSE`. + Only relevant if [`orderRelevant`](#orderrelevant) is set to `FALSE`. -### `slaveVobName` {: .sp-string} +#### `slaveVobName` {: .sp-string} : The name of a slave VObject. -## Sources +### `numSlavesTriggered` {: .sp-int} -The help file for the Spacer, found [here](https://wiki.worldofgothic.de/doku.php?id=spacer:hilfedatei) and the -Russian-language knowledge accumulator [gothic-library.ru](http://www.gothic-library.ru/publ/zccodemaster/1-1-0-526). +: Unknown. diff --git a/docs/engine/objects/zCMessageFilter.md b/docs/engine/objects/zCMessageFilter.md index a05bbc4d..4c47bd23 100644 --- a/docs/engine/objects/zCMessageFilter.md +++ b/docs/engine/objects/zCMessageFilter.md @@ -71,12 +71,12 @@ Transforms any incoming `OnTrigger` and `OnUntrigger` events before passing them #### `triggerTarget` {: .sp-string} : The name of the target VObject. All `OnTrigger` and `OnUntrigger` messages received by this `zCMessageFilter` - VObject are transformed according to [`onTrigger`](#onTrigger) and [`onUntrigger`](#onUntrigger) and then + VObject are transformed according to [`onTrigger`](#ontrigger) and [`onUntrigger`](#onuntrigger) and then passed on to the VObject with the name specified in this field. #### `onTrigger` {: .sp-enum} -: The type of event to emit to the [`triggerTarget`](#triggerTarget) if this VObject receives an `OnTrigger` message. +: The type of event to emit to the [`triggerTarget`](#triggertarget) if this VObject receives an `OnTrigger` message. * `MT_NONE` — Don't emit another event. * `MT_TRIGGER` — Emit an `OnTrigger` event. @@ -87,7 +87,7 @@ Transforms any incoming `OnTrigger` and `OnUntrigger` events before passing them #### `onUntrigger` {: .sp-enum} -: The type of event to emit to the [`triggerTarget`](#triggerTarget) if this VObject receives an `OnUntrigger` message. +: The type of event to emit to the [`triggerTarget`](#triggertarget) if this VObject receives an `OnUntrigger` message. * `MT_NONE` — Don't emit another event. * `MT_TRIGGER` — Emit an `OnTrigger` event. diff --git a/docs/engine/objects/zCMover.md b/docs/engine/objects/zCMover.md index eee349b3..6bd6f6ea 100644 --- a/docs/engine/objects/zCMover.md +++ b/docs/engine/objects/zCMover.md @@ -23,7 +23,7 @@ Each mover is in one of three states, "open", "closed" or "moving". Keyframe `0` 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`](#moverBehavior) set to `NSTATE_SINGLE_KEYS` are an exception to this rule: each keyframe can +their [`moverBehavior`](#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 @@ -280,7 +280,7 @@ Movers can be enabled and disabled using the `OnEnable`, `OnDisable` and `OnTogg * `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`](#stayOpenTimeSec). + to the "closed" state after a fixed amount of time specified by [`stayOpenTimeSec`](#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 [`zCMoverController`](zCMoverController.md). @@ -291,11 +291,11 @@ Movers can be enabled and disabled using the `OnEnable`, `OnDisable` and `OnTogg #### `stayOpenTimeSec` {: .sp-float} -: The number of seconds a mover with the `2STATE_OPEN_TIMED` [behavior](#moverBehavior) stays in the "open" +: The number of seconds a mover with the `2STATE_OPEN_TIMED` [behavior](#moverbehavior) stays in the "open" state until transitioning to the "closed" state again. !!! warning - Only relevant if [`moverBehavior`](#moverBehavior) is `2STATE_OPEN_TIMED`. + Only relevant if [`moverBehavior`](#moverbehavior) is `2STATE_OPEN_TIMED`. #### `moverLocked` {: .sp-bool} diff --git a/docs/engine/objects/zCMoverController.md b/docs/engine/objects/zCMoverController.md index 2c885849..ebbaad1c 100644 --- a/docs/engine/objects/zCMoverController.md +++ b/docs/engine/objects/zCMoverController.md @@ -79,18 +79,18 @@ just step one keyframe back and forth at a time. #### `moverMessage` {: .sp-enum} -: The type of event to emit to the [`triggerTarget`](#triggerTarget) when this controller receives an `OnTrigger` event. +: The type of event to emit to the [`triggerTarget`](#triggertarget) when this controller receives an `OnTrigger` event. * `GOTO_KEY_FIXED_DIRECTLY` — Make the target mover directly go to the keyframe specified in [`gotoFixedKey`](#gotoFixedKey), skipping all intermediate keyframes. - * `GOTO_KEY_FIXED_ORDER` — Make the target mover go to the keyframe specified in in [`gotoFixedKey`](#gotoFixedKey) + * `GOTO_KEY_FIXED_ORDER` — Make the target mover go to the keyframe specified in in [`gotoFixedKey`](#gotofixedkey) while still going through all intermediate keyframes. * `GOTO_KEY_NEXT` — Make the target mover go to the next keyframe in sequence. Wraps around to the first keyframe. * `GOTO_KEY_PREV` — Make the target mover go to the previous keyframe in sequence. Wraps around to the last keyframe. #### `gotoFixedKey` {: .sp-int} -: The keyframe of the mover referred to by [`triggerTarget`](#triggerTarget) to move to. +: The keyframe of the mover referred to by [`triggerTarget`](#triggertarget) to move to. !!! warning - Only relevant if [`moverMessage`](#moverMessage) is `GOTO_KEY_FIXED_DIRECTLY` or `GOTO_KEY_FIXED_ORDER`. + Only relevant if [`moverMessage`](#movermessage) is `GOTO_KEY_FIXED_DIRECTLY` or `GOTO_KEY_FIXED_ORDER`. diff --git a/docs/engine/objects/zCTouchDamage.md b/docs/engine/objects/zCTouchDamage.md index 8f6d5313..d0dee1b5 100644 --- a/docs/engine/objects/zCTouchDamage.md +++ b/docs/engine/objects/zCTouchDamage.md @@ -147,7 +147,7 @@ A VObject which damages other VObjects colliding with it. - [Point](#point) = FALSE {: .sp-bool} - [Fall](#fall) = FALSE - {: .sp-bool} + {: .sp-bool}[zCCodeMaster.md](zCCodeMaster.md) - [damageRepeatDelaySec](#damagerepeatdelaysec) = 0 {: .sp-float} - [damageVolDownScale](#damagevoldownscale) = 0 diff --git a/docs/engine/objects/zCTrigger.md b/docs/engine/objects/zCTrigger.md index 3a9e1eed..7352f21d 100644 --- a/docs/engine/objects/zCTrigger.md +++ b/docs/engine/objects/zCTrigger.md @@ -15,11 +15,11 @@ VObject to process and relay specific filtered events. When a `zCTrigger` receives an `OnTrigger`, `OnDamage`, or `OnTouch` event it checks whether the event source (an [`oCNpc`](oCNpc.md), the player or another VObject) should -be acknowledged (see [`respondToNPC`](#respondToNPC), [`respondToPC`](#respondToPC) and -[`respondToObject`](#respondToObject) respectively). It then verifies if it should react to the specific event by -checking the [`reactToOnTrigger`](#reactToOnTrigger), [`reactToOnDamage`](#reactToOnDamage) and -[`reactToOnTouch`](#reactToOnTouch) properties. If both checks succeed, an `OnTrigger` event is sent to the -[`triggerTarget`](#triggerTarget) and the trigger is considered to be *activated*. `zCTrigger` objects can be enabled +be acknowledged (see [`respondToNPC`](#respondtonpc), [`respondToPC`](#respondtopc) and +[`respondToObject`](#respondtoobject) respectively). It then verifies if it should react to the specific event by +checking the [`reactToOnTrigger`](#reacttoontrigger), [`reactToOnDamage`](#reacttoondamage) and +[`reactToOnTouch`](#reacttoontouch) properties. If both checks succeed, an `OnTrigger` event is sent to the +[`triggerTarget`](#triggertarget) and the trigger is considered to be *activated*. `zCTrigger` objects can be enabled and disabled by firing `OnEnable`, `OnDisable` and `OnToggleEnabled` events at them. !!! tip @@ -213,8 +213,8 @@ and disabled by firing `OnEnable`, `OnDisable` and `OnToggleEnabled` events at t : Whether this trigger should react to `OnTrigger` events. - * `TRUE` — Do react to `OnTrigger` events by sending an `OnTrigger` message to the [`triggerTarget`](#triggerTarget) - If [`sendUntrigger`](#sendUntrigger) is set to `TRUE`, also sends an `OnUntrigger` event to the [`triggerTarget`](#triggerTarget) + * `TRUE` — Do react to `OnTrigger` events by sending an `OnTrigger` message to the [`triggerTarget`](#triggertarget) + If [`sendUntrigger`](#senduntrigger) is set to `TRUE`, also sends an `OnUntrigger` event to the [`triggerTarget`](#triggertarget) if the trigger receives an `OnUntrigger` event. * `FALSE` — Ignore `OnTrigger` events. @@ -222,8 +222,8 @@ and disabled by firing `OnEnable`, `OnDisable` and `OnToggleEnabled` events at t : Whether this trigger should react to `OnTouch` events. - * `TRUE` — Do react to `OnTouch` events by sending an `OnTrigger` message to the [`triggerTarget`](#triggerTarget) - If [`sendUntrigger`](#sendUntrigger) is set to `TRUE`, also sends an `OnUntrigger` event to the [`triggerTarget`](#triggerTarget) + * `TRUE` — Do react to `OnTouch` events by sending an `OnTrigger` message to the [`triggerTarget`](#triggertarget) + If [`sendUntrigger`](#senduntrigger) is set to `TRUE`, also sends an `OnUntrigger` event to the [`triggerTarget`](#triggertarget) if the trigger receives an `OnUntouch` event. * `FALSE` — Ignore `OnTouch` events. @@ -231,7 +231,7 @@ and disabled by firing `OnEnable`, `OnDisable` and `OnToggleEnabled` events at t : Whether this trigger should react to `OnDamage` events. - * `TRUE` — Do react to `OnDamage` events by sending an `OnTrigger` message to the [`triggerTarget`](#triggerTarget) + * `TRUE` — Do react to `OnDamage` events by sending an `OnTrigger` message to the [`triggerTarget`](#triggertarget) * `FALSE` — Ignore `OnDamage` events. #### `respondToObject` {: .sp-bool} @@ -289,9 +289,9 @@ and disabled by firing `OnEnable`, `OnDisable` and `OnToggleEnabled` events at t #### `sendUntrigger` {: .sp-bool} -: Whether to send and `OnUntrigger` event to the [`triggerTarget`](#triggerTarget) after the trigger receives an - `OnUntrigger` or `OnUntouch` event. Only fires the `OnUntrigger` event if [`reactToOnTrigger`](#reactToOnTrigger) - and [`reactToOnTouch`](#reactToOnTouch) are set to `TRUE` respectively. +: Whether to send and `OnUntrigger` event to the [`triggerTarget`](#triggertarget) after the trigger receives an + `OnUntrigger` or `OnUntouch` event. Only fires the `OnUntrigger` event if [`reactToOnTrigger`](#reacttoontrigger) + and [`reactToOnTouch`](#reacttoontouch) are set to `TRUE` respectively. #### `nextTimeTriggerable` {: .sp-float} diff --git a/docs/engine/objects/zCTriggerList.md b/docs/engine/objects/zCTriggerList.md index c1f24a69..7b4103b9 100644 --- a/docs/engine/objects/zCTriggerList.md +++ b/docs/engine/objects/zCTriggerList.md @@ -14,8 +14,8 @@ — [gothic-library.ru](http://www.gothic-library.ru/publ/class_zctriggerlist/1-1-0-534) A special trigger which emits the `OnTrigger` events emitted by the [`zCTrigger`](zCTrigger.md) to multiple targets. -How the events are sent can be configured through [`listProcess`](#listProcess). The -[`triggerTarget`](zCTrigger.md#triggerTarget) and [`fireDelaySec`](zCTrigger.md#fireDelaySec) properties of +How the events are sent can be configured through [`listProcess`](#listprocess). The +[`triggerTarget`](zCTrigger.md#triggertarget) and [`fireDelaySec`](zCTrigger.md#firedelaysec) properties of [`zCTrigger`](zCTrigger.md) should be ignored. `OnUntrigger` events sent to the trigger list are propagated to all targets in the list. @@ -134,18 +134,18 @@ How the events are sent can be configured through [`listProcess`](#listProcess). : Controls how events are sent to the targets. - * `LP_ALL` — Every target in the trigger list is sent the `OnTrigger` event sequentially. The [`fireDelay`](#fireDelay) + * `LP_ALL` — Every target in the trigger list is sent the `OnTrigger` event sequentially. The [`fireDelay`](#firedelay) of each target is taken into account so that target `n` is fired after `sum(fireDelay0, ..., fireDelayN-1)` seconds. * `LP_NEXT_ONE` — The event is sent to the next target in the list. * `LP_RAND_ONE` — The event is sent to a random target in the list. #### `triggerTarget` {: .sp-string} -: The name of the VObject to send events to. Behaves like [`zCTrigger.triggerTarget`](zCTrigger.md#triggerTarget). +: The name of the VObject to send events to. Behaves like [`zCTrigger.triggerTarget`](zCTrigger.md#triggertarget). #### `fireDelay` {: .sp-float} -: The delay after which to fire the event to the target. Behaves like [`zCTrigger.fireDelaySec`](zCTrigger.md#fireDelaySec). +: The delay after which to fire the event to the target. Behaves like [`zCTrigger.fireDelaySec`](zCTrigger.md#firedelaysec). #### `actTarget` {: .sp-int} diff --git a/docs/engine/objects/zCTriggerUntouch.md b/docs/engine/objects/zCTriggerUntouch.md index 79f536aa..8e0a286f 100644 --- a/docs/engine/objects/zCTriggerUntouch.md +++ b/docs/engine/objects/zCTriggerUntouch.md @@ -12,7 +12,7 @@ **Sources:**
— [spacerhilfedatei.sph](https://wiki.worldofgothic.de/doku.php?id=spacer:hilfedatei) -A trigger which fires an `OnTrigger` event to its [`triggerTarget`](#triggerTarget) if any `OnUntouch` event is emitted +A trigger which fires an `OnTrigger` event to its [`triggerTarget`](#triggertarget) if any `OnUntouch` event is emitted from an inanimate object within the object's bounding box. === "Gothic 1" diff --git a/docs/engine/objects/zCTriggerWorldStart.md b/docs/engine/objects/zCTriggerWorldStart.md index 940d3279..0bd953da 100644 --- a/docs/engine/objects/zCTriggerWorldStart.md +++ b/docs/engine/objects/zCTriggerWorldStart.md @@ -12,7 +12,7 @@ **Sources:**
— [spacerhilfedatei.sph](https://wiki.worldofgothic.de/doku.php?id=spacer:hilfedatei) -A special trigger which fires an `OnTrigger` event to its [target](#triggerTarget) when the world is loaded and started. +A special trigger which fires an `OnTrigger` event to its [target](#triggertarget) when the world is loaded and started. === "Gothic 1" diff --git a/docs/engine/objects/zCVobLight.md b/docs/engine/objects/zCVobLight.md index bc9ca593..fd55c3d5 100644 --- a/docs/engine/objects/zCVobLight.md +++ b/docs/engine/objects/zCVobLight.md @@ -209,7 +209,7 @@ may be animated with different colors and ranges. #### `spotConeAngle` {: .sp-float} -: The angle of the beam cone for spotlights. Only relevant if [`lightType`](#lightType) is `SPOT`, ignored otherwise. +: The angle of the beam cone for spotlights. Only relevant if [`lightType`](#lighttype) is `SPOT`, ignored otherwise. #### `lightStatic` {: .sp-bool} @@ -217,7 +217,9 @@ may be animated with different colors and ranges. : Determines whether this is a static light or not. Static lights are baked into the world when its lighting is compiled. This makes static lights faster at runtime, but it also means, that they cannot change in any way after the world is compiled. -
`TRUE` — This light is a static light. `FALSE` — This light is a dynamic light. + + * `TRUE` — This light is a static light. + * `FALSE` — This light is a dynamic light. #### `lightQuality` {: .sp-enum} @@ -234,36 +236,40 @@ may be animated with different colors and ranges. #### `turnedOn` {: .sp-bool} : Whether this dynamic light is turned on. -
`TRUE` — The light is turned on. `FALSE` — The light is turned off. + + * `TRUE` — The light is turned on. + * `FALSE` — The light is turned off. !!! warning - This value is only valid for dynamic lights. Check [`lightStatic`](#lightStatic) before use. + This value is only valid for dynamic lights. Check [`lightStatic`](#lightstatic) before use. #### `rangeAniScale` {: .sp-string} : Frames for the light's range animation. Its value is a space-separated list of floats where each float is one key frame of the animation. A value of `1.0` corresponds to the initial [`range`](#range) of the light source, a value of `2.0` corresponds to double the initial [`range`](#range) and a value of `0.5` means half the initial - [`range`](#range). The range animation is further controlled by [`rangeAniFPS`](#rangeAniFps) and - [`rangeAniSmooth`](#rangeAniSmooth). + [`range`](#range). The range animation is further controlled by [`rangeAniFPS`](#rangeanifps) and + [`rangeAniSmooth`](#rangeanismooth). !!! warning - This value is only valid for dynamic lights. Check [`lightStatic`](#lightStatic) before use. + This value is only valid for dynamic lights. Check [`lightStatic`](#lightstatic) before use. #### `rangeAniFPS` {: .sp-float} -: The speed of the range animation in frames per second. The animation frames are defined in [`rangeAniScale`](#rangeAniScale) +: The speed of the range animation in frames per second. The animation frames are defined in [`rangeAniScale`](#rangeaniscale) !!! warning - This value is only valid for dynamic lights. Check [`lightStatic`](#lightStatic) before use. + This value is only valid for dynamic lights. Check [`lightStatic`](#lightstatic) before use. #### `rangeAniSmooth` {: .sp-bool} : Whether the range animation should smoothly interpolate between keyframes. -
`TRUE` — Turn on interpolation. `FALSE` — Turn off interpolation + + * `TRUE` — Turn on interpolation. + * `FALSE` — Turn off interpolation. !!! warning - This value is only valid for dynamic lights. Check [`lightStatic`](#lightStatic) before use. + This value is only valid for dynamic lights. Check [`lightStatic`](#lightstatic) before use. #### `colorAniList` {: .sp-string} @@ -271,29 +277,31 @@ may be animated with different colors and ranges. be an RGB color consisting of three integers enclosed by parentheses or a greyscale color consisting of a single integer. For example: `(255 0 0) 100 (255 50 180)` would result in #ff0000 #646464, #ff32b4. The color animation is - further controlled by [`colorAniFPS`](#colorAniFPS) and [`colorAniSmooth`](#colorAniSmooth). + further controlled by [`colorAniFPS`](#coloranifps) and [`colorAniSmooth`](#coloranismooth). !!! warning - This value is only valid for dynamic lights. Check [`lightStatic`](#lightStatic) before use. + This value is only valid for dynamic lights. Check [`lightStatic`](#lightstatic) before use. #### `colorAniFPS` {: .sp-float} -: The speed of the color animation in frames per second. The animation frames are defined in [`colorAniList`](#colorAniList) +: The speed of the color animation in frames per second. The animation frames are defined in [`colorAniList`](#coloranilist) !!! warning - This value is only valid for dynamic lights. Check [`lightStatic`](#lightStatic) before use. + This value is only valid for dynamic lights. Check [`lightStatic`](#lightstatic) before use. #### `colorAniSmooth` {: .sp-bool} : Whether the color animation should smoothly interpolate between keyframes. -
`TRUE` — Turn on interpolation. `FALSE` — Turn off interpolation + + * `TRUE` — Turn on interpolation. + * `FALSE` — Turn off interpolation. !!! warning - This value is only valid for dynamic lights. Check [`lightStatic`](#lightStatic) before use. + This value is only valid for dynamic lights. Check [`lightStatic`](#lightstatic) before use. #### `canMove` {: .sp-bool} : Unknown. !!! warning - This value is only valid for dynamic lights in **Gothic II**. Check [`lightStatic`](#lightStatic) before use. + This value is only valid for dynamic lights in **Gothic II**. Check [`lightStatic`](#lightstatic) before use. diff --git a/docs/engine/objects/zCVobSound.md b/docs/engine/objects/zCVobSound.md index 830d2250..0a260deb 100644 --- a/docs/engine/objects/zCVobSound.md +++ b/docs/engine/objects/zCVobSound.md @@ -164,19 +164,19 @@ Emits a sound defined by a script instance in a given radius. The sound playback #### `sndRandDelay` {: .sp-float} -: The average delay between repetitions in seconds if [`sndMode`](#sndMode) is `RANDOM`. +: The average delay between repetitions in seconds if [`sndMode`](#sndmode) is `RANDOM`. !!! warning - Only relevant if [`sndMode`](#sndMode) is `RANDOM`. + Only relevant if [`sndMode`](#sndmode) is `RANDOM`. #### `sndRandDelayVar` {: .sp-float} -: The maximum deviation of the random delay between repetitions if [`sndMode`](#sndMode) is `RANDOM`. The resulting - delay will be a value between [`sndRandDelay`](#sndRandDelay) ± [`sndRandDelayVar`](#sndRandDelayVar). +: The maximum deviation of the random delay between repetitions if [`sndMode`](#sndmode) is `RANDOM`. The resulting + delay will be a value between [`sndRandDelay`](#sndranddelay) ± [`sndRandDelayVar`](#sndranddelayvar). !!! warning - Only relevant if [`sndMode`](#sndMode) is `RANDOM`. + Only relevant if [`sndMode`](#sndmode) is `RANDOM`. #### `sndStartOn` {: .sp-bool} diff --git a/docs/engine/objects/zCVobSoundDaytime.md b/docs/engine/objects/zCVobSoundDaytime.md index 7448669c..0e20826d 100644 --- a/docs/engine/objects/zCVobSoundDaytime.md +++ b/docs/engine/objects/zCVobSoundDaytime.md @@ -89,14 +89,14 @@ sound can be defined which is played outside the defined time range (example: bi #### `sndStartTime` {: .sp-float} : The time of day after which the sound can be heard (`13.5` corresponds to `13:30`). Must be less - than [`sndEndTime`](#sndEndTime). + than [`sndEndTime`](#sndendtime). #### `sndEndTime` {: .sp-float} : The time of day after which the sound can no longer be heard (`13.5` corresponds to `13:30`). Must be greater than - [`sndStartTime`](#sndStartTime). + [`sndStartTime`](#sndstarttime). #### `sndName2` {: .sp-string} : The name of the script instance describing the sound to play outside the hours defined by - [`sndStartTime`](#sndStartTime) and [`sndEndTime`](#sndEndTime). May be empty. + [`sndStartTime`](#sndstarttime) and [`sndEndTime`](#sndendtime). May be empty. diff --git a/docs/engine/objects/zCVobStair.md b/docs/engine/objects/zCVobStair.md index b7a4cf65..58d6cd2c 100644 --- a/docs/engine/objects/zCVobStair.md +++ b/docs/engine/objects/zCVobStair.md @@ -8,7 +8,7 @@ **Version Identifiers:**
— Gothic I: `12289`
— Gothic II: *Unused*
- **ZenKit Class:** `VStair`
+ **Sources:**
— [spacerhilfedatei.sph](https://wiki.worldofgothic.de/doku.php?id=spacer:hilfedatei)
— [gothic-library.ru](http://www.gothic-library.ru/publ/class_zcvobstair/1-1-0-499)