-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgamemodes.cfg
More file actions
119 lines (100 loc) · 4.84 KB
/
Copy pathgamemodes.cfg
File metadata and controls
119 lines (100 loc) · 4.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
// ===================================
// Master config for core game modes
// ===================================
// global gametype setting (0 = deathmatch)
set gamecfg 0
// say aliases
alias asay_willgo "say_team will go to %y"
alias asay_support "say_team (%l) need help, %h%%"
alias asay_killed "say_team got killed at %d"
alias asay_noammo "say_team (%l) need %W for %w"
alias asay_drop "say_team (%l) dropped %w ; impulse 17"
// =================
// gamestart hooks
// =================
seta cl_matchcount 0 // incremented by cl_hook_gameend and used by playerstats to know when to
alias _cl_hook_gamestart "set _cl_hook_gametype $1; _cl_hook_gamestart_stage2"
alias _cl_hook_gamestart_stage2 "cl_hook_gamestart_all; cl_hook_gamestart_${_cl_hook_gametype}"
alias cl_hook_gamestart_all
alias cl_hook_gamestart_nop //is only called when CSQC unloads before knowing the gametype, very unlikely
alias cl_hook_gamestart_dm
alias cl_hook_gamestart_rc
alias cl_hook_gamestart_cts
alias cl_hook_gameend "rpn /cl_matchcount dup load 1 + =" // increase match count every time a game ends
alias cl_hook_shutdown
alias cl_hook_activeweapon
alias _sv_hook_gamestart "set _sv_hook_gametype $1; _sv_hook_gamestart_stage2"
alias _sv_hook_gamestart_stage2 "sv_hook_gamestart_all; sv_hook_gamestart_${_sv_hook_gametype}"
alias sv_hook_gamestart_all
alias sv_hook_gamestart_dm
alias sv_hook_gamestart_rc
alias sv_hook_gamestart_cts
alias sv_hook_gamerestart
alias sv_hook_gameend
// =====================
// gametype vote hooks
// =====================
// These are called when the mode is switched via gametype vote screen,
// earlier than gamestart hooks (useful for enabling per-gamemode mutators)
// The _all hook is called before the specific one
// here it sets g_maxplayers to undo what duel does
alias sv_vote_gametype_hook_all "set g_maxplayers 0"
alias sv_vote_gametype_hook_cts
alias sv_vote_gametype_hook_dm
alias sv_vote_gametype_hook_rc
// Preset to allow duel to be used for the gametype voting screen
// sv_vote_gametype_*_type Must be set to the name of the gametype the option is based on
// sv_vote_gametype_*_name Contains a human-readable name of the gametype
// sv_vote_gametype_*_description Contains a longer description
// ===========
// leadlimit
// ===========
// this means that timelimit can be overidden globally and fraglimit can be overidden for each game mode: DM/TDM, Domination, CTF, and Runematch.
set leadlimit 0
set leadlimit_and_fraglimit 0 "if set, leadlimit is ANDed with fraglimit (otherwise ORed)"
seta timelimit_override -1 "Time limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
seta fraglimit_override -1 "Frag limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
seta leadlimit_override -1 "Lead limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
seta g_race_laps_limit -1 "Race laps limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
// =================================
// respawn delay/waves/weapon_stay
// =================================
// when variables are set to anything other than 0, they take over the global setting. Negative values force an output value of zero.
set g_dm_respawn_delay_small 0
set g_dm_respawn_delay_small_count 0
set g_dm_respawn_delay_large 0
set g_dm_respawn_delay_large_count 0
set g_dm_respawn_delay_max 0
set g_dm_respawn_waves 0
set g_dm_weapon_stay 0
set g_rc_respawn_delay_small 0
set g_rc_respawn_delay_small_count 0
set g_rc_respawn_delay_large 0
set g_rc_respawn_delay_large_count 0
set g_rc_respawn_delay_max 0
set g_rc_respawn_waves 0
set g_rc_weapon_stay 0
set g_cts_respawn_delay_small -1 // CTS shall have instant respawn.
set g_cts_respawn_delay_small_count 0
set g_cts_respawn_delay_large -1 // CTS shall have instant respawn.
set g_cts_respawn_delay_large_count 0
set g_cts_respawn_delay_max 0
set g_cts_respawn_waves 0
set g_cts_weapon_stay 2
// ====================
// complete the stage
// ====================
set g_cts 0 "CTS: complete the stage"
set g_cts_selfdamage 1 "0 = disable all selfdamage and falldamage in cts"
set g_cts_finish_kill_delay 10 "prevent cheating by running back to the start line, and starting out with more speed than otherwise possible"
// ============
// deathmatch
// ============
set g_dm 1 "Deathmatch: killing any other player is one frag, player with most frags wins"
// ======
// race
// ======
set g_race 0 "Race: be faster than your opponents"
set g_race_qualifying_timelimit 0
set g_race_qualifying_timelimit_override -1 "qualifying session time limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)"
set g_race_teams 0 "when 2, 3, or 4, the race is played as a team game (the team members can add up their laps)"