]> de.git.xonotic.org Git - xonotic/xonotic-maps.pk3dir.git/blobdiff - scripts/entities.ent
merge .def files of turrets and vehicles into main
[xonotic/xonotic-maps.pk3dir.git] / scripts / entities.ent
index 15ee49de1f83ae32925be55aaed5b478df03e262..ba51dbe5275e8f5515fbf7ea7981381912f38c5c 100644 (file)
@@ -121,7 +121,9 @@ When a button is touched by a player, it moves in the direction set by the &quot
 <target key="target2" name="target2">all entities with a matching targetname will be triggered.</target>
 <target key="target3" name="target3">all entities with a matching targetname will be triggered.</target>
 <target key="target4" name="target4">all entities with a matching targetname will be triggered.</target>
+<boolean key="target_random" name="target_random">instead of triggering ALL matched entities, trigger ONE of them by random</boolean>
 <real key="speed" name="speed">speed of button's displacement (default 40).</real>
+<real key="platmovetype" name="platmovetype">movement type (1 = linear, 2 = cosine [default])</real>
 <real key="wait" name="wait">number of seconds button stays pressed (default 1, -1 = return immediately).</real>
 <real key="lip" name="lip">lip remaining at end of move (default 4 units).</real>
 <real key="health" name="health">(default 0) if set to any non-zero value, the button must take damage (any amount) to activate.</real>
@@ -139,6 +141,7 @@ If DOOR_DONT_LINK is not set, the door will be linked with all doors it touches.
 <targetname key="targetname" name="targetname">if set, no touch field will be spawned and a remote button or trigger field activates the door.</targetname>
 <real key="health" name="health">if set, door must be shot open</real>
 <real key="speed" name="speed">movement speed (100 default)</real>
+<real key="platmovetype" name="platmovetype">movement type (1 = linear, 2 = cosine [default])</real>
 <real key="wait" name="wait">wait before returning (3 default, -1 = never return)</real>
 <real key="lip" name="lip">lip remaining at end of move (8 default)</real>
 <real key="dmg" name="dmg">damage to inflict when blocked (when triggered and someone is in the way)</real>
@@ -182,6 +185,7 @@ BIDIR_IN_DOWN will the door prevent from reopening while closing if it is trigge
 <group name="func_door_secret" color="0 .5 .8">
 Basic secret door. Slides back, then to the side. Angle determines direction. Opens when targeted or when shot; does not create its own trigger field like func_door does.
 -------- KEYS --------
+<real key="platmovetype" name="platmovetype">movement type (1 = linear, 2 = cosine [default])</real>
 <real key="wait" name="wait"># of seconds before coming back</real>
 <string key="key1" name="key1">first entity key with one-line description</string>
 <string key="key2" name="key2">second entity key with one-line description</string>
@@ -224,6 +228,7 @@ grab a trigger brush and put it in front of the part that you want the player to
 Rising platform the player can ride to reach higher places. Plats must always be drawn in the raised position, so they will operate and be lighted correctly but they spawn in the lowered position. The plat will stay in the raised position until the player steps off.
 -------- KEYS --------
 <real key="speed" name="speed">determines how fast the plat moves (default 150).</real>
+<real key="platmovetype" name="platmovetype">movement type (1 = linear, 2 = cosine [default])</real>
 <real key="lip" name="lip">lip remaining at end of move (default 16). Has no effect if &quot;height&quot; is set.</real>
 <real key="height" name="height">if set, this will determine the total amount of vertical travel of the plat.</real>
 <real key="dmg" name="dmg">damage to inflict on player when he blocks operation of plat. Plat will reverse direction when blocked.</real>
@@ -284,6 +289,7 @@ Trains are not trigger-able or toggle-able.
 Trains cannot be block-stopped just by getting in their way, the player must be wedged between the train and another obstacle to block it.
 -------- KEYS --------
 <real key="speed" name="speed">default/initial speed of train (default 100 or overridden by speed value of targeted path_corner)</real>
+<real key="platmovetype" name="platmovetype">movement type (1 = linear, 2 = cosine [default])</real>
 <target key="target" name="target">targetname of first path_corner to move to at the default speed; ideally, this path_corner shall be exactly where the train starts</target>
 <sound key="noise" name="noise">path/name of .wav or .ogg file to play while moving. Use looping sounds only (e.g. sound/world/drone6.wav - See Notes).</sound>
 <real key="dmg" name="dmg">damage a player who gets crushed by it receives</real>
@@ -316,6 +322,9 @@ Attacking team's player spawning location in Assault. Should touch the floor, bu
 -------- KEYS --------
 <target key="target" name="target">this should point to a target_objective to decide when this spawning point is active.</target>
 <target key="target2" name="target2">trigger all entities with this targetname when someone spawns</target>
+<target key="target3" name="target3">trigger all entities with this targetname when someone spawns</target>
+<target key="target4" name="target4">trigger all entities with this targetname when someone spawns</target>
+<boolean key="target_random" name="target_random">instead of triggering ALL matched entities, trigger ONE of them by random</boolean>
 <real key="cnt" name="cnt">weight of spawn point for random selection. Set to a lower value if you have many spawn points close together. Default value is 1.</real>
 <real key="restriction" name="restriction">when 1, only bots can spawn here; when 2, only humans can spawn here (be careful with these, or the game will crash because someone cannot spawn)</real>
 </point>
@@ -334,6 +343,9 @@ Defending team's player spawning location in Assault. Should touch the floor, bu
 -------- KEYS --------
 <target key="target" name="target">this should point to a target_objective to decide when this spawning point is active.</target>
 <target key="target2" name="target2">trigger all entities with this targetname when someone spawns</target>
+<target key="target3" name="target3">trigger all entities with this targetname when someone spawns</target>
+<target key="target4" name="target4">trigger all entities with this targetname when someone spawns</target>
+<boolean key="target_random" name="target_random">instead of triggering ALL matched entities, trigger ONE of them by random</boolean>
 <real key="cnt" name="cnt">weight of spawn point for random selection. Set to a lower value if you have many spawn points close together. Default value is 1.</real>
 <real key="restriction" name="restriction">when 1, only bots can spawn here; when 2, only humans can spawn here (be careful with these, or the game will crash because someone cannot spawn)</real>
 </point>
@@ -378,6 +390,7 @@ Pink team's player spawning location, but there is no game mode to use this yet.
 Large Armor (default 100 armor points)
 -------- KEYS --------
 <real key="respawntime" name="respawntime">time till it respawns (default: 30)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <real key="armorvalue" name="armorvalue">amount of armor it gives (default: 100 (g_pickup_armorlarge))</real>
 <real key="max_armorvalue" name="max_armorvalue">max of armor it increases to (default: 999 (g_pickup_armorlarge_max))</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
@@ -392,6 +405,7 @@ modeldisabled=&quot;models/items/g_a25.md3&quot;
 Big Armor (default 50 armor points)
 -------- KEYS --------
 <real key="respawntime" name="respawntime">time till it respawns (default: 20)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <real key="armorvalue" name="armorvalue">amount of armor it gives (default: 50 (g_pickup_armorlarge))</real>
 <real key="max_armorvalue" name="max_armorvalue">max of armor it increases to (default: 999 (g_pickup_armorlarge_max))</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
