]> de.git.xonotic.org Git - xonotic/xonotic-maps.pk3dir.git/blobdiff - scripts/entities.def
Merge branch 'master' of git://de.git.xonotic.org/xonotic/xonotic-maps.pk3dir
[xonotic/xonotic-maps.pk3dir.git] / scripts / entities.def
index ecd86142633cbb175c263150f3bf949c8b6a903c..444a13dd59e9505e47d39c6b45b4c0a7d3c26c89 100644 (file)
@@ -129,6 +129,26 @@ health: (default 0) if set to any non-zero value, the button must take damage (a
 NOSPLASH: if set, splash damage cannot activate the door, only direct damage can (requires health to be set)
 */
 
+/*QUAKED func_conveyor (0 .5 .8) ? START_ON
+A conveyor. Solid brush version.
+-------- KEYS --------
+targetname: if set, it can be turned on/off
+angle: determines the opening direction
+speed: movement speed (200 default)
+-------- SPAWNFLAGS --------
+START_ON: the conveyor is turned on if not triggered
+*/
+
+/*QUAKED trigger_conveyor (0 .5 .8) ? START_ON
+A conveyor. Nonsolid trigger version.
+-------- KEYS --------
+targetname: if set, it can be turned on/off
+angle: determines the opening direction
+speed: movement speed (200 default)
+-------- SPAWNFLAGS --------
+START_ON: the conveyor is turned on if not triggered
+*/
+
 /*QUAKED func_door (0 .5 .8) ? START_OPEN - DOOR_DONT_LINK GOLD_KEY SILVER_KEY TOGGLE - - NOSPLASH
 Normal sliding door entity. By default, the door will activate when player walks close to it or when damage is inflicted to it.
 If DOOR_DONT_LINK is not set, the door will be linked with all doors it touches. Note however that for linked doors to work properly, it is necessary that ALL linked doors have SOME volume of common area (that is, there must be a point that is part of ALL doors).
@@ -259,7 +279,7 @@ count: adjusts density, this many particles fall every second for a 1024x1024 ar
 Brush entity that spins in place on one axis (default Z). Use an origin brush to specify the rotation axis.
 To rotate around another axis, make a func_wall with an explicit avelocity given.
 -------- KEYS --------
-speed: speed to rotate (in degrees per second)
+speed: speed to rotate (in degrees per second, default: 100)
 noise: path/name of looping .wav file to play.
 dmg: Do this much dmg every .dmgtime interval when blocked
 dmgtime: See above. (0.25s default)
@@ -336,7 +356,9 @@ restriction: when 1, only bots can spawn here; when 2, only humans can spawn her
 Normal player spawning location in game types without team spawns. Should touch the floor, but not the walls, and should point where the player should look when he spawns there.
 -------- KEYS --------
 cnt: weight of spawn point for random selection. Set to a lower value if you have many spawn points close together. Default value is 1.
-target: trigger all entities with this targetname when someone spawns
+target2: trigger all entities with this targetname when someone spawns
+target3: trigger all entities with this targetname when someone spawns
+target4: trigger all entities with this targetname when someone spawns
 targetname: when targeted by a func_button, pressing the button will assign the spawn point to the team of the activator as an additional spawn point, or reassign it if it was already assigned. Also used to assign spawn points to Onslaught control points.
 restriction: when 1, only bots can spawn here; when 2, only humans can spawn here (be careful with these, or the game will crash because someone cannot spawn)
 */
@@ -357,7 +379,9 @@ restriction: when 1, only bots can spawn here; when 2, only humans can spawn her
 Red team's player spawning location in e.g. CTF and Onslaught. Should touch the floor, but not the walls, and should point where the player should look when he spawns there.
 -------- KEYS --------
 cnt: weight of spawn point for random selection. Set to a lower value if you have many spawn points close together. Default value is 1.
-target: trigger all entities with this targetname when someone spawns
+target2: trigger all entities with this targetname when someone spawns
+target3: trigger all entities with this targetname when someone spawns
+target4: trigger all entities with this targetname when someone spawns
 targetname: when targeted by a func_button, pressing the button will reassign the spawn point to the team of the activator. If a team has no more spawn point left, it immediately loses.
 restriction: when 1, only bots can spawn here; when 2, only humans can spawn here (be careful with these, or the game will crash because someone cannot spawn)
 */
@@ -366,7 +390,9 @@ restriction: when 1, only bots can spawn here; when 2, only humans can spawn her
 Blue team's player spawning location in e.g. CTF and Onslaught. Should touch the floor, but not the walls, and should point where the player should look when he spawns there.
 -------- KEYS --------
 cnt: weight of spawn point for random selection. Set to a lower value if you have many spawn points close together. Default value is 1.
-target: trigger all entities with this targetname when someone spawns
+target2: trigger all entities with this targetname when someone spawns
+target3: trigger all entities with this targetname when someone spawns
+target4: trigger all entities with this targetname when someone spawns
 targetname: when targeted by a func_button, pressing the button will reassign the spawn point to the team of the activator. If a team has no more spawn point left, it immediately loses.
 restriction: when 1, only bots can spawn here; when 2, only humans can spawn here (be careful with these, or the game will crash because someone cannot spawn)
 */
@@ -375,7 +401,9 @@ restriction: when 1, only bots can spawn here; when 2, only humans can spawn her
 Yellow team's player spawning location, but there is no game mode to use this yet. Anyway, should touch the floor, but not the walls, and should point where the player should look when he spawns there.
 -------- KEYS --------
 cnt: weight of spawn point for random selection. Set to a lower value if you have many spawn points close together. Default value is 1.
-target: trigger all entities with this targetname when someone spawns
+target2: trigger all entities with this targetname when someone spawns
+target3: trigger all entities with this targetname when someone spawns
+target4: trigger all entities with this targetname when someone spawns
 targetname: when targeted by a func_button, pressing the button will reassign the spawn point to the team of the activator. If a team has no more spawn point left, it immediately loses.
 restriction: when 1, only bots can spawn here; when 2, only humans can spawn here (be careful with these, or the game will crash because someone cannot spawn)
 */
@@ -384,7 +412,9 @@ restriction: when 1, only bots can spawn here; when 2, only humans can spawn her
 Pink team's player spawning location, but there is no game mode to use this yet. Anyway, should touch the floor, but not the walls, and should point where the player should look when he spawns there.
 -------- KEYS --------
 cnt: weight of spawn point for random selection. Set to a lower value if you have many spawn points close together. Default value is 1.
-target: trigger all entities with this targetname when someone spawns
+target2: trigger all entities with this targetname when someone spawns
+target3: trigger all entities with this targetname when someone spawns
+target4: trigger all entities with this targetname when someone spawns
 targetname: when targeted by a func_button, pressing the button will reassign the spawn point to the team of the activator. If a team has no more spawn point left, it immediately loses.
 restriction: when 1, only bots can spawn here; when 2, only humans can spawn here (be careful with these, or the game will crash because someone cannot spawn)
 */
@@ -835,8 +865,8 @@ _castshadows: Allows per-entity control over shadow casting. Defaults to 0 on en
 _receiveshadows: Allows per-entity control over shadow reception. Defaults to 1 on everything (world shadows). 0 = receives NO shadows. > 1 = receive shadows only from corresponding keyed entities (see above) and world. < 1 = receive shadows ONLY from corresponding keyed entities.
 _clone: copies brushes from entity with identical _clonename. Still needs a single brush that will get replaced.
 _clonename: template name so one can clone from it
-min: override automatically found minimum coordinate bounds
-max: override automatically found maximum coordinate bounds
+mins: override automatically found minimum coordinate bounds
+maxs: override automatically found maximum coordinate bounds
 targetname: if targeted by a misc_model, its brushes get inserted into this
 _celshader: Sets the cel shader used for this geometry. Note: omit the "textures/" prefix.
 */
@@ -867,8 +897,8 @@ _castshadows: Allows per-entity control over shadow casting. Defaults to 0 on en
 _receiveshadows: Allows per-entity control over shadow reception. Defaults to 1 on everything (world shadows). 0 = receives NO shadows. > 1 = receive shadows only from corresponding keyed entities (see above) and world. < 1 = receive shadows ONLY from corresponding keyed entities.
 _clone: copies brushes from entity with identical _clonename. Still needs a single brush that will get replaced.
 _clonename: template name so one can clone from it
-min: override automatically found minimum coordinate bounds
-max: override automatically found maximum coordinate bounds
+mins: override automatically found minimum coordinate bounds
+maxs: override automatically found maximum coordinate bounds
 targetname: if targeted by a misc_model, its brushes get inserted into this
 _celshader: Sets the cel shader used for this geometry. Note: omit the "textures/" prefix.
 */
@@ -920,8 +950,8 @@ _castshadows: Allows per-entity control over shadow casting. Defaults to 0 on en
 _receiveshadows: Allows per-entity control over shadow reception. Defaults to 1 on everything (world shadows). 0 = receives NO shadows. > 1 = receive shadows only from corresponding keyed entities (see above) and world. < 1 = receive shadows ONLY from corresponding keyed entities.
 _clone: copies brushes from entity with identical _clonename. Still needs a single brush that will get replaced.
 _clonename: template name so one can clone from it
-min: override automatically found minimum coordinate bounds
-max: override automatically found maximum coordinate bounds
+mins: override automatically found minimum coordinate bounds
+maxs: override automatically found maximum coordinate bounds
 targetname: if targeted by a misc_model, its brushes get inserted into this
 _celshader: Sets the cel shader used for this geometry. Note: omit the "textures/" prefix.
 */
@@ -951,8 +981,8 @@ _castshadows: Allows per-entity control over shadow casting. Defaults to 0 on en
 _receiveshadows: Allows per-entity control over shadow reception. Defaults to 1 on everything (world shadows). 0 = receives NO shadows. > 1 = receive shadows only from corresponding keyed entities (see above) and world. < 1 = receive shadows ONLY from corresponding keyed entities.
 _clone: copies brushes from entity with identical _clonename. Still needs a single brush that will get replaced.
 _clonename: template name so one can clone from it
-min: override automatically found minimum coordinate bounds
-max: override automatically found maximum coordinate bounds
+mins: override automatically found minimum coordinate bounds
+maxs: override automatically found maximum coordinate bounds
 targetname: if targeted by a misc_model, its brushes get inserted into this
 _celshader: Sets the cel shader used for this geometry. Note: omit the "textures/" prefix.
 */
@@ -1225,6 +1255,20 @@ message: print this message to the player who activated the trigger
 killtarget: remove all entities with this targetname when triggered
 */
 
+/*QUAKED trigger_secret (.5 .5 .5) ?
+Variable sized secret trigger. Can be targeted at one or more entities.
+Basically, it's a trigger_once that additionally updates the number of secrets found.
+-------- KEYS --------
+sounds: 1 to play misc/secret.wav, 2 to play misc/talk.wav, 3 to play misc/trigger1.wav (default: 1)
+noise: path to sound file, if you want to play something else
+target: trigger all entities with this targetname when triggered
+message: print this message to the player who activated the trigger instead of the standard 'You found a secret!'
+killtarget: remove all entities with this targetname when triggered
+-------- NOTES --------
+You should create a common/trigger textured brush covering the entrance to a secret room/area.
+Trigger secret can only be trigger by a player's touch and can not be a target itself.
+*/
+
 /*QUAKED trigger_swamp (.5 .5 .5) ? 
 Players getting into the swamp will get slowed down and damaged
 -------- KEYS --------
@@ -1965,7 +2009,7 @@ FLOATING: the item will float in air, instead of aligning to the floor by fallin
 modeldisabled="models/items/g_jetpack.md3"
 */
 
-/*QUAKED trigger_magicear (0 0 1) (-8 -8 -8) (8 8 8) IGNORE_SAY IGNORE_TEAMSAY IGNORE_TELL IGNORE_INVALIDTELL REPLACE_WHOLE_MESSAGE REPLACE_OUTSIDE CONTINUE NODECOLORIZE
+/*QUAKED trigger_magicear (0 0 1) (-8 -8 -8) (8 8 8) IGNORE_SAY IGNORE_TEAMSAY IGNORE_TELL IGNORE_INVALIDTELL REPLACE_WHOLE_MESSAGE REPLACE_OUTSIDE CONTINUE NODECOLORIZE TUBA TUBA_EXACTPITCH
 Triggers targets when a given magic word has been said
 -------- KEYS --------
 message: message to wait for (can start or end with * for wildcards)
@@ -1976,6 +2020,7 @@ target2: all entities with a matching targetname will be triggered.
 target3: all entities with a matching targetname will be triggered.
 target4: all entities with a matching targetname will be triggered.
 target_random: instead of triggering ALL matched entities, trigger ONE of them by random
+movedir: if TUBA is set, this is a string of "instrument+1 mintempo maxtempo". Components can be set to 0 to not match.
 -------- SPAWNFLAGS --------
 IGNORE_SAY: do not respond to "say" messages
 IGNORE_TEAMSAY: do not respond to "say_team" messages
@@ -1985,6 +2030,8 @@ REPLACE_WHOLE_MESSAGE: replace the whole message by netname, or drop the message
 REPLACE_OUTSIDE: also perform the replacement when outside the radius (to hide the "secret word")
 CONTINUE: even if this magic ear matched, continue looking for further matches/replacements (useful for swear word filters)
 NODECOLORIZE: do not decolorize the input string before matching
+TUBA: the message is a space separated note sequence that must be played on the @!#%'n Tuba or the @!#%'n Accordeon. For example, 4.25 means a quarter note at pitch 4, where 0 is base pitch (red team primary fire with no motion). For secret triggers to open doors, use 4.25 0.25 4.25 2.25. The first one to encode a rickroll in this gets slapped with the shotgun.
+TUBA_EXACTPITCH: the note pitch must be accurate and cannot be transposed
 */
 
 /*QUAKED weapon_fireball (1 0 .5) (-30 -30 0) (30 30 32) FLOATING