float require_spawnfunc_prefix; // if this float exists, only functions with spawnfunc_ name prefix qualify as spawn functions
-#define BUTTON_ATCK button0
-#define BUTTON_JUMP button2
-#define BUTTON_ATCK2 button3
-#define BUTTON_ZOOM button4
-#define BUTTON_CROUCH button5
-#define BUTTON_HOOK button6
-#define BUTTON_INFO button7
-#define BUTTON_CHAT buttonchat
-#define BUTTON_USE buttonuse
-#define BUTTON_DRAG button8
+#define BUTTON_ATCK button0
+#define BUTTON_JUMP button2
+#define BUTTON_ATCK2 button3
+#define BUTTON_ZOOM button4
+#define BUTTON_CROUCH button5
+#define BUTTON_HOOK button6
+#define BUTTON_INFO button7
+#define BUTTON_CHAT buttonchat
+#define BUTTON_USE buttonuse
+#define BUTTON_DRAG button8
+#define BUTTON_ZOOMSCRIPT button9
// Globals
.vector anim_forwardleft; // player running forward and left
.vector anim_backright; // player running backward and right
.vector anim_backleft; // player running back and left
+.vector anim_melee; // player doing the melee action
// weapon animation vectors:
.vector anim_fire1;
void w_ready();
// VorteX: standalone think for weapons, so normal think on weaponentity can be reserved by weaponflashes (which needs update even player dies)
.float weapon_nextthink;
+.float weapon_forbidchange;
.void() weapon_think;
//float PLAYER_WEAPONSELECTION_DELAY = );
.float cvar_cl_handicap;
.float cvar_cl_playerdetailreduction;
.float cvar_scr_centertime;
-.float cvar_cl_shownames;
.string cvar_g_xonoticversion;
.string cvar_cl_weaponpriority;
.string cvar_cl_weaponpriorities[10];
.entity jumppadsused[NUM_JUMPPADSUSED];
string gamemode_name;
-float teams_matter;
float startitem_failed;
float W_WeaponBit(float wpn);
string W_Name(float weaponid);
-void UpdateSelectedPlayer();
-void ClearSelectedPlayer();
-.entity selected_player;
-.entity last_selected_player;
-.float selected_player_time; // when this player has been selected
-.float selected_player_count; // how long this player has been directly pointed to
-.float selected_player_display_needs_update; // are regular updates necessary? (health)
-.float selected_player_display_timeout; // when the selection will time out
-
void FixIntermissionClient(entity e);
void FixClientCvars(entity e);
float some_spawn_has_been_used;
float have_team_spawns; // 0 = no team spawns requested, -1 = team spawns requested but none found, 1 = team spawns requested and found
-float have_noteam_spawns; // 0 = no no-team spawns, 1 = no-team spawns exist
+float have_team_spawns_forteam[17]; // 0 = this team has no spawns, 1 = this team has spawns; team 0 is the "no-team"
// set when showing a kill countdown
.entity killindicator;
.string target2;
.string target3;
.string target4;
+.float target_random;
.float trigger_reverse;
// Nexball
vector debug_shotorg; // if non-zero, overrides the shot origin of all weapons
-// the QC VM sucks
-#define BITXOR(v,b) ((v) + (b) - 2 * ((v) & (b)))
-#define BITXOR_ASSIGN(v,b) ((v) += ((b) - 2 * ((v) & (b))))
-
.float wasplayer;
float servertime, serverprevtime, serverframetime;
.entity muzzle_flash;
.float misc_bulletcounter; // replaces uzi & hlac bullet counter.
+
+void PlayerUseKey();