@@ -406,6 +420,7 @@ modeldisabled=&quot;models/items/g_a50.md3&quot;
 Medium Armor (default 25 armor points)
 -------- KEYS --------
 <real key="respawntime" name="respawntime">time till it respawns (default: 20)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <real key="armorvalue" name="armorvalue">amount of armor it gives (default: 25 (g_pickup_armormedium))</real>
 <real key="max_armorvalue" name="max_armorvalue">max of armor it increases to (default: 999 (g_pickup_armormedium_max))</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
@@ -420,6 +435,7 @@ modeldisabled=&quot;models/items/g_armormedium.md3&quot;
 Small Armor (default 5 armor points)
 -------- KEYS --------
 <real key="respawntime" name="respawntime">time till it respawns (default: 15)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <real key="armorvalue" name="armorvalue">amount of armor it gives (default: 5 (g_pickup_armorsmall))</real>
 <real key="max_armorvalue" name="max_armorvalue">max of armor it increases to (default: 999 (g_pickup_armorsmall_max))</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
@@ -435,6 +451,7 @@ Machine Gun ammo
 -------- KEYS --------
 <real key="ammo_nails" name="ammo_nails">bullets gained by this item (if unset, g_pickup_nails is used)</real>
 <real key="respawntime" name="respawntime">time till it respawns (default: 15)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
 <real key="cnt" name="cnt">weight of this item for random selection using &quot;team&quot;. Set to a lower value for items you want to see less likely.</real>
 -------- SPAWNFLAGS --------
@@ -448,6 +465,7 @@ Nex, Electro and Crylink ammo
 -------- KEYS --------
 <real key="ammo_cells" name="ammo_cells">cells gained by this item (if unset, g_pickup_cells is used)</real>
 <real key="respawntime" name="respawntime">time till it respawns (default: 15)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
 <real key="cnt" name="cnt">weight of this item for random selection using &quot;team&quot;. Set to a lower value for items you want to see less likely.</real>
 -------- SPAWNFLAGS --------
@@ -486,6 +504,7 @@ zbqry=&quot;zbqryf/pgs/enqvnag/synt_oyhr_enqvnag.zq3&quot;
 Large Health (default 50 health points)
 -------- KEYS --------
 <real key="respawntime" name="respawntime">time till it respawns (default: 20)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <real key="health" name="health">amount of health it gives (default: 50 (g_pickup_healthlarge))</real>
 <real key="max_health" name="max_health">max of health it increases to (default: 999 (g_pickup_healthlarge_max))</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
@@ -500,6 +519,7 @@ modeldisabled=&quot;models/items/g_h50.md3&quot;
 Medium Health (default 25 health points)
 -------- KEYS --------
 <real key="respawntime" name="respawntime">time till it respawns (default: 15)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <real key="health" name="health">amount of health it gives (default: 25 (g_pickup_healthmedium))</real>
 <real key="max_health" name="max_health">max of health it increases to (default: 999 (g_pickup_healthmedium_max))</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
@@ -515,6 +535,7 @@ Mega Health (default 100 health points)
 In Minstagib, this randomly turns into either an invisibility, an extra lives or a speed power-up with a default respawn time of 120.
 -------- KEYS --------
 <real key="respawntime" name="respawntime">time till it respawns (default: 30)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <real key="health" name="health">amount of health it gives (default: 100 (g_pickup_healthmega))</real>
 <real key="max_health" name="max_health">max of health it increases to (default: 999 (g_pickup_healthmega_max))</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
@@ -529,6 +550,7 @@ modeldisabled=&quot;models/items/g_h100.md3&quot;
 Small Health (default 5 health points)
 -------- KEYS --------
 <real key="respawntime" name="respawntime">time till it respawns (default: 15)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <real key="health" name="health">amount of health it gives (default: 5 (g_pickup_healthsmall))</real>
 <real key="max_health" name="max_health">max of health it increases to (default: 5 (g_pickup_healthsmall_max))</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
@@ -544,6 +566,7 @@ Strong Shield
 In Minstagib, this randomly turns into either an invisibility, an extra lives or a speed power-up with a default respawn time of 120.
 -------- KEYS --------
 <real key="respawntime" name="respawntime">time till it respawns (default: 120)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
 <real key="cnt" name="cnt">weight of this item for random selection using &quot;team&quot;. Set to a lower value for items you want to see less likely.</real>
 -------- SPAWNFLAGS --------
@@ -558,6 +581,7 @@ Always contains 5 (g_minstagib_ammo_drop) shots.
 It only appears when playing Minstagib and prevents auto-replacement of weapon_nex &amp; weapon_rocketlauncher when used.
 -------- KEYS --------
 <real key="respawntime" name="respawntime">time till it respawns (default: 45)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
 <real key="cnt" name="cnt">weight of this item for random selection using &quot;team&quot;. Set to a lower value for items you want to see less likely.</real>
 -------- SPAWNFLAGS --------
@@ -571,6 +595,7 @@ Rocket Launcher, Hagar and Mortar ammo
 -------- KEYS --------
 <real key="ammo_rockets" name="ammo_rockets">rockets gained by this item (if unset, g_pickup_rockets is used)</real>
 <real key="respawntime" name="respawntime">time till it respawns (default: 15)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
 <real key="cnt" name="cnt">weight of this item for random selection using &quot;team&quot;. Set to a lower value for items you want to see less likely.</real>
 -------- SPAWNFLAGS --------
@@ -584,6 +609,7 @@ Shotgun ammo
 -------- KEYS --------
 <real key="ammo_shells" name="ammo_shells">shells gained by this item (if unset, g_pickup_shells is used)</real>
 <real key="respawntime" name="respawntime">time till it respawns (default: 15)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
 <real key="cnt" name="cnt">weight of this item for random selection using &quot;team&quot;. Set to a lower value for items you want to see less likely.</real>
 -------- SPAWNFLAGS --------
@@ -597,6 +623,7 @@ Strength aka Quad damage
 In Minstagib, this randomly turns into either an invisibility, an extra lives or a speed power-up with a default respawn time of 120.
 -------- KEYS --------
 <real key="respawntime" name="respawntime">time till it respawns (default: 120)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
 <real key="cnt" name="cnt">weight of this item for random selection using &quot;team&quot;. Set to a lower value for items you want to see less likely.</real>
 -------- SPAWNFLAGS --------
@@ -674,7 +701,8 @@ When the laser's target has itself target set, its targets are triggered when so
 Generic placeholder for inserting MD3 models in game. Requires compilation of map geometry to be added to level. If the map is compiled with Q3Map2, then ASE, 3DS, OBJ and other model formats are supported.
 -------- Q3MAP2 KEYS --------
 <model key="model" name="model">file name of model to include</model>
-<real key="_frame" name="_frame">frame of model to include</real>
+<integer key="_frame" name="_frame">frame of model to include</integer>
+<integer key="_skin" name="_skin">skin of model to include</integer>
 <array key="_remap" name="_remap">string of the form from;to specifying which texture name of the model to replace by which shader; * is allowed. Any key starting with this prefix will work, so if you need more remappings, create _remap2, etc.</array>
 <direction key="angle" name="angle">view direction of the model</direction>
 <angles key="angles" name="angles">view direction of the model in PITCH YAW ROLL</angles>
@@ -881,6 +909,7 @@ Teleport destination location point for trigger_teleport entities. Do not let it
 <target key="target2" name="target2">target to activate when a teleporter targeting this is used</target>
 <target key="target3" name="target3">target to activate when a teleporter targeting this is used</target>
 <target key="target4" name="target4">target to activate when a teleporter targeting this is used</target>
