5 ATTRIB(Client, netname, string, this.netname)
6 ATTRIB(Client, colormap, int, this.colormap)
7 ATTRIB(Client, team, int, this.team)
8 ATTRIB(Client, clientcolors, int, this.clientcolors)
10 ATTRIB(Client, netaddress, string, this.netaddress)
11 ATTRIB(Client, playermodel, string, this.playermodel)
12 ATTRIB(Client, playerskin, int, this.playerskin)
14 /** fingerprint of CA key the player used to authenticate */
15 ATTRIB(Client, crypto_keyfp, string, this.crypto_keyfp)
16 /** fingerprint of CA key the server used to authenticate to the player */
17 ATTRIB(Client, crypto_mykeyfp, string, this.crypto_mykeyfp)
18 /** fingerprint of ID used by the player entity, or string_null if not identified */
19 ATTRIB(Client, crypto_idfp, string, this.crypto_idfp)
20 /** set if the player's ID has been signed */
21 ATTRIB(Client, crypto_idfp_signed, bool, this.crypto_idfp_signed)
22 /** the string "AES128" if encrypting, and string_null if plaintext */
23 ATTRIB(Client, crypto_encryptmethod, string, this.crypto_encryptmethod)
24 /** the string "HMAC-SHA256" if signing, and string_null if plaintext */
25 ATTRIB(Client, crypto_signmethod, string, this.crypto_signmethod)
27 this.flags = FL_CLIENT;
33 void play_countdown(float finished, Sound samp);
35 float CalcRotRegen(float current, float regenstable, float regenfactor, float regenlinear, float regenframetime, float rotstable, float rotfactor, float rotlinear, float rotframetime, float limit);
37 float Spectate(entity pl);
39 #define SPECTATE_COPY() [[accumulate]] void SpectateCopy(entity this, entity spectatee)
40 #define SPECTATE_COPYFIELD(fld) SPECTATE_COPY() { this.(fld) = spectatee.(fld); }