Started documenting map entities via QUAKED style comments.
Use the mk_mapdef.sh script to generate a radiant compatible entities.def file.
This commit is contained in:
parent
98e7bdef03
commit
f4ced97ad0
65 changed files with 839 additions and 118 deletions
|
@ -14,12 +14,11 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*
|
||||
===============================================================================
|
||||
/*QUAKED env_cubemap (1 0 0) (-8 -8 -8) (8 8 8)
|
||||
"scale" Texture dimension at which to render the cubemap. Default is '32'.
|
||||
|
||||
Cubemap Entity Development Functions
|
||||
|
||||
===============================================================================
|
||||
Specifies a location for which a cubemap will be generated when the
|
||||
buildcubemaps console command is executed.
|
||||
*/
|
||||
|
||||
int g_iCubeProcess;
|
||||
|
|
|
@ -14,6 +14,16 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED env_glow (1 0 0) (-8 -8 -8) (8 8 8)
|
||||
"shader" Material to use for the glare/glow effect.
|
||||
"model" Sprite model to use for the glare/glow (idTech 2 BSPs only)
|
||||
"scale" Scale multiplier.
|
||||
"rendercolor" Material color override in RGB8.
|
||||
"renderamt" Material alpha override in A8.
|
||||
|
||||
Client-side glare/glow orb effect like the flares in 1997's Unreal.
|
||||
*/
|
||||
|
||||
class env_glow:CBaseEntity
|
||||
{
|
||||
vector m_vecColor;
|
||||
|
|
|
@ -14,6 +14,49 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED env_sound (1 0 0) (-8 -8 -8) (8 8 8)
|
||||
"radius" Radius in units.
|
||||
"roomtype" Roomtype value:
|
||||
0 = DEFAULT
|
||||
1 = PADDEDCELL
|
||||
2 = ROOM
|
||||
3 = BATHROOM
|
||||
4 = LIVINGROOM
|
||||
5 = STONEROOM
|
||||
6 = AUDITORIUM
|
||||
7 = CONCERTHALL
|
||||
8 = CAVE
|
||||
9 = ARENA
|
||||
10 = HANGAR
|
||||
11 = CARPETEDHALLWAY
|
||||
12 = HALLWAY
|
||||
13 = STONECORRIDOR
|
||||
14 = ALLEY
|
||||
15 = FOREST
|
||||
16 = CITY
|
||||
17 = MOUNTAINS
|
||||
18 = QUARRY
|
||||
19 = PLAIN
|
||||
20 = PARKINGLOT
|
||||
21 = SEWERPIPE
|
||||
22 = UNDERWATER
|
||||
23 = DRUGGED
|
||||
24 = DIZZY
|
||||
25 = PSYCHOTIC
|
||||
26 = CITYSTREETS
|
||||
27 = SUBWAY
|
||||
28 = MUSEUM
|
||||
29 = LIBRARY
|
||||
30 = UNDERPASS
|
||||
31 = ABANDONED
|
||||
32 = DUSTYROOM
|
||||
33 = CHAPEL
|
||||
34 = SMALLWATERROOM
|
||||
|
||||
Client-side environmental reverb modifier.
|
||||
This works only with the OpenAL sound backend.
|
||||
*/
|
||||
|
||||
int g_iDSP;
|
||||
float g_flDSPCheck;
|
||||
|
||||
|
|
|
@ -14,8 +14,16 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
var int autocvar_dev_skyscale = 0;
|
||||
/*QUAKED sky_camera (1 0 0) (-8 -8 -8) (8 8 8)
|
||||
"scale" Scale modifier. Default is '16'.
|
||||
|
||||
Defines the position of a skyroom camera.
|
||||
You want to put this into a dedicated room that contains a 3D skybox.
|
||||
The scale modifier is more like a divider. You want to keep these
|
||||
divisable by 2 to avoid any precision funkyness.
|
||||
*/
|
||||
|
||||
var int autocvar_dev_skyscale = 0;
|
||||
var vector g_skypos;
|
||||
var int g_skyscale;
|
||||
|
||||
|
|
|
@ -14,6 +14,20 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED ambient_generic (1 0 0) (-8 -8 -8) (8 8 8) AS_SRADIUS AS_MRADIUS AS_LRADIUS AS_SILENT AS_NOTTOGGLED
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
"message" Sound file to play
|
||||
"volume" Playback volume from 0.0 to 1.0
|
||||
"pitch" Playback pitch from 0.0 to 2.0
|
||||
|
||||
Plays a sound sample of whatever format the engine is configured to support.
|
||||
If you want it to loop, you have to give the file itself a loop flag.
|
||||
|
||||
TODO: Add a forced loop flag for non .wav samples?
|
||||
*/
|
||||
|
||||
enumflags {
|
||||
AS_ARADIUS,
|
||||
AS_SRADIUS,
|
||||
|
|
|
@ -14,23 +14,16 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
// TODO: Complete this once damage is done
|
||||
/*QUAKED cycler (1 0 0) (-8 -8 -8) (8 8 8)
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
"angles" Sets the pitch, yaw and roll angles of the model.
|
||||
"sequence" Sets the animation the model should start in.
|
||||
"model" Model file that will be displayed by the entity.
|
||||
|
||||
/*
|
||||
* cycler - Point Entity
|
||||
The cycler entity is a model viewer of sorts. It places a model within the map which, when attacked, will cycle its animation.
|
||||
Attributes
|
||||
Name (targetname) - Name is a general attribute used to identify entities.
|
||||
Pitch Yaw Roll (Y Z X) (angles) - Sets the pitch, yaw and roll angles of the model.
|
||||
Animation Sequence (editor) (sequence) - Sets the animation the model should start in. Setting this to anything other than 0 seems to place the cycler into its triggered mode (see notes).
|
||||
Model (model) - This defines which model file will be displayed by the entity. This accepts an input of the form "path/filename.mdl" (starting from the root folder). (Example: "models/scientist.mdl").
|
||||
Render FX (renderfx) - Gives the model certain visual effects depending on Render Mode.
|
||||
Render Mode (rendermode) - Allows special rendering modes to be applied to the given entity.
|
||||
FX Amount (1 - 255) (renderamt) - In all but "Normal" Render Mode, alters how transparent the model is. Scales from 0 (invisible) to 255 (solid, normal).
|
||||
FX Color (R G B) (rendercolour) - Seemingly unused.
|
||||
Notes
|
||||
Triggering or pressing use on the cycler will freeze the model in its current animation. In this state, shooting the cycler will have it step through frames of the animation it was in. Triggering it or using it again will return it to its normal function.
|
||||
Given the way this entity behaves, there is little practical use for this entity beyond viewing animations (for which there are programs that are far more convenient).
|
||||
Upon damage, the cycler will switch between all available animation
|
||||
sequences. This is really for test-maps and showroom entities.
|
||||
*/
|
||||
|
||||
class cycler:CBaseTrigger
|
||||
|
|
|
@ -14,7 +14,15 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* https://twhl.info/wiki/page/cycler_sprite_(Half-Life) */
|
||||
/*QUAKED cycler_sprite (1 0 0) (-8 -8 -8) (8 8 8)
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
"angles" Sets the pitch, yaw and roll angles of the model.
|
||||
"model" Model file that will be displayed by the entity.
|
||||
|
||||
Decorative, does nothing yet.
|
||||
*/
|
||||
|
||||
class cycler_sprite:CBaseTrigger
|
||||
{
|
||||
|
|
|
@ -14,6 +14,12 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED env_beam (1 0 0) (-8 -8 -8) (8 8 8)
|
||||
"targetname" Name
|
||||
|
||||
This entity is incomplete. Purely stub.
|
||||
*/
|
||||
|
||||
class env_beam {
|
||||
void() env_beam;
|
||||
};
|
||||
|
|
|
@ -14,7 +14,18 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
// Dependency from item_food.cpp
|
||||
/*QUAKED env_beverage (1 0 0) (-8 -8 -8) (8 8 8)
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
"health" Amount of soda-cans that can be dispensed at maximum
|
||||
"angles" Sets the pitch, yaw and roll angles of the soda
|
||||
|
||||
Upon triggered, the entity will spawn item_food in its place in
|
||||
the shape of a soda can.
|
||||
*/
|
||||
|
||||
/* dependency from item_food.cpp */
|
||||
void item_sodacan( void );
|
||||
|
||||
// TODO: Implement support for skins
|
||||
|
|
|
@ -14,6 +14,15 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED env_explosion (1 0 0) (-8 -8 -8) (8 8 8) ENVEXPLO_NODAMAGE ENVEXPLO_REPEATABLE ENVEXPLO_NOBALL ENVEXPLO_NOSMOKE ENVEXPLO_NODECAL ENVEXPLO_NOSPARKS
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
"iMagnitude" Magnitude of the explosion.
|
||||
|
||||
When triggered, creates an explosion at its location.
|
||||
*/
|
||||
|
||||
enumflags {
|
||||
ENVEXPLO_NODAMAGE,
|
||||
ENVEXPLO_REPEATABLE,
|
||||
|
|
|
@ -14,6 +14,19 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED env_fade (1 0 0) (-8 -8 -8) (8 8 8) EVF_FADEDROM EVF_MODULATE EVF_ONLYUSER
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
"rendercolor" RGB8 Color of the fade effect.
|
||||
"renderamt" A8 alpha value we'll hit at max.
|
||||
"duration" Duration of the effect in seconds.
|
||||
"holdtime" How long we'll hold on the max color/alpha.
|
||||
|
||||
When triggered, creates a colored overlay that blinds all players, or just
|
||||
the one who triggered it if EVF_ONLYUSER is set.
|
||||
*/
|
||||
|
||||
enumflags
|
||||
{
|
||||
EVF_FADEDROM,
|
||||
|
|
|
@ -14,6 +14,19 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED env_global (1 0 0) (-8 -8 -8) (8 8 8) GLOBAL_SETSPAWN
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
"globalstate" The variable name in which we hold information in.
|
||||
"initialstate" Initial mode: 0 = off, 1 = on, 2 = dead
|
||||
"triggermode" Mode when triggered: 0 = off, 1 = on, 2 = dead
|
||||
|
||||
Sets/kills a global variable that carries across levels.
|
||||
Without GLOBAL_SETSPAWN set, it'll only modify existing
|
||||
values when triggered.
|
||||
*/
|
||||
|
||||
#define GLOBAL_SETSPAWN 1
|
||||
|
||||
enum
|
||||
|
|
|
@ -14,6 +14,19 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED env_message (1 0 0) (-8 -8 -8) (8 8 8) EMF_ONCE EMF_ALLPLAYERS
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
"message" Message to send to players
|
||||
"messagesound" PCM sample to play when triggered
|
||||
"messagevolume" PCM sample volume
|
||||
"messageattenuation" PCM sample attenuation
|
||||
|
||||
Sends a message to either one or all players, depending on if EMF_ALLPLAYERS
|
||||
is set. An optional sound effect can be supplied as well.
|
||||
*/
|
||||
|
||||
enumflags
|
||||
{
|
||||
EMF_ONCE,
|
||||
|
|
|
@ -14,6 +14,17 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED env_render (1 0 0) (-8 -8 -8) (8 8 8) SF_NORENDERFX SF_NORENDERAMT SF_NORENDERMODE SF_NORENDERCOLOR
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
"rendermode" Render-Mode the target changes to
|
||||
"renderamt" Render-Alpha the target changes to
|
||||
"rendercolor" Render-Color the target changes to
|
||||
|
||||
Changes the visual appearance of a target.
|
||||
*/
|
||||
|
||||
enumflags {
|
||||
SF_NORENDERFX,
|
||||
SF_NORENDERAMT,
|
||||
|
|
|
@ -14,6 +14,19 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED env_shake (1 0 0) (-8 -8 -8) (8 8 8) EVS_GLOBAL
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
"radius" Radius of the quake/shake effect.
|
||||
"amplitude" Amplitude of the effect.
|
||||
"duration" Duration of the effect in seconds.
|
||||
"frequency" The frequency of the shake.
|
||||
|
||||
Causes an earthquake/shaking effect when triggered.
|
||||
Affects all clients (radius ignored) when EVS_GLOBAL is set.
|
||||
*/
|
||||
|
||||
#define EVS_GLOBAL 1
|
||||
|
||||
class env_shake : CBaseTrigger
|
||||
|
@ -29,14 +42,14 @@ class env_shake : CBaseTrigger
|
|||
|
||||
void env_shake :: Trigger (void)
|
||||
{
|
||||
for (entity eClients = world; (eClients = find(eClients, ::classname, "Player"));) {
|
||||
for (entity e = world; (e = find(e, ::classname, "Player"));) {
|
||||
WriteByte(MSG_MULTICAST, SVC_CGAMEPACKET);
|
||||
WriteByte(MSG_MULTICAST, EV_SHAKE);
|
||||
WriteFloat(MSG_MULTICAST, m_flRadius);
|
||||
WriteFloat(MSG_MULTICAST, m_flAmplitude);
|
||||
WriteFloat(MSG_MULTICAST, m_flDuration);
|
||||
WriteFloat(MSG_MULTICAST, m_flFrequency);
|
||||
msg_entity = eClients;
|
||||
msg_entity = e;
|
||||
multicast('0 0 0', MULTICAST_ONE_R);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,6 +14,23 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED env_shooter (1 0 0) (-8 -8 -8) (8 8 8)
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
"angles" Sets the pitch, yaw and roll direction of the shooter.
|
||||
"shootmodel" Model file to shoot.
|
||||
"shootsounds" PCM sample to play whenever a piece shoots out.
|
||||
"m_iGibs" Amount of models shot in total.
|
||||
"m_flDelay" Delay before being able to be fired again.
|
||||
"m_flVelocity" Speed of the models in units per second.
|
||||
"m_flVariance" Delay between shots.
|
||||
"m_flGibLife" Life of the individual model piece.
|
||||
"scale" Scale modifier of the model pieces.
|
||||
|
||||
Shoots model entities from its location.
|
||||
*/
|
||||
|
||||
class env_shooter : CBaseTrigger
|
||||
{
|
||||
int m_iGibs;
|
||||
|
|
|
@ -14,6 +14,16 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED env_spark (1 0 0) (-8 -8 -8) (8 8 8) x x x x x EVSPARK_TOGGLE EVSPARK_STARTON
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
"angles" Sets the pitch, yaw and roll angles of the spark.
|
||||
"MaxDelay" Delay between sparks when start-on (or toggle) is set
|
||||
|
||||
Creates a series (or just one) spark effect with sound when triggered.
|
||||
*/
|
||||
|
||||
enumflags
|
||||
{
|
||||
EVSPARK_UNUSED1,
|
||||
|
|
|
@ -14,7 +14,21 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* https://twhl.info/wiki/page/env_sprite_(Half-Life) */
|
||||
/*QUAKED env_sprite (1 0 0) (-8 -8 -8) (8 8 8) ENVS_STARTON ENVS_PLAYONCE
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
"angles" Sets the pitch, yaw and roll angles of the sprite.
|
||||
"model" Path to the sprite in question.
|
||||
"rendercolor" Color modifier of the sprite.
|
||||
"renderamt" Alpha modifier of the sprite.
|
||||
"rendermode" Render mode of the sprite.
|
||||
"framerate" Rate between frames in seconds.
|
||||
"scale" Scale modifier of the sprite.
|
||||
|
||||
A sprite entity manager with fancy overrides.
|
||||
Only used with an external sprite format, like SPR, SPRHL and SPR32.
|
||||
*/
|
||||
|
||||
enumflags
|
||||
{
|
||||
|
|
|
@ -14,11 +14,25 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*
|
||||
Flags
|
||||
Only Trigger (1) - Entity can only be activated (broken) by being triggered.
|
||||
Touch (2) - Brush will break on touch.
|
||||
Pressure (4) - Brush will break when pressured (e.g. player walking on it).
|
||||
/*QUAKED func_breakable (0 .5 .8) ? SF_TRIGGER SF_TOUCH SF_PRESSURE
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
"material" Material it's made of.
|
||||
"delay" Delay in seconds of when it breaks under pressure.
|
||||
"explodemagnitude" Strength of the explosion.
|
||||
|
||||
Brush volume that can break into lots of little pieces.
|
||||
|
||||
When SF_TOUCH is set, it'll break when an entity runs into it at high
|
||||
velocities (damage is speed in units * 0.01).
|
||||
|
||||
When SF_PRESSURE is set, it'll collapse once someone is standing on top of it.
|
||||
At that point the "delay" key will decide after how many seconds the object
|
||||
breaks.
|
||||
|
||||
The strength of the explosion decides the radius (magnitude * 2.5) and the
|
||||
maximum damage the explosion will do (you have to stand in the center for that).
|
||||
*/
|
||||
|
||||
enumflags
|
||||
|
|
|
@ -14,6 +14,14 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED func_button (0 .5 .8) ?
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
|
||||
STUB!
|
||||
*/
|
||||
|
||||
#define SF_BTT_NOMOVE 1
|
||||
#define SF_BTT_TOGGLE 32
|
||||
#define SF_BTT_SPARKS 64
|
||||
|
|
|
@ -14,7 +14,15 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#define SF_CONVEYOR_VISUAL 1
|
||||
/*QUAKED func_conveyor (0 .5 .8) ?
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
|
||||
STUB!
|
||||
*/
|
||||
|
||||
#define SF_CONVEYOR_VISUAL 1
|
||||
#define SF_CONVEYOR_NOTSOLID 2
|
||||
|
||||
class func_conveyor : func_wall
|
||||
|
|
|
@ -14,12 +14,20 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED func_door (0 .5 .8) ?
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
|
||||
STUB!
|
||||
*/
|
||||
|
||||
// TODO: Finish these
|
||||
#define SF_MOV_OPEN 1
|
||||
#define SF_MOV_UNLINK 4
|
||||
#define SF_MOV_PASSABLE 8
|
||||
#define SF_MOV_PASSABLE 8
|
||||
#define SF_MOV_TOGGLE 32
|
||||
#define SF_MOV_USE 256
|
||||
#define SF_MOV_USE 256
|
||||
|
||||
enum
|
||||
{
|
||||
|
|
|
@ -14,6 +14,14 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED func_door_rotating (0 .5 .8) ?
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
|
||||
STUB!
|
||||
*/
|
||||
|
||||
enumflags
|
||||
{
|
||||
SF_ROT_OPEN,
|
||||
|
|
|
@ -14,6 +14,16 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED func_guntarget (0 .5 .8) ?
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
"health" Health until it stops and triggers its targets.
|
||||
"speed" Speed in units per second at which it moves.
|
||||
|
||||
Gun targets brushes that trigger a target once they 'die'.
|
||||
*/
|
||||
|
||||
#define SF_GUNTARGET_ON 1
|
||||
|
||||
class func_guntarget:CBaseTrigger
|
||||
|
|
|
@ -14,12 +14,27 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED func_healthcharger (0 .5 .8) ?
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
"snd_first" Sound to play when first used.
|
||||
"snd_charging" Sound to play when first charging.
|
||||
"snd_done" Sound to play when first finished charging.
|
||||
|
||||
Brush that fills up your health when used, to a maximum of 100 HP.
|
||||
*/
|
||||
|
||||
class func_healthcharger:CBaseTrigger
|
||||
{
|
||||
entity m_eUser;
|
||||
float m_flDelay;
|
||||
float m_flCheck;
|
||||
|
||||
string m_strSndFirst;
|
||||
string m_strSndCharging;
|
||||
string m_strSndDone;
|
||||
|
||||
void() func_healthcharger;
|
||||
virtual void() customphysics;
|
||||
virtual void() PlayerUse;
|
||||
|
@ -28,7 +43,7 @@ class func_healthcharger:CBaseTrigger
|
|||
void func_healthcharger::PlayerUse(void)
|
||||
{
|
||||
eActivator.gflags |= GF_USE_RELEASED;
|
||||
|
||||
|
||||
/* First come first serve */
|
||||
if (m_eUser && eActivator != m_eUser) {
|
||||
return;
|
||||
|
@ -36,19 +51,19 @@ void func_healthcharger::PlayerUse(void)
|
|||
|
||||
/* First time */
|
||||
if (m_eUser == world) {
|
||||
sound(this, CHAN_VOICE, "items/medshot4.wav", 1.0, ATTN_NORM);
|
||||
sound(this, CHAN_VOICE, m_strSndFirst, 1.0, ATTN_NORM);
|
||||
}
|
||||
|
||||
|
||||
if (m_flDelay > time) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (eActivator.health >= 100) {
|
||||
eActivator.gflags &= ~GF_USE_RELEASED;
|
||||
sound(this, CHAN_VOICE, "items/medshotno1.wav", 1.0, ATTN_NORM);
|
||||
sound(this, CHAN_VOICE, m_strSndDone, 1.0, ATTN_NORM);
|
||||
} else {
|
||||
if (m_eUser == world) {
|
||||
sound(this, CHAN_ITEM, "items/medcharge4.wav", 1.0, ATTN_NORM);
|
||||
sound(this, CHAN_ITEM, m_strSndCharging, 1.0, ATTN_NORM);
|
||||
}
|
||||
eActivator.health = bound(0, eActivator.health += 1, 100);
|
||||
}
|
||||
|
@ -63,6 +78,7 @@ void func_healthcharger::customphysics(void)
|
|||
if (m_flCheck > time) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (m_eUser) {
|
||||
sound(this, CHAN_ITEM, "misc/null.wav", 1.0, ATTN_NORM);
|
||||
m_eUser = world;
|
||||
|
@ -71,10 +87,29 @@ void func_healthcharger::customphysics(void)
|
|||
|
||||
void func_healthcharger::func_healthcharger(void)
|
||||
{
|
||||
|
||||
precache_sound("items/medshot4.wav");
|
||||
precache_sound("items/medshotno1.wav");
|
||||
precache_sound("items/medcharge4.wav");
|
||||
m_strSndFirst = "items/medshot4.wav";
|
||||
m_strSndCharging = "items/medcharge4.wav";
|
||||
m_strSndDone = "items/medshotno1.wav";
|
||||
|
||||
for (int i = 1; i < (tokenize(__fullspawndata) - 1); i += 2) {
|
||||
switch (argv(i)) {
|
||||
case "snd_first":
|
||||
m_strSndFirst = argv(i+1);
|
||||
break;
|
||||
case "snd_charging":
|
||||
m_strSndCharging = argv(i+1);
|
||||
break;
|
||||
case "snd_done":
|
||||
m_strSndDone = argv(i+1);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
precache_sound(m_strSndFirst);
|
||||
precache_sound(m_strSndCharging);
|
||||
precache_sound(m_strSndDone);
|
||||
|
||||
solid = SOLID_BSP;
|
||||
movetype = MOVETYPE_PUSH;
|
||||
|
|
|
@ -14,8 +14,17 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED func_illusionary (0 .5 .8) ?
|
||||
"targetname" Name
|
||||
|
||||
Brush that lets light to pass through it and is non-solid.
|
||||
On idTech 2 BSPs, it will change texture variants when triggered.
|
||||
*/
|
||||
|
||||
class func_illusionary : CBaseEntity
|
||||
{
|
||||
void() func_illusionary;
|
||||
|
||||
virtual void() Use;
|
||||
};
|
||||
|
||||
|
@ -28,7 +37,7 @@ void func_illusionary :: func_illusionary ( void )
|
|||
solid = SOLID_NOT;
|
||||
setmodel( this, model );
|
||||
|
||||
// FIXME: Add support for (skin) -1 = Empty, -7 = Volumetric light
|
||||
// TODO: Add support for (skin) -1 = Empty, -7 = Volumetric light
|
||||
if (skin < 0 ) {
|
||||
skin = 0;
|
||||
}
|
||||
|
|
|
@ -14,6 +14,12 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED func_ladder (0 .5 .8) ?
|
||||
"targetname" Name
|
||||
|
||||
Ladder volume. Climb up ladders with this one simple brush.
|
||||
*/
|
||||
|
||||
string g_laddersnd[] = {
|
||||
"player/pl_ladder1.wav",
|
||||
"player/pl_ladder2.wav",
|
||||
|
|
|
@ -14,6 +14,14 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED func_pushable (0 .5 .8) ? SF_TRIGGER SF_TOUCH SF_PRESSURE
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
|
||||
STUB!
|
||||
*/
|
||||
|
||||
class func_pushable:func_breakable
|
||||
{
|
||||
|
||||
|
|
|
@ -14,12 +14,27 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED func_recharge (0 .5 .8) ?
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
"snd_first" Sound to play when first used.
|
||||
"snd_charging" Sound to play when first charging.
|
||||
"snd_done" Sound to play when first finished charging.
|
||||
|
||||
Brush that fills up your armor when used, to a maximum of 100 points.
|
||||
*/
|
||||
|
||||
class func_recharge:CBaseTrigger
|
||||
{
|
||||
entity m_eUser;
|
||||
float m_flDelay;
|
||||
float m_flCheck;
|
||||
|
||||
string m_strSndFirst;
|
||||
string m_strSndCharging;
|
||||
string m_strSndDone;
|
||||
|
||||
void() func_recharge;
|
||||
virtual void() customphysics;
|
||||
virtual void() PlayerUse;
|
||||
|
@ -36,7 +51,7 @@ void func_recharge::PlayerUse(void)
|
|||
|
||||
/* First time */
|
||||
if (m_eUser == world) {
|
||||
sound(this, CHAN_VOICE, "items/suitchargeok1.wav", 1.0, ATTN_NORM);
|
||||
sound(this, CHAN_VOICE, m_strSndFirst, 1.0, ATTN_NORM);
|
||||
}
|
||||
|
||||
if (m_flDelay > time) {
|
||||
|
@ -45,10 +60,10 @@ void func_recharge::PlayerUse(void)
|
|||
|
||||
if (eActivator.armor >= 100) {
|
||||
eActivator.gflags &= ~GF_USE_RELEASED;
|
||||
sound(this, CHAN_VOICE, "items/suitchargeno1.wav", 1.0, ATTN_NORM);
|
||||
sound(this, CHAN_VOICE, m_strSndDone, 1.0, ATTN_NORM);
|
||||
} else {
|
||||
if (m_eUser == world) {
|
||||
sound(this, CHAN_ITEM, "items/suitcharge1.wav", 1.0, ATTN_NORM);
|
||||
sound(this, CHAN_ITEM, m_strSndCharging, 1.0, ATTN_NORM);
|
||||
}
|
||||
eActivator.armor = bound(0, eActivator.armor += 1, 100);
|
||||
}
|
||||
|
@ -71,10 +86,29 @@ void func_recharge::customphysics(void)
|
|||
|
||||
void func_recharge::func_recharge(void)
|
||||
{
|
||||
precache_sound("items/suitchargeok1.wav");
|
||||
precache_sound("items/suitchargeno1.wav");
|
||||
precache_sound("items/suitcharge1.wav");
|
||||
m_strSndFirst = "items/suitchargeok1.wav";
|
||||
m_strSndCharging = "items/suitcharge1.wav";
|
||||
m_strSndDone = "items/suitchargeno1.wav";
|
||||
|
||||
for (int i = 1; i < (tokenize(__fullspawndata) - 1); i += 2) {
|
||||
switch (argv(i)) {
|
||||
case "snd_first":
|
||||
m_strSndFirst = argv(i+1);
|
||||
break;
|
||||
case "snd_charging":
|
||||
m_strSndCharging = argv(i+1);
|
||||
break;
|
||||
case "snd_done":
|
||||
m_strSndDone = argv(i+1);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
precache_sound(m_strSndFirst);
|
||||
precache_sound(m_strSndCharging);
|
||||
precache_sound(m_strSndDone);
|
||||
|
||||
solid = SOLID_BSP;
|
||||
movetype = MOVETYPE_PUSH;
|
||||
|
|
|
@ -14,6 +14,16 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED func_rotating (0 .5 .8) ? FR_STARTON FR_REVERSE FR_ZAXIS FR_XAXIS FR_ACCDCC FR_FANPAIN FR_NOTSOLID FR_SMALLRADIUS FR_MRADIUS FR_LRADIUS
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
"speed" Speed in units per second.
|
||||
"dmg" Damage applied to entity blocking its rotational path.
|
||||
|
||||
Rotating brush object. Useful for fans, etc.
|
||||
*/
|
||||
|
||||
enumflags
|
||||
{
|
||||
FR_STARTON,
|
||||
|
@ -45,6 +55,7 @@ void func_rotating :: Rotate( void )
|
|||
{
|
||||
nextthink = ltime + 10.0f;
|
||||
}
|
||||
|
||||
void func_rotating :: Trigger ( void )
|
||||
{
|
||||
if ( vlen( avelocity ) ) {
|
||||
|
|
|
@ -14,6 +14,15 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED func_tracktrain (0 .5 .8) ?
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
|
||||
Moving platform following along path_* entities that's fully user controlled.
|
||||
Very unfinished.
|
||||
*/
|
||||
|
||||
class func_tracktrain:CBaseTrigger
|
||||
{
|
||||
float m_flSpeed;
|
||||
|
|
|
@ -14,6 +14,15 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED func_train (0 .5 .8) ?
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
|
||||
Moving platform following along path_* entities.
|
||||
Very unfinished.
|
||||
*/
|
||||
|
||||
class func_train:CBaseTrigger
|
||||
{
|
||||
float m_flSpeed;
|
||||
|
|
|
@ -14,6 +14,13 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED func_wall (0 .5 .8) ?
|
||||
"targetname" Name
|
||||
|
||||
Brush that lets light to pass through it.
|
||||
On idTech 2 BSPs, it will change texture variants when triggered.
|
||||
*/
|
||||
|
||||
class func_wall : CBaseTrigger
|
||||
{
|
||||
void() func_wall;
|
||||
|
|
|
@ -14,6 +14,14 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED func_wall_toggle (0 .5 .8) ? FTW_STARTHIDDEN
|
||||
"targetname" Name
|
||||
|
||||
Brush that can be hidden and reappear when triggered.
|
||||
|
||||
If FTW_STARTHIDDEN is set, it'll start hidden.
|
||||
*/
|
||||
|
||||
enumflags
|
||||
{
|
||||
FTW_STARTHIDDEN
|
||||
|
|
|
@ -14,6 +14,33 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED game_text (1 0 0) (-8 -8 -8) (8 8 8) GTF_ALLPLAYERS
|
||||
"targetname" Name
|
||||
"x" Horizontal position of text.
|
||||
(0 - 1.0 = left to right, -1 = center)
|
||||
"y" Vertical position of text.
|
||||
(0 - 1.0 = top to bottom, -1 = center)
|
||||
"effect" Effect to apply to the text.
|
||||
Valid values:
|
||||
0 = Fade In/Out
|
||||
1 = Credits
|
||||
2 = Scan Out
|
||||
"color" The main colour in RGB8.
|
||||
"color2" The highlight colour in RGB8.
|
||||
"fadein" Time taken to fade in each character.
|
||||
"fadeout" Time taken to fade out message.
|
||||
"holdtime" Length of time to hold message on screen after fading in.
|
||||
"fxtime" Time the highlight lags behind the leading edge of the text in
|
||||
seconds.
|
||||
"channel" Message channel to use. Meant for overriding messages.
|
||||
|
||||
This entity displays a message of your choice on-screen.
|
||||
Line breaks can be added with a \n character.
|
||||
|
||||
If GTF_ALLPLAYERS is set, it'll display the message to not just the activator,
|
||||
but all players on the level.
|
||||
*/
|
||||
|
||||
enumflags
|
||||
{
|
||||
GTF_ALLPLAYERS
|
||||
|
|
|
@ -14,6 +14,15 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED infodecal (1 0 0) (-8 -8 -8) (8 8 8)
|
||||
"texture" Name of the texture inside decals.wad it projects onto a surface.
|
||||
|
||||
This entity only works on BSP version 30 levels.
|
||||
Projects a decals.wad texture onto the nearest surface.
|
||||
It'll automatically figure out the surface based on distance.
|
||||
The texture will be aligned along the surface texture normals.
|
||||
*/
|
||||
|
||||
/* We need to save trace infos temporarily in order to figure out what to
|
||||
* project the decal against. Half-Life's infodecal entity only stores origin,
|
||||
* but not angles. So we have to figure them out ourselves. */
|
||||
|
|
|
@ -14,6 +14,14 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED item_food (1 0 0) (-8 -8 -8) (8 8 8)
|
||||
"targetname" Name
|
||||
"angles" Sets the pitch, yaw and roll angles of the model.
|
||||
"model" Model file that will be displayed by the entity.
|
||||
|
||||
This is a food item that will give the user 1 health when touched.
|
||||
*/
|
||||
|
||||
class item_food
|
||||
{
|
||||
int m_iIsCan;
|
||||
|
|
|
@ -14,6 +14,45 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED light (1 0 0) (-8 -8 -8) (8 8 8) OFF_OR_LINEAR
|
||||
"targetname" Name
|
||||
|
||||
Infinitely small point of light illuminating the scene.
|
||||
|
||||
idTech 3 BSP relevant keys:
|
||||
"light" Light intensity value. Default is '300'.
|
||||
"_color" Normalized RGB color value. Default is '1 1 1'.
|
||||
"radius" Sets the light cone radius. Default is '64'.
|
||||
"target" When set, targets an enity instead, becoming a spotlight.
|
||||
|
||||
If OFF_OR_LINEAR is set, the light will be cast with a linear falloff instead
|
||||
of inverse square. This is useful for bright lights that'll travel long
|
||||
distances.
|
||||
|
||||
idTech 2 BSP relevant keys:
|
||||
"light" Defines the brightness of the light.
|
||||
"style" Light style ID. 0-11 are defined, 12-32 are reserved for switched
|
||||
lights. List of pre-defined styles:
|
||||
0 = Normal
|
||||
1 = Flicker A
|
||||
2 = Slow strong pulse
|
||||
3 = Candle A
|
||||
4 = Fast strobe
|
||||
5 = Gentle pulse
|
||||
6 = Flicker B
|
||||
7 = Candle B
|
||||
8 = Candle C
|
||||
9 = Slow strobe
|
||||
10 = Fluorescent flicker
|
||||
11 = Slow pulse, no black
|
||||
"pattern" Custom light style pattern. Needs unique light style ID.
|
||||
Patterns are defined with letters of the alphabet.
|
||||
'a' being dark. 'z' being fully lit. Can be a string of characters
|
||||
that'll interpolate between at 10 FPS ingame.
|
||||
|
||||
If OFF_OR_LINEAR is set, it starts off/disabled.
|
||||
*/
|
||||
|
||||
class light:CBaseTrigger
|
||||
{
|
||||
int m_iEnabled;
|
||||
|
|
|
@ -14,6 +14,14 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED monster_furniture (1 0 0) (-8 -8 -8) (8 8 8)
|
||||
"targetname" Name
|
||||
"angles" Sets the pitch, yaw and roll angles of the model.
|
||||
"model" Model file that will be displayed by the entity.
|
||||
|
||||
Decorative, does nothing yet.
|
||||
*/
|
||||
|
||||
enumflags
|
||||
{
|
||||
MF_WAITTILSEEN,
|
||||
|
|
|
@ -14,6 +14,14 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED monster_generic (1 0 0) (-8 -8 -8) (8 8 8)
|
||||
"targetname" Name
|
||||
"angles" Sets the pitch, yaw and roll angles of the model.
|
||||
"model" Model file that will be displayed by the entity.
|
||||
|
||||
Decorative, does nothing yet.
|
||||
*/
|
||||
|
||||
enumflags
|
||||
{
|
||||
MF_WAITTILLSEEN,
|
||||
|
|
|
@ -14,6 +14,15 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED monstermaker (1 0 0) (-8 -8 -8) (8 8 8)
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
|
||||
All it does right now is spawn snarks, regardless of what monster you want to
|
||||
spawn.
|
||||
*/
|
||||
|
||||
#ifdef VALVE
|
||||
void() w_snark_deploy;
|
||||
#endif
|
||||
|
|
|
@ -14,6 +14,17 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED multi_manager (1 0 0) (-8 -8 -8) (8 8 8) MM_MULTITHREADED
|
||||
"targetname" Name
|
||||
|
||||
Triggers a maximum of 16 user defined entities with additonal timers.
|
||||
Add a target's name as an entity key, with the value set to the time in seconds
|
||||
that'll pass before the entity will be triggered.
|
||||
|
||||
If MM_MULTITHREADED is set, it'll allow the multi_manager to be triggered
|
||||
again before it has finished triggering it's previous list of entities.
|
||||
*/
|
||||
|
||||
#define MM_MULTITHREADED 1
|
||||
|
||||
class multi_manager : CBaseTrigger
|
||||
|
|
|
@ -14,6 +14,14 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED multisource (1 0 0) (-8 -8 -8) (8 8 8)
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
|
||||
STUB!
|
||||
*/
|
||||
|
||||
class multisource : CBaseTrigger
|
||||
{
|
||||
void() multisource;
|
||||
|
|
|
@ -14,6 +14,14 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED path_corner (1 0 0) (-8 -8 -8) (8 8 8)
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
|
||||
STUB!
|
||||
*/
|
||||
|
||||
class path_corner:CBaseTrigger
|
||||
{
|
||||
float m_flSpeed;
|
||||
|
|
|
@ -14,6 +14,14 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED path_track (1 0 0) (-8 -8 -8) (8 8 8)
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
|
||||
STUB!
|
||||
*/
|
||||
|
||||
class path_track:CBaseTrigger
|
||||
{
|
||||
float m_flSpeed;
|
||||
|
|
|
@ -14,6 +14,20 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED scripted_sentence (1 0 0) (-8 -8 -8) (8 8 8)
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
"entity" Name of the entity that'll speak the sentence.
|
||||
"sentence" Name of sentence from titles.txt.
|
||||
"pitch" Desired sound pitch. May be overridden in the titles.txt entry.
|
||||
"delay" Delay before it'll be triggered? UNUSED RIGHT NOW.
|
||||
"wait" Delay before it can be triggered again? UNUSED RIGHT NOW.
|
||||
|
||||
Triggers a sound event on the client side associated with an entity in the
|
||||
world. It'll enable mouth flapping and all sorts of other cool effects.
|
||||
*/
|
||||
|
||||
class scripted_sentence:CBaseTrigger
|
||||
{
|
||||
string m_strSpeaker;
|
||||
|
|
|
@ -14,6 +14,29 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED scripted_sequence (1 0 0) (-8 -8 -8) (8 8 8) x x SSFL_REPEATABLE SSFL_LEAVECORPSE x SSFL_NOINTERRUPT SSFL_OVERRIDEAI SSFL_NOSCRIPTMOVE
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
"m_iszEntity" Entity targetname OR classname description to target
|
||||
"m_iszPlay" After the monster has moved to the action point, play this animation
|
||||
"m_iszIdle" Animation to play until the scripted_sequence is triggered
|
||||
"m_flRadius" Search radius for m_targetMonster if a classname is specified
|
||||
"m_flRepeat" Loop? Unused.
|
||||
"m_fMoveTo" How we move to perform m_iActionAnim
|
||||
|
||||
f_fMoveTo values:
|
||||
0 = Don't move or turn
|
||||
1 = Walk to the scripted_sequence
|
||||
2 = Run to the scripted_sequence
|
||||
3 = Unused/Not defined. Do not use this.
|
||||
4 = Warp to the location of the scripted_sequence and perform the animation.
|
||||
5 = Turn to the scripted_sequence's angle before performing the animation.
|
||||
|
||||
Allow a monster to be selected and given an action to perform.
|
||||
This is done in the form of olaying an animation.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Scripted Sequences
|
||||
* ==================
|
||||
|
|
|
@ -14,6 +14,17 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED trigger_auto (1 0 0) (-8 -8 -8) (8 8 8) TA_USEONCE
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
"delay" Time in seconds until it triggers its target.
|
||||
|
||||
Will automatically start working when the level has spawned.
|
||||
If TA_USEONCE is set, it'll remove itself from the level permanently.
|
||||
It will not survive round respawns, etc.
|
||||
*/
|
||||
|
||||
class trigger_auto:CBaseTrigger
|
||||
{
|
||||
float m_flDelay;
|
||||
|
|
|
@ -14,6 +14,13 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED trigger_autosave (0 .5 .8) ?
|
||||
"targetname" Name
|
||||
|
||||
Volume that'll save the current game when a client enters its bounds.
|
||||
This entity does not work in multiplayer.
|
||||
*/
|
||||
|
||||
class trigger_autosave:CBaseTrigger
|
||||
{
|
||||
float m_flDelay;
|
||||
|
|
|
@ -14,6 +14,15 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED trigger_camera (1 0 0) (-8 -8 -8) (8 8 8)
|
||||
"targetname" Name
|
||||
"angles" Sets the pitch, yaw and roll angles of the camera
|
||||
"target" Which entity we're aiming at. Overrides angles.
|
||||
"wait" How long to hold onto the target.
|
||||
|
||||
Causes the activators first-person camera to switch to the view of this entity.
|
||||
*/
|
||||
|
||||
class trigger_camera:CBaseTrigger
|
||||
{
|
||||
float m_flWait;
|
||||
|
|
|
@ -14,6 +14,13 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED trigger_cdaudio (0 .5 .8) ?
|
||||
"targetname" Name
|
||||
"health" Music track to play.
|
||||
|
||||
Switches the background music track when triggered.
|
||||
*/
|
||||
|
||||
class trigger_cdaudio : CBaseTrigger
|
||||
{
|
||||
int m_iCDTrack;
|
||||
|
|
|
@ -14,6 +14,23 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED trigger_changelevel (0 .5 .8) ? LC_NOINTERMISSION LC_USEONLY
|
||||
"targetname" Name
|
||||
"map" Next .bsp file name to transition to.
|
||||
"landmark" Landmark name to target.
|
||||
"changedelay" Time in seconds until the transition happens.
|
||||
|
||||
When a Landmark is specified, you will have to position two info_landmark
|
||||
entities across your two levels with the same name. They'll mark a translation
|
||||
point for the coordinates in your levels.
|
||||
|
||||
When LC_NOINTERMISSION is set, there'll be no stats screen at the end of the
|
||||
level.
|
||||
|
||||
When LC_USEONLY is set, it will not act as a trigger volume people can step in.
|
||||
It'll have to be triggered by another entity.
|
||||
*/
|
||||
|
||||
vector g_landmarkpos;
|
||||
|
||||
enumflags
|
||||
|
|
|
@ -14,6 +14,13 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED trigger_endsection (0 .5 .8) ?
|
||||
"targetname" Name
|
||||
|
||||
This trigger shuts down the server.
|
||||
Useful for when a singleplayer game ends, as it takes you to the main menu.
|
||||
*/
|
||||
|
||||
class trigger_endsection:CBaseTrigger
|
||||
{
|
||||
void() trigger_endsection;
|
||||
|
|
|
@ -14,6 +14,13 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED trigger_gravity (0 .5 .8) ?
|
||||
"targetname" Name
|
||||
"gravity" Gravity multiplier.
|
||||
|
||||
Volume that permanently adds a multiplier that affects an entities' gravity.
|
||||
*/
|
||||
|
||||
#ifdef CSQC
|
||||
class trigger_gravity:CBaseEntity
|
||||
#else
|
||||
|
|
|
@ -14,9 +14,26 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#define SF_HURT_ONCE 1 // Turn off once it fired the first time
|
||||
#define SF_HURT_OFF 2 // Needs to be triggered in order to work again
|
||||
#define SF_HURT_NOPLAYERS 8 // Don't hurt players
|
||||
/*QUAKED trigger_hurt (0 .5 .8) ? SF_HURT_ONCE SF_HURT_OFF x SF_HURT_NOPLAYERS SF_HURT_FIREONPLAYER SF_HURT_TOUCHPLAYER
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"delay" Delay until target is triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
"dmg" Damage inflicted.
|
||||
|
||||
Trigger volume that damages everything it touches.
|
||||
|
||||
If SF_HURT_ONCE is set, it'll stop once it's been triggered the first time.
|
||||
If SF_HURT_OFF is set, it needs to be triggered in order to work again.
|
||||
If SF_HURT_NOPLAYERS is set, it will only NPCs.
|
||||
If SF_HURT_TOUCHPLAYER is set, it'll only hurt players.
|
||||
If SF_HURT_FIREONPLAYER is set, it'll only trigger a target if a player
|
||||
activates it.
|
||||
*/
|
||||
|
||||
#define SF_HURT_ONCE 1 // Turn off once it fired the first time
|
||||
#define SF_HURT_OFF 2 // Needs to be triggered in order to work again
|
||||
#define SF_HURT_NOPLAYERS 8 // Don't hurt players
|
||||
#define SF_HURT_FIREONPLAYER 16 // Only call UseTarget functions when it's a player
|
||||
#define SF_HURT_TOUCHPLAYER 32 // Only hurt players
|
||||
|
||||
|
|
|
@ -14,6 +14,18 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED trigger_multiple (0 .5 .8) ? TM_MONSTERS TM_NOCLIENTS TM_PUSHABLES
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
"delay" Delay until target is triggered.
|
||||
"wait" Time until this entity can trigger again
|
||||
|
||||
A trigger volume which works more than once.
|
||||
|
||||
None of the spawnflags are implemented yet.
|
||||
*/
|
||||
|
||||
// TODO: These are missing
|
||||
enumflags
|
||||
{
|
||||
|
|
|
@ -14,6 +14,17 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED trigger_once (0 .5 .8) ? TO_MONSTERS TO_NOCLIENTS TO_PUSHABLES
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
"delay" Delay until target is triggered.
|
||||
|
||||
A trigger volume which works only once.
|
||||
|
||||
None of the spawnflags are implemented yet.
|
||||
*/
|
||||
|
||||
// TODO: These are missing
|
||||
enumflags
|
||||
{
|
||||
|
|
|
@ -14,6 +14,17 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED trigger_push (0 .5 .8) ? TP_ONCE TP_STARTOFF
|
||||
"targetname" Name
|
||||
"speed" The speed (units per second) it'll apply to touchers.
|
||||
"angles" Sets the direction of the push.
|
||||
|
||||
Pushes anything in its volume into a direction of your choosing.
|
||||
|
||||
If TP_ONCE is set, It'll only emit a single push once before disabling itself.
|
||||
If TP_STARTOFF is set, it needs to be triggered first in order to function.
|
||||
*/
|
||||
|
||||
#define TP_ONCE 1
|
||||
#define TP_STARTOFF 2
|
||||
#define TP_AAAA 4
|
||||
|
|
|
@ -14,4 +14,12 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED trigger_relay (0 .5 .8) ?
|
||||
"targetname" Name
|
||||
"target" Target when triggered.
|
||||
"killtarget" Target to kill when triggered.
|
||||
|
||||
See trigger_once.
|
||||
*/
|
||||
|
||||
CLASSEXPORT(trigger_relay, trigger_once)
|
||||
|
|
|
@ -14,6 +14,14 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED trigger_teleport (0 .5 .8) ?
|
||||
"targetname" Name
|
||||
"target" Which target to teleport to.
|
||||
|
||||
Teleportation volume. Teleports anything it touches to the position of
|
||||
any entity set as the "target". Works best with info_teleport_destination.
|
||||
*/
|
||||
|
||||
class trigger_teleport:CBaseTrigger
|
||||
{
|
||||
void() trigger_teleport;
|
||||
|
@ -48,4 +56,9 @@ void trigger_teleport::trigger_teleport(void)
|
|||
CBaseTrigger::InitBrushTrigger();
|
||||
}
|
||||
|
||||
/*QUAKED info_teleport_destination (1 0 0) (-8 -8 -8) (8 8 8)
|
||||
"targetname" Name
|
||||
|
||||
Entity designed to designate a destination for a trigger_teleport.
|
||||
*/
|
||||
CLASSEXPORT(info_teleport_destination, info_notnull)
|
||||
|
|
|
@ -14,6 +14,13 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/*QUAKED trigger_transition (0 .5 .8) ?
|
||||
"targetname" Name
|
||||
|
||||
Currently unused. This is meant for defining level transition regions.
|
||||
All entities touching this volume would carry across to the next level.
|
||||
*/
|
||||
|
||||
class trigger_transition
|
||||
{
|
||||
void() trigger_transition;
|
||||
|
|
|
@ -220,25 +220,25 @@ void w_cannon_hudpic(int s, vector pos)
|
|||
|
||||
weapon_t w_cannon =
|
||||
{
|
||||
ITEM_CANNON,
|
||||
2,
|
||||
3,
|
||||
"sprites/w_cannon.spr_0.tga",
|
||||
[48,16],
|
||||
[192,0],
|
||||
w_cannon_draw,
|
||||
w_cannon_holster,
|
||||
w_cannon_primary,
|
||||
w_cannon_secondary,
|
||||
w_cannon_reload,
|
||||
w_cannon_release,
|
||||
w_cannon_crosshair,
|
||||
w_cannon_precache,
|
||||
w_cannon_pickup,
|
||||
w_cannon_updateammo,
|
||||
__NULL__,
|
||||
w_cannon_pmodel,
|
||||
w_cannon_deathmsg,
|
||||
w_cannon_aimanim,
|
||||
w_cannon_hudpic
|
||||
.id = ITEM_CANNON,
|
||||
.slot = 2,
|
||||
.slot_pos = 3,
|
||||
.ki_spr = "sprites/w_cannon.spr_0.tga",
|
||||
.ki_size = [48,16],
|
||||
.ki_xy = [192,0],
|
||||
.draw = w_cannon_draw,
|
||||
.holster = w_cannon_holster,
|
||||
.primary = w_cannon_primary,
|
||||
.secondary = w_cannon_secondary,
|
||||
.reload = w_cannon_reload,
|
||||
.release = w_cannon_release,
|
||||
.crosshair = w_cannon_crosshair,
|
||||
.precache = w_cannon_precache,
|
||||
.pickup = w_cannon_pickup,
|
||||
.updateammo = w_cannon_updateammo,
|
||||
.wmodel = __NULL__,
|
||||
.pmodel = w_cannon_pmodel,
|
||||
.deathmsg = w_cannon_deathmsg,
|
||||
.aimanim = w_cannon_aimanim,
|
||||
.hudpic = w_cannon_hudpic
|
||||
};
|
||||
|
|
|
@ -153,25 +153,25 @@ void w_chainsaw_hudpic(int s, vector pos)
|
|||
|
||||
weapon_t w_chainsaw =
|
||||
{
|
||||
ITEM_CHAINSAW,
|
||||
0,
|
||||
2,
|
||||
"sprites/chainsaw.spr_0.tga",
|
||||
[48,16],
|
||||
[192,0],
|
||||
w_chainsaw_draw,
|
||||
w_chainsaw_holster,
|
||||
w_chainsaw_primary,
|
||||
w_chainsaw_release,
|
||||
w_chainsaw_release,
|
||||
w_chainsaw_release,
|
||||
__NULL__,
|
||||
w_chainsaw_precache,
|
||||
__NULL__,
|
||||
w_chainsaw_updateammo,
|
||||
__NULL__,
|
||||
w_chainsaw_pmodel,
|
||||
w_chainsaw_deathmsg,
|
||||
w_chainsaw_aimanim,
|
||||
w_chainsaw_hudpic
|
||||
.id = ITEM_CHAINSAW,
|
||||
.slot = 0,
|
||||
.slot_pos = 2,
|
||||
.ki_spr = "sprites/chainsaw.spr_0.tga",
|
||||
.ki_size = [48,16],
|
||||
.ki_xy = [192,0],
|
||||
.draw = w_chainsaw_draw,
|
||||
.holster = w_chainsaw_holster,
|
||||
.primary = w_chainsaw_primary,
|
||||
.secondary = w_chainsaw_release,
|
||||
.reload = w_chainsaw_release,
|
||||
.release = w_chainsaw_release,
|
||||
.crosshair = __NULL__,
|
||||
.precache = w_chainsaw_precache,
|
||||
.pickup = __NULL__,
|
||||
.updateammo = w_chainsaw_updateammo,
|
||||
.wmodel = __NULL__,
|
||||
.pmodel = w_chainsaw_pmodel,
|
||||
.deathmsg = w_chainsaw_deathmsg,
|
||||
.aimanim = w_chainsaw_aimanim,
|
||||
.hudpic = w_chainsaw_hudpic
|
||||
};
|
||||
|
|
|
@ -215,25 +215,25 @@ void w_hammer_hudpic(int s, vector pos)
|
|||
|
||||
weapon_t w_hammer =
|
||||
{
|
||||
ITEM_HAMMER,
|
||||
0,
|
||||
1,
|
||||
"sprites/hammer.spr_0.tga",
|
||||
[48,16],
|
||||
[192,0],
|
||||
w_hammer_draw,
|
||||
w_hammer_holster,
|
||||
w_hammer_primary,
|
||||
w_hammer_secondary,
|
||||
w_hammer_reload,
|
||||
w_hammer_release,
|
||||
__NULL__,
|
||||
w_hammer_precache,
|
||||
__NULL__,
|
||||
w_hammer_updateammo,
|
||||
__NULL__,
|
||||
w_hammer_pmodel,
|
||||
w_hammer_deathmsg,
|
||||
w_hammer_aimanim,
|
||||
w_hammer_hudpic
|
||||
.id = ITEM_HAMMER,
|
||||
.slot = 0,
|
||||
.slot_pos = 1,
|
||||
.ki_spr = "sprites/hammer.spr_0.tga",
|
||||
.ki_size = [48,16],
|
||||
.ki_xy = [192,0],
|
||||
.draw = w_hammer_draw,
|
||||
.holster = w_hammer_holster,
|
||||
.primary = w_hammer_primary,
|
||||
.secondary = w_hammer_secondary,
|
||||
.reload = w_hammer_reload,
|
||||
.release = w_hammer_release,
|
||||
.crosshair = __NULL__,
|
||||
.precache = w_hammer_precache,
|
||||
.pickup = __NULL__,
|
||||
.updateammo = w_hammer_updateammo,
|
||||
.wmodel = __NULL__,
|
||||
.pmodel = w_hammer_pmodel,
|
||||
.deathmsg = w_hammer_deathmsg,
|
||||
.aimanim = w_hammer_aimanim,
|
||||
.hudpic = w_hammer_hudpic
|
||||
};
|
||||
|
|
|
@ -36,7 +36,7 @@ float Spray_SendEntity(entity ePVSEnt, float fChanged)
|
|||
WriteCoord(MSG_ENTITY, self.angles[2]);
|
||||
WriteEntity(MSG_ENTITY, self.owner);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
void CSEv_Spraylogo(void)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue