]> de.git.xonotic.org Git - xonotic/xonotic-maps.pk3dir.git/blobdiff - scripts/entities.ent
Delete the "cubemaps" folder, which was meant to be temporary but has been around...
[xonotic/xonotic-maps.pk3dir.git] / scripts / entities.ent
index d6d6a6f27fadeeb5890ec4fd07b83bf1bda61a1e..0b0ed4c20fa97eb97cb29de46befdad391930805 100644 (file)
@@ -20,7 +20,7 @@ The targeted entity is preferably an info_null.
 The projection is a linear projection, and originates from the center of this entity (the start of the arrow line in Radiant) to the origin of the targeted entity (the end of the arrow line in Radiant).
 </group>
 
-<point name="dom_controlpoint" color=".3 .3 1" box="-16 -16 -16 16 16 16">
+<point name="dom_controlpoint" color=".3 .3 1" box="-48 -48 -32 48 48 32">
 Domination control point
 In order to get Domination working well in your map, you need to place dom_team and dom_controlpoint entities.  You *must* have at least 3 dom_team entities - 2 minimum teams and one blank one (empty netname and no team).  You can have up to 4 teams (5 dom_team entities).
 -------- KEYS --------
@@ -135,7 +135,7 @@ When a button is touched by a player, it moves in the direction set by the &quot
 </group>
 
 <group name="func_conveyor" color="0 .5 .8">
-A conveyor. Solid brush version. Will run forever if it's not targeted.
+A conveyor. Solid brush version. Will run forever if it's not targeted. Use relay_activate, relay_deactivate or relay_activatetoggle to activate/deactivate it.
 -------- KEYS --------
 <targetname key="targetname" name="targetname">if set, it can be turned on/off</targetname>
 <direction key="angle" name="angle">determines the opening direction</direction>
@@ -145,7 +145,7 @@ A conveyor. Solid brush version. Will run forever if it's not targeted.
 </group>
 
 <group name="trigger_conveyor" color="0 .5 .8">
-A conveyor. Nonsolid trigger version.
+A conveyor. Nonsolid trigger version. Use relay_activate, relay_deactivate or relay_activatetoggle to activate/deactivate it.
 -------- KEYS --------
 <targetname key="targetname" name="targetname">if set, it can be turned on/off</targetname>
 <direction key="angle" name="angle">determines the opening direction</direction>
@@ -248,7 +248,7 @@ Basic secret door. Slides back, then to the side. Angle determines direction. Op
 
 <group name="func_group" color="0 .5 .8">
 This is not an entity as such. It is strictly an editor utility to group world brushes and patches together for convenience (selecting, moving, copying, etc). You cannot group entities with this.
-To select the func_group, either select it from the Entity List window, or select a bruch belonging to the func_group then use the menu option Edit -> Expand Selection To Primitives.
+To select the func_group, either select it from the Entity List window, or select a brush belonging to the func_group then use the menu option Edit -> Expand Selection To Whole Entities.
 -------- Q3MAP2 KEYS --------
 <real key="_lightmapscale" name="_lightmapscale">light map resolution factor</real>
 <boolean key="_castshadows" name="_castshadows">Allows per-entity control over shadow casting. Defaults to 0 on entities, 1 on world. 0 = no shadow casting. 1 = cast shadows on world. &gt; 1 = cast shadows on entities with _rs (or _receiveshadows) with the corresponding value, AND world. Negative values imply same, but DO NOT cast shadows on world.</boolean>
@@ -276,9 +276,9 @@ Rising platform the player can ride to reach higher places. Plats must always be
 <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>
 <targetname key="targetname" name="targetname">if set, the trigger that points to this will lower the plat each time it fires. The plat lowers and lifts someone up later.</targetname>
-<real key="sounds" name="sounds">2 for alternate sound set, -1 for silence, or use the fields below</real>
-<string key="sound1" name="sound1">platform starts moving sound</string>
-<string key="sound2" name="sound2">platform stop sound</string>
+<real key="sounds" name="sounds">2 for alternate sound set, 0 for silence, or use the fields below</real>
+<string key="noise" name="noise">platform starts moving sound</string>
+<string key="noise1" name="noise1">platform stop sound</string>
 <string key="message" name="message">kill message, when someone gets killed by this plat</string>
 <string key="message2" name="message2">death message when someone gets pushed into this (default: &quot;was thrown into a world of hurt by&quot;). The # character is replaced by the attacker name if present (and it instead does not get appended to the end)</string>
 -------- SPAWNFLAGS --------
@@ -292,7 +292,7 @@ This is an invisible area like a trigger, which rain falls inside of.
 -------- KEYS --------
 <real3 key="velocity" name="velocity">falling direction (should be something like '0 0 -700', use the X and Y velocity for wind)</real3>
 <real key="cnt" name="cnt">sets color of rain in the Quake palette (default 12 - white)</real>
-<real key="count" name="count">adjusts density, this many particles fall every second for a 1024x1024 area, default is 2000</real>
+<real key="count" name="count">adjusts density, this many particles fall every second for a 1024x1024 area (on average), default is 2000</real>
 </group>
 
 <group name="func_rotating" color="0 .5 .8">
@@ -315,7 +315,7 @@ This is an invisible area like a trigger, which snow falls inside of.
 -------- KEYS --------
 <real3 key="velocity" name="velocity">falling direction (should be something like '0 0 -300', use the X and Y velocity for wind)</real3>
 <real key="cnt" name="cnt">sets color of snow in the Quake palette (default 12 - white)</real>
-<real key="count" name="count">adjusts density, this many particles fall every second for a 1024x1024 area, default is 2000</real>
+<real key="count" name="count">adjusts density, this many particles fall every second for a 1024x1024 area (on average), default is 2000</real>
 </group>
 
 <point name="func_stardust" color=".5 .5 .5" box="-8 -8 -8 8 8 8">
@@ -325,10 +325,9 @@ Point entity with EF_STARDUST applied. This will spawn a particle cloud with mos
 <group name="func_train" color="0 .5 .8">
 Trains are moving solids that follow a cycle of path_corner entities. Origin brushes are NOT supported; they use the &quot;mins&quot; corner as reference (that is, lowest x, y, and z coordinates).
 At each node, the train's mins corner hits exactly the path_corner.
-Trains always start on in the game.
+Trains always start on mapstart unless NEEDACTIVATION is set.
 Trains do not damage the player when blocked.
 Trains cannot emit sound.
-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>
@@ -339,6 +338,10 @@ Trains cannot be block-stopped just by getting in their way, the player must be
 <real key="dmgtime" name="dmgtime">interval to apply dmg to a player who is in the way</real>
 <string key="message" name="message">death message when a player gets crushed</string>
 <string key="message2" name="message2">death message when someone gets pushed into this (default: &quot;was thrown into a world of hurt by&quot;). The # character is replaced by the attacker name if present (and it instead does not get appended to the end)</string>
+-------- SPAWNFLAGS --------
+<flag key="CURVE" name="CURVE" bit="0">don't use the direct path to the next target, instead create a curved path using the current path_corner's curvetarget</flag>
+<flag key="TURN" name="TURN" bit="1">turn the train when it reaches a path_corner</flag>
+<flag key="NEEDACTIVATION" name="NEEDACTIVATION" bit="2">train needs to be triggered to start</flag>
 </group>
 
 <point name="info_autoscreenshot" color="0 0 0.2" box="-8 -8 -8 8 8 8">
@@ -452,8 +455,8 @@ Acts as a checkpoint to re-spawn at
 <targetname key="targetname" name="targetname">when targeted, this will set the activator's spawn point temporarily to this entity. It is reset upon re-spawn.</targetname>
 </point>
 
-<point name="item_armor_mega" color=".4 .8 .4" box="-30 -30 0 30 30 32">
-Large Armor (default 100 armor points)
+<point name="item_armor_mega" color=".4 .8 .4" box="-30 -30 0 30 30 70">
+Mega 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>
@@ -467,7 +470,7 @@ Large Armor (default 100 armor points)
 modeldisabled=&quot;models/items/g_a25.md3&quot;
 </point>
 
