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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
|
global function Sh_GamemodeGG_Init
global function GetGunGameWeapons
global const string GAMEMODE_GG = "gg"
global struct GunGameWeapon
{
string weapon
array<string> mods
int offhandSlot = -1
}
struct {
array<GunGameWeapon> weapons
} file
void function Sh_GamemodeGG_Init()
{
// create custom gamemode
AddCallback_OnCustomGamemodesInit( CreateGamemodeGG )
}
void function CreateGamemodeGG()
{
GameMode_Create( GAMEMODE_GG )
GameMode_SetName( GAMEMODE_GG, "#GAMEMODE_GG" )
GameMode_SetDesc( GAMEMODE_GG, "#PL_gg_desc" )
GameMode_SetGameModeAnnouncement( GAMEMODE_GG, "ffa_modeDesc" )
GameMode_SetDefaultTimeLimits( GAMEMODE_GG, 10, 0.0 )
GameMode_AddScoreboardColumnData( GAMEMODE_GG, "#SCOREBOARD_SCORE", PGS_ASSAULT_SCORE, 2 )
GameMode_AddScoreboardColumnData( GAMEMODE_GG, "#SCOREBOARD_PILOT_KILLS", PGS_PILOT_KILLS, 2 )
GameMode_SetColor( GAMEMODE_GG, [147, 204, 57, 255] )
AddPrivateMatchMode( GAMEMODE_GG ) // add to private lobby modes
// setup guns
// smgs
// car
GunGameWeapon ggCar = { weapon = "mp_weapon_car", mods = [ "pas_run_and_gun" ], ... }
file.weapons.append( ggCar )
// alternator
GunGameWeapon ggAlternator = { weapon = "mp_weapon_alternator_smg", mods = [ "pas_run_and_gun" ], ... }
file.weapons.append( ggAlternator )
// volt
GunGameWeapon ggVolt = { weapon = "mp_weapon_hemlok_smg", ... }
file.weapons.append( ggVolt )
// rifles
// hemlok
GunGameWeapon ggHemlok = { weapon = "mp_weapon_hemlok", mods = [ ], ... }
file.weapons.append( ggHemlok )
// flatline
GunGameWeapon ggFlatline = { weapon = "mp_weapon_vinson", mods = [ "hcog" ], ... }
file.weapons.append( ggFlatline )
// r201
GunGameWeapon ggR101 = { weapon = "mp_weapon_rspn101", ... }
file.weapons.append( ggR101 )
// lmgs
// devotion
GunGameWeapon ggDevotion = { weapon = "mp_weapon_esaw", ... }
file.weapons.append( ggDevotion )
// l-star
GunGameWeapon ggLstar = { weapon = "mp_weapon_lstar", mods = [ "pas_run_and_gun" ], ... }
if ( RandomInt( 100 ) <= 5 )
ggLstar.mods.append( "rcee" ) // easter egg mod that changes the screen of the lstar
file.weapons.append( ggLstar )
// shotguns
// eva-8
GunGameWeapon ggEva = { weapon = "mp_weapon_shotgun", ... }
file.weapons.append( ggEva )
// mastiff
GunGameWeapon ggMastiff = { weapon = "mp_weapon_mastiff", ... }
file.weapons.append( ggMastiff )
// grenadiers
// softball
GunGameWeapon ggSoftball = { weapon = "mp_weapon_softball", ... }
file.weapons.append( ggSoftball )
// epg
GunGameWeapon ggEpg = { weapon = "mp_weapon_epg", mods = [ "jump_kit" ], ... }
file.weapons.append( ggEpg )
// primary pistols
// mozambique
GunGameWeapon ggMozam = { weapon = "mp_weapon_shotgun_pistol", mods = [ "pas_run_and_gun" ], ... }
file.weapons.append( ggMozam )
// wingman elite
GunGameWeapon ggWme = { weapon = "mp_weapon_wingman_n", mods = [ "pas_run_and_gun", "ricochet" ], ... }
file.weapons.append( ggWme )
// snipers
// double take
GunGameWeapon ggTaketake = { weapon = "mp_weapon_doubletake", ... }
file.weapons.append( ggTaketake )
// kraber
GunGameWeapon ggKraber = { weapon = "mp_weapon_sniper", mods = [ "pas_fast_ads", "ricochet" ], ... }
file.weapons.append( ggKraber )
// secondary pistols
// re-45
GunGameWeapon ggRe45 = { weapon = "mp_weapon_autopistol", mods = [ "pas_run_and_gun", "temp_sight" ], ... }
file.weapons.append( ggRe45 )
// p2016
GunGameWeapon ggP2016 = { weapon = "mp_weapon_semipistol", mods = [ "pas_run_and_gun" ], ... }
file.weapons.append( ggP2016 )
// wingman
GunGameWeapon ggWingman = { weapon = "mp_weapon_wingman", mods = [ "pas_run_and_gun" ], ... }
file.weapons.append( ggWingman )
// final/special weapons
// charge rifle
GunGameWeapon ggChargeRifle = { weapon = "mp_weapon_defender", ... }
file.weapons.append( ggChargeRifle )
// pulse blade
GunGameWeapon ggPulseBlade = { weapon = "mp_weapon_grenade_sonar", mods = [ "pas_power_cell", "amped_tacticals" ], offhandSlot = 0 }
file.weapons.append( ggPulseBlade )
// set this to the number of guns
GameMode_SetDefaultScoreLimits( GAMEMODE_GG, file.weapons.len(), 0 )
#if SERVER
GameMode_AddServerInit( GAMEMODE_GG, GamemodeGG_Init )
GameMode_AddServerInit( GAMEMODE_GG, GamemodeFFAShared_Init )
GameMode_SetPilotSpawnpointsRatingFunc( GAMEMODE_GG, RateSpawnpoints_Generic )
GameMode_SetTitanSpawnpointsRatingFunc( GAMEMODE_GG, RateSpawnpoints_Generic )
#elseif CLIENT
GameMode_AddClientInit( GAMEMODE_GG, ClGamemodeGG_Init )
GameMode_AddClientInit( GAMEMODE_GG, GamemodeFFAShared_Init )
GameMode_AddClientInit( GAMEMODE_GG, ClGamemodeFFA_Init )
#endif
#if !UI
GameMode_SetScoreCompareFunc( GAMEMODE_GG, CompareAssaultScore )
GameMode_AddSharedInit( GAMEMODE_GG, GamemodeFFA_Dialogue_Init )
#endif
}
array<GunGameWeapon> function GetGunGameWeapons()
{
return file.weapons
}
|