X-Git-Url: https://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fserver%2Fclient.qh;h=9ba57f1931a33f0c1bf8d911ce0c7db80d6780b4;hp=43e041bf62769b30bccc58f1681af2cbac1732a0;hb=bba2475e3a8b84e359ffae9b530d651f4d63e99a;hpb=aa7d2f01b3013bab75ad7bb0171eddb6bd86465b diff --git a/qcsrc/server/client.qh b/qcsrc/server/client.qh index 43e041bf62..9ba57f1931 100644 --- a/qcsrc/server/client.qh +++ b/qcsrc/server/client.qh @@ -2,6 +2,7 @@ #include "utils.qh" #include +//#include #include #include @@ -33,7 +34,9 @@ bool autocvar_g_nodepthtestplayers; string autocvar_g_mutatormsg; float autocvar_sv_foginterval; float autocvar_sv_maxidle; -bool autocvar_sv_maxidle_spectatorsareidle; +int autocvar_sv_maxidle_minplayers = 2; +float autocvar_sv_maxidle_playertospectator = 60; +bool autocvar_sv_maxidle_alsokickspectators; int autocvar_sv_maxidle_slots; bool autocvar_sv_maxidle_slots_countbots; bool autocvar_g_forced_respawn; @@ -61,7 +64,6 @@ bool autocvar_sv_showspectators; .float jointime; // time of connecting .float startplaytime; // time of switching from spectator to player .float alivetime; // time of being alive -.float motd_actived_time; // used for both motd and campaign_message .bool wasplayer; @@ -156,7 +158,6 @@ CLASS(Client, Object) ATTRIB(Client, teamkill_soundtime, float, this.teamkill_soundtime); ATTRIB(Client, teamkill_soundsource, entity, this.teamkill_soundsource); ATTRIB(Client, usekeypressed, bool, this.usekeypressed); - ATTRIB(Client, motd_actived_time, float, this.motd_actived_time); ATTRIB(Client, jointime, float, this.jointime); ATTRIB(Client, spectatortime, float, this.spectatortime); ATTRIB(Client, startplaytime, float, this.startplaytime); @@ -209,12 +210,11 @@ CLASS(Client, Object) ATTRIB(Client, cvar_cl_clippedspectating, bool, this.cvar_cl_clippedspectating); ATTRIB(Client, cvar_cl_autoscreenshot, int, this.cvar_cl_autoscreenshot); ATTRIB(Client, cvar_cl_jetpack_jump, bool, this.cvar_cl_jetpack_jump); - ATTRIB(Client, cvar_cl_newusekeysupported, bool, this.cvar_cl_newusekeysupported); ATTRIB(Client, cvar_cl_noantilag, bool, this.cvar_cl_noantilag); ATTRIB(Client, cvar_cl_movement_track_canjump, bool, this.cvar_cl_movement_track_canjump); ATTRIB(Client, cvar_cl_weaponimpulsemode, int, this.cvar_cl_weaponimpulsemode); ATTRIB(Client, cvar_g_xonoticversion, string, this.cvar_g_xonoticversion); - ATTRIB(Client, autoswitch, bool, this.autoswitch); + ATTRIB(Client, cvar_cl_autoswitch, bool, this.cvar_cl_autoswitch); ATTRIB(Client, cvar_cl_casings, bool, this.cvar_cl_casings); ATTRIB(Client, cvar_r_drawviewmodel, bool, this.cvar_r_drawviewmodel); ATTRIB(Client, cvar_cl_dodging_timeout, float, this.cvar_cl_dodging_timeout); @@ -274,9 +274,6 @@ CLASS(Player, Client) ATTRIB(Player, dual_weapons, vector, this.dual_weapons); // TODO: actually WepSet! ATTRIB(Player, itemkeys, int, this.itemkeys); ATTRIB(Player, ballistics_density, float, this.ballistics_density); - ATTRIB(Player, prevstrengthsound, float, this.prevstrengthsound); - ATTRIB(Player, prevstrengthsoundattempt, float, this.prevstrengthsoundattempt); - ATTRIB(Player, buff_shield, float, this.buff_shield); INIT(Player) { this.classname = STR_PLAYER; @@ -321,6 +318,8 @@ bool independent_players; .float nickspamtime; // time of last nick change .float nickspamcount; +void SendWelcomeMessage(entity this, int msg_type); + // respawning .int respawn_flags; .float respawn_time; @@ -364,8 +363,6 @@ void ClientData_Touch(entity e); int nJoinAllowed(entity this, entity ignore); -void checkSpectatorBlock(entity this); - void PlayerUseKey(entity this); void FixClientCvars(entity e); @@ -379,13 +376,16 @@ STATIC_INIT(g_initforplayer) { g_initforplayer = IL_NEW(); } void play_countdown(entity this, float finished, Sound samp); void player_powerups_remove_all(entity this); -void RotRegen(entity this, float current, float regenstable, float regenfactor, float regenlinear, float regenframetime, float rotstable, float rotfactor, float rotlinear, float rotframetime, float limit_mod); +// NOTE: current type is Resource (avoiding circular includes!) +void RotRegen(entity this, entity current, float limit_mod, + float regenstable, float regenfactor, float regenlinear, float regenframetime, + float rotstable, float rotfactor, float rotlinear, float rotframetime); bool Spectate(entity this, entity pl); void ClientInit_Spawn(); -void PutObserverInServer(entity this); +void PutObserverInServer(entity this, bool is_forced, bool use_spawnpoint); void SetSpectatee(entity this, entity spectatee); void SetSpectatee_status(entity this, int spectatee_num);