-<point name="item_armor_big" color=".4 .8 .4" box="-30 -30 0 30 30 32">
+<point name="item_armor_big" color=".4 .8 .4" box="-30 -30 0 30 30 48">
 Big Armor (default 50 armor points)
 -------- KEYS --------
 <real key="respawntime" name="respawntime">time till it respawns (default: 20)</real>
@@ -482,7 +485,7 @@ Big Armor (default 50 armor points)
 modeldisabled=&quot;models/items/g_a50.md3&quot;
 </point>
 
-<point name="item_armor_medium" color=".4 .8 .4" box="-30 -30 0 30 30 32">
+<point name="item_armor_medium" color=".4 .8 .4" box="-24 -24 0 24 24 48">
 Medium Armor (default 25 armor points)
 -------- KEYS --------
 <real key="respawntime" name="respawntime">time till it respawns (default: 20)</real>
@@ -497,7 +500,7 @@ Medium Armor (default 25 armor points)
 modeldisabled=&quot;models/items/g_armormedium.md3&quot;
 </point>
 
-<point name="item_armor_small" color=".4 .8 .4" box="-30 -30 0 30 30 32">
+<point name="item_armor_small" color=".4 .8 .4" box="-24 -24 0 24 24 48">
 Small Armor (default 5 armor points)
 -------- KEYS --------
 <real key="respawntime" name="respawntime">time till it respawns (default: 15)</real>
@@ -512,7 +515,7 @@ Small Armor (default 5 armor points)
 modeldisabled=&quot;models/items/g_a1.md3&quot;
 </point>
 
-<point name="item_bullets" color=".3 .3 1" box="-30 -30 0 30 30 32">
+<point name="item_bullets" color=".3 .3 1" box="-30 -30 0 30 30 48">
 Machine Gun ammo
 -------- KEYS --------
 <real key="ammo_nails" name="ammo_nails">bullets gained by this item (if unset, g_pickup_nails is used)</real>
@@ -526,8 +529,8 @@ Machine Gun ammo
 modeldisabled=&quot;models/items/a_bullets.md3&quot;
 </point>
 
-<point name="item_cells" color=".3 .3 1" box="-30 -30 0 30 30 32">
-Nex, Electro and Crylink ammo
+<point name="item_cells" color=".3 .3 1" box="-30 -30 0 30 30 48">
+Vortex, 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>
@@ -607,7 +610,7 @@ Big Health (default 50 health points)
 modeldisabled=&quot;models/items/g_h50.md3&quot;
 </point>
 
-<point name="item_health_medium" color=".9 .3 .3" box="-30 -30 0 30 30 48">
+<point name="item_health_medium" color=".9 .3 .3" box="-24 -24 0 24 24 48">
 Medium Health (default 25 health points)
 -------- KEYS --------
 <real key="respawntime" name="respawntime">time till it respawns (default: 15)</real>
@@ -622,7 +625,7 @@ Medium Health (default 25 health points)
 modeldisabled=&quot;models/items/g_h25.md3&quot;
 </point>
 
-<point name="item_health_mega" color=".9 .3 .3" box="-30 -30 0 30 30 48">
+<point name="item_health_mega" color=".9 .3 .3" box="-30 -30 0 30 30 70">
 Mega Health (default 100 health points)
 In Instagib, this randomly turns into either an invisibility, an extra lives or a speed power-up with a default respawn time of 120.
 -------- KEYS --------
@@ -638,7 +641,7 @@ In Instagib, this randomly turns into either an invisibility, an extra lives or
 modeldisabled=&quot;models/items/g_h100.md3&quot;
 </point>
 
-<point name="item_health_small" color=".9 .3 .3" box="-30 -30 0 30 30 48">
+<point name="item_health_small" color=".9 .3 .3" box="-24 -24 0 24 24 48">
 Small Health (default 5 health points)
 -------- KEYS --------
 <real key="respawntime" name="respawntime">time till it respawns (default: 15)</real>
@@ -653,7 +656,7 @@ Small Health (default 5 health points)
 modeldisabled=&quot;models/items/g_h1.md3&quot;
 </point>
 
-<point name="item_invincible" color=".3 .3 1" box="-30 -30 0 30 30 48">
+<point name="item_shield" color=".3 .3 1" box="-30 -30 0 30 30 70">
 Strong Shield
 In Instagib, this randomly turns into either an invisibility, an extra lives or a speed power-up with a default respawn time of 120.
 -------- KEYS --------
@@ -667,6 +670,32 @@ In Instagib, this randomly turns into either an invisibility, an extra lives or
 modeldisabled=&quot;models/items/g_invincible.md3&quot;
 </point>
 
+<point name="item_speed" color="0.1 1 0.84" box="-30 -30 0 30 30 70">
+Faster movement and shooting
+-------- 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 --------
+<flag key="FLOATING" name="FLOATING" bit="0">the item will float in air, instead of aligning to the floor by falling</flag>
+-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
+modeldisabled=&quot;models/items/g_invincible.md3&quot;
+</point>
+
+<point name="item_invisibility" color="0.5 0.5 1" box="-30 -30 0 30 30 70">
+Low visibility
+-------- 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 --------
+<flag key="FLOATING" name="FLOATING" bit="0">the item will float in air, instead of aligning to the floor by falling</flag>
+-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
+modeldisabled=&quot;models/items/g_invincible.md3&quot;
+</point>
+
 <point name="item_key" color="0 .5 .8" box="-16 -16 -24 16 16 32">
 A key entity.
 The itemkeys should contain one of the following key IDs:
@@ -694,6 +723,7 @@ This is the only correct way to put keys on the map!
 itemkeys MUST always have exactly one bit set.
 </point>
 
+
 <point name="item_key1" color="0 .5 .8" box="-16 -16 -24 16 16 32">
 SILVER key.
 -----------KEYS------------
@@ -720,10 +750,12 @@ GOLD key.
 Don't use this entity on new maps! Use item_key instead.
 </point>
 
-<point name="item_minst_cells" color=".3 .3 1" box="-30 -30 0 30 30 32">
+
+
+<point name="item_vaporizer_cells" color=".3 .3 1" box="-30 -30 0 30 30 48">
 Instagib ammo.
 Always contains 5 (g_instagib_ammo_drop) shots.
-It only appears when playing Instagib and prevents auto-replacement of weapon_nex &amp; weapon_rocketlauncher when used.
+It only appears when playing Instagib and prevents auto-replacement of weapon_vortex &amp; weapon_devastator 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>
@@ -735,8 +767,8 @@ It only appears when playing Instagib and prevents auto-replacement of weapon_ne
 modeldisabled=&quot;models/items/a_cells.md3&quot;
 </point>
 
-<point name="item_rockets" color=".3 .3 1" box="-30 -30 0 30 30 32">
-Rocket Launcher, Hagar and Mortar ammo
+<point name="item_rockets" color=".3 .3 1" box="-30 -30 0 30 30 48">
+Devastator, 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>
@@ -749,7 +781,7 @@ Rocket Launcher, Hagar and Mortar ammo
 modeldisabled=&quot;models/items/a_rockets.md3&quot;
 </point>
 
-<point name="item_shells" color=".3 .3 1" box="-30 -30 0 30 30 32">
+<point name="item_shells" color=".3 .3 1" box="-30 -30 0 30 30 48">
 Shotgun ammo
 -------- KEYS --------
 <real key="ammo_shells" name="ammo_shells">shells gained by this item (if unset, g_pickup_shells is used)</real>
@@ -763,7 +795,7 @@ Shotgun ammo
 modeldisabled=&quot;models/items/a_shells.md3&quot;
 </point>
 
-<point name="item_strength" color=".3 .3 1" box="-30 -30 0 30 30 48">
+<point name="item_strength" color=".3 .3 1" box="-30 -30 0 30 30 70">
 Strength aka Quad damage
 In Instagib, this randomly turns into either an invisibility, an extra lives or a speed power-up with a default respawn time of 120.
 -------- KEYS --------
@@ -821,14 +853,14 @@ By this you see that you HAVE to specify fade for a linear light... use values b
 </point>
 
 <point name="misc_laser" color=".5 .5 .5" box="-8 -8 -8 8 8 8">
-Laser beam emitter. Note that for the laser to be deadly, it has to start OUTSIDE the player's collision box. To ensure this, you may want to put this entity inside the walls (or directly on their surface), or cover it with a playerclip brush.
+Laser beam emitter. Note that for the laser to be deadly, it has to start OUTSIDE the player's collision box. To ensure this, you may want to put this entity inside the walls (or directly on their surface), or cover it with a playerclip brush. Can be controlled by relays.
 -------- KEYS --------
 <target key="target" name="target">target_position the laser targets (may be another entity, preferably target_position, possibly controlled by misc_follow)</target>
 <string key="mdl" name="mdl">name of particle effect for the beam end point (see effectinfo.txt; default is laser_deadly if dmg is set, and none if not)</string>
-<color key="colormod" name="colormod">color of the laser beam (default: red, that is, 1 0 0)</color>
+<color key="beam_color" name="beam_color">color of the laser beam (default: red, that is, 1 0 0)</color>
 <real key="dmg" name="dmg">damage inflicted by the beam per second, or -1 for an instant-death ray</real>
 <targetname key="targetname" name="targetname">name to target this (then its state is toggled)</targetname>
-<real key="alpha" name="alpha">when set, makes a dark laser of the given strength; may be combined with colormod</real>
+<real key="alpha" name="alpha">when set, makes a dark laser of the given strength; may be combined with beam_color</real>
 <real key="scale" name="scale">scales the beam thickness (default 1)</real>
 <real key="modelscale" name="modelscale">scales the dynamic light radius at the endpoint (default 1, -1 to turn off)</real>
 <integer key="team" name="team">team that gets hurt (5 = red, 14 = blue, etc) (when set, only this team can get hurt)</integer>
@@ -838,7 +870,7 @@ Laser beam emitter. Note that for the laser to be deadly, it has to start OUTSID
 <flag key="NOTRACE" name="NOTRACE" bit="2">the laser passes through solid (faster rendering on clientside); non-FINITE lasers then never display their impact effect &quot;mdl&quot;!</flag>
 <flag key="INVERT_TEAM" name="INVERT_TEAM" bit="3">the team that owns this will NOT get hurt</flag>
 -------- NOTES --------
-Use trigger_monoflop if you want the laser to turn off for a while, then turn back on.
+Use trigger_monoflop and relay_activatetoggle if you want the laser to turn off for a while, then turn back on.
 When the laser's target has itself target set, its targets are triggered when someone enters or leaves the laser.
 </point>
 
@@ -1098,10 +1130,12 @@ All path_corner entities of a train have to connect in a circular manner, while
 <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>
+<boolean key="target_random" name="target_random">choose a random next corner from the list of all path_corners with targetname specified in &quot;target&quot;</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>
+-------- SPAWNFLAGS --------
+<flag key="NEEDACTIVATION" name="NEEDACTIVATION" bit="2">train needs to be triggered to move to this corner</flag>
 </point>
 
 <point name="target_assault_roundend" color="1 0 0" box="-8 -8 -8 8 8 8">
@@ -1162,7 +1196,6 @@ The sound name may also be of the form *soundname, and in that case the respecti
 -------- SPAWNFLAGS --------
 <flag key="LOOPED_ON" name="LOOPED_ON" bit="0">the sound is looped and initially plays (the sound file MUST have the LOOP_START vorbis comment then!). It can be toggled by a trigger.</flag>
 <flag key="LOOPED_OFF" name="LOOPED_OFF" bit="1">the sound is looped and initially does not play (the sound file MUST have the LOOP_START vorbis comment then!). It can be toggled by a trigger.</flag>
-<flag key="GLOBAL" name="GLOBAL" bit="2">the sound plays with no attenuation (same as setting atten to -1)</flag>
 <flag key="ACTIVATOR" name="ACTIVATOR" bit="3">the sound is played to the activator only when triggered (cannot be combined with LOOPED_ON and LOOPED_OFF)</flag>
 </point>
 
@@ -1175,9 +1208,9 @@ Monster spawnpoint for Invasion
 <integer key="team" name="team">team that the monster will join if teamplay (5 = red, 14 = blue, etc)</integer>
 </point>
 
-<group name="trigger_counter" color=".5 .5 .5">
+<point name="trigger_counter" color=".5 .5 .5" box="-8 -8 -8 8 8 8">
 Acts as an intermediary for an action that takes multiple inputs.
-After the counter has been triggered &quot;count&quot; times, it will fire all of its targets and remove itself.
+After the counter has been triggered &quot;count&quot; times, it will fire all of its targets.
 -------- KEYS --------
 <real key="count" name="count">how many times this needs to be triggered to activate its targets</real>
 <target key="target" name="target">trigger all entities with this targetname when triggered</target>
@@ -1187,12 +1220,14 @@ After the counter has been triggered &quot;count&quot; times, it will fire all o
 <target key="killtarget" name="killtarget">remove all entities with this targetname when triggered</target>
 -------- SPAWNFLAGS --------
 <flag key="NOMESSAGE" name="NOMESSAGE" bit="0">don't print a &quot;2 more to go...&quot;-like message when triggered</flag>
-</group>
+<flag key="FIRE_AT_COUNT" name="FIRE_AT_COUNT" bit="2">fire at every count (behaves like trigger_multiple with limited shots)</flag>
+</point>
 
 <point name="trigger_delay" color=".5 .5 .5" box="-8 -8 -8 8 8 8">
 Trigger that delays triggering by a given amount of time. Only one action can be waited for; if triggered again before the &quot;wait&quot; time expires, the timer will restart (as opposed to trigger_relay).
 -------- KEYS --------
 <real key="wait" name="wait">delay the triggering by the given time</real>
+<real key="trigger_reverse" name="trigger_reverse">open &quot;func_door_rotating&quot; with &quot;BIDIR&quot; in reverse direction</real>
 <target key="target" name="target">trigger all entities with this targetname when triggered</target>
 <targetname key="targetname" name="targetname">name that identifies this entity so it can be triggered</targetname>
 <string key="message" name="message">print this message to the player who activated the trigger</string>
@@ -1209,7 +1244,7 @@ Has the useful effect of automatically returning flags, keys and runes when they
 <integer key="team" name="team">team that gets hurt (5 = red, 14 = blue, etc) (when set, only this team can get hurt)</integer>
 <targetname key="targetname" name="targetname">if triggered using this target name, the activator will be the one who gets the frag awarded for hurting someone using this trigger (hint: The Frag Pipe)</targetname>
 -------- SPAWNFLAGS --------
-<flag key="INVERT_TEAM" name="INVERT_TEAM" bit="2">the team that owns this will NOT jump when touching this</flag>
+<flag key="INVERT_TEAM" name="INVERT_TEAM" bit="2">the team that owns this will NOT get hurt when touching this</flag>
 </group>
 
 <group name="trigger_impulse" color=".5 .5 .5">
@@ -1223,6 +1258,8 @@ Can be used in two ways:
 <target key="target" name="target">&quot;wind field&quot;: points to the target_position to which the player will get pushed.</target>
 <real key="strength" name="strength">&quot;wind field&quot;, &quot;gravity field&quot;: amount of force per second to apply. &quot;dampener/accelerator field&quot;: slowdown/speedup factor.</real>
 <real key="falloff" name="falloff">&quot;gravity field&quot;: 0 means no falloff, 1 means linear falloff (zero at the outside), 2 means inverted linear falloff (zero at the inside)</real>
+-------- SPAWNFLAGS --------
+<flag key="DIRECTIONAL_SPEEDTARGET" name="DIRECTIONAL_SPEEDTARGET" bit="6">treat strength as a target value for speed in the desired direction (directional mode only)</flag>
 </group>
 
 <group name="trigger_keylock" color=".0 .5 .8">
