Files
quakemapping/mod_ad/my_progs/client_info.qc
2019-12-30 22:24:44 +01:00

146 lines
5.6 KiB
Plaintext

/*======================================================================
INFO ENTITIES
======================================================================*/
void() info_null = { remove(self); };
void() info_notnull = {};
void() info_target = {};
/*======================================================================
/*QUAKED info_player_start (1 0 0) (-16 -16 -24) (16 16 24) x x x x x x x x Not_Easy Not_Normal Not_Hard Not_DM Dyn_Easy Dyn_Normal Dyn_Hard Dyn_Night
{ model(":progs/player.mdl"); }
DEFAULT starting point for a player
-------- KEYS --------
target : triggered target(s) when used as a client destination
angle : Starting view angle
-------- SPAWNFLAGS --------
-------- NOTES --------
DEFAULT starting point for a player
======================================================================*/
void() info_player_start = {
self.classtype = CT_SPAWNSP;
self.estate = ESTATE_ON;
};
/*======================================================================
/*QUAKED info_player_start2 (0.9 0 0) (-16 -16 -24) (16 16 24) x x x x x x x x Not_Easy Not_Normal Not_Hard Not_DM Dyn_Easy Dyn_Normal Dyn_Hard Dyn_Night
{ model(":progs/player.mdl"); }
Starting point for players with runes or startspawn2 system
-------- KEYS --------
target : triggered target(s) when used as a client destination
angle : Starting view angle
startspawn2 : Unique spawn location number matching a trigger_changelevel
-------- SPAWNFLAGS --------
-------- NOTES --------
Starting point for players with runes or using the startspawn2 system
The startspawn2 system lets players move between maps using exact location
======================================================================*/
void() info_player_start2 = {
self.classtype = CT_SPAWNSP;
self.estate = ESTATE_ON;
};
/*======================================================================
/*QUAKED info_player_coop (1 0 1) (-16 -16 -24) (16 16 24) x x x x x x STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/player.mdl"); }
Starting position for coop games
-------- KEYS --------
target : triggered target(s) when used as a client destination
angle : Starting view angle
-------- SPAWNFLAGS --------
STARTOFF : Starts off
-------- NOTES --------
Starting position for coop games
======================================================================*/
void() info_player_coop = {
self.classtype = CT_SPAWNCOOP;
if (self.spawnflags & MON_SPAWN_DELAY) self.estate = ESTATE_OFF;
else self.estate = ESTATE_ON;
// Setup Entity State functionality
if (self.targetname != "") self.use = entity_state_use;
};
/*======================================================================
/*QUAKED info_player_deathmatch (0 1 1) (-16 -16 -24) (16 16 24) x x x x x x STARTOFF x Not_Easy Not_Normal Not_Hard Not_DM
{ model(":progs/player.mdl"); }
Starting position for deathmatch games
-------- KEYS --------
target : triggered target(s) when used as a client destination
angle : Starting view angle
-------- SPAWNFLAGS --------
STARTOFF : Starts off
-------- NOTES --------
Starting position for deathmatch games
======================================================================*/
void() info_player_deathmatch = {
self.classtype = CT_SPAWNDM;
if (self.spawnflags & MON_SPAWN_DELAY) self.estate = ESTATE_OFF;
else self.estate = ESTATE_ON;
// Setup Entity State functionality
if (self.targetname != "") self.use = entity_state_use;
};
/*======================================================================
/*QUAKED info_teleport_destination (1 0.5 0.5) (-8 -8 -8) (8 8 32) x
Destination marker for a teleporter
-------- KEYS --------
targetname : link to trigger_teleport
target : fires when the entities is used as a destination
angles : Pitch Yaw Roll (viewing angle after teleporting)
-------- SPAWNFLAGS --------
-------- NOTES --------
Destination marker for a teleporter
======================================================================*/
void() info_teleport_destination =
{
self.classtype = CT_MISCTELEPORT;
self.estate = ESTATE_ON;
self.mangle = self.angles;
self.angles = '0 0 0';
self.origin = self.origin + '0 0 27';
};
/*======================================================================
/*QUAKED info_intermission (1 0.5 0.5) (-16 -16 -16) (16 16 16) NO_INTERMIS SOLID x x x x x x Not_Easy Not_Normal Not_Hard Not_DM
This is the camera point for the intermission
-------- KEYS --------
target : triggered target(s) when used as a viewing camera
mangle : Pitch Yaw Roll
fog_density : fog density (Must be >0 to activate feature)
fog_colour : fog colours (def=0.1 0.1 0.1)
speed : fog time to change (def=2s)
-------- SPAWNFLAGS --------
NO_INTERMIS : Will not display when proper intermission active
SOLID : Intermission camera interacts with world
-------- NOTES --------
mangle = up/down, angle, tilt left/right 'pitch roll yaw'
up/left = negative value, down/right = positive value
======================================================================*/
void() info_intermission =
{
self.classtype = CT_CAMERA;
self.estate = ESTATE_ON;
setsize (self, VEC_ORIGIN, VEC_ORIGIN);
self.movetype = MOVETYPE_NONE;
self.solid = SOLID_NOT;
setmodel(self, MODEL_EMPTY);
self.view_ofs = '0 0 0';
self.owner = self;
// Check for any trigger fog parameters
if (self.fog_density > 0) {
if (!self.speed) self.speed = 2;
// Double check its within range
if (self.fog_density > 1) self.fog_density = 1;
if (CheckZeroVector(self.fog_colour)) self.fog_colour = '0.1 0.1 0.1';
}
// Disable fog trigger if density not setup
else self.fog_density = 0;
};