float WS_INUSE = 3; // fire state
float WS_READY = 4; // idle frame
-// weapon requests
-float WR_SETUP = 1; // setup weapon data
-float WR_THINK = 2; // logic to run every frame
-float WR_CHECKAMMO1 = 3; // checks ammo for weapon
-float WR_CHECKAMMO2 = 4; // checks ammo for weapon
-float WR_AIM = 5; // runs bot aiming code for this weapon
-float WR_PRECACHE = 6; // precaches models/sounds used by this weapon
-float WR_SUICIDEMESSAGE = 7; // sets w_deathtypestring or leaves it alone (and may inspect w_deathtype for details)
-float WR_KILLMESSAGE = 8; // sets w_deathtypestring or leaves it alone
-float WR_RELOAD = 9; // does not need to do anything
-float WR_RESETPLAYER = 10; // does not need to do anything
+// there is 2 weapon tics that can run in one server frame
+#define W_TICSPERFRAME 2
void weapon_defaultspawnfunc(float wpn);
string w_deathtypestring;
-float w_deathtype;
void(entity client, string s) centerprint_builtin = #73;
.vector dest1, dest2;
.float cvar_cl_gunalign;
.float cvar_cl_noantilag;
+.string weaponorder_byimpulse;
+
void Announce(string snd);
void AnnounceTo(entity e, string snd);
// TODO implemented fall and falling
#define ALLPLAYERSOUNDS \
_VOICEMSG(death) \
+ _VOICEMSG(fall) \
_VOICEMSG(drown) \
_VOICEMSG(gasp) \
_VOICEMSG(jump) \
void ClearPlayerSounds();
void PlayerSound(.string samplefield, float channel, float voicetype);
void GlobalSound(string samplestring, float channel, float voicetype);
+void FakeGlobalSound(string samplestring, float channel, float voicetype);
void VoiceMessage(string type, string message);
// autotaunt system
float game_starttime; //point in time when the countdown is over
.float stat_game_starttime;
+.float stat_sv_airaccel_qw;
+.float stat_sv_airstrafeaccel_qw;
+.float stat_sv_airspeedlimit_nonqw;
+
void W_Porto_Remove (entity p);
.float projectiledeathtype;
.float stats_hit[WEP_MAXCOUNT]; // for hitscan bullets hit
.float stats_fired[WEP_MAXCOUNT]; // for hitscan bullets fired
+.float last_pickup;
+
FTEQCC_YOU_SUCK_THIS_IS_NOT_UNREFERENCED(stats_hit);
FTEQCC_YOU_SUCK_THIS_IS_NOT_UNREFERENCED(stats_fired);
.float cvar_cl_accuracy_data_share;
.float cvar_cl_accuracy_data_receive;
+
+.float cvar_cl_weaponimpulsemode;
+.float selectweapon; // last selected weapon of the player
+
+.float ballistics_density; // wall piercing factor, larger = bullet can pass through more
+
+#define ACTIVE_NOT 0
+#define ACTIVE_ACTIVE 1
+#define ACTIVE_IDLE 2
+#define ACTIVE_BUSY 2
+#define ACTIVE_TOGGLE 3
+.float active;
+.float (float act_state) setactive;
+.entity realowner;
+
+.float nex_charge;
+
+float allowed_to_spawn; // boolean variable used by the clan arena code to determine if a player can spawn (after the round has ended)