]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/server/world.qh
Merge branch 'master' into Mario/model_stair_smoothing
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / world.qh
1 #pragma once
2
3 #include <common/weapons/_all.qh>
4
5 float checkrules_equality;
6 float checkrules_suddendeathwarning;
7 float checkrules_suddendeathend;
8 float checkrules_overtimesadded; //how many overtimes have been already added
9
10 // flag set on worldspawn so that the code knows if it is dedicated or not
11 bool server_is_dedicated;
12
13 string cvar_changes;
14 string cvar_purechanges;
15 float cvar_purechanges_count;
16
17 string modname;
18
19 string gamemode_name;
20
21 string clientstuff;
22
23 string matchid;
24
25 .string fog;
26
27 string redirection_target;
28
29 string cache_mutatormsg;
30 string cache_lastmutatormsg;
31
32 float default_player_alpha;
33 float default_weapon_alpha;
34
35 float g_pickup_shells_max;
36 float g_pickup_nails_max;
37 float g_pickup_rockets_max;
38 float g_pickup_cells_max;
39 float g_pickup_plasma_max;
40 float g_pickup_fuel_max;
41 float g_pickup_weapons_anyway;
42 float g_weaponarena;
43 WepSet g_weaponarena_weapons;
44 float g_weaponarena_random; // TODO
45 string g_weaponarena_list;
46
47 WepSet start_weapons;
48 WepSet start_weapons_default;
49 WepSet start_weapons_defaultmask;
50 int start_items;
51 float start_ammo_shells;
52 float start_ammo_nails;
53 float start_ammo_rockets;
54 float start_ammo_cells;
55 float start_ammo_plasma;
56 float start_ammo_fuel;
57 /// \brief Number of random start weapons to give to players.
58 int random_start_weapons_count;
59 /// \brief Holds a list of possible random start weapons.
60 string autocvar_g_random_start_weapons;
61 /// \brief Entity that contains amount of ammo to give with random start
62 /// weapons.
63 entity random_start_ammo;
64 float start_health;
65 float start_armorvalue;
66 WepSet warmup_start_weapons;
67 WepSet warmup_start_weapons_default;
68 WepSet warmup_start_weapons_defaultmask;
69 #define WARMUP_START_WEAPONS ((autocvar_g_warmup_allguns == 1) ? (warmup_start_weapons & (weaponsInMap | start_weapons)) : warmup_start_weapons)
70 float warmup_start_ammo_shells;
71 float warmup_start_ammo_nails;
72 float warmup_start_ammo_rockets;
73 float warmup_start_ammo_cells;
74 float warmup_start_ammo_plasma;
75 float warmup_start_ammo_fuel;
76 float warmup_start_health;
77 float warmup_start_armorvalue;
78 float g_weapon_stay;
79
80 float want_weapon(entity weaponinfo, float allguns); // WEAPONTODO: what still needs done?
81
82 float g_grappling_hook;
83 float warmup_stage;
84
85 bool sv_ready_restart_after_countdown;
86
87 .void(entity this) initialize_entity;
88 .int initialize_entity_order;
89 .entity initialize_entity_next;
90 entity initialize_entity_first;
91
92 void InitializeEntitiesRun();
93
94 void InitializeEntity(entity e, void(entity this) func, int order);
95
96 // database
97 float ServerProgsDB;
98 float TemporaryDB;
99
100 .float winning;
101 const int WINNING_NO = 0; // no winner, but time limits may terminate the game
102 const int WINNING_YES = 1; // winner found
103 const int WINNING_NEVER = 2; // no winner, enter overtime if time limit is reached
104 const int WINNING_STARTSUDDENDEATHOVERTIME = 3; // no winner, enter suddendeath overtime NOW
105
106 float WinningCondition_Scores(float limit, float leadlimit);
107 void SetWinners(.float field, float value);
108 void ReadyRestart();
109
110 void DumpStats(float final);
111
112 bool MoveToRandomLocationWithinBounds(entity e, vector boundmin, vector boundmax, float goodcontents, float badcontents, float badsurfaceflags, int attempts, float maxaboveground, float minviewdistance);
113
114 float MoveToRandomMapLocation(entity e, float goodcontents, float badcontents, float badsurfaceflags, float attempts, float maxaboveground, float minviewdistance);
115
116 void CheckRules_World();
117 float RedirectionThink();
118
119 void readplayerstartcvars();
120
121 void readlevelcvars();
122
123 .vector dropped_origin;
124 void droptofloor(entity this);
125
126 IntrusiveList g_moveables;
127 STATIC_INIT(g_moveables) { g_moveables = IL_NEW(); }