]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/server/spawnpoints.qh
Merge branch 'bones_was_here/gunoffset' into 'master'
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / spawnpoints.qh
1 #pragma once
2
3 bool autocvar_g_spawn_alloweffects;
4 float autocvar_g_spawn_furthest;
5 bool autocvar_g_spawn_useallspawns;
6 bool autocvar_g_spawnpoints_auto_move_out_of_solid;
7 float autocvar_r_showbboxes; // engine cvar
8
9 // spawnpoint prios
10 const int SPAWN_PRIO_NEAR_TEAMMATE_FOUND = 200;
11 const int SPAWN_PRIO_NEAR_TEAMMATE_SAMETEAM = 100;
12 const int SPAWN_PRIO_RACE_PREVIOUS_SPAWN = 50;
13 const int SPAWN_PRIO_GOOD_DISTANCE = 10;
14
15 bool some_spawn_has_been_used;
16 int have_team_spawns; // 0 = no team spawns requested, -1 = team spawns requested but none found, 1 = team spawns requested and found
17 int have_team_spawns_forteams; // if Xth bit is 1 then team X has spawns else it has no spawns; team 0 is the "no-team"
18
19 .vector spawnpoint_score;
20 float spawnpoint_nag;
21 bool SpawnEvent_Send(entity this, entity to, int sf);
22 entity Spawn_FilterOutBadSpots(entity this, entity firstspot, float mindist, float teamcheck, bool targetcheck);
23 entity SelectSpawnPoint(entity this, bool anypoint);
24 spawnfunc(info_player_deathmatch);
25 void spawnpoint_use(entity this, entity actor, entity trigger);
26
27 USING(spawn_evalfunc_t, vector(entity this, entity player, entity spot, vector current));
28 .spawn_evalfunc_t spawn_evalfunc;
29
30 .int restriction;
31
32 IntrusiveList g_spawnpoints;
33 STATIC_INIT(g_spawnpoints) { g_spawnpoints = IL_NEW(); }