The Dark Conjunction
Demo 1.0

Entities Manual

 

Index

1. Installation
2. Setting up Radiant
3. Important info before you start
4. Submitting work / Assistance

5. Ammo Entities
6. Function Entities
7. Item Entities
8. Miscellaneous Entities
9. NPC Entities (Non-Playable-Characters)
10. NPC Path Entity
11. Path Entities
12. Shooter Entities
13. Target Entities
14. Trigger Entities
15. Weapon Entities


 

Installation

Installation is easy! Just make sure you place the entities.def archive in your conjunction folder and set up Radiant (read the following section).

 

Setting up Radiant

In Radiant (or GTKRadiant) go to Project Settings from the File menu. You must change the following paths:

basepath: set the path to your conjunction directory (...\quake3\conjunction)
mapspath: set the path to your map directory in conjunction (...\quake3\conjunction\maps)
remotebasepath: no idea what this does. Anyway, we have it set to conjunction
entitypath: set this path to conjunction and make sure your entities.def is unzipped to this directory
texturepath: set this path to your textures directory in conjunction (...\quake3\conjunction\textures)

 

Important info before you start

In The Dark Conjunction the first map of the game MUST be named "aircrash". The code will search for this map and load it when you start the game through the menu. The rest of the maps can have any name since they are loaded by the target_level_end entity.
Another important note is that /map and /devmap parameters do not work in TDC. These parameters will always load the last saved map. It is recommended to keep save states of all maps when editing them to have an easy access.

Important: When building your pk3 you must include only your own work. Please do not include any material from any of the conjunction pk3s into your own pak. Your pk3 must run using The Dark Conjunction.

 

Submitting work / Assistance

We'd love to post or link your work from The Dark Conjunction website. If you produce any work drop us a line at durandal9@yahoo.com. Please do not submit material through mail.

You can reach assistance by posting your questions in the editing board from our website forum. The forum is located here.

 

Ammo Entities

ammo_bullets

Game Function: Gun ammo. Gives the player 24 shots by default.

ammo_mg42

Game Function: MG42 ammo. Gives the player 100 shots by default.

ammo_shells

Game Function: Trishotgun ammo. Gives the player 10 shots by default (30 shells). Each shot uses 3 shells.

Design tips: Ammo entities from TDC work just as ammo entities from Quake 3. Since this is single player, to keep an ammo box from respawning use a wait key with a -1 value.

 

Function Entities

func_door & func_door_rotating

Design tips: Doors in TDC work almost the same as doors in Quake 3. The difference is that sounds must be specified for every door event.

Keys
sound1to2:
Sound that is played when the door starts opening.

soundPos1:
Sound that is played when the door finishes opening.

sound2to1:
Sound that is played when the door starts closing.

soundPos2:
Sound that is played when the door finishes closing.

wait:
When set to -1 doors stay open and do not close again.

Note: A complete path to the sound must be given. The sound name must include the .wav file extension.

Known bug: Demo 1.0 seems to have a bug playing certain combination of sounds with doors. It seems SoundPos1 does not work.

func_train

Design tips: Function trains have been expanded in TDC. They do not always start on and they can be set to start with triggers and stop as well. Combining the functionality of func_trains, plus the new keys in path_corners, trains can be set to do many things.

Keys
targetname:
A trigger that points to the train will activate it.

target:
This points to the first path_corner of the path which is also the spawn location of the train's origin.

Check Boxes/Spawnflags
start_on:
Makes func_train start moving when spawned in the map (just as a normal Q3 func_train).

Note: Check path_corner entity for more details.

 

Item Entities:

item_health

Design tips: The item_health is the regular and only medkit used in TDC. Since this is single player use wait key with -1 value to keep health from respawning.

Game Function: Restores an amount of health depending on difficulty level. Restores 40 in easy, 30 in normal and 20 in hard. The medkit cannot restore more than 100 health.

 

Miscellaneous Entities

misc_model_anim

Design tips: This entity is a model that can display an animation. Many cool effects can be achieved if combined with other entities. For instance, you can make a bird animation and put it on an invisible train to make the illusion that it is flying. The origin of the entity is in the center of the displayed box. You can easily adjust the position and orientation of an animated model by first putting the MD3 as a normal model in the map as a guide.

Keys
model:
Model that is displayed. Must contain a complete path and the .md3 file extension.

speed:
Seems not to be working. Should change the speed scale from the .anim file (see notes).

wait:
If set to 1 must be triggered to start animating. If set to 0 animates as soon as level starts.

angle:
The angle in which the model is displayed.

Check Boxes/Spawnflags
hidden_start:
The model is invisible (not drawn) until it starts to animate.

hidden_end:
The model disappears after the animation ends.

notsuspended:
The model is dropped to floor level and has mass. It can travel on plats and trains. It will block player movement. Bounding box size depends on config file (see notes).

Notes:

Animation: To control the animation from the model you must create an animation file. Just create a text document (.txt) and change the extension to .anim. This file must contain the following data:

