sv_jumpspeedcap_max ""
// CPMA has ramp jumping
sv_jumpspeedcap_max_disable_on_ramps 1
-// FIXME: Q3 teleporters _set_ speed to 400, not cap it
g_teleport_maxspeed 400
+g_teleport_minspeed 400
sv_track_canjump 1
sv_gameplayfix_stepdown_maxspeed 0
g_movement_highspeed_q3_compat 1
sv_jumpspeedcap_max 0.35
sv_jumpspeedcap_max_disable_on_ramps 1
g_teleport_maxspeed 0
+g_teleport_minspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
g_movement_highspeed_q3_compat 0
sv_jumpspeedcap_max ""
sv_jumpspeedcap_max_disable_on_ramps 0
g_teleport_maxspeed 0
+g_teleport_minspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
g_movement_highspeed_q3_compat 0
sv_jumpspeedcap_max ""
sv_jumpspeedcap_max_disable_on_ramps 1
g_teleport_maxspeed 0
+g_teleport_minspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
g_movement_highspeed_q3_compat 0
sv_jumpspeedcap_max ""
sv_jumpspeedcap_max_disable_on_ramps 1
g_teleport_maxspeed 0
+g_teleport_minspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
g_movement_highspeed_q3_compat 0
sv_jumpspeedcap_max 0.38
sv_jumpspeedcap_max_disable_on_ramps 0
g_teleport_maxspeed 0
+g_teleport_minspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
g_movement_highspeed_q3_compat 0
sv_jumpspeedcap_max ""
sv_jumpspeedcap_max_disable_on_ramps 0
g_teleport_maxspeed 0
+g_teleport_minspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
g_movement_highspeed_q3_compat 0
sv_jumpspeedcap_max ""
sv_jumpspeedcap_max_disable_on_ramps 0
g_teleport_maxspeed 0
+g_teleport_minspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
g_movement_highspeed_q3_compat 0
sv_jumpspeedcap_max ""
sv_jumpspeedcap_max_disable_on_ramps 0
g_teleport_maxspeed 0
+g_teleport_minspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
g_movement_highspeed_q3_compat 0
sv_jumpspeedcap_max ""
sv_jumpspeedcap_max_disable_on_ramps 0
g_teleport_maxspeed 0
+g_teleport_minspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
g_movement_highspeed_q3_compat 0
sv_jumpspeedcap_max ""
sv_jumpspeedcap_max_disable_on_ramps 0
g_teleport_maxspeed 0
+g_teleport_minspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
g_movement_highspeed_q3_compat 0
sv_jumpspeedcap_max ""
sv_jumpspeedcap_max_disable_on_ramps 0
g_teleport_maxspeed 0
+g_teleport_minspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
g_movement_highspeed_q3_compat 0
sv_jumpspeedcap_max ""
sv_jumpspeedcap_max_disable_on_ramps 0
g_teleport_maxspeed 0
+g_teleport_minspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
g_movement_highspeed_q3_compat 0
sv_jumpspeedcap_max ""
sv_jumpspeedcap_max_disable_on_ramps 0
g_teleport_maxspeed 0
+g_teleport_minspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
g_movement_highspeed_q3_compat 0
sv_jumpspeedcap_max ""
sv_jumpspeedcap_max_disable_on_ramps 0
g_teleport_maxspeed 0
+g_teleport_minspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
g_movement_highspeed_q3_compat 0
sv_jumpspeedcap_max ""
sv_jumpspeedcap_max_disable_on_ramps 1
g_teleport_maxspeed 0
+g_teleport_minspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
g_movement_highspeed_q3_compat 0
sv_jumpspeedcap_max ""
sv_jumpspeedcap_max_disable_on_ramps 1
g_teleport_maxspeed 0
+g_teleport_minspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 400
g_movement_highspeed_q3_compat 0
sv_jumpspeedcap_max ""
sv_jumpspeedcap_max_disable_on_ramps 0
g_teleport_maxspeed 0
+g_teleport_minspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
g_movement_highspeed_q3_compat 0
sv_jumpspeedcap_max ""
sv_jumpspeedcap_max_disable_on_ramps 0
g_teleport_maxspeed 0
+g_teleport_minspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
g_movement_highspeed_q3_compat 0
sv_jumpspeedcap_max ""
sv_jumpspeedcap_max_disable_on_ramps 0
g_teleport_maxspeed 0
+g_teleport_minspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
g_movement_highspeed_q3_compat 0
// VQ3 has no ramp jumping
sv_jumpspeedcap_max 270
sv_jumpspeedcap_max_disable_on_ramps 0
-// FIXME: Q3 teleporters _set_ speed to 400, not cap it
g_teleport_maxspeed 400
+g_teleport_minspeed 400
sv_track_canjump 1
sv_gameplayfix_stepdown_maxspeed 0
g_movement_highspeed_q3_compat 1
sv_jumpspeedcap_max ""
sv_jumpspeedcap_max_disable_on_ramps 0
g_teleport_maxspeed 0
+g_teleport_minspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
g_movement_highspeed_q3_compat 0
sv_jumpspeedcap_max ""
sv_jumpspeedcap_max_disable_on_ramps 0
g_teleport_maxspeed 0
+g_teleport_minspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
g_movement_highspeed_q3_compat 0
sv_jumpspeedcap_max ""
sv_jumpspeedcap_max_disable_on_ramps 0
g_teleport_maxspeed 0
+g_teleport_minspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
g_movement_highspeed_q3_compat 0
sv_jumpspeedcap_max ""
sv_jumpspeedcap_max_disable_on_ramps 0
g_teleport_maxspeed 0
+g_teleport_minspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
g_movement_highspeed_q3_compat 0
sv_jumpspeedcap_max ""
sv_jumpspeedcap_max_disable_on_ramps 0
g_teleport_maxspeed 0
+g_teleport_minspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
g_movement_highspeed_q3_compat 0
sv_jumpspeedcap_max ""
sv_jumpspeedcap_max_disable_on_ramps 0
g_teleport_maxspeed 0
+g_teleport_minspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 0
g_movement_highspeed_q3_compat 0
sv_jumpspeedcap_max ""
sv_jumpspeedcap_max_disable_on_ramps 1
g_teleport_maxspeed 0
+g_teleport_minspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 400
g_movement_highspeed_q3_compat 0
sv_jumpspeedcap_max ""
sv_jumpspeedcap_max_disable_on_ramps 1
g_teleport_maxspeed 0
+g_teleport_minspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 400
g_movement_highspeed_q3_compat 0
sv_jumpspeedcap_max ""
sv_jumpspeedcap_max_disable_on_ramps 1
g_teleport_maxspeed 0
+g_teleport_minspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 400
g_movement_highspeed_q3_compat 0
sv_jumpspeedcap_max 0.5
sv_jumpspeedcap_max_disable_on_ramps 1
g_teleport_maxspeed 600
+g_teleport_minspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 400
// needed for correct q3 haste simulation
sv_jumpspeedcap_max ""
sv_jumpspeedcap_max_disable_on_ramps 1
g_teleport_maxspeed 0
+g_teleport_minspeed 0
sv_track_canjump 0
sv_gameplayfix_stepdown_maxspeed 400
g_movement_highspeed_q3_compat 0
if(!(teleporter.classname == "trigger_teleport" && (teleporter.spawnflags & TELEPORT_KEEP_SPEED)) &&
!(teleporter.classname == "target_teleporter" && (teleporter.spawnflags & TARGET_TELEPORTER_KEEP_SPEED)))
+ {
+ // test if player is slower than min
+ if(STAT(TELEPORT_MINSPEED, player))
+ if(vdist(player.velocity, <, STAT(TELEPORT_MINSPEED, player)))
+ player.velocity = normalize(player.velocity) * max(0, STAT(TELEPORT_MINSPEED, player));
+ // test if player is faster than max (or if min is above max)
if(STAT(TELEPORT_MAXSPEED, player))
if(vdist(player.velocity, >, STAT(TELEPORT_MAXSPEED, player)))
player.velocity = normalize(player.velocity) * max(0, STAT(TELEPORT_MAXSPEED, player));
+ }
locout = e.origin + '0 0 1' * (1 - player.mins.z - 24);
#ifdef SVQC
float autocvar_g_teleport_maxspeed;
+float autocvar_g_teleport_minspeed;
#endif
REGISTER_STAT(TELEPORT_MAXSPEED, float, autocvar_g_teleport_maxspeed)
+REGISTER_STAT(TELEPORT_MINSPEED, float, autocvar_g_teleport_minspeed)
REGISTER_STAT(TELEPORT_TELEFRAG_AVOID, int, autocvar_g_telefrags_avoid)
REGISTER_STAT(CAMERA_SPECTATOR, int)
set g_telefrags_teamplay 1 "never telefrag team mates"
set g_telefrags_avoid 1 "when teleporters have a random destination, avoid teleporting to locations where a telefrag would happen"
set g_teleport_maxspeed 0 "maximum speed that a player can keep when going through a teleporter (if a misc_teleporter_dest also has a cap the smallest one of these will be used), 0 = don't limit, -1 = keep no speed"
+set g_teleport_minspeed 0 "minimum speed that a player can keep when going through a teleporter which affects speed"
set g_respawn_ghosts 1 "if 1 dead bodies become ghosts and float away when the player respawns"
set g_respawn_ghosts_speed 5 "the speed with which respawn ghosts float and rotate"