global function Sh_GamemodeGG_Init global function GetGunGameWeapons global const string GAMEMODE_GG = "gg" global struct GunGameWeapon { string weapon array mods int offhandSlot = -1 } struct { array 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 function GetGunGameWeapons() { return file.weapons }