X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fstats.qh;h=c7fc313a8802b082147098b3c1e391570ebff0ab;hb=e0734881271f41a4d7ded04b160a9059d7476f33;hp=4409e70ced1381c4709dae3ac49a024dec3cec65;hpb=f2741730af3cbdb03dc3a3e1bd10c1b881f5a75d;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/stats.qh b/qcsrc/common/stats.qh index 4409e70ce..cde626a2a 100644 --- a/qcsrc/common/stats.qh +++ b/qcsrc/common/stats.qh @@ -1,8 +1,7 @@ -#ifndef STATS_H -#define STATS_H +#pragma once #ifdef SVQC -#include "../server/cl_client.qh" +#include #endif // Full list of all stat constants, included in a single location for easy reference @@ -45,28 +44,23 @@ const int MAX_CL_STATS = 256; REGISTER_STAT(WEAPONS, vectori) REGISTER_STAT(WEAPONSINMAP, vectori) -REGISTER_STAT(PL_VIEW_OFS, vector, autocvar_sv_player_viewoffset) -REGISTER_STAT(PL_CROUCH_VIEW_OFS, vector, autocvar_sv_player_crouch_viewoffset) +REGISTER_STAT(PL_VIEW_OFS, vector) +REGISTER_STAT(PL_CROUCH_VIEW_OFS, vector) -REGISTER_STAT(PL_MIN, vector, autocvar_sv_player_mins) -REGISTER_STAT(PL_CROUCH_MIN, vector, autocvar_sv_player_crouch_mins) +REGISTER_STAT(PL_MIN, vector) +REGISTER_STAT(PL_CROUCH_MIN, vector) -REGISTER_STAT(PL_MAX, vector, autocvar_sv_player_maxs) -REGISTER_STAT(PL_CROUCH_MAX, vector, autocvar_sv_player_crouch_maxs) +REGISTER_STAT(PL_MAX, vector) +REGISTER_STAT(PL_CROUCH_MAX, vector) REGISTER_STAT(KH_KEYS, int) -/** weapon requested to switch to; next WANTED weapon (for HUD) */ -REGISTER_STAT(SWITCHWEAPON, int) -/** weapon currently being switched to (is copied from switchweapon once switch is possible) */ -REGISTER_STAT(SWITCHINGWEAPON, int) -REGISTER_STAT(WEAPON_NEXTTHINK, float) #ifdef SVQC -SPECTATE_COPY(_STAT(WEAPON_NEXTTHINK)) -float W_WeaponRateFactor(); +float W_WeaponRateFactor(entity this); +float game_stopped; #endif -REGISTER_STAT(WEAPONRATEFACTOR, float, W_WeaponRateFactor()) - +REGISTER_STAT(WEAPONRATEFACTOR, float, W_WeaponRateFactor(this)) +REGISTER_STAT(GAME_STOPPED, int, game_stopped) REGISTER_STAT(GAMESTARTTIME, float) REGISTER_STAT(STRENGTH_FINISHED, float) REGISTER_STAT(INVINCIBLE_FINISHED, float) @@ -115,13 +109,21 @@ REGISTER_STAT(NADE_BONUS_SCORE, float) REGISTER_STAT(HEALING_ORB, float) REGISTER_STAT(HEALING_ORB_ALPHA, float) REGISTER_STAT(PLASMA, int) -REGISTER_STAT(OK_AMMO_CHARGE, float) -REGISTER_STAT(OK_AMMO_CHARGEPOOL, float) REGISTER_STAT(FROZEN, int) REGISTER_STAT(REVIVE_PROGRESS, float) REGISTER_STAT(ROUNDLOST, int) REGISTER_STAT(BUFF_TIME, float) REGISTER_STAT(CTF_FLAGSTATUS, int) +REGISTER_STAT(CAPTURE_PROGRESS, float) +REGISTER_STAT(ENTRAP_ORB, float) +REGISTER_STAT(ENTRAP_ORB_ALPHA, float) +REGISTER_STAT(ITEMSTIME, int, autocvar_sv_itemstime) +REGISTER_STAT(KILL_TIME, float) + +#ifdef SVQC +bool autocvar_g_ctf_leaderboard; +#endif +REGISTER_STAT(CTF_SHOWLEADERBOARD, bool, autocvar_g_ctf_leaderboard) #ifdef SVQC int autocvar_g_multijump; @@ -172,12 +174,21 @@ REGISTER_STAT(BUGRIGS_SPEED_POW, float, g_bugrigs_speed_pow) REGISTER_STAT(BUGRIGS_SPEED_REF, float, g_bugrigs_speed_ref) REGISTER_STAT(BUGRIGS_STEER, float, g_bugrigs_steer) -REGISTER_STAT(GAMEPLAYFIX_DOWNTRACEONGROUND, int, cvar("sv_gameplayfix_downtracesupportsongroundflag")) -REGISTER_STAT(GAMEPLAYFIX_EASIERWATERJUMP, int, cvar("sv_gameplayfix_easierwaterjump")) -REGISTER_STAT(GAMEPLAYFIX_STEPDOWN, int, cvar("sv_gameplayfix_stepdown")) -REGISTER_STAT(GAMEPLAYFIX_STEPMULTIPLETIMES, int, cvar("sv_gameplayfix_stepmultipletimes")) -REGISTER_STAT(GAMEPLAYFIX_UNSTICKPLAYERS, int, cvar("sv_gameplayfix_unstickplayers")) +#ifdef SVQC +int autocvar_sv_gameplayfix_downtracesupportsongroundflag; +int autocvar_sv_gameplayfix_easierwaterjump; +int autocvar_sv_gameplayfix_stepdown; +int autocvar_sv_gameplayfix_stepmultipletimes; +int autocvar_sv_gameplayfix_unstickplayers; +int autocvar_sv_gameplayfix_fixedcheckwatertransition; +#endif +REGISTER_STAT(GAMEPLAYFIX_DOWNTRACEONGROUND, int, autocvar_sv_gameplayfix_downtracesupportsongroundflag) +REGISTER_STAT(GAMEPLAYFIX_EASIERWATERJUMP, int, autocvar_sv_gameplayfix_easierwaterjump) +REGISTER_STAT(GAMEPLAYFIX_STEPDOWN, int, autocvar_sv_gameplayfix_stepdown) +REGISTER_STAT(GAMEPLAYFIX_STEPMULTIPLETIMES, int, autocvar_sv_gameplayfix_stepmultipletimes) +REGISTER_STAT(GAMEPLAYFIX_UNSTICKPLAYERS, int, autocvar_sv_gameplayfix_unstickplayers) REGISTER_STAT(GAMEPLAYFIX_UPVELOCITYCLEARSONGROUND, int, autocvar_sv_gameplayfix_upwardvelocityclearsongroundflag) +REGISTER_STAT(GAMEPLAYFIX_WATERTRANSITION, int, autocvar_sv_gameplayfix_fixedcheckwatertransition) REGISTER_STAT(MOVEVARS_JUMPSTEP, int, cvar("sv_jumpstep")) REGISTER_STAT(NOSTEP, int, cvar("sv_nostep")) @@ -203,21 +214,27 @@ float autocvar_sv_dodging_horiz_speed_frozen; float autocvar_sv_dodging_ramp_time; float autocvar_sv_dodging_up_speed; bool autocvar_sv_dodging_wall_dodging; +bool autocvar_sv_dodging_air_dodging; +float autocvar_sv_dodging_maxspeed = 450; #endif +#if 0 REGISTER_STAT(DODGING, int, g_dodging) REGISTER_STAT(DODGING_DELAY, float, autocvar_sv_dodging_delay) REGISTER_STAT(DODGING_DISTANCE_THRESHOLD, float, autocvar_sv_dodging_wall_distance_threshold) -REGISTER_STAT(DODGING_FROZEN, int, autocvar_sv_dodging_frozen) REGISTER_STAT(DODGING_FROZEN_NO_DOUBLETAP, int, autocvar_sv_dodging_frozen_doubletap) REGISTER_STAT(DODGING_HEIGHT_THRESHOLD, float, autocvar_sv_dodging_height_threshold) REGISTER_STAT(DODGING_HORIZ_SPEED, float, autocvar_sv_dodging_horiz_speed) REGISTER_STAT(DODGING_HORIZ_SPEED_FROZEN, float, autocvar_sv_dodging_horiz_speed_frozen) REGISTER_STAT(DODGING_RAMP_TIME, float, autocvar_sv_dodging_ramp_time) +REGISTER_STAT(DODGING_UP_SPEED, float, autocvar_sv_dodging_up_speed) +REGISTER_STAT(DODGING_WALL, bool, autocvar_sv_dodging_wall_dodging) +REGISTER_STAT(DODGING_AIR, bool, autocvar_sv_dodging_air_dodging) +REGISTER_STAT(DODGING_MAXSPEED, float, autocvar_sv_dodging_maxspeed) +#endif /** cvar loopback */ +REGISTER_STAT(DODGING_FROZEN, int, autocvar_sv_dodging_frozen) REGISTER_STAT(DODGING_TIMEOUT, float) -REGISTER_STAT(DODGING_UP_SPEED, float, autocvar_sv_dodging_up_speed) -REGISTER_STAT(DODGING_WALL, int, autocvar_sv_dodging_wall_dodging) REGISTER_STAT(JETPACK_ACCEL_SIDE, float, autocvar_g_jetpack_acceleration_side) REGISTER_STAT(JETPACK_ACCEL_UP, float, autocvar_g_jetpack_acceleration_up) @@ -225,8 +242,23 @@ REGISTER_STAT(JETPACK_ANTIGRAVITY, float, autocvar_g_jetpack_antigravity) REGISTER_STAT(JETPACK_FUEL, float, autocvar_g_jetpack_fuel) REGISTER_STAT(JETPACK_MAXSPEED_SIDE, float, autocvar_g_jetpack_maxspeed_side) REGISTER_STAT(JETPACK_MAXSPEED_UP, float, autocvar_g_jetpack_maxspeed_up) +REGISTER_STAT(JETPACK_REVERSE_THRUST, float, autocvar_g_jetpack_reverse_thrust) -REGISTER_STAT(MOVEVARS_HIGHSPEED, float, autocvar_g_movement_highspeed) +REGISTER_STAT(MOVEVARS_HIGHSPEED, float) + +#ifdef SVQC +AUTOCVAR(g_walljump, bool, false, "Enable wall jumping mutator"); +AUTOCVAR(g_walljump_delay, float, 1, "Minimum delay between wall jumps"); +AUTOCVAR(g_walljump_force, float, 300, "How far to bounce/jump off the wall"); +AUTOCVAR(g_walljump_velocity_xy_factor, float, 1.15, "How much to slow down along horizontal axis, higher value = higher deceleration, if factor is < 1, you accelerate by wall jumping"); +AUTOCVAR(g_walljump_velocity_z_factor, float, 0.5, "Upwards velocity factor, multiplied by normal jump velocity"); +#endif +REGISTER_STAT(WALLJUMP, int, autocvar_g_walljump) +REGISTER_STAT(WALLJUMP_VELOCITY_Z_FACTOR, float, autocvar_g_walljump_velocity_z_factor) +REGISTER_STAT(WALLJUMP_VELOCITY_XY_FACTOR, float, autocvar_g_walljump_velocity_xy_factor) +REGISTER_STAT(WALLJUMP_DELAY, float, autocvar_g_walljump_delay) +REGISTER_STAT(WALLJUMP_FORCE, float, autocvar_g_walljump_force) +REGISTER_STAT(LASTWJ, float) // freeze tag, clan arena REGISTER_STAT(REDALIVE, int) @@ -244,8 +276,15 @@ REGISTER_STAT(DOM_PPS_PINK, float) REGISTER_STAT(TELEPORT_MAXSPEED, float, autocvar_g_teleport_maxspeed) REGISTER_STAT(TELEPORT_TELEFRAG_AVOID, int, autocvar_g_telefrags_avoid) +REGISTER_STAT(CAMERA_SPECTATOR, int) + REGISTER_STAT(SPECTATORSPEED, float) +#ifdef SVQC +bool autocvar_sv_slick_applygravity; +#endif +REGISTER_STAT(SLICK_APPLYGRAVITY, bool, autocvar_sv_slick_applygravity) + #ifdef SVQC #include "physics/movetypes/movetypes.qh" #endif @@ -255,6 +294,7 @@ REGISTER_STAT(MOVEVARS_AIRCONTROL_PENALTY, float) REGISTER_STAT(MOVEVARS_AIRSPEEDLIMIT_NONQW, float) REGISTER_STAT(MOVEVARS_AIRSTRAFEACCEL_QW, float) REGISTER_STAT(MOVEVARS_AIRCONTROL_POWER, float) +REGISTER_STAT(MOVEVARS_AIRCONTROL_BACKWARDS, bool) noref bool autocvar_sv_gameplayfix_nogravityonground; REGISTER_STAT(MOVEFLAGS, int, MOVEFLAG_VALID | (autocvar_sv_gameplayfix_q2airaccelerate ? MOVEFLAG_Q2AIRACCELERATE : 0) @@ -273,6 +313,7 @@ REGISTER_STAT(MOVEVARS_MAXAIRSTRAFESPEED, float) REGISTER_STAT(MOVEVARS_AIRCONTROL, float) REGISTER_STAT(FRAGLIMIT, float, autocvar_fraglimit) REGISTER_STAT(TIMELIMIT, float, autocvar_timelimit) +REGISTER_STAT(WARMUP_TIMELIMIT, float, warmup_limit) #ifdef SVQC float autocvar_sv_wallfriction; #endif @@ -303,8 +344,5 @@ REPLICATE(cvar_cl_gunalign, int, "cl_gunalign"); #endif REGISTER_STAT(GUNALIGN, int, this.cvar_cl_gunalign) #ifdef SVQC -SPECTATE_COPY(_STAT(GUNALIGN)) -#endif - - +SPECTATE_COPYFIELD(_STAT(GUNALIGN)) #endif