3 #include <common/weapons/_all.qh>
5 float checkrules_equality;
6 float checkrules_suddendeathwarning;
7 float checkrules_suddendeathend;
8 //float checkrules_overtimesadded; //how many overtimes have been already added
10 // flag set on worldspawn so that the code knows if it is dedicated or not
11 bool server_is_dedicated;
14 string cvar_purechanges;
15 float cvar_purechanges_count;
30 string redirection_target;
32 string cache_mutatormsg;
33 string cache_lastmutatormsg;
35 float default_player_alpha;
36 float default_weapon_alpha;
38 float g_pickup_shells_max;
39 float g_pickup_nails_max;
40 float g_pickup_rockets_max;
41 float g_pickup_cells_max;
42 float g_pickup_plasma_max;
43 float g_pickup_fuel_max;
44 float g_pickup_weapons_anyway;
46 WepSet g_weaponarena_weapons;
47 float g_weaponarena_random; // TODO
48 string g_weaponarena_list;
51 WepSet start_weapons_default;
52 WepSet start_weapons_defaultmask;
54 float start_ammo_shells;
55 float start_ammo_nails;
56 float start_ammo_rockets;
57 float start_ammo_cells;
58 float start_ammo_plasma;
59 float start_ammo_fuel;
60 /// \brief Number of random start weapons to give to players.
61 int random_start_weapons_count;
62 /// \brief Holds a list of possible random start weapons.
63 string autocvar_g_random_start_weapons;
64 /// \brief Entity that contains amount of ammo to give with random start
66 entity random_start_ammo;
68 float start_armorvalue;
69 WepSet warmup_start_weapons;
70 WepSet warmup_start_weapons_default;
71 WepSet warmup_start_weapons_defaultmask;
72 #define WARMUP_START_WEAPONS ((autocvar_g_warmup_allguns == 1) ? (warmup_start_weapons & (weaponsInMap | start_weapons)) : warmup_start_weapons)
73 float warmup_start_ammo_shells;
74 float warmup_start_ammo_nails;
75 float warmup_start_ammo_rockets;
76 float warmup_start_ammo_cells;
77 float warmup_start_ammo_plasma;
78 float warmup_start_ammo_fuel;
79 float warmup_start_health;
80 float warmup_start_armorvalue;
83 float want_weapon(entity weaponinfo, float allguns); // WEAPONTODO: what still needs done?
85 float g_grappling_hook;
88 bool sv_ready_restart_after_countdown;
90 .void(entity this) initialize_entity;
91 .int initialize_entity_order;
92 .entity initialize_entity_next;
93 entity initialize_entity_first;
95 void InitializeEntitiesRun();
97 void InitializeEntity(entity e, void(entity this) func, int order);
104 const int WINNING_NO = 0; // no winner, but time limits may terminate the game
105 const int WINNING_YES = 1; // winner found
106 const int WINNING_NEVER = 2; // no winner, enter overtime if time limit is reached
107 const int WINNING_STARTSUDDENDEATHOVERTIME = 3; // no winner, enter suddendeath overtime NOW
109 float WinningCondition_Scores(float limit, float leadlimit);
110 void SetWinners(.float field, float value);
113 void DumpStats(float final);
115 bool MoveToRandomLocationWithinBounds(entity e, vector boundmin, vector boundmax, float goodcontents, float badcontents, float badsurfaceflags, int attempts, float maxaboveground, float minviewdistance);
117 float MoveToRandomMapLocation(entity e, float goodcontents, float badcontents, float badsurfaceflags, float attempts, float maxaboveground, float minviewdistance);
119 void CheckRules_World();
120 float RedirectionThink();
122 void readplayerstartcvars();
124 void readlevelcvars();
126 .vector dropped_origin;
127 void droptofloor(entity this);
129 IntrusiveList g_moveables;
130 STATIC_INIT(g_moveables) { g_moveables = IL_NEW(); }