153 ATTRIB(Client, idlekick_lasttimeleft,
float,
this.idlekick_lasttimeleft);
166 ATTRIB(Client, version_nagtime,
float,
this.version_nagtime);
167 ATTRIB(Client, netname_previous,
string,
this.netname_previous);
172 ATTRIB(Client, version_mismatch,
bool,
this.version_mismatch);
186 ATTRIB(Client, specialcommand_pos,
int,
this.specialcommand_pos);
200 ATTRIB(Client, cvar_cl_allow_uid2name,
int, this.cvar_cl_allow_uid2name);
201 ATTRIB(Client, cvar_cl_allow_uidtracking,
int, this.cvar_cl_allow_uidtracking);
202 ATTRIB(Client, cvar_cl_autotaunt,
float, this.cvar_cl_autotaunt);
203 ATTRIB(Client, cvar_cl_voice_directional,
int, this.cvar_cl_voice_directional);
204 ATTRIB(Client, cvar_cl_voice_directional_taunt_attenuation,
float, this.cvar_cl_voice_directional_taunt_attenuation);
205 ATTRIB(Client, cvar_cl_physics,
string, this.cvar_cl_physics);
206 ATTRIB(Client, cvar_cl_buffs_autoreplace,
bool, this.cvar_cl_buffs_autoreplace);
207 ATTRIB(Client, cvar_cl_nade_type,
int, this.cvar_cl_nade_type);
208 ATTRIB(Client, cvar_cl_pokenade_type,
string, this.cvar_cl_pokenade_type);
209 ATTRIB(Client, cvar_cl_spawn_near_teammate,
bool, this.cvar_cl_spawn_near_teammate);
210 ATTRIB(Client, cvar_cl_gunalign,
int, this.cvar_cl_gunalign);
211 ATTRIB(Client, cvar_cl_handicap,
float, this.cvar_cl_handicap);
212 ATTRIB(Client, cvar_cl_clippedspectating,
bool, this.cvar_cl_clippedspectating);
213 ATTRIB(Client, cvar_cl_autoscreenshot,
int, this.cvar_cl_autoscreenshot);
214 ATTRIB(Client, cvar_cl_jetpack_jump,
bool, this.cvar_cl_jetpack_jump);
215 ATTRIB(Client, cvar_cl_noantilag,
bool, this.cvar_cl_noantilag);
216 ATTRIB(Client, cvar_cl_movement_track_canjump,
bool, this.cvar_cl_movement_track_canjump);
217 ATTRIB(Client, cvar_cl_weaponimpulsemode,
int, this.cvar_cl_weaponimpulsemode);
218 ATTRIB(Client, cvar_g_xonoticversion,
string, this.cvar_g_xonoticversion);
219 ATTRIB(Client, cvar_cl_autoswitch,
bool, this.cvar_cl_autoswitch);
220 ATTRIB(Client, cvar_cl_casings,
bool, this.cvar_cl_casings);
221 ATTRIB(Client, cvar_r_drawviewmodel,
bool, this.cvar_r_drawviewmodel);
222 ATTRIB(Client, cvar_cl_dodging_timeout,
float, this.cvar_cl_dodging_timeout);
223 ATTRIB(Client, cvar_cl_dodging,
float, this.cvar_cl_dodging);
224 ATTRIB(Client, cvar_cl_multijump,
bool, this.cvar_cl_multijump);
225 ATTRIB(Client, cvar_cl_accuracy_data_share,
bool, this.cvar_cl_accuracy_data_share);
226 ATTRIB(Client, cvar_cl_accuracy_data_receive,
bool, this.cvar_cl_accuracy_data_receive);
227 ATTRIBARRAY(Client, cvar_cl_weaponpriorities,
string, 10);
228 ATTRIB(Client, cvar_cl_weaponpriority,
string, this.cvar_cl_weaponpriority);
229 ATTRIB(Client, cvar_cl_cts_noautoswitch,
bool, this.cvar_cl_cts_noautoswitch);
230 ATTRIB(Client, cvar_cl_weapon_switch_reload,
bool, this.cvar_cl_weapon_switch_reload);
231 ATTRIB(Client, cvar_cl_weapon_switch_fallback_to_impulse,
bool, this.cvar_cl_weapon_switch_fallback_to_impulse);
234 METHOD(Client, m_unwind,
bool(Client
this));
240 if (this.m_unwind(
this))
return this;
243 static int playerid_last;
244 this.playerid = ++playerid_last;
253 this.netaddress =
"local";
289 METHOD(Client, m_unwind,
bool(Client
this))
292 #define UNWIND(class) MACRO_BEGIN if (this.instanceOf##class) { METHOD_REFERENCE(class, dtorimpl)(this); } MACRO_END 313 #define INDEPENDENT_PLAYERS (autocvar__independent_players ? (autocvar__independent_players > 0) : independent_players) 314 #define IS_INDEPENDENT_PLAYER(e) ((e).solid == SOLID_TRIGGER) 315 #define MAKE_INDEPENDENT_PLAYER(e) (((e).solid = SOLID_TRIGGER), ((e).frags = FRAGS_PLAYER_OUT_OF_GAME)) 352 #define GAMETYPE_DEFAULTED_SETTING(str) \ 353 ((gametype_setting_tmp = cvar(strcat("g_", GetGametype(), "_" #str))), \ 354 (gametype_setting_tmp < 0) ? 0 \ 355 : (gametype_setting_tmp == 0 || autocvar_g_respawn_delay_forced) ? max(0, autocvar_g_##str) \ 356 : gametype_setting_tmp) 371 .void(entity
this, entity player) init_for_player;
380 void RotRegen(entity
this, entity current,
float limit_mod,
381 float regenstable,
float regenfactor,
float regenlinear,
float regenframetime,
382 float rotstable,
float rotfactor,
float rotlinear,
float rotframetime);
384 bool Spectate(entity
this, entity pl);
401 void Join(entity
this);
403 #define SPECTATE_COPY() ACCUMULATE void SpectateCopy(entity this, entity spectatee) 404 #define SPECTATE_COPYFIELD(fld) SPECTATE_COPY() { this.(fld) = spectatee.(fld); } #define DESTRUCTOR(cname)
const string STR_SPECTATOR
int autocvar_sv_name_maxlength
float autocvar_g_balance_pause_health_regen_spawn
ERASEABLE void IL_REMOVE(IntrusiveList this, entity it)
Remove any element, anywhere in the list.
float autocvar_g_balance_pause_health_rot_spawn
int msg_choice_choices[NOTIF_CHOICE_MAX]
bool Spectate(entity this, entity pl)
int autocvar_g_respawn_delay_small_count
float autocvar_sv_player_scale
bool autocvar_g_nodepthtestplayers
float autocvar_g_respawn_ghosts_speed
bool PlayerInList(entity player, string list)
float hasweapon_complain_spam
float autocvar_sv_maxidle
float autocvar_g_balance_pause_armor_rot_spawn
bool joinAllowed(entity this)
int autocvar_sv_maxidle_minplayers
float autocvar_g_respawn_delay_max
string autocvar_g_mutatormsg
void FixPlayermodel(entity player)
float autocvar_g_respawn_ghosts_fadetime
int autocvar_g_balance_armor_start
void SetSpectatee(entity this, entity spectatee)
int autocvar_g_respawn_delay_large_count
float autocvar_gameversion_max
float autocvar_g_respawn_delay_large
int autocvar__independent_players
void SetSpectatee_status(entity this, int spectatee_num)
bool autocvar_g_forced_respawn
float autocvar_g_respawn_ghosts_time
limitations: NULL cannot be present elements can only be present once a maximum of IL_MAX lists can e...
float autocvar_g_player_damageforcescale
vector cursor_trace_start
#define METHOD(cname, name, prototype)
void PlayerUseKey(entity this)
#define CONSTRUCT(cname,...)
bool autocvar_g_botclip_collisions
void ClientData_Touch(entity e)
vector cursor_trace_endpos
void ClientInit_misc(entity this)
bool autocvar_g_respawn_ghosts
float autocvar_g_respawn_delay_small
void FixClientCvars(entity e)
IntrusiveList g_initforplayer
float autocvar_gameversion_min
int autocvar_sv_maxidle_slots
bool autocvar_sv_teamnagger
int nJoinAllowed(entity this, entity ignore)
Determines whether the player is allowed to join.
#define BIT(n)
Only ever assign into the first 24 bits in QC (so max is BIT(23)).
bool autocvar_sv_maxidle_slots_countbots
ERASEABLE entity IL_PUSH(IntrusiveList this, entity it)
Push to tail.
bool autocvar_sv_maxidle_alsokickspectators
void calculate_player_respawn_time(entity this)
float pauserothealth_finished
void player_powerups_remove_all(entity this)
float autocvar_sv_maxidle_playertospectator
float pauserotfuel_finished
float pauserotarmor_finished
bool autocvar_sv_showspectators
float autocvar_gameversion
vector(float skel, float bonenum) _skel_get_boneabs_hidden
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 autocvar_g_fullbrightplayers
float autocvar_sv_foginterval
const string STR_OBSERVER
float autocvar_g_maxplayers_spectator_blocktime
bool autocvar_g_respawn_delay_forced
int autocvar_g_respawn_waves
#define STATIC_METHOD(cname, name, prototype)
void play_countdown(entity this, float finished, Sound samp)
float pauseregen_finished
#define ATTRIBARRAY(cname, name, type, cnt)
int autocvar_g_maxplayers
bool autocvar_sv_servermodelsonly
bool autocvar_g_playerclip_collisions
float autocvar_g_player_brightness
entity teamkill_soundsource
float autocvar_g_balance_pause_fuel_rot_spawn
float autocvar_g_respawn_ghosts_alpha
void ClientState_attach(entity this)
string weaponorder_byimpulse
string crypto_encryptmethod
#define CONSTRUCTOR(cname,...)
void PutObserverInServer(entity this, bool is_forced, bool use_spawnpoint)
putting a client as observer in the server
string autocvar_g_xonoticversion
float autocvar_g_player_alpha