+<boolean key="target_random" name="target_random">instead of triggering ALL matched entities, trigger ONE of them by random</boolean>
 <direction key="angle" name="angle">direction in which player will look when teleported, OR use</direction>
 <angles key="angles" name="angles">pitch and yaw when coming out of the teleporter (also specifies the direction the player will aim when coming out)</angles>
 <real key="cnt" name="cnt">weight for random selection, in case a teleporter points at multiple misc_teleporter_dest</real>
@@ -919,6 +948,10 @@ Path corner entity that func_train will follow.
 All path_corner entities of a train have to connect in a circular manner, while the func_train shall point to one of the path_corners (ideally the one at the train's starting point)
 -------- KEYS --------
 <target key="target" name="target">point to next path_corner in the path.</target>
+<target key="target2" name="target2">triggered when a func_train stops at this target</target>
+<target key="target3" name="target3">triggered when a func_train stops at this target</target>
+<target key="target4" name="target4">triggered when a func_train stops at this target</target>
+<boolean key="target_random" name="target_random">instead of triggering ALL matched entities, trigger ONE of them by random</boolean>
 <targetname key="targetname" name="targetname">the train following the path or the previous path_corner in the path points to this.</targetname>
 <real key="speed" name="speed">speed of func_train while moving to this path corner. If unset, the value from the func_train will be used.</real>
 <real key="wait" name="wait">number of seconds func_train will pause on this path corner before moving to next path corner (default: 0.1; to not wait, set this to -1</real>
@@ -944,6 +977,7 @@ This entity triggers its targets whenever a new assault round is started. This c
 <target key="target2" name="target2">targetname of entities to be enabled/triggered on round start (e.g. the func_assault_destructibles targeting the target_objective)</target>
 <target key="target3" name="target3">targetname of entities to be enabled/triggered on round start</target>
 <target key="target4" name="target4">targetname of entities to be enabled/triggered on round start</target>
+<boolean key="target_random" name="target_random">instead of triggering ALL matched entities, trigger ONE of them by random</boolean>
 </point>
 
 <point name="target_objective" color=".5 0 .5" box="-8 -8 -8 8 8 8">
@@ -953,6 +987,7 @@ target_objective controls an objective. Once triggered the objective is active a
 <target key="target2" name="target2">targetname of entities to be enabled/triggered on objective fulfilling (e.g. the func_assault_destructibles targeting the target_objective)</target>
 <target key="target3" name="target3">targetname of entities to be enabled/triggered on objective fulfilling</target>
 <target key="target4" name="target4">targetname of entities to be enabled/triggered on objective fulfilling</target>
+<boolean key="target_random" name="target_random">instead of triggering ALL matched entities, trigger ONE of them by random</boolean>
 <targetname key="targetname" name="targetname">targetname for this entity so it can be triggered by other entities.</targetname>
 </point>
 
@@ -1050,6 +1085,7 @@ Variable sized repeatable trigger.  Must be targeted at one or more entities.  I
 <target key="target2" name="target2">trigger all entities with this targetname when triggered</target>
 <target key="target3" name="target3">trigger all entities with this targetname when triggered</target>
 <target key="target4" name="target4">trigger all entities with this targetname when triggered</target>
+<boolean key="target_random" name="target_random">instead of triggering ALL matched entities, trigger ONE of them by random</boolean>
 <targetname key="targetname" name="targetname">name that identifies this entity so it can be triggered</targetname>
 <real key="delay" name="delay">delay the triggering by the given time</real>
 <string key="message" name="message">print this message to the player who activated the trigger</string>
@@ -1106,6 +1142,7 @@ More than one &quot;trigger event&quot; can be delayed at once, as opposed to tr
 <target key="target2" name="target2">trigger all entities with this targetname when triggered</target>
 <target key="target3" name="target3">trigger all entities with this targetname when triggered</target>
 <target key="target4" name="target4">trigger all entities with this targetname when triggered</target>
+<boolean key="target_random" name="target_random">instead of triggering ALL matched entities, trigger ONE of them by random</boolean>
 <targetname key="targetname" name="targetname">name that identifies this entity so it can be triggered</targetname>
 <real key="delay" name="delay">delay the triggering by the given time</real>
 <string key="message" name="message">print this message to the player who activated the trigger</string>
@@ -1128,6 +1165,7 @@ Note that in Xonotic, teleporters preserve momentum of the player using them.
 <target key="target2" name="target2">target to activate when the teleporter is used</target>
 <target key="target3" name="target3">target to activate when the teleporter is used</target>
 <target key="target4" name="target4">target to activate when the teleporter is used</target>
+<boolean key="target_random" name="target_random">instead of triggering ALL matched entities, trigger ONE of them by random</boolean>
 <integer key="team" name="team">team that owns this teleporter (5 = red, 14 = blue, etc) (when set, only this team can teleport)</integer>
 <targetname key="targetname" name="targetname">when targeted by a func_button, pressing the button will reassign the teleporter to the team of the activator.</targetname>
 -------- SPAWNFLAGS --------
@@ -1139,6 +1177,7 @@ the Crylink
 -------- KEYS --------
 <real key="ammo_cells" name="ammo_cells">initial cells of the weapon (if unset, g_pickup_cells is used)</real>
 <real key="respawntime" name="respawntime">time till it respawns (default: 15)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
 <real key="cnt" name="cnt">weight of this item for random selection using &quot;team&quot;. Set to a lower value for items you want to see less likely.</real>
 -------- SPAWNFLAGS --------
@@ -1152,6 +1191,7 @@ the Electro
 -------- KEYS --------
 <real key="ammo_cells" name="ammo_cells">initial cells of the weapon (if unset, g_pickup_cells is used)</real>
 <real key="respawntime" name="respawntime">time till it respawns (default: 15)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
 <real key="cnt" name="cnt">weight of this item for random selection using &quot;team&quot;. Set to a lower value for items you want to see less likely.</real>
 -------- SPAWNFLAGS --------
@@ -1165,6 +1205,7 @@ the Mortar
 -------- KEYS --------
 <real key="ammo_rockets" name="ammo_rockets">initial rockets of the weapon (if unset, g_pickup_rockets is used)</real>
 <real key="respawntime" name="respawntime">time till it respawns (default: 15)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
 <real key="cnt" name="cnt">weight of this item for random selection using &quot;team&quot;. Set to a lower value for items you want to see less likely.</real>
 -------- SPAWNFLAGS --------
@@ -1178,6 +1219,7 @@ the Hagar
 -------- KEYS --------
 <real key="ammo_rockets" name="ammo_rockets">initial rockets of the weapon (if unset, g_pickup_rockets is used)</real>
 <real key="respawntime" name="respawntime">time till it respawns (default: 15)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
 <real key="cnt" name="cnt">weight of this item for random selection using &quot;team&quot;. Set to a lower value for items you want to see less likely.</real>
 -------- SPAWNFLAGS --------
@@ -1192,6 +1234,7 @@ the Laser. Note that unless you use
 in your mapinfo file, everyone will already spawn with one, making this pickup useless.
 -------- KEYS --------
 <real key="respawntime" name="respawntime">time till it respawns (default: 15)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
 <real key="cnt" name="cnt">weight of this item for random selection using &quot;team&quot;. Set to a lower value for items you want to see less likely.</real>
 -------- SPAWNFLAGS --------
@@ -1206,6 +1249,7 @@ In Minstagib, this turns into an item_minst_cells if no explicit item_minst_cell
 -------- KEYS --------
 <real key="ammo_cells" name="ammo_cells">initial cells of the weapon (if unset, g_pickup_cells is used)</real>
 <real key="respawntime" name="respawntime">time till it respawns (default: 15 * g_balance_nex_respawntime_modifier)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
 <real key="cnt" name="cnt">weight of this item for random selection using &quot;team&quot;. Set to a lower value for items you want to see less likely.</real>
 -------- SPAWNFLAGS --------
@@ -1220,6 +1264,7 @@ In Minstagib, this turns into an item_minst_cells if no explicit item_minst_cell
 -------- KEYS --------
 <real key="ammo_rockets" name="ammo_rockets">initial rockets of the weapon (if unset, g_pickup_rockets is used)</real>
 <real key="respawntime" name="respawntime">time till it respawns (default: 15)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
 <real key="cnt" name="cnt">weight of this item for random selection using &quot;team&quot;. Set to a lower value for items you want to see less likely.</real>
 -------- SPAWNFLAGS --------
@@ -1235,6 +1280,7 @@ in your mapinfo file, everyone will already spawn with one, making this pickup u
 -------- KEYS --------
 <real key="ammo_shells" name="ammo_shells">initial shells of the weapon (if unset, g_pickup_shells is used)</real>
 <real key="respawntime" name="respawntime">time till it respawns (default: 15)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
 <real key="cnt" name="cnt">weight of this item for random selection using &quot;team&quot;. Set to a lower value for items you want to see less likely.</real>
 -------- SPAWNFLAGS --------
@@ -1248,6 +1294,7 @@ the Machine Gun
 -------- KEYS --------
 <real key="ammo_nails" name="ammo_nails">initial bullets of the weapon (if unset, g_pickup_nails is used)</real>
 <real key="respawntime" name="respawntime">time till it respawns (default: 15)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
 <real key="cnt" name="cnt">weight of this item for random selection using &quot;team&quot;. Set to a lower value for items you want to see less likely.</real>
 -------- SPAWNFLAGS --------
@@ -1314,6 +1361,9 @@ NOTE for race_place: when the race starts after the qualifying, the player with
 -------- KEYS --------
 <target key="target" name="target">this should point to a trigger_race_checkpoint to decide when this spawning point is active. The checkpoint has to be AFTER this spawn.</target>
 <target key="target2" name="target2">trigger all entities with this targetname when someone spawns</target>
+<target key="target3" name="target3">trigger all entities with this targetname when someone spawns</target>
+<target key="target4" name="target4">trigger all entities with this targetname when someone spawns</target>
+<boolean key="target_random" name="target_random">instead of triggering ALL matched entities, trigger ONE of them by random</boolean>
 <real key="cnt" name="cnt">weight of spawn point for random selection. Set to a lower value if you have many spawn points close together. Default value is 1.</real>
 <real key="race_place" name="race_place">if target points to the trigger_race_checkpoint with cnt 0 (finish line), this sets which place the spawn corresponds to; the special value 0 stands for spawns for players who died in game, and -1 marks the spawnpoint for qualifying mode only; any race map must have spawnpoints with race_place being 1, 2, 3 or it gets marked as a frustrating map</real>
 <real key="restriction" name="restriction">when 1, only bots can spawn here; when 2, only humans can spawn here (be careful with these, or the game will crash because someone cannot spawn)</real>
@@ -1389,6 +1439,7 @@ Triggers once when the game starts, then no longer does anything.
 <target key="target2" name="target2">trigger all entities with this targetname when starting the game</target>
 <target key="target3" name="target3">trigger all entities with this targetname when starting the game</target>
 <target key="target4" name="target4">trigger all entities with this targetname when starting the game</target>
+<boolean key="target_random" name="target_random">instead of triggering ALL matched entities, trigger ONE of them by random</boolean>
 <real key="wait" name="wait">wait so many seconds before triggering</real>
 </point>
 
@@ -1410,6 +1461,7 @@ the MinstaGib Nex. Always kills with one shot.
 -------- KEYS --------
 <real key="ammo_cells" name="ammo_cells">initial cells of the weapon (if unset, g_pickup_cells is used)</real>
 <real key="respawntime" name="respawntime">time till it respawns (default: 15)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
 <real key="cnt" name="cnt">weight of this item for random selection using &quot;team&quot;. Set to a lower value for items you want to see less likely.</real>
 -------- SPAWNFLAGS --------
@@ -1423,6 +1475,7 @@ the Port-O-Launch. Only can be shot once.
 Portals cannot be made on noimpact surfaces, and the portal missile will bounce on slick surfaces.
 -------- KEYS --------
 <real key="respawntime" name="respawntime">time till it respawns (default: 120)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
 <real key="cnt" name="cnt">weight of this item for random selection using &quot;team&quot;. Set to a lower value for items you want to see less likely.</real>
 -------- SPAWNFLAGS --------
@@ -1495,6 +1548,44 @@ Example is a Mario-style question mark block which could throw a new weapon_nex
 <flag key="ONLOAD" name="ONLOAD" bit="1">create a first entity on map load</flag>
 </point>
 
+<group name="misc_breakablemodel" color="1 0 0">
+This is a model which can be damaged.
+Once all health is consumed it'll disappear and trigger the targeted entity/entities.
+When triggered, it resets to full health, and unbreaks.
+-------- KEYS --------
+<model key="model" name="model">file name of model to include</model>
+<real key="health" name="health">The damage this trigger can take</real>
+<target key="target" name="target">The entity/entities to be triggered once this entity gets invisible</target>
+<targetname key="targetname" name="targetname">The name other entities can use to target this entity</targetname>
+<string key="mdl" name="mdl">particle effect name to show when destroyed</string>
+<real key="count" name="count">particle effect multiplier</real>
+<string key="mdl_dead" name="mdl_dead">optional replacement model to show when destroyed</string>
+<string key="debris" name="debris">names of debris models to show when destroyed, separated by spaces</string>
+<sound key="noise" name="noise">sound to play when destroyed</sound>
+<real key="dmg" name="dmg">damage to deal to the environment when destroyed</real>
+<real key="dmg_edge" name="dmg_edge">edge damage to deal to the environment when destroyed</real>
+<real key="dmg_radius" name="dmg_radius">damage radius</real>
+<real key="dmg_force" name="dmg_force">damage force</real>
+<string key="message" name="message">death message when a player gets hit by the explosion</string>
+<string key="message2" name="message2">death message when someone gets pushed into this (default: &quot;was pushed into an explosion by&quot;). The # character is replaced by the attacker name if present (and it instead does not get appended to the end)</string>
+<real key="debrismovetype" name="debrismovetype">way in which the debris moves: one of 1 = ANGLENOCLIP, 2 = ANGLECLIP, 3 = WALK, 4 = STEP, 5 = FLY, 6 = TOSS, 7 = PUSH, 8 = NOCLIP, 9 = FLYMISSILE, 10 = BOUNCE, 11 = BOUNCEMISSILE</real>
+<real key="debrissolid" name="debrissolid">solidity of the debris: one of 0 = NOT, 1 = TRIGGER, 2 = BBOX, 3 = SLIDEBOX, 4 = BSP, 5 = CORPSE</real>
+<real3 key="debrisvelocity" name="debrisvelocity">initial velocity vector of the debris (static part)</real3>
+<real3 key="debrisvelocityjitter" name="debrisvelocityjitter">initial velocity vector of the debris (random part)</real3>
+<real3 key="debrisavelocityjitter" name="debrisavelocityjitter">initial angular velocity vector of the debris (random part)</real3>
+<real key="debristime" name="debristime">time till the debris fades (average)</real>
+<real key="debristimejitter" name="debristimejitter">time till the debris fades (random part)</real>
+<real key="debrisfadetime" name="debrisfadetime">how long debris takes to fade</real>
+<real key="debrisdamageforcescale" name="debrisdamageforcescale">how much debris is affected by damage force (e.g. explosions)</real>
+<real key="debrisskin" name="debrisskin">skin number of debris</real>
+<real key="respawntime" name="respawntime">time till it respawns (default: no auto respawn)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
+-------- SPAWNFLAGS --------
+<flag key="DISABLED" name="DISABLED" bit="0">do not allow damaging this until it is first activated</flag>
+<flag key="INDICATE" name="INDICATE" bit="1">indicate amount of damage already taken by coloring</flag>
+<flag key="NOSPLASH" name="NOSPLASH" bit="8">if set, splash damage cannot activate the door, only direct damage can (requires health to be set)</flag>
+</group>
+
 <group name="func_breakable" color="1 0 0">
 This is a brush model which can be damaged.
 Once all health is consumed it'll disappear and trigger the targeted entity/entities.
@@ -1524,6 +1615,8 @@ When triggered, it resets to full health, and unbreaks.
 <real key="debrisfadetime" name="debrisfadetime">how long debris takes to fade</real>
 <real key="debrisdamageforcescale" name="debrisdamageforcescale">how much debris is affected by damage force (e.g. explosions)</real>
 <real key="debrisskin" name="debrisskin">skin number of debris</real>
+<real key="respawntime" name="respawntime">time till it respawns (default: no auto respawn)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 -------- SPAWNFLAGS --------
 <flag key="DISABLED" name="DISABLED" bit="0">do not allow damaging this until it is first activated</flag>
 <flag key="INDICATE" name="INDICATE" bit="1">indicate amount of damage already taken by coloring</flag>
@@ -1547,6 +1640,7 @@ the Heavy Laser Assault Cannon.
 -------- KEYS --------
 <real key="ammo_cells" name="ammo_cells">initial cells of the weapon (if unset, g_pickup_cells is used)</real>
 <real key="respawntime" name="respawntime">time till it respawns (default: 30)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
 <real key="cnt" name="cnt">weight of this item for random selection using &quot;team&quot;. Set to a lower value for items you want to see less likely.</real>
 -------- SPAWNFLAGS --------
@@ -1560,6 +1654,7 @@ the Mine Layer.
 -------- KEYS --------
 <real key="ammo_rockets" name="ammo_rockets">initial rockets of the weapon (if unset, g_pickup_rockets is used)</real>
 <real key="respawntime" name="respawntime">time till it respawns (default: 30)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
 <real key="cnt" name="cnt">weight of this item for random selection using &quot;team&quot;. Set to a lower value for items you want to see less likely.</real>
 -------- SPAWNFLAGS --------
@@ -1574,6 +1669,7 @@ the T.A.G. Seeker.
 -------- KEYS --------
 <real key="ammo_rockets" name="ammo_rockets">initial rockets of the weapon (if unset, g_pickup_rockets is used)</real>
 <real key="respawntime" name="respawntime">time till it respawns (default: 30)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
 <real key="cnt" name="cnt">weight of this item for random selection using &quot;team&quot;. Set to a lower value for items you want to see less likely.</real>
 -------- SPAWNFLAGS --------
@@ -1587,6 +1683,7 @@ the on-hand Grappling Hook.
 -------- KEYS --------
 <real key="ammo_cells" name="ammo_cells">initial cells of the weapon (if unset, g_pickup_cells is used)</real>
 <real key="respawntime" name="respawntime">time till it respawns (default: 30)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
 <real key="cnt" name="cnt">weight of this item for random selection using &quot;team&quot;. Set to a lower value for items you want to see less likely.</real>
 -------- SPAWNFLAGS --------
@@ -1603,11 +1700,12 @@ Any object touching this will be healed.
 <sound key="noise" name="noise">sound file to play (use misc/null.wav to make it silent), default = item_health_medium sound</sound>
 </group>
 
-<point name="weapon_sniperrifle" color="1 0 .5" box="-30 -30 0 30 30 32">
+<point name="weapon_rifle" color="1 0 .5" box="-30 -30 0 30 30 32">
 the Sniper Rifle.
 -------- KEYS --------
 <real key="ammo_nails" name="ammo_nails">initial bullets of the weapon (if unset, g_pickup_nails is used)</real>
 <real key="respawntime" name="respawntime">time till it respawns (default: 30)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
 <real key="cnt" name="cnt">weight of this item for random selection using &quot;team&quot;. Set to a lower value for items you want to see less likely.</real>
 -------- SPAWNFLAGS --------
@@ -1664,6 +1762,7 @@ Works similar to trigger_relay, but only relays trigger events if the team of th
 <target key="target2" name="target2">trigger all entities with this targetname when triggered</target>
 <target key="target3" name="target3">trigger all entities with this targetname when triggered</target>
 <target key="target4" name="target4">trigger all entities with this targetname when triggered</target>
+<boolean key="target_random" name="target_random">instead of triggering ALL matched entities, trigger ONE of them by random</boolean>
 <targetname key="targetname" name="targetname">name that identifies this entity so it can be triggered</targetname>
 <real key="delay" name="delay">delay the triggering by the given time</real>
 <string key="message" name="message">print this message to the player who activated the trigger</string>
@@ -1754,6 +1853,7 @@ Jetpack fuel
 -------- KEYS --------
 <real key="ammo_fuel" name="ammo_fuel">fuel units gained by this item (if unset, g_pickup_fuel is used)</real>
 <real key="respawntime" name="respawntime">time till it respawns (default: 15)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
 <real key="cnt" name="cnt">weight of this item for random selection using &quot;team&quot;. Set to a lower value for items you want to see less likely.</real>
 -------- SPAWNFLAGS --------
@@ -1766,6 +1866,7 @@ modeldisabled=&quot;models/items/g_fuel.md3&quot;
 Fuel regenerator
 -------- KEYS --------
 <real key="respawntime" name="respawntime">time till it respawns (default: 120)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
 <real key="cnt" name="cnt">weight of this item for random selection using &quot;team&quot;. Set to a lower value for items you want to see less likely.</real>
 -------- SPAWNFLAGS --------
@@ -1779,6 +1880,7 @@ Jetpack
 -------- KEYS --------
 <real key="ammo_fuel" name="ammo_fuel">fuel units gained by this item (if unset, g_pickup_fuel_jetpack is used)</real>
 <real key="respawntime" name="respawntime">time till it respawns (default: 120)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
 <real key="cnt" name="cnt">weight of this item for random selection using &quot;team&quot;. Set to a lower value for items you want to see less likely.</real>
 -------- SPAWNFLAGS --------
@@ -1797,6 +1899,7 @@ Triggers targets when a given magic word has been said
 <target key="target2" name="target2">all entities with a matching targetname will be triggered.</target>
 <target key="target3" name="target3">all entities with a matching targetname will be triggered.</target>
 <target key="target4" name="target4">all entities with a matching targetname will be triggered.</target>
+<boolean key="target_random" name="target_random">instead of triggering ALL matched entities, trigger ONE of them by random</boolean>
 -------- SPAWNFLAGS --------
 <flag key="IGNORE_SAY" name="IGNORE_SAY" bit="0">do not respond to &quot;say&quot; messages</flag>
 <flag key="IGNORE_TEAMSAY" name="IGNORE_TEAMSAY" bit="1">do not respond to &quot;say_team&quot; messages</flag>
@@ -1813,6 +1916,7 @@ the Fireball
 -------- KEYS --------
 <real key="ammo_rockets" name="ammo_rockets">initial rockets of the weapon (if unset, g_pickup_rockets is used)</real>
 <real key="respawntime" name="respawntime">time till it respawns (default: 15)</real>
+<real key="respawntimejitter" name="respawntimejitter">respawn time randomization +/- seconds (default: 0)</real>
 <integer key="team" name="team">out of items with the same value here, only one (random one) will spawn. Useful to put multiple items on one spot.</integer>
 <real key="cnt" name="cnt">weight of this item for random selection using &quot;team&quot;. Set to a lower value for items you want to see less likely.</real>
 -------- SPAWNFLAGS --------
@@ -1832,10 +1936,13 @@ Should be thick enough to fit a player entity (i.e. 32 units), preferably even t
 <target key="target2" name="target2">is triggered when a player ENTERS the warpzone (and warps away)</target>
 <target key="target3" name="target3">is triggered when a player LEAVES the warpzone (from the other warp zone to this one)</target>
 <target key="target4" name="target4">is triggered in both cases</target>
+<boolean key="target_random" name="target_random">instead of triggering ALL matched entities, trigger ONE of them by random</boolean>
 <targetname key="targetname" name="targetname">must be pointed to by another trigger_warpzone. Should be pointed to by a misc_warpzone_position entity, or...</targetname>
 <target key="killtarget" name="killtarget">should point to a target_position entity, or</target>
 <real key="warpzone_fadestart" name="warpzone_fadestart">start distance of fading out the warpzone</real>
 <real key="warpzone_fadeend" name="warpzone_fadeend">end distance of fading out the warpzone (if viewer is further, warpzone is not rendered at all)</real>
+-------- SPAWNFLAGS --------
+<flag key="WATCHMOVE" name="WATCHMOVE" bit="0">allow this entity to be moved by others, e.g. misc_follow in MOVETYPE_FOLLOW mode</flag>
 </group>
 
 <point name="trigger_warpzone_reconnect" color="1 .5 1" box="-8 -8 -8 8 8 8">
@@ -1863,6 +1970,8 @@ Must target a target_position that indicates the view to be shown (and whose ang
 <target key="target" name="target">must point to a target_position</target>
 <real key="warpzone_fadestart" name="warpzone_fadestart">start distance of fading out the warpzone</real>
 <real key="warpzone_fadeend" name="warpzone_fadeend">end distance of fading out the warpzone (if viewer is further, warpzone is not rendered at all)</real>
+-------- SPAWNFLAGS --------
+<flag key="WATCHMOVE" name="WATCHMOVE" bit="0">allow this entity to be moved by others, e.g. misc_follow in MOVETYPE_FOLLOW mode</flag>
 </group>
 
 <point name="target_music" color="1 0 0" box="-8 -8 -8 8 8 8">
@@ -1967,4 +2076,257 @@ When no chmap key is set, the entity just ends the match when triggered. The pla
 <string key="chmap" name="chmap">Map file to switch to, leave empty to make this entity just end the match</string>
 <string key="gametype" name="gametype">Switch to this gametype. If empty, the same gametype stays</string>
 </point>
+<point name="turret_machinegun" color="1 0 0" box="-32 -32 0 32 32 50">
+Fast firing moderate damage bullet (hitscan) turret.
+-------- KEYS --------
+<real key="turret_scale_damage" name="turret_scale_damage">2 = double damage, 0.5 = half</real>
+<real key="turret_scale_range" name="turret_scale_range">2 = double range, 0.5 = half</real>
+<real key="turret_scale_refire" name="turret_scale_refire">2 = double refire (SLOWER!), 0.5 = half (FASTER!)</real>
+<real key="turret_scale_ammo" name="turret_scale_ammo">2 = double ammo carry &amp; regen, 0.5 = half ammo carry &amp; regen</real>
+<real key="turret_scale_aim" name="turret_scale_aim">2 = aim twice as fast, 0,5 = aim at half speed</real>
+<real key="turret_scale_health" name="turret_scale_health">2 = double health, 0.5 = half</real>
+<target key="target" name="target">Defend the position of this entity</target>
+<integer key="team" name="team">5=red, 14=blue</integer>
+-------- SPAWNFLAGS --------
+<flag key="PILLAR" name="PILLAR" bit="1">Adds a supporting pillar under this turret, for turrets on terrain/uneven surfaces. (only for visuals)</flag>
+-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
+model=&quot;../xonotic-data.pk3dir/models/turrets/radiant/mg.md3&quot;
+</point>
+
+<point name="turret_plasma" color="1 0 0" box="-32 -32 0 32 32 50">
+-------- KEYS --------
+<real key="turret_scale_damage" name="turret_scale_damage">2 = double damage, 0.5 = half</real>
+<real key="turret_scale_range" name="turret_scale_range">2 = double range, 0.5 = half</real>
+<real key="turret_scale_refire" name="turret_scale_refire">2 = double refire (SLOWER!), 0.5 = half (FASTER!)</real>
+<real key="turret_scale_ammo" name="turret_scale_ammo">2 = double ammo carry &amp; regen, 0.5 = half ammo carry &amp; regen</real>
+<real key="turret_scale_aim" name="turret_scale_aim">2 = aim twice as fast, 0,5 = aim at half speed</real>
+<real key="turret_scale_health" name="turret_scale_health">2 = double health, 0.5 = half</real>
+<target key="target" name="target">Defend the position of this entity</target>
+<integer key="team" name="team">5=red, 14=blue</integer>
+-------- SPAWNFLAGS --------
+<flag key="PILLAR" name="PILLAR" bit="1">Adds a supporting pillar under this turret, for turrets on terrain/uneven surfaces. (only for visuals)</flag>
+---------NOTES----------
+Basic energy cannon
+-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
+model=&quot;../xonotic-data.pk3dir/models/turrets/radiant/plasma.md3&quot;
+</point>
+
+<point name="turret_plasma_dual" color="1 0 0" box="-32 -32 0 32 32 50">
+basic energy cannon * 2
+-------- KEYS --------
+<real key="turret_scale_damage" name="turret_scale_damage">2 = double damage, 0.5 = half</real>
+<real key="turret_scale_range" name="turret_scale_range">2 = double range, 0.5 = half</real>
+<real key="turret_scale_refire" name="turret_scale_refire">2 = double refire (SLOWER!), 0.5 = half (FASTER!)</real>
+<real key="turret_scale_ammo" name="turret_scale_ammo">2 = double ammo carry &amp; regen, 0.5 = half ammo carry &amp; regen</real>
+<real key="turret_scale_aim" name="turret_scale_aim">2 = aim twice as fast, 0,5 = aim at half speed</real>
+<real key="turret_scale_health" name="turret_scale_health">2 = double health, 0.5 = half</real>
+<target key="target" name="target">Defend the position of this entity</target>
+<integer key="team" name="team">5=red, 14=blue</integer>
+-------- SPAWNFLAGS --------
+<flag key="PILLAR" name="PILLAR" bit="1">Adds a supporting pillar under this turret, for turrets on terrain/uneven surfaces. (only for visuals)</flag>
+-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
+model=&quot;../xonotic-data.pk3dir/models/turrets/radiant/plasma2.md3&quot;
+</point>
+
+<point name="turret_flac" color="1 0 0" box="-32 -32 0 32 32 50">
+Only kills missiles, rockets, grenadelauncher &amp; electro secondaries to be precise.
+-------- KEYS --------
+<real key="turret_scale_damage" name="turret_scale_damage">2 = double damage, 0.5 = half</real>
+<real key="turret_scale_range" name="turret_scale_range">2 = double range, 0.5 = half</real>
+<real key="turret_scale_refire" name="turret_scale_refire">2 = double refire (SLOWER!), 0.5 = half (FASTER!)</real>
+<real key="turret_scale_ammo" name="turret_scale_ammo">2 = double ammo carry &amp; regen, 0.5 = half ammo carry &amp; regen</real>
+<real key="turret_scale_aim" name="turret_scale_aim">2 = aim twice as fast, 0,5 = aim at half speed</real>
+<real key="turret_scale_health" name="turret_scale_health">2 = double health, 0.5 = half</real>
+<target key="target" name="target">Defend the position of this entity</target>
+<integer key="team" name="team">5=red, 14=blue</integer>
+-------- SPAWNFLAGS --------
+<flag key="PILLAR" name="PILLAR" bit="1">Adds a supporting pillar under this turret, for turrets on terrain/uneven surfaces. (only for visuals)</flag>
+-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
+model=&quot;../xonotic-data.pk3dir/models/turrets/radiant/flac.md3&quot;
+</point>
+
+<point name="turret_mlrs" color="1 0 0" box="-32 -32 0 32 32 50">
+6 unguided rockers fired in a rapid burst.
+-------- KEYS --------
+<real key="turret_scale_damage" name="turret_scale_damage">2 = double damage, 0.5 = half</real>
+<real key="turret_scale_range" name="turret_scale_range">2 = double range, 0.5 = half</real>
+<real key="turret_scale_refire" name="turret_scale_refire">2 = double refire (SLOWER!), 0.5 = half (FASTER!)</real>
+<real key="turret_scale_ammo" name="turret_scale_ammo">2 = double ammo carry &amp; regen, 0.5 = half ammo carry &amp; regen</real>
+<real key="turret_scale_aim" name="turret_scale_aim">2 = aim twice as fast, 0,5 = aim at half speed</real>
+<real key="turret_scale_health" name="turret_scale_health">2 = double health, 0.5 = half</real>
+<target key="target" name="target">Defend the position of this entity</target>
+<integer key="team" name="team">5=red, 14=blue</integer>
+-------- SPAWNFLAGS --------
+<flag key="PILLAR" name="PILLAR" bit="1">Adds a supporting pillar under this turret, for turrets on terrain/uneven surfaces. (only for visuals)</flag>
+-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
+model=&quot;../xonotic-data.pk3dir/models/turrets/radiant/mlrs.md3&quot;
+</point>
+
+<point name="turret_hellion" color="1 0 0" box="-32 -32 0 32 32 50">
+2 guided moderate damage accelerating rockets 
+-------- KEYS --------
+<real key="turret_scale_damage" name="turret_scale_damage">2 = double damage, 0.5 = half</real>
+<real key="turret_scale_range" name="turret_scale_range">2 = double range, 0.5 = half</real>
+<real key="turret_scale_refire" name="turret_scale_refire">2 = double refire (SLOWER!), 0.5 = half (FASTER!)</real>
+<real key="turret_scale_ammo" name="turret_scale_ammo">2 = double ammo carry &amp; regen, 0.5 = half ammo carry &amp; regen</real>
+<real key="turret_scale_aim" name="turret_scale_aim">2 = aim twice as fast, 0,5 = aim at half speed</real>
+<real key="turret_scale_health" name="turret_scale_health">2 = double health, 0.5 = half</real>
+<target key="target" name="target">Defend the position of this entity</target>
+<integer key="team" name="team">5=red, 14=blue</integer>
+-------- SPAWNFLAGS --------
+<flag key="PILLAR" name="PILLAR" bit="1">Adds a supporting pillar under this turret, for turrets on terrain/uneven surfaces. (only for visuals)</flag>
+-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
+model=&quot;../xonotic-data.pk3dir/models/turrets/radiant/hellion.md3&quot;
+</point>
+
+
+<point name="turret_hk" color="1 0 0" box="-32 -32 0 32 32 50">
+Single powerful rocket with the ability to evade obstacles to find its target. Varied speed.
+-------- KEYS --------
+<real key="turret_scale_damage" name="turret_scale_damage">2 = double damage, 0.5 = half</real>
+<real key="turret_scale_range" name="turret_scale_range">2 = double range, 0.5 = half</real>
+<real key="turret_scale_refire" name="turret_scale_refire">2 = double refire (SLOWER!), 0.5 = half (FASTER!)</real>
+<real key="turret_scale_ammo" name="turret_scale_ammo">2 = double ammo carry &amp; regen, 0.5 = half ammo carry &amp; regen</real>
+<real key="turret_scale_aim" name="turret_scale_aim">2 = aim twice as fast, 0,5 = aim at half speed</real>
+<real key="turret_scale_health" name="turret_scale_health">2 = double health, 0.5 = half</real>
+<target key="target" name="target">Defend the position of this entity</target>
+<integer key="team" name="team">5=red, 14=blue</integer>
+-------- SPAWNFLAGS --------
+<flag key="PILLAR" name="PILLAR" bit="1">Adds a supporting pillar under this turret, for turrets on terrain/uneven surfaces. (only for visuals)</flag>
+-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
+model=&quot;../xonotic-data.pk3dir/models/turrets/radiant/hk.md3&quot;
+</point>
+
+<point name="turret_tesla" color="1 0 0" box="-32 -32 0 32 32 50">
+Fires a lightning bolt that will jump to up to 10 targets if they are close enough to each other. Missiles included.
+-------- KEYS --------
+<real key="turret_scale_damage" name="turret_scale_damage">2 = double damage, 0.5 = half</real>
+<real key="turret_scale_range" name="turret_scale_range">2 = double range, 0.5 = half</real>
+<real key="turret_scale_refire" name="turret_scale_refire">2 = double refire (SLOWER!), 0.5 = half (FASTER!)</real>
+<real key="turret_scale_ammo" name="turret_scale_ammo">2 = double ammo carry &amp; regen, 0.5 = half ammo carry &amp; regen</real>
+<real key="turret_scale_aim" name="turret_scale_aim">2 = aim twice as fast, 0,5 = aim at half speed</real>
+<real key="turret_scale_health" name="turret_scale_health">2 = double health, 0.5 = half</real>
+<target key="target" name="target">Defend the position of this entity</target>
+<integer key="team" name="team">5=red, 14=blue</integer>
+-------- SPAWNFLAGS --------
+<flag key="PILLAR" name="PILLAR" bit="1">Adds a supporting pillar under this turret, for turrets on terrain/uneven surfaces. (only for visuals)</flag>
+-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
+model=&quot;../xonotic-data.pk3dir/models/turrets/radiant/tesla.md3&quot;
+</point>
+
+<point name="turret_phaser" color="1 0 0" box="-32 -32 0 32 32 50">
+Constant beam weapon that will considerably slow its target down while dealing low but constant damage.
+-------- KEYS --------
+<real key="turret_scale_damage" name="turret_scale_damage">2 = double damage, 0.5 = half</real>
+<real key="turret_scale_range" name="turret_scale_range">2 = double range, 0.5 = half</real>
+<real key="turret_scale_refire" name="turret_scale_refire">2 = double refire (SLOWER!), 0.5 = half (FASTER!)</real>
+<real key="turret_scale_ammo" name="turret_scale_ammo">2 = double ammo carry &amp; regen, 0.5 = half ammo carry &amp; regen</real>
+<real key="turret_scale_aim" name="turret_scale_aim">2 = aim twice as fast, 0,5 = aim at half speed</real>
+<real key="turret_scale_health" name="turret_scale_health">2 = double health, 0.5 = half</real>
+<target key="target" name="target">Defend the position of this entity</target>
+<integer key="team" name="team">5=red, 14=blue</integer>
+-------- SPAWNFLAGS --------
+<flag key="PILLAR" name="PILLAR" bit="1">Adds a supporting pillar under this turret, for turrets on terrain/uneven surfaces. (only for visuals)</flag>
+-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
+model=&quot;../xonotic-data.pk3dir/models/turrets/radiant/phaser.md3&quot;
+</point>
+
+
+<point name="turret_fusionreactor" color="1 0 0" box="-32 -32 0 32 32 50">
+-------- KEYS --------
+<real key="turret_scale_damage" name="turret_scale_damage">2 = double damage, 0.5 = half</real>
+<real key="turret_scale_range" name="turret_scale_range">2 = double range, 0.5 = half</real>
+<real key="turret_scale_refire" name="turret_scale_refire">2 = double refire (SLOWER!), 0.5 = half (FASTER!)</real>
+<real key="turret_scale_ammo" name="turret_scale_ammo">2 = double ammo carry &amp; regen, 0.5 = half ammo carry &amp; regen</real>
+<real key="turret_scale_aim" name="turret_scale_aim">2 = aim twice as fast, 0,5 = aim at half speed</real>
+<real key="turret_scale_health" name="turret_scale_health">2 = double health, 0.5 = half</real>
+<integer key="team" name="team">5=red, 14=blue</integer>
+-------- SPAWNFLAGS --------
+<flag key="PILLAR" name="PILLAR" bit="1">Adds a supporting pillar under this turret, for turrets on terrain/uneven surfaces. (only for visuals)</flag>
+---------NOTES----------
+Supplies neerby energy based turrets with more power so they can fire more often.
+-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
+model=&quot;../xonotic-data.pk3dir/models/turrets/radiant/reactor.md3&quot;
+</point>
+
+<group name="turret_targettrigger" color=".5 .5 .5">
+Used to feed turrets capable of it with remote target info. currently only turret_hk supports this.
+</group>
+
+
+<point name="turret_walker" color="1 0 0" box="-32 -32 0 32 32 50">
+-----------KEYS------------
+<real key="turret_scale_damage" name="turret_scale_damage">2 = double damage, 0.5 = half</real>
+<real key="turret_scale_range" name="turret_scale_range">2 = double range, 0.5 = half</real>
+<real key="turret_scale_refire" name="turret_scale_refire">2 = doubble refire (SLOWER!), 0.5 = half (FASTER!)</real>
+<real key="turret_scale_ammo" name="turret_scale_ammo">2 = doubble ammo carry &amp; regen, 0.5 = half ammo carry &amp; regen</real>
+<real key="turret_scale_aim" name="turret_scale_aim">2 = aim twice as fast, 0,5 = aim at half speed</real>
+<real key="turret_scale_health" name="turret_scale_health">2 = double health, 0.5 = half</real>
+<integer key="team" name="team">5=red, 14=blue</integer>
+-----------SPAWNFLAGS-----------
+---------NOTES----------
+
+A nasty mechanical critter that will engage longrange target with missiles, midrange with its minigun and meele things up close and personal.
+
+-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
+model=&quot;../xonotic-data.pk3dir/models/turrets/radiant/walker.md3&quot;
+</point>
+
+
+<point name="turret_ewheel" color="1 0 0" box="-32 -32 0 32 32 50">
+-----------KEYS------------
+<real key="turret_scale_damage" name="turret_scale_damage">2 = double damage, 0.5 = half</real>
+<real key="turret_scale_range" name="turret_scale_range">2 = double range, 0.5 = half</real>
+<real key="turret_scale_refire" name="turret_scale_refire">2 = doubble refire (SLOWER!), 0.5 = half (FASTER!)</real>
+<real key="turret_scale_ammo" name="turret_scale_ammo">2 = doubble ammo carry &amp; regen, 0.5 = half ammo carry &amp; regen</real>
+<real key="turret_scale_aim" name="turret_scale_aim">2 = aim twice as fast, 0,5 = aim at half speed</real>
+<real key="turret_scale_health" name="turret_scale_health">2 = double health, 0.5 = half</real>
+<integer key="team" name="team">5=red, 14=blue</integer>
+-----------SPAWNFLAGS-----------
+---------NOTES----------
+
+Small, agile and moveing turret.
+
+-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
+model=&quot;../xonotic-data.pk3dir/models/turrets/radiant/ewheel.md3&quot;
+</point>
+
+
+<point name="turret_checkpoint" color="1 0 1" box="-32 -32 -32 32 32 32">
+-----------KEYS------------
+<target key="target" name="target">.targetname of next wapoint in chain.</target>
+<real key="wait" name="wait">Pause at this point # seconds.</real>
+-----------SPAWNFLAGS-----------
+
+---------NOTES----------
+If a loop is of targets are formed, any unit entering this loop will patrol it indefinitly.
+If the checkpoint chain in not looped, the unit will go &quot;Roaming&quot; when the last point is reached.
+</point>
+<point name="vehicle_racer" color="0 0 1" box="-48 -48 0 48 48 32">
+Fast moving hover type vehicle, with low shiled &amp; health.
+Primary weapon is a rapid fire energy cannon, secondary lockable rockets.
+-------- KEYS --------
+<integer key="team" name="team">5=red, 14=blue</integer>
+-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
+model=&quot;models/vehicles-static/wakazachi.md3&quot;
+</point>
+
+<point name="vehicle_spiderbot" color="0 0 1" box="-48 -48 0 48 48 32">
+A slow moving 6 legged mech type vehile that has plenty of health and shiled.
+Primary weapon is twin miniguns, secondary eight rockets that can be guided by the pilot.
+-------- KEYS --------
+<integer key="team" name="team">5=red, 14=blue</integer>
+-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
+model=&quot;models/vehicles-static/spiderbot.md3&quot;
+</point>
+
+<point name="vehicle_raptor" color="0 0 1" box="-48 -48 0 48 48 32">
+The raptor is primaerly a air to ground frighter, its quite lightly armoured or shilded.
+Its main weapon is four rapid fire energy cannons, wich can be locked to track a target by aming at it for some time.
+Secondary is a pair of vert powerfull clusterbombs.
+-------- KEYS --------
+<integer key="team" name="team">5=red, 14=blue</integer>
+-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
+model=&quot;models/vehicles-static/raptor.md3&quot;
+</point>
 </classes>