diff options
Diffstat (limited to 'Northstar.CustomServers/mod/cfg')
-rw-r--r-- | Northstar.CustomServers/mod/cfg/autoexec_ns_server.cfg | 8 | ||||
-rw-r--r-- | Northstar.CustomServers/mod/cfg/server/persistent_player_data_version_231.pdef | 1515 |
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 |