5 bool autocvar_g_telefrags;
6 bool autocvar_g_telefrags_avoid;
7 bool autocvar_g_telefrags_teamplay;
20 #define TELEPORT_FLAGS_WARPZONE 0 21 #define TELEPORT_FLAGS_PORTAL (TELEPORT_FLAG_SOUND | TELEPORT_FLAG_PARTICLES | TELEPORT_FLAG_TDEATH | TELEPORT_FLAG_FORCE_TDEATH) 22 #define TELEPORT_FLAGS_TELEPORTER (TELEPORT_FLAG_SOUND | TELEPORT_FLAG_PARTICLES | TELEPORT_FLAG_TDEATH) 43 #define TDEATHLOOP(o) \ 44 vector deathmin = (o) + player.mins; \ 45 vector deathmax = (o) + player.maxs; \ 46 if(telefragmin != telefragmax) \ 48 if(deathmin.x > telefragmin.x) deathmin.x = telefragmin.x; \ 49 if(deathmin.y > telefragmin.y) deathmin.y = telefragmin.y; \ 50 if(deathmin.z > telefragmin.z) deathmin.z = telefragmin.z; \ 51 if(deathmax.x < telefragmax.x) deathmax.x = telefragmax.x; \ 52 if(deathmax.y < telefragmax.y) deathmax.y = telefragmax.y; \ 53 if(deathmax.z < telefragmax.z) deathmax.z = telefragmax.z; \ 55 float deathradius = max(vlen(deathmin), vlen(deathmax)); \ 56 for (entity head = findradius(o, deathradius); head; head = head.chain) \ 57 if (head != player && head.takedamage && boxesoverlap(deathmin, deathmax, head.absmin, head.absmax)) entity Simple_TeleportPlayer(entity teleporter, entity player)
const int TELEPORT_FLAG_TDEATH
const int TELEPORT_SIMPLE
STATIC_INIT(g_teleporters)
const int TELEPORT_NORMAL
void WarpZone_PostTeleportPlayer_Callback(entity pl)
IntrusiveList g_teleporters
limitations: NULL cannot be present elements can only be present once a maximum of IL_MAX lists can e...
#define BIT(n)
Only ever assign into the first 24 bits in QC (so max is BIT(23)).
void TeleportPlayer(entity teleporter, entity player, vector to, vector to_angles, vector to_velocity, vector telefragmin, vector telefragmax, float tflags)
void teleport_findtarget(entity this)
entity Teleport_Find(vector mi, vector ma)
vector(float skel, float bonenum) _skel_get_boneabs_hidden
const int TELEPORT_FLAG_SOUND
const int TELEPORT_FLAG_PARTICLES
const int TELEPORT_FLAG_FORCE_TDEATH
void Teleport_Touch(entity this, entity toucher)