]> de.git.xonotic.org Git - xonotic/xonotic-maps.pk3dir.git/blobdiff - scripts/entities.ent
Improve trigger_impulse description
[xonotic/xonotic-maps.pk3dir.git] / scripts / entities.ent
index 4019392a3f6cd5465d694ff0ac3b4f77bfd0b106..3d1afe381e482fa8c671b3d0a2f8deb0d5dd627f 100644 (file)
@@ -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">
@@ -694,32 +697,6 @@ 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------------
-<color key="colormod" name="colormod">color of the key (default: '.9 .9 .9').</color>
-<string key="message" name="message">message to print when player picks up this key.</string>
-<model key="model" name="model">custom model to use.</model>
-<sound key="noise" name="noise">custom sound to play when player picks up the key.</sound>
--------- SPAWNFLAGS --------
-<flag key="FLOATING" name="FLOATING" bit="0">the item will float in air, instead of aligning to the floor by falling</flag>
----------NOTES----------
-Don't use this entity on new maps! Use item_key instead.
-</point>
-
-<point name="item_key2" color="0 .5 .8" box="-16 -16 -24 16 16 32">
-GOLD key.
------------KEYS------------
-<color key="colormod" name="colormod">color of the key (default: '1 .9 0').</color>
-<string key="message" name="message">message to print when player picks up this key.</string>
-<model key="model" name="model">custom model to use.</model>
-<sound key="noise" name="noise">custom sound to play when player picks up the key.</sound>
--------- SPAWNFLAGS --------
-<flag key="FLOATING" name="FLOATING" bit="0">the item will float in air, instead of aligning to the floor by falling</flag>
----------NOTES----------
-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">
 Instagib ammo.
 Always contains 5 (g_instagib_ammo_drop) shots.
@@ -821,14 +798,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 +815,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 +1075,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 +1141,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>
 
@@ -1177,7 +1155,7 @@ Monster spawnpoint for Invasion
 
 <group name="trigger_counter" color=".5 .5 .5">
 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,6 +1165,7 @@ 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>
+<flag key="FIRE_AT_COUNT" name="FIRE_AT_COUNT" bit="2">fire at every count (behaves like trigger_multiple with limited shots)</flag>
 </group>
 
 <point name="trigger_delay" color=".5 .5 .5" box="-8 -8 -8 8 8 8">
@@ -1223,6 +1202,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">
@@ -1555,7 +1536,7 @@ 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>
@@ -1566,7 +1547,7 @@ A brush that emits particles.
 <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 +1555,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,6 +1567,30 @@ 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, 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>
+<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 --------
@@ -1715,6 +1720,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:
@@ -1906,11 +1925,25 @@ 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="target_heal" color=".5 .5 .5">
+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 32">
 the Sniper Rifle.
 -------- KEYS --------
@@ -2332,29 +2365,34 @@ 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_push
 trigger_teleport
+target_heal
+target_kill
 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>
@@ -2364,17 +2402,22 @@ func_vectormamamam
 Deactivates all targets
 List of currently supported target ents:
 trigger_conveyor
+trigger_gravity
 trigger_hurt
 trigger_heal
 trigger_impulse
 trigger_push
 trigger_teleport
+target_heal
+target_kill
 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>
@@ -2384,17 +2427,22 @@ func_vectormamamam
 Toggles all targets de/active
 List of currently supported target ents:
 trigger_conveyor
+trigger_gravity
 trigger_hurt
 trigger_heal
 trigger_impulse
 trigger_push
 trigger_teleport
+target_heal
+target_kill
 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>
@@ -2407,7 +2455,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 --------