@@ -1252,6 +1289,7 @@ Variable sized repeatable trigger.  Must be targeted at one or more entities.  I
 <real key="wait" name="wait">prevent triggering again for this amount of time (default: 0.2, set to -1 to wait indefinitely, or -2 to not wait at all)</real>
 <real key="sounds" name="sounds">1 to play misc/secret.wav, 2 to play misc/talk.wav, 3 to play misc/trigger1.wav</real>
 <sound key="noise" name="noise">path to sound file, if you want to play something else</sound>
+<real key="trigger_reverse" name="trigger_reverse">open &quot;func_door_rotating&quot; with &quot;BIDIR&quot; in reverse direction</real>
 <target key="target" name="target">trigger all entities with this targetname when triggered</target>
 <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>
@@ -1276,6 +1314,7 @@ Basically, it's a use-once trigger_multiple.
 <real key="health" name="health">amount of damage that has to be dealt to the trigger to activate (it then won't respond to merely touching it)</real>
 <real key="sounds" name="sounds">1 to play misc/secret.wav, 2 to play misc/talk.wav, 3 to play misc/trigger1.wav</real>
 <sound key="noise" name="noise">path to sound file, if you want to play something else</sound>
+<real key="trigger_reverse" name="trigger_reverse">open &quot;func_door_rotating&quot; with &quot;BIDIR&quot; in reverse direction</real>
 <target key="target" name="target">trigger all entities with this targetname when triggered</target>
 <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>
@@ -1295,13 +1334,14 @@ Quake &quot;movedir/speed&quot; way: player will get velocity movedir * speed *
 -------- KEYS --------
 <target key="target" name="target">point the player will fly to when using the jump pad (use a target_position here)</target>
 <real key="height" name="height">if height is 0, the (player's origin at the) apex of the jump will be at the target; otherwise, the apex will be abs(height) above the higher point of player's origin and the target; if positive, the apex will be reached in the jump from initial origin to target</real>
-<real3 key="movedir" name="movedir">when target is not set, direction vector to push to</real3>
+<real3 key="movedir" name="movedir">when target is not set, direction vector to push to, this * speed * 10 is the velocity to be reached.</real3>
 <real key="speed" name="speed">speed of jump pad (default: 1000)</real>
 <sound key="noise" name="noise">sound to play when jump pad is used; default is misc/jumppad.wav; you can set it to &quot;&quot; to make the pad silent</sound>
-<integer key="team" name="team">team that owns this jump pad (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>
+<integer key="team" name="team">team that owns this jump pad (5 = red, 14 = blue, etc) (when set, only this team can jump)</integer>
+<targetname key="targetname" name="targetname">when targeted by a func_button, pressing the button will reassign the jump pad to the team of the activator.</targetname>
 -------- SPAWNFLAGS --------
-<flag key="INVERT_TEAM" name="INVERT_TEAM" bit="2">the team that owns the teleporter will NOT jump when touching this</flag>
+<flag key="INVERT_TEAM" name="INVERT_TEAM" bit="2">the team that owns the jump pad will NOT jump when touching this</flag>
+<flag key="STATIC" name="STATIC" bit="12">push force stays the same no matter where the trigger is hit, the center of the trigger is used as a starting point for trajectory calculation instead of the player position, matches Quake 3 behavior</flag>
 </group>
 
 <point name="trigger_relay" color=".5 .5 .5" box="-8 -8 -8 8 8 8">
@@ -1354,10 +1394,12 @@ Note that in Xonotic, teleporters preserve momentum of the player using them.
 <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 --------
+<flag key="OBSERVERS_ONLY" name="OBSERVERS_ONLY" bit="0">if set, only observers can use this teleporter</flag>
+<flag key="KEEP_SPEED" name="KEEP_SPEED" bit="1">if set, ignores g_teleport_maxspeed</flag>
 <flag key="INVERT_TEAM" name="INVERT_TEAM" bit="2">the team that owns the teleporter will NOT teleport when touching this</flag>
 </group>
 
-<point name="weapon_crylink" color="1 0 .5" box="-30 -30 0 30 30 32">
+<point name="weapon_crylink" color="1 0 .5" box="-30 -30 0 30 30 48">
 the Crylink
 -------- KEYS --------
 <real key="ammo_cells" name="ammo_cells">initial cells of the weapon (if unset, g_pickup_cells is used)</real>
@@ -1371,7 +1413,7 @@ the Crylink
 modeldisabled=&quot;models/weapons/g_crylink.md3&quot;
 </point>
 
-<point name="weapon_electro" color="1 0 .5" box="-30 -30 0 30 30 32">
+<point name="weapon_electro" color="1 0 .5" box="-30 -30 0 30 30 48">
 the Electro
 -------- KEYS --------
 <real key="ammo_cells" name="ammo_cells">initial cells of the weapon (if unset, g_pickup_cells is used)</real>
@@ -1385,7 +1427,7 @@ the Electro
 modeldisabled=&quot;models/weapons/g_electro.md3&quot;
 </point>
 
-<point name="weapon_grenadelauncher" color="1 0 .5" box="-30 -30 0 30 30 32">
+<point name="weapon_mortar" color="1 0 .5" box="-30 -30 0 30 30 48">
 the Mortar
 -------- KEYS --------
 <real key="ammo_rockets" name="ammo_rockets">initial rockets of the weapon (if unset, g_pickup_rockets is used)</real>
@@ -1399,7 +1441,7 @@ the Mortar
 modeldisabled=&quot;models/weapons/g_gl.md3&quot;
 </point>
 
-<point name="weapon_hagar" color="1 0 .5" box="-30 -30 0 30 30 32">
+<point name="weapon_hagar" color="1 0 .5" box="-30 -30 0 30 30 48">
 the Hagar
 -------- KEYS --------
 <real key="ammo_rockets" name="ammo_rockets">initial rockets of the weapon (if unset, g_pickup_rockets is used)</real>
@@ -1413,9 +1455,9 @@ the Hagar
 modeldisabled=&quot;models/weapons/g_hagar.md3&quot;
 </point>
 
-<point name="weapon_laser" color="1 0 .5" box="-30 -30 0 30 30 32">
-the Laser. Note that unless you use
-  settemp_for_type all g_start_weapon_laser 0
+<point name="weapon_blaster" color="1 0 .5" box="-30 -30 0 30 30 48">
+the Blaster. Note that unless you use
+  settemp_for_type all g_balance_blaster_weaponstart 0
 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>
@@ -1428,12 +1470,12 @@ in your mapinfo file, everyone will already spawn with one, making this pickup u
 modeldisabled=&quot;models/weapons/g_laser.md3&quot;
 </point>
 
-<point name="weapon_nex" color="1 0 .5" box="-30 -30 0 30 30 32">
-the Nex
-In Instagib, this turns into an item_minst_cells if no explicit item_minst_cells have been placed.
+<point name="weapon_vortex" color="1 0 .5" box="-30 -30 0 30 30 48">
+the Vortex
+In Instagib, this turns into an item_vaporizer_cells if no explicit item_vaporizer_cells have been placed.
 -------- 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="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>
@@ -1443,9 +1485,9 @@ In Instagib, this turns into an item_minst_cells if no explicit item_minst_cells
 modeldisabled=&quot;models/weapons/g_nex.md3&quot;
 </point>
 
-<point name="weapon_rocketlauncher" color="1 0 .5" box="-30 -30 0 30 30 32">
-the Rocket Launcher
-In Instagib, this turns into an item_minst_cells if no explicit item_minst_cells have been placed.
+<point name="weapon_devastator" color="1 0 .5" box="-30 -30 0 30 30 48">
+the Devastator
+In Instagib, this turns into an item_vaporizer_cells if no explicit item_vaporizer_cells have been placed.
 -------- 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>
@@ -1458,9 +1500,9 @@ In Instagib, this turns into an item_minst_cells if no explicit item_minst_cells
 modeldisabled=&quot;models/weapons/g_rl.md3&quot;
 </point>
 
-<point name="weapon_shotgun" color="1 0 .5" box="-30 -30 0 30 30 32">
+<point name="weapon_shotgun" color="1 0 .5" box="-30 -30 0 30 30 48">
 the Shotgun. Note that unless you use
-  settemp_for_type all g_start_weapon_shotgun 0
+  settemp_for_type all g_balance_shotgun_weaponstart 0
 in your mapinfo file, everyone will already spawn with one, making this pickup useless.
 -------- KEYS --------
 <real key="ammo_shells" name="ammo_shells">initial shells of the weapon (if unset, g_pickup_shells is used)</real>
@@ -1474,7 +1516,7 @@ in your mapinfo file, everyone will already spawn with one, making this pickup u
 modeldisabled=&quot;models/weapons/g_shotgun.md3&quot;
 </point>
 
-<point name="weapon_uzi" color="1 0 .5" box="-30 -30 0 30 30 32">
+<point name="weapon_machinegun" color="1 0 .5" box="-30 -30 0 30 30 48">
 the Machine Gun
 -------- KEYS --------
 <real key="ammo_nails" name="ammo_nails">initial bullets of the weapon (if unset, g_pickup_nails is used)</real>
@@ -1488,6 +1530,20 @@ the Machine Gun
 modeldisabled=&quot;models/weapons/g_uzi.md3&quot;
 </point>
 
+<point name="weapon_arc" color="1 0 .5" box="-30 -30 0 30 30 48">
+the Arc (experimental weapon)
+-------- 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 --------
+<flag key="FLOATING" name="FLOATING" bit="0">the item will float in air, instead of aligning to the floor by falling</flag>
+-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
+modeldisabled=&quot;models/weapons/g_arc.md3&quot;
+</point>
+
 <group name="worldspawn" color="0 0 0">
 The world.
 If you see this, the currently selected brush is not of an entity.
@@ -1555,18 +1611,18 @@ NOTE for race_place: when the race starts after the qualifying, the player with
 </point>
 
 <group name="func_pointparticles" color=".5 .5 .5">
-A brush that emits particles.
+A brush that emits particles. Can be (de)activated with relays.
 -------- KEYS --------
 <string key="mdl" name="mdl">particle effect name from effectinfo.txt</string>
 <real key="impulse" name="impulse">when positive, number of particles to emit per second; when negative; number of particles to emit per second and 64^3 block</real>
 <real3 key="velocity" name="velocity">particle direction and speed</real3>
 <real key="waterlevel" name="waterlevel">extra velocity jitter amount</real>
 <real key="count" name="count">particle count multiplier (per spawned particle)</real>
-<real3 key="movedir" name="movedir">when set, trace direction (particles will then be emitted from the surface the trace hits); the length of the vector is used as strength of taking the normal of the trace into account</real3>
+<real3 key="movedir" name="movedir">when set, particles will not be emitted from the brush, but instead from the nearest surface in this direction; the length of this vector will determine, how much impact the surface's normal has on the particle velocity</real3>
 <sound key="noise" name="noise">sound to play when the particle is emitted</sound>
 <real key="atten" name="atten">distance attenuation of the sound (a value from 0.1 to 3.9), default is 0.5; set to -1 for no attenuation (global sound)</real>
 <real key="volume" name="volume">volume of the sound</real>
-<targetname key="targetname" name="targetname">name to target this (then its state is toggled)</targetname>
+<targetname key="targetname" name="targetname">name to target this (use relays)</targetname>
 <string key="bgmscript" name="bgmscript">emitter class from the BGM script</string>
 <real key="bgmscriptattack" name="bgmscriptattack">attack time of the effect strength (0 to 3.9)</real>
 <real key="bgmscriptdecay" name="bgmscriptdecay">decay time of the effect strength (0 to 3.9)</real>
@@ -1574,10 +1630,10 @@ A brush that emits particles.
 <real key="bgmscriptrelease" name="bgmscriptrelease">release time of the effect strength (0 to 3.9)</real>
 -------- SPAWNFLAGS --------
 <flag key="START_ON" name="START_ON" bit="0">when targeted, the particle emitter will start switched on</flag>
-<flag key="IMPULSE" name="IMPULSE" bit="1">only send the full amount of impulse particles when the entity is triggered</flag>
+<flag key="IMPULSE" name="IMPULSE" bit="1">only send the full amount of impulse particles when the entity is toggled on/off</flag>
 <flag key="VISCULLING" name="VISCULLING" bit="2">only emit particles if the emitter brush is in the current PVS</flag>
 -------- NOTES --------
-Use trigger_monoflop if you want the particles to turn off for a while, then turn back on.
+Use trigger_monoflop and relay_activatetoggle if you want the particles to turn off for a while, then turn back on.
 A BGM script is a .bgs file named like the map, in the maps directory. Its format is lines of the form
   &lt;emitter class&gt; &lt;time since start of background music&gt; &lt;0 if the emitters are to be switched off, &gt;0 and &lt;=1 if they are to be switched on&gt;
 e.g.
@@ -1586,11 +1642,36 @@ e.g.
 The lines MUST be sorted by emitter class as primary key, and by the time since start of the BGM as secondary key.
 </group>
 
+<group name="func_sparks" color=".5 .5 .5">
+A brush that emits sparks. Can be (de)activated with relays.
+-------- KEYS --------
+<real key="waterlevel" name="waterlevel">extra velocity jitter amount</real>
+<real key="impulse" name="impulse">number of particles to emit per second (min 0.5, default 2.5)</real>
+<real key="count" name="count">particle count multiplier (per spawned particle)</real>
+<real3 key="movedir" name="movedir">when set, particles will not be emitted from the brush, but instead from the nearest surface in this direction; the length of this vector will determine, how much impact the surface's normal has on the particle velocity</real3>
+<sound key="noise" name="noise">sound to play when the particle is emitted</sound>
+<real key="atten" name="atten">distance attenuation of the sound (a value from 0.1 to 3.9), default is 0.5; set to -1 for no attenuation (global sound)</real>
+<real key="volume" name="volume">volume of the sound</real>
+<targetname key="targetname" name="targetname">name to target this (use relays)</targetname>
+<string key="bgmscript" name="bgmscript">emitter class from the BGM script</string>
+<real key="bgmscriptattack" name="bgmscriptattack">attack time of the effect strength (0 to 3.9)</real>
+<real key="bgmscriptdecay" name="bgmscriptdecay">decay time of the effect strength (0 to 3.9)</real>
+<real key="bgmscriptsustain" name="bgmscriptsustain">sustain level of the effect strength (0.1 to 1, set to -1 to disable sustain)</real>
+<real key="bgmscriptrelease" name="bgmscriptrelease">release time of the effect strength (0 to 3.9)</real>
+-------- SPAWNFLAGS --------
+<flag key="START_ON" name="START_ON" bit="0">when targeted, the particle emitter will start switched on</flag>
+<flag key="IMPULSE" name="IMPULSE" bit="1">only send the full amount of impulse particles when the entity is toggled on/off</flag>
+<flag key="VISCULLING" name="VISCULLING" bit="2">only emit particles if the emitter brush is in the current PVS</flag>
+-------- NOTES --------
+Specialised version of func_pointparticles
+</group>
+
 <point name="trigger_flipflop" color=".5 .5 .5" box="-8 -8 -8 8 8 8">
 &quot;Flip-flop&quot; trigger gate... let's only every second trigger event through
 -------- KEYS --------
 <target key="target" name="target">trigger all entities with this targetname when triggered</target>
 <targetname key="targetname" name="targetname">name that identifies this entity so it can be triggered</targetname>
+<real key="trigger_reverse" name="trigger_reverse">open &quot;func_door_rotating&quot; with &quot;BIDIR&quot; in reverse direction</real>
 -------- SPAWNFLAGS --------
 <flag key="START_ON" name="START_ON" bit="0">assume it is already turned on (so the first event is NOT passed through)</flag>
 </point>
@@ -1637,6 +1718,11 @@ A brush that when entered changes the player's view to a position between target
 <flag key="NOSIDESCROLL" name="NOSIDESCROLL" bit="0">allow regular aiming and movement while forcing the camera between the viewlocation points</flag>
 <flag key="FREEAIM" name="FREEAIM" bit="1">show a crosshair on screen and allow 2d aiming instead of only forward</flag>
 <flag key="FREEMOVE" name="FREEMOVE" bit="2">allow moving up and down as well in side-scrolling mode, useful for brawlers</flag>
+<flag key="CAM_TRACK" name="CAM_TRACK" bit="3">follow the player when they leave the trigger's start and end boundaries</flag>
+<flag key="CAM_NOANGLE" name="CAM_NOANGLE" bit="4">don't use the camera's angles for the view</flag>
+<flag key="CAM_SNAP_HARD" name="CAM_SNAP_HARD" bit="5">hard snap changes the angle as soon as it crosses over the nearest 90 degree mark</flag>
+<flag key="CAM_SNAP_UNLOCK" name="CAM_SNAP_UNLOCK" bit="6">unlock the camera's view to allow up and down angles (useful for top-down view camera)</flag>
+<flag key="CAM_SNAP_CLOSE" name="CAM_SNAP_CLOSE" bit="7">avoid snapping the view angles unless absolutely necessary</flag>
 </group>
 
 <point name="target_viewlocation_start" color="0 .5 0" box="-8 -8 -8 8 8 8">
@@ -1663,9 +1749,9 @@ Makes one entity follow another. Will not work with all entities.
 <flag key="LOCAL" name="LOCAL" bit="1">do not untransform the coordinates (that is, the map specifies local coordinates, not global ones). Mostly useful with ATTACH.</flag>
 </point>
 
-<point name="weapon_minstanex" color="1 0 .5" box="-30 -30 0 30 30 32">
+<point name="weapon_vaporizer" color="1 0 .5" box="-30 -30 0 30 30 48">
 Placing this entity on a map kills your cat, voids the warranty on your toaster, and makes your map an unenjoyable campers' paradise.
-the InstaGib Nex. Always kills with one shot.
+the InstaGib Vortex. 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>
@@ -1678,7 +1764,7 @@ the InstaGib Nex. Always kills with one shot.
 modeldisabled=&quot;models/weapons/g_minstanex.md3&quot;
 </point>
 
-<point name="weapon_porto" color="1 0 .5" box="-30 -30 0 30 30 32">
+<point name="weapon_porto" color="1 0 .5" box="-30 -30 0 30 30 48">
 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 --------
@@ -1698,7 +1784,7 @@ For the number fields, not specifying a value means not changing it. To clear ar
 You may want to target this by a race checkpoint, a teleporter, or a trigger_multiple with ALLENTS set (so it removes weapons thrown through the field to avoid getting a weapon through it).
 -------- KEYS --------
 <targetname key="targetname" name="targetname">used to trigger this</targetname>
-<string key="netname" name="netname">space separated list of items (either weapon short names (like in g_start_weapon_* cvars), or item short names &quot;unlimited_ammo&quot;, &quot;unlimited_weapon_ammo&quot;, &quot;unlimited_superweapons&quot;, &quot;invincible&quot;, &quot;strength&quot;, &quot;jetpack&quot; and &quot;fuel_regen&quot;)</string>
+<string key="netname" name="netname">space separated list of items (either weapon short names or item short names &quot;unlimited_ammo&quot;, &quot;unlimited_weapon_ammo&quot;, &quot;unlimited_superweapons&quot;, &quot;invincible&quot;, &quot;strength&quot;, &quot;jetpack&quot; and &quot;fuel_regen&quot;)</string>
 <string key="message" name="message">message to print</string>
 <real key="ammo_shells" name="ammo_shells">amount of shells</real>
 <real key="ammo_nails" name="ammo_nails">amount of bullets</real>
@@ -1715,6 +1801,20 @@ You may want to target this by a race checkpoint, a teleporter, or a trigger_mul
 <flag key="ANDNOT" name="ANDNOT" bit="2">the items listed will get removed from the player</flag>
 </point>
 
+<point name="target_kill" color="1 0 0" box="-8 -8 -8 8 8 8">
+Kills whoever activates this target
+-------- KEYS --------
+<targetname key="targetname" name="targetname">used to trigger this</targetname>
+<string key="message" name="message">message to print</string>
+</point>
+
+<point name="target_levelwarp" color="1 1 0.5" box="-8 -8 -8 8 8 8">
+CAMPAIGN ONLY!!!! Warp to another campaign level
+-------- KEYS --------
+<targetname key="targetname" name="targetname">used to trigger this</targetname>
+<real key="message" name="message">index of the campaign level to warp to (starting from 1), 0 for next level</real>
+</point>
+
 <point name="target_spawn" color="1 0 1" box="-8 -8 -8 8 8 8">
 Spawns or modifies an entity when triggered.
 The entity field list is a single string of the form:
@@ -1727,7 +1827,7 @@ $E.field
 $E.field+offset
 $E.field+offset+randomoffset
 where &quot;E&quot; can be self, activator, target (the entity being created/modified), killtarget, target2, target3, target4 and pusher.
-Example is a Mario-style question mark block which could throw a new weapon_nex when activated like this:
+Example is a Mario-style question mark block which could throw a new weapon_vortex when activated like this:
 {
 &quot;classname&quot; &quot;func_button&quot;
 &quot;angle&quot; &quot;-1&quot;
@@ -1741,7 +1841,7 @@ Example is a Mario-style question mark block which could throw a new weapon_nex
 &quot;classname&quot; &quot;target_spawn&quot;
 &quot;origin&quot; &quot;0 0 448&quot;
 &quot;targetname&quot; &quot;makenex&quot;
-&quot;message&quot; &quot;origin $self.origin owner $activator flags 65536 colormap $activator.colormap classname droppedweapon $ spawnfunc_weapon_nex think thrown_wep_think nextthink $time+0.5 velocity $activator.velocity velocity_z 512 movetype 3&quot;
+&quot;message&quot; &quot;origin $self.origin owner $activator flags 65536 colormap $activator.colormap classname droppedweapon $ spawnfunc_weapon_vortex think thrown_wep_think nextthink $time+0.5 velocity $activator.velocity velocity_z 512 movetype 3&quot;
 }
 -------- KEYS --------
 <targetname key="targetname" name="targetname">used to trigger this</targetname>
@@ -1756,8 +1856,8 @@ 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.
+<point name="misc_breakablemodel" color="1 0 0" box="-8 -8 -8 8 8 8">
+This is a model which can be damaged (the model is used for collisions in-game, not the bbox).
 Once all health is consumed it'll disappear and trigger the targeted entity/entities.
 When triggered, it resets to full health, and unbreaks.
 -------- KEYS --------
@@ -1792,8 +1892,8 @@ When triggered, it resets to full health, and unbreaks.
 -------- 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>
+<flag key="NOSPLASH" name="NOSPLASH" bit="8">if set, splash damage has no effect, only direct damage has (requires health to be set)</flag>
+</point>
 
 <group name="func_breakable" color="1 0 0">
 This is a brush model which can be damaged.
@@ -1842,11 +1942,12 @@ Relays the trigger event if a cvar is set to a specified value.
 <string key="netname" name="netname">The name of the cvar to check</string>
 <string key="message" name="message">The value of the cvar to check</string>
 <real key="count" name="count">The count of entities that must be found</real>
+<real key="trigger_reverse" name="trigger_reverse">open &quot;func_door_rotating&quot; with &quot;BIDIR&quot; in reverse direction</real>
 -------- SPAWNFLAGS --------
 <flag key="NEGATE" name="NEGATE" bit="0">trigger if the cvar does NOT match the value.</flag>
 </point>
 
-<point name="weapon_hlac" color="1 0 .5" box="-30 -30 0 30 30 32">
+<point name="weapon_hlac" color="1 0 .5" box="-30 -30 0 30 30 48">
 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>
@@ -1860,7 +1961,7 @@ the Heavy Laser Assault Cannon.
 modeldisabled=&quot;models/weapons/g_hlac.md3&quot;
 </point>
 
-<point name="weapon_minelayer" color="1 0 .5" box="-30 -30 0 30 30 32">
+<point name="weapon_minelayer" color="1 0 .5" box="-30 -30 0 30 30 48">
 the Mine Layer.
 -------- KEYS --------
 <real key="ammo_rockets" name="ammo_rockets">initial rockets of the weapon (if unset, g_pickup_rockets is used)</real>
@@ -1874,7 +1975,7 @@ the Mine Layer.
 modeldisabled=&quot;models/weapons/g_minelayer.md3&quot;
 </point>
 
-<point name="weapon_seeker" color="1 0 .5" box="-30 -30 0 30 30 32">
+<point name="weapon_seeker" color="1 0 .5" box="-30 -30 0 30 30 48">
 Placing this entity on a map kills your dog, voids the warranty on your car, and makes your map an unenjoyable noobs' paradise.
 the T.A.G. Seeker.
 -------- KEYS --------
@@ -1889,7 +1990,7 @@ the T.A.G. Seeker.
 modeldisabled=&quot;models/weapons/g_seeker.md3&quot;
 </point>
 
-<point name="weapon_hook" color="1 0 .5" box="-30 -30 0 30 30 32">
+<point name="weapon_hook" color="1 0 .5" box="-30 -30 0 30 30 48">
 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>
@@ -1906,12 +2007,26 @@ modeldisabled=&quot;models/weapons/g_hookgun.md3&quot;
 <group name="trigger_heal" color=".5 .5 .5">
 Any object touching this will be healed.
 -------- KEYS --------
-<real key="health" name="health">health to give per second (default 10)</real>
+<real key="health" name="health">health to give per heal (default 10)</real>
 <real key="max_health" name="max_health">max health this trigger will give (default 200)</real>
+<real key="delay" name="delay">delay between the heals in seconds (default 1)</real>
 <sound key="noise" name="noise">sound file to play (use misc/null.wav to make it silent), default = item_health_medium sound</sound>
+-------- SPAWNFLAGS --------
+<flag key="SOUND_ALWAYS" name="SOUND_ALWAYS" bit="2">play the sound even if the player is fully healed</flag>
 </group>
 
-<point name="weapon_rifle" color="1 0 .5" box="-30 -30 0 30 30 32">
+<point name="target_heal" color=".5 .5 .5" box="-8 -8 -8 8 8 8">
+Target version of trigger_heal. Heals the activator.
+-------- KEYS --------
+<real key="health" name="health">health to give per heal (default 10)</real>
+<real key="max_health" name="max_health">max health this target will give (default 200)</real>
+<real key="delay" name="delay">delay between the heals in seconds (default 1)</real>
+<sound key="noise" name="noise">sound file to play (use misc/null.wav to make it silent), default = item_health_medium sound</sound>
+-------- SPAWNFLAGS --------
+<flag key="SOUND_ALWAYS" name="SOUND_ALWAYS" bit="2">play the sound even if the player is fully healed</flag>
+</point>
+
+<point name="weapon_rifle" color="1 0 .5" box="-30 -30 0 30 30 48">
 the Sniper Rifle.
 -------- KEYS --------
 <real key="ammo_nails" name="ammo_nails">initial bullets of the weapon (if unset, g_pickup_nails is used)</real>
@@ -1979,6 +2094,7 @@ Works similar to trigger_relay, but only relays trigger events if the team of th
 <string key="message" name="message">print this message to the player who activated the trigger</string>
 <target key="killtarget" name="killtarget">remove all entities with this targetname when triggered</target>
 <integer key="team" name="team">5 for red, 14 for blue, 13 for yellow, 10 for pink team</integer>
+<real key="trigger_reverse" name="trigger_reverse">open &quot;func_door_rotating&quot; with &quot;BIDIR&quot; in reverse direction</real>
 -------- SPAWNFLAGS --------
 <flag key="NOTEAM_TOO" name="NOTEAM_TOO" bit="0">also relay events if the activator has no team set</flag>
 <flag key="INVERT" name="INVERT" bit="1">only relay the event if this entity has the matching team</flag>
@@ -2224,6 +2340,7 @@ Triggers targets when a given magic word has been said
 <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>
 <real3 key="movedir" name="movedir">if TUBA is set, this is a string of &quot;instrument+1 mintempo maxtempo&quot;. Components can be set to 0 to not match.</real3>
+<real key="trigger_reverse" name="trigger_reverse">open &quot;func_door_rotating&quot; with &quot;BIDIR&quot; in reverse direction</real>
 -------- 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>
@@ -2237,7 +2354,7 @@ Triggers targets when a given magic word has been said
 <flag key="TUBA_EXACTPITCH" name="TUBA_EXACTPITCH" bit="9">the note pitch must be accurate and cannot be transposed</flag>
 </point>
 
-<point name="weapon_fireball" color="1 0 .5" box="-30 -30 0 30 30 32">
+<point name="weapon_fireball" color="1 0 .5" box="-30 -30 0 30 30 48">
 the Fireball
 -------- KEYS --------
 <real key="ammo_rockets" name="ammo_rockets">initial rockets of the weapon (if unset, g_pickup_rockets is used)</real>
@@ -2311,13 +2428,11 @@ When targetname is not set, this is the default track of the map.
 <real key="fade_time" name="fade_time">fade-in time</real>
 <real key="fade_rate" name="fade_rate">fade-out time</real>
 <real key="lifetime" name="lifetime">when set, the music created by this target is switched back to the default one when this time expires</real>
--------- SPAWNFLAGS --------
-<flag key="START_OFF" name="START_OFF" bit="0">the trigger is off initially</flag>
 </point>
 
 <group name="trigger_music" color="1 0 0">
 Background music trigger (when this is used, the cdtrack line in mapinfo must not be used, and there MUST be a default target_music).
-When triggered, its effect is turned off until triggered again.
+Can be controlled with relay_activate, relay_deactivate and relay_activatetoggle.
 -------- KEYS --------
 <targetname key="targetname" name="targetname">The name other entities can use to target this entity</targetname>
 <sound key="noise" name="noise">the music to play (as full sound file name)</sound>
@@ -2332,27 +2447,37 @@ When triggered, its effect is turned off until triggered again.
 An area where gravity differs from the rest of the map.
 This acts as a modifier over the normal gravity (sv_gravity). e.g.: 0.5 is half the normal gravity, 2 is twice the normal gravity.
 -------- KEYS --------
-<real key="gravity" name="gravity">gravity offset in this area, defaults to 0 if not set</real>
+<real key="gravity" name="gravity">gravity multiplier in this area, defaults to 0 if not set</real>
 <sound key="noise" name="noise">sound to play when an entity enters the gravity zone, leave empty to disable</sound>
-<targetname key="targetname" name="targetname">you can use this to target the gravity zone with a trigger, which will toggle it when activated</targetname>
+<targetname key="targetname" name="targetname">you can use this to target the gravity zone with a relay to (de)activate the gravity multiplier</targetname>
 -------- SPAWNFLAGS --------
 <flag key="STICKY" name="STICKY" bit="0">entities keep their gravity after leaving the gravity zone</flag>
-<flag key="START_OFF" name="START_OFF" bit="1">when targeted, the gravity zone starts off and is enabled upon triggering</flag>
+<flag key="START_OFF" name="START_OFF" bit="1">when targeted, the gravity zone starts disabled</flag>
 </group>
 
 <point name="relay_activate" color="0 1 0" box="-8 -8 -8 8 8 8">
 Activates all targets
 List of currently supported target ents:
+trigger_conveyor
+trigger_gravity
 trigger_hurt
 trigger_heal
 trigger_impulse
+trigger_music
 trigger_push
+trigger_push_velocity
 trigger_teleport
+target_heal
+target_kill
+target_speed
 func_rotating
 func_bobbing
 func_button
+func_conveyor
 func_fourier
+func_pointparticles
 func_vectormamamam
+misc_laser
 -------- KEYS --------
 <target key="target" name="target">trigger all entities with this targetname when triggered</target>
 <targetname key="targetname" name="targetname">name that identifies this entity so it can be triggered</targetname>
@@ -2361,16 +2486,26 @@ func_vectormamamam
 <point name="relay_deactivate" color="1 0 0" box="-8 -8 -8 8 8 8">
 Deactivates all targets
 List of currently supported target ents:
+trigger_conveyor
+trigger_gravity
 trigger_hurt
 trigger_heal
 trigger_impulse
+trigger_music
 trigger_push
+trigger_push_velocity
 trigger_teleport
+target_heal
+target_kill
+target_speed
 func_rotating
 func_bobbing
 func_button
+func_conveyor
 func_fourier
+func_pointparticles
 func_vectormamamam
+misc_laser
 -------- KEYS --------
 <target key="target" name="target">trigger all entities with this targetname when triggered</target>
 <targetname key="targetname" name="targetname">name that identifies this entity so it can be triggered</targetname>
@@ -2379,16 +2514,26 @@ func_vectormamamam
 <point name="relay_activatetoggle" color="0 1 1" box="-8 -8 -8 8 8 8">
 Toggles all targets de/active
 List of currently supported target ents:
+trigger_conveyor
+trigger_gravity
 trigger_hurt
 trigger_heal
 trigger_impulse
+trigger_music
 trigger_push
+trigger_push_velocity
 trigger_teleport
+target_heal
+target_kill
+target_speed
 func_rotating
 func_bobbing
 func_button
+func_conveyor
 func_fourier
+func_pointparticles
 func_vectormamamam
+misc_laser
 -------- KEYS --------
 <target key="target" name="target">trigger all entities with this targetname when triggered</target>
 <targetname key="targetname" name="targetname">name that identifies this entity so it can be triggered</targetname>
@@ -2401,7 +2546,11 @@ When no chmap key is set, the entity just ends the match when triggered. The pla
 <targetname key="targetname" name="targetname">The name other entities can use to target this entity</targetname>
 <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>
+<real key="count" name="count">fraction of players (excludes bots) that need to trigger this entity to change the level when MULTIPLAYER is set (default: 0.7)</real>
+-------- SPAWNFLAGS --------
+<flag key="MULTIPLAYER" name="MULTIPLAYER" bit="1">makes this entity only change level when a fraction of the players triggered it</flag>
 </point>
+
 <point name="turret_machinegun" color="1 0 0" box="-32 -32 0 32 32 50">
 Fast firing moderate damage bullet (hitscan) turret.
 -------- KEYS --------
@@ -2454,7 +2603,7 @@ 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.
+Only kills missiles, rockets, mortar &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>
@@ -2653,4 +2802,52 @@ Secondary matches primary, but the vehicle can hold 2 extra players who act as g
 -------- KEYS --------
 <integer key="team" name="team">5=red, 14=blue, 13=yellow, 10=pink</integer>
 </point>
+
+<group name="trigger_push_velocity" color=".5 .5 .5" box="-8 -8 -8 8 8 8">
+This is used to create jump pads and launch ramps. It MUST point to a target_position or info_notnull entity to work.  This is similar to a jumppad, however, it may be configured to add to the player's velocity, as opposed to just setting it.
+-------- KEYS --------
+<target key="target" name="target">this points to the target_position to which the player will jump.</target>
+<real key="speed" name="speed">XY speed for player-directional velocity pads - either sets or adds to the player's horizontal velocity.</real>
+<real key="count" name="count">Z speed for player-directional velocity pads - either sets or adds to the player's vertical velocity.</real>
+<sound key="noise" name="noise">sound to play when jump pad is used; default is misc/jumppad.wav; you can set it to &quot;&quot; to make the pad silent</sound>
+<integer key="team" name="team">team that owns this jump pad (5 = red, 14 = blue, etc) (when set, only this team can jump)</integer>
+<targetname key="targetname" name="targetname">when targeted by a func_button, pressing the button will reassign the jump pad to the team of the activator.</targetname>
+-------- SPAWNFLAGS --------
+<flag key="PLAYERDIR_XY" name="Playerdir_xy" bit="0">if set, trigger will apply the horizontal speed in the player's horizontal direction of travel, otherwise it uses the target XY component.</flag>
+<flag key="ADD_XY" name="Add_xy" bit="1">if set, trigger will add to the player's horizontal velocity, otherwise it sets the player's horizontal velocity.</flag>
+<flag key="PLAYERDIR_Z" name="Playerdir_z" bit="2">if set, trigger will apply the vertical speed in the player's vertical direction of travel, otherwise it uses the target Z component.</flag>
+<flag key="ADD_Z" name="Add_z" bit="3">if set, trigger will add to the player's vertical velocity, otherwise it sets the player's vertical velocity.</flag>
+<flag key="BIDIRECTIONAL_XY" name="Bidirectional_xy" bit="4">if set, non-playerdir velocity pads will function in 2 directions based on the target specified. The chosen direction is based on the current direction of travel. Applies to horizontal direction.</flag>
+<flag key="BIDIRECTIONAL_Z" name="Bidirectional_z" bit="5">if set, non-playerdir velocity pads will function in 2 directions based on the target specified. The chosen direction is based on the current direction of travel. Applies to vertical direction.</flag>
+<flag key="CLAMP_NEGATIVE_ADDS" name="Clamp_negative_adds" bit="6">if set, then a velocity pad that adds negative velocity will be clamped to 0, if the resultant velocity would bounce the player in the opposite direction.</flag>
+<flag key="STATIC" name="STATIC" bit="12">push force stays the same no matter where the trigger is hit, the center of the trigger is used as a starting point for trajectory calculation instead of the player position, matches Quake 3 behavior</flag>
+-------- NOTES --------
+To make a jump pad or launch ramp, place the target_position/info_notnull entity at the highest point of the jump and target it with this entity.
+</group>
+
+<point name="target_speed" color="1 1 0" box="-8 -8 -8 8 8 8">
+Sets the speed of the player.
+If ADD is speficied, negative values will reduce the speed.
+-------- KEYS --------
+<targetname key="targetname" name="targetname">Activating trigger points to this.</targetname>
+<real key="speed" name="speed">Speed value to set (default: 100). A value of 0 will be interpreted as such and not as the default value.</real>
+-------- SPAWNFLAGS --------
+<flag key="PERCENTAGE" name="Percentage" bit="0">value is treated as percentage of current speed</flag>
+<flag key="ADD" name="Add" bit="1">adds the speed instead of setting it</flag>
+<flag key="+X" name="+x" bit="2">takes positive X-direction into account</flag>
+<flag key="-X" name="-x" bit="3">takes negative X-direction into account</flag>
+<flag key="+Y" name="+y" bit="4">takes positive Y-direction into account</flag>
+<flag key="-Y" name="-y" bit="5">takes negative Y-direction into account</flag>
+<flag key="+Z" name="+z" bit="6">takes positive Z-direction (up) into account</flag>
+<flag key="-Z" name="-z" bit="7">takes negative Z-direction (down) into account</flag>
+<flag key="LAUNCHER" name="Launcher" bit="8">will accelerate the player into the given direction (spawnflags)</flag>
+-------- NOTES --------
+If LAUNCHER isn't specified the player will only be accelerated if he is moving
+while the target_speed is triggered, as the player needs a moving direction and this is
+only given when he moves. LAUNCHER will split the given speed value to the given
+directions. Note that only one of the spawnflags for each coordinate must be set. For
+example if +X and -X is active the x-direction will be ignored. The same is the case
+if whether +X nor -X is active. So if you want to accelerate the player up with 900u
+you have to set the speed value to 900 and activate the spawnflags +Z and LAUNCHER.
+</point>
 </classes>