X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fclient.qh;h=75a01c96baf2314eaf7110d90a5fa264a16c9d8e;hb=c28229c0d08c59c021e6fe31977e3b493581f11e;hp=51dcb86148f550841768e038b138cb502d9bc4b1;hpb=926ed1b0236982412cf330acad1298e0581e4e6e;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/client.qh b/qcsrc/server/client.qh index 51dcb8614..75a01c96b 100644 --- a/qcsrc/server/client.qh +++ b/qcsrc/server/client.qh @@ -1,5 +1,8 @@ #pragma once +#include "utils.qh" +#include + void ClientState_attach(entity this); IntrusiveList g_players; @@ -70,7 +73,6 @@ CLASS(Client, Object) ATTRIB(Client, parm_idlesince, int, this.parm_idlesince); ATTRIB(Client, muted, bool, this.muted); - ATTRIB(Client, killindicator_teamchange, int, this.killindicator_teamchange); ATTRIB(Client, idlekick_lasttimeleft, float, this.idlekick_lasttimeleft); ATTRIB(Client, pm_frametime, float, this.pm_frametime); ATTRIB(Client, pressedkeys, int, this.pressedkeys); @@ -83,6 +85,7 @@ CLASS(Client, Object) 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); ATTRIB(Client, version_nagtime, float, this.version_nagtime); ATTRIB(Client, netname_previous, string, this.netname_previous); ATTRIB(Client, allowed_timeouts, int, this.allowed_timeouts); @@ -109,6 +112,9 @@ CLASS(Client, Object) ATTRIB(Client, clientdata, entity, this.clientdata); ATTRIB(Client, cmd_floodcount, int, this.cmd_floodcount); ATTRIB(Client, cmd_floodtime, float, this.cmd_floodtime); + ATTRIB(Client, wasplayer, bool, this.wasplayer); + ATTRIB(Client, weaponorder_byimpulse, string, this.weaponorder_byimpulse); + ATTRIB(Client, autojoin_checked, bool, this.wasplayer); // networked cvars @@ -137,6 +143,8 @@ CLASS(Client, Object) ATTRIB(Client, cvar_cl_multijump, bool, this.cvar_cl_multijump); ATTRIB(Client, cvar_cl_accuracy_data_share, bool, this.cvar_cl_accuracy_data_share); ATTRIB(Client, cvar_cl_accuracy_data_receive, bool, this.cvar_cl_accuracy_data_receive); + ATTRIBARRAY(Client, cvar_cl_weaponpriorities, string, 10); + ATTRIB(Client, cvar_cl_weaponpriority, string, this.cvar_cl_weaponpriority); METHOD(Client, m_unwind, bool(Client this)); @@ -177,11 +185,15 @@ CLASS(Spectator, Client) ENDCLASS(Spectator) CLASS(Player, Client) - + // custom 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; @@ -214,8 +226,6 @@ METHOD(Client, m_unwind, bool(Client this)) return false; } -float c1, c2, c3, c4; - void play_countdown(entity this, float finished, Sound samp); float CalcRotRegen(float current, float regenstable, float regenfactor, float regenlinear, float regenframetime, float rotstable, float rotfactor, float rotlinear, float rotframetime, float limit);