aboutsummaryrefslogtreecommitdiff
path: root/Northstar.CustomServers/mod/cfg
diff options
context:
space:
mode:
authorBobTheBob <32057864+BobTheBob9@users.noreply.github.com>2021-08-31 23:14:58 +0100
committerBobTheBob <32057864+BobTheBob9@users.noreply.github.com>2021-08-31 23:14:58 +0100
commit9a96d0bff56f1969c68bb52a2f33296095bdc67d (patch)
tree4175928e488632705692e3cccafa1a38dd854615 /Northstar.CustomServers/mod/cfg
parent27bd240871b7c0f2f49fef137718b2e3c208e3b4 (diff)
downloadNorthstarMods-9a96d0bff56f1969c68bb52a2f33296095bdc67d.tar.gz
NorthstarMods-9a96d0bff56f1969c68bb52a2f33296095bdc67d.zip
move to new mod format
Diffstat (limited to 'Northstar.CustomServers/mod/cfg')
-rw-r--r--Northstar.CustomServers/mod/cfg/autoexec_ns_server.cfg8
-rw-r--r--Northstar.CustomServers/mod/cfg/server/persistent_player_data_version_231.pdef1515
2 files changed, 1523 insertions, 0 deletions
diff --git a/Northstar.CustomServers/mod/cfg/autoexec_ns_server.cfg b/Northstar.CustomServers/mod/cfg/autoexec_ns_server.cfg
new file mode 100644
index 00000000..09d2d72c
--- /dev/null
+++ b/Northstar.CustomServers/mod/cfg/autoexec_ns_server.cfg
@@ -0,0 +1,8 @@
+//ns_auth_allow_insecure 1
+ns_server_name "boba server (very cool)"
+ns_server_desc "fucign badass dude "
+
+everything_unlocked 1
+cl_updaterate_mp 60
+sv_updaterate_mp 60
+sv_max_snapshots_multiplayer 1500 \ No newline at end of file
diff --git a/Northstar.CustomServers/mod/cfg/server/persistent_player_data_version_231.pdef b/Northstar.CustomServers/mod/cfg/server/persistent_player_data_version_231.pdef
new file mode 100644
index 00000000..c4af215a
--- /dev/null
+++ b/Northstar.CustomServers/mod/cfg/server/persistent_player_data_version_231.pdef
@@ -0,0 +1,1515 @@
+int initializedVersion
+int announcementVersionSeen
+
+int xp
+int previousXP
+int credits
+int xp_match[20]
+int xp_count[20]
+
+int netWorth
+
+bool matchWin
+bool matchScoreEvent
+bool matchComplete
+bool matchSquadBonus
+
+bool showGameSummary
+bool regenShowNew
+bool spawnAsTitan
+bool haveSeenCustomCoop
+bool factionGiftsFixed
+
+bool isACheater
+bool spendDoubleColiseumTickets
+
+int privateMatchState
+
+int playlistShuffle_seed
+bool playlistShuffle_seedFlip
+int playlistShuffle_curIndex
+
+// we don't use titanClasses for this because it doesn't contain an entry that would equal null/none
+string{16} lastFDTitanRef
+int lastFDDifficulty
+
+bool ultimateEdition
+
+//#############################
+// LISTS OF THINGS IN THE GAME
+//#############################
+
+//All game modes in the game, including riffs.
+$ENUM_START gameModes
+ tdm
+ cp
+ at
+ ctf
+ lts
+ ps
+ ffa
+ coliseum
+ aitdm
+ speedball
+ mfd
+ ttdm
+ fra
+ fd
+$ENUM_END
+
+// enum used for stats. mp_box and mp_test_engagement_range are
+// in this list so I can test stat tracking in those maps
+// add new maps to the bottom of this list...DO NOT CHANGE ORDER!!
+$ENUM_START maps
+ mp_box
+ mp_test_engagement_range
+
+ // R2
+ mp_forwardbase_kodai
+ mp_grave
+ mp_homestead
+ mp_thaw
+ mp_black_water_canal
+ mp_eden
+ mp_drydock
+ mp_crashsite3
+ mp_complex3
+ mp_coliseum
+
+ // R2 DLC
+ mp_angel_city
+ mp_colony02
+ mp_relic02
+ mp_glitch
+ mp_lf_stacks
+ mp_lf_meadow
+ mp_lf_deck
+ mp_lf_traffic
+ mp_lf_township
+ mp_lf_uma
+ mp_coliseum_column
+ mp_wargames
+ mp_rise
+$ENUM_END
+
+$ENUM_START loadoutWeaponsAndAbilities
+ NULL
+ melee_pilot_emptyhanded
+ melee_pilot_sword
+ melee_titan_sword
+ melee_titan_sword_aoe
+ mp_ability_cloak
+ mp_ability_grapple
+ mp_ability_heal
+ mp_ability_holopilot
+ mp_ability_phase_rewind
+ mp_ability_shifter
+ mp_titanability_ammo_swap
+ mp_titanability_basic_block
+ mp_titanability_gun_shield
+ mp_titanability_hover
+ mp_titanability_laser_trip
+ mp_titanability_particle_wall
+ mp_titanability_phase_dash
+ mp_titanability_power_shot
+ mp_titanability_slow_trap
+ mp_titanability_smoke
+ mp_titanability_sonar_pulse
+ mp_titanability_tether_trap
+ mp_titanability_rearm
+ mp_titancore_flame_wave
+ mp_titancore_flight_core
+ mp_titancore_laser_cannon
+ mp_titancore_salvo_core
+ mp_titancore_shift_core
+ mp_titancore_siege_mode
+ mp_titancore_upgrade
+ mp_titanweapon_40mm
+ mp_titanweapon_arc_wave
+ mp_titanweapon_flame_wall
+ mp_titanweapon_heat_shield
+ mp_titanweapon_homing_rockets
+ mp_titanweapon_dumbfire_rockets
+ mp_titanweapon_laser_lite
+ mp_titanweapon_leadwall
+ mp_titanweapon_meteor
+ mp_titanweapon_particle_accelerator
+ mp_titanweapon_predator_cannon
+ mp_titanweapon_rocket_launcher
+ mp_titanweapon_rocketeer_rocketstream
+ mp_titanweapon_salvo_rockets
+ mp_titanweapon_sniper
+ mp_titanweapon_sticky_40mm
+ mp_titanweapon_stun_laser
+ mp_titanweapon_tracker_rockets
+ mp_titanweapon_vortex_shield
+ mp_titanweapon_vortex_shield_ion
+ mp_titanweapon_xo16
+ mp_titanweapon_xo16_shorty
+ mp_titanweapon_xo16_vanguard
+ mp_weapon_alternator_smg
+ mp_weapon_arc_launcher
+ mp_weapon_autopistol
+ mp_weapon_car
+ mp_weapon_defender
+ mp_weapon_deployable_cover
+ mp_weapon_dmr
+ mp_weapon_doubletake
+ mp_weapon_epg
+ mp_weapon_esaw
+ mp_weapon_frag_drone
+ mp_weapon_frag_grenade
+ mp_weapon_g2
+ mp_weapon_grenade_electric_smoke
+ mp_weapon_grenade_emp
+ mp_weapon_grenade_gravity
+ mp_weapon_grenade_sonar
+ mp_weapon_hemlok
+ mp_weapon_hemlok_smg
+ mp_weapon_lmg
+ mp_weapon_lstar
+ mp_weapon_mastiff
+ mp_weapon_mgl
+ mp_weapon_pulse_lmg
+ mp_weapon_r97
+ mp_weapon_rocket_launcher
+ mp_weapon_rspn101
+ mp_weapon_rspn101_og
+ mp_weapon_satchel
+ mp_weapon_semipistol
+ mp_weapon_shotgun
+ mp_weapon_shotgun_pistol
+ mp_weapon_smart_pistol
+ mp_weapon_smr
+ mp_weapon_sniper
+ mp_weapon_softball
+ mp_weapon_thermite_grenade
+ mp_weapon_vinson
+ mp_weapon_wingman
+ mp_weapon_wingman_n
+ melee_titan_punch_ion
+ melee_titan_punch_legion
+ melee_titan_punch_northstar
+ melee_titan_punch_scorch
+ melee_titan_punch_tone
+ melee_titan_punch_vanguard
+$ENUM_END
+
+$ENUM_START pilotMod
+ NULL
+ aog
+ automatic_fire
+ burn_mod_rspn101
+ burn_mod_g2
+ burn_mod_hemlok
+ burn_mod_vinson
+ burn_mod_lstar
+ burn_mod_car
+ burn_mod_r97
+ burn_mod_alternator_smg
+ burn_mod_lmg
+ burn_mod_esaw
+ burn_mod_pulse_lmg
+ burn_mod_sniper
+ burn_mod_dmr
+ burn_mod_doubletake
+ burn_mod_mastiff
+ burn_mod_shotgun
+ burn_mod_softball
+ burn_mod_shotgun_pistol
+ burn_mod_autopistol
+ burn_mod_wingman
+ burn_mod_semipistol
+ burn_mod_smart_pistol
+ burn_mod_emp_grenade
+ burn_mod_frag_grenade
+ burn_mod_satchel
+ burn_mod_proximity_mine
+ burn_mod_grenade_electric_smoke
+ burn_mod_grenade_gravity
+ burn_mod_thermite_grenade
+ burn_mod_defender
+ burn_mod_rocket_launcher
+ burn_mod_arc_launcher
+ burn_mod_smr
+ burn_mod_mgl
+ burst
+ enhanced_targeting
+ extended_ammo
+ fast_lock
+ fast_reload
+ guided_missile
+ hcog
+ high_density
+ holosight
+ iron_sights
+ long_fuse
+ powered_magnets
+ scope_4x
+ scope_6x
+ scope_8x
+ scope_10x
+ scope_12x
+ silencer
+ sniper_assist
+ stabilizer
+ single_shot
+ slammer
+ stabilized_warhead
+ tank_buster
+ amped_wall
+ short_shift
+ burn_mod_epg
+ ricochet
+ ar_trajectory
+ redline_sight
+ threat_scope
+ smart_lock
+ pro_screen
+ delayed_shot
+ pas_run_and_gun
+ tactical_cdr_on_kill
+ pas_fast_ads
+ pas_fast_swap
+ pas_fast_reload
+ jump_kit
+ quick_charge
+ rocket_arena
+$ENUM_END
+
+$ENUM_START titanClasses
+ ion
+ scorch
+ ronin
+ tone
+ northstar
+ legion
+ vanguard
+$ENUM_END
+
+$ENUM_START titanMod
+ NULL
+ accelerator
+ afterburners
+ arc_triple_threat
+ burn_mod_titan_40mm
+ burn_mod_titan_arc_cannon
+ burn_mod_titan_sniper
+ burn_mod_titan_triple_threat
+ burn_mod_titan_xo16
+ burn_mod_titan_dumbfire_rockets
+ burn_mod_titan_homing_rockets
+ burn_mod_titan_salvo_rockets
+ burn_mod_titan_shoulder_rockets
+ burn_mod_titan_vortex_shield
+ burn_mod_titan_smoke
+ burn_mod_titan_particle_wall
+ burst
+ capacitor
+ extended_ammo
+ fast_lock
+ fast_reload
+ instant_shot
+ overcharge
+ quick_shot
+ rapid_fire_missiles
+ stryder_sniper
+$ENUM_END
+
+$ENUM_START pilotPassive
+ NULL
+ pas_stealth_movement
+ pas_ordnance_pack
+ pas_power_cell
+ pas_wallhang
+ pas_fast_health_regen
+ pas_minimap_ai
+ pas_longer_bubble
+ pas_run_and_gun
+ pas_dead_mans_trigger
+ pas_wall_runner
+ pas_fast_hack
+ pas_cloaked_wallrun
+ pas_cloaked_wallhang
+ pas_smoke_sight
+ pas_fast_embark
+ pas_cdr_on_kill
+ pas_at_hunter
+ pas_ordnance_beam
+ pas_fast_rodeo
+ pas_phase_eject
+ pas_ads_hover
+ pas_enemy_death_icons
+ pas_off_the_grid
+$ENUM_END
+
+$ENUM_START pilotSuit
+ medium
+ geist
+ stalker
+ light
+ heavy
+ grapple
+ nomad
+$ENUM_END
+
+$ENUM_START pilotRace
+ race_human_male
+ race_human_female
+$ENUM_END
+
+$ENUM_START pilotExecution
+ execution_neck_snap
+ execution_face_stab
+ execution_backshot
+ execution_combo
+ execution_knockout
+ execution_telefrag
+ execution_stim
+ execution_grapple
+ execution_pulseblade
+ execution_random
+ execution_cloak
+ execution_holopilot
+ execution_ampedwall
+$ENUM_END
+
+
+$ENUM_START titanExecution
+ execution_ion
+ execution_ion_prime
+ execution_tone
+ execution_tone_prime
+ execution_ronin
+ execution_ronin_prime
+ execution_northstar
+ execution_northstar_prime
+ execution_legion
+ execution_legion_prime
+ execution_vanguard
+ execution_scorch
+ execution_scorch_prime
+ execution_random_0
+ execution_random_1
+ execution_random_2
+ execution_random_3
+ execution_random_4
+ execution_random_5
+ execution_random_6
+$ENUM_END
+
+$ENUM_START titanPassive
+ NULL
+ pas_enhanced_titan_ai
+ pas_auto_eject
+ pas_dash_recharge
+ pas_defensive_core
+ pas_shield_regen
+ pas_assault_reactor
+ pas_hyper_core
+ pas_anti_rodeo
+ pas_build_up_nuclear_core
+ pas_offensive_autoload
+ pas_offensive_hitnrun
+ pas_offensive_regen
+ pas_defensive_tacload
+ pas_defensive_quickdash
+ pas_defensive_domeshield
+ pas_mobility_dash_capacity
+ pas_warpfall
+ pas_bubbleshield
+ pas_ronin_weapon
+ pas_northstar_weapon
+ pas_ion_weapon
+ pas_tone_weapon
+ pas_scorch_weapon
+ pas_legion_weapon
+ pas_ion_tripwire
+ pas_ion_vortex
+ pas_ion_lasercannon
+ pas_tone_rockets
+ pas_tone_sonar
+ pas_tone_wall
+ pas_ronin_arcwave
+ pas_ronin_phase
+ pas_ronin_swordcore
+ pas_northstar_cluster
+ pas_northstar_trap
+ pas_northstar_flightcore
+ pas_scorch_firewall
+ pas_scorch_shield
+ pas_scorch_selfdmg
+ pas_legion_spinup
+ pas_legion_gunshield
+ pas_legion_smartcore
+ pas_ion_weapon_ads
+ pas_tone_burst
+ pas_legion_chargeshot
+ pas_ronin_autoshift
+ pas_northstar_optics
+ pas_scorch_flamecore
+ pas_vanguard_coremeter
+ pas_vanguard_shield
+ pas_vanguard_rearm
+ pas_vanguard_doom
+ pas_vanguard_core1
+ pas_vanguard_core2
+ pas_vanguard_core3
+ pas_vanguard_core4
+ pas_vanguard_core5
+ pas_vanguard_core6
+ pas_vanguard_core7
+ pas_vanguard_core8
+ pas_vanguard_core9
+$ENUM_END
+
+$ENUM_START titanIsPrimeTitan //Really should be bool, but script for loadouts is not easily set up to handle bools unfortunately...
+ titan_is_not_prime
+ titan_is_prime
+$ENUM_END
+
+$ENUM_START faction
+ faction_apex
+ faction_64
+ faction_vinson
+ faction_marauder
+ faction_aces
+ faction_ares
+ faction_marvin
+$ENUM_END
+
+// This entire thing is legacy support for a DLC7 menu bug
+$ENUM_START ownedEntitlements
+ ET_DLC7_WEAPON_BUNDLE // BUNDLE MUST BE FIRST!!!!
+ ET_DLC7_R201_WARPAINT
+ ET_DLC7_G2A5_WARPAINT
+ ET_DLC7_FLATLINE_WARPAINT
+ ET_DLC7_CAR_WARPAINT
+ ET_DLC7_ALTERNATOR_WARPAINT
+ ET_DLC7_EVA8_WARPAINT
+ ET_DLC7_WINGMAN_WARPAINT
+ ET_DLC7_ARCHER_WARPAINT
+$ENUM_END
+
+//######################
+// LOADOUTS
+//######################
+
+$STRUCT_START spawnLoadout
+ int index
+$STRUCT_END
+
+$STRUCT_START pilotLoadout
+ string{42} name
+ pilotSuit suit
+ pilotRace race
+ pilotExecution execution
+ loadoutWeaponsAndAbilities primary
+ pilotMod primaryAttachment
+ pilotMod primaryMod1
+ pilotMod primaryMod2
+ pilotMod primaryMod3
+ loadoutWeaponsAndAbilities secondary
+ pilotMod secondaryMod1
+ pilotMod secondaryMod2
+ pilotMod secondaryMod3
+ loadoutWeaponsAndAbilities weapon3
+ pilotMod weapon3Mod1
+ pilotMod weapon3Mod2
+ pilotMod weapon3Mod3
+ loadoutWeaponsAndAbilities ordnance
+ pilotPassive passive1
+ pilotPassive passive2
+ int skinIndex
+ int camoIndex
+ int primarySkinIndex
+ int primaryCamoIndex
+ int secondarySkinIndex
+ int secondaryCamoIndex
+ int weapon3SkinIndex
+ int weapon3CamoIndex
+$STRUCT_END
+
+$STRUCT_START titanLoadout
+ string{42} name // TODO: No need for this in persistent data any more
+ titanClasses titanClass
+ titanMod primaryMod
+ loadoutWeaponsAndAbilities special
+ loadoutWeaponsAndAbilities antirodeo
+ titanPassive passive1
+ titanPassive passive2
+ titanPassive passive3
+ titanPassive passive4
+ titanPassive passive5
+ titanPassive passive6
+ titanExecution titanExecution
+ int skinIndex
+ int camoIndex
+ int decalIndex
+ int primarySkinIndex
+ int primaryCamoIndex
+ titanIsPrimeTitan isPrime //Really should be bool, but script for loadouts is not easily set up to handle bools unfortunately...
+ int primeSkinIndex
+ int primeCamoIndex
+ int primeDecalIndex
+ int showArmBadge
+$STRUCT_END
+
+$STRUCT_START recentUnlock
+ int refGuid
+ int parentRefGuid
+ int count
+$STRUCT_END
+
+int randomColiseumUnlocks
+int randomPlayerLevelUnlocks
+int randomTitanLevelUnlocks[titanClasses]
+int randomWeaponLevelUnlocks[loadoutWeaponsAndAbilities]
+int randomFactionLevelUnlocks[faction]
+
+int doubleXP
+int coliseumTickets
+int coliseumWinStreak
+int coliseumBestStreak
+int coliseumTotalWins
+int coliseumTotalLosses
+
+recentUnlock recentUnlocks[10]
+
+bool hasBeenIntroducedToComms
+int lastCommsUseDate
+int numTimesUsedComms
+bool custom_emoji_initialized
+int custom_emoji[4]
+
+int burnmeterSlot
+
+$STRUCT_START pveData
+ int version
+ int currency
+ int currencyInLatestMatch
+ int tacticalUnlocks[6]
+ int feathersForMap[maps]
+$STRUCT_END
+pveData pve
+
+faction factionChoice
+faction enemyFaction
+
+bool persistentRewards[32]
+int consumableRewards[32]
+
+spawnLoadout pilotSpawnLoadout
+spawnLoadout titanSpawnLoadout
+
+pilotLoadout activePilotLoadout
+titanLoadout activeTitanLoadout
+int activeTitanLoadoutIndex
+
+pilotLoadout pilotLoadouts[10]
+titanLoadout titanLoadouts[10]
+
+bool pinTrackedEntitlements[ownedEntitlements]
+bool newPinTrackedEntitlements[ownedEntitlements]
+
+$ENUM_START unlockRefs
+ edit_pilots // these two must come first
+ edit_titans
+
+ pilot_custom_loadout_1
+ pilot_custom_loadout_2
+ pilot_custom_loadout_3
+ pilot_custom_loadout_4
+ pilot_custom_loadout_5
+
+ titan_custom_loadout_1
+ titan_custom_loadout_2
+ titan_custom_loadout_3
+ titan_custom_loadout_4
+ titan_custom_loadout_5
+
+ burn_card_slot_1
+ burn_card_slot_2
+ burn_card_slot_3
+
+ burn_card_pack_1
+ burn_card_pack_2
+ burn_card_pack_3
+ burn_card_pack_4
+ burn_card_pack_5
+
+ challenges
+$ENUM_END
+
+//######################
+// BURN CARDS
+//######################
+
+$ENUM_START burnCard
+ NULL
+ bc_conscription
+ bc_double_xp
+ bc_free_xp
+ bc_fast_cooldown1
+ bc_fast_cooldown2
+ bc_super_stim
+ bc_super_cloak
+ bc_super_sonar
+ bc_summon_ogre
+ bc_cloak_forever
+ bc_stim_forever
+ bc_sonar_forever
+ bc_summon_stryder
+ bc_spectre_virus
+ bc_play_spectre
+ bc_double_agent
+ bc_minimap
+ bc_summon_atlas
+ bc_megaturrets
+ bc_summon_dogfighter
+ bc_wifi_spectre_hack
+ bc_nuclear_core
+ bc_core_charged
+ bc_smart_pistol_m2
+ bc_r97_m2
+ bc_rspn101_m2
+ bc_dmr_m2
+ bc_shotgun_m2
+ bc_lmg_m2
+ bc_g2_m2
+ bc_car_m2
+ bc_hemlok_m2
+ bc_sniper_m2
+ bc_smr_m2
+ bc_mgl_m2
+ bc_defender_m2
+ bc_rocket_launcher_m2
+ bc_semipistol_m2
+ bc_autopistol_m2
+ bc_wingman_m2
+ bc_satchel_m2
+ bc_frag_m2
+ bc_arc_m2
+ bc_prox_m2
+ bc_pilot_warning
+ bc_rematch
+ bc_minimap_scan
+ bc_free_build_time_1
+ bc_free_build_time_2
+ bc_fast_build_1
+ bc_fast_build_2
+ bc_hunt_soldier
+ bc_hunt_spectre
+ bc_hunt_titan
+ bc_hunt_pilot
+ bc_auto_sonar
+ bc_fast_movespeed
+ bc_auto_refill
+ bc_dice_ondeath
+ bc_titan_40mm_m2
+ bc_titan_arc_cannon_m2
+ bc_titan_rocket_launcher_m2
+ bc_titan_sniper_m2
+ bc_titan_triple_threat_m2
+ bc_titan_xo16_m2
+ bc_titan_dumbfire_missile_m2
+ bc_titan_homing_rockets_m2
+ bc_titan_salvo_rockets_m2
+ bc_titan_shoulder_rockets_m2
+ bc_titan_vortex_shield_m2
+ bc_titan_electric_smoke_m2
+ bc_titan_shield_wall_m2
+ bc_titan_melee_m2
+ bc_extra_dash
+ bc_lstar_m2
+ bc_mastiff_m2
+ bc_vinson_m2
+$ENUM_END
+
+
+$STRUCT_START struct_activeBurnCardData
+ burnCard cardRef
+ burnCard lastCardRef
+ bool clearOnStart // player has used this match long burn card
+$STRUCT_END
+
+$STRUCT_START struct_historyBurnCardData
+ int collected
+ int spent
+$STRUCT_END
+
+$STRUCT_START struct_blackMarketBurnCardUpgrades
+ burnCard cardRef
+$STRUCT_END
+
+int activeBCID
+
+int activeCallingCardIndex
+int activeCallsignIconIndex
+int activeCallsignIconStyleIndex
+
+int gen // as in, what generation player?
+
+
+//#########################
+// Faction XP
+//#########################
+
+int factionXP[faction]
+int previousFactionXP[faction]
+
+//#########################
+// Titan XP
+//#########################
+
+int titanXP[titanClasses]
+int previousTitanXP[titanClasses]
+
+int fdTitanXP[titanClasses]
+int fdPreviousTitanXP[titanClasses]
+
+int titanFDUnlockPoints[titanClasses]
+int previousFDUnlockPoints[titanClasses]
+
+int fd_match[20]
+int fd_count[20]
+int titanClassLockState[titanClasses]
+
+int fdTutorialBits
+int fdPlaylistBits
+
+//################################################
+// CHAD'S STAT TRACKING STUFF - DON'T MESS WIT IT
+//################################################
+
+
+$STRUCT_START sMapStats
+ int gamesJoined[gameModes]
+ int gamesCompleted[gameModes]
+ int gamesWon[gameModes]
+ int gamesLost[gameModes]
+ int topPlayerOnTeam[gameModes]
+ int top3OnTeam[gameModes]
+ float hoursPlayed[gameModes]
+ int timesScored100AttritionPoints_byMap
+ int winsByDifficulty[5]
+ int matchesByDifficulty[5]
+ int perfectMatchesByDifficulty[5]
+$STRUCT_END
+
+$STRUCT_START sGameStats
+ int modesPlayed[gameModes]
+ int previousModesPlayed[gameModes]
+ int modesWon[gameModes]
+ int mvp_total
+ int gamesCompletedTotal
+ int gamesWonTotal
+ int gamesWonAsIMC
+ int gamesWonAsMilitia
+ int gamesCompletedAsIMC
+ int gamesCompletedAsMilitia
+ int pvpKills[gameModes]
+ int timesKillDeathRatio2to1[gameModes]
+ int timesKillDeathRatio2to1_pvp[gameModes]
+ int timesScored100AttritionPoints_total
+$STRUCT_END
+
+$STRUCT_START sHoursPlayed
+ float total
+ float asTitan[titanClasses]
+ float asPilot
+ float asTitanTotal
+ float dead
+ float wallhanging
+ float wallrunning
+ float inAir
+$STRUCT_END
+
+$STRUCT_START sMilesTraveled
+ float total
+ float asTitan[titanClasses]
+ float asPilot
+ float asTitanTotal
+ float wallrunning
+ float inAir
+ float ziplining
+ float onFriendlyTitan
+ float onEnemyTitan
+$STRUCT_END
+
+$STRUCT_START sWeaponStats
+ float hoursUsed
+ float hoursEquipped
+ int shotsFired
+ int shotsHit
+ int headshots
+ int critHits
+ int titanDamage
+$STRUCT_END
+
+$STRUCT_START sWeaponKillStats
+ int total
+ int pilots
+ int ejecting_pilots
+ int spectres
+ int marvins
+ int grunts
+ int ai
+ int titansTotal
+ int titans[titanClasses]
+ int npcTitans[titanClasses]
+ int assistsTotal
+ int killingSprees
+$STRUCT_END
+
+$STRUCT_START sKillStats
+ int total
+ int totalWhileUsingBurnCard
+ int titansWhileTitanBCActive
+ int totalPVP
+ int pilots
+ int spectres
+ int marvins
+ int grunts
+ int totalTitans
+ int totalTitansWhileDoomed
+ int totalPilots
+ int totalNPC
+ int asPilot
+ int asTitan[titanClasses]
+ int firstStrikes
+ int ejectingPilots
+ int whileEjecting
+ int cloakedPilots
+ int whileCloaked
+ int wallrunningPilots
+ int whileWallrunning
+ int wallhangingPilots
+ int whileWallhanging
+ int pilotExecution
+ int pilotExecutePilot
+ int pilotExecutePilotByType[pilotExecution]
+ int pilotKickMelee
+ int pilotKickMeleePilot
+ int titanMelee
+ int titanMeleePilot
+ int titanStepCrush
+ int titanStepCrushPilot
+ int titanExocutionIon
+ int titanExocutionScorch
+ int titanExocutionNorthstar
+ int titanExocutionRonin
+ int titanExocutionTone
+ int titanExocutionLegion
+ int titanExocutionVanguard
+ int titanFallKill
+ int petTitanKillsFollowMode
+ int petTitanKillsGuardMode
+ int rodeo_total
+ int rodeo_stryder
+ int rodeo_buddy
+ int rodeo_atlas
+ int rodeo_ogre
+ int pilot_headshots_total
+ int evacShips
+ int flyers
+ int nuclearCore
+ int evacuatingEnemies
+ int exportTrapKills
+ int coopChallenge_NukeTitan_Kills
+ int coopChallenge_MortarTitan_Kills
+ int coopChallenge_EmpTitan_Kills
+ int coopChallenge_BubbleShieldGrunt_Kills
+ int coopChallenge_CloakDrone_Kills
+ int coopChallenge_Dropship_Kills
+ int coopChallenge_SuicideSpectre_Kills
+ int coopChallenge_Turret_Kills
+ int coopChallenge_Sniper_Kills
+ int ampedVortexKills
+ int meleeWhileCloaked
+ int pilotKillsWhileUsingActiveRadarPulse
+ int titanKillsAsPilot
+ int pilotKillsWhileStimActive
+ int pilotKillsAsTitan
+ int totalAssists
+ int killingSprees[titanClasses]
+ int pilotKillsAsPilot
+ int titanKillsAsTitan
+ int telefragKils
+ int grappleKills
+ int throughAWallKills
+ int distractedKills
+ int pilotExecutePilotWhileCloaked
+ int pilotKillsWithHoloPilotActive
+ int pilotKillsWithAmpedWallActive
+$STRUCT_END
+
+$STRUCT_START sDeathStats
+ int total
+ int totalPVP
+ int asPilot
+ int asTitan[titanClasses]
+ int byPilots
+ int bySpectres
+ int byGrunts
+ int byTitans[titanClasses]
+ int byNPCTitans[titanClasses]
+ int suicides
+ int whileEjecting
+$STRUCT_END
+
+$STRUCT_START sMiscStats
+ int titanFalls
+ int titanFallsFirst
+ int titanEmbarks
+ int rodeos
+ int rodeosFromEject
+ int timesEjected
+ int timesEjectedNuclear
+ int burnCardsEarned
+ int burnCardsSpent
+ int boostsActivated
+ int spectreLeeches
+ int spectreLeechesByMap[maps]
+ int evacsAttempted
+ int evacsSurvived
+ int flagsCaptured
+ int flagsReturned
+ int arcCannonMultiKills
+ int gruntsConscripted
+ int hardpointsCaptured
+ int challengeTiersCompleted
+ int challengesCompleted
+ int dailyChallengesCompleted
+ int timesLastTitanRemaining
+ int killingSprees
+ int coopChallengesCompleted
+ int forgedCertificationsUsed
+ int regenForgedCertificationsUsed
+$STRUCT_END
+
+
+$STRUCT_START sFDStats
+ int arcMinesPlaced
+ int turretsPlaced
+ int rodeos
+ int rodeoNukes
+ int arcMineZaps
+ int turretKills
+ int harvesterBoosts
+ int wavesComplete
+ int easyWins
+ int normalWins
+ int hardWins
+ int masterWins
+ int insaneWins
+ int highestTitanFDLevel
+$STRUCT_END
+
+
+$STRUCT_START sTitanStats
+ int pilots
+ int titansTotal
+ int ejections
+ int titansWhileDoomed
+ int titanDamage
+ int titansAsPrime
+ int pilotsAsPrime
+ int executionsAsPrime
+ int coresEarned
+ int matchesByDifficulty[5]
+ int perfectMatchesByDifficulty[5]
+$STRUCT_END
+
+sGameStats gameStats
+sMapStats mapStats[maps]
+sHoursPlayed timeStats
+sMilesTraveled distanceStats
+sWeaponStats weaponStats[loadoutWeaponsAndAbilities]
+sWeaponKillStats weaponKillStats[loadoutWeaponsAndAbilities]
+sKillStats killStats
+sDeathStats deathStats
+sMiscStats miscStats
+sFDStats fdStats
+sTitanStats titanStats[titanClasses]
+
+float kdratio_lifetime
+float kdratio_lifetime_pvp
+float kdratio_match[10]
+float kdratiopvp_match[10]
+
+int winStreak
+int highestWinStreakEver
+bool winStreakIsDraws
+int winLossHistory[10] // int instead of bool so we can have win, loss, and draw
+int winLossHistorySize
+
+int mostProjectilesCollectedInVortex
+int blackMarketItemsBought
+
+bool respawnKillInfected
+
+
+//#########################
+// WEAPONS
+//#########################
+
+$STRUCT_START weaponMain
+ sWeaponStats weaponStats
+ sWeaponKillStats weaponKillStats
+
+ int weaponXP
+ int previousWeaponXP
+
+ int proScreenKills
+ int previousProScreenKills
+
+ // bitfields
+ int newMods
+ int unlockedMods
+ int newWeaponSkins[5]
+ int unlockedWeaponSkins[5]
+ int newPrimeWeaponSkins[6]
+ int unlockedPrimeWeaponSkins[6]
+ int newFeatures
+ int unlockedFeatures
+$STRUCT_END
+
+$STRUCT_START weaponOffhand
+ sWeaponStats weaponStats
+ sWeaponKillStats weaponKillStats
+$STRUCT_END
+
+$STRUCT_START titanMain
+ // bitfields
+ int newPassives[2]
+ int unlockedPassives[2]
+ int newSkins[5]
+ int unlockedSkins[5]
+ int newPrimeSkins[2] //TODO: These are warpaints, not prime titan related and should be renamed next game! Too late since we shipped with it
+ int unlockedPrimeSkins[2] //TODO: These are warpaints, not prime titan related and should be renamed next game! Too late since we shipped with it
+ int newWeaponSkins[5]
+ int unlockedWeaponSkins[5]
+ int newPrimeWeaponSkins
+ int unlockedPrimeWeaponSkins
+ int newTitanDecals[3]
+ int unlockedTitanDecals[3]
+ int newPrimeTitanDecals
+ int unlockedPrimeTitanDecals
+ int unlockedFDUpgrades[2]
+ int newFDUpgrades[2]
+$STRUCT_END
+
+weaponMain pilotWeapons[35]
+weaponOffhand pilotOffhands[35]
+weaponMain titanWeapons[15]
+weaponOffhand titanOffhands[30]
+
+titanMain titanChassis[12]
+
+bool hasSeenStore
+
+// bitfields
+int newPilotSkins[5]
+int unlockedPilotSkins[5]
+int newPrimePilotSkins
+int unlockedPrimePilotSkins
+
+int newPilotWeapons[2]
+int unlockedPilotWeapons[2]
+int newPilotOffhands[2]
+int unlockedPilotOffhands[2]
+int newPilotPassives
+int unlockedPilotPassives
+
+int newTitanOffhands[2]
+int unlockedTitanOffhands[2]
+int newTitanPassives
+int unlockedTitanPassives
+int newTitanChassis
+int unlockedTitanChassis
+int newPrimeTitans
+int unlockedPrimeTitans
+int newPilotSuits
+int unlockedPilotSuits
+int newPilotExecutions
+int unlockedPilotExecutions
+
+int unlockedFeatures[2]
+int newFeatures[2]
+
+int unlockedBoosts
+int newBoosts
+
+int unlockedFactions
+int newFactions
+
+int unlockedCallingCards[16]
+int newCallingCards[16]
+
+int unlockedCallsignIcons[7]
+int newCallsignIcons[7]
+
+int unlockedCommsIcons[5]
+int newCommsIcons[5]
+
+int newTitanExecutions
+int unlockedTitanExecutions
+
+//#########################
+// CHALLENGES
+//#########################
+
+$ENUM_START challenge
+ NULL
+ // General
+
+ ch_games_played
+ ch_games_won
+ ch_games_mvp
+ ch_titan_falls
+ ch_rodeos
+ ch_times_ejected
+ ch_spectres_leeched
+
+ // Time
+
+ ch_hours_played
+ ch_hours_played_pilot
+ ch_hours_played_titan
+ ch_hours_wallhang
+
+ // Distance
+
+ ch_dist_total
+ ch_dist_pilot
+ ch_dist_titan
+ ch_dist_wallrun
+ ch_dist_inair
+ ch_dist_zipline
+ ch_dist_on_friendly_titan
+ ch_dist_on_enemy_titan
+
+ // Kills
+
+ ch_grunt_kills
+ ch_spectre_kills
+ ch_marvin_kills
+ ch_first_strikes
+ ch_ejecting_pilot_kills
+ ch_kills_while_ejecting
+ ch_cloaked_pilot_kills
+ ch_kills_while_cloaked
+ ch_wallrunning_pilot_kills
+ ch_wallhanging_pilot_kills
+ ch_kills_while_wallrunning
+ ch_kills_while_wallhanging
+ ch_pilotExecutePilot
+ ch_pilotKickMelee
+ ch_pilotKickMeleePilot
+ ch_titanMelee
+ ch_titanMeleePilot
+ ch_titanStepCrush
+ ch_titanStepCrushPilot
+ ch_titanExocutionStryder
+ ch_titanExocutionBuddy
+ ch_titanExocutionAtlas
+ ch_titanExocutionOgre
+ ch_titanFallKill
+ ch_petTitanKillsFollowMode
+ ch_petTitanKillsGuardMode
+ ch_rodeo_kills
+
+ // Titan Primary
+
+ ch_40mm_kills
+ ch_40mm_pilot_kills
+ ch_40mm_titan_kills
+ ch_40mm_spectre_kills
+ ch_40mm_grunt_kills
+ ch_40mm_hours_used
+ ch_40mm_crits
+
+ ch_xo16_kills
+ ch_xo16_pilot_kills
+ ch_xo16_titan_kills
+ ch_xo16_spectre_kills
+ ch_xo16_grunt_kills
+ ch_xo16_hours_used
+ ch_xo16_headshots
+ ch_xo16_crits
+
+ ch_titan_sniper_kills
+ ch_titan_sniper_pilot_kills
+ ch_titan_sniper_titan_kills
+ ch_titan_sniper_spectre_kills
+ ch_titan_sniper_grunt_kills
+ ch_titan_sniper_hours_used
+ ch_titan_sniper_crits
+
+ ch_rocket_launcher_kills
+ ch_rocket_launcher_pilot_kills
+ ch_rocket_launcher_titan_kills
+ ch_rocket_launcher_spectre_kills
+ ch_rocket_launcher_grunt_kills
+ ch_rocket_launcher_hours_used
+
+ ch_triple_threat_kills
+ ch_triple_threat_pilot_kills
+ ch_triple_threat_titan_kills
+ ch_triple_threat_spectre_kills
+ ch_triple_threat_grunt_kills
+ ch_triple_threat_hours_used
+
+ // Titan Ordnance
+
+ ch_salvo_rockets_kills
+ ch_salvo_rockets_pilot_kills
+ ch_salvo_rockets_titan_kills
+ ch_salvo_rockets_spectre_kills
+ ch_salvo_rockets_grunt_kills
+ ch_salvo_rockets_hours_used
+
+ ch_homing_rockets_titan_kills
+ ch_homing_rockets_hours_used
+
+ ch_dumbfire_rockets_kills
+ ch_dumbfire_rockets_pilot_kills
+ ch_dumbfire_rockets_titan_kills
+ ch_dumbfire_rockets_spectre_kills
+ ch_dumbfire_rockets_grunt_kills
+ ch_dumbfire_rockets_hours_used
+
+ ch_shoulder_rockets_titan_kills
+ ch_shoulder_rockets_hours_used
+
+ // Pilot Primary
+
+ ch_smart_pistol_kills
+ ch_smart_pistol_pilot_kills
+ ch_smart_pistol_spectre_kills
+ ch_smart_pistol_grunt_kills
+ ch_smart_pistol_hours_used
+
+ ch_shotgun_kills
+ ch_shotgun_pilot_kills
+ ch_shotgun_spectre_kills
+ ch_shotgun_grunt_kills
+ ch_shotgun_hours_used
+
+ ch_r97_kills
+ ch_r97_pilot_kills
+ ch_r97_spectre_kills
+ ch_r97_grunt_kills
+ ch_r97_hours_used
+ ch_r97_headshots
+
+ ch_car_kills
+ ch_car_pilot_kills
+ ch_car_spectre_kills
+ ch_car_grunt_kills
+ ch_car_hours_used
+ ch_car_headshots
+
+ ch_lmg_kills
+ ch_lmg_pilot_kills
+ ch_lmg_spectre_kills
+ ch_lmg_grunt_kills
+ ch_lmg_hours_used
+ ch_lmg_headshots
+
+ ch_rspn101_kills
+ ch_rspn101_pilot_kills
+ ch_rspn101_spectre_kills
+ ch_rspn101_grunt_kills
+ ch_rspn101_hours_used
+ ch_rspn101_headshots
+
+ ch_hemlok_kills
+ ch_hemlok_pilot_kills
+ ch_hemlok_spectre_kills
+ ch_hemlok_grunt_kills
+ ch_hemlok_hours_used
+ ch_hemlok_headshots
+
+ ch_g2_kills
+ ch_g2_pilot_kills
+ ch_g2_spectre_kills
+ ch_g2_grunt_kills
+ ch_g2_hours_used
+ ch_g2_headshots
+
+ ch_dmr_kills
+ ch_dmr_pilot_kills
+ ch_dmr_spectre_kills
+ ch_dmr_grunt_kills
+ ch_dmr_hours_used
+ ch_dmr_headshots
+
+ ch_sniper_kills
+ ch_sniper_pilot_kills
+ ch_sniper_spectre_kills
+ ch_sniper_grunt_kills
+ ch_sniper_hours_used
+
+ // Pilot Secondary
+
+ ch_smr_titan_kills
+ ch_smr_crits
+
+ ch_mgl_titan_kills
+
+ ch_archer_titan_kills
+
+ ch_defender_titan_kills
+ ch_defender_crits
+
+ // Pilot Ordnance
+
+ ch_frag_grenade_throws
+ ch_frag_grenade_kills
+ ch_frag_grenade_pilot_kills
+ ch_frag_grenade_grunt_kills
+
+ ch_emp_grenade_throws
+ ch_emp_grenade_kills
+ ch_emp_grenade_pilot_kills
+ ch_emp_grenade_grunt_kills
+ ch_emp_grenade_spectre_kills
+
+ ch_proximity_mine_throws
+ ch_proximity_mine_kills
+ ch_proximity_mine_pilot_kills
+ ch_proximity_mine_grunt_kills
+
+ ch_satchel_throws
+ ch_satchel_kills
+ ch_satchel_pilot_kills
+ ch_satchel_grunt_kills
+$ENUM_END
+
+$ENUM_START dailychallenge
+ NULL
+ // Dailies
+
+ ch_daily_xo16_pilot_kills
+ ch_daily_emp_grenade_kills
+ ch_daily_kills_nuclear_core
+$ENUM_END
+
+$STRUCT_START eChallenge
+ float progress
+ float previousProgress
+$STRUCT_END
+
+eChallenge challenges[challenge]
+eChallenge dailychallenges[dailychallenge]
+
+$STRUCT_START activeDailyChallenge
+ dailychallenge ref
+ int day
+$STRUCT_END
+
+activeDailyChallenge activeDailyChallenges[9] // holds the players daily challenge refs
+
+int trackedChallenges[3]
+int EOGTrackedChallenges[3]
+string{64} trackedChallengeRefs[3]
+string{64} EOGTrackedChallengeRefs[3]
+int dailyChallengeDayIndex
+bool newDailyChallenges
+
+//#########################
+// Post Game
+//#########################
+
+bool isPostGameScoreboardValid
+
+$STRUCT_START ePostGamePlayer
+ string{32} name
+ string{22} xuid
+ int level
+ int gen
+ int team
+ int scores[4]
+ bool playingRanked
+ int rank
+ int callsignIconIndex
+ float matchPerformance
+$STRUCT_END
+
+$STRUCT_START ePostGameData
+ int gameMode
+ int map
+ string{22} myXuid
+ int myTeam
+ int maxTeamSize
+ faction factionIMC
+ faction factionMCOR
+ int scoreIMC
+ int scoreMCOR
+ bool teams
+ bool privateMatch
+ bool ranked
+ bool hadMatchLossProtection
+ recentUnlock challengeUnlocks[6]
+ ePostGamePlayer players[16]
+$STRUCT_END
+
+ePostGameData postGameData
+
+//#########################
+// FD Awards
+//#########################
+
+bool isFDPostGameScoreboardValid
+
+$STRUCT_START eFDPostGamePlayer
+ string{32} name
+ string{22} xuid
+ int awardId
+ float awardValue
+ int suitIndex
+$STRUCT_END
+
+$STRUCT_START eFDPostGameData
+ int gameMode
+ int map
+ int myIndex
+ int numPlayers
+ eFDPostGamePlayer players[4]
+$STRUCT_END
+
+eFDPostGameData postGameDataFD
+
+// Track Gooser progress ( ejecting pilot kills ) before requirements changed so we can reward these players later if they did it the hard way
+int previousGooserProgress
+
+
+//#########################
+// GAME HISTORY
+//#########################
+
+// If these are size adjusted, re-initialize with InitPlayerMapHistory() and InitPlayerModeHistory()
+int mapHistory[24]
+int modeHistory[10]
+string{32} lastPlaylist
+
+//#########################
+// Dailies
+//#########################
+
+int lastDailyMatchVictory
+int lastTimePlayed
+int lastTimeLoggedIn
+
+$STRUCT_START struct_ranked
+ bool isPlayingRanked
+ int currentRank // deprecated but still used by code - need to fix
+$STRUCT_END
+
+int abandonCountForMode[gameModes]
+gameModes lastAbandonedMode
+int lastAbandonTime
+
+struct_ranked ranked