Start frame: The number of the starting frame. First frame is 0.
Number of frames:
The number of frames that are animated from the starting frame.

Looping frames:
The number of frames that loop after each cycle of animation from the last frames.

Frames per second:
The speed with which the animation is displayed. Minimum is 5. The higher the faster.

Example of an anim file: (This is the four arm demon in the first map (Hulk demon))

// start frame, numframes, looping, frames per second
0 215 14 10

Config file: If the model uses the notsuspended check box you can alter the bounding box it uses with a config file. To create a config file simply create a text document (.txt) and change the extension to .cfg. The default bounding box is the size of a player's bounding box. To alter the size the file must contain the coordinates of the new box. 6 coordinates are required to create a box. The first three coordinates (x,y,z) correspond to lower back arista (calculated from the center which would be (0 0 0)). The second three coordinates (x,y,z) correspond to the top front arista (also calculated from the center). If we want to create a square bounding box of 10*10*10 units at floor level the coordinates would be: ( -5 -5 -24 ) ( 5 5 -14 ). The z coordinate for the lower arista MUST be -24 for the model to appear at floor level.

Example of config file: (These are the dimensions of the bounding box of a fireball hurling monster (Ank demon). This is how the coordinates should look in the .cfg file)

( -16 -24 -24 )
( 16 24 40 )

Known bugs: Suspended models (that do not have a bounding box) are "eaten" by doors or certain movers. This means that if an animated model is too close to a door when the door is activated the model disappears. To avoid this keep animated models at a safe distance from doors (specially rotating doors).

The other thing is that check boxes tend to change when selecting, duplicating or moving the entities in the map. When you select or move animated models make sure that the check boxes are not altered after. We're not sure if this is a problem with Radiant.

 

NPC Entities (Non-Playable-Characters)

NPCs in general:

Keys
shot_factor:
Values are between 0 and 1. This controls the likeness a NPC will fire a projectile and how much it uses backpedal. An NPC that has shot_factor set to 0 will not shoot at all and will never backpedal. An NPC with shot_factor set to 1 will always shoot and won't move. The higher the value the more the NPC will shoot and the more it will backpedal (unless set to 1 where it won't move). The default value is 0.5.

targetname:
This is used for the "disabled" check box option. When triggered the NPC is enabled (see disabled under Check Boxes/Spawnflags)

target:
This is used to trigger an event once the NPC is killed. It can also be used to make the NPC walk through a specified route using the npcpath entity (see npcpath for more info).

angle:
The angle in which the NPC is spawned.

Check Boxes/Spawnflags
suspended:
When enabled the NPC starts suspended in the air when spawned into the map. This has not been checked so we don't know if it works.

disabled:
The NPC is hidden until it is triggered. When triggered it will appear in the specified location.

deaf:
This doesn't work in Demo 1.0. NPCs are still always deaf...

first_taunt:
If enabled, when the NPC "sees" you for the first time it will perform the taunt animation.

npc_ank

Design tips: This is the orange fireball hurling monster. It is the most commonly used monster. Fireballs are sometimes homing at far distances. If shot_factor is set to 0 it will attack the player only with the melee attack. If shot_factor is set to 1 it can be used as a "sniper".

npc_bat

Design tips: The bat demon is one of the most special NPCs of all, since it has a flying mode and a land mode. Bat demons have a specific key no other NPC has. The key "flying_alt" determines the standard height the bat demon will try to fly at. Default is 100. Bat demons do not fall off ledges and they enter in a flying mode if they do so. A bat demon on the land can jump to flight, but they do this only sometimes. These NPCs are recommended to use in open spaces with a lot of sky.

npc_hulk

Design tips: This is the four arm blue monster. It is very important that this monster is used in open spaces. The problem is that the aas routines are calculated for a player size and the monster, which is much larger than a player, uses these routines. Because of the aas it thinks it can enter any area a player can access. If you are not careful it will get stuck easily. The ground shaking attack does not affect the player if the player is jumping. Shot_factor has not been tested with this NPC and it shouldn't have any use.

npc_metlar

Design tips: Metlar demons are the frog jumping demons from TDC. They should be used in not too complex open spaces, since they are rather large and don't work well in closed areas due to the nature of their movement. Remember that aas routines are calculated for a player size and these monster use those routines, which means they will think they can get past areas they do not fit. Shot_factor has not been tested with this NPC.

npc_pilot

Design tips: Pilots do not attack the player unless the player attacks them. They attack monsters on sight. Shot_factor has not been tested with this NPC. When killed drops a weapon_gun entity that does not respawn. Slightly weaker than soldiers.

npc_sealord

Design tips: This monster can only be used under very specific conditions! The monster must face south (angle 270). We haven't confirmed north (angle 90), but it may work. The monster moves only from side to side (strafing) and has a maximum strafing distance of about 120 game units. The monster will not exceed that distance. The other thing is that the monster's bounding box only covers it's chest area. If you do not stop the player from reaching the NPC you will have clipping problems. If the player manages to get behind the monster it will not turn! We used a clip brush to avoid the player from reaching the monster. Shot_factor has not been tested with this NPC.

npc_soldier1

Design tips: Soldiers do not attack the player unless the player attacks them. They attack monsters on sight. Shot_factor has not been tested with this NPC. When killed drops a weapon_gun entity that does not respawn.

 

NPC Path Entity

npcpath

Design tips: You can use this entity to make an NPC walk a specific path as long as it is inactive (not fighting). The complete path doesn't have to be laid out because the NPC will use the aas to reach one npcpath box to another. You can make the NPC go back and forth if you connect the boxes in a circular pattern.

Keys
targetname:
The target name that links a npcpath with the another npcpath or the NPC itself. An NPC must be targeted to one of the paths to use it.

target:
The target destination npcpath the NPC should walk.

Notes: This entity is to use only with NPCs that can walk. The bat demon, the hulk demon and the sea lord do not walk.

 

Path Entities

path_corner

Design tips: As mentioned previously, path corners can be combined with function trains to give them new functionality.

Keys
Target:
Next path corner to go to

Targetname:
Previous path corner

wait:
-1 stops the train. -2 means the train must be triggered in order to continue to the next path corner. -3 means the train must be triggered, but only once, and it will continue until stopped.

 

Shooter Entities

shooter_rocket

Design tips: The rocket has been replaced with a fireball. The entity works just like in Quake 3, though the shooting sound has been silenced.

 

Target Entities

target_earthquake

Design tips: To create an earthquake effect use this entity. You can control the length and the intensity of the earthquake. To add sound combine with target_speaker (you can try sound/world/ambient/x_ancientsdrone.wav).

Keys
length:
Values are between 2 and 32 and are in seconds. Only powers of two can be used to determine length.

intensity:
Values are between 1 and 16. The higher the value the more intense the earthquake is.

targetname:
To trigger the earthquake.

target_hurt

Design tips: When triggered the player will lose a determined amount of energy.

Keys
targetname:
To trigger the target hurt

damage:
Amount of energy the player loses

Notes: This entity was created because the normal trigger_hurt entity damages the player every server frame while he is touching the trigger. The target_hurt entity damages the player only once (if the trigger that activates it can be activated only once).

target_level_end

Design tips: When triggered this target makes you leave the current map and enter another map. A single map can have more than one exit (to different maps).

Keys
message:
Insert the name of the level to spawn to. Do not include path or extension; only the map name.

targetname:
To trigger the level end.

target_music_start

Design tips: Music must be triggered in TDC. To trigger the music in a specific moment use this target. You can also keep the music from looping.

Keys
wait:
To keep the music from looping insert the number of decimals the track lasts. After the specified amount of decimals pass the music stops playing.

targetname:
To trigger the music.

Notes: The music must be specified in the worldspawn just like with a Quake 3 map (with path and extension). Do not specify the music in the target_music_start!

target_player_stop

Design tips: Use this target to freeze player movement for a specified time. Player will still be capable of looking around.

Keys
wait:
The amount of time the player is stopped. Each unit is equivalent to two seconds. Wait 2 will freeze player for four seconds.

targetname:
To trigger the player stop.

Check Boxes/Spawnflags
black_bars:
This makes a couple of black bars display on the top and the bottom of the screen as long as the event lasts. Kind of a wide screen effect.

Known bug: It seems that if the target_player_stop shares the same trigger with many other events when it becomes active and the player tries to move the screen kind of starts jumping like if the movement succeeded only for a very small fraction of time. If this happens create another trigger that only shoots the target_player_stop.

target_teleporter

Design tips: See trigger_teleport for design notes.

 

Trigger Entities

trigger_multiple

Design tips: Now you can create a trigger that can only be activated if another or various other triggers are activated.

Keys
count:
Makes the trigger conditional to other trigger activation. The value determines the number of times other triggers must fire to the conditional trigger before it becomes active.

target:
Target trigger to activate.

targetname:
Target name of the conditional trigger that must be activated.

Example: If you have a trigger with count = 2, then it must be activated twice by other triggers before it can be used.

trigger_teleporter

Design notes: Both target teleporters and trigger teleporters have a new teleport "white-fade" effect. They also remove weapons once the player is teleported for the first time. The player will stay defenseless until he re-teleports (moment in which he will regain his weapons). This was done because teleporting in the game was meant to resemble "visions" instead of actual space displacements.

 

Weapon Entities

weapon_bone

Game Function: Melee weapon. Does not require ammo.

weapon_gun

Game Function: Shoots rounds of 6 bullets and then reloads. Comes with 6 bullets. Uses bullet box ammo.

weapon_mg42

Game Function: Fast heavy machine gun. Constantly fires until ammo is depleted. Comes with 50 bullets. Uses MG42 ammo.

weapon_trishotgun

Game Function: Shoots 3 shells at a time with reload action. Comes with 3 shells (single shot). Uses shell box ammo.

Design tips: Since this is single player, use a wait key with a -1 value to keep weapons from respawning.