Merge branch 'DefaultUser/func_button_dont_accumulate_dmg' into 'master'
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / player.qh
1 #pragma once
2
3 .entity pusher;
4 .float pushltime;
5 .float istypefrag;
6
7 .float CopyBody_nextthink;
8 .void(entity this) CopyBody_think;
9 void CopyBody_Think(entity this);
10 void CopyBody(entity this, float keepvelocity);
11
12 void dedicated_print(string input);
13
14 /// \brief Print the string to player's chat.
15 /// \param[in] player Player to print to.
16 /// \param[in] text Text to print.
17 /// \return No return.
18 void PrintToChat(entity player, string text);
19
20 /// \brief Print the string to player's chat if the server cvar "developer" is
21 /// not 0.
22 /// \param[in] player Player to print to.
23 /// \param[in] text Text to print.
24 /// \return No return.
25 void DebugPrintToChat(entity player, string text);
26
27 /// \brief Prints the string to all players' chat.
28 /// \param[in] text Text to print.
29 /// \return No return.
30 void PrintToChatAll(string text);
31
32 /// \brief Prints the string to all players' chat if the server cvar "developer"
33 /// is not 0.
34 /// \param[in] text Text to print.
35 /// \return No return.
36 void DebugPrintToChatAll(string text);
37
38 /// \brief Print the string to chat of all players of the specified team.
39 /// \param[in] teamnum Team to print to. See NUM_TEAM constants.
40 /// \param[in] text Text to print.
41 /// \return No return.
42 void PrintToChatTeam(int teamnum, string text);
43
44 /// \brief Print the string to chat of all players of the specified team if the
45 /// server cvar "developer" is not 0.
46 /// \param[in] teamnum Team to print to. See NUM_TEAM constants.
47 /// \param[in] text Text to print.
48 /// \return No return.
49 void DebugPrintToChatTeam(int teamnum, string text);
50
51 void player_setupanimsformodel(entity this);
52
53 void player_anim(entity this);
54
55 void PlayerCorpseDamage(entity this, entity inflictor, entity attacker, float damage, int deathtype, vector hitloc, vector force);
56
57 // g_<gametype>_str:
58 // If 0, default is used.
59 // If <0, 0 is used.
60 // Otherwise, g_str (default value) is used.
61 // For consistency, negative values there are mapped to zero too.
62 #define GAMETYPE_DEFAULTED_SETTING(str) \
63         ((gametype_setting_tmp = cvar(strcat("g_", GetGametype(), "_" #str))), \
64         (gametype_setting_tmp < 0) ? 0 \
65         : (gametype_setting_tmp == 0 || autocvar_g_respawn_delay_forced) ? max(0, autocvar_g_##str) \
66         : gametype_setting_tmp)
67
68 void calculate_player_respawn_time(entity this);
69
70 void ClientKill_Now_TeamChange(entity this);
71
72 /// \brief Moves player to the specified team.
73 /// \param[in,out] client Client to move.
74 /// \param[in] team_colour Color of the team.
75 /// \param[in] type ???
76 /// \return True on success, false otherwise.
77 bool MoveToTeam(entity client, float team_colour, float type);
78
79 void PlayerDamage(entity this, entity inflictor, entity attacker, float damage, int deathtype, vector hitloc, vector force);
80
81 int Say(entity source, float teamsay, entity privatesay, string msgin, float floodcontrol);