aboutsummaryrefslogtreecommitdiff
path: root/pkg
diff options
context:
space:
mode:
authorpg9182 <96569817+pg9182@users.noreply.github.com>2022-10-12 21:47:35 -0400
committerpg9182 <96569817+pg9182@users.noreply.github.com>2022-10-12 21:47:35 -0400
commitaaa46de4d284ba0038ea8f4177f39b171b80ac48 (patch)
tree9eff7c3cee42e81aafc46ad78a8d674d6d792329 /pkg
parentc20c849919f3405f8d37021d597d9b73e2df0435 (diff)
downloadAtlas-aaa46de4d284ba0038ea8f4177f39b171b80ac48.tar.gz
Atlas-aaa46de4d284ba0038ea8f4177f39b171b80ac48.zip
pkg/{pdata,pdef/pdefgen}: Add support for JSON encoding
* Backwards-compatbile with old master server: * NaN/Inf floats are encoded as null. * Enums are encoded as the value name, or the number if unrecognized. * Names are the same as the pdef. * Exception: Strings don't include bytes after the null terminator. * Also supports filtering fields. * Decoding is not supported for now.
Diffstat (limited to 'pkg')
-rw-r--r--pkg/pdata/persistent_player_data_version_231.go4501
-rw-r--r--pkg/pdata/persistent_player_data_version_231_test.go7
-rw-r--r--pkg/pdef/pdefgen/pdefgen.go171
3 files changed, 4131 insertions, 548 deletions
diff --git a/pkg/pdata/persistent_player_data_version_231.go b/pkg/pdata/persistent_player_data_version_231.go
index 61c929a..c44d909 100644
--- a/pkg/pdata/persistent_player_data_version_231.go
+++ b/pkg/pdata/persistent_player_data_version_231.go
@@ -14,11 +14,14 @@ import (
_ "embed"
"encoding"
"encoding/binary"
+ "encoding/json"
"errors"
"fmt"
"io"
"math"
+ "reflect"
"strconv"
+ "strings"
)
const Version int32 = 231
@@ -90,176 +93,178 @@ func putEnum(b []byte, x uint8) {
}
type Pdata struct {
- InitializedVersion int32 `json:"initializedVersion"`
- AnnouncementVersionSeen int32 `json:"announcementVersionSeen"`
- Xp int32 `json:"xp"`
- PreviousXP int32 `json:"previousXP"`
- Credits int32 `json:"credits"`
- Xp_match [20]int32 `json:"xp_match"`
- Xp_count [20]int32 `json:"xp_count"`
- NetWorth int32 `json:"netWorth"`
- MatchWin bool `json:"matchWin"`
- MatchScoreEvent bool `json:"matchScoreEvent"`
- MatchComplete bool `json:"matchComplete"`
- MatchSquadBonus bool `json:"matchSquadBonus"`
- ShowGameSummary bool `json:"showGameSummary"`
- RegenShowNew bool `json:"regenShowNew"`
- SpawnAsTitan bool `json:"spawnAsTitan"`
- HaveSeenCustomCoop bool `json:"haveSeenCustomCoop"`
- FactionGiftsFixed bool `json:"factionGiftsFixed"`
- IsACheater bool `json:"isACheater"`
- SpendDoubleColiseumTickets bool `json:"spendDoubleColiseumTickets"`
- PrivateMatchState int32 `json:"privateMatchState"`
- PlaylistShuffle_seed int32 `json:"playlistShuffle_seed"`
- PlaylistShuffle_seedFlip bool `json:"playlistShuffle_seedFlip"`
- PlaylistShuffle_curIndex int32 `json:"playlistShuffle_curIndex"`
- LastFDTitanRef string `json:"lastFDTitanRef"`
- LastFDDifficulty int32 `json:"lastFDDifficulty"`
- UltimateEdition bool `json:"ultimateEdition"`
- RandomColiseumUnlocks int32 `json:"randomColiseumUnlocks"`
- RandomPlayerLevelUnlocks int32 `json:"randomPlayerLevelUnlocks"`
- RandomTitanLevelUnlocks [TitanClassesCount]int32 `json:"randomTitanLevelUnlocks"`
- RandomWeaponLevelUnlocks [LoadoutWeaponsAndAbilitiesCount]int32 `json:"randomWeaponLevelUnlocks"`
- RandomFactionLevelUnlocks [FactionCount]int32 `json:"randomFactionLevelUnlocks"`
- DoubleXP int32 `json:"doubleXP"`
- ColiseumTickets int32 `json:"coliseumTickets"`
- ColiseumWinStreak int32 `json:"coliseumWinStreak"`
- ColiseumBestStreak int32 `json:"coliseumBestStreak"`
- ColiseumTotalWins int32 `json:"coliseumTotalWins"`
- ColiseumTotalLosses int32 `json:"coliseumTotalLosses"`
- RecentUnlocks [10]RecentUnlock `json:"recentUnlocks"`
- HasBeenIntroducedToComms bool `json:"hasBeenIntroducedToComms"`
- LastCommsUseDate int32 `json:"lastCommsUseDate"`
- NumTimesUsedComms int32 `json:"numTimesUsedComms"`
- Custom_emoji_initialized bool `json:"custom_emoji_initialized"`
- Custom_emoji [4]int32 `json:"custom_emoji"`
- BurnmeterSlot int32 `json:"burnmeterSlot"`
- Pve PveData `json:"pve"`
- FactionChoice Faction `json:"factionChoice"`
- EnemyFaction Faction `json:"enemyFaction"`
- PersistentRewards [32]bool `json:"persistentRewards"`
- ConsumableRewards [32]int32 `json:"consumableRewards"`
- PilotSpawnLoadout SpawnLoadout `json:"pilotSpawnLoadout"`
- TitanSpawnLoadout SpawnLoadout `json:"titanSpawnLoadout"`
- ActivePilotLoadout PilotLoadout `json:"activePilotLoadout"`
- ActiveTitanLoadout TitanLoadout `json:"activeTitanLoadout"`
- ActiveTitanLoadoutIndex int32 `json:"activeTitanLoadoutIndex"`
- PilotLoadouts [10]PilotLoadout `json:"pilotLoadouts"`
- TitanLoadouts [10]TitanLoadout `json:"titanLoadouts"`
- PinTrackedEntitlements [OwnedEntitlementsCount]bool `json:"pinTrackedEntitlements"`
- NewPinTrackedEntitlements [OwnedEntitlementsCount]bool `json:"newPinTrackedEntitlements"`
- ActiveBCID int32 `json:"activeBCID"`
- ActiveCallingCardIndex int32 `json:"activeCallingCardIndex"`
- ActiveCallsignIconIndex int32 `json:"activeCallsignIconIndex"`
- ActiveCallsignIconStyleIndex int32 `json:"activeCallsignIconStyleIndex"`
- Gen int32 `json:"gen"`
- FactionXP [FactionCount]int32 `json:"factionXP"`
- PreviousFactionXP [FactionCount]int32 `json:"previousFactionXP"`
- TitanXP [TitanClassesCount]int32 `json:"titanXP"`
- PreviousTitanXP [TitanClassesCount]int32 `json:"previousTitanXP"`
- FdTitanXP [TitanClassesCount]int32 `json:"fdTitanXP"`
- FdPreviousTitanXP [TitanClassesCount]int32 `json:"fdPreviousTitanXP"`
- TitanFDUnlockPoints [TitanClassesCount]int32 `json:"titanFDUnlockPoints"`
- PreviousFDUnlockPoints [TitanClassesCount]int32 `json:"previousFDUnlockPoints"`
- Fd_match [20]int32 `json:"fd_match"`
- Fd_count [20]int32 `json:"fd_count"`
- TitanClassLockState [TitanClassesCount]int32 `json:"titanClassLockState"`
- FdTutorialBits int32 `json:"fdTutorialBits"`
- FdPlaylistBits int32 `json:"fdPlaylistBits"`
- GameStats SGameStats `json:"gameStats"`
- MapStats [MapsCount]SMapStats `json:"mapStats"`
- TimeStats SHoursPlayed `json:"timeStats"`
- DistanceStats SMilesTraveled `json:"distanceStats"`
- WeaponStats [LoadoutWeaponsAndAbilitiesCount]SWeaponStats `json:"weaponStats"`
- WeaponKillStats [LoadoutWeaponsAndAbilitiesCount]SWeaponKillStats `json:"weaponKillStats"`
- KillStats SKillStats `json:"killStats"`
- DeathStats SDeathStats `json:"deathStats"`
- MiscStats SMiscStats `json:"miscStats"`
- FdStats SFDStats `json:"fdStats"`
- TitanStats [TitanClassesCount]STitanStats `json:"titanStats"`
- Kdratio_lifetime float32 `json:"kdratio_lifetime"`
- Kdratio_lifetime_pvp float32 `json:"kdratio_lifetime_pvp"`
- Kdratio_match [10]float32 `json:"kdratio_match"`
- Kdratiopvp_match [10]float32 `json:"kdratiopvp_match"`
- WinStreak int32 `json:"winStreak"`
- HighestWinStreakEver int32 `json:"highestWinStreakEver"`
- WinStreakIsDraws bool `json:"winStreakIsDraws"`
- WinLossHistory [10]int32 `json:"winLossHistory"`
- WinLossHistorySize int32 `json:"winLossHistorySize"`
- MostProjectilesCollectedInVortex int32 `json:"mostProjectilesCollectedInVortex"`
- BlackMarketItemsBought int32 `json:"blackMarketItemsBought"`
- RespawnKillInfected bool `json:"respawnKillInfected"`
- PilotWeapons [35]WeaponMain `json:"pilotWeapons"`
- PilotOffhands [35]WeaponOffhand `json:"pilotOffhands"`
- TitanWeapons [15]WeaponMain `json:"titanWeapons"`
- TitanOffhands [30]WeaponOffhand `json:"titanOffhands"`
- TitanChassis [12]TitanMain `json:"titanChassis"`
- HasSeenStore bool `json:"hasSeenStore"`
- NewPilotSkins [5]int32 `json:"newPilotSkins"`
- UnlockedPilotSkins [5]int32 `json:"unlockedPilotSkins"`
- NewPrimePilotSkins int32 `json:"newPrimePilotSkins"`
- UnlockedPrimePilotSkins int32 `json:"unlockedPrimePilotSkins"`
- NewPilotWeapons [2]int32 `json:"newPilotWeapons"`
- UnlockedPilotWeapons [2]int32 `json:"unlockedPilotWeapons"`
- NewPilotOffhands [2]int32 `json:"newPilotOffhands"`
- UnlockedPilotOffhands [2]int32 `json:"unlockedPilotOffhands"`
- NewPilotPassives int32 `json:"newPilotPassives"`
- UnlockedPilotPassives int32 `json:"unlockedPilotPassives"`
- NewTitanOffhands [2]int32 `json:"newTitanOffhands"`
- UnlockedTitanOffhands [2]int32 `json:"unlockedTitanOffhands"`
- NewTitanPassives int32 `json:"newTitanPassives"`
- UnlockedTitanPassives int32 `json:"unlockedTitanPassives"`
- NewTitanChassis int32 `json:"newTitanChassis"`
- UnlockedTitanChassis int32 `json:"unlockedTitanChassis"`
- NewPrimeTitans int32 `json:"newPrimeTitans"`
- UnlockedPrimeTitans int32 `json:"unlockedPrimeTitans"`
- NewPilotSuits int32 `json:"newPilotSuits"`
- UnlockedPilotSuits int32 `json:"unlockedPilotSuits"`
- NewPilotExecutions int32 `json:"newPilotExecutions"`
- UnlockedPilotExecutions int32 `json:"unlockedPilotExecutions"`
- UnlockedFeatures [2]int32 `json:"unlockedFeatures"`
- NewFeatures [2]int32 `json:"newFeatures"`
- UnlockedBoosts int32 `json:"unlockedBoosts"`
- NewBoosts int32 `json:"newBoosts"`
- UnlockedFactions int32 `json:"unlockedFactions"`
- NewFactions int32 `json:"newFactions"`
- UnlockedCallingCards [16]int32 `json:"unlockedCallingCards"`
- NewCallingCards [16]int32 `json:"newCallingCards"`
- UnlockedCallsignIcons [7]int32 `json:"unlockedCallsignIcons"`
- NewCallsignIcons [7]int32 `json:"newCallsignIcons"`
- UnlockedCommsIcons [5]int32 `json:"unlockedCommsIcons"`
- NewCommsIcons [5]int32 `json:"newCommsIcons"`
- NewTitanExecutions int32 `json:"newTitanExecutions"`
- UnlockedTitanExecutions int32 `json:"unlockedTitanExecutions"`
- Challenges [ChallengeCount]EChallenge `json:"challenges"`
- Dailychallenges [DailychallengeCount]EChallenge `json:"dailychallenges"`
- ActiveDailyChallenges [9]ActiveDailyChallenge `json:"activeDailyChallenges"`
- TrackedChallenges [3]int32 `json:"trackedChallenges"`
- EOGTrackedChallenges [3]int32 `json:"EOGTrackedChallenges"`
- TrackedChallengeRefs [3]string `json:"trackedChallengeRefs"`
- EOGTrackedChallengeRefs [3]string `json:"EOGTrackedChallengeRefs"`
- DailyChallengeDayIndex int32 `json:"dailyChallengeDayIndex"`
- NewDailyChallenges bool `json:"newDailyChallenges"`
- IsPostGameScoreboardValid bool `json:"isPostGameScoreboardValid"`
- PostGameData EPostGameData `json:"postGameData"`
- IsFDPostGameScoreboardValid bool `json:"isFDPostGameScoreboardValid"`
- PostGameDataFD EFDPostGameData `json:"postGameDataFD"`
- PreviousGooserProgress int32 `json:"previousGooserProgress"`
- MapHistory [24]int32 `json:"mapHistory"`
- ModeHistory [10]int32 `json:"modeHistory"`
- LastPlaylist string `json:"lastPlaylist"`
- LastDailyMatchVictory int32 `json:"lastDailyMatchVictory"`
- LastTimePlayed int32 `json:"lastTimePlayed"`
- LastTimeLoggedIn int32 `json:"lastTimeLoggedIn"`
- AbandonCountForMode [GameModesCount]int32 `json:"abandonCountForMode"`
- LastAbandonedMode GameModes `json:"lastAbandonedMode"`
- LastAbandonTime int32 `json:"lastAbandonTime"`
- Ranked Struct_ranked `json:"ranked"`
- ExtraData []byte `json:"extraData,omitempty"`
+ InitializedVersion int32 `pdef:"initializedVersion"`
+ AnnouncementVersionSeen int32 `pdef:"announcementVersionSeen"`
+ Xp int32 `pdef:"xp"`
+ PreviousXP int32 `pdef:"previousXP"`
+ Credits int32 `pdef:"credits"`
+ Xp_match [20]int32 `pdef:"xp_match"`
+ Xp_count [20]int32 `pdef:"xp_count"`
+ NetWorth int32 `pdef:"netWorth"`
+ MatchWin bool `pdef:"matchWin"`
+ MatchScoreEvent bool `pdef:"matchScoreEvent"`
+ MatchComplete bool `pdef:"matchComplete"`
+ MatchSquadBonus bool `pdef:"matchSquadBonus"`
+ ShowGameSummary bool `pdef:"showGameSummary"`
+ RegenShowNew bool `pdef:"regenShowNew"`
+ SpawnAsTitan bool `pdef:"spawnAsTitan"`
+ HaveSeenCustomCoop bool `pdef:"haveSeenCustomCoop"`
+ FactionGiftsFixed bool `pdef:"factionGiftsFixed"`
+ IsACheater bool `pdef:"isACheater"`
+ SpendDoubleColiseumTickets bool `pdef:"spendDoubleColiseumTickets"`
+ PrivateMatchState int32 `pdef:"privateMatchState"`
+ PlaylistShuffle_seed int32 `pdef:"playlistShuffle_seed"`
+ PlaylistShuffle_seedFlip bool `pdef:"playlistShuffle_seedFlip"`
+ PlaylistShuffle_curIndex int32 `pdef:"playlistShuffle_curIndex"`
+ LastFDTitanRef string `pdef:"lastFDTitanRef"`
+ LastFDDifficulty int32 `pdef:"lastFDDifficulty"`
+ UltimateEdition bool `pdef:"ultimateEdition"`
+ RandomColiseumUnlocks int32 `pdef:"randomColiseumUnlocks"`
+ RandomPlayerLevelUnlocks int32 `pdef:"randomPlayerLevelUnlocks"`
+ RandomTitanLevelUnlocks [TitanClassesCount]int32 `pdef:"randomTitanLevelUnlocks"`
+ RandomWeaponLevelUnlocks [LoadoutWeaponsAndAbilitiesCount]int32 `pdef:"randomWeaponLevelUnlocks"`
+ RandomFactionLevelUnlocks [FactionCount]int32 `pdef:"randomFactionLevelUnlocks"`
+ DoubleXP int32 `pdef:"doubleXP"`
+ ColiseumTickets int32 `pdef:"coliseumTickets"`
+ ColiseumWinStreak int32 `pdef:"coliseumWinStreak"`
+ ColiseumBestStreak int32 `pdef:"coliseumBestStreak"`
+ ColiseumTotalWins int32 `pdef:"coliseumTotalWins"`
+ ColiseumTotalLosses int32 `pdef:"coliseumTotalLosses"`
+ RecentUnlocks [10]RecentUnlock `pdef:"recentUnlocks"`
+ HasBeenIntroducedToComms bool `pdef:"hasBeenIntroducedToComms"`
+ LastCommsUseDate int32 `pdef:"lastCommsUseDate"`
+ NumTimesUsedComms int32 `pdef:"numTimesUsedComms"`
+ Custom_emoji_initialized bool `pdef:"custom_emoji_initialized"`
+ Custom_emoji [4]int32 `pdef:"custom_emoji"`
+ BurnmeterSlot int32 `pdef:"burnmeterSlot"`
+ Pve PveData `pdef:"pve"`
+ FactionChoice Faction `pdef:"factionChoice"`
+ EnemyFaction Faction `pdef:"enemyFaction"`
+ PersistentRewards [32]bool `pdef:"persistentRewards"`
+ ConsumableRewards [32]int32 `pdef:"consumableRewards"`
+ PilotSpawnLoadout SpawnLoadout `pdef:"pilotSpawnLoadout"`
+ TitanSpawnLoadout SpawnLoadout `pdef:"titanSpawnLoadout"`
+ ActivePilotLoadout PilotLoadout `pdef:"activePilotLoadout"`
+ ActiveTitanLoadout TitanLoadout `pdef:"activeTitanLoadout"`
+ ActiveTitanLoadoutIndex int32 `pdef:"activeTitanLoadoutIndex"`
+ PilotLoadouts [10]PilotLoadout `pdef:"pilotLoadouts"`
+ TitanLoadouts [10]TitanLoadout `pdef:"titanLoadouts"`
+ PinTrackedEntitlements [OwnedEntitlementsCount]bool `pdef:"pinTrackedEntitlements"`
+ NewPinTrackedEntitlements [OwnedEntitlementsCount]bool `pdef:"newPinTrackedEntitlements"`
+ ActiveBCID int32 `pdef:"activeBCID"`
+ ActiveCallingCardIndex int32 `pdef:"activeCallingCardIndex"`
+ ActiveCallsignIconIndex int32 `pdef:"activeCallsignIconIndex"`
+ ActiveCallsignIconStyleIndex int32 `pdef:"activeCallsignIconStyleIndex"`
+ Gen int32 `pdef:"gen"`
+ FactionXP [FactionCount]int32 `pdef:"factionXP"`
+ PreviousFactionXP [FactionCount]int32 `pdef:"previousFactionXP"`
+ TitanXP [TitanClassesCount]int32 `pdef:"titanXP"`
+ PreviousTitanXP [TitanClassesCount]int32 `pdef:"previousTitanXP"`
+ FdTitanXP [TitanClassesCount]int32 `pdef:"fdTitanXP"`
+ FdPreviousTitanXP [TitanClassesCount]int32 `pdef:"fdPreviousTitanXP"`
+ TitanFDUnlockPoints [TitanClassesCount]int32 `pdef:"titanFDUnlockPoints"`
+ PreviousFDUnlockPoints [TitanClassesCount]int32 `pdef:"previousFDUnlockPoints"`
+ Fd_match [20]int32 `pdef:"fd_match"`
+ Fd_count [20]int32 `pdef:"fd_count"`
+ TitanClassLockState [TitanClassesCount]int32 `pdef:"titanClassLockState"`
+ FdTutorialBits int32 `pdef:"fdTutorialBits"`
+ FdPlaylistBits int32 `pdef:"fdPlaylistBits"`
+ GameStats SGameStats `pdef:"gameStats"`
+ MapStats [MapsCount]SMapStats `pdef:"mapStats"`
+ TimeStats SHoursPlayed `pdef:"timeStats"`
+ DistanceStats SMilesTraveled `pdef:"distanceStats"`
+ WeaponStats [LoadoutWeaponsAndAbilitiesCount]SWeaponStats `pdef:"weaponStats"`
+ WeaponKillStats [LoadoutWeaponsAndAbilitiesCount]SWeaponKillStats `pdef:"weaponKillStats"`
+ KillStats SKillStats `pdef:"killStats"`
+ DeathStats SDeathStats `pdef:"deathStats"`
+ MiscStats SMiscStats `pdef:"miscStats"`
+ FdStats SFDStats `pdef:"fdStats"`
+ TitanStats [TitanClassesCount]STitanStats `pdef:"titanStats"`
+ Kdratio_lifetime float32 `pdef:"kdratio_lifetime"`
+ Kdratio_lifetime_pvp float32 `pdef:"kdratio_lifetime_pvp"`
+ Kdratio_match [10]float32 `pdef:"kdratio_match"`
+ Kdratiopvp_match [10]float32 `pdef:"kdratiopvp_match"`
+ WinStreak int32 `pdef:"winStreak"`
+ HighestWinStreakEver int32 `pdef:"highestWinStreakEver"`
+ WinStreakIsDraws bool `pdef:"winStreakIsDraws"`
+ WinLossHistory [10]int32 `pdef:"winLossHistory"`
+ WinLossHistorySize int32 `pdef:"winLossHistorySize"`
+ MostProjectilesCollectedInVortex int32 `pdef:"mostProjectilesCollectedInVortex"`
+ BlackMarketItemsBought int32 `pdef:"blackMarketItemsBought"`
+ RespawnKillInfected bool `pdef:"respawnKillInfected"`
+ PilotWeapons [35]WeaponMain `pdef:"pilotWeapons"`
+ PilotOffhands [35]WeaponOffhand `pdef:"pilotOffhands"`
+ TitanWeapons [15]WeaponMain `pdef:"titanWeapons"`
+ TitanOffhands [30]WeaponOffhand `pdef:"titanOffhands"`
+ TitanChassis [12]TitanMain `pdef:"titanChassis"`
+ HasSeenStore bool `pdef:"hasSeenStore"`
+ NewPilotSkins [5]int32 `pdef:"newPilotSkins"`
+ UnlockedPilotSkins [5]int32 `pdef:"unlockedPilotSkins"`
+ NewPrimePilotSkins int32 `pdef:"newPrimePilotSkins"`
+ UnlockedPrimePilotSkins int32 `pdef:"unlockedPrimePilotSkins"`
+ NewPilotWeapons [2]int32 `pdef:"newPilotWeapons"`
+ UnlockedPilotWeapons [2]int32 `pdef:"unlockedPilotWeapons"`
+ NewPilotOffhands [2]int32 `pdef:"newPilotOffhands"`
+ UnlockedPilotOffhands [2]int32 `pdef:"unlockedPilotOffhands"`
+ NewPilotPassives int32 `pdef:"newPilotPassives"`
+ UnlockedPilotPassives int32 `pdef:"unlockedPilotPassives"`
+ NewTitanOffhands [2]int32 `pdef:"newTitanOffhands"`
+ UnlockedTitanOffhands [2]int32 `pdef:"unlockedTitanOffhands"`
+ NewTitanPassives int32 `pdef:"newTitanPassives"`
+ UnlockedTitanPassives int32 `pdef:"unlockedTitanPassives"`
+ NewTitanChassis int32 `pdef:"newTitanChassis"`
+ UnlockedTitanChassis int32 `pdef:"unlockedTitanChassis"`
+ NewPrimeTitans int32 `pdef:"newPrimeTitans"`
+ UnlockedPrimeTitans int32 `pdef:"unlockedPrimeTitans"`
+ NewPilotSuits int32 `pdef:"newPilotSuits"`
+ UnlockedPilotSuits int32 `pdef:"unlockedPilotSuits"`
+ NewPilotExecutions int32 `pdef:"newPilotExecutions"`
+ UnlockedPilotExecutions int32 `pdef:"unlockedPilotExecutions"`
+ UnlockedFeatures [2]int32 `pdef:"unlockedFeatures"`
+ NewFeatures [2]int32 `pdef:"newFeatures"`
+ UnlockedBoosts int32 `pdef:"unlockedBoosts"`
+ NewBoosts int32 `pdef:"newBoosts"`
+ UnlockedFactions int32 `pdef:"unlockedFactions"`
+ NewFactions int32 `pdef:"newFactions"`
+ UnlockedCallingCards [16]int32 `pdef:"unlockedCallingCards"`
+ NewCallingCards [16]int32 `pdef:"newCallingCards"`
+ UnlockedCallsignIcons [7]int32 `pdef:"unlockedCallsignIcons"`
+ NewCallsignIcons [7]int32 `pdef:"newCallsignIcons"`
+ UnlockedCommsIcons [5]int32 `pdef:"unlockedCommsIcons"`
+ NewCommsIcons [5]int32 `pdef:"newCommsIcons"`
+ NewTitanExecutions int32 `pdef:"newTitanExecutions"`
+ UnlockedTitanExecutions int32 `pdef:"unlockedTitanExecutions"`
+ Challenges [ChallengeCount]EChallenge `pdef:"challenges"`
+ Dailychallenges [DailychallengeCount]EChallenge `pdef:"dailychallenges"`
+ ActiveDailyChallenges [9]ActiveDailyChallenge `pdef:"activeDailyChallenges"`
+ TrackedChallenges [3]int32 `pdef:"trackedChallenges"`
+ EOGTrackedChallenges [3]int32 `pdef:"EOGTrackedChallenges"`
+ TrackedChallengeRefs [3]string `pdef:"trackedChallengeRefs"`
+ EOGTrackedChallengeRefs [3]string `pdef:"EOGTrackedChallengeRefs"`
+ DailyChallengeDayIndex int32 `pdef:"dailyChallengeDayIndex"`
+ NewDailyChallenges bool `pdef:"newDailyChallenges"`
+ IsPostGameScoreboardValid bool `pdef:"isPostGameScoreboardValid"`
+ PostGameData EPostGameData `pdef:"postGameData"`
+ IsFDPostGameScoreboardValid bool `pdef:"isFDPostGameScoreboardValid"`
+ PostGameDataFD EFDPostGameData `pdef:"postGameDataFD"`
+ PreviousGooserProgress int32 `pdef:"previousGooserProgress"`
+ MapHistory [24]int32 `pdef:"mapHistory"`
+ ModeHistory [10]int32 `pdef:"modeHistory"`
+ LastPlaylist string `pdef:"lastPlaylist"`
+ LastDailyMatchVictory int32 `pdef:"lastDailyMatchVictory"`
+ LastTimePlayed int32 `pdef:"lastTimePlayed"`
+ LastTimeLoggedIn int32 `pdef:"lastTimeLoggedIn"`
+ AbandonCountForMode [GameModesCount]int32 `pdef:"abandonCountForMode"`
+ LastAbandonedMode GameModes `pdef:"lastAbandonedMode"`
+ LastAbandonTime int32 `pdef:"lastAbandonTime"`
+ Ranked Struct_ranked `pdef:"ranked"`
+ ExtraData []byte
}
var _ encoding.BinaryUnmarshaler = (*Pdata)(nil)
var _ encoding.BinaryMarshaler = Pdata{}
+var _ json.Unmarshaler = (*Pdata)(nil)
+var _ json.Marshaler = Pdata{}
func (v *Pdata) UnmarshalBinary(b []byte) error {
if len(b) < 4 {
@@ -6256,14 +6261,28 @@ func (v Pdata) MarshalBinary() ([]byte, error) {
b = append(b, v.ExtraData...)
return b, nil
}
+func (v *Pdata) UnmarshalJSON(b []byte) error {
+ return fmt.Errorf("not implemented")
+}
+func (v Pdata) MarshalJSON() ([]byte, error) {
+ return v.MarshalJSONFilter(nil)
+}
+func (v Pdata) MarshalJSONFilter(filter func(path ...string) bool) ([]byte, error) {
+ if x := v.InitializedVersion; x != Version {
+ return nil, fmt.Errorf("encode %q (v%d): %w: got %d", "pdata", Version, ErrUnsupportedVersion, x)
+ }
+ return pdataMarshalJSONStruct(v, filter)
+}
type ActiveDailyChallenge struct {
- Ref Dailychallenge `json:"ref"`
- Day int32 `json:"day"`
+ Ref Dailychallenge `pdef:"ref"`
+ Day int32 `pdef:"day"`
}
var _ encoding.BinaryUnmarshaler = (*ActiveDailyChallenge)(nil)
var _ encoding.BinaryMarshaler = ActiveDailyChallenge{}
+var _ json.Unmarshaler = (*ActiveDailyChallenge)(nil)
+var _ json.Marshaler = ActiveDailyChallenge{}
func (v *ActiveDailyChallenge) UnmarshalBinary(b []byte) error {
if len(b) != 5 {
@@ -6279,14 +6298,25 @@ func (v ActiveDailyChallenge) MarshalBinary() ([]byte, error) {
putInt(b[1:5], v.Day)
return b, nil
}
+func (v *ActiveDailyChallenge) UnmarshalJSON(b []byte) error {
+ return fmt.Errorf("not implemented")
+}
+func (v ActiveDailyChallenge) MarshalJSON() ([]byte, error) {
+ return v.MarshalJSONFilter(nil)
+}
+func (v ActiveDailyChallenge) MarshalJSONFilter(filter func(path ...string) bool) ([]byte, error) {
+ return pdataMarshalJSONStruct(v, filter)
+}
type EChallenge struct {
- Progress float32 `json:"progress"`
- PreviousProgress float32 `json:"previousProgress"`
+ Progress float32 `pdef:"progress"`
+ PreviousProgress float32 `pdef:"previousProgress"`
}
var _ encoding.BinaryUnmarshaler = (*EChallenge)(nil)
var _ encoding.BinaryMarshaler = EChallenge{}
+var _ json.Unmarshaler = (*EChallenge)(nil)
+var _ json.Marshaler = EChallenge{}
func (v *EChallenge) UnmarshalBinary(b []byte) error {
if len(b) != 8 {
@@ -6302,17 +6332,28 @@ func (v EChallenge) MarshalBinary() ([]byte, error) {
putFloat(b[4:8], v.PreviousProgress)
return b, nil
}
+func (v *EChallenge) UnmarshalJSON(b []byte) error {
+ return fmt.Errorf("not implemented")
+}
+func (v EChallenge) MarshalJSON() ([]byte, error) {
+ return v.MarshalJSONFilter(nil)
+}
+func (v EChallenge) MarshalJSONFilter(filter func(path ...string) bool) ([]byte, error) {
+ return pdataMarshalJSONStruct(v, filter)
+}
type EFDPostGameData struct {
- GameMode int32 `json:"gameMode"`
- Map int32 `json:"map"`
- MyIndex int32 `json:"myIndex"`
- NumPlayers int32 `json:"numPlayers"`
- Players [4]EFDPostGamePlayer `json:"players"`
+ GameMode int32 `pdef:"gameMode"`
+ Map int32 `pdef:"map"`
+ MyIndex int32 `pdef:"myIndex"`
+ NumPlayers int32 `pdef:"numPlayers"`
+ Players [4]EFDPostGamePlayer `pdef:"players"`
}
var _ encoding.BinaryUnmarshaler = (*EFDPostGameData)(nil)
var _ encoding.BinaryMarshaler = EFDPostGameData{}
+var _ json.Unmarshaler = (*EFDPostGameData)(nil)
+var _ json.Marshaler = EFDPostGameData{}
func (v *EFDPostGameData) UnmarshalBinary(b []byte) error {
if len(b) != 280 {
@@ -6364,17 +6405,28 @@ func (v EFDPostGameData) MarshalBinary() ([]byte, error) {
}
return b, nil
}
+func (v *EFDPostGameData) UnmarshalJSON(b []byte) error {
+ return fmt.Errorf("not implemented")
+}
+func (v EFDPostGameData) MarshalJSON() ([]byte, error) {
+ return v.MarshalJSONFilter(nil)
+}
+func (v EFDPostGameData) MarshalJSONFilter(filter func(path ...string) bool) ([]byte, error) {
+ return pdataMarshalJSONStruct(v, filter)
+}
type EFDPostGamePlayer struct {
- Name string `json:"name"`
- Xuid string `json:"xuid"`
- AwardId int32 `json:"awardId"`
- AwardValue float32 `json:"awardValue"`
- SuitIndex int32 `json:"suitIndex"`
+ Name string `pdef:"name"`
+ Xuid string `pdef:"xuid"`
+ AwardId int32 `pdef:"awardId"`
+ AwardValue float32 `pdef:"awardValue"`
+ SuitIndex int32 `pdef:"suitIndex"`
}
var _ encoding.BinaryUnmarshaler = (*EFDPostGamePlayer)(nil)
var _ encoding.BinaryMarshaler = EFDPostGamePlayer{}
+var _ json.Unmarshaler = (*EFDPostGamePlayer)(nil)
+var _ json.Marshaler = EFDPostGamePlayer{}
func (v *EFDPostGamePlayer) UnmarshalBinary(b []byte) error {
if len(b) != 66 {
@@ -6400,27 +6452,38 @@ func (v EFDPostGamePlayer) MarshalBinary() ([]byte, error) {
putInt(b[62:66], v.SuitIndex)
return b, nil
}
+func (v *EFDPostGamePlayer) UnmarshalJSON(b []byte) error {
+ return fmt.Errorf("not implemented")
+}
+func (v EFDPostGamePlayer) MarshalJSON() ([]byte, error) {
+ return v.MarshalJSONFilter(nil)
+}
+func (v EFDPostGamePlayer) MarshalJSONFilter(filter func(path ...string) bool) ([]byte, error) {
+ return pdataMarshalJSONStruct(v, filter)
+}
type EPostGameData struct {
- GameMode int32 `json:"gameMode"`
- Map int32 `json:"map"`
- MyXuid string `json:"myXuid"`
- MyTeam int32 `json:"myTeam"`
- MaxTeamSize int32 `json:"maxTeamSize"`
- FactionIMC Faction `json:"factionIMC"`
- FactionMCOR Faction `json:"factionMCOR"`
- ScoreIMC int32 `json:"scoreIMC"`
- ScoreMCOR int32 `json:"scoreMCOR"`
- Teams bool `json:"teams"`
- PrivateMatch bool `json:"privateMatch"`
- Ranked bool `json:"ranked"`
- HadMatchLossProtection bool `json:"hadMatchLossProtection"`
- ChallengeUnlocks [6]RecentUnlock `json:"challengeUnlocks"`
- Players [16]EPostGamePlayer `json:"players"`
+ GameMode int32 `pdef:"gameMode"`
+ Map int32 `pdef:"map"`
+ MyXuid string `pdef:"myXuid"`
+ MyTeam int32 `pdef:"myTeam"`
+ MaxTeamSize int32 `pdef:"maxTeamSize"`
+ FactionIMC Faction `pdef:"factionIMC"`
+ FactionMCOR Faction `pdef:"factionMCOR"`
+ ScoreIMC int32 `pdef:"scoreIMC"`
+ ScoreMCOR int32 `pdef:"scoreMCOR"`
+ Teams bool `pdef:"teams"`
+ PrivateMatch bool `pdef:"privateMatch"`
+ Ranked bool `pdef:"ranked"`
+ HadMatchLossProtection bool `pdef:"hadMatchLossProtection"`
+ ChallengeUnlocks [6]RecentUnlock `pdef:"challengeUnlocks"`
+ Players [16]EPostGamePlayer `pdef:"players"`
}
var _ encoding.BinaryUnmarshaler = (*EPostGameData)(nil)
var _ encoding.BinaryMarshaler = EPostGameData{}
+var _ json.Unmarshaler = (*EPostGameData)(nil)
+var _ json.Marshaler = EPostGameData{}
func (v *EPostGameData) UnmarshalBinary(b []byte) error {
if len(b) != 1644 {
@@ -6636,22 +6699,33 @@ func (v EPostGameData) MarshalBinary() ([]byte, error) {
}
return b, nil
}
+func (v *EPostGameData) UnmarshalJSON(b []byte) error {
+ return fmt.Errorf("not implemented")
+}
+func (v EPostGameData) MarshalJSON() ([]byte, error) {
+ return v.MarshalJSONFilter(nil)
+}
+func (v EPostGameData) MarshalJSONFilter(filter func(path ...string) bool) ([]byte, error) {
+ return pdataMarshalJSONStruct(v, filter)
+}
type EPostGamePlayer struct {
- Name string `json:"name"`
- Xuid string `json:"xuid"`
- Level int32 `json:"level"`
- Gen int32 `json:"gen"`
- Team int32 `json:"team"`
- Scores [4]int32 `json:"scores"`
- PlayingRanked bool `json:"playingRanked"`
- Rank int32 `json:"rank"`
- CallsignIconIndex int32 `json:"callsignIconIndex"`
- MatchPerformance float32 `json:"matchPerformance"`
+ Name string `pdef:"name"`
+ Xuid string `pdef:"xuid"`
+ Level int32 `pdef:"level"`
+ Gen int32 `pdef:"gen"`
+ Team int32 `pdef:"team"`
+ Scores [4]int32 `pdef:"scores"`
+ PlayingRanked bool `pdef:"playingRanked"`
+ Rank int32 `pdef:"rank"`
+ CallsignIconIndex int32 `pdef:"callsignIconIndex"`
+ MatchPerformance float32 `pdef:"matchPerformance"`
}
var _ encoding.BinaryUnmarshaler = (*EPostGamePlayer)(nil)
var _ encoding.BinaryMarshaler = EPostGamePlayer{}
+var _ json.Unmarshaler = (*EPostGamePlayer)(nil)
+var _ json.Marshaler = EPostGamePlayer{}
func (v *EPostGamePlayer) UnmarshalBinary(b []byte) error {
if len(b) != 95 {
@@ -6693,40 +6767,51 @@ func (v EPostGamePlayer) MarshalBinary() ([]byte, error) {
putFloat(b[91:95], v.MatchPerformance)
return b, nil
}
+func (v *EPostGamePlayer) UnmarshalJSON(b []byte) error {
+ return fmt.Errorf("not implemented")
+}
+func (v EPostGamePlayer) MarshalJSON() ([]byte, error) {
+ return v.MarshalJSONFilter(nil)
+}
+func (v EPostGamePlayer) MarshalJSONFilter(filter func(path ...string) bool) ([]byte, error) {
+ return pdataMarshalJSONStruct(v, filter)
+}
type PilotLoadout struct {
- Name string `json:"name"`
- Suit PilotSuit `json:"suit"`
- Race PilotRace `json:"race"`
- Execution PilotExecution `json:"execution"`
- Primary LoadoutWeaponsAndAbilities `json:"primary"`
- PrimaryAttachment PilotMod `json:"primaryAttachment"`
- PrimaryMod1 PilotMod `json:"primaryMod1"`
- PrimaryMod2 PilotMod `json:"primaryMod2"`
- PrimaryMod3 PilotMod `json:"primaryMod3"`
- Secondary LoadoutWeaponsAndAbilities `json:"secondary"`
- SecondaryMod1 PilotMod `json:"secondaryMod1"`
- SecondaryMod2 PilotMod `json:"secondaryMod2"`
- SecondaryMod3 PilotMod `json:"secondaryMod3"`
- Weapon3 LoadoutWeaponsAndAbilities `json:"weapon3"`
- Weapon3Mod1 PilotMod `json:"weapon3Mod1"`
- Weapon3Mod2 PilotMod `json:"weapon3Mod2"`
- Weapon3Mod3 PilotMod `json:"weapon3Mod3"`
- Ordnance LoadoutWeaponsAndAbilities `json:"ordnance"`
- Passive1 PilotPassive `json:"passive1"`
- Passive2 PilotPassive `json:"passive2"`
- SkinIndex int32 `json:"skinIndex"`
- CamoIndex int32 `json:"camoIndex"`
- PrimarySkinIndex int32 `json:"primarySkinIndex"`
- PrimaryCamoIndex int32 `json:"primaryCamoIndex"`
- SecondarySkinIndex int32 `json:"secondarySkinIndex"`
- SecondaryCamoIndex int32 `json:"secondaryCamoIndex"`
- Weapon3SkinIndex int32 `json:"weapon3SkinIndex"`
- Weapon3CamoIndex int32 `json:"weapon3CamoIndex"`
+ Name string `pdef:"name"`
+ Suit PilotSuit `pdef:"suit"`
+ Race PilotRace `pdef:"race"`
+ Execution PilotExecution `pdef:"execution"`
+ Primary LoadoutWeaponsAndAbilities `pdef:"primary"`
+ PrimaryAttachment PilotMod `pdef:"primaryAttachment"`
+ PrimaryMod1 PilotMod `pdef:"primaryMod1"`
+ PrimaryMod2 PilotMod `pdef:"primaryMod2"`
+ PrimaryMod3 PilotMod `pdef:"primaryMod3"`
+ Secondary LoadoutWeaponsAndAbilities `pdef:"secondary"`
+ SecondaryMod1 PilotMod `pdef:"secondaryMod1"`
+ SecondaryMod2 PilotMod `pdef:"secondaryMod2"`
+ SecondaryMod3 PilotMod `pdef:"secondaryMod3"`
+ Weapon3 LoadoutWeaponsAndAbilities `pdef:"weapon3"`
+ Weapon3Mod1 PilotMod `pdef:"weapon3Mod1"`
+ Weapon3Mod2 PilotMod `pdef:"weapon3Mod2"`
+ Weapon3Mod3 PilotMod `pdef:"weapon3Mod3"`
+ Ordnance LoadoutWeaponsAndAbilities `pdef:"ordnance"`
+ Passive1 PilotPassive `pdef:"passive1"`
+ Passive2 PilotPassive `pdef:"passive2"`
+ SkinIndex int32 `pdef:"skinIndex"`
+ CamoIndex int32 `pdef:"camoIndex"`
+ PrimarySkinIndex int32 `pdef:"primarySkinIndex"`
+ PrimaryCamoIndex int32 `pdef:"primaryCamoIndex"`
+ SecondarySkinIndex int32 `pdef:"secondarySkinIndex"`
+ SecondaryCamoIndex int32 `pdef:"secondaryCamoIndex"`
+ Weapon3SkinIndex int32 `pdef:"weapon3SkinIndex"`
+ Weapon3CamoIndex int32 `pdef:"weapon3CamoIndex"`
}
var _ encoding.BinaryUnmarshaler = (*PilotLoadout)(nil)
var _ encoding.BinaryMarshaler = PilotLoadout{}
+var _ json.Unmarshaler = (*PilotLoadout)(nil)
+var _ json.Marshaler = PilotLoadout{}
func (v *PilotLoadout) UnmarshalBinary(b []byte) error {
if len(b) != 93 {
@@ -6796,17 +6881,28 @@ func (v PilotLoadout) MarshalBinary() ([]byte, error) {
putInt(b[89:93], v.Weapon3CamoIndex)
return b, nil
}
+func (v *PilotLoadout) UnmarshalJSON(b []byte) error {
+ return fmt.Errorf("not implemented")
+}
+func (v PilotLoadout) MarshalJSON() ([]byte, error) {
+ return v.MarshalJSONFilter(nil)
+}
+func (v PilotLoadout) MarshalJSONFilter(filter func(path ...string) bool) ([]byte, error) {
+ return pdataMarshalJSONStruct(v, filter)
+}
type PveData struct {
- Version int32 `json:"version"`
- Currency int32 `json:"currency"`
- CurrencyInLatestMatch int32 `json:"currencyInLatestMatch"`
- TacticalUnlocks [6]int32 `json:"tacticalUnlocks"`
- FeathersForMap [MapsCount]int32 `json:"feathersForMap"`
+ Version int32 `pdef:"version"`
+ Currency int32 `pdef:"currency"`
+ CurrencyInLatestMatch int32 `pdef:"currencyInLatestMatch"`
+ TacticalUnlocks [6]int32 `pdef:"tacticalUnlocks"`
+ FeathersForMap [MapsCount]int32 `pdef:"feathersForMap"`
}
var _ encoding.BinaryUnmarshaler = (*PveData)(nil)
var _ encoding.BinaryMarshaler = PveData{}
+var _ json.Unmarshaler = (*PveData)(nil)
+var _ json.Marshaler = PveData{}
func (v *PveData) UnmarshalBinary(b []byte) error {
if len(b) != 136 {
@@ -6886,15 +6982,26 @@ func (v PveData) MarshalBinary() ([]byte, error) {
putInt(b[132:136], v.FeathersForMap[24])
return b, nil
}
+func (v *PveData) UnmarshalJSON(b []byte) error {
+ return fmt.Errorf("not implemented")
+}
+func (v PveData) MarshalJSON() ([]byte, error) {
+ return v.MarshalJSONFilter(nil)
+}
+func (v PveData) MarshalJSONFilter(filter func(path ...string) bool) ([]byte, error) {
+ return pdataMarshalJSONStruct(v, filter)
+}
type RecentUnlock struct {
- RefGuid int32 `json:"refGuid"`
- ParentRefGuid int32 `json:"parentRefGuid"`
- Count int32 `json:"count"`
+ RefGuid int32 `pdef:"refGuid"`
+ ParentRefGuid int32 `pdef:"parentRefGuid"`
+ Count int32 `pdef:"count"`
}
var _ encoding.BinaryUnmarshaler = (*RecentUnlock)(nil)
var _ encoding.BinaryMarshaler = RecentUnlock{}
+var _ json.Unmarshaler = (*RecentUnlock)(nil)
+var _ json.Marshaler = RecentUnlock{}
func (v *RecentUnlock) UnmarshalBinary(b []byte) error {
if len(b) != 12 {
@@ -6912,23 +7019,34 @@ func (v RecentUnlock) MarshalBinary() ([]byte, error) {
putInt(b[8:12], v.Count)
return b, nil
}
+func (v *RecentUnlock) UnmarshalJSON(b []byte) error {
+ return fmt.Errorf("not implemented")
+}
+func (v RecentUnlock) MarshalJSON() ([]byte, error) {
+ return v.MarshalJSONFilter(nil)
+}
+func (v RecentUnlock) MarshalJSONFilter(filter func(path ...string) bool) ([]byte, error) {
+ return pdataMarshalJSONStruct(v, filter)
+}
type SDeathStats struct {
- Total int32 `json:"total"`
- TotalPVP int32 `json:"totalPVP"`
- AsPilot int32 `json:"asPilot"`
- AsTitan [TitanClassesCount]int32 `json:"asTitan"`
- ByPilots int32 `json:"byPilots"`
- BySpectres int32 `json:"bySpectres"`
- ByGrunts int32 `json:"byGrunts"`
- ByTitans [TitanClassesCount]int32 `json:"byTitans"`
- ByNPCTitans [TitanClassesCount]int32 `json:"byNPCTitans"`
- Suicides int32 `json:"suicides"`
- WhileEjecting int32 `json:"whileEjecting"`
+ Total int32 `pdef:"total"`
+ TotalPVP int32 `pdef:"totalPVP"`
+ AsPilot int32 `pdef:"asPilot"`
+ AsTitan [TitanClassesCount]int32 `pdef:"asTitan"`
+ ByPilots int32 `pdef:"byPilots"`
+ BySpectres int32 `pdef:"bySpectres"`
+ ByGrunts int32 `pdef:"byGrunts"`
+ ByTitans [TitanClassesCount]int32 `pdef:"byTitans"`
+ ByNPCTitans [TitanClassesCount]int32 `pdef:"byNPCTitans"`
+ Suicides int32 `pdef:"suicides"`
+ WhileEjecting int32 `pdef:"whileEjecting"`
}
var _ encoding.BinaryUnmarshaler = (*SDeathStats)(nil)
var _ encoding.BinaryMarshaler = SDeathStats{}
+var _ json.Unmarshaler = (*SDeathStats)(nil)
+var _ json.Marshaler = SDeathStats{}
func (v *SDeathStats) UnmarshalBinary(b []byte) error {
if len(b) != 116 {
@@ -6998,26 +7116,37 @@ func (v SDeathStats) MarshalBinary() ([]byte, error) {
putInt(b[112:116], v.WhileEjecting)
return b, nil
}
+func (v *SDeathStats) UnmarshalJSON(b []byte) error {
+ return fmt.Errorf("not implemented")
+}
+func (v SDeathStats) MarshalJSON() ([]byte, error) {
+ return v.MarshalJSONFilter(nil)
+}
+func (v SDeathStats) MarshalJSONFilter(filter func(path ...string) bool) ([]byte, error) {
+ return pdataMarshalJSONStruct(v, filter)
+}
type SFDStats struct {
- ArcMinesPlaced int32 `json:"arcMinesPlaced"`
- TurretsPlaced int32 `json:"turretsPlaced"`
- Rodeos int32 `json:"rodeos"`
- RodeoNukes int32 `json:"rodeoNukes"`
- ArcMineZaps int32 `json:"arcMineZaps"`
- TurretKills int32 `json:"turretKills"`
- HarvesterBoosts int32 `json:"harvesterBoosts"`
- WavesComplete int32 `json:"wavesComplete"`
- EasyWins int32 `json:"easyWins"`
- NormalWins int32 `json:"normalWins"`
- HardWins int32 `json:"hardWins"`
- MasterWins int32 `json:"masterWins"`
- InsaneWins int32 `json:"insaneWins"`
- HighestTitanFDLevel int32 `json:"highestTitanFDLevel"`
+ ArcMinesPlaced int32 `pdef:"arcMinesPlaced"`
+ TurretsPlaced int32 `pdef:"turretsPlaced"`
+ Rodeos int32 `pdef:"rodeos"`
+ RodeoNukes int32 `pdef:"rodeoNukes"`
+ ArcMineZaps int32 `pdef:"arcMineZaps"`
+ TurretKills int32 `pdef:"turretKills"`
+ HarvesterBoosts int32 `pdef:"harvesterBoosts"`
+ WavesComplete int32 `pdef:"wavesComplete"`
+ EasyWins int32 `pdef:"easyWins"`
+ NormalWins int32 `pdef:"normalWins"`
+ HardWins int32 `pdef:"hardWins"`
+ MasterWins int32 `pdef:"masterWins"`
+ InsaneWins int32 `pdef:"insaneWins"`
+ HighestTitanFDLevel int32 `pdef:"highestTitanFDLevel"`
}
var _ encoding.BinaryUnmarshaler = (*SFDStats)(nil)
var _ encoding.BinaryMarshaler = SFDStats{}
+var _ json.Unmarshaler = (*SFDStats)(nil)
+var _ json.Marshaler = SFDStats{}
func (v *SFDStats) UnmarshalBinary(b []byte) error {
if len(b) != 56 {
@@ -7057,26 +7186,37 @@ func (v SFDStats) MarshalBinary() ([]byte, error) {
putInt(b[52:56], v.HighestTitanFDLevel)
return b, nil
}
+func (v *SFDStats) UnmarshalJSON(b []byte) error {
+ return fmt.Errorf("not implemented")
+}
+func (v SFDStats) MarshalJSON() ([]byte, error) {
+ return v.MarshalJSONFilter(nil)
+}
+func (v SFDStats) MarshalJSONFilter(filter func(path ...string) bool) ([]byte, error) {
+ return pdataMarshalJSONStruct(v, filter)
+}
type SGameStats struct {
- ModesPlayed [GameModesCount]int32 `json:"modesPlayed"`
- PreviousModesPlayed [GameModesCount]int32 `json:"previousModesPlayed"`
- ModesWon [GameModesCount]int32 `json:"modesWon"`
- Mvp_total int32 `json:"mvp_total"`
- GamesCompletedTotal int32 `json:"gamesCompletedTotal"`
- GamesWonTotal int32 `json:"gamesWonTotal"`
- GamesWonAsIMC int32 `json:"gamesWonAsIMC"`
- GamesWonAsMilitia int32 `json:"gamesWonAsMilitia"`
- GamesCompletedAsIMC int32 `json:"gamesCompletedAsIMC"`
- GamesCompletedAsMilitia int32 `json:"gamesCompletedAsMilitia"`
- PvpKills [GameModesCount]int32 `json:"pvpKills"`
- TimesKillDeathRatio2to1 [GameModesCount]int32 `json:"timesKillDeathRatio2to1"`
- TimesKillDeathRatio2to1_pvp [GameModesCount]int32 `json:"timesKillDeathRatio2to1_pvp"`
- TimesScored100AttritionPoints_total int32 `json:"timesScored100AttritionPoints_total"`
+ ModesPlayed [GameModesCount]int32 `pdef:"modesPlayed"`
+ PreviousModesPlayed [GameModesCount]int32 `pdef:"previousModesPlayed"`
+ ModesWon [GameModesCount]int32 `pdef:"modesWon"`
+ Mvp_total int32 `pdef:"mvp_total"`
+ GamesCompletedTotal int32 `pdef:"gamesCompletedTotal"`
+ GamesWonTotal int32 `pdef:"gamesWonTotal"`
+ GamesWonAsIMC int32 `pdef:"gamesWonAsIMC"`
+ GamesWonAsMilitia int32 `pdef:"gamesWonAsMilitia"`
+ GamesCompletedAsIMC int32 `pdef:"gamesCompletedAsIMC"`
+ GamesCompletedAsMilitia int32 `pdef:"gamesCompletedAsMilitia"`
+ PvpKills [GameModesCount]int32 `pdef:"pvpKills"`
+ TimesKillDeathRatio2to1 [GameModesCount]int32 `pdef:"timesKillDeathRatio2to1"`
+ TimesKillDeathRatio2to1_pvp [GameModesCount]int32 `pdef:"timesKillDeathRatio2to1_pvp"`
+ TimesScored100AttritionPoints_total int32 `pdef:"timesScored100AttritionPoints_total"`
}
var _ encoding.BinaryUnmarshaler = (*SGameStats)(nil)
var _ encoding.BinaryMarshaler = SGameStats{}
+var _ json.Unmarshaler = (*SGameStats)(nil)
+var _ json.Marshaler = SGameStats{}
func (v *SGameStats) UnmarshalBinary(b []byte) error {
if len(b) != 368 {
@@ -7272,20 +7412,31 @@ func (v SGameStats) MarshalBinary() ([]byte, error) {
putInt(b[364:368], v.TimesScored100AttritionPoints_total)
return b, nil
}
+func (v *SGameStats) UnmarshalJSON(b []byte) error {
+ return fmt.Errorf("not implemented")
+}
+func (v SGameStats) MarshalJSON() ([]byte, error) {
+ return v.MarshalJSONFilter(nil)
+}
+func (v SGameStats) MarshalJSONFilter(filter func(path ...string) bool) ([]byte, error) {
+ return pdataMarshalJSONStruct(v, filter)
+}
type SHoursPlayed struct {
- Total float32 `json:"total"`
- AsTitan [TitanClassesCount]float32 `json:"asTitan"`
- AsPilot float32 `json:"asPilot"`
- AsTitanTotal float32 `json:"asTitanTotal"`
- Dead float32 `json:"dead"`
- Wallhanging float32 `json:"wallhanging"`
- Wallrunning float32 `json:"wallrunning"`
- InAir float32 `json:"inAir"`
+ Total float32 `pdef:"total"`
+ AsTitan [TitanClassesCount]float32 `pdef:"asTitan"`
+ AsPilot float32 `pdef:"asPilot"`
+ AsTitanTotal float32 `pdef:"asTitanTotal"`
+ Dead float32 `pdef:"dead"`
+ Wallhanging float32 `pdef:"wallhanging"`
+ Wallrunning float32 `pdef:"wallrunning"`
+ InAir float32 `pdef:"inAir"`
}
var _ encoding.BinaryUnmarshaler = (*SHoursPlayed)(nil)
var _ encoding.BinaryMarshaler = SHoursPlayed{}
+var _ json.Unmarshaler = (*SHoursPlayed)(nil)
+var _ json.Marshaler = SHoursPlayed{}
func (v *SHoursPlayed) UnmarshalBinary(b []byte) error {
if len(b) != 56 {
@@ -7325,91 +7476,102 @@ func (v SHoursPlayed) MarshalBinary() ([]byte, error) {
putFloat(b[52:56], v.InAir)
return b, nil
}
+func (v *SHoursPlayed) UnmarshalJSON(b []byte) error {
+ return fmt.Errorf("not implemented")
+}
+func (v SHoursPlayed) MarshalJSON() ([]byte, error) {
+ return v.MarshalJSONFilter(nil)
+}
+func (v SHoursPlayed) MarshalJSONFilter(filter func(path ...string) bool) ([]byte, error) {
+ return pdataMarshalJSONStruct(v, filter)
+}
type SKillStats struct {
- Total int32 `json:"total"`
- TotalWhileUsingBurnCard int32 `json:"totalWhileUsingBurnCard"`
- TitansWhileTitanBCActive int32 `json:"titansWhileTitanBCActive"`
- TotalPVP int32 `json:"totalPVP"`
- Pilots int32 `json:"pilots"`
- Spectres int32 `json:"spectres"`
- Marvins int32 `json:"marvins"`
- Grunts int32 `json:"grunts"`
- TotalTitans int32 `json:"totalTitans"`
- TotalTitansWhileDoomed int32 `json:"totalTitansWhileDoomed"`
- TotalPilots int32 `json:"totalPilots"`
- TotalNPC int32 `json:"totalNPC"`
- AsPilot int32 `json:"asPilot"`
- AsTitan [TitanClassesCount]int32 `json:"asTitan"`
- FirstStrikes int32 `json:"firstStrikes"`
- EjectingPilots int32 `json:"ejectingPilots"`
- WhileEjecting int32 `json:"whileEjecting"`
- CloakedPilots int32 `json:"cloakedPilots"`
- WhileCloaked int32 `json:"whileCloaked"`
- WallrunningPilots int32 `json:"wallrunningPilots"`
- WhileWallrunning int32 `json:"whileWallrunning"`
- WallhangingPilots int32 `json:"wallhangingPilots"`
- WhileWallhanging int32 `json:"whileWallhanging"`
- PilotExecution int32 `json:"pilotExecution"`
- PilotExecutePilot int32 `json:"pilotExecutePilot"`
- PilotExecutePilotByType [PilotExecutionCount]int32 `json:"pilotExecutePilotByType"`
- PilotKickMelee int32 `json:"pilotKickMelee"`
- PilotKickMeleePilot int32 `json:"pilotKickMeleePilot"`
- TitanMelee int32 `json:"titanMelee"`
- TitanMeleePilot int32 `json:"titanMeleePilot"`
- TitanStepCrush int32 `json:"titanStepCrush"`
- TitanStepCrushPilot int32 `json:"titanStepCrushPilot"`
- TitanExocutionIon int32 `json:"titanExocutionIon"`
- TitanExocutionScorch int32 `json:"titanExocutionScorch"`
- TitanExocutionNorthstar int32 `json:"titanExocutionNorthstar"`
- TitanExocutionRonin int32 `json:"titanExocutionRonin"`
- TitanExocutionTone int32 `json:"titanExocutionTone"`
- TitanExocutionLegion int32 `json:"titanExocutionLegion"`
- TitanExocutionVanguard int32 `json:"titanExocutionVanguard"`
- TitanFallKill int32 `json:"titanFallKill"`
- PetTitanKillsFollowMode int32 `json:"petTitanKillsFollowMode"`
- PetTitanKillsGuardMode int32 `json:"petTitanKillsGuardMode"`
- Rodeo_total int32 `json:"rodeo_total"`
- Rodeo_stryder int32 `json:"rodeo_stryder"`
- Rodeo_buddy int32 `json:"rodeo_buddy"`
- Rodeo_atlas int32 `json:"rodeo_atlas"`
- Rodeo_ogre int32 `json:"rodeo_ogre"`
- Pilot_headshots_total int32 `json:"pilot_headshots_total"`
- EvacShips int32 `json:"evacShips"`
- Flyers int32 `json:"flyers"`
- NuclearCore int32 `json:"nuclearCore"`
- EvacuatingEnemies int32 `json:"evacuatingEnemies"`
- ExportTrapKills int32 `json:"exportTrapKills"`
- CoopChallenge_NukeTitan_Kills int32 `json:"coopChallenge_NukeTitan_Kills"`
- CoopChallenge_MortarTitan_Kills int32 `json:"coopChallenge_MortarTitan_Kills"`
- CoopChallenge_EmpTitan_Kills int32 `json:"coopChallenge_EmpTitan_Kills"`
- CoopChallenge_BubbleShieldGrunt_Kills int32 `json:"coopChallenge_BubbleShieldGrunt_Kills"`
- CoopChallenge_CloakDrone_Kills int32 `json:"coopChallenge_CloakDrone_Kills"`
- CoopChallenge_Dropship_Kills int32 `json:"coopChallenge_Dropship_Kills"`
- CoopChallenge_SuicideSpectre_Kills int32 `json:"coopChallenge_SuicideSpectre_Kills"`
- CoopChallenge_Turret_Kills int32 `json:"coopChallenge_Turret_Kills"`
- CoopChallenge_Sniper_Kills int32 `json:"coopChallenge_Sniper_Kills"`
- AmpedVortexKills int32 `json:"ampedVortexKills"`
- MeleeWhileCloaked int32 `json:"meleeWhileCloaked"`
- PilotKillsWhileUsingActiveRadarPulse int32 `json:"pilotKillsWhileUsingActiveRadarPulse"`
- TitanKillsAsPilot int32 `json:"titanKillsAsPilot"`
- PilotKillsWhileStimActive int32 `json:"pilotKillsWhileStimActive"`
- PilotKillsAsTitan int32 `json:"pilotKillsAsTitan"`
- TotalAssists int32 `json:"totalAssists"`
- KillingSprees [TitanClassesCount]int32 `json:"killingSprees"`
- PilotKillsAsPilot int32 `json:"pilotKillsAsPilot"`
- TitanKillsAsTitan int32 `json:"titanKillsAsTitan"`
- TelefragKils int32 `json:"telefragKils"`
- GrappleKills int32 `json:"grappleKills"`
- ThroughAWallKills int32 `json:"throughAWallKills"`
- DistractedKills int32 `json:"distractedKills"`
- PilotExecutePilotWhileCloaked int32 `json:"pilotExecutePilotWhileCloaked"`
- PilotKillsWithHoloPilotActive int32 `json:"pilotKillsWithHoloPilotActive"`
- PilotKillsWithAmpedWallActive int32 `json:"pilotKillsWithAmpedWallActive"`
+ Total int32 `pdef:"total"`
+ TotalWhileUsingBurnCard int32 `pdef:"totalWhileUsingBurnCard"`
+ TitansWhileTitanBCActive int32 `pdef:"titansWhileTitanBCActive"`
+ TotalPVP int32 `pdef:"totalPVP"`
+ Pilots int32 `pdef:"pilots"`
+ Spectres int32 `pdef:"spectres"`
+ Marvins int32 `pdef:"marvins"`
+ Grunts int32 `pdef:"grunts"`
+ TotalTitans int32 `pdef:"totalTitans"`
+ TotalTitansWhileDoomed int32 `pdef:"totalTitansWhileDoomed"`
+ TotalPilots int32 `pdef:"totalPilots"`
+ TotalNPC int32 `pdef:"totalNPC"`
+ AsPilot int32 `pdef:"asPilot"`
+ AsTitan [TitanClassesCount]int32 `pdef:"asTitan"`
+ FirstStrikes int32 `pdef:"firstStrikes"`
+ EjectingPilots int32 `pdef:"ejectingPilots"`
+ WhileEjecting int32 `pdef:"whileEjecting"`
+ CloakedPilots int32 `pdef:"cloakedPilots"`
+ WhileCloaked int32 `pdef:"whileCloaked"`
+ WallrunningPilots int32 `pdef:"wallrunningPilots"`
+ WhileWallrunning int32 `pdef:"whileWallrunning"`
+ WallhangingPilots int32 `pdef:"wallhangingPilots"`
+ WhileWallhanging int32 `pdef:"whileWallhanging"`
+ PilotExecution int32 `pdef:"pilotExecution"`
+ PilotExecutePilot int32 `pdef:"pilotExecutePilot"`
+ PilotExecutePilotByType [PilotExecutionCount]int32 `pdef:"pilotExecutePilotByType"`
+ PilotKickMelee int32 `pdef:"pilotKickMelee"`
+ PilotKickMeleePilot int32 `pdef:"pilotKickMeleePilot"`
+ TitanMelee int32 `pdef:"titanMelee"`
+ TitanMeleePilot int32 `pdef:"titanMeleePilot"`
+ TitanStepCrush int32 `pdef:"titanStepCrush"`
+ TitanStepCrushPilot int32 `pdef:"titanStepCrushPilot"`
+ TitanExocutionIon int32 `pdef:"titanExocutionIon"`
+ TitanExocutionScorch int32 `pdef:"titanExocutionScorch"`
+ TitanExocutionNorthstar int32 `pdef:"titanExocutionNorthstar"`
+ TitanExocutionRonin int32 `pdef:"titanExocutionRonin"`
+ TitanExocutionTone int32 `pdef:"titanExocutionTone"`
+ TitanExocutionLegion int32 `pdef:"titanExocutionLegion"`
+ TitanExocutionVanguard int32 `pdef:"titanExocutionVanguard"`
+ TitanFallKill int32 `pdef:"titanFallKill"`
+ PetTitanKillsFollowMode int32 `pdef:"petTitanKillsFollowMode"`
+ PetTitanKillsGuardMode int32 `pdef:"petTitanKillsGuardMode"`
+ Rodeo_total int32 `pdef:"rodeo_total"`
+ Rodeo_stryder int32 `pdef:"rodeo_stryder"`
+ Rodeo_buddy int32 `pdef:"rodeo_buddy"`
+ Rodeo_atlas int32 `pdef:"rodeo_atlas"`
+ Rodeo_ogre int32 `pdef:"rodeo_ogre"`
+ Pilot_headshots_total int32 `pdef:"pilot_headshots_total"`
+ EvacShips int32 `pdef:"evacShips"`
+ Flyers int32 `pdef:"flyers"`
+ NuclearCore int32 `pdef:"nuclearCore"`
+ EvacuatingEnemies int32 `pdef:"evacuatingEnemies"`
+ ExportTrapKills int32 `pdef:"exportTrapKills"`
+ CoopChallenge_NukeTitan_Kills int32 `pdef:"coopChallenge_NukeTitan_Kills"`
+ CoopChallenge_MortarTitan_Kills int32 `pdef:"coopChallenge_MortarTitan_Kills"`
+ CoopChallenge_EmpTitan_Kills int32 `pdef:"coopChallenge_EmpTitan_Kills"`
+ CoopChallenge_BubbleShieldGrunt_Kills int32 `pdef:"coopChallenge_BubbleShieldGrunt_Kills"`
+ CoopChallenge_CloakDrone_Kills int32 `pdef:"coopChallenge_CloakDrone_Kills"`
+ CoopChallenge_Dropship_Kills int32 `pdef:"coopChallenge_Dropship_Kills"`
+ CoopChallenge_SuicideSpectre_Kills int32 `pdef:"coopChallenge_SuicideSpectre_Kills"`
+ CoopChallenge_Turret_Kills int32 `pdef:"coopChallenge_Turret_Kills"`
+ CoopChallenge_Sniper_Kills int32 `pdef:"coopChallenge_Sniper_Kills"`
+ AmpedVortexKills int32 `pdef:"ampedVortexKills"`
+ MeleeWhileCloaked int32 `pdef:"meleeWhileCloaked"`
+ PilotKillsWhileUsingActiveRadarPulse int32 `pdef:"pilotKillsWhileUsingActiveRadarPulse"`
+ TitanKillsAsPilot int32 `pdef:"titanKillsAsPilot"`
+ PilotKillsWhileStimActive int32 `pdef:"pilotKillsWhileStimActive"`
+ PilotKillsAsTitan int32 `pdef:"pilotKillsAsTitan"`
+ TotalAssists int32 `pdef:"totalAssists"`
+ KillingSprees [TitanClassesCount]int32 `pdef:"killingSprees"`
+ PilotKillsAsPilot int32 `pdef:"pilotKillsAsPilot"`
+ TitanKillsAsTitan int32 `pdef:"titanKillsAsTitan"`
+ TelefragKils int32 `pdef:"telefragKils"`
+ GrappleKills int32 `pdef:"grappleKills"`
+ ThroughAWallKills int32 `pdef:"throughAWallKills"`
+ DistractedKills int32 `pdef:"distractedKills"`
+ PilotExecutePilotWhileCloaked int32 `pdef:"pilotExecutePilotWhileCloaked"`
+ PilotKillsWithHoloPilotActive int32 `pdef:"pilotKillsWithHoloPilotActive"`
+ PilotKillsWithAmpedWallActive int32 `pdef:"pilotKillsWithAmpedWallActive"`
}
var _ encoding.BinaryUnmarshaler = (*SKillStats)(nil)
var _ encoding.BinaryMarshaler = SKillStats{}
+var _ json.Unmarshaler = (*SKillStats)(nil)
+var _ json.Marshaler = SKillStats{}
func (v *SKillStats) UnmarshalBinary(b []byte) error {
if len(b) != 412 {
@@ -7627,23 +7789,34 @@ func (v SKillStats) MarshalBinary() ([]byte, error) {
putInt(b[408:412], v.PilotKillsWithAmpedWallActive)
return b, nil
}
+func (v *SKillStats) UnmarshalJSON(b []byte) error {
+ return fmt.Errorf("not implemented")
+}
+func (v SKillStats) MarshalJSON() ([]byte, error) {
+ return v.MarshalJSONFilter(nil)
+}
+func (v SKillStats) MarshalJSONFilter(filter func(path ...string) bool) ([]byte, error) {
+ return pdataMarshalJSONStruct(v, filter)
+}
type SMapStats struct {
- GamesJoined [GameModesCount]int32 `json:"gamesJoined"`
- GamesCompleted [GameModesCount]int32 `json:"gamesCompleted"`
- GamesWon [GameModesCount]int32 `json:"gamesWon"`
- GamesLost [GameModesCount]int32 `json:"gamesLost"`
- TopPlayerOnTeam [GameModesCount]int32 `json:"topPlayerOnTeam"`
- Top3OnTeam [GameModesCount]int32 `json:"top3OnTeam"`
- HoursPlayed [GameModesCount]float32 `json:"hoursPlayed"`
- TimesScored100AttritionPoints_byMap int32 `json:"timesScored100AttritionPoints_byMap"`
- WinsByDifficulty [5]int32 `json:"winsByDifficulty"`
- MatchesByDifficulty [5]int32 `json:"matchesByDifficulty"`
- PerfectMatchesByDifficulty [5]int32 `json:"perfectMatchesByDifficulty"`
+ GamesJoined [GameModesCount]int32 `pdef:"gamesJoined"`
+ GamesCompleted [GameModesCount]int32 `pdef:"gamesCompleted"`
+ GamesWon [GameModesCount]int32 `pdef:"gamesWon"`
+ GamesLost [GameModesCount]int32 `pdef:"gamesLost"`
+ TopPlayerOnTeam [GameModesCount]int32 `pdef:"topPlayerOnTeam"`
+ Top3OnTeam [GameModesCount]int32 `pdef:"top3OnTeam"`
+ HoursPlayed [GameModesCount]float32 `pdef:"hoursPlayed"`
+ TimesScored100AttritionPoints_byMap int32 `pdef:"timesScored100AttritionPoints_byMap"`
+ WinsByDifficulty [5]int32 `pdef:"winsByDifficulty"`
+ MatchesByDifficulty [5]int32 `pdef:"matchesByDifficulty"`
+ PerfectMatchesByDifficulty [5]int32 `pdef:"perfectMatchesByDifficulty"`
}
var _ encoding.BinaryUnmarshaler = (*SMapStats)(nil)
var _ encoding.BinaryMarshaler = SMapStats{}
+var _ json.Unmarshaler = (*SMapStats)(nil)
+var _ json.Marshaler = SMapStats{}
func (v *SMapStats) UnmarshalBinary(b []byte) error {
if len(b) != 456 {
@@ -7883,21 +8056,32 @@ func (v SMapStats) MarshalBinary() ([]byte, error) {
putInt(b[452:456], v.PerfectMatchesByDifficulty[4])
return b, nil
}
+func (v *SMapStats) UnmarshalJSON(b []byte) error {
+ return fmt.Errorf("not implemented")
+}
+func (v SMapStats) MarshalJSON() ([]byte, error) {
+ return v.MarshalJSONFilter(nil)
+}
+func (v SMapStats) MarshalJSONFilter(filter func(path ...string) bool) ([]byte, error) {
+ return pdataMarshalJSONStruct(v, filter)
+}
type SMilesTraveled struct {
- Total float32 `json:"total"`
- AsTitan [TitanClassesCount]float32 `json:"asTitan"`
- AsPilot float32 `json:"asPilot"`
- AsTitanTotal float32 `json:"asTitanTotal"`
- Wallrunning float32 `json:"wallrunning"`
- InAir float32 `json:"inAir"`
- Ziplining float32 `json:"ziplining"`
- OnFriendlyTitan float32 `json:"onFriendlyTitan"`
- OnEnemyTitan float32 `json:"onEnemyTitan"`
+ Total float32 `pdef:"total"`
+ AsTitan [TitanClassesCount]float32 `pdef:"asTitan"`
+ AsPilot float32 `pdef:"asPilot"`
+ AsTitanTotal float32 `pdef:"asTitanTotal"`
+ Wallrunning float32 `pdef:"wallrunning"`
+ InAir float32 `pdef:"inAir"`
+ Ziplining float32 `pdef:"ziplining"`
+ OnFriendlyTitan float32 `pdef:"onFriendlyTitan"`
+ OnEnemyTitan float32 `pdef:"onEnemyTitan"`
}
var _ encoding.BinaryUnmarshaler = (*SMilesTraveled)(nil)
var _ encoding.BinaryMarshaler = SMilesTraveled{}
+var _ json.Unmarshaler = (*SMilesTraveled)(nil)
+var _ json.Marshaler = SMilesTraveled{}
func (v *SMilesTraveled) UnmarshalBinary(b []byte) error {
if len(b) != 60 {
@@ -7939,39 +8123,50 @@ func (v SMilesTraveled) MarshalBinary() ([]byte, error) {
putFloat(b[56:60], v.OnEnemyTitan)
return b, nil
}
+func (v *SMilesTraveled) UnmarshalJSON(b []byte) error {
+ return fmt.Errorf("not implemented")
+}
+func (v SMilesTraveled) MarshalJSON() ([]byte, error) {
+ return v.MarshalJSONFilter(nil)
+}
+func (v SMilesTraveled) MarshalJSONFilter(filter func(path ...string) bool) ([]byte, error) {
+ return pdataMarshalJSONStruct(v, filter)
+}
type SMiscStats struct {
- TitanFalls int32 `json:"titanFalls"`
- TitanFallsFirst int32 `json:"titanFallsFirst"`
- TitanEmbarks int32 `json:"titanEmbarks"`
- Rodeos int32 `json:"rodeos"`
- RodeosFromEject int32 `json:"rodeosFromEject"`
- TimesEjected int32 `json:"timesEjected"`
- TimesEjectedNuclear int32 `json:"timesEjectedNuclear"`
- BurnCardsEarned int32 `json:"burnCardsEarned"`
- BurnCardsSpent int32 `json:"burnCardsSpent"`
- BoostsActivated int32 `json:"boostsActivated"`
- SpectreLeeches int32 `json:"spectreLeeches"`
- SpectreLeechesByMap [MapsCount]int32 `json:"spectreLeechesByMap"`
- EvacsAttempted int32 `json:"evacsAttempted"`
- EvacsSurvived int32 `json:"evacsSurvived"`
- FlagsCaptured int32 `json:"flagsCaptured"`
- FlagsReturned int32 `json:"flagsReturned"`
- ArcCannonMultiKills int32 `json:"arcCannonMultiKills"`
- GruntsConscripted int32 `json:"gruntsConscripted"`
- HardpointsCaptured int32 `json:"hardpointsCaptured"`
- ChallengeTiersCompleted int32 `json:"challengeTiersCompleted"`
- ChallengesCompleted int32 `json:"challengesCompleted"`
- DailyChallengesCompleted int32 `json:"dailyChallengesCompleted"`
- TimesLastTitanRemaining int32 `json:"timesLastTitanRemaining"`
- KillingSprees int32 `json:"killingSprees"`
- CoopChallengesCompleted int32 `json:"coopChallengesCompleted"`
- ForgedCertificationsUsed int32 `json:"forgedCertificationsUsed"`
- RegenForgedCertificationsUsed int32 `json:"regenForgedCertificationsUsed"`
+ TitanFalls int32 `pdef:"titanFalls"`
+ TitanFallsFirst int32 `pdef:"titanFallsFirst"`
+ TitanEmbarks int32 `pdef:"titanEmbarks"`
+ Rodeos int32 `pdef:"rodeos"`
+ RodeosFromEject int32 `pdef:"rodeosFromEject"`
+ TimesEjected int32 `pdef:"timesEjected"`
+ TimesEjectedNuclear int32 `pdef:"timesEjectedNuclear"`
+ BurnCardsEarned int32 `pdef:"burnCardsEarned"`
+ BurnCardsSpent int32 `pdef:"burnCardsSpent"`
+ BoostsActivated int32 `pdef:"boostsActivated"`
+ SpectreLeeches int32 `pdef:"spectreLeeches"`
+ SpectreLeechesByMap [MapsCount]int32 `pdef:"spectreLeechesByMap"`
+ EvacsAttempted int32 `pdef:"evacsAttempted"`
+ EvacsSurvived int32 `pdef:"evacsSurvived"`
+ FlagsCaptured int32 `pdef:"flagsCaptured"`
+ FlagsReturned int32 `pdef:"flagsReturned"`
+ ArcCannonMultiKills int32 `pdef:"arcCannonMultiKills"`
+ GruntsConscripted int32 `pdef:"gruntsConscripted"`
+ HardpointsCaptured int32 `pdef:"hardpointsCaptured"`
+ ChallengeTiersCompleted int32 `pdef:"challengeTiersCompleted"`
+ ChallengesCompleted int32 `pdef:"challengesCompleted"`
+ DailyChallengesCompleted int32 `pdef:"dailyChallengesCompleted"`
+ TimesLastTitanRemaining int32 `pdef:"timesLastTitanRemaining"`
+ KillingSprees int32 `pdef:"killingSprees"`
+ CoopChallengesCompleted int32 `pdef:"coopChallengesCompleted"`
+ ForgedCertificationsUsed int32 `pdef:"forgedCertificationsUsed"`
+ RegenForgedCertificationsUsed int32 `pdef:"regenForgedCertificationsUsed"`
}
var _ encoding.BinaryUnmarshaler = (*SMiscStats)(nil)
var _ encoding.BinaryMarshaler = SMiscStats{}
+var _ json.Unmarshaler = (*SMiscStats)(nil)
+var _ json.Marshaler = SMiscStats{}
func (v *SMiscStats) UnmarshalBinary(b []byte) error {
if len(b) != 204 {
@@ -8085,23 +8280,34 @@ func (v SMiscStats) MarshalBinary() ([]byte, error) {
putInt(b[200:204], v.RegenForgedCertificationsUsed)
return b, nil
}
+func (v *SMiscStats) UnmarshalJSON(b []byte) error {
+ return fmt.Errorf("not implemented")
+}
+func (v SMiscStats) MarshalJSON() ([]byte, error) {
+ return v.MarshalJSONFilter(nil)
+}
+func (v SMiscStats) MarshalJSONFilter(filter func(path ...string) bool) ([]byte, error) {
+ return pdataMarshalJSONStruct(v, filter)
+}
type STitanStats struct {
- Pilots int32 `json:"pilots"`
- TitansTotal int32 `json:"titansTotal"`
- Ejections int32 `json:"ejections"`
- TitansWhileDoomed int32 `json:"titansWhileDoomed"`
- TitanDamage int32 `json:"titanDamage"`
- TitansAsPrime int32 `json:"titansAsPrime"`
- PilotsAsPrime int32 `json:"pilotsAsPrime"`
- ExecutionsAsPrime int32 `json:"executionsAsPrime"`
- CoresEarned int32 `json:"coresEarned"`
- MatchesByDifficulty [5]int32 `json:"matchesByDifficulty"`
- PerfectMatchesByDifficulty [5]int32 `json:"perfectMatchesByDifficulty"`
+ Pilots int32 `pdef:"pilots"`
+ TitansTotal int32 `pdef:"titansTotal"`
+ Ejections int32 `pdef:"ejections"`
+ TitansWhileDoomed int32 `pdef:"titansWhileDoomed"`
+ TitanDamage int32 `pdef:"titanDamage"`
+ TitansAsPrime int32 `pdef:"titansAsPrime"`
+ PilotsAsPrime int32 `pdef:"pilotsAsPrime"`
+ ExecutionsAsPrime int32 `pdef:"executionsAsPrime"`
+ CoresEarned int32 `pdef:"coresEarned"`
+ MatchesByDifficulty [5]int32 `pdef:"matchesByDifficulty"`
+ PerfectMatchesByDifficulty [5]int32 `pdef:"perfectMatchesByDifficulty"`
}
var _ encoding.BinaryUnmarshaler = (*STitanStats)(nil)
var _ encoding.BinaryMarshaler = STitanStats{}
+var _ json.Unmarshaler = (*STitanStats)(nil)
+var _ json.Marshaler = STitanStats{}
func (v *STitanStats) UnmarshalBinary(b []byte) error {
if len(b) != 76 {
@@ -8151,24 +8357,35 @@ func (v STitanStats) MarshalBinary() ([]byte, error) {
putInt(b[72:76], v.PerfectMatchesByDifficulty[4])
return b, nil
}
+func (v *STitanStats) UnmarshalJSON(b []byte) error {
+ return fmt.Errorf("not implemented")
+}
+func (v STitanStats) MarshalJSON() ([]byte, error) {
+ return v.MarshalJSONFilter(nil)
+}
+func (v STitanStats) MarshalJSONFilter(filter func(path ...string) bool) ([]byte, error) {
+ return pdataMarshalJSONStruct(v, filter)
+}
type SWeaponKillStats struct {
- Total int32 `json:"total"`
- Pilots int32 `json:"pilots"`
- Ejecting_pilots int32 `json:"ejecting_pilots"`
- Spectres int32 `json:"spectres"`
- Marvins int32 `json:"marvins"`
- Grunts int32 `json:"grunts"`
- Ai int32 `json:"ai"`
- TitansTotal int32 `json:"titansTotal"`
- Titans [TitanClassesCount]int32 `json:"titans"`
- NpcTitans [TitanClassesCount]int32 `json:"npcTitans"`
- AssistsTotal int32 `json:"assistsTotal"`
- KillingSprees int32 `json:"killingSprees"`
+ Total int32 `pdef:"total"`
+ Pilots int32 `pdef:"pilots"`
+ Ejecting_pilots int32 `pdef:"ejecting_pilots"`
+ Spectres int32 `pdef:"spectres"`
+ Marvins int32 `pdef:"marvins"`
+ Grunts int32 `pdef:"grunts"`
+ Ai int32 `pdef:"ai"`
+ TitansTotal int32 `pdef:"titansTotal"`
+ Titans [TitanClassesCount]int32 `pdef:"titans"`
+ NpcTitans [TitanClassesCount]int32 `pdef:"npcTitans"`
+ AssistsTotal int32 `pdef:"assistsTotal"`
+ KillingSprees int32 `pdef:"killingSprees"`
}
var _ encoding.BinaryUnmarshaler = (*SWeaponKillStats)(nil)
var _ encoding.BinaryMarshaler = SWeaponKillStats{}
+var _ json.Unmarshaler = (*SWeaponKillStats)(nil)
+var _ json.Marshaler = SWeaponKillStats{}
func (v *SWeaponKillStats) UnmarshalBinary(b []byte) error {
if len(b) != 96 {
@@ -8228,19 +8445,30 @@ func (v SWeaponKillStats) MarshalBinary() ([]byte, error) {
putInt(b[92:96], v.KillingSprees)
return b, nil
}
+func (v *SWeaponKillStats) UnmarshalJSON(b []byte) error {
+ return fmt.Errorf("not implemented")
+}
+func (v SWeaponKillStats) MarshalJSON() ([]byte, error) {
+ return v.MarshalJSONFilter(nil)
+}
+func (v SWeaponKillStats) MarshalJSONFilter(filter func(path ...string) bool) ([]byte, error) {
+ return pdataMarshalJSONStruct(v, filter)
+}
type SWeaponStats struct {
- HoursUsed float32 `json:"hoursUsed"`
- HoursEquipped float32 `json:"hoursEquipped"`
- ShotsFired int32 `json:"shotsFired"`
- ShotsHit int32 `json:"shotsHit"`
- Headshots int32 `json:"headshots"`
- CritHits int32 `json:"critHits"`
- TitanDamage int32 `json:"titanDamage"`
+ HoursUsed float32 `pdef:"hoursUsed"`
+ HoursEquipped float32 `pdef:"hoursEquipped"`
+ ShotsFired int32 `pdef:"shotsFired"`
+ ShotsHit int32 `pdef:"shotsHit"`
+ Headshots int32 `pdef:"headshots"`
+ CritHits int32 `pdef:"critHits"`
+ TitanDamage int32 `pdef:"titanDamage"`
}
var _ encoding.BinaryUnmarshaler = (*SWeaponStats)(nil)
var _ encoding.BinaryMarshaler = SWeaponStats{}
+var _ json.Unmarshaler = (*SWeaponStats)(nil)
+var _ json.Marshaler = SWeaponStats{}
func (v *SWeaponStats) UnmarshalBinary(b []byte) error {
if len(b) != 28 {
@@ -8266,13 +8494,24 @@ func (v SWeaponStats) MarshalBinary() ([]byte, error) {
putInt(b[24:28], v.TitanDamage)
return b, nil
}
+func (v *SWeaponStats) UnmarshalJSON(b []byte) error {
+ return fmt.Errorf("not implemented")
+}
+func (v SWeaponStats) MarshalJSON() ([]byte, error) {
+ return v.MarshalJSONFilter(nil)
+}
+func (v SWeaponStats) MarshalJSONFilter(filter func(path ...string) bool) ([]byte, error) {
+ return pdataMarshalJSONStruct(v, filter)
+}
type SpawnLoadout struct {
- Index int32 `json:"index"`
+ Index int32 `pdef:"index"`
}
var _ encoding.BinaryUnmarshaler = (*SpawnLoadout)(nil)
var _ encoding.BinaryMarshaler = SpawnLoadout{}
+var _ json.Unmarshaler = (*SpawnLoadout)(nil)
+var _ json.Marshaler = SpawnLoadout{}
func (v *SpawnLoadout) UnmarshalBinary(b []byte) error {
if len(b) != 4 {
@@ -8286,15 +8525,26 @@ func (v SpawnLoadout) MarshalBinary() ([]byte, error) {
putInt(b[0:4], v.Index)
return b, nil
}
+func (v *SpawnLoadout) UnmarshalJSON(b []byte) error {
+ return fmt.Errorf("not implemented")
+}
+func (v SpawnLoadout) MarshalJSON() ([]byte, error) {
+ return v.MarshalJSONFilter(nil)
+}
+func (v SpawnLoadout) MarshalJSONFilter(filter func(path ...string) bool) ([]byte, error) {
+ return pdataMarshalJSONStruct(v, filter)
+}
type Struct_activeBurnCardData struct {
- CardRef BurnCard `json:"cardRef"`
- LastCardRef BurnCard `json:"lastCardRef"`
- ClearOnStart bool `json:"clearOnStart"`
+ CardRef BurnCard `pdef:"cardRef"`
+ LastCardRef BurnCard `pdef:"lastCardRef"`
+ ClearOnStart bool `pdef:"clearOnStart"`
}
var _ encoding.BinaryUnmarshaler = (*Struct_activeBurnCardData)(nil)
var _ encoding.BinaryMarshaler = Struct_activeBurnCardData{}
+var _ json.Unmarshaler = (*Struct_activeBurnCardData)(nil)
+var _ json.Marshaler = Struct_activeBurnCardData{}
func (v *Struct_activeBurnCardData) UnmarshalBinary(b []byte) error {
if len(b) != 3 {
@@ -8312,13 +8562,24 @@ func (v Struct_activeBurnCardData) MarshalBinary() ([]byte, error) {
putBool(b[2:3], v.ClearOnStart)
return b, nil
}
+func (v *Struct_activeBurnCardData) UnmarshalJSON(b []byte) error {
+ return fmt.Errorf("not implemented")
+}
+func (v Struct_activeBurnCardData) MarshalJSON() ([]byte, error) {
+ return v.MarshalJSONFilter(nil)
+}
+func (v Struct_activeBurnCardData) MarshalJSONFilter(filter func(path ...string) bool) ([]byte, error) {
+ return pdataMarshalJSONStruct(v, filter)
+}
type Struct_blackMarketBurnCardUpgrades struct {
- CardRef BurnCard `json:"cardRef"`
+ CardRef BurnCard `pdef:"cardRef"`
}
var _ encoding.BinaryUnmarshaler = (*Struct_blackMarketBurnCardUpgrades)(nil)
var _ encoding.BinaryMarshaler = Struct_blackMarketBurnCardUpgrades{}
+var _ json.Unmarshaler = (*Struct_blackMarketBurnCardUpgrades)(nil)
+var _ json.Marshaler = Struct_blackMarketBurnCardUpgrades{}
func (v *Struct_blackMarketBurnCardUpgrades) UnmarshalBinary(b []byte) error {
if len(b) != 1 {
@@ -8332,14 +8593,25 @@ func (v Struct_blackMarketBurnCardUpgrades) MarshalBinary() ([]byte, error) {
putEnum(b[0:1], uint8(v.CardRef))
return b, nil
}
+func (v *Struct_blackMarketBurnCardUpgrades) UnmarshalJSON(b []byte) error {
+ return fmt.Errorf("not implemented")
+}
+func (v Struct_blackMarketBurnCardUpgrades) MarshalJSON() ([]byte, error) {
+ return v.MarshalJSONFilter(nil)
+}
+func (v Struct_blackMarketBurnCardUpgrades) MarshalJSONFilter(filter func(path ...string) bool) ([]byte, error) {
+ return pdataMarshalJSONStruct(v, filter)
+}
type Struct_historyBurnCardData struct {
- Collected int32 `json:"collected"`
- Spent int32 `json:"spent"`
+ Collected int32 `pdef:"collected"`
+ Spent int32 `pdef:"spent"`
}
var _ encoding.BinaryUnmarshaler = (*Struct_historyBurnCardData)(nil)
var _ encoding.BinaryMarshaler = Struct_historyBurnCardData{}
+var _ json.Unmarshaler = (*Struct_historyBurnCardData)(nil)
+var _ json.Marshaler = Struct_historyBurnCardData{}
func (v *Struct_historyBurnCardData) UnmarshalBinary(b []byte) error {
if len(b) != 8 {
@@ -8355,14 +8627,25 @@ func (v Struct_historyBurnCardData) MarshalBinary() ([]byte, error) {
putInt(b[4:8], v.Spent)
return b, nil
}
+func (v *Struct_historyBurnCardData) UnmarshalJSON(b []byte) error {
+ return fmt.Errorf("not implemented")
+}
+func (v Struct_historyBurnCardData) MarshalJSON() ([]byte, error) {
+ return v.MarshalJSONFilter(nil)
+}
+func (v Struct_historyBurnCardData) MarshalJSONFilter(filter func(path ...string) bool) ([]byte, error) {
+ return pdataMarshalJSONStruct(v, filter)
+}
type Struct_ranked struct {
- IsPlayingRanked bool `json:"isPlayingRanked"`
- CurrentRank int32 `json:"currentRank"`
+ IsPlayingRanked bool `pdef:"isPlayingRanked"`
+ CurrentRank int32 `pdef:"currentRank"`
}
var _ encoding.BinaryUnmarshaler = (*Struct_ranked)(nil)
var _ encoding.BinaryMarshaler = Struct_ranked{}
+var _ json.Unmarshaler = (*Struct_ranked)(nil)
+var _ json.Marshaler = Struct_ranked{}
func (v *Struct_ranked) UnmarshalBinary(b []byte) error {
if len(b) != 5 {
@@ -8378,34 +8661,45 @@ func (v Struct_ranked) MarshalBinary() ([]byte, error) {
putInt(b[1:5], v.CurrentRank)
return b, nil
}
+func (v *Struct_ranked) UnmarshalJSON(b []byte) error {
+ return fmt.Errorf("not implemented")
+}
+func (v Struct_ranked) MarshalJSON() ([]byte, error) {
+ return v.MarshalJSONFilter(nil)
+}
+func (v Struct_ranked) MarshalJSONFilter(filter func(path ...string) bool) ([]byte, error) {
+ return pdataMarshalJSONStruct(v, filter)
+}
type TitanLoadout struct {
- Name string `json:"name"`
- TitanClass TitanClasses `json:"titanClass"`
- PrimaryMod TitanMod `json:"primaryMod"`
- Special LoadoutWeaponsAndAbilities `json:"special"`
- Antirodeo LoadoutWeaponsAndAbilities `json:"antirodeo"`
- Passive1 TitanPassive `json:"passive1"`
- Passive2 TitanPassive `json:"passive2"`
- Passive3 TitanPassive `json:"passive3"`
- Passive4 TitanPassive `json:"passive4"`
- Passive5 TitanPassive `json:"passive5"`
- Passive6 TitanPassive `json:"passive6"`
- TitanExecution TitanExecution `json:"titanExecution"`
- SkinIndex int32 `json:"skinIndex"`
- CamoIndex int32 `json:"camoIndex"`
- DecalIndex int32 `json:"decalIndex"`
- PrimarySkinIndex int32 `json:"primarySkinIndex"`
- PrimaryCamoIndex int32 `json:"primaryCamoIndex"`
- IsPrime TitanIsPrimeTitan `json:"isPrime"`
- PrimeSkinIndex int32 `json:"primeSkinIndex"`
- PrimeCamoIndex int32 `json:"primeCamoIndex"`
- PrimeDecalIndex int32 `json:"primeDecalIndex"`
- ShowArmBadge int32 `json:"showArmBadge"`
+ Name string `pdef:"name"`
+ TitanClass TitanClasses `pdef:"titanClass"`
+ PrimaryMod TitanMod `pdef:"primaryMod"`
+ Special LoadoutWeaponsAndAbilities `pdef:"special"`
+ Antirodeo LoadoutWeaponsAndAbilities `pdef:"antirodeo"`
+ Passive1 TitanPassive `pdef:"passive1"`
+ Passive2 TitanPassive `pdef:"passive2"`
+ Passive3 TitanPassive `pdef:"passive3"`
+ Passive4 TitanPassive `pdef:"passive4"`
+ Passive5 TitanPassive `pdef:"passive5"`
+ Passive6 TitanPassive `pdef:"passive6"`
+ TitanExecution TitanExecution `pdef:"titanExecution"`
+ SkinIndex int32 `pdef:"skinIndex"`
+ CamoIndex int32 `pdef:"camoIndex"`
+ DecalIndex int32 `pdef:"decalIndex"`
+ PrimarySkinIndex int32 `pdef:"primarySkinIndex"`
+ PrimaryCamoIndex int32 `pdef:"primaryCamoIndex"`
+ IsPrime TitanIsPrimeTitan `pdef:"isPrime"`
+ PrimeSkinIndex int32 `pdef:"primeSkinIndex"`
+ PrimeCamoIndex int32 `pdef:"primeCamoIndex"`
+ PrimeDecalIndex int32 `pdef:"primeDecalIndex"`
+ ShowArmBadge int32 `pdef:"showArmBadge"`
}
var _ encoding.BinaryUnmarshaler = (*TitanLoadout)(nil)
var _ encoding.BinaryMarshaler = TitanLoadout{}
+var _ json.Unmarshaler = (*TitanLoadout)(nil)
+var _ json.Marshaler = TitanLoadout{}
func (v *TitanLoadout) UnmarshalBinary(b []byte) error {
if len(b) != 90 {
@@ -8463,28 +8757,39 @@ func (v TitanLoadout) MarshalBinary() ([]byte, error) {
putInt(b[86:90], v.ShowArmBadge)
return b, nil
}
+func (v *TitanLoadout) UnmarshalJSON(b []byte) error {
+ return fmt.Errorf("not implemented")
+}
+func (v TitanLoadout) MarshalJSON() ([]byte, error) {
+ return v.MarshalJSONFilter(nil)
+}
+func (v TitanLoadout) MarshalJSONFilter(filter func(path ...string) bool) ([]byte, error) {
+ return pdataMarshalJSONStruct(v, filter)
+}
type TitanMain struct {
- NewPassives [2]int32 `json:"newPassives"`
- UnlockedPassives [2]int32 `json:"unlockedPassives"`
- NewSkins [5]int32 `json:"newSkins"`
- UnlockedSkins [5]int32 `json:"unlockedSkins"`
- NewPrimeSkins [2]int32 `json:"newPrimeSkins"`
- UnlockedPrimeSkins [2]int32 `json:"unlockedPrimeSkins"`
- NewWeaponSkins [5]int32 `json:"newWeaponSkins"`
- UnlockedWeaponSkins [5]int32 `json:"unlockedWeaponSkins"`
- NewPrimeWeaponSkins int32 `json:"newPrimeWeaponSkins"`
- UnlockedPrimeWeaponSkins int32 `json:"unlockedPrimeWeaponSkins"`
- NewTitanDecals [3]int32 `json:"newTitanDecals"`
- UnlockedTitanDecals [3]int32 `json:"unlockedTitanDecals"`
- NewPrimeTitanDecals int32 `json:"newPrimeTitanDecals"`
- UnlockedPrimeTitanDecals int32 `json:"unlockedPrimeTitanDecals"`
- UnlockedFDUpgrades [2]int32 `json:"unlockedFDUpgrades"`
- NewFDUpgrades [2]int32 `json:"newFDUpgrades"`
+ NewPassives [2]int32 `pdef:"newPassives"`
+ UnlockedPassives [2]int32 `pdef:"unlockedPassives"`
+ NewSkins [5]int32 `pdef:"newSkins"`
+ UnlockedSkins [5]int32 `pdef:"unlockedSkins"`
+ NewPrimeSkins [2]int32 `pdef:"newPrimeSkins"`
+ UnlockedPrimeSkins [2]int32 `pdef:"unlockedPrimeSkins"`
+ NewWeaponSkins [5]int32 `pdef:"newWeaponSkins"`
+ UnlockedWeaponSkins [5]int32 `pdef:"unlockedWeaponSkins"`
+ NewPrimeWeaponSkins int32 `pdef:"newPrimeWeaponSkins"`
+ UnlockedPrimeWeaponSkins int32 `pdef:"unlockedPrimeWeaponSkins"`
+ NewTitanDecals [3]int32 `pdef:"newTitanDecals"`
+ UnlockedTitanDecals [3]int32 `pdef:"unlockedTitanDecals"`
+ NewPrimeTitanDecals int32 `pdef:"newPrimeTitanDecals"`
+ UnlockedPrimeTitanDecals int32 `pdef:"unlockedPrimeTitanDecals"`
+ UnlockedFDUpgrades [2]int32 `pdef:"unlockedFDUpgrades"`
+ NewFDUpgrades [2]int32 `pdef:"newFDUpgrades"`
}
var _ encoding.BinaryUnmarshaler = (*TitanMain)(nil)
var _ encoding.BinaryMarshaler = TitanMain{}
+var _ json.Unmarshaler = (*TitanMain)(nil)
+var _ json.Marshaler = TitanMain{}
func (v *TitanMain) UnmarshalBinary(b []byte) error {
if len(b) != 168 {
@@ -8580,26 +8885,37 @@ func (v TitanMain) MarshalBinary() ([]byte, error) {
putInt(b[164:168], v.NewFDUpgrades[1])
return b, nil
}
+func (v *TitanMain) UnmarshalJSON(b []byte) error {
+ return fmt.Errorf("not implemented")
+}
+func (v TitanMain) MarshalJSON() ([]byte, error) {
+ return v.MarshalJSONFilter(nil)
+}
+func (v TitanMain) MarshalJSONFilter(filter func(path ...string) bool) ([]byte, error) {
+ return pdataMarshalJSONStruct(v, filter)
+}
type WeaponMain struct {
- WeaponStats SWeaponStats `json:"weaponStats"`
- WeaponKillStats SWeaponKillStats `json:"weaponKillStats"`
- WeaponXP int32 `json:"weaponXP"`
- PreviousWeaponXP int32 `json:"previousWeaponXP"`
- ProScreenKills int32 `json:"proScreenKills"`
- PreviousProScreenKills int32 `json:"previousProScreenKills"`
- NewMods int32 `json:"newMods"`
- UnlockedMods int32 `json:"unlockedMods"`
- NewWeaponSkins [5]int32 `json:"newWeaponSkins"`
- UnlockedWeaponSkins [5]int32 `json:"unlockedWeaponSkins"`
- NewPrimeWeaponSkins [6]int32 `json:"newPrimeWeaponSkins"`
- UnlockedPrimeWeaponSkins [6]int32 `json:"unlockedPrimeWeaponSkins"`
- NewFeatures int32 `json:"newFeatures"`
- UnlockedFeatures int32 `json:"unlockedFeatures"`
+ WeaponStats SWeaponStats `pdef:"weaponStats"`
+ WeaponKillStats SWeaponKillStats `pdef:"weaponKillStats"`
+ WeaponXP int32 `pdef:"weaponXP"`
+ PreviousWeaponXP int32 `pdef:"previousWeaponXP"`
+ ProScreenKills int32 `pdef:"proScreenKills"`
+ PreviousProScreenKills int32 `pdef:"previousProScreenKills"`
+ NewMods int32 `pdef:"newMods"`
+ UnlockedMods int32 `pdef:"unlockedMods"`
+ NewWeaponSkins [5]int32 `pdef:"newWeaponSkins"`
+ UnlockedWeaponSkins [5]int32 `pdef:"unlockedWeaponSkins"`
+ NewPrimeWeaponSkins [6]int32 `pdef:"newPrimeWeaponSkins"`
+ UnlockedPrimeWeaponSkins [6]int32 `pdef:"unlockedPrimeWeaponSkins"`
+ NewFeatures int32 `pdef:"newFeatures"`
+ UnlockedFeatures int32 `pdef:"unlockedFeatures"`
}
var _ encoding.BinaryUnmarshaler = (*WeaponMain)(nil)
var _ encoding.BinaryMarshaler = WeaponMain{}
+var _ json.Unmarshaler = (*WeaponMain)(nil)
+var _ json.Marshaler = WeaponMain{}
func (v *WeaponMain) UnmarshalBinary(b []byte) error {
if len(b) != 244 {
@@ -8687,14 +9003,25 @@ func (v WeaponMain) MarshalBinary() ([]byte, error) {
putInt(b[240:244], v.UnlockedFeatures)
return b, nil
}
+func (v *WeaponMain) UnmarshalJSON(b []byte) error {
+ return fmt.Errorf("not implemented")
+}
+func (v WeaponMain) MarshalJSON() ([]byte, error) {
+ return v.MarshalJSONFilter(nil)
+}
+func (v WeaponMain) MarshalJSONFilter(filter func(path ...string) bool) ([]byte, error) {
+ return pdataMarshalJSONStruct(v, filter)
+}
type WeaponOffhand struct {
- WeaponStats SWeaponStats `json:"weaponStats"`
- WeaponKillStats SWeaponKillStats `json:"weaponKillStats"`
+ WeaponStats SWeaponStats `pdef:"weaponStats"`
+ WeaponKillStats SWeaponKillStats `pdef:"weaponKillStats"`
}
var _ encoding.BinaryUnmarshaler = (*WeaponOffhand)(nil)
var _ encoding.BinaryMarshaler = WeaponOffhand{}
+var _ json.Unmarshaler = (*WeaponOffhand)(nil)
+var _ json.Marshaler = WeaponOffhand{}
func (v *WeaponOffhand) UnmarshalBinary(b []byte) error {
if len(b) != 124 {
@@ -8722,6 +9049,15 @@ func (v WeaponOffhand) MarshalBinary() ([]byte, error) {
}
return b, nil
}
+func (v *WeaponOffhand) UnmarshalJSON(b []byte) error {
+ return fmt.Errorf("not implemented")
+}
+func (v WeaponOffhand) MarshalJSON() ([]byte, error) {
+ return v.MarshalJSONFilter(nil)
+}
+func (v WeaponOffhand) MarshalJSONFilter(filter func(path ...string) bool) ([]byte, error) {
+ return pdataMarshalJSONStruct(v, filter)
+}
type BurnCard uint8
@@ -8809,9 +9145,10 @@ const (
var _ fmt.Stringer = BurnCard(0)
var _ fmt.GoStringer = BurnCard(0)
-
-//var _ encoding.TextMarshaler = BurnCard(0)
+var _ encoding.TextMarshaler = BurnCard(0)
var _ encoding.TextUnmarshaler = (*BurnCard)(nil)
+var _ json.Marshaler = BurnCard(0)
+var _ json.Unmarshaler = (*BurnCard)(nil)
func (v BurnCard) String() string {
if b, err := v.MarshalText(); err == nil {
@@ -9306,6 +9643,331 @@ func (v *BurnCard) UnmarshalText(b []byte) error {
}
return nil
}
+func (v BurnCard) MarshalJSON() ([]byte, error) {
+ switch v {
+ case BurnCard_NULL:
+ return []byte("\"NULL\""), nil
+ case BurnCard_bc_conscription:
+ return []byte("\"bc_conscription\""), nil
+ case BurnCard_bc_double_xp:
+ return []byte("\"bc_double_xp\""), nil
+ case BurnCard_bc_free_xp:
+ return []byte("\"bc_free_xp\""), nil
+ case BurnCard_bc_fast_cooldown1:
+ return []byte("\"bc_fast_cooldown1\""), nil
+ case BurnCard_bc_fast_cooldown2:
+ return []byte("\"bc_fast_cooldown2\""), nil
+ case BurnCard_bc_super_stim:
+ return []byte("\"bc_super_stim\""), nil
+ case BurnCard_bc_super_cloak:
+ return []byte("\"bc_super_cloak\""), nil
+ case BurnCard_bc_super_sonar:
+ return []byte("\"bc_super_sonar\""), nil
+ case BurnCard_bc_summon_ogre:
+ return []byte("\"bc_summon_ogre\""), nil
+ case BurnCard_bc_cloak_forever:
+ return []byte("\"bc_cloak_forever\""), nil
+ case BurnCard_bc_stim_forever:
+ return []byte("\"bc_stim_forever\""), nil
+ case BurnCard_bc_sonar_forever:
+ return []byte("\"bc_sonar_forever\""), nil
+ case BurnCard_bc_summon_stryder:
+ return []byte("\"bc_summon_stryder\""), nil
+ case BurnCard_bc_spectre_virus:
+ return []byte("\"bc_spectre_virus\""), nil
+ case BurnCard_bc_play_spectre:
+ return []byte("\"bc_play_spectre\""), nil
+ case BurnCard_bc_double_agent:
+ return []byte("\"bc_double_agent\""), nil
+ case BurnCard_bc_minimap:
+ return []byte("\"bc_minimap\""), nil
+ case BurnCard_bc_summon_atlas:
+ return []byte("\"bc_summon_atlas\""), nil
+ case BurnCard_bc_megaturrets:
+ return []byte("\"bc_megaturrets\""), nil
+ case BurnCard_bc_summon_dogfighter:
+ return []byte("\"bc_summon_dogfighter\""), nil
+ case BurnCard_bc_wifi_spectre_hack:
+ return []byte("\"bc_wifi_spectre_hack\""), nil
+ case BurnCard_bc_nuclear_core:
+ return []byte("\"bc_nuclear_core\""), nil
+ case BurnCard_bc_core_charged:
+ return []byte("\"bc_core_charged\""), nil
+ case BurnCard_bc_smart_pistol_m2:
+ return []byte("\"bc_smart_pistol_m2\""), nil
+ case BurnCard_bc_r97_m2:
+ return []byte("\"bc_r97_m2\""), nil
+ case BurnCard_bc_rspn101_m2:
+ return []byte("\"bc_rspn101_m2\""), nil
+ case BurnCard_bc_dmr_m2:
+ return []byte("\"bc_dmr_m2\""), nil
+ case BurnCard_bc_shotgun_m2:
+ return []byte("\"bc_shotgun_m2\""), nil
+ case BurnCard_bc_lmg_m2:
+ return []byte("\"bc_lmg_m2\""), nil
+ case BurnCard_bc_g2_m2:
+ return []byte("\"bc_g2_m2\""), nil
+ case BurnCard_bc_car_m2:
+ return []byte("\"bc_car_m2\""), nil
+ case BurnCard_bc_hemlok_m2:
+ return []byte("\"bc_hemlok_m2\""), nil
+ case BurnCard_bc_sniper_m2:
+ return []byte("\"bc_sniper_m2\""), nil
+ case BurnCard_bc_smr_m2:
+ return []byte("\"bc_smr_m2\""), nil
+ case BurnCard_bc_mgl_m2:
+ return []byte("\"bc_mgl_m2\""), nil
+ case BurnCard_bc_defender_m2:
+ return []byte("\"bc_defender_m2\""), nil
+ case BurnCard_bc_rocket_launcher_m2:
+ return []byte("\"bc_rocket_launcher_m2\""), nil
+ case BurnCard_bc_semipistol_m2:
+ return []byte("\"bc_semipistol_m2\""), nil
+ case BurnCard_bc_autopistol_m2:
+ return []byte("\"bc_autopistol_m2\""), nil
+ case BurnCard_bc_wingman_m2:
+ return []byte("\"bc_wingman_m2\""), nil
+ case BurnCard_bc_satchel_m2:
+ return []byte("\"bc_satchel_m2\""), nil
+ case BurnCard_bc_frag_m2:
+ return []byte("\"bc_frag_m2\""), nil
+ case BurnCard_bc_arc_m2:
+ return []byte("\"bc_arc_m2\""), nil
+ case BurnCard_bc_prox_m2:
+ return []byte("\"bc_prox_m2\""), nil
+ case BurnCard_bc_pilot_warning:
+ return []byte("\"bc_pilot_warning\""), nil
+ case BurnCard_bc_rematch:
+ return []byte("\"bc_rematch\""), nil
+ case BurnCard_bc_minimap_scan:
+ return []byte("\"bc_minimap_scan\""), nil
+ case BurnCard_bc_free_build_time_1:
+ return []byte("\"bc_free_build_time_1\""), nil
+ case BurnCard_bc_free_build_time_2:
+ return []byte("\"bc_free_build_time_2\""), nil
+ case BurnCard_bc_fast_build_1:
+ return []byte("\"bc_fast_build_1\""), nil
+ case BurnCard_bc_fast_build_2:
+ return []byte("\"bc_fast_build_2\""), nil
+ case BurnCard_bc_hunt_soldier:
+ return []byte("\"bc_hunt_soldier\""), nil
+ case BurnCard_bc_hunt_spectre:
+ return []byte("\"bc_hunt_spectre\""), nil
+ case BurnCard_bc_hunt_titan:
+ return []byte("\"bc_hunt_titan\""), nil
+ case BurnCard_bc_hunt_pilot:
+ return []byte("\"bc_hunt_pilot\""), nil
+ case BurnCard_bc_auto_sonar:
+ return []byte("\"bc_auto_sonar\""), nil
+ case BurnCard_bc_fast_movespeed:
+ return []byte("\"bc_fast_movespeed\""), nil
+ case BurnCard_bc_auto_refill:
+ return []byte("\"bc_auto_refill\""), nil
+ case BurnCard_bc_dice_ondeath:
+ return []byte("\"bc_dice_ondeath\""), nil
+ case BurnCard_bc_titan_40mm_m2:
+ return []byte("\"bc_titan_40mm_m2\""), nil
+ case BurnCard_bc_titan_arc_cannon_m2:
+ return []byte("\"bc_titan_arc_cannon_m2\""), nil
+ case BurnCard_bc_titan_rocket_launcher_m2:
+ return []byte("\"bc_titan_rocket_launcher_m2\""), nil
+ case BurnCard_bc_titan_sniper_m2:
+ return []byte("\"bc_titan_sniper_m2\""), nil
+ case BurnCard_bc_titan_triple_threat_m2:
+ return []byte("\"bc_titan_triple_threat_m2\""), nil
+ case BurnCard_bc_titan_xo16_m2:
+ return []byte("\"bc_titan_xo16_m2\""), nil
+ case BurnCard_bc_titan_dumbfire_missile_m2:
+ return []byte("\"bc_titan_dumbfire_missile_m2\""), nil
+ case BurnCard_bc_titan_homing_rockets_m2:
+ return []byte("\"bc_titan_homing_rockets_m2\""), nil
+ case BurnCard_bc_titan_salvo_rockets_m2:
+ return []byte("\"bc_titan_salvo_rockets_m2\""), nil
+ case BurnCard_bc_titan_shoulder_rockets_m2:
+ return []byte("\"bc_titan_shoulder_rockets_m2\""), nil
+ case BurnCard_bc_titan_vortex_shield_m2:
+ return []byte("\"bc_titan_vortex_shield_m2\""), nil
+ case BurnCard_bc_titan_electric_smoke_m2:
+ return []byte("\"bc_titan_electric_smoke_m2\""), nil
+ case BurnCard_bc_titan_shield_wall_m2:
+ return []byte("\"bc_titan_shield_wall_m2\""), nil
+ case BurnCard_bc_titan_melee_m2:
+ return []byte("\"bc_titan_melee_m2\""), nil
+ case BurnCard_bc_extra_dash:
+ return []byte("\"bc_extra_dash\""), nil
+ case BurnCard_bc_lstar_m2:
+ return []byte("\"bc_lstar_m2\""), nil
+ case BurnCard_bc_mastiff_m2:
+ return []byte("\"bc_mastiff_m2\""), nil
+ case BurnCard_bc_vinson_m2:
+ return []byte("\"bc_vinson_m2\""), nil
+ default:
+ return []byte(strconv.Itoa(int(v))), nil
+ }
+}
+func (v *BurnCard) UnmarshalJSON(b []byte) error {
+ switch string(b) {
+ case "\"NULL\"":
+ *v = BurnCard_NULL
+ case "\"bc_conscription\"":
+ *v = BurnCard_bc_conscription
+ case "\"bc_double_xp\"":
+ *v = BurnCard_bc_double_xp
+ case "\"bc_free_xp\"":
+ *v = BurnCard_bc_free_xp
+ case "\"bc_fast_cooldown1\"":
+ *v = BurnCard_bc_fast_cooldown1
+ case "\"bc_fast_cooldown2\"":
+ *v = BurnCard_bc_fast_cooldown2
+ case "\"bc_super_stim\"":
+ *v = BurnCard_bc_super_stim
+ case "\"bc_super_cloak\"":
+ *v = BurnCard_bc_super_cloak
+ case "\"bc_super_sonar\"":
+ *v = BurnCard_bc_super_sonar
+ case "\"bc_summon_ogre\"":
+ *v = BurnCard_bc_summon_ogre
+ case "\"bc_cloak_forever\"":
+ *v = BurnCard_bc_cloak_forever
+ case "\"bc_stim_forever\"":
+ *v = BurnCard_bc_stim_forever
+ case "\"bc_sonar_forever\"":
+ *v = BurnCard_bc_sonar_forever
+ case "\"bc_summon_stryder\"":
+ *v = BurnCard_bc_summon_stryder
+ case "\"bc_spectre_virus\"":
+ *v = BurnCard_bc_spectre_virus
+ case "\"bc_play_spectre\"":
+ *v = BurnCard_bc_play_spectre
+ case "\"bc_double_agent\"":
+ *v = BurnCard_bc_double_agent
+ case "\"bc_minimap\"":
+ *v = BurnCard_bc_minimap
+ case "\"bc_summon_atlas\"":
+ *v = BurnCard_bc_summon_atlas
+ case "\"bc_megaturrets\"":
+ *v = BurnCard_bc_megaturrets
+ case "\"bc_summon_dogfighter\"":
+ *v = BurnCard_bc_summon_dogfighter
+ case "\"bc_wifi_spectre_hack\"":
+ *v = BurnCard_bc_wifi_spectre_hack
+ case "\"bc_nuclear_core\"":
+ *v = BurnCard_bc_nuclear_core
+ case "\"bc_core_charged\"":
+ *v = BurnCard_bc_core_charged
+ case "\"bc_smart_pistol_m2\"":
+ *v = BurnCard_bc_smart_pistol_m2
+ case "\"bc_r97_m2\"":
+ *v = BurnCard_bc_r97_m2
+ case "\"bc_rspn101_m2\"":
+ *v = BurnCard_bc_rspn101_m2
+ case "\"bc_dmr_m2\"":
+ *v = BurnCard_bc_dmr_m2
+ case "\"bc_shotgun_m2\"":
+ *v = BurnCard_bc_shotgun_m2
+ case "\"bc_lmg_m2\"":
+ *v = BurnCard_bc_lmg_m2
+ case "\"bc_g2_m2\"":
+ *v = BurnCard_bc_g2_m2
+ case "\"bc_car_m2\"":
+ *v = BurnCard_bc_car_m2
+ case "\"bc_hemlok_m2\"":
+ *v = BurnCard_bc_hemlok_m2
+ case "\"bc_sniper_m2\"":
+ *v = BurnCard_bc_sniper_m2
+ case "\"bc_smr_m2\"":
+ *v = BurnCard_bc_smr_m2
+ case "\"bc_mgl_m2\"":
+ *v = BurnCard_bc_mgl_m2
+ case "\"bc_defender_m2\"":
+ *v = BurnCard_bc_defender_m2
+ case "\"bc_rocket_launcher_m2\"":
+ *v = BurnCard_bc_rocket_launcher_m2
+ case "\"bc_semipistol_m2\"":
+ *v = BurnCard_bc_semipistol_m2
+ case "\"bc_autopistol_m2\"":
+ *v = BurnCard_bc_autopistol_m2
+ case "\"bc_wingman_m2\"":
+ *v = BurnCard_bc_wingman_m2
+ case "\"bc_satchel_m2\"":
+ *v = BurnCard_bc_satchel_m2
+ case "\"bc_frag_m2\"":
+ *v = BurnCard_bc_frag_m2
+ case "\"bc_arc_m2\"":
+ *v = BurnCard_bc_arc_m2
+ case "\"bc_prox_m2\"":
+ *v = BurnCard_bc_prox_m2
+ case "\"bc_pilot_warning\"":
+ *v = BurnCard_bc_pilot_warning
+ case "\"bc_rematch\"":
+ *v = BurnCard_bc_rematch
+ case "\"bc_minimap_scan\"":
+ *v = BurnCard_bc_minimap_scan
+ case "\"bc_free_build_time_1\"":
+ *v = BurnCard_bc_free_build_time_1
+ case "\"bc_free_build_time_2\"":
+ *v = BurnCard_bc_free_build_time_2
+ case "\"bc_fast_build_1\"":
+ *v = BurnCard_bc_fast_build_1
+ case "\"bc_fast_build_2\"":
+ *v = BurnCard_bc_fast_build_2
+ case "\"bc_hunt_soldier\"":
+ *v = BurnCard_bc_hunt_soldier
+ case "\"bc_hunt_spectre\"":
+ *v = BurnCard_bc_hunt_spectre
+ case "\"bc_hunt_titan\"":
+ *v = BurnCard_bc_hunt_titan
+ case "\"bc_hunt_pilot\"":
+ *v = BurnCard_bc_hunt_pilot
+ case "\"bc_auto_sonar\"":
+ *v = BurnCard_bc_auto_sonar
+ case "\"bc_fast_movespeed\"":
+ *v = BurnCard_bc_fast_movespeed
+ case "\"bc_auto_refill\"":
+ *v = BurnCard_bc_auto_refill
+ case "\"bc_dice_ondeath\"":
+ *v = BurnCard_bc_dice_ondeath
+ case "\"bc_titan_40mm_m2\"":
+ *v = BurnCard_bc_titan_40mm_m2
+ case "\"bc_titan_arc_cannon_m2\"":
+ *v = BurnCard_bc_titan_arc_cannon_m2
+ case "\"bc_titan_rocket_launcher_m2\"":
+ *v = BurnCard_bc_titan_rocket_launcher_m2
+ case "\"bc_titan_sniper_m2\"":
+ *v = BurnCard_bc_titan_sniper_m2
+ case "\"bc_titan_triple_threat_m2\"":
+ *v = BurnCard_bc_titan_triple_threat_m2
+ case "\"bc_titan_xo16_m2\"":
+ *v = BurnCard_bc_titan_xo16_m2
+ case "\"bc_titan_dumbfire_missile_m2\"":
+ *v = BurnCard_bc_titan_dumbfire_missile_m2
+ case "\"bc_titan_homing_rockets_m2\"":
+ *v = BurnCard_bc_titan_homing_rockets_m2
+ case "\"bc_titan_salvo_rockets_m2\"":
+ *v = BurnCard_bc_titan_salvo_rockets_m2
+ case "\"bc_titan_shoulder_rockets_m2\"":
+ *v = BurnCard_bc_titan_shoulder_rockets_m2
+ case "\"bc_titan_vortex_shield_m2\"":
+ *v = BurnCard_bc_titan_vortex_shield_m2
+ case "\"bc_titan_electric_smoke_m2\"":
+ *v = BurnCard_bc_titan_electric_smoke_m2
+ case "\"bc_titan_shield_wall_m2\"":
+ *v = BurnCard_bc_titan_shield_wall_m2
+ case "\"bc_titan_melee_m2\"":
+ *v = BurnCard_bc_titan_melee_m2
+ case "\"bc_extra_dash\"":
+ *v = BurnCard_bc_extra_dash
+ case "\"bc_lstar_m2\"":
+ *v = BurnCard_bc_lstar_m2
+ case "\"bc_mastiff_m2\"":
+ *v = BurnCard_bc_mastiff_m2
+ case "\"bc_vinson_m2\"":
+ *v = BurnCard_bc_vinson_m2
+ default:
+ return json.Unmarshal(b, (*uint8)(v))
+ }
+ return nil
+}
type Challenge uint8
@@ -9492,9 +10154,10 @@ const (
var _ fmt.Stringer = Challenge(0)
var _ fmt.GoStringer = Challenge(0)
-
-//var _ encoding.TextMarshaler = Challenge(0)
+var _ encoding.TextMarshaler = Challenge(0)
var _ encoding.TextUnmarshaler = (*Challenge)(nil)
+var _ json.Marshaler = Challenge(0)
+var _ json.Unmarshaler = (*Challenge)(nil)
func (v Challenge) String() string {
if b, err := v.MarshalText(); err == nil {
@@ -10583,6 +11246,727 @@ func (v *Challenge) UnmarshalText(b []byte) error {
}
return nil
}
+func (v Challenge) MarshalJSON() ([]byte, error) {
+ switch v {
+ case Challenge_NULL:
+ return []byte("\"NULL\""), nil
+ case Challenge_ch_games_played:
+ return []byte("\"ch_games_played\""), nil
+ case Challenge_ch_games_won:
+ return []byte("\"ch_games_won\""), nil
+ case Challenge_ch_games_mvp:
+ return []byte("\"ch_games_mvp\""), nil
+ case Challenge_ch_titan_falls:
+ return []byte("\"ch_titan_falls\""), nil
+ case Challenge_ch_rodeos:
+ return []byte("\"ch_rodeos\""), nil
+ case Challenge_ch_times_ejected:
+ return []byte("\"ch_times_ejected\""), nil
+ case Challenge_ch_spectres_leeched:
+ return []byte("\"ch_spectres_leeched\""), nil
+ case Challenge_ch_hours_played:
+ return []byte("\"ch_hours_played\""), nil
+ case Challenge_ch_hours_played_pilot:
+ return []byte("\"ch_hours_played_pilot\""), nil
+ case Challenge_ch_hours_played_titan:
+ return []byte("\"ch_hours_played_titan\""), nil
+ case Challenge_ch_hours_wallhang:
+ return []byte("\"ch_hours_wallhang\""), nil
+ case Challenge_ch_dist_total:
+ return []byte("\"ch_dist_total\""), nil
+ case Challenge_ch_dist_pilot:
+ return []byte("\"ch_dist_pilot\""), nil
+ case Challenge_ch_dist_titan:
+ return []byte("\"ch_dist_titan\""), nil
+ case Challenge_ch_dist_wallrun:
+ return []byte("\"ch_dist_wallrun\""), nil
+ case Challenge_ch_dist_inair:
+ return []byte("\"ch_dist_inair\""), nil
+ case Challenge_ch_dist_zipline:
+ return []byte("\"ch_dist_zipline\""), nil
+ case Challenge_ch_dist_on_friendly_titan:
+ return []byte("\"ch_dist_on_friendly_titan\""), nil
+ case Challenge_ch_dist_on_enemy_titan:
+ return []byte("\"ch_dist_on_enemy_titan\""), nil
+ case Challenge_ch_grunt_kills:
+ return []byte("\"ch_grunt_kills\""), nil
+ case Challenge_ch_spectre_kills:
+ return []byte("\"ch_spectre_kills\""), nil
+ case Challenge_ch_marvin_kills:
+ return []byte("\"ch_marvin_kills\""), nil
+ case Challenge_ch_first_strikes:
+ return []byte("\"ch_first_strikes\""), nil
+ case Challenge_ch_ejecting_pilot_kills:
+ return []byte("\"ch_ejecting_pilot_kills\""), nil
+ case Challenge_ch_kills_while_ejecting:
+ return []byte("\"ch_kills_while_ejecting\""), nil
+ case Challenge_ch_cloaked_pilot_kills:
+ return []byte("\"ch_cloaked_pilot_kills\""), nil
+ case Challenge_ch_kills_while_cloaked:
+ return []byte("\"ch_kills_while_cloaked\""), nil
+ case Challenge_ch_wallrunning_pilot_kills:
+ return []byte("\"ch_wallrunning_pilot_kills\""), nil
+ case Challenge_ch_wallhanging_pilot_kills:
+ return []byte("\"ch_wallhanging_pilot_kills\""), nil
+ case Challenge_ch_kills_while_wallrunning:
+ return []byte("\"ch_kills_while_wallrunning\""), nil
+ case Challenge_ch_kills_while_wallhanging:
+ return []byte("\"ch_kills_while_wallhanging\""), nil
+ case Challenge_ch_pilotExecutePilot:
+ return []byte("\"ch_pilotExecutePilot\""), nil
+ case Challenge_ch_pilotKickMelee:
+ return []byte("\"ch_pilotKickMelee\""), nil
+ case Challenge_ch_pilotKickMeleePilot:
+ return []byte("\"ch_pilotKickMeleePilot\""), nil
+ case Challenge_ch_titanMelee:
+ return []byte("\"ch_titanMelee\""), nil
+ case Challenge_ch_titanMeleePilot:
+ return []byte("\"ch_titanMeleePilot\""), nil
+ case Challenge_ch_titanStepCrush:
+ return []byte("\"ch_titanStepCrush\""), nil
+ case Challenge_ch_titanStepCrushPilot:
+ return []byte("\"ch_titanStepCrushPilot\""), nil
+ case Challenge_ch_titanExocutionStryder:
+ return []byte("\"ch_titanExocutionStryder\""), nil
+ case Challenge_ch_titanExocutionBuddy:
+ return []byte("\"ch_titanExocutionBuddy\""), nil
+ case Challenge_ch_titanExocutionAtlas:
+ return []byte("\"ch_titanExocutionAtlas\""), nil
+ case Challenge_ch_titanExocutionOgre:
+ return []byte("\"ch_titanExocutionOgre\""), nil
+ case Challenge_ch_titanFallKill:
+ return []byte("\"ch_titanFallKill\""), nil
+ case Challenge_ch_petTitanKillsFollowMode:
+ return []byte("\"ch_petTitanKillsFollowMode\""), nil
+ case Challenge_ch_petTitanKillsGuardMode:
+ return []byte("\"ch_petTitanKillsGuardMode\""), nil
+ case Challenge_ch_rodeo_kills:
+ return []byte("\"ch_rodeo_kills\""), nil
+ case Challenge_ch_40mm_kills:
+ return []byte("\"ch_40mm_kills\""), nil
+ case Challenge_ch_40mm_pilot_kills:
+ return []byte("\"ch_40mm_pilot_kills\""), nil
+ case Challenge_ch_40mm_titan_kills:
+ return []byte("\"ch_40mm_titan_kills\""), nil
+ case Challenge_ch_40mm_spectre_kills:
+ return []byte("\"ch_40mm_spectre_kills\""), nil
+ case Challenge_ch_40mm_grunt_kills:
+ return []byte("\"ch_40mm_grunt_kills\""), nil
+ case Challenge_ch_40mm_hours_used:
+ return []byte("\"ch_40mm_hours_used\""), nil
+ case Challenge_ch_40mm_crits:
+ return []byte("\"ch_40mm_crits\""), nil
+ case Challenge_ch_xo16_kills:
+ return []byte("\"ch_xo16_kills\""), nil
+ case Challenge_ch_xo16_pilot_kills:
+ return []byte("\"ch_xo16_pilot_kills\""), nil
+ case Challenge_ch_xo16_titan_kills:
+ return []byte("\"ch_xo16_titan_kills\""), nil
+ case Challenge_ch_xo16_spectre_kills:
+ return []byte("\"ch_xo16_spectre_kills\""), nil
+ case Challenge_ch_xo16_grunt_kills:
+ return []byte("\"ch_xo16_grunt_kills\""), nil
+ case Challenge_ch_xo16_hours_used:
+ return []byte("\"ch_xo16_hours_used\""), nil
+ case Challenge_ch_xo16_headshots:
+ return []byte("\"ch_xo16_headshots\""), nil
+ case Challenge_ch_xo16_crits:
+ return []byte("\"ch_xo16_crits\""), nil
+ case Challenge_ch_titan_sniper_kills:
+ return []byte("\"ch_titan_sniper_kills\""), nil
+ case Challenge_ch_titan_sniper_pilot_kills:
+ return []byte("\"ch_titan_sniper_pilot_kills\""), nil
+ case Challenge_ch_titan_sniper_titan_kills:
+ return []byte("\"ch_titan_sniper_titan_kills\""), nil
+ case Challenge_ch_titan_sniper_spectre_kills:
+ return []byte("\"ch_titan_sniper_spectre_kills\""), nil
+ case Challenge_ch_titan_sniper_grunt_kills:
+ return []byte("\"ch_titan_sniper_grunt_kills\""), nil
+ case Challenge_ch_titan_sniper_hours_used:
+ return []byte("\"ch_titan_sniper_hours_used\""), nil
+ case Challenge_ch_titan_sniper_crits:
+ return []byte("\"ch_titan_sniper_crits\""), nil
+ case Challenge_ch_rocket_launcher_kills:
+ return []byte("\"ch_rocket_launcher_kills\""), nil
+ case Challenge_ch_rocket_launcher_pilot_kills:
+ return []byte("\"ch_rocket_launcher_pilot_kills\""), nil
+ case Challenge_ch_rocket_launcher_titan_kills:
+ return []byte("\"ch_rocket_launcher_titan_kills\""), nil
+ case Challenge_ch_rocket_launcher_spectre_kills:
+ return []byte("\"ch_rocket_launcher_spectre_kills\""), nil
+ case Challenge_ch_rocket_launcher_grunt_kills:
+ return []byte("\"ch_rocket_launcher_grunt_kills\""), nil
+ case Challenge_ch_rocket_launcher_hours_used:
+ return []byte("\"ch_rocket_launcher_hours_used\""), nil
+ case Challenge_ch_triple_threat_kills:
+ return []byte("\"ch_triple_threat_kills\""), nil
+ case Challenge_ch_triple_threat_pilot_kills:
+ return []byte("\"ch_triple_threat_pilot_kills\""), nil
+ case Challenge_ch_triple_threat_titan_kills:
+ return []byte("\"ch_triple_threat_titan_kills\""), nil
+ case Challenge_ch_triple_threat_spectre_kills:
+ return []byte("\"ch_triple_threat_spectre_kills\""), nil
+ case Challenge_ch_triple_threat_grunt_kills:
+ return []byte("\"ch_triple_threat_grunt_kills\""), nil
+ case Challenge_ch_triple_threat_hours_used:
+ return []byte("\"ch_triple_threat_hours_used\""), nil
+ case Challenge_ch_salvo_rockets_kills:
+ return []byte("\"ch_salvo_rockets_kills\""), nil
+ case Challenge_ch_salvo_rockets_pilot_kills:
+ return []byte("\"ch_salvo_rockets_pilot_kills\""), nil
+ case Challenge_ch_salvo_rockets_titan_kills:
+ return []byte("\"ch_salvo_rockets_titan_kills\""), nil
+ case Challenge_ch_salvo_rockets_spectre_kills:
+ return []byte("\"ch_salvo_rockets_spectre_kills\""), nil
+ case Challenge_ch_salvo_rockets_grunt_kills:
+ return []byte("\"ch_salvo_rockets_grunt_kills\""), nil
+ case Challenge_ch_salvo_rockets_hours_used:
+ return []byte("\"ch_salvo_rockets_hours_used\""), nil
+ case Challenge_ch_homing_rockets_titan_kills:
+ return []byte("\"ch_homing_rockets_titan_kills\""), nil
+ case Challenge_ch_homing_rockets_hours_used:
+ return []byte("\"ch_homing_rockets_hours_used\""), nil
+ case Challenge_ch_dumbfire_rockets_kills:
+ return []byte("\"ch_dumbfire_rockets_kills\""), nil
+ case Challenge_ch_dumbfire_rockets_pilot_kills:
+ return []byte("\"ch_dumbfire_rockets_pilot_kills\""), nil
+ case Challenge_ch_dumbfire_rockets_titan_kills:
+ return []byte("\"ch_dumbfire_rockets_titan_kills\""), nil
+ case Challenge_ch_dumbfire_rockets_spectre_kills:
+ return []byte("\"ch_dumbfire_rockets_spectre_kills\""), nil
+ case Challenge_ch_dumbfire_rockets_grunt_kills:
+ return []byte("\"ch_dumbfire_rockets_grunt_kills\""), nil
+ case Challenge_ch_dumbfire_rockets_hours_used:
+ return []byte("\"ch_dumbfire_rockets_hours_used\""), nil
+ case Challenge_ch_shoulder_rockets_titan_kills:
+ return []byte("\"ch_shoulder_rockets_titan_kills\""), nil
+ case Challenge_ch_shoulder_rockets_hours_used:
+ return []byte("\"ch_shoulder_rockets_hours_used\""), nil
+ case Challenge_ch_smart_pistol_kills:
+ return []byte("\"ch_smart_pistol_kills\""), nil
+ case Challenge_ch_smart_pistol_pilot_kills:
+ return []byte("\"ch_smart_pistol_pilot_kills\""), nil
+ case Challenge_ch_smart_pistol_spectre_kills:
+ return []byte("\"ch_smart_pistol_spectre_kills\""), nil
+ case Challenge_ch_smart_pistol_grunt_kills:
+ return []byte("\"ch_smart_pistol_grunt_kills\""), nil
+ case Challenge_ch_smart_pistol_hours_used:
+ return []byte("\"ch_smart_pistol_hours_used\""), nil
+ case Challenge_ch_shotgun_kills:
+ return []byte("\"ch_shotgun_kills\""), nil
+ case Challenge_ch_shotgun_pilot_kills:
+ return []byte("\"ch_shotgun_pilot_kills\""), nil
+ case Challenge_ch_shotgun_spectre_kills:
+ return []byte("\"ch_shotgun_spectre_kills\""), nil
+ case Challenge_ch_shotgun_grunt_kills:
+ return []byte("\"ch_shotgun_grunt_kills\""), nil
+ case Challenge_ch_shotgun_hours_used:
+ return []byte("\"ch_shotgun_hours_used\""), nil
+ case Challenge_ch_r97_kills:
+ return []byte("\"ch_r97_kills\""), nil
+ case Challenge_ch_r97_pilot_kills:
+ return []byte("\"ch_r97_pilot_kills\""), nil
+ case Challenge_ch_r97_spectre_kills:
+ return []byte("\"ch_r97_spectre_kills\""), nil
+ case Challenge_ch_r97_grunt_kills:
+ return []byte("\"ch_r97_grunt_kills\""), nil
+ case Challenge_ch_r97_hours_used:
+ return []byte("\"ch_r97_hours_used\""), nil
+ case Challenge_ch_r97_headshots:
+ return []byte("\"ch_r97_headshots\""), nil
+ case Challenge_ch_car_kills:
+ return []byte("\"ch_car_kills\""), nil
+ case Challenge_ch_car_pilot_kills:
+ return []byte("\"ch_car_pilot_kills\""), nil
+ case Challenge_ch_car_spectre_kills:
+ return []byte("\"ch_car_spectre_kills\""), nil
+ case Challenge_ch_car_grunt_kills:
+ return []byte("\"ch_car_grunt_kills\""), nil
+ case Challenge_ch_car_hours_used:
+ return []byte("\"ch_car_hours_used\""), nil
+ case Challenge_ch_car_headshots:
+ return []byte("\"ch_car_headshots\""), nil
+ case Challenge_ch_lmg_kills:
+ return []byte("\"ch_lmg_kills\""), nil
+ case Challenge_ch_lmg_pilot_kills:
+ return []byte("\"ch_lmg_pilot_kills\""), nil
+ case Challenge_ch_lmg_spectre_kills:
+ return []byte("\"ch_lmg_spectre_kills\""), nil
+ case Challenge_ch_lmg_grunt_kills:
+ return []byte("\"ch_lmg_grunt_kills\""), nil
+ case Challenge_ch_lmg_hours_used:
+ return []byte("\"ch_lmg_hours_used\""), nil
+ case Challenge_ch_lmg_headshots:
+ return []byte("\"ch_lmg_headshots\""), nil
+ case Challenge_ch_rspn101_kills:
+ return []byte("\"ch_rspn101_kills\""), nil
+ case Challenge_ch_rspn101_pilot_kills:
+ return []byte("\"ch_rspn101_pilot_kills\""), nil
+ case Challenge_ch_rspn101_spectre_kills:
+ return []byte("\"ch_rspn101_spectre_kills\""), nil
+ case Challenge_ch_rspn101_grunt_kills:
+ return []byte("\"ch_rspn101_grunt_kills\""), nil
+ case Challenge_ch_rspn101_hours_used:
+ return []byte("\"ch_rspn101_hours_used\""), nil
+ case Challenge_ch_rspn101_headshots:
+ return []byte("\"ch_rspn101_headshots\""), nil
+ case Challenge_ch_hemlok_kills:
+ return []byte("\"ch_hemlok_kills\""), nil
+ case Challenge_ch_hemlok_pilot_kills:
+ return []byte("\"ch_hemlok_pilot_kills\""), nil
+ case Challenge_ch_hemlok_spectre_kills:
+ return []byte("\"ch_hemlok_spectre_kills\""), nil
+ case Challenge_ch_hemlok_grunt_kills:
+ return []byte("\"ch_hemlok_grunt_kills\""), nil
+ case Challenge_ch_hemlok_hours_used:
+ return []byte("\"ch_hemlok_hours_used\""), nil
+ case Challenge_ch_hemlok_headshots:
+ return []byte("\"ch_hemlok_headshots\""), nil
+ case Challenge_ch_g2_kills:
+ return []byte("\"ch_g2_kills\""), nil
+ case Challenge_ch_g2_pilot_kills:
+ return []byte("\"ch_g2_pilot_kills\""), nil
+ case Challenge_ch_g2_spectre_kills:
+ return []byte("\"ch_g2_spectre_kills\""), nil
+ case Challenge_ch_g2_grunt_kills:
+ return []byte("\"ch_g2_grunt_kills\""), nil
+ case Challenge_ch_g2_hours_used:
+ return []byte("\"ch_g2_hours_used\""), nil
+ case Challenge_ch_g2_headshots:
+ return []byte("\"ch_g2_headshots\""), nil
+ case Challenge_ch_dmr_kills:
+ return []byte("\"ch_dmr_kills\""), nil
+ case Challenge_ch_dmr_pilot_kills:
+ return []byte("\"ch_dmr_pilot_kills\""), nil
+ case Challenge_ch_dmr_spectre_kills:
+ return []byte("\"ch_dmr_spectre_kills\""), nil
+ case Challenge_ch_dmr_grunt_kills:
+ return []byte("\"ch_dmr_grunt_kills\""), nil
+ case Challenge_ch_dmr_hours_used:
+ return []byte("\"ch_dmr_hours_used\""), nil
+ case Challenge_ch_dmr_headshots:
+ return []byte("\"ch_dmr_headshots\""), nil
+ case Challenge_ch_sniper_kills:
+ return []byte("\"ch_sniper_kills\""), nil
+ case Challenge_ch_sniper_pilot_kills:
+ return []byte("\"ch_sniper_pilot_kills\""), nil
+ case Challenge_ch_sniper_spectre_kills:
+ return []byte("\"ch_sniper_spectre_kills\""), nil
+ case Challenge_ch_sniper_grunt_kills:
+ return []byte("\"ch_sniper_grunt_kills\""), nil
+ case Challenge_ch_sniper_hours_used:
+ return []byte("\"ch_sniper_hours_used\""), nil
+ case Challenge_ch_smr_titan_kills:
+ return []byte("\"ch_smr_titan_kills\""), nil
+ case Challenge_ch_smr_crits:
+ return []byte("\"ch_smr_crits\""), nil
+ case Challenge_ch_mgl_titan_kills:
+ return []byte("\"ch_mgl_titan_kills\""), nil
+ case Challenge_ch_archer_titan_kills:
+ return []byte("\"ch_archer_titan_kills\""), nil
+ case Challenge_ch_defender_titan_kills:
+ return []byte("\"ch_defender_titan_kills\""), nil
+ case Challenge_ch_defender_crits:
+ return []byte("\"ch_defender_crits\""), nil
+ case Challenge_ch_frag_grenade_throws:
+ return []byte("\"ch_frag_grenade_throws\""), nil
+ case Challenge_ch_frag_grenade_kills:
+ return []byte("\"ch_frag_grenade_kills\""), nil
+ case Challenge_ch_frag_grenade_pilot_kills:
+ return []byte("\"ch_frag_grenade_pilot_kills\""), nil
+ case Challenge_ch_frag_grenade_grunt_kills:
+ return []byte("\"ch_frag_grenade_grunt_kills\""), nil
+ case Challenge_ch_emp_grenade_throws:
+ return []byte("\"ch_emp_grenade_throws\""), nil
+ case Challenge_ch_emp_grenade_kills:
+ return []byte("\"ch_emp_grenade_kills\""), nil
+ case Challenge_ch_emp_grenade_pilot_kills:
+ return []byte("\"ch_emp_grenade_pilot_kills\""), nil
+ case Challenge_ch_emp_grenade_grunt_kills:
+ return []byte("\"ch_emp_grenade_grunt_kills\""), nil
+ case Challenge_ch_emp_grenade_spectre_kills:
+ return []byte("\"ch_emp_grenade_spectre_kills\""), nil
+ case Challenge_ch_proximity_mine_throws:
+ return []byte("\"ch_proximity_mine_throws\""), nil
+ case Challenge_ch_proximity_mine_kills:
+ return []byte("\"ch_proximity_mine_kills\""), nil
+ case Challenge_ch_proximity_mine_pilot_kills:
+ return []byte("\"ch_proximity_mine_pilot_kills\""), nil
+ case Challenge_ch_proximity_mine_grunt_kills:
+ return []byte("\"ch_proximity_mine_grunt_kills\""), nil
+ case Challenge_ch_satchel_throws:
+ return []byte("\"ch_satchel_throws\""), nil
+ case Challenge_ch_satchel_kills:
+ return []byte("\"ch_satchel_kills\""), nil
+ case Challenge_ch_satchel_pilot_kills:
+ return []byte("\"ch_satchel_pilot_kills\""), nil
+ case Challenge_ch_satchel_grunt_kills:
+ return []byte("\"ch_satchel_grunt_kills\""), nil
+ default:
+ return []byte(strconv.Itoa(int(v))), nil
+ }
+}
+func (v *Challenge) UnmarshalJSON(b []byte) error {
+ switch string(b) {
+ case "\"NULL\"":
+ *v = Challenge_NULL
+ case "\"ch_games_played\"":
+ *v = Challenge_ch_games_played
+ case "\"ch_games_won\"":
+ *v = Challenge_ch_games_won
+ case "\"ch_games_mvp\"":
+ *v = Challenge_ch_games_mvp
+ case "\"ch_titan_falls\"":
+ *v = Challenge_ch_titan_falls
+ case "\"ch_rodeos\"":
+ *v = Challenge_ch_rodeos
+ case "\"ch_times_ejected\"":
+ *v = Challenge_ch_times_ejected
+ case "\"ch_spectres_leeched\"":
+ *v = Challenge_ch_spectres_leeched
+ case "\"ch_hours_played\"":
+ *v = Challenge_ch_hours_played
+ case "\"ch_hours_played_pilot\"":
+ *v = Challenge_ch_hours_played_pilot
+ case "\"ch_hours_played_titan\"":
+ *v = Challenge_ch_hours_played_titan
+ case "\"ch_hours_wallhang\"":
+ *v = Challenge_ch_hours_wallhang
+ case "\"ch_dist_total\"":
+ *v = Challenge_ch_dist_total
+ case "\"ch_dist_pilot\"":
+ *v = Challenge_ch_dist_pilot
+ case "\"ch_dist_titan\"":
+ *v = Challenge_ch_dist_titan
+ case "\"ch_dist_wallrun\"":
+ *v = Challenge_ch_dist_wallrun
+ case "\"ch_dist_inair\"":
+ *v = Challenge_ch_dist_inair
+ case "\"ch_dist_zipline\"":
+ *v = Challenge_ch_dist_zipline
+ case "\"ch_dist_on_friendly_titan\"":
+ *v = Challenge_ch_dist_on_friendly_titan
+ case "\"ch_dist_on_enemy_titan\"":
+ *v = Challenge_ch_dist_on_enemy_titan
+ case "\"ch_grunt_kills\"":
+ *v = Challenge_ch_grunt_kills
+ case "\"ch_spectre_kills\"":
+ *v = Challenge_ch_spectre_kills
+ case "\"ch_marvin_kills\"":
+ *v = Challenge_ch_marvin_kills
+ case "\"ch_first_strikes\"":
+ *v = Challenge_ch_first_strikes
+ case "\"ch_ejecting_pilot_kills\"":
+ *v = Challenge_ch_ejecting_pilot_kills
+ case "\"ch_kills_while_ejecting\"":
+ *v = Challenge_ch_kills_while_ejecting
+ case "\"ch_cloaked_pilot_kills\"":
+ *v = Challenge_ch_cloaked_pilot_kills
+ case "\"ch_kills_while_cloaked\"":
+ *v = Challenge_ch_kills_while_cloaked
+ case "\"ch_wallrunning_pilot_kills\"":
+ *v = Challenge_ch_wallrunning_pilot_kills
+ case "\"ch_wallhanging_pilot_kills\"":
+ *v = Challenge_ch_wallhanging_pilot_kills
+ case "\"ch_kills_while_wallrunning\"":
+ *v = Challenge_ch_kills_while_wallrunning
+ case "\"ch_kills_while_wallhanging\"":
+ *v = Challenge_ch_kills_while_wallhanging
+ case "\"ch_pilotExecutePilot\"":
+ *v = Challenge_ch_pilotExecutePilot
+ case "\"ch_pilotKickMelee\"":
+ *v = Challenge_ch_pilotKickMelee
+ case "\"ch_pilotKickMeleePilot\"":
+ *v = Challenge_ch_pilotKickMeleePilot
+ case "\"ch_titanMelee\"":
+ *v = Challenge_ch_titanMelee
+ case "\"ch_titanMeleePilot\"":
+ *v = Challenge_ch_titanMeleePilot
+ case "\"ch_titanStepCrush\"":
+ *v = Challenge_ch_titanStepCrush
+ case "\"ch_titanStepCrushPilot\"":
+ *v = Challenge_ch_titanStepCrushPilot
+ case "\"ch_titanExocutionStryder\"":
+ *v = Challenge_ch_titanExocutionStryder
+ case "\"ch_titanExocutionBuddy\"":
+ *v = Challenge_ch_titanExocutionBuddy
+ case "\"ch_titanExocutionAtlas\"":
+ *v = Challenge_ch_titanExocutionAtlas
+ case "\"ch_titanExocutionOgre\"":
+ *v = Challenge_ch_titanExocutionOgre
+ case "\"ch_titanFallKill\"":
+ *v = Challenge_ch_titanFallKill
+ case "\"ch_petTitanKillsFollowMode\"":
+ *v = Challenge_ch_petTitanKillsFollowMode
+ case "\"ch_petTitanKillsGuardMode\"":
+ *v = Challenge_ch_petTitanKillsGuardMode
+ case "\"ch_rodeo_kills\"":
+ *v = Challenge_ch_rodeo_kills
+ case "\"ch_40mm_kills\"":
+ *v = Challenge_ch_40mm_kills
+ case "\"ch_40mm_pilot_kills\"":
+ *v = Challenge_ch_40mm_pilot_kills
+ case "\"ch_40mm_titan_kills\"":
+ *v = Challenge_ch_40mm_titan_kills
+ case "\"ch_40mm_spectre_kills\"":
+ *v = Challenge_ch_40mm_spectre_kills
+ case "\"ch_40mm_grunt_kills\"":
+ *v = Challenge_ch_40mm_grunt_kills
+ case "\"ch_40mm_hours_used\"":
+ *v = Challenge_ch_40mm_hours_used
+ case "\"ch_40mm_crits\"":
+ *v = Challenge_ch_40mm_crits
+ case "\"ch_xo16_kills\"":
+ *v = Challenge_ch_xo16_kills
+ case "\"ch_xo16_pilot_kills\"":
+ *v = Challenge_ch_xo16_pilot_kills
+ case "\"ch_xo16_titan_kills\"":
+ *v = Challenge_ch_xo16_titan_kills
+ case "\"ch_xo16_spectre_kills\"":
+ *v = Challenge_ch_xo16_spectre_kills
+ case "\"ch_xo16_grunt_kills\"":
+ *v = Challenge_ch_xo16_grunt_kills
+ case "\"ch_xo16_hours_used\"":
+ *v = Challenge_ch_xo16_hours_used
+ case "\"ch_xo16_headshots\"":
+ *v = Challenge_ch_xo16_headshots
+ case "\"ch_xo16_crits\"":
+ *v = Challenge_ch_xo16_crits
+ case "\"ch_titan_sniper_kills\"":
+ *v = Challenge_ch_titan_sniper_kills
+ case "\"ch_titan_sniper_pilot_kills\"":
+ *v = Challenge_ch_titan_sniper_pilot_kills
+ case "\"ch_titan_sniper_titan_kills\"":
+ *v = Challenge_ch_titan_sniper_titan_kills
+ case "\"ch_titan_sniper_spectre_kills\"":
+ *v = Challenge_ch_titan_sniper_spectre_kills
+ case "\"ch_titan_sniper_grunt_kills\"":
+ *v = Challenge_ch_titan_sniper_grunt_kills
+ case "\"ch_titan_sniper_hours_used\"":
+ *v = Challenge_ch_titan_sniper_hours_used
+ case "\"ch_titan_sniper_crits\"":
+ *v = Challenge_ch_titan_sniper_crits
+ case "\"ch_rocket_launcher_kills\"":
+ *v = Challenge_ch_rocket_launcher_kills
+ case "\"ch_rocket_launcher_pilot_kills\"":
+ *v = Challenge_ch_rocket_launcher_pilot_kills
+ case "\"ch_rocket_launcher_titan_kills\"":
+ *v = Challenge_ch_rocket_launcher_titan_kills
+ case "\"ch_rocket_launcher_spectre_kills\"":
+ *v = Challenge_ch_rocket_launcher_spectre_kills
+ case "\"ch_rocket_launcher_grunt_kills\"":
+ *v = Challenge_ch_rocket_launcher_grunt_kills
+ case "\"ch_rocket_launcher_hours_used\"":
+ *v = Challenge_ch_rocket_launcher_hours_used
+ case "\"ch_triple_threat_kills\"":
+ *v = Challenge_ch_triple_threat_kills
+ case "\"ch_triple_threat_pilot_kills\"":
+ *v = Challenge_ch_triple_threat_pilot_kills
+ case "\"ch_triple_threat_titan_kills\"":
+ *v = Challenge_ch_triple_threat_titan_kills
+ case "\"ch_triple_threat_spectre_kills\"":
+ *v = Challenge_ch_triple_threat_spectre_kills
+ case "\"ch_triple_threat_grunt_kills\"":
+ *v = Challenge_ch_triple_threat_grunt_kills
+ case "\"ch_triple_threat_hours_used\"":
+ *v = Challenge_ch_triple_threat_hours_used
+ case "\"ch_salvo_rockets_kills\"":
+ *v = Challenge_ch_salvo_rockets_kills
+ case "\"ch_salvo_rockets_pilot_kills\"":
+ *v = Challenge_ch_salvo_rockets_pilot_kills
+ case "\"ch_salvo_rockets_titan_kills\"":
+ *v = Challenge_ch_salvo_rockets_titan_kills
+ case "\"ch_salvo_rockets_spectre_kills\"":
+ *v = Challenge_ch_salvo_rockets_spectre_kills
+ case "\"ch_salvo_rockets_grunt_kills\"":
+ *v = Challenge_ch_salvo_rockets_grunt_kills
+ case "\"ch_salvo_rockets_hours_used\"":
+ *v = Challenge_ch_salvo_rockets_hours_used
+ case "\"ch_homing_rockets_titan_kills\"":
+ *v = Challenge_ch_homing_rockets_titan_kills
+ case "\"ch_homing_rockets_hours_used\"":
+ *v = Challenge_ch_homing_rockets_hours_used
+ case "\"ch_dumbfire_rockets_kills\"":
+ *v = Challenge_ch_dumbfire_rockets_kills
+ case "\"ch_dumbfire_rockets_pilot_kills\"":
+ *v = Challenge_ch_dumbfire_rockets_pilot_kills
+ case "\"ch_dumbfire_rockets_titan_kills\"":
+ *v = Challenge_ch_dumbfire_rockets_titan_kills
+ case "\"ch_dumbfire_rockets_spectre_kills\"":
+ *v = Challenge_ch_dumbfire_rockets_spectre_kills
+ case "\"ch_dumbfire_rockets_grunt_kills\"":
+ *v = Challenge_ch_dumbfire_rockets_grunt_kills
+ case "\"ch_dumbfire_rockets_hours_used\"":
+ *v = Challenge_ch_dumbfire_rockets_hours_used
+ case "\"ch_shoulder_rockets_titan_kills\"":
+ *v = Challenge_ch_shoulder_rockets_titan_kills
+ case "\"ch_shoulder_rockets_hours_used\"":
+ *v = Challenge_ch_shoulder_rockets_hours_used
+ case "\"ch_smart_pistol_kills\"":
+ *v = Challenge_ch_smart_pistol_kills
+ case "\"ch_smart_pistol_pilot_kills\"":
+ *v = Challenge_ch_smart_pistol_pilot_kills
+ case "\"ch_smart_pistol_spectre_kills\"":
+ *v = Challenge_ch_smart_pistol_spectre_kills
+ case "\"ch_smart_pistol_grunt_kills\"":
+ *v = Challenge_ch_smart_pistol_grunt_kills
+ case "\"ch_smart_pistol_hours_used\"":
+ *v = Challenge_ch_smart_pistol_hours_used
+ case "\"ch_shotgun_kills\"":
+ *v = Challenge_ch_shotgun_kills
+ case "\"ch_shotgun_pilot_kills\"":
+ *v = Challenge_ch_shotgun_pilot_kills
+ case "\"ch_shotgun_spectre_kills\"":
+ *v = Challenge_ch_shotgun_spectre_kills
+ case "\"ch_shotgun_grunt_kills\"":
+ *v = Challenge_ch_shotgun_grunt_kills
+ case "\"ch_shotgun_hours_used\"":
+ *v = Challenge_ch_shotgun_hours_used
+ case "\"ch_r97_kills\"":
+ *v = Challenge_ch_r97_kills
+ case "\"ch_r97_pilot_kills\"":
+ *v = Challenge_ch_r97_pilot_kills
+ case "\"ch_r97_spectre_kills\"":
+ *v = Challenge_ch_r97_spectre_kills
+ case "\"ch_r97_grunt_kills\"":
+ *v = Challenge_ch_r97_grunt_kills
+ case "\"ch_r97_hours_used\"":
+ *v = Challenge_ch_r97_hours_used
+ case "\"ch_r97_headshots\"":
+ *v = Challenge_ch_r97_headshots
+ case "\"ch_car_kills\"":
+ *v = Challenge_ch_car_kills
+ case "\"ch_car_pilot_kills\"":
+ *v = Challenge_ch_car_pilot_kills
+ case "\"ch_car_spectre_kills\"":
+ *v = Challenge_ch_car_spectre_kills
+ case "\"ch_car_grunt_kills\"":
+ *v = Challenge_ch_car_grunt_kills
+ case "\"ch_car_hours_used\"":
+ *v = Challenge_ch_car_hours_used
+ case "\"ch_car_headshots\"":
+ *v = Challenge_ch_car_headshots
+ case "\"ch_lmg_kills\"":
+ *v = Challenge_ch_lmg_kills
+ case "\"ch_lmg_pilot_kills\"":
+ *v = Challenge_ch_lmg_pilot_kills
+ case "\"ch_lmg_spectre_kills\"":
+ *v = Challenge_ch_lmg_spectre_kills
+ case "\"ch_lmg_grunt_kills\"":
+ *v = Challenge_ch_lmg_grunt_kills
+ case "\"ch_lmg_hours_used\"":
+ *v = Challenge_ch_lmg_hours_used
+ case "\"ch_lmg_headshots\"":
+ *v = Challenge_ch_lmg_headshots
+ case "\"ch_rspn101_kills\"":
+ *v = Challenge_ch_rspn101_kills
+ case "\"ch_rspn101_pilot_kills\"":
+ *v = Challenge_ch_rspn101_pilot_kills
+ case "\"ch_rspn101_spectre_kills\"":
+ *v = Challenge_ch_rspn101_spectre_kills
+ case "\"ch_rspn101_grunt_kills\"":
+ *v = Challenge_ch_rspn101_grunt_kills
+ case "\"ch_rspn101_hours_used\"":
+ *v = Challenge_ch_rspn101_hours_used
+ case "\"ch_rspn101_headshots\"":
+ *v = Challenge_ch_rspn101_headshots
+ case "\"ch_hemlok_kills\"":
+ *v = Challenge_ch_hemlok_kills
+ case "\"ch_hemlok_pilot_kills\"":
+ *v = Challenge_ch_hemlok_pilot_kills
+ case "\"ch_hemlok_spectre_kills\"":
+ *v = Challenge_ch_hemlok_spectre_kills
+ case "\"ch_hemlok_grunt_kills\"":
+ *v = Challenge_ch_hemlok_grunt_kills
+ case "\"ch_hemlok_hours_used\"":
+ *v = Challenge_ch_hemlok_hours_used
+ case "\"ch_hemlok_headshots\"":
+ *v = Challenge_ch_hemlok_headshots
+ case "\"ch_g2_kills\"":
+ *v = Challenge_ch_g2_kills
+ case "\"ch_g2_pilot_kills\"":
+ *v = Challenge_ch_g2_pilot_kills
+ case "\"ch_g2_spectre_kills\"":
+ *v = Challenge_ch_g2_spectre_kills
+ case "\"ch_g2_grunt_kills\"":
+ *v = Challenge_ch_g2_grunt_kills
+ case "\"ch_g2_hours_used\"":
+ *v = Challenge_ch_g2_hours_used
+ case "\"ch_g2_headshots\"":
+ *v = Challenge_ch_g2_headshots
+ case "\"ch_dmr_kills\"":
+ *v = Challenge_ch_dmr_kills
+ case "\"ch_dmr_pilot_kills\"":
+ *v = Challenge_ch_dmr_pilot_kills
+ case "\"ch_dmr_spectre_kills\"":
+ *v = Challenge_ch_dmr_spectre_kills
+ case "\"ch_dmr_grunt_kills\"":
+ *v = Challenge_ch_dmr_grunt_kills
+ case "\"ch_dmr_hours_used\"":
+ *v = Challenge_ch_dmr_hours_used
+ case "\"ch_dmr_headshots\"":
+ *v = Challenge_ch_dmr_headshots
+ case "\"ch_sniper_kills\"":
+ *v = Challenge_ch_sniper_kills
+ case "\"ch_sniper_pilot_kills\"":
+ *v = Challenge_ch_sniper_pilot_kills
+ case "\"ch_sniper_spectre_kills\"":
+ *v = Challenge_ch_sniper_spectre_kills
+ case "\"ch_sniper_grunt_kills\"":
+ *v = Challenge_ch_sniper_grunt_kills
+ case "\"ch_sniper_hours_used\"":
+ *v = Challenge_ch_sniper_hours_used
+ case "\"ch_smr_titan_kills\"":
+ *v = Challenge_ch_smr_titan_kills
+ case "\"ch_smr_crits\"":
+ *v = Challenge_ch_smr_crits
+ case "\"ch_mgl_titan_kills\"":
+ *v = Challenge_ch_mgl_titan_kills
+ case "\"ch_archer_titan_kills\"":
+ *v = Challenge_ch_archer_titan_kills
+ case "\"ch_defender_titan_kills\"":
+ *v = Challenge_ch_defender_titan_kills
+ case "\"ch_defender_crits\"":
+ *v = Challenge_ch_defender_crits
+ case "\"ch_frag_grenade_throws\"":
+ *v = Challenge_ch_frag_grenade_throws
+ case "\"ch_frag_grenade_kills\"":
+ *v = Challenge_ch_frag_grenade_kills
+ case "\"ch_frag_grenade_pilot_kills\"":
+ *v = Challenge_ch_frag_grenade_pilot_kills
+ case "\"ch_frag_grenade_grunt_kills\"":
+ *v = Challenge_ch_frag_grenade_grunt_kills
+ case "\"ch_emp_grenade_throws\"":
+ *v = Challenge_ch_emp_grenade_throws
+ case "\"ch_emp_grenade_kills\"":
+ *v = Challenge_ch_emp_grenade_kills
+ case "\"ch_emp_grenade_pilot_kills\"":
+ *v = Challenge_ch_emp_grenade_pilot_kills
+ case "\"ch_emp_grenade_grunt_kills\"":
+ *v = Challenge_ch_emp_grenade_grunt_kills
+ case "\"ch_emp_grenade_spectre_kills\"":
+ *v = Challenge_ch_emp_grenade_spectre_kills
+ case "\"ch_proximity_mine_throws\"":
+ *v = Challenge_ch_proximity_mine_throws
+ case "\"ch_proximity_mine_kills\"":
+ *v = Challenge_ch_proximity_mine_kills
+ case "\"ch_proximity_mine_pilot_kills\"":
+ *v = Challenge_ch_proximity_mine_pilot_kills
+ case "\"ch_proximity_mine_grunt_kills\"":
+ *v = Challenge_ch_proximity_mine_grunt_kills
+ case "\"ch_satchel_throws\"":
+ *v = Challenge_ch_satchel_throws
+ case "\"ch_satchel_kills\"":
+ *v = Challenge_ch_satchel_kills
+ case "\"ch_satchel_pilot_kills\"":
+ *v = Challenge_ch_satchel_pilot_kills
+ case "\"ch_satchel_grunt_kills\"":
+ *v = Challenge_ch_satchel_grunt_kills
+ default:
+ return json.Unmarshal(b, (*uint8)(v))
+ }
+ return nil
+}
type Dailychallenge uint8
@@ -10596,9 +11980,10 @@ const (
var _ fmt.Stringer = Dailychallenge(0)
var _ fmt.GoStringer = Dailychallenge(0)
-
-//var _ encoding.TextMarshaler = Dailychallenge(0)
+var _ encoding.TextMarshaler = Dailychallenge(0)
var _ encoding.TextUnmarshaler = (*Dailychallenge)(nil)
+var _ json.Marshaler = Dailychallenge(0)
+var _ json.Unmarshaler = (*Dailychallenge)(nil)
func (v Dailychallenge) String() string {
if b, err := v.MarshalText(); err == nil {
@@ -10649,6 +12034,35 @@ func (v *Dailychallenge) UnmarshalText(b []byte) error {
}
return nil
}
+func (v Dailychallenge) MarshalJSON() ([]byte, error) {
+ switch v {
+ case Dailychallenge_NULL:
+ return []byte("\"NULL\""), nil
+ case Dailychallenge_ch_daily_xo16_pilot_kills:
+ return []byte("\"ch_daily_xo16_pilot_kills\""), nil
+ case Dailychallenge_ch_daily_emp_grenade_kills:
+ return []byte("\"ch_daily_emp_grenade_kills\""), nil
+ case Dailychallenge_ch_daily_kills_nuclear_core:
+ return []byte("\"ch_daily_kills_nuclear_core\""), nil
+ default:
+ return []byte(strconv.Itoa(int(v))), nil
+ }
+}
+func (v *Dailychallenge) UnmarshalJSON(b []byte) error {
+ switch string(b) {
+ case "\"NULL\"":
+ *v = Dailychallenge_NULL
+ case "\"ch_daily_xo16_pilot_kills\"":
+ *v = Dailychallenge_ch_daily_xo16_pilot_kills
+ case "\"ch_daily_emp_grenade_kills\"":
+ *v = Dailychallenge_ch_daily_emp_grenade_kills
+ case "\"ch_daily_kills_nuclear_core\"":
+ *v = Dailychallenge_ch_daily_kills_nuclear_core
+ default:
+ return json.Unmarshal(b, (*uint8)(v))
+ }
+ return nil
+}
type Faction uint8
@@ -10665,9 +12079,10 @@ const (
var _ fmt.Stringer = Faction(0)
var _ fmt.GoStringer = Faction(0)
-
-//var _ encoding.TextMarshaler = Faction(0)
+var _ encoding.TextMarshaler = Faction(0)
var _ encoding.TextUnmarshaler = (*Faction)(nil)
+var _ json.Marshaler = Faction(0)
+var _ json.Unmarshaler = (*Faction)(nil)
func (v Faction) String() string {
if b, err := v.MarshalText(); err == nil {
@@ -10736,6 +12151,47 @@ func (v *Faction) UnmarshalText(b []byte) error {
}
return nil
}
+func (v Faction) MarshalJSON() ([]byte, error) {
+ switch v {
+ case Faction_faction_apex:
+ return []byte("\"faction_apex\""), nil
+ case Faction_faction_64:
+ return []byte("\"faction_64\""), nil
+ case Faction_faction_vinson:
+ return []byte("\"faction_vinson\""), nil
+ case Faction_faction_marauder:
+ return []byte("\"faction_marauder\""), nil
+ case Faction_faction_aces:
+ return []byte("\"faction_aces\""), nil
+ case Faction_faction_ares:
+ return []byte("\"faction_ares\""), nil
+ case Faction_faction_marvin:
+ return []byte("\"faction_marvin\""), nil
+ default:
+ return []byte(strconv.Itoa(int(v))), nil
+ }
+}
+func (v *Faction) UnmarshalJSON(b []byte) error {
+ switch string(b) {
+ case "\"faction_apex\"":
+ *v = Faction_faction_apex
+ case "\"faction_64\"":
+ *v = Faction_faction_64
+ case "\"faction_vinson\"":
+ *v = Faction_faction_vinson
+ case "\"faction_marauder\"":
+ *v = Faction_faction_marauder
+ case "\"faction_aces\"":
+ *v = Faction_faction_aces
+ case "\"faction_ares\"":
+ *v = Faction_faction_ares
+ case "\"faction_marvin\"":
+ *v = Faction_faction_marvin
+ default:
+ return json.Unmarshal(b, (*uint8)(v))
+ }
+ return nil
+}
type GameModes uint8
@@ -10759,9 +12215,10 @@ const (
var _ fmt.Stringer = GameModes(0)
var _ fmt.GoStringer = GameModes(0)
-
-//var _ encoding.TextMarshaler = GameModes(0)
+var _ encoding.TextMarshaler = GameModes(0)
var _ encoding.TextUnmarshaler = (*GameModes)(nil)
+var _ json.Marshaler = GameModes(0)
+var _ json.Unmarshaler = (*GameModes)(nil)
func (v GameModes) String() string {
if b, err := v.MarshalText(); err == nil {
@@ -10872,6 +12329,75 @@ func (v *GameModes) UnmarshalText(b []byte) error {
}
return nil
}
+func (v GameModes) MarshalJSON() ([]byte, error) {
+ switch v {
+ case GameModes_tdm:
+ return []byte("\"tdm\""), nil
+ case GameModes_cp:
+ return []byte("\"cp\""), nil
+ case GameModes_at:
+ return []byte("\"at\""), nil
+ case GameModes_ctf:
+ return []byte("\"ctf\""), nil
+ case GameModes_lts:
+ return []byte("\"lts\""), nil
+ case GameModes_ps:
+ return []byte("\"ps\""), nil
+ case GameModes_ffa:
+ return []byte("\"ffa\""), nil
+ case GameModes_coliseum:
+ return []byte("\"coliseum\""), nil
+ case GameModes_aitdm:
+ return []byte("\"aitdm\""), nil
+ case GameModes_speedball:
+ return []byte("\"speedball\""), nil
+ case GameModes_mfd:
+ return []byte("\"mfd\""), nil
+ case GameModes_ttdm:
+ return []byte("\"ttdm\""), nil
+ case GameModes_fra:
+ return []byte("\"fra\""), nil
+ case GameModes_fd:
+ return []byte("\"fd\""), nil
+ default:
+ return []byte(strconv.Itoa(int(v))), nil
+ }
+}
+func (v *GameModes) UnmarshalJSON(b []byte) error {
+ switch string(b) {
+ case "\"tdm\"":
+ *v = GameModes_tdm
+ case "\"cp\"":
+ *v = GameModes_cp
+ case "\"at\"":
+ *v = GameModes_at
+ case "\"ctf\"":
+ *v = GameModes_ctf
+ case "\"lts\"":
+ *v = GameModes_lts
+ case "\"ps\"":
+ *v = GameModes_ps
+ case "\"ffa\"":
+ *v = GameModes_ffa
+ case "\"coliseum\"":
+ *v = GameModes_coliseum
+ case "\"aitdm\"":
+ *v = GameModes_aitdm
+ case "\"speedball\"":
+ *v = GameModes_speedball
+ case "\"mfd\"":
+ *v = GameModes_mfd
+ case "\"ttdm\"":
+ *v = GameModes_ttdm
+ case "\"fra\"":
+ *v = GameModes_fra
+ case "\"fd\"":
+ *v = GameModes_fd
+ default:
+ return json.Unmarshal(b, (*uint8)(v))
+ }
+ return nil
+}
type LoadoutWeaponsAndAbilities uint8
@@ -10981,9 +12507,10 @@ const (
var _ fmt.Stringer = LoadoutWeaponsAndAbilities(0)
var _ fmt.GoStringer = LoadoutWeaponsAndAbilities(0)
-
-//var _ encoding.TextMarshaler = LoadoutWeaponsAndAbilities(0)
+var _ encoding.TextMarshaler = LoadoutWeaponsAndAbilities(0)
var _ encoding.TextUnmarshaler = (*LoadoutWeaponsAndAbilities)(nil)
+var _ json.Marshaler = LoadoutWeaponsAndAbilities(0)
+var _ json.Unmarshaler = (*LoadoutWeaponsAndAbilities)(nil)
func (v LoadoutWeaponsAndAbilities) String() string {
if b, err := v.MarshalText(); err == nil {
@@ -11610,6 +13137,419 @@ func (v *LoadoutWeaponsAndAbilities) UnmarshalText(b []byte) error {
}
return nil
}
+func (v LoadoutWeaponsAndAbilities) MarshalJSON() ([]byte, error) {
+ switch v {
+ case LoadoutWeaponsAndAbilities_NULL:
+ return []byte("\"NULL\""), nil
+ case LoadoutWeaponsAndAbilities_melee_pilot_emptyhanded:
+ return []byte("\"melee_pilot_emptyhanded\""), nil
+ case LoadoutWeaponsAndAbilities_melee_pilot_sword:
+ return []byte("\"melee_pilot_sword\""), nil
+ case LoadoutWeaponsAndAbilities_melee_titan_sword:
+ return []byte("\"melee_titan_sword\""), nil
+ case LoadoutWeaponsAndAbilities_melee_titan_sword_aoe:
+ return []byte("\"melee_titan_sword_aoe\""), nil
+ case LoadoutWeaponsAndAbilities_mp_ability_cloak:
+ return []byte("\"mp_ability_cloak\""), nil
+ case LoadoutWeaponsAndAbilities_mp_ability_grapple:
+ return []byte("\"mp_ability_grapple\""), nil
+ case LoadoutWeaponsAndAbilities_mp_ability_heal:
+ return []byte("\"mp_ability_heal\""), nil
+ case LoadoutWeaponsAndAbilities_mp_ability_holopilot:
+ return []byte("\"mp_ability_holopilot\""), nil
+ case LoadoutWeaponsAndAbilities_mp_ability_phase_rewind:
+ return []byte("\"mp_ability_phase_rewind\""), nil
+ case LoadoutWeaponsAndAbilities_mp_ability_shifter:
+ return []byte("\"mp_ability_shifter\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanability_ammo_swap:
+ return []byte("\"mp_titanability_ammo_swap\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanability_basic_block:
+ return []byte("\"mp_titanability_basic_block\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanability_gun_shield:
+ return []byte("\"mp_titanability_gun_shield\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanability_hover:
+ return []byte("\"mp_titanability_hover\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanability_laser_trip:
+ return []byte("\"mp_titanability_laser_trip\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanability_particle_wall:
+ return []byte("\"mp_titanability_particle_wall\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanability_phase_dash:
+ return []byte("\"mp_titanability_phase_dash\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanability_power_shot:
+ return []byte("\"mp_titanability_power_shot\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanability_slow_trap:
+ return []byte("\"mp_titanability_slow_trap\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanability_smoke:
+ return []byte("\"mp_titanability_smoke\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanability_sonar_pulse:
+ return []byte("\"mp_titanability_sonar_pulse\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanability_tether_trap:
+ return []byte("\"mp_titanability_tether_trap\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanability_rearm:
+ return []byte("\"mp_titanability_rearm\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titancore_flame_wave:
+ return []byte("\"mp_titancore_flame_wave\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titancore_flight_core:
+ return []byte("\"mp_titancore_flight_core\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titancore_laser_cannon:
+ return []byte("\"mp_titancore_laser_cannon\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titancore_salvo_core:
+ return []byte("\"mp_titancore_salvo_core\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titancore_shift_core:
+ return []byte("\"mp_titancore_shift_core\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titancore_siege_mode:
+ return []byte("\"mp_titancore_siege_mode\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titancore_upgrade:
+ return []byte("\"mp_titancore_upgrade\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanweapon_40mm:
+ return []byte("\"mp_titanweapon_40mm\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanweapon_arc_wave:
+ return []byte("\"mp_titanweapon_arc_wave\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanweapon_flame_wall:
+ return []byte("\"mp_titanweapon_flame_wall\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanweapon_heat_shield:
+ return []byte("\"mp_titanweapon_heat_shield\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanweapon_homing_rockets:
+ return []byte("\"mp_titanweapon_homing_rockets\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanweapon_dumbfire_rockets:
+ return []byte("\"mp_titanweapon_dumbfire_rockets\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanweapon_laser_lite:
+ return []byte("\"mp_titanweapon_laser_lite\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanweapon_leadwall:
+ return []byte("\"mp_titanweapon_leadwall\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanweapon_meteor:
+ return []byte("\"mp_titanweapon_meteor\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanweapon_particle_accelerator:
+ return []byte("\"mp_titanweapon_particle_accelerator\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanweapon_predator_cannon:
+ return []byte("\"mp_titanweapon_predator_cannon\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanweapon_rocket_launcher:
+ return []byte("\"mp_titanweapon_rocket_launcher\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanweapon_rocketeer_rocketstream:
+ return []byte("\"mp_titanweapon_rocketeer_rocketstream\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanweapon_salvo_rockets:
+ return []byte("\"mp_titanweapon_salvo_rockets\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanweapon_sniper:
+ return []byte("\"mp_titanweapon_sniper\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanweapon_sticky_40mm:
+ return []byte("\"mp_titanweapon_sticky_40mm\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanweapon_stun_laser:
+ return []byte("\"mp_titanweapon_stun_laser\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanweapon_tracker_rockets:
+ return []byte("\"mp_titanweapon_tracker_rockets\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanweapon_vortex_shield:
+ return []byte("\"mp_titanweapon_vortex_shield\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanweapon_vortex_shield_ion:
+ return []byte("\"mp_titanweapon_vortex_shield_ion\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanweapon_xo16:
+ return []byte("\"mp_titanweapon_xo16\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanweapon_xo16_shorty:
+ return []byte("\"mp_titanweapon_xo16_shorty\""), nil
+ case LoadoutWeaponsAndAbilities_mp_titanweapon_xo16_vanguard:
+ return []byte("\"mp_titanweapon_xo16_vanguard\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_alternator_smg:
+ return []byte("\"mp_weapon_alternator_smg\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_arc_launcher:
+ return []byte("\"mp_weapon_arc_launcher\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_autopistol:
+ return []byte("\"mp_weapon_autopistol\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_car:
+ return []byte("\"mp_weapon_car\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_defender:
+ return []byte("\"mp_weapon_defender\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_deployable_cover:
+ return []byte("\"mp_weapon_deployable_cover\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_dmr:
+ return []byte("\"mp_weapon_dmr\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_doubletake:
+ return []byte("\"mp_weapon_doubletake\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_epg:
+ return []byte("\"mp_weapon_epg\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_esaw:
+ return []byte("\"mp_weapon_esaw\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_frag_drone:
+ return []byte("\"mp_weapon_frag_drone\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_frag_grenade:
+ return []byte("\"mp_weapon_frag_grenade\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_g2:
+ return []byte("\"mp_weapon_g2\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_grenade_electric_smoke:
+ return []byte("\"mp_weapon_grenade_electric_smoke\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_grenade_emp:
+ return []byte("\"mp_weapon_grenade_emp\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_grenade_gravity:
+ return []byte("\"mp_weapon_grenade_gravity\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_grenade_sonar:
+ return []byte("\"mp_weapon_grenade_sonar\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_hemlok:
+ return []byte("\"mp_weapon_hemlok\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_hemlok_smg:
+ return []byte("\"mp_weapon_hemlok_smg\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_lmg:
+ return []byte("\"mp_weapon_lmg\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_lstar:
+ return []byte("\"mp_weapon_lstar\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_mastiff:
+ return []byte("\"mp_weapon_mastiff\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_mgl:
+ return []byte("\"mp_weapon_mgl\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_pulse_lmg:
+ return []byte("\"mp_weapon_pulse_lmg\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_r97:
+ return []byte("\"mp_weapon_r97\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_rocket_launcher:
+ return []byte("\"mp_weapon_rocket_launcher\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_rspn101:
+ return []byte("\"mp_weapon_rspn101\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_rspn101_og:
+ return []byte("\"mp_weapon_rspn101_og\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_satchel:
+ return []byte("\"mp_weapon_satchel\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_semipistol:
+ return []byte("\"mp_weapon_semipistol\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_shotgun:
+ return []byte("\"mp_weapon_shotgun\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_shotgun_pistol:
+ return []byte("\"mp_weapon_shotgun_pistol\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_smart_pistol:
+ return []byte("\"mp_weapon_smart_pistol\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_smr:
+ return []byte("\"mp_weapon_smr\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_sniper:
+ return []byte("\"mp_weapon_sniper\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_softball:
+ return []byte("\"mp_weapon_softball\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_thermite_grenade:
+ return []byte("\"mp_weapon_thermite_grenade\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_vinson:
+ return []byte("\"mp_weapon_vinson\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_wingman:
+ return []byte("\"mp_weapon_wingman\""), nil
+ case LoadoutWeaponsAndAbilities_mp_weapon_wingman_n:
+ return []byte("\"mp_weapon_wingman_n\""), nil
+ case LoadoutWeaponsAndAbilities_melee_titan_punch_ion:
+ return []byte("\"melee_titan_punch_ion\""), nil
+ case LoadoutWeaponsAndAbilities_melee_titan_punch_legion:
+ return []byte("\"melee_titan_punch_legion\""), nil
+ case LoadoutWeaponsAndAbilities_melee_titan_punch_northstar:
+ return []byte("\"melee_titan_punch_northstar\""), nil
+ case LoadoutWeaponsAndAbilities_melee_titan_punch_scorch:
+ return []byte("\"melee_titan_punch_scorch\""), nil
+ case LoadoutWeaponsAndAbilities_melee_titan_punch_tone:
+ return []byte("\"melee_titan_punch_tone\""), nil
+ case LoadoutWeaponsAndAbilities_melee_titan_punch_vanguard:
+ return []byte("\"melee_titan_punch_vanguard\""), nil
+ default:
+ return []byte(strconv.Itoa(int(v))), nil
+ }
+}
+func (v *LoadoutWeaponsAndAbilities) UnmarshalJSON(b []byte) error {
+ switch string(b) {
+ case "\"NULL\"":
+ *v = LoadoutWeaponsAndAbilities_NULL
+ case "\"melee_pilot_emptyhanded\"":
+ *v = LoadoutWeaponsAndAbilities_melee_pilot_emptyhanded
+ case "\"melee_pilot_sword\"":
+ *v = LoadoutWeaponsAndAbilities_melee_pilot_sword
+ case "\"melee_titan_sword\"":
+ *v = LoadoutWeaponsAndAbilities_melee_titan_sword
+ case "\"melee_titan_sword_aoe\"":
+ *v = LoadoutWeaponsAndAbilities_melee_titan_sword_aoe
+ case "\"mp_ability_cloak\"":
+ *v = LoadoutWeaponsAndAbilities_mp_ability_cloak
+ case "\"mp_ability_grapple\"":
+ *v = LoadoutWeaponsAndAbilities_mp_ability_grapple
+ case "\"mp_ability_heal\"":
+ *v = LoadoutWeaponsAndAbilities_mp_ability_heal
+ case "\"mp_ability_holopilot\"":
+ *v = LoadoutWeaponsAndAbilities_mp_ability_holopilot
+ case "\"mp_ability_phase_rewind\"":
+ *v = LoadoutWeaponsAndAbilities_mp_ability_phase_rewind
+ case "\"mp_ability_shifter\"":
+ *v = LoadoutWeaponsAndAbilities_mp_ability_shifter
+ case "\"mp_titanability_ammo_swap\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanability_ammo_swap
+ case "\"mp_titanability_basic_block\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanability_basic_block
+ case "\"mp_titanability_gun_shield\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanability_gun_shield
+ case "\"mp_titanability_hover\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanability_hover
+ case "\"mp_titanability_laser_trip\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanability_laser_trip
+ case "\"mp_titanability_particle_wall\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanability_particle_wall
+ case "\"mp_titanability_phase_dash\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanability_phase_dash
+ case "\"mp_titanability_power_shot\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanability_power_shot
+ case "\"mp_titanability_slow_trap\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanability_slow_trap
+ case "\"mp_titanability_smoke\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanability_smoke
+ case "\"mp_titanability_sonar_pulse\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanability_sonar_pulse
+ case "\"mp_titanability_tether_trap\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanability_tether_trap
+ case "\"mp_titanability_rearm\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanability_rearm
+ case "\"mp_titancore_flame_wave\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titancore_flame_wave
+ case "\"mp_titancore_flight_core\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titancore_flight_core
+ case "\"mp_titancore_laser_cannon\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titancore_laser_cannon
+ case "\"mp_titancore_salvo_core\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titancore_salvo_core
+ case "\"mp_titancore_shift_core\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titancore_shift_core
+ case "\"mp_titancore_siege_mode\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titancore_siege_mode
+ case "\"mp_titancore_upgrade\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titancore_upgrade
+ case "\"mp_titanweapon_40mm\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanweapon_40mm
+ case "\"mp_titanweapon_arc_wave\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanweapon_arc_wave
+ case "\"mp_titanweapon_flame_wall\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanweapon_flame_wall
+ case "\"mp_titanweapon_heat_shield\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanweapon_heat_shield
+ case "\"mp_titanweapon_homing_rockets\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanweapon_homing_rockets
+ case "\"mp_titanweapon_dumbfire_rockets\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanweapon_dumbfire_rockets
+ case "\"mp_titanweapon_laser_lite\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanweapon_laser_lite
+ case "\"mp_titanweapon_leadwall\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanweapon_leadwall
+ case "\"mp_titanweapon_meteor\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanweapon_meteor
+ case "\"mp_titanweapon_particle_accelerator\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanweapon_particle_accelerator
+ case "\"mp_titanweapon_predator_cannon\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanweapon_predator_cannon
+ case "\"mp_titanweapon_rocket_launcher\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanweapon_rocket_launcher
+ case "\"mp_titanweapon_rocketeer_rocketstream\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanweapon_rocketeer_rocketstream
+ case "\"mp_titanweapon_salvo_rockets\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanweapon_salvo_rockets
+ case "\"mp_titanweapon_sniper\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanweapon_sniper
+ case "\"mp_titanweapon_sticky_40mm\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanweapon_sticky_40mm
+ case "\"mp_titanweapon_stun_laser\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanweapon_stun_laser
+ case "\"mp_titanweapon_tracker_rockets\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanweapon_tracker_rockets
+ case "\"mp_titanweapon_vortex_shield\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanweapon_vortex_shield
+ case "\"mp_titanweapon_vortex_shield_ion\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanweapon_vortex_shield_ion
+ case "\"mp_titanweapon_xo16\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanweapon_xo16
+ case "\"mp_titanweapon_xo16_shorty\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanweapon_xo16_shorty
+ case "\"mp_titanweapon_xo16_vanguard\"":
+ *v = LoadoutWeaponsAndAbilities_mp_titanweapon_xo16_vanguard
+ case "\"mp_weapon_alternator_smg\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_alternator_smg
+ case "\"mp_weapon_arc_launcher\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_arc_launcher
+ case "\"mp_weapon_autopistol\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_autopistol
+ case "\"mp_weapon_car\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_car
+ case "\"mp_weapon_defender\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_defender
+ case "\"mp_weapon_deployable_cover\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_deployable_cover
+ case "\"mp_weapon_dmr\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_dmr
+ case "\"mp_weapon_doubletake\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_doubletake
+ case "\"mp_weapon_epg\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_epg
+ case "\"mp_weapon_esaw\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_esaw
+ case "\"mp_weapon_frag_drone\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_frag_drone
+ case "\"mp_weapon_frag_grenade\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_frag_grenade
+ case "\"mp_weapon_g2\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_g2
+ case "\"mp_weapon_grenade_electric_smoke\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_grenade_electric_smoke
+ case "\"mp_weapon_grenade_emp\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_grenade_emp
+ case "\"mp_weapon_grenade_gravity\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_grenade_gravity
+ case "\"mp_weapon_grenade_sonar\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_grenade_sonar
+ case "\"mp_weapon_hemlok\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_hemlok
+ case "\"mp_weapon_hemlok_smg\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_hemlok_smg
+ case "\"mp_weapon_lmg\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_lmg
+ case "\"mp_weapon_lstar\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_lstar
+ case "\"mp_weapon_mastiff\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_mastiff
+ case "\"mp_weapon_mgl\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_mgl
+ case "\"mp_weapon_pulse_lmg\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_pulse_lmg
+ case "\"mp_weapon_r97\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_r97
+ case "\"mp_weapon_rocket_launcher\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_rocket_launcher
+ case "\"mp_weapon_rspn101\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_rspn101
+ case "\"mp_weapon_rspn101_og\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_rspn101_og
+ case "\"mp_weapon_satchel\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_satchel
+ case "\"mp_weapon_semipistol\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_semipistol
+ case "\"mp_weapon_shotgun\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_shotgun
+ case "\"mp_weapon_shotgun_pistol\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_shotgun_pistol
+ case "\"mp_weapon_smart_pistol\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_smart_pistol
+ case "\"mp_weapon_smr\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_smr
+ case "\"mp_weapon_sniper\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_sniper
+ case "\"mp_weapon_softball\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_softball
+ case "\"mp_weapon_thermite_grenade\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_thermite_grenade
+ case "\"mp_weapon_vinson\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_vinson
+ case "\"mp_weapon_wingman\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_wingman
+ case "\"mp_weapon_wingman_n\"":
+ *v = LoadoutWeaponsAndAbilities_mp_weapon_wingman_n
+ case "\"melee_titan_punch_ion\"":
+ *v = LoadoutWeaponsAndAbilities_melee_titan_punch_ion
+ case "\"melee_titan_punch_legion\"":
+ *v = LoadoutWeaponsAndAbilities_melee_titan_punch_legion
+ case "\"melee_titan_punch_northstar\"":
+ *v = LoadoutWeaponsAndAbilities_melee_titan_punch_northstar
+ case "\"melee_titan_punch_scorch\"":
+ *v = LoadoutWeaponsAndAbilities_melee_titan_punch_scorch
+ case "\"melee_titan_punch_tone\"":
+ *v = LoadoutWeaponsAndAbilities_melee_titan_punch_tone
+ case "\"melee_titan_punch_vanguard\"":
+ *v = LoadoutWeaponsAndAbilities_melee_titan_punch_vanguard
+ default:
+ return json.Unmarshal(b, (*uint8)(v))
+ }
+ return nil
+}
type Maps uint8
@@ -11644,9 +13584,10 @@ const (
var _ fmt.Stringer = Maps(0)
var _ fmt.GoStringer = Maps(0)
-
-//var _ encoding.TextMarshaler = Maps(0)
+var _ encoding.TextMarshaler = Maps(0)
var _ encoding.TextUnmarshaler = (*Maps)(nil)
+var _ json.Marshaler = Maps(0)
+var _ json.Unmarshaler = (*Maps)(nil)
func (v Maps) String() string {
if b, err := v.MarshalText(); err == nil {
@@ -11823,6 +13764,119 @@ func (v *Maps) UnmarshalText(b []byte) error {
}
return nil
}
+func (v Maps) MarshalJSON() ([]byte, error) {
+ switch v {
+ case Maps_mp_box:
+ return []byte("\"mp_box\""), nil
+ case Maps_mp_test_engagement_range:
+ return []byte("\"mp_test_engagement_range\""), nil
+ case Maps_mp_forwardbase_kodai:
+ return []byte("\"mp_forwardbase_kodai\""), nil
+ case Maps_mp_grave:
+ return []byte("\"mp_grave\""), nil
+ case Maps_mp_homestead:
+ return []byte("\"mp_homestead\""), nil
+ case Maps_mp_thaw:
+ return []byte("\"mp_thaw\""), nil
+ case Maps_mp_black_water_canal:
+ return []byte("\"mp_black_water_canal\""), nil
+ case Maps_mp_eden:
+ return []byte("\"mp_eden\""), nil
+ case Maps_mp_drydock:
+ return []byte("\"mp_drydock\""), nil
+ case Maps_mp_crashsite3:
+ return []byte("\"mp_crashsite3\""), nil
+ case Maps_mp_complex3:
+ return []byte("\"mp_complex3\""), nil
+ case Maps_mp_coliseum:
+ return []byte("\"mp_coliseum\""), nil
+ case Maps_mp_angel_city:
+ return []byte("\"mp_angel_city\""), nil
+ case Maps_mp_colony02:
+ return []byte("\"mp_colony02\""), nil
+ case Maps_mp_relic02:
+ return []byte("\"mp_relic02\""), nil
+ case Maps_mp_glitch:
+ return []byte("\"mp_glitch\""), nil
+ case Maps_mp_lf_stacks:
+ return []byte("\"mp_lf_stacks\""), nil
+ case Maps_mp_lf_meadow:
+ return []byte("\"mp_lf_meadow\""), nil
+ case Maps_mp_lf_deck:
+ return []byte("\"mp_lf_deck\""), nil
+ case Maps_mp_lf_traffic:
+ return []byte("\"mp_lf_traffic\""), nil
+ case Maps_mp_lf_township:
+ return []byte("\"mp_lf_township\""), nil
+ case Maps_mp_lf_uma:
+ return []byte("\"mp_lf_uma\""), nil
+ case Maps_mp_coliseum_column:
+ return []byte("\"mp_coliseum_column\""), nil
+ case Maps_mp_wargames:
+ return []byte("\"mp_wargames\""), nil
+ case Maps_mp_rise:
+ return []byte("\"mp_rise\""), nil
+ default:
+ return []byte(strconv.Itoa(int(v))), nil
+ }
+}
+func (v *Maps) UnmarshalJSON(b []byte) error {
+ switch string(b) {
+ case "\"mp_box\"":
+ *v = Maps_mp_box
+ case "\"mp_test_engagement_range\"":
+ *v = Maps_mp_test_engagement_range
+ case "\"mp_forwardbase_kodai\"":
+ *v = Maps_mp_forwardbase_kodai
+ case "\"mp_grave\"":
+ *v = Maps_mp_grave
+ case "\"mp_homestead\"":
+ *v = Maps_mp_homestead
+ case "\"mp_thaw\"":
+ *v = Maps_mp_thaw
+ case "\"mp_black_water_canal\"":
+ *v = Maps_mp_black_water_canal
+ case "\"mp_eden\"":
+ *v = Maps_mp_eden
+ case "\"mp_drydock\"":
+ *v = Maps_mp_drydock
+ case "\"mp_crashsite3\"":
+ *v = Maps_mp_crashsite3
+ case "\"mp_complex3\"":
+ *v = Maps_mp_complex3
+ case "\"mp_coliseum\"":
+ *v = Maps_mp_coliseum
+ case "\"mp_angel_city\"":
+ *v = Maps_mp_angel_city
+ case "\"mp_colony02\"":
+ *v = Maps_mp_colony02
+ case "\"mp_relic02\"":
+ *v = Maps_mp_relic02
+ case "\"mp_glitch\"":
+ *v = Maps_mp_glitch
+ case "\"mp_lf_stacks\"":
+ *v = Maps_mp_lf_stacks
+ case "\"mp_lf_meadow\"":
+ *v = Maps_mp_lf_meadow
+ case "\"mp_lf_deck\"":
+ *v = Maps_mp_lf_deck
+ case "\"mp_lf_traffic\"":
+ *v = Maps_mp_lf_traffic
+ case "\"mp_lf_township\"":
+ *v = Maps_mp_lf_township
+ case "\"mp_lf_uma\"":
+ *v = Maps_mp_lf_uma
+ case "\"mp_coliseum_column\"":
+ *v = Maps_mp_coliseum_column
+ case "\"mp_wargames\"":
+ *v = Maps_mp_wargames
+ case "\"mp_rise\"":
+ *v = Maps_mp_rise
+ default:
+ return json.Unmarshal(b, (*uint8)(v))
+ }
+ return nil
+}
type OwnedEntitlements uint8
@@ -11841,9 +13895,10 @@ const (
var _ fmt.Stringer = OwnedEntitlements(0)
var _ fmt.GoStringer = OwnedEntitlements(0)
-
-//var _ encoding.TextMarshaler = OwnedEntitlements(0)
+var _ encoding.TextMarshaler = OwnedEntitlements(0)
var _ encoding.TextUnmarshaler = (*OwnedEntitlements)(nil)
+var _ json.Marshaler = OwnedEntitlements(0)
+var _ json.Unmarshaler = (*OwnedEntitlements)(nil)
func (v OwnedEntitlements) String() string {
if b, err := v.MarshalText(); err == nil {
@@ -11924,6 +13979,55 @@ func (v *OwnedEntitlements) UnmarshalText(b []byte) error {
}
return nil
}
+func (v OwnedEntitlements) MarshalJSON() ([]byte, error) {
+ switch v {
+ case OwnedEntitlements_ET_DLC7_WEAPON_BUNDLE:
+ return []byte("\"ET_DLC7_WEAPON_BUNDLE\""), nil
+ case OwnedEntitlements_ET_DLC7_R201_WARPAINT:
+ return []byte("\"ET_DLC7_R201_WARPAINT\""), nil
+ case OwnedEntitlements_ET_DLC7_G2A5_WARPAINT:
+ return []byte("\"ET_DLC7_G2A5_WARPAINT\""), nil
+ case OwnedEntitlements_ET_DLC7_FLATLINE_WARPAINT:
+ return []byte("\"ET_DLC7_FLATLINE_WARPAINT\""), nil
+ case OwnedEntitlements_ET_DLC7_CAR_WARPAINT:
+ return []byte("\"ET_DLC7_CAR_WARPAINT\""), nil
+ case OwnedEntitlements_ET_DLC7_ALTERNATOR_WARPAINT:
+ return []byte("\"ET_DLC7_ALTERNATOR_WARPAINT\""), nil
+ case OwnedEntitlements_ET_DLC7_EVA8_WARPAINT:
+ return []byte("\"ET_DLC7_EVA8_WARPAINT\""), nil
+ case OwnedEntitlements_ET_DLC7_WINGMAN_WARPAINT:
+ return []byte("\"ET_DLC7_WINGMAN_WARPAINT\""), nil
+ case OwnedEntitlements_ET_DLC7_ARCHER_WARPAINT:
+ return []byte("\"ET_DLC7_ARCHER_WARPAINT\""), nil
+ default:
+ return []byte(strconv.Itoa(int(v))), nil
+ }
+}
+func (v *OwnedEntitlements) UnmarshalJSON(b []byte) error {
+ switch string(b) {
+ case "\"ET_DLC7_WEAPON_BUNDLE\"":
+ *v = OwnedEntitlements_ET_DLC7_WEAPON_BUNDLE
+ case "\"ET_DLC7_R201_WARPAINT\"":
+ *v = OwnedEntitlements_ET_DLC7_R201_WARPAINT
+ case "\"ET_DLC7_G2A5_WARPAINT\"":
+ *v = OwnedEntitlements_ET_DLC7_G2A5_WARPAINT
+ case "\"ET_DLC7_FLATLINE_WARPAINT\"":
+ *v = OwnedEntitlements_ET_DLC7_FLATLINE_WARPAINT
+ case "\"ET_DLC7_CAR_WARPAINT\"":
+ *v = OwnedEntitlements_ET_DLC7_CAR_WARPAINT
+ case "\"ET_DLC7_ALTERNATOR_WARPAINT\"":
+ *v = OwnedEntitlements_ET_DLC7_ALTERNATOR_WARPAINT
+ case "\"ET_DLC7_EVA8_WARPAINT\"":
+ *v = OwnedEntitlements_ET_DLC7_EVA8_WARPAINT
+ case "\"ET_DLC7_WINGMAN_WARPAINT\"":
+ *v = OwnedEntitlements_ET_DLC7_WINGMAN_WARPAINT
+ case "\"ET_DLC7_ARCHER_WARPAINT\"":
+ *v = OwnedEntitlements_ET_DLC7_ARCHER_WARPAINT
+ default:
+ return json.Unmarshal(b, (*uint8)(v))
+ }
+ return nil
+}
type PilotExecution uint8
@@ -11946,9 +14050,10 @@ const (
var _ fmt.Stringer = PilotExecution(0)
var _ fmt.GoStringer = PilotExecution(0)
-
-//var _ encoding.TextMarshaler = PilotExecution(0)
+var _ encoding.TextMarshaler = PilotExecution(0)
var _ encoding.TextUnmarshaler = (*PilotExecution)(nil)
+var _ json.Marshaler = PilotExecution(0)
+var _ json.Unmarshaler = (*PilotExecution)(nil)
func (v PilotExecution) String() string {
if b, err := v.MarshalText(); err == nil {
@@ -12053,6 +14158,71 @@ func (v *PilotExecution) UnmarshalText(b []byte) error {
}
return nil
}
+func (v PilotExecution) MarshalJSON() ([]byte, error) {
+ switch v {
+ case PilotExecution_execution_neck_snap:
+ return []byte("\"execution_neck_snap\""), nil
+ case PilotExecution_execution_face_stab:
+ return []byte("\"execution_face_stab\""), nil
+ case PilotExecution_execution_backshot:
+ return []byte("\"execution_backshot\""), nil
+ case PilotExecution_execution_combo:
+ return []byte("\"execution_combo\""), nil
+ case PilotExecution_execution_knockout:
+ return []byte("\"execution_knockout\""), nil
+ case PilotExecution_execution_telefrag:
+ return []byte("\"execution_telefrag\""), nil
+ case PilotExecution_execution_stim:
+ return []byte("\"execution_stim\""), nil
+ case PilotExecution_execution_grapple:
+ return []byte("\"execution_grapple\""), nil
+ case PilotExecution_execution_pulseblade:
+ return []byte("\"execution_pulseblade\""), nil
+ case PilotExecution_execution_random:
+ return []byte("\"execution_random\""), nil
+ case PilotExecution_execution_cloak:
+ return []byte("\"execution_cloak\""), nil
+ case PilotExecution_execution_holopilot:
+ return []byte("\"execution_holopilot\""), nil
+ case PilotExecution_execution_ampedwall:
+ return []byte("\"execution_ampedwall\""), nil
+ default:
+ return []byte(strconv.Itoa(int(v))), nil
+ }
+}
+func (v *PilotExecution) UnmarshalJSON(b []byte) error {
+ switch string(b) {
+ case "\"execution_neck_snap\"":
+ *v = PilotExecution_execution_neck_snap
+ case "\"execution_face_stab\"":
+ *v = PilotExecution_execution_face_stab
+ case "\"execution_backshot\"":
+ *v = PilotExecution_execution_backshot
+ case "\"execution_combo\"":
+ *v = PilotExecution_execution_combo
+ case "\"execution_knockout\"":
+ *v = PilotExecution_execution_knockout
+ case "\"execution_telefrag\"":
+ *v = PilotExecution_execution_telefrag
+ case "\"execution_stim\"":
+ *v = PilotExecution_execution_stim
+ case "\"execution_grapple\"":
+ *v = PilotExecution_execution_grapple
+ case "\"execution_pulseblade\"":
+ *v = PilotExecution_execution_pulseblade
+ case "\"execution_random\"":
+ *v = PilotExecution_execution_random
+ case "\"execution_cloak\"":
+ *v = PilotExecution_execution_cloak
+ case "\"execution_holopilot\"":
+ *v = PilotExecution_execution_holopilot
+ case "\"execution_ampedwall\"":
+ *v = PilotExecution_execution_ampedwall
+ default:
+ return json.Unmarshal(b, (*uint8)(v))
+ }
+ return nil
+}
type PilotMod uint8
@@ -12141,9 +14311,10 @@ const (
var _ fmt.Stringer = PilotMod(0)
var _ fmt.GoStringer = PilotMod(0)
-
-//var _ encoding.TextMarshaler = PilotMod(0)
+var _ encoding.TextMarshaler = PilotMod(0)
var _ encoding.TextUnmarshaler = (*PilotMod)(nil)
+var _ json.Marshaler = PilotMod(0)
+var _ json.Unmarshaler = (*PilotMod)(nil)
func (v PilotMod) String() string {
if b, err := v.MarshalText(); err == nil {
@@ -12644,6 +14815,335 @@ func (v *PilotMod) UnmarshalText(b []byte) error {
}
return nil
}
+func (v PilotMod) MarshalJSON() ([]byte, error) {
+ switch v {
+ case PilotMod_NULL:
+ return []byte("\"NULL\""), nil
+ case PilotMod_aog:
+ return []byte("\"aog\""), nil
+ case PilotMod_automatic_fire:
+ return []byte("\"automatic_fire\""), nil
+ case PilotMod_burn_mod_rspn101:
+ return []byte("\"burn_mod_rspn101\""), nil
+ case PilotMod_burn_mod_g2:
+ return []byte("\"burn_mod_g2\""), nil
+ case PilotMod_burn_mod_hemlok:
+ return []byte("\"burn_mod_hemlok\""), nil
+ case PilotMod_burn_mod_vinson:
+ return []byte("\"burn_mod_vinson\""), nil
+ case PilotMod_burn_mod_lstar:
+ return []byte("\"burn_mod_lstar\""), nil
+ case PilotMod_burn_mod_car:
+ return []byte("\"burn_mod_car\""), nil
+ case PilotMod_burn_mod_r97:
+ return []byte("\"burn_mod_r97\""), nil
+ case PilotMod_burn_mod_alternator_smg:
+ return []byte("\"burn_mod_alternator_smg\""), nil
+ case PilotMod_burn_mod_lmg:
+ return []byte("\"burn_mod_lmg\""), nil
+ case PilotMod_burn_mod_esaw:
+ return []byte("\"burn_mod_esaw\""), nil
+ case PilotMod_burn_mod_pulse_lmg:
+ return []byte("\"burn_mod_pulse_lmg\""), nil
+ case PilotMod_burn_mod_sniper:
+ return []byte("\"burn_mod_sniper\""), nil
+ case PilotMod_burn_mod_dmr:
+ return []byte("\"burn_mod_dmr\""), nil
+ case PilotMod_burn_mod_doubletake:
+ return []byte("\"burn_mod_doubletake\""), nil
+ case PilotMod_burn_mod_mastiff:
+ return []byte("\"burn_mod_mastiff\""), nil
+ case PilotMod_burn_mod_shotgun:
+ return []byte("\"burn_mod_shotgun\""), nil
+ case PilotMod_burn_mod_softball:
+ return []byte("\"burn_mod_softball\""), nil
+ case PilotMod_burn_mod_shotgun_pistol:
+ return []byte("\"burn_mod_shotgun_pistol\""), nil
+ case PilotMod_burn_mod_autopistol:
+ return []byte("\"burn_mod_autopistol\""), nil
+ case PilotMod_burn_mod_wingman:
+ return []byte("\"burn_mod_wingman\""), nil
+ case PilotMod_burn_mod_semipistol:
+ return []byte("\"burn_mod_semipistol\""), nil
+ case PilotMod_burn_mod_smart_pistol:
+ return []byte("\"burn_mod_smart_pistol\""), nil
+ case PilotMod_burn_mod_emp_grenade:
+ return []byte("\"burn_mod_emp_grenade\""), nil
+ case PilotMod_burn_mod_frag_grenade:
+ return []byte("\"burn_mod_frag_grenade\""), nil
+ case PilotMod_burn_mod_satchel:
+ return []byte("\"burn_mod_satchel\""), nil
+ case PilotMod_burn_mod_proximity_mine:
+ return []byte("\"burn_mod_proximity_mine\""), nil
+ case PilotMod_burn_mod_grenade_electric_smoke:
+ return []byte("\"burn_mod_grenade_electric_smoke\""), nil
+ case PilotMod_burn_mod_grenade_gravity:
+ return []byte("\"burn_mod_grenade_gravity\""), nil
+ case PilotMod_burn_mod_thermite_grenade:
+ return []byte("\"burn_mod_thermite_grenade\""), nil
+ case PilotMod_burn_mod_defender:
+ return []byte("\"burn_mod_defender\""), nil
+ case PilotMod_burn_mod_rocket_launcher:
+ return []byte("\"burn_mod_rocket_launcher\""), nil
+ case PilotMod_burn_mod_arc_launcher:
+ return []byte("\"burn_mod_arc_launcher\""), nil
+ case PilotMod_burn_mod_smr:
+ return []byte("\"burn_mod_smr\""), nil
+ case PilotMod_burn_mod_mgl:
+ return []byte("\"burn_mod_mgl\""), nil
+ case PilotMod_burst:
+ return []byte("\"burst\""), nil
+ case PilotMod_enhanced_targeting:
+ return []byte("\"enhanced_targeting\""), nil
+ case PilotMod_extended_ammo:
+ return []byte("\"extended_ammo\""), nil
+ case PilotMod_fast_lock:
+ return []byte("\"fast_lock\""), nil
+ case PilotMod_fast_reload:
+ return []byte("\"fast_reload\""), nil
+ case PilotMod_guided_missile:
+ return []byte("\"guided_missile\""), nil
+ case PilotMod_hcog:
+ return []byte("\"hcog\""), nil
+ case PilotMod_high_density:
+ return []byte("\"high_density\""), nil
+ case PilotMod_holosight:
+ return []byte("\"holosight\""), nil
+ case PilotMod_iron_sights:
+ return []byte("\"iron_sights\""), nil
+ case PilotMod_long_fuse:
+ return []byte("\"long_fuse\""), nil
+ case PilotMod_powered_magnets:
+ return []byte("\"powered_magnets\""), nil
+ case PilotMod_scope_4x:
+ return []byte("\"scope_4x\""), nil
+ case PilotMod_scope_6x:
+ return []byte("\"scope_6x\""), nil
+ case PilotMod_scope_8x:
+ return []byte("\"scope_8x\""), nil
+ case PilotMod_scope_10x:
+ return []byte("\"scope_10x\""), nil
+ case PilotMod_scope_12x:
+ return []byte("\"scope_12x\""), nil
+ case PilotMod_silencer:
+ return []byte("\"silencer\""), nil
+ case PilotMod_sniper_assist:
+ return []byte("\"sniper_assist\""), nil
+ case PilotMod_stabilizer:
+ return []byte("\"stabilizer\""), nil
+ case PilotMod_single_shot:
+ return []byte("\"single_shot\""), nil
+ case PilotMod_slammer:
+ return []byte("\"slammer\""), nil
+ case PilotMod_stabilized_warhead:
+ return []byte("\"stabilized_warhead\""), nil
+ case PilotMod_tank_buster:
+ return []byte("\"tank_buster\""), nil
+ case PilotMod_amped_wall:
+ return []byte("\"amped_wall\""), nil
+ case PilotMod_short_shift:
+ return []byte("\"short_shift\""), nil
+ case PilotMod_burn_mod_epg:
+ return []byte("\"burn_mod_epg\""), nil
+ case PilotMod_ricochet:
+ return []byte("\"ricochet\""), nil
+ case PilotMod_ar_trajectory:
+ return []byte("\"ar_trajectory\""), nil
+ case PilotMod_redline_sight:
+ return []byte("\"redline_sight\""), nil
+ case PilotMod_threat_scope:
+ return []byte("\"threat_scope\""), nil
+ case PilotMod_smart_lock:
+ return []byte("\"smart_lock\""), nil
+ case PilotMod_pro_screen:
+ return []byte("\"pro_screen\""), nil
+ case PilotMod_delayed_shot:
+ return []byte("\"delayed_shot\""), nil
+ case PilotMod_pas_run_and_gun:
+ return []byte("\"pas_run_and_gun\""), nil
+ case PilotMod_tactical_cdr_on_kill:
+ return []byte("\"tactical_cdr_on_kill\""), nil
+ case PilotMod_pas_fast_ads:
+ return []byte("\"pas_fast_ads\""), nil
+ case PilotMod_pas_fast_swap:
+ return []byte("\"pas_fast_swap\""), nil
+ case PilotMod_pas_fast_reload:
+ return []byte("\"pas_fast_reload\""), nil
+ case PilotMod_jump_kit:
+ return []byte("\"jump_kit\""), nil
+ case PilotMod_quick_charge:
+ return []byte("\"quick_charge\""), nil
+ case PilotMod_rocket_arena:
+ return []byte("\"rocket_arena\""), nil
+ default:
+ return []byte(strconv.Itoa(int(v))), nil
+ }
+}
+func (v *PilotMod) UnmarshalJSON(b []byte) error {
+ switch string(b) {
+ case "\"NULL\"":
+ *v = PilotMod_NULL
+ case "\"aog\"":
+ *v = PilotMod_aog
+ case "\"automatic_fire\"":
+ *v = PilotMod_automatic_fire
+ case "\"burn_mod_rspn101\"":
+ *v = PilotMod_burn_mod_rspn101
+ case "\"burn_mod_g2\"":
+ *v = PilotMod_burn_mod_g2
+ case "\"burn_mod_hemlok\"":
+ *v = PilotMod_burn_mod_hemlok
+ case "\"burn_mod_vinson\"":
+ *v = PilotMod_burn_mod_vinson
+ case "\"burn_mod_lstar\"":
+ *v = PilotMod_burn_mod_lstar
+ case "\"burn_mod_car\"":
+ *v = PilotMod_burn_mod_car
+ case "\"burn_mod_r97\"":
+ *v = PilotMod_burn_mod_r97
+ case "\"burn_mod_alternator_smg\"":
+ *v = PilotMod_burn_mod_alternator_smg
+ case "\"burn_mod_lmg\"":
+ *v = PilotMod_burn_mod_lmg
+ case "\"burn_mod_esaw\"":
+ *v = PilotMod_burn_mod_esaw
+ case "\"burn_mod_pulse_lmg\"":
+ *v = PilotMod_burn_mod_pulse_lmg
+ case "\"burn_mod_sniper\"":
+ *v = PilotMod_burn_mod_sniper
+ case "\"burn_mod_dmr\"":
+ *v = PilotMod_burn_mod_dmr
+ case "\"burn_mod_doubletake\"":
+ *v = PilotMod_burn_mod_doubletake
+ case "\"burn_mod_mastiff\"":
+ *v = PilotMod_burn_mod_mastiff
+ case "\"burn_mod_shotgun\"":
+ *v = PilotMod_burn_mod_shotgun
+ case "\"burn_mod_softball\"":
+ *v = PilotMod_burn_mod_softball
+ case "\"burn_mod_shotgun_pistol\"":
+ *v = PilotMod_burn_mod_shotgun_pistol
+ case "\"burn_mod_autopistol\"":
+ *v = PilotMod_burn_mod_autopistol
+ case "\"burn_mod_wingman\"":
+ *v = PilotMod_burn_mod_wingman
+ case "\"burn_mod_semipistol\"":
+ *v = PilotMod_burn_mod_semipistol
+ case "\"burn_mod_smart_pistol\"":
+ *v = PilotMod_burn_mod_smart_pistol
+ case "\"burn_mod_emp_grenade\"":
+ *v = PilotMod_burn_mod_emp_grenade
+ case "\"burn_mod_frag_grenade\"":
+ *v = PilotMod_burn_mod_frag_grenade
+ case "\"burn_mod_satchel\"":
+ *v = PilotMod_burn_mod_satchel
+ case "\"burn_mod_proximity_mine\"":
+ *v = PilotMod_burn_mod_proximity_mine
+ case "\"burn_mod_grenade_electric_smoke\"":
+ *v = PilotMod_burn_mod_grenade_electric_smoke
+ case "\"burn_mod_grenade_gravity\"":
+ *v = PilotMod_burn_mod_grenade_gravity
+ case "\"burn_mod_thermite_grenade\"":
+ *v = PilotMod_burn_mod_thermite_grenade
+ case "\"burn_mod_defender\"":
+ *v = PilotMod_burn_mod_defender
+ case "\"burn_mod_rocket_launcher\"":
+ *v = PilotMod_burn_mod_rocket_launcher
+ case "\"burn_mod_arc_launcher\"":
+ *v = PilotMod_burn_mod_arc_launcher
+ case "\"burn_mod_smr\"":
+ *v = PilotMod_burn_mod_smr
+ case "\"burn_mod_mgl\"":
+ *v = PilotMod_burn_mod_mgl
+ case "\"burst\"":
+ *v = PilotMod_burst
+ case "\"enhanced_targeting\"":
+ *v = PilotMod_enhanced_targeting
+ case "\"extended_ammo\"":
+ *v = PilotMod_extended_ammo
+ case "\"fast_lock\"":
+ *v = PilotMod_fast_lock
+ case "\"fast_reload\"":
+ *v = PilotMod_fast_reload
+ case "\"guided_missile\"":
+ *v = PilotMod_guided_missile
+ case "\"hcog\"":
+ *v = PilotMod_hcog
+ case "\"high_density\"":
+ *v = PilotMod_high_density
+ case "\"holosight\"":
+ *v = PilotMod_holosight
+ case "\"iron_sights\"":
+ *v = PilotMod_iron_sights
+ case "\"long_fuse\"":
+ *v = PilotMod_long_fuse
+ case "\"powered_magnets\"":
+ *v = PilotMod_powered_magnets
+ case "\"scope_4x\"":
+ *v = PilotMod_scope_4x
+ case "\"scope_6x\"":
+ *v = PilotMod_scope_6x
+ case "\"scope_8x\"":
+ *v = PilotMod_scope_8x
+ case "\"scope_10x\"":
+ *v = PilotMod_scope_10x
+ case "\"scope_12x\"":
+ *v = PilotMod_scope_12x
+ case "\"silencer\"":
+ *v = PilotMod_silencer
+ case "\"sniper_assist\"":
+ *v = PilotMod_sniper_assist
+ case "\"stabilizer\"":
+ *v = PilotMod_stabilizer
+ case "\"single_shot\"":
+ *v = PilotMod_single_shot
+ case "\"slammer\"":
+ *v = PilotMod_slammer
+ case "\"stabilized_warhead\"":
+ *v = PilotMod_stabilized_warhead
+ case "\"tank_buster\"":
+ *v = PilotMod_tank_buster
+ case "\"amped_wall\"":
+ *v = PilotMod_amped_wall
+ case "\"short_shift\"":
+ *v = PilotMod_short_shift
+ case "\"burn_mod_epg\"":
+ *v = PilotMod_burn_mod_epg
+ case "\"ricochet\"":
+ *v = PilotMod_ricochet
+ case "\"ar_trajectory\"":
+ *v = PilotMod_ar_trajectory
+ case "\"redline_sight\"":
+ *v = PilotMod_redline_sight
+ case "\"threat_scope\"":
+ *v = PilotMod_threat_scope
+ case "\"smart_lock\"":
+ *v = PilotMod_smart_lock
+ case "\"pro_screen\"":
+ *v = PilotMod_pro_screen
+ case "\"delayed_shot\"":
+ *v = PilotMod_delayed_shot
+ case "\"pas_run_and_gun\"":
+ *v = PilotMod_pas_run_and_gun
+ case "\"tactical_cdr_on_kill\"":
+ *v = PilotMod_tactical_cdr_on_kill
+ case "\"pas_fast_ads\"":
+ *v = PilotMod_pas_fast_ads
+ case "\"pas_fast_swap\"":
+ *v = PilotMod_pas_fast_swap
+ case "\"pas_fast_reload\"":
+ *v = PilotMod_pas_fast_reload
+ case "\"jump_kit\"":
+ *v = PilotMod_jump_kit
+ case "\"quick_charge\"":
+ *v = PilotMod_quick_charge
+ case "\"rocket_arena\"":
+ *v = PilotMod_rocket_arena
+ default:
+ return json.Unmarshal(b, (*uint8)(v))
+ }
+ return nil
+}
type PilotPassive uint8
@@ -12677,9 +15177,10 @@ const (
var _ fmt.Stringer = PilotPassive(0)
var _ fmt.GoStringer = PilotPassive(0)
-
-//var _ encoding.TextMarshaler = PilotPassive(0)
+var _ encoding.TextMarshaler = PilotPassive(0)
var _ encoding.TextUnmarshaler = (*PilotPassive)(nil)
+var _ json.Marshaler = PilotPassive(0)
+var _ json.Unmarshaler = (*PilotPassive)(nil)
func (v PilotPassive) String() string {
if b, err := v.MarshalText(); err == nil {
@@ -12850,6 +15351,115 @@ func (v *PilotPassive) UnmarshalText(b []byte) error {
}
return nil
}
+func (v PilotPassive) MarshalJSON() ([]byte, error) {
+ switch v {
+ case PilotPassive_NULL:
+ return []byte("\"NULL\""), nil
+ case PilotPassive_pas_stealth_movement:
+ return []byte("\"pas_stealth_movement\""), nil
+ case PilotPassive_pas_ordnance_pack:
+ return []byte("\"pas_ordnance_pack\""), nil
+ case PilotPassive_pas_power_cell:
+ return []byte("\"pas_power_cell\""), nil
+ case PilotPassive_pas_wallhang:
+ return []byte("\"pas_wallhang\""), nil
+ case PilotPassive_pas_fast_health_regen:
+ return []byte("\"pas_fast_health_regen\""), nil
+ case PilotPassive_pas_minimap_ai:
+ return []byte("\"pas_minimap_ai\""), nil
+ case PilotPassive_pas_longer_bubble:
+ return []byte("\"pas_longer_bubble\""), nil
+ case PilotPassive_pas_run_and_gun:
+ return []byte("\"pas_run_and_gun\""), nil
+ case PilotPassive_pas_dead_mans_trigger:
+ return []byte("\"pas_dead_mans_trigger\""), nil
+ case PilotPassive_pas_wall_runner:
+ return []byte("\"pas_wall_runner\""), nil
+ case PilotPassive_pas_fast_hack:
+ return []byte("\"pas_fast_hack\""), nil
+ case PilotPassive_pas_cloaked_wallrun:
+ return []byte("\"pas_cloaked_wallrun\""), nil
+ case PilotPassive_pas_cloaked_wallhang:
+ return []byte("\"pas_cloaked_wallhang\""), nil
+ case PilotPassive_pas_smoke_sight:
+ return []byte("\"pas_smoke_sight\""), nil
+ case PilotPassive_pas_fast_embark:
+ return []byte("\"pas_fast_embark\""), nil
+ case PilotPassive_pas_cdr_on_kill:
+ return []byte("\"pas_cdr_on_kill\""), nil
+ case PilotPassive_pas_at_hunter:
+ return []byte("\"pas_at_hunter\""), nil
+ case PilotPassive_pas_ordnance_beam:
+ return []byte("\"pas_ordnance_beam\""), nil
+ case PilotPassive_pas_fast_rodeo:
+ return []byte("\"pas_fast_rodeo\""), nil
+ case PilotPassive_pas_phase_eject:
+ return []byte("\"pas_phase_eject\""), nil
+ case PilotPassive_pas_ads_hover:
+ return []byte("\"pas_ads_hover\""), nil
+ case PilotPassive_pas_enemy_death_icons:
+ return []byte("\"pas_enemy_death_icons\""), nil
+ case PilotPassive_pas_off_the_grid:
+ return []byte("\"pas_off_the_grid\""), nil
+ default:
+ return []byte(strconv.Itoa(int(v))), nil
+ }
+}
+func (v *PilotPassive) UnmarshalJSON(b []byte) error {
+ switch string(b) {
+ case "\"NULL\"":
+ *v = PilotPassive_NULL
+ case "\"pas_stealth_movement\"":
+ *v = PilotPassive_pas_stealth_movement
+ case "\"pas_ordnance_pack\"":
+ *v = PilotPassive_pas_ordnance_pack
+ case "\"pas_power_cell\"":
+ *v = PilotPassive_pas_power_cell
+ case "\"pas_wallhang\"":
+ *v = PilotPassive_pas_wallhang
+ case "\"pas_fast_health_regen\"":
+ *v = PilotPassive_pas_fast_health_regen
+ case "\"pas_minimap_ai\"":
+ *v = PilotPassive_pas_minimap_ai
+ case "\"pas_longer_bubble\"":
+ *v = PilotPassive_pas_longer_bubble
+ case "\"pas_run_and_gun\"":
+ *v = PilotPassive_pas_run_and_gun
+ case "\"pas_dead_mans_trigger\"":
+ *v = PilotPassive_pas_dead_mans_trigger
+ case "\"pas_wall_runner\"":
+ *v = PilotPassive_pas_wall_runner
+ case "\"pas_fast_hack\"":
+ *v = PilotPassive_pas_fast_hack
+ case "\"pas_cloaked_wallrun\"":
+ *v = PilotPassive_pas_cloaked_wallrun
+ case "\"pas_cloaked_wallhang\"":
+ *v = PilotPassive_pas_cloaked_wallhang
+ case "\"pas_smoke_sight\"":
+ *v = PilotPassive_pas_smoke_sight
+ case "\"pas_fast_embark\"":
+ *v = PilotPassive_pas_fast_embark
+ case "\"pas_cdr_on_kill\"":
+ *v = PilotPassive_pas_cdr_on_kill
+ case "\"pas_at_hunter\"":
+ *v = PilotPassive_pas_at_hunter
+ case "\"pas_ordnance_beam\"":
+ *v = PilotPassive_pas_ordnance_beam
+ case "\"pas_fast_rodeo\"":
+ *v = PilotPassive_pas_fast_rodeo
+ case "\"pas_phase_eject\"":
+ *v = PilotPassive_pas_phase_eject
+ case "\"pas_ads_hover\"":
+ *v = PilotPassive_pas_ads_hover
+ case "\"pas_enemy_death_icons\"":
+ *v = PilotPassive_pas_enemy_death_icons
+ case "\"pas_off_the_grid\"":
+ *v = PilotPassive_pas_off_the_grid
+ default:
+ return json.Unmarshal(b, (*uint8)(v))
+ }
+ return nil
+}
type PilotRace uint8
@@ -12861,9 +15471,10 @@ const (
var _ fmt.Stringer = PilotRace(0)
var _ fmt.GoStringer = PilotRace(0)
-
-//var _ encoding.TextMarshaler = PilotRace(0)
+var _ encoding.TextMarshaler = PilotRace(0)
var _ encoding.TextUnmarshaler = (*PilotRace)(nil)
+var _ json.Marshaler = PilotRace(0)
+var _ json.Unmarshaler = (*PilotRace)(nil)
func (v PilotRace) String() string {
if b, err := v.MarshalText(); err == nil {
@@ -12902,6 +15513,27 @@ func (v *PilotRace) UnmarshalText(b []byte) error {
}
return nil
}
+func (v PilotRace) MarshalJSON() ([]byte, error) {
+ switch v {
+ case PilotRace_race_human_male:
+ return []byte("\"race_human_male\""), nil
+ case PilotRace_race_human_female:
+ return []byte("\"race_human_female\""), nil
+ default:
+ return []byte(strconv.Itoa(int(v))), nil
+ }
+}
+func (v *PilotRace) UnmarshalJSON(b []byte) error {
+ switch string(b) {
+ case "\"race_human_male\"":
+ *v = PilotRace_race_human_male
+ case "\"race_human_female\"":
+ *v = PilotRace_race_human_female
+ default:
+ return json.Unmarshal(b, (*uint8)(v))
+ }
+ return nil
+}
type PilotSuit uint8
@@ -12918,9 +15550,10 @@ const (
var _ fmt.Stringer = PilotSuit(0)
var _ fmt.GoStringer = PilotSuit(0)
-
-//var _ encoding.TextMarshaler = PilotSuit(0)
+var _ encoding.TextMarshaler = PilotSuit(0)
var _ encoding.TextUnmarshaler = (*PilotSuit)(nil)
+var _ json.Marshaler = PilotSuit(0)
+var _ json.Unmarshaler = (*PilotSuit)(nil)
func (v PilotSuit) String() string {
if b, err := v.MarshalText(); err == nil {
@@ -12989,6 +15622,47 @@ func (v *PilotSuit) UnmarshalText(b []byte) error {
}
return nil
}
+func (v PilotSuit) MarshalJSON() ([]byte, error) {
+ switch v {
+ case PilotSuit_medium:
+ return []byte("\"medium\""), nil
+ case PilotSuit_geist:
+ return []byte("\"geist\""), nil
+ case PilotSuit_stalker:
+ return []byte("\"stalker\""), nil
+ case PilotSuit_light:
+ return []byte("\"light\""), nil
+ case PilotSuit_heavy:
+ return []byte("\"heavy\""), nil
+ case PilotSuit_grapple:
+ return []byte("\"grapple\""), nil
+ case PilotSuit_nomad:
+ return []byte("\"nomad\""), nil
+ default:
+ return []byte(strconv.Itoa(int(v))), nil
+ }
+}
+func (v *PilotSuit) UnmarshalJSON(b []byte) error {
+ switch string(b) {
+ case "\"medium\"":
+ *v = PilotSuit_medium
+ case "\"geist\"":
+ *v = PilotSuit_geist
+ case "\"stalker\"":
+ *v = PilotSuit_stalker
+ case "\"light\"":
+ *v = PilotSuit_light
+ case "\"heavy\"":
+ *v = PilotSuit_heavy
+ case "\"grapple\"":
+ *v = PilotSuit_grapple
+ case "\"nomad\"":
+ *v = PilotSuit_nomad
+ default:
+ return json.Unmarshal(b, (*uint8)(v))
+ }
+ return nil
+}
type TitanClasses uint8
@@ -13005,9 +15679,10 @@ const (
var _ fmt.Stringer = TitanClasses(0)
var _ fmt.GoStringer = TitanClasses(0)
-
-//var _ encoding.TextMarshaler = TitanClasses(0)
+var _ encoding.TextMarshaler = TitanClasses(0)
var _ encoding.TextUnmarshaler = (*TitanClasses)(nil)
+var _ json.Marshaler = TitanClasses(0)
+var _ json.Unmarshaler = (*TitanClasses)(nil)
func (v TitanClasses) String() string {
if b, err := v.MarshalText(); err == nil {
@@ -13076,6 +15751,47 @@ func (v *TitanClasses) UnmarshalText(b []byte) error {
}
return nil
}
+func (v TitanClasses) MarshalJSON() ([]byte, error) {
+ switch v {
+ case TitanClasses_ion:
+ return []byte("\"ion\""), nil
+ case TitanClasses_scorch:
+ return []byte("\"scorch\""), nil
+ case TitanClasses_ronin:
+ return []byte("\"ronin\""), nil
+ case TitanClasses_tone:
+ return []byte("\"tone\""), nil
+ case TitanClasses_northstar:
+ return []byte("\"northstar\""), nil
+ case TitanClasses_legion:
+ return []byte("\"legion\""), nil
+ case TitanClasses_vanguard:
+ return []byte("\"vanguard\""), nil
+ default:
+ return []byte(strconv.Itoa(int(v))), nil
+ }
+}
+func (v *TitanClasses) UnmarshalJSON(b []byte) error {
+ switch string(b) {
+ case "\"ion\"":
+ *v = TitanClasses_ion
+ case "\"scorch\"":
+ *v = TitanClasses_scorch
+ case "\"ronin\"":
+ *v = TitanClasses_ronin
+ case "\"tone\"":
+ *v = TitanClasses_tone
+ case "\"northstar\"":
+ *v = TitanClasses_northstar
+ case "\"legion\"":
+ *v = TitanClasses_legion
+ case "\"vanguard\"":
+ *v = TitanClasses_vanguard
+ default:
+ return json.Unmarshal(b, (*uint8)(v))
+ }
+ return nil
+}
type TitanExecution uint8
@@ -13105,9 +15821,10 @@ const (
var _ fmt.Stringer = TitanExecution(0)
var _ fmt.GoStringer = TitanExecution(0)
-
-//var _ encoding.TextMarshaler = TitanExecution(0)
+var _ encoding.TextMarshaler = TitanExecution(0)
var _ encoding.TextUnmarshaler = (*TitanExecution)(nil)
+var _ json.Marshaler = TitanExecution(0)
+var _ json.Unmarshaler = (*TitanExecution)(nil)
func (v TitanExecution) String() string {
if b, err := v.MarshalText(); err == nil {
@@ -13254,6 +15971,99 @@ func (v *TitanExecution) UnmarshalText(b []byte) error {
}
return nil
}
+func (v TitanExecution) MarshalJSON() ([]byte, error) {
+ switch v {
+ case TitanExecution_execution_ion:
+ return []byte("\"execution_ion\""), nil
+ case TitanExecution_execution_ion_prime:
+ return []byte("\"execution_ion_prime\""), nil
+ case TitanExecution_execution_tone:
+ return []byte("\"execution_tone\""), nil
+ case TitanExecution_execution_tone_prime:
+ return []byte("\"execution_tone_prime\""), nil
+ case TitanExecution_execution_ronin:
+ return []byte("\"execution_ronin\""), nil
+ case TitanExecution_execution_ronin_prime:
+ return []byte("\"execution_ronin_prime\""), nil
+ case TitanExecution_execution_northstar:
+ return []byte("\"execution_northstar\""), nil
+ case TitanExecution_execution_northstar_prime:
+ return []byte("\"execution_northstar_prime\""), nil
+ case TitanExecution_execution_legion:
+ return []byte("\"execution_legion\""), nil
+ case TitanExecution_execution_legion_prime:
+ return []byte("\"execution_legion_prime\""), nil
+ case TitanExecution_execution_vanguard:
+ return []byte("\"execution_vanguard\""), nil
+ case TitanExecution_execution_scorch:
+ return []byte("\"execution_scorch\""), nil
+ case TitanExecution_execution_scorch_prime:
+ return []byte("\"execution_scorch_prime\""), nil
+ case TitanExecution_execution_random_0:
+ return []byte("\"execution_random_0\""), nil
+ case TitanExecution_execution_random_1:
+ return []byte("\"execution_random_1\""), nil
+ case TitanExecution_execution_random_2:
+ return []byte("\"execution_random_2\""), nil
+ case TitanExecution_execution_random_3:
+ return []byte("\"execution_random_3\""), nil
+ case TitanExecution_execution_random_4:
+ return []byte("\"execution_random_4\""), nil
+ case TitanExecution_execution_random_5:
+ return []byte("\"execution_random_5\""), nil
+ case TitanExecution_execution_random_6:
+ return []byte("\"execution_random_6\""), nil
+ default:
+ return []byte(strconv.Itoa(int(v))), nil
+ }
+}
+func (v *TitanExecution) UnmarshalJSON(b []byte) error {
+ switch string(b) {
+ case "\"execution_ion\"":
+ *v = TitanExecution_execution_ion
+ case "\"execution_ion_prime\"":
+ *v = TitanExecution_execution_ion_prime
+ case "\"execution_tone\"":
+ *v = TitanExecution_execution_tone
+ case "\"execution_tone_prime\"":
+ *v = TitanExecution_execution_tone_prime
+ case "\"execution_ronin\"":
+ *v = TitanExecution_execution_ronin
+ case "\"execution_ronin_prime\"":
+ *v = TitanExecution_execution_ronin_prime
+ case "\"execution_northstar\"":
+ *v = TitanExecution_execution_northstar
+ case "\"execution_northstar_prime\"":
+ *v = TitanExecution_execution_northstar_prime
+ case "\"execution_legion\"":
+ *v = TitanExecution_execution_legion
+ case "\"execution_legion_prime\"":
+ *v = TitanExecution_execution_legion_prime
+ case "\"execution_vanguard\"":
+ *v = TitanExecution_execution_vanguard
+ case "\"execution_scorch\"":
+ *v = TitanExecution_execution_scorch
+ case "\"execution_scorch_prime\"":
+ *v = TitanExecution_execution_scorch_prime
+ case "\"execution_random_0\"":
+ *v = TitanExecution_execution_random_0
+ case "\"execution_random_1\"":
+ *v = TitanExecution_execution_random_1
+ case "\"execution_random_2\"":
+ *v = TitanExecution_execution_random_2
+ case "\"execution_random_3\"":
+ *v = TitanExecution_execution_random_3
+ case "\"execution_random_4\"":
+ *v = TitanExecution_execution_random_4
+ case "\"execution_random_5\"":
+ *v = TitanExecution_execution_random_5
+ case "\"execution_random_6\"":
+ *v = TitanExecution_execution_random_6
+ default:
+ return json.Unmarshal(b, (*uint8)(v))
+ }
+ return nil
+}
type TitanIsPrimeTitan uint8
@@ -13265,9 +16075,10 @@ const (
var _ fmt.Stringer = TitanIsPrimeTitan(0)
var _ fmt.GoStringer = TitanIsPrimeTitan(0)
-
-//var _ encoding.TextMarshaler = TitanIsPrimeTitan(0)
+var _ encoding.TextMarshaler = TitanIsPrimeTitan(0)
var _ encoding.TextUnmarshaler = (*TitanIsPrimeTitan)(nil)
+var _ json.Marshaler = TitanIsPrimeTitan(0)
+var _ json.Unmarshaler = (*TitanIsPrimeTitan)(nil)
func (v TitanIsPrimeTitan) String() string {
if b, err := v.MarshalText(); err == nil {
@@ -13306,6 +16117,27 @@ func (v *TitanIsPrimeTitan) UnmarshalText(b []byte) error {
}
return nil
}
+func (v TitanIsPrimeTitan) MarshalJSON() ([]byte, error) {
+ switch v {
+ case TitanIsPrimeTitan_titan_is_not_prime:
+ return []byte("\"titan_is_not_prime\""), nil
+ case TitanIsPrimeTitan_titan_is_prime:
+ return []byte("\"titan_is_prime\""), nil
+ default:
+ return []byte(strconv.Itoa(int(v))), nil
+ }
+}
+func (v *TitanIsPrimeTitan) UnmarshalJSON(b []byte) error {
+ switch string(b) {
+ case "\"titan_is_not_prime\"":
+ *v = TitanIsPrimeTitan_titan_is_not_prime
+ case "\"titan_is_prime\"":
+ *v = TitanIsPrimeTitan_titan_is_prime
+ default:
+ return json.Unmarshal(b, (*uint8)(v))
+ }
+ return nil
+}
type TitanMod uint8
@@ -13341,9 +16173,10 @@ const (
var _ fmt.Stringer = TitanMod(0)
var _ fmt.GoStringer = TitanMod(0)
-
-//var _ encoding.TextMarshaler = TitanMod(0)
+var _ encoding.TextMarshaler = TitanMod(0)
var _ encoding.TextUnmarshaler = (*TitanMod)(nil)
+var _ json.Marshaler = TitanMod(0)
+var _ json.Unmarshaler = (*TitanMod)(nil)
func (v TitanMod) String() string {
if b, err := v.MarshalText(); err == nil {
@@ -13526,6 +16359,123 @@ func (v *TitanMod) UnmarshalText(b []byte) error {
}
return nil
}
+func (v TitanMod) MarshalJSON() ([]byte, error) {
+ switch v {
+ case TitanMod_NULL:
+ return []byte("\"NULL\""), nil
+ case TitanMod_accelerator:
+ return []byte("\"accelerator\""), nil
+ case TitanMod_afterburners:
+ return []byte("\"afterburners\""), nil
+ case TitanMod_arc_triple_threat:
+ return []byte("\"arc_triple_threat\""), nil
+ case TitanMod_burn_mod_titan_40mm:
+ return []byte("\"burn_mod_titan_40mm\""), nil
+ case TitanMod_burn_mod_titan_arc_cannon:
+ return []byte("\"burn_mod_titan_arc_cannon\""), nil
+ case TitanMod_burn_mod_titan_sniper:
+ return []byte("\"burn_mod_titan_sniper\""), nil
+ case TitanMod_burn_mod_titan_triple_threat:
+ return []byte("\"burn_mod_titan_triple_threat\""), nil
+ case TitanMod_burn_mod_titan_xo16:
+ return []byte("\"burn_mod_titan_xo16\""), nil
+ case TitanMod_burn_mod_titan_dumbfire_rockets:
+ return []byte("\"burn_mod_titan_dumbfire_rockets\""), nil
+ case TitanMod_burn_mod_titan_homing_rockets:
+ return []byte("\"burn_mod_titan_homing_rockets\""), nil
+ case TitanMod_burn_mod_titan_salvo_rockets:
+ return []byte("\"burn_mod_titan_salvo_rockets\""), nil
+ case TitanMod_burn_mod_titan_shoulder_rockets:
+ return []byte("\"burn_mod_titan_shoulder_rockets\""), nil
+ case TitanMod_burn_mod_titan_vortex_shield:
+ return []byte("\"burn_mod_titan_vortex_shield\""), nil
+ case TitanMod_burn_mod_titan_smoke:
+ return []byte("\"burn_mod_titan_smoke\""), nil
+ case TitanMod_burn_mod_titan_particle_wall:
+ return []byte("\"burn_mod_titan_particle_wall\""), nil
+ case TitanMod_burst:
+ return []byte("\"burst\""), nil
+ case TitanMod_capacitor:
+ return []byte("\"capacitor\""), nil
+ case TitanMod_extended_ammo:
+ return []byte("\"extended_ammo\""), nil
+ case TitanMod_fast_lock:
+ return []byte("\"fast_lock\""), nil
+ case TitanMod_fast_reload:
+ return []byte("\"fast_reload\""), nil
+ case TitanMod_instant_shot:
+ return []byte("\"instant_shot\""), nil
+ case TitanMod_overcharge:
+ return []byte("\"overcharge\""), nil
+ case TitanMod_quick_shot:
+ return []byte("\"quick_shot\""), nil
+ case TitanMod_rapid_fire_missiles:
+ return []byte("\"rapid_fire_missiles\""), nil
+ case TitanMod_stryder_sniper:
+ return []byte("\"stryder_sniper\""), nil
+ default:
+ return []byte(strconv.Itoa(int(v))), nil
+ }
+}
+func (v *TitanMod) UnmarshalJSON(b []byte) error {
+ switch string(b) {
+ case "\"NULL\"":
+ *v = TitanMod_NULL
+ case "\"accelerator\"":
+ *v = TitanMod_accelerator
+ case "\"afterburners\"":
+ *v = TitanMod_afterburners
+ case "\"arc_triple_threat\"":
+ *v = TitanMod_arc_triple_threat
+ case "\"burn_mod_titan_40mm\"":
+ *v = TitanMod_burn_mod_titan_40mm
+ case "\"burn_mod_titan_arc_cannon\"":
+ *v = TitanMod_burn_mod_titan_arc_cannon
+ case "\"burn_mod_titan_sniper\"":
+ *v = TitanMod_burn_mod_titan_sniper
+ case "\"burn_mod_titan_triple_threat\"":
+ *v = TitanMod_burn_mod_titan_triple_threat
+ case "\"burn_mod_titan_xo16\"":
+ *v = TitanMod_burn_mod_titan_xo16
+ case "\"burn_mod_titan_dumbfire_rockets\"":
+ *v = TitanMod_burn_mod_titan_dumbfire_rockets
+ case "\"burn_mod_titan_homing_rockets\"":
+ *v = TitanMod_burn_mod_titan_homing_rockets
+ case "\"burn_mod_titan_salvo_rockets\"":
+ *v = TitanMod_burn_mod_titan_salvo_rockets
+ case "\"burn_mod_titan_shoulder_rockets\"":
+ *v = TitanMod_burn_mod_titan_shoulder_rockets
+ case "\"burn_mod_titan_vortex_shield\"":
+ *v = TitanMod_burn_mod_titan_vortex_shield
+ case "\"burn_mod_titan_smoke\"":
+ *v = TitanMod_burn_mod_titan_smoke
+ case "\"burn_mod_titan_particle_wall\"":
+ *v = TitanMod_burn_mod_titan_particle_wall
+ case "\"burst\"":
+ *v = TitanMod_burst
+ case "\"capacitor\"":
+ *v = TitanMod_capacitor
+ case "\"extended_ammo\"":
+ *v = TitanMod_extended_ammo
+ case "\"fast_lock\"":
+ *v = TitanMod_fast_lock
+ case "\"fast_reload\"":
+ *v = TitanMod_fast_reload
+ case "\"instant_shot\"":
+ *v = TitanMod_instant_shot
+ case "\"overcharge\"":
+ *v = TitanMod_overcharge
+ case "\"quick_shot\"":
+ *v = TitanMod_quick_shot
+ case "\"rapid_fire_missiles\"":
+ *v = TitanMod_rapid_fire_missiles
+ case "\"stryder_sniper\"":
+ *v = TitanMod_stryder_sniper
+ default:
+ return json.Unmarshal(b, (*uint8)(v))
+ }
+ return nil
+}
type TitanPassive uint8
@@ -13597,9 +16547,10 @@ const (
var _ fmt.Stringer = TitanPassive(0)
var _ fmt.GoStringer = TitanPassive(0)
-
-//var _ encoding.TextMarshaler = TitanPassive(0)
+var _ encoding.TextMarshaler = TitanPassive(0)
var _ encoding.TextUnmarshaler = (*TitanPassive)(nil)
+var _ json.Marshaler = TitanPassive(0)
+var _ json.Unmarshaler = (*TitanPassive)(nil)
func (v TitanPassive) String() string {
if b, err := v.MarshalText(); err == nil {
@@ -13998,6 +16949,267 @@ func (v *TitanPassive) UnmarshalText(b []byte) error {
}
return nil
}
+func (v TitanPassive) MarshalJSON() ([]byte, error) {
+ switch v {
+ case TitanPassive_NULL:
+ return []byte("\"NULL\""), nil
+ case TitanPassive_pas_enhanced_titan_ai:
+ return []byte("\"pas_enhanced_titan_ai\""), nil
+ case TitanPassive_pas_auto_eject:
+ return []byte("\"pas_auto_eject\""), nil
+ case TitanPassive_pas_dash_recharge:
+ return []byte("\"pas_dash_recharge\""), nil
+ case TitanPassive_pas_defensive_core:
+ return []byte("\"pas_defensive_core\""), nil
+ case TitanPassive_pas_shield_regen:
+ return []byte("\"pas_shield_regen\""), nil
+ case TitanPassive_pas_assault_reactor:
+ return []byte("\"pas_assault_reactor\""), nil
+ case TitanPassive_pas_hyper_core:
+ return []byte("\"pas_hyper_core\""), nil
+ case TitanPassive_pas_anti_rodeo:
+ return []byte("\"pas_anti_rodeo\""), nil
+ case TitanPassive_pas_build_up_nuclear_core:
+ return []byte("\"pas_build_up_nuclear_core\""), nil
+ case TitanPassive_pas_offensive_autoload:
+ return []byte("\"pas_offensive_autoload\""), nil
+ case TitanPassive_pas_offensive_hitnrun:
+ return []byte("\"pas_offensive_hitnrun\""), nil
+ case TitanPassive_pas_offensive_regen:
+ return []byte("\"pas_offensive_regen\""), nil
+ case TitanPassive_pas_defensive_tacload:
+ return []byte("\"pas_defensive_tacload\""), nil
+ case TitanPassive_pas_defensive_quickdash:
+ return []byte("\"pas_defensive_quickdash\""), nil
+ case TitanPassive_pas_defensive_domeshield:
+ return []byte("\"pas_defensive_domeshield\""), nil
+ case TitanPassive_pas_mobility_dash_capacity:
+ return []byte("\"pas_mobility_dash_capacity\""), nil
+ case TitanPassive_pas_warpfall:
+ return []byte("\"pas_warpfall\""), nil
+ case TitanPassive_pas_bubbleshield:
+ return []byte("\"pas_bubbleshield\""), nil
+ case TitanPassive_pas_ronin_weapon:
+ return []byte("\"pas_ronin_weapon\""), nil
+ case TitanPassive_pas_northstar_weapon:
+ return []byte("\"pas_northstar_weapon\""), nil
+ case TitanPassive_pas_ion_weapon:
+ return []byte("\"pas_ion_weapon\""), nil
+ case TitanPassive_pas_tone_weapon:
+ return []byte("\"pas_tone_weapon\""), nil
+ case TitanPassive_pas_scorch_weapon:
+ return []byte("\"pas_scorch_weapon\""), nil
+ case TitanPassive_pas_legion_weapon:
+ return []byte("\"pas_legion_weapon\""), nil
+ case TitanPassive_pas_ion_tripwire:
+ return []byte("\"pas_ion_tripwire\""), nil
+ case TitanPassive_pas_ion_vortex:
+ return []byte("\"pas_ion_vortex\""), nil
+ case TitanPassive_pas_ion_lasercannon:
+ return []byte("\"pas_ion_lasercannon\""), nil
+ case TitanPassive_pas_tone_rockets:
+ return []byte("\"pas_tone_rockets\""), nil
+ case TitanPassive_pas_tone_sonar:
+ return []byte("\"pas_tone_sonar\""), nil
+ case TitanPassive_pas_tone_wall:
+ return []byte("\"pas_tone_wall\""), nil
+ case TitanPassive_pas_ronin_arcwave:
+ return []byte("\"pas_ronin_arcwave\""), nil
+ case TitanPassive_pas_ronin_phase:
+ return []byte("\"pas_ronin_phase\""), nil
+ case TitanPassive_pas_ronin_swordcore:
+ return []byte("\"pas_ronin_swordcore\""), nil
+ case TitanPassive_pas_northstar_cluster:
+ return []byte("\"pas_northstar_cluster\""), nil
+ case TitanPassive_pas_northstar_trap:
+ return []byte("\"pas_northstar_trap\""), nil
+ case TitanPassive_pas_northstar_flightcore:
+ return []byte("\"pas_northstar_flightcore\""), nil
+ case TitanPassive_pas_scorch_firewall:
+ return []byte("\"pas_scorch_firewall\""), nil
+ case TitanPassive_pas_scorch_shield:
+ return []byte("\"pas_scorch_shield\""), nil
+ case TitanPassive_pas_scorch_selfdmg:
+ return []byte("\"pas_scorch_selfdmg\""), nil
+ case TitanPassive_pas_legion_spinup:
+ return []byte("\"pas_legion_spinup\""), nil
+ case TitanPassive_pas_legion_gunshield:
+ return []byte("\"pas_legion_gunshield\""), nil
+ case TitanPassive_pas_legion_smartcore:
+ return []byte("\"pas_legion_smartcore\""), nil
+ case TitanPassive_pas_ion_weapon_ads:
+ return []byte("\"pas_ion_weapon_ads\""), nil
+ case TitanPassive_pas_tone_burst:
+ return []byte("\"pas_tone_burst\""), nil
+ case TitanPassive_pas_legion_chargeshot:
+ return []byte("\"pas_legion_chargeshot\""), nil
+ case TitanPassive_pas_ronin_autoshift:
+ return []byte("\"pas_ronin_autoshift\""), nil
+ case TitanPassive_pas_northstar_optics:
+ return []byte("\"pas_northstar_optics\""), nil
+ case TitanPassive_pas_scorch_flamecore:
+ return []byte("\"pas_scorch_flamecore\""), nil
+ case TitanPassive_pas_vanguard_coremeter:
+ return []byte("\"pas_vanguard_coremeter\""), nil
+ case TitanPassive_pas_vanguard_shield:
+ return []byte("\"pas_vanguard_shield\""), nil
+ case TitanPassive_pas_vanguard_rearm:
+ return []byte("\"pas_vanguard_rearm\""), nil
+ case TitanPassive_pas_vanguard_doom:
+ return []byte("\"pas_vanguard_doom\""), nil
+ case TitanPassive_pas_vanguard_core1:
+ return []byte("\"pas_vanguard_core1\""), nil
+ case TitanPassive_pas_vanguard_core2:
+ return []byte("\"pas_vanguard_core2\""), nil
+ case TitanPassive_pas_vanguard_core3:
+ return []byte("\"pas_vanguard_core3\""), nil
+ case TitanPassive_pas_vanguard_core4:
+ return []byte("\"pas_vanguard_core4\""), nil
+ case TitanPassive_pas_vanguard_core5:
+ return []byte("\"pas_vanguard_core5\""), nil
+ case TitanPassive_pas_vanguard_core6:
+ return []byte("\"pas_vanguard_core6\""), nil
+ case TitanPassive_pas_vanguard_core7:
+ return []byte("\"pas_vanguard_core7\""), nil
+ case TitanPassive_pas_vanguard_core8:
+ return []byte("\"pas_vanguard_core8\""), nil
+ case TitanPassive_pas_vanguard_core9:
+ return []byte("\"pas_vanguard_core9\""), nil
+ default:
+ return []byte(strconv.Itoa(int(v))), nil
+ }
+}
+func (v *TitanPassive) UnmarshalJSON(b []byte) error {
+ switch string(b) {
+ case "\"NULL\"":
+ *v = TitanPassive_NULL
+ case "\"pas_enhanced_titan_ai\"":
+ *v = TitanPassive_pas_enhanced_titan_ai
+ case "\"pas_auto_eject\"":
+ *v = TitanPassive_pas_auto_eject
+ case "\"pas_dash_recharge\"":
+ *v = TitanPassive_pas_dash_recharge
+ case "\"pas_defensive_core\"":
+ *v = TitanPassive_pas_defensive_core
+ case "\"pas_shield_regen\"":
+ *v = TitanPassive_pas_shield_regen
+ case "\"pas_assault_reactor\"":
+ *v = TitanPassive_pas_assault_reactor
+ case "\"pas_hyper_core\"":
+ *v = TitanPassive_pas_hyper_core
+ case "\"pas_anti_rodeo\"":
+ *v = TitanPassive_pas_anti_rodeo
+ case "\"pas_build_up_nuclear_core\"":
+ *v = TitanPassive_pas_build_up_nuclear_core
+ case "\"pas_offensive_autoload\"":
+ *v = TitanPassive_pas_offensive_autoload
+ case "\"pas_offensive_hitnrun\"":
+ *v = TitanPassive_pas_offensive_hitnrun
+ case "\"pas_offensive_regen\"":
+ *v = TitanPassive_pas_offensive_regen
+ case "\"pas_defensive_tacload\"":
+ *v = TitanPassive_pas_defensive_tacload
+ case "\"pas_defensive_quickdash\"":
+ *v = TitanPassive_pas_defensive_quickdash
+ case "\"pas_defensive_domeshield\"":
+ *v = TitanPassive_pas_defensive_domeshield
+ case "\"pas_mobility_dash_capacity\"":
+ *v = TitanPassive_pas_mobility_dash_capacity
+ case "\"pas_warpfall\"":
+ *v = TitanPassive_pas_warpfall
+ case "\"pas_bubbleshield\"":
+ *v = TitanPassive_pas_bubbleshield
+ case "\"pas_ronin_weapon\"":
+ *v = TitanPassive_pas_ronin_weapon
+ case "\"pas_northstar_weapon\"":
+ *v = TitanPassive_pas_northstar_weapon
+ case "\"pas_ion_weapon\"":
+ *v = TitanPassive_pas_ion_weapon
+ case "\"pas_tone_weapon\"":
+ *v = TitanPassive_pas_tone_weapon
+ case "\"pas_scorch_weapon\"":
+ *v = TitanPassive_pas_scorch_weapon
+ case "\"pas_legion_weapon\"":
+ *v = TitanPassive_pas_legion_weapon
+ case "\"pas_ion_tripwire\"":
+ *v = TitanPassive_pas_ion_tripwire
+ case "\"pas_ion_vortex\"":
+ *v = TitanPassive_pas_ion_vortex
+ case "\"pas_ion_lasercannon\"":
+ *v = TitanPassive_pas_ion_lasercannon
+ case "\"pas_tone_rockets\"":
+ *v = TitanPassive_pas_tone_rockets
+ case "\"pas_tone_sonar\"":
+ *v = TitanPassive_pas_tone_sonar
+ case "\"pas_tone_wall\"":
+ *v = TitanPassive_pas_tone_wall
+ case "\"pas_ronin_arcwave\"":
+ *v = TitanPassive_pas_ronin_arcwave
+ case "\"pas_ronin_phase\"":
+ *v = TitanPassive_pas_ronin_phase
+ case "\"pas_ronin_swordcore\"":
+ *v = TitanPassive_pas_ronin_swordcore
+ case "\"pas_northstar_cluster\"":
+ *v = TitanPassive_pas_northstar_cluster
+ case "\"pas_northstar_trap\"":
+ *v = TitanPassive_pas_northstar_trap
+ case "\"pas_northstar_flightcore\"":
+ *v = TitanPassive_pas_northstar_flightcore
+ case "\"pas_scorch_firewall\"":
+ *v = TitanPassive_pas_scorch_firewall
+ case "\"pas_scorch_shield\"":
+ *v = TitanPassive_pas_scorch_shield
+ case "\"pas_scorch_selfdmg\"":
+ *v = TitanPassive_pas_scorch_selfdmg
+ case "\"pas_legion_spinup\"":
+ *v = TitanPassive_pas_legion_spinup
+ case "\"pas_legion_gunshield\"":
+ *v = TitanPassive_pas_legion_gunshield
+ case "\"pas_legion_smartcore\"":
+ *v = TitanPassive_pas_legion_smartcore
+ case "\"pas_ion_weapon_ads\"":
+ *v = TitanPassive_pas_ion_weapon_ads
+ case "\"pas_tone_burst\"":
+ *v = TitanPassive_pas_tone_burst
+ case "\"pas_legion_chargeshot\"":
+ *v = TitanPassive_pas_legion_chargeshot
+ case "\"pas_ronin_autoshift\"":
+ *v = TitanPassive_pas_ronin_autoshift
+ case "\"pas_northstar_optics\"":
+ *v = TitanPassive_pas_northstar_optics
+ case "\"pas_scorch_flamecore\"":
+ *v = TitanPassive_pas_scorch_flamecore
+ case "\"pas_vanguard_coremeter\"":
+ *v = TitanPassive_pas_vanguard_coremeter
+ case "\"pas_vanguard_shield\"":
+ *v = TitanPassive_pas_vanguard_shield
+ case "\"pas_vanguard_rearm\"":
+ *v = TitanPassive_pas_vanguard_rearm
+ case "\"pas_vanguard_doom\"":
+ *v = TitanPassive_pas_vanguard_doom
+ case "\"pas_vanguard_core1\"":
+ *v = TitanPassive_pas_vanguard_core1
+ case "\"pas_vanguard_core2\"":
+ *v = TitanPassive_pas_vanguard_core2
+ case "\"pas_vanguard_core3\"":
+ *v = TitanPassive_pas_vanguard_core3
+ case "\"pas_vanguard_core4\"":
+ *v = TitanPassive_pas_vanguard_core4
+ case "\"pas_vanguard_core5\"":
+ *v = TitanPassive_pas_vanguard_core5
+ case "\"pas_vanguard_core6\"":
+ *v = TitanPassive_pas_vanguard_core6
+ case "\"pas_vanguard_core7\"":
+ *v = TitanPassive_pas_vanguard_core7
+ case "\"pas_vanguard_core8\"":
+ *v = TitanPassive_pas_vanguard_core8
+ case "\"pas_vanguard_core9\"":
+ *v = TitanPassive_pas_vanguard_core9
+ default:
+ return json.Unmarshal(b, (*uint8)(v))
+ }
+ return nil
+}
type UnlockRefs uint8
@@ -14028,9 +17240,10 @@ const (
var _ fmt.Stringer = UnlockRefs(0)
var _ fmt.GoStringer = UnlockRefs(0)
-
-//var _ encoding.TextMarshaler = UnlockRefs(0)
+var _ encoding.TextMarshaler = UnlockRefs(0)
var _ encoding.TextUnmarshaler = (*UnlockRefs)(nil)
+var _ json.Marshaler = UnlockRefs(0)
+var _ json.Unmarshaler = (*UnlockRefs)(nil)
func (v UnlockRefs) String() string {
if b, err := v.MarshalText(); err == nil {
@@ -14183,3 +17396,201 @@ func (v *UnlockRefs) UnmarshalText(b []byte) error {
}
return nil
}
+func (v UnlockRefs) MarshalJSON() ([]byte, error) {
+ switch v {
+ case UnlockRefs_edit_pilots:
+ return []byte("\"edit_pilots\""), nil
+ case UnlockRefs_edit_titans:
+ return []byte("\"edit_titans\""), nil
+ case UnlockRefs_pilot_custom_loadout_1:
+ return []byte("\"pilot_custom_loadout_1\""), nil
+ case UnlockRefs_pilot_custom_loadout_2:
+ return []byte("\"pilot_custom_loadout_2\""), nil
+ case UnlockRefs_pilot_custom_loadout_3:
+ return []byte("\"pilot_custom_loadout_3\""), nil
+ case UnlockRefs_pilot_custom_loadout_4:
+ return []byte("\"pilot_custom_loadout_4\""), nil
+ case UnlockRefs_pilot_custom_loadout_5:
+ return []byte("\"pilot_custom_loadout_5\""), nil
+ case UnlockRefs_titan_custom_loadout_1:
+ return []byte("\"titan_custom_loadout_1\""), nil
+ case UnlockRefs_titan_custom_loadout_2:
+ return []byte("\"titan_custom_loadout_2\""), nil
+ case UnlockRefs_titan_custom_loadout_3:
+ return []byte("\"titan_custom_loadout_3\""), nil
+ case UnlockRefs_titan_custom_loadout_4:
+ return []byte("\"titan_custom_loadout_4\""), nil
+ case UnlockRefs_titan_custom_loadout_5:
+ return []byte("\"titan_custom_loadout_5\""), nil
+ case UnlockRefs_burn_card_slot_1:
+ return []byte("\"burn_card_slot_1\""), nil
+ case UnlockRefs_burn_card_slot_2:
+ return []byte("\"burn_card_slot_2\""), nil
+ case UnlockRefs_burn_card_slot_3:
+ return []byte("\"burn_card_slot_3\""), nil
+ case UnlockRefs_burn_card_pack_1:
+ return []byte("\"burn_card_pack_1\""), nil
+ case UnlockRefs_burn_card_pack_2:
+ return []byte("\"burn_card_pack_2\""), nil
+ case UnlockRefs_burn_card_pack_3:
+ return []byte("\"burn_card_pack_3\""), nil
+ case UnlockRefs_burn_card_pack_4:
+ return []byte("\"burn_card_pack_4\""), nil
+ case UnlockRefs_burn_card_pack_5:
+ return []byte("\"burn_card_pack_5\""), nil
+ case UnlockRefs_challenges:
+ return []byte("\"challenges\""), nil
+ default:
+ return []byte(strconv.Itoa(int(v))), nil
+ }
+}
+func (v *UnlockRefs) UnmarshalJSON(b []byte) error {
+ switch string(b) {
+ case "\"edit_pilots\"":
+ *v = UnlockRefs_edit_pilots
+ case "\"edit_titans\"":
+ *v = UnlockRefs_edit_titans
+ case "\"pilot_custom_loadout_1\"":
+ *v = UnlockRefs_pilot_custom_loadout_1
+ case "\"pilot_custom_loadout_2\"":
+ *v = UnlockRefs_pilot_custom_loadout_2
+ case "\"pilot_custom_loadout_3\"":
+ *v = UnlockRefs_pilot_custom_loadout_3
+ case "\"pilot_custom_loadout_4\"":
+ *v = UnlockRefs_pilot_custom_loadout_4
+ case "\"pilot_custom_loadout_5\"":
+ *v = UnlockRefs_pilot_custom_loadout_5
+ case "\"titan_custom_loadout_1\"":
+ *v = UnlockRefs_titan_custom_loadout_1
+ case "\"titan_custom_loadout_2\"":
+ *v = UnlockRefs_titan_custom_loadout_2
+ case "\"titan_custom_loadout_3\"":
+ *v = UnlockRefs_titan_custom_loadout_3
+ case "\"titan_custom_loadout_4\"":
+ *v = UnlockRefs_titan_custom_loadout_4
+ case "\"titan_custom_loadout_5\"":
+ *v = UnlockRefs_titan_custom_loadout_5
+ case "\"burn_card_slot_1\"":
+ *v = UnlockRefs_burn_card_slot_1
+ case "\"burn_card_slot_2\"":
+ *v = UnlockRefs_burn_card_slot_2
+ case "\"burn_card_slot_3\"":
+ *v = UnlockRefs_burn_card_slot_3
+ case "\"burn_card_pack_1\"":
+ *v = UnlockRefs_burn_card_pack_1
+ case "\"burn_card_pack_2\"":
+ *v = UnlockRefs_burn_card_pack_2
+ case "\"burn_card_pack_3\"":
+ *v = UnlockRefs_burn_card_pack_3
+ case "\"burn_card_pack_4\"":
+ *v = UnlockRefs_burn_card_pack_4
+ case "\"burn_card_pack_5\"":
+ *v = UnlockRefs_burn_card_pack_5
+ case "\"challenges\"":
+ *v = UnlockRefs_challenges
+ default:
+ return json.Unmarshal(b, (*uint8)(v))
+ }
+ return nil
+}
+
+func pdataMarshalJSONStruct(obj any, filter func(path ...string) bool, path ...string) ([]byte, error) {
+ objVal := reflect.ValueOf(obj)
+ objTyp := objVal.Type()
+
+ if objTyp.Kind() != reflect.Struct {
+ panic("not a struct")
+ }
+
+ var b bytes.Buffer
+ b.WriteByte('{')
+ needComma := false
+ for i := 0; i < objTyp.NumField(); i++ {
+ fldTyp := objTyp.Field(i)
+ fldVal := objVal.Field(i)
+ fld := fldVal.Interface()
+
+ fldTag := fldTyp.Tag.Get("pdef")
+ fldTagName, fldTagAttr, _ := strings.Cut(fldTag, ",")
+ if fldTagName == "" {
+ continue
+ }
+ if fldTagAttr != "" {
+ panic(fmt.Errorf("unknown pdef field tag attrs %q", fldTagAttr))
+ }
+
+ fldPath := append(path, fldTagName)
+ if filter != nil && !filter(fldPath...) {
+ continue
+ }
+
+ if needComma {
+ b.WriteByte(',')
+ needComma = false
+ }
+
+ b.WriteString("\"" + fldTagName + "\":")
+ needComma = true
+
+ switch fldTyp.Type.Kind() {
+ case reflect.Struct:
+ buf, err := pdataMarshalJSONStruct(fld, filter, fldPath...)
+ if err != nil {
+ return nil, err
+ }
+ b.Write(buf)
+ case reflect.Array:
+ b.WriteByte('[')
+ for j := 0; j < fldTyp.Type.Len(); j++ {
+ fldValElemVal := fldVal.Index(j)
+ fldValElemTyp := fldValElemVal.Type()
+ fldValElem := fldValElemVal.Interface()
+
+ if j != 0 {
+ b.WriteByte(',')
+ }
+ if fldValElemTyp.Kind() == reflect.Struct {
+ buf, err := pdataMarshalJSONStruct(fldValElem, filter, fldPath...)
+ if err != nil {
+ return nil, err
+ }
+ b.Write(buf)
+ } else {
+ buf, err := pdataMarshalJSONPrimitive(fldValElem)
+ if err != nil {
+ return nil, err
+ }
+ b.Write(buf)
+ }
+ }
+ b.WriteByte(']')
+ default:
+ buf, err := pdataMarshalJSONPrimitive(fld)
+ if err != nil {
+ return nil, err
+ }
+ b.Write(buf)
+ }
+ }
+ b.WriteByte('}')
+ return b.Bytes(), nil
+}
+
+func pdataMarshalJSONPrimitive(v any) ([]byte, error) {
+ switch v := v.(type) {
+ case float32:
+ if math.IsNaN(float64(v)) || math.IsInf(float64(v), 0) {
+ return []byte("null"), nil // match the JS behaviour
+ }
+ return json.Marshal(v)
+ case int32, bool, string:
+ return json.Marshal(v)
+ case json.Marshaler:
+ if reflect.TypeOf(v).ConvertibleTo(reflect.TypeOf(uint8(0))) {
+ return v.MarshalJSON() // enum
+ }
+ panic(fmt.Errorf("unhandled type %T", v))
+ default:
+ panic(fmt.Errorf("unhandled type %T", v))
+ }
+}
diff --git a/pkg/pdata/persistent_player_data_version_231_test.go b/pkg/pdata/persistent_player_data_version_231_test.go
index e0793f5..558f926 100644
--- a/pkg/pdata/persistent_player_data_version_231_test.go
+++ b/pkg/pdata/persistent_player_data_version_231_test.go
@@ -2,6 +2,7 @@ package pdata
import (
"bytes"
+ "encoding/json"
"os"
"testing"
)
@@ -38,6 +39,12 @@ func TestPdataRoundtrip(t *testing.T) {
if !bytes.Equal(rbuf, ebuf) {
t.Errorf("internal round-trip failed: re-marshaled unmarshaled data encoded by marshal does not match")
}
+
+ if buf, err := d2.MarshalJSON(); err != nil {
+ t.Errorf("failed to marshal as JSON: %v", err)
+ } else if err = json.Unmarshal(buf, new(map[string]interface{})); err != nil {
+ t.Errorf("bad json marshal result: %v", err)
+ }
})
}
}
diff --git a/pkg/pdef/pdefgen/pdefgen.go b/pkg/pdef/pdefgen/pdefgen.go
index e9ab76f..fce1ea6 100644
--- a/pkg/pdef/pdefgen/pdefgen.go
+++ b/pkg/pdef/pdefgen/pdefgen.go
@@ -71,11 +71,14 @@ func main() {
pln(&buf, `_ "embed"`)
pln(&buf, `"encoding"`)
pln(&buf, `"encoding/binary"`)
+ pln(&buf, `"encoding/json"`)
pln(&buf, `"errors"`)
pln(&buf, `"fmt"`)
pln(&buf, `"io"`)
pln(&buf, `"math"`)
+ pln(&buf, `"reflect"`)
pln(&buf, `"strconv"`)
+ pln(&buf, `"strings"`)
pln(&buf, `)`)
pln(&buf, ``)
@@ -168,6 +171,111 @@ func main() {
generateEnum(&buf, k, v)
})
+ // this is needed since the default Go marshaler can't filter and doesn't
+ // handle NaN/Inf floats.
+ pln(&buf, "%s", `
+ func pdataMarshalJSONStruct(obj any, filter func(path ...string) bool, path ...string) ([]byte, error) {
+ objVal := reflect.ValueOf(obj)
+ objTyp := objVal.Type()
+
+ if objTyp.Kind() != reflect.Struct {
+ panic("not a struct")
+ }
+
+ var b bytes.Buffer
+ b.WriteByte('{')
+ needComma := false
+ for i := 0; i < objTyp.NumField(); i++ {
+ fldTyp := objTyp.Field(i)
+ fldVal := objVal.Field(i)
+ fld := fldVal.Interface()
+
+ fldTag := fldTyp.Tag.Get("pdef")
+ fldTagName, fldTagAttr, _ := strings.Cut(fldTag, ",")
+ if fldTagName == "" {
+ continue
+ }
+ if fldTagAttr != "" {
+ panic(fmt.Errorf("unknown pdef field tag attrs %q", fldTagAttr))
+ }
+
+ fldPath := append(path, fldTagName)
+ if filter != nil && !filter(fldPath...) {
+ continue
+ }
+
+ if needComma {
+ b.WriteByte(',')
+ needComma = false
+ }
+
+ b.WriteString("\"" + fldTagName + "\":")
+ needComma = true
+
+ switch fldTyp.Type.Kind() {
+ case reflect.Struct:
+ buf, err := pdataMarshalJSONStruct(fld, filter, fldPath...)
+ if err != nil {
+ return nil, err
+ }
+ b.Write(buf)
+ case reflect.Array:
+ b.WriteByte('[')
+ for j := 0; j < fldTyp.Type.Len(); j++ {
+ fldValElemVal := fldVal.Index(j)
+ fldValElemTyp := fldValElemVal.Type()
+ fldValElem := fldValElemVal.Interface()
+
+ if j != 0 {
+ b.WriteByte(',')
+ }
+ if fldValElemTyp.Kind() == reflect.Struct {
+ buf, err := pdataMarshalJSONStruct(fldValElem, filter, fldPath...)
+ if err != nil {
+ return nil, err
+ }
+ b.Write(buf)
+ } else {
+ buf, err := pdataMarshalJSONPrimitive(fldValElem)
+ if err != nil {
+ return nil, err
+ }
+ b.Write(buf)
+ }
+ }
+ b.WriteByte(']')
+ default:
+ buf, err := pdataMarshalJSONPrimitive(fld)
+ if err != nil {
+ return nil, err
+ }
+ b.Write(buf)
+ }
+ }
+ b.WriteByte('}')
+ return b.Bytes(), nil
+ }
+
+ func pdataMarshalJSONPrimitive(v any) ([]byte, error) {
+ switch v := v.(type) {
+ case float32:
+ if math.IsNaN(float64(v)) || math.IsInf(float64(v), 0) {
+ return []byte("null"), nil // match the JS behaviour
+ }
+ return json.Marshal(v)
+ case int32, bool, string:
+ return json.Marshal(v)
+ case json.Marshaler:
+ if reflect.TypeOf(v).ConvertibleTo(reflect.TypeOf(uint8(0))) {
+ return v.MarshalJSON() // enum
+ }
+ panic(fmt.Errorf("unhandled type %T", v))
+ default:
+ panic(fmt.Errorf("unhandled type %T", v))
+ }
+ }
+ `)
+
if err := writeGo(strings.TrimSuffix(filepath.Base(f.Name()), filepath.Ext(f.Name()))+".go", buf.Bytes()); err != nil {
fmt.Fprintf(os.Stderr, "error: write generated source: %v\n", err)
os.Exit(1)
@@ -185,6 +293,7 @@ func main() {
import (
"bytes"
+ "encoding/json"
"os"
"testing"
)
@@ -221,6 +330,12 @@ func main() {
if !bytes.Equal(rbuf, ebuf) {
t.Errorf("internal round-trip failed: re-marshaled unmarshaled data encoded by marshal does not match")
}
+
+ if buf, err := d2.MarshalJSON(); err != nil {
+ t.Errorf("failed to marshal as JSON: %%v", err)
+ } else if err = json.Unmarshal(buf, new(map[string]interface{})); err != nil {
+ t.Errorf("bad json marshal result: %%v", err)
+ }
})
}
}
@@ -243,15 +358,17 @@ func generateStruct(buf *bytes.Buffer, name string, pd *pdef.Pdef, fields []pdef
{
pln(buf, `type %s struct {`, mangle(name, true))
for _, v := range fields {
- pln(buf, `%s %s`+" `json:%q`", mangle(v.Name, true), pdefGoType(v.Type), v.Name)
+ pln(buf, `%s %s`+" `pdef:%q`", mangle(v.Name, true), pdefGoType(v.Type), v.Name)
}
if root {
- pln(buf, `%s %s`+" `json:%q`", mangle("extraData", true), "[]byte", "extraData,omitempty")
+ pln(buf, `%s %s`, mangle("extraData", true), "[]byte")
}
pln(buf, `}`)
pln(buf, `var _ encoding.BinaryUnmarshaler = (*%s)(nil)`, mangle(name, true))
pln(buf, `var _ encoding.BinaryMarshaler = %s{}`, mangle(name, true))
+ pln(buf, `var _ json.Unmarshaler = (*%s)(nil)`, mangle(name, true))
+ pln(buf, `var _ json.Marshaler = %s{}`, mangle(name, true))
}
{
pln(buf, `func (v *%s) UnmarshalBinary(b []byte) error {`, mangle(name, true))
@@ -433,6 +550,27 @@ func generateStruct(buf *bytes.Buffer, name string, pd *pdef.Pdef, fields []pdef
pln(buf, `return b, nil`)
pln(buf, `}`)
}
+ {
+ pln(buf, `func (v *%s) UnmarshalJSON(b []byte) error {`, mangle(name, true))
+ // TODO: implement this if we actually have a use for it
+ pln(buf, `return fmt.Errorf("not implemented")`)
+ pln(buf, `}`)
+ }
+ {
+ pln(buf, `func (v %s) MarshalJSON() ([]byte, error) {`, mangle(name, true))
+ pln(buf, `return v.MarshalJSONFilter(nil)`)
+ pln(buf, `}`)
+ }
+ {
+ pln(buf, `func (v %s) MarshalJSONFilter(filter func(path ...string) bool) ([]byte, error) {`, mangle(name, true))
+ if root {
+ pln(buf, `if x := v.%s; x != Version {`, mangle(fields[0].Name, true))
+ pln(buf, `return nil, fmt.Errorf(%#v, %#v, Version, ErrUnsupportedVersion, x)`, `encode %q (v%d): %w: got %d`, name)
+ pln(buf, `}`)
+ }
+ pln(buf, `return pdataMarshalJSONStruct(v, filter)`)
+ pln(buf, `}`)
+ }
}
func generateEnum(buf *bytes.Buffer, name string, values []string) {
@@ -447,8 +585,10 @@ func generateEnum(buf *bytes.Buffer, name string, values []string) {
pln(buf, `var _ fmt.Stringer = %s(0)`, mangle(name, true))
pln(buf, `var _ fmt.GoStringer = %s(0)`, mangle(name, true))
- pln(buf, `//var _ encoding.TextMarshaler = %s(0)`, mangle(name, true))
+ pln(buf, `var _ encoding.TextMarshaler = %s(0)`, mangle(name, true))
pln(buf, `var _ encoding.TextUnmarshaler = (*%s)(nil)`, mangle(name, true))
+ pln(buf, `var _ json.Marshaler = %s(0)`, mangle(name, true))
+ pln(buf, `var _ json.Unmarshaler = (*%s)(nil)`, mangle(name, true))
}
{
pln(buf, `func (v %s) String() string {`, mangle(name, true))
@@ -495,6 +635,31 @@ func generateEnum(buf *bytes.Buffer, name string, values []string) {
pln(buf, `return nil`)
pln(buf, `}`)
}
+ {
+ pln(buf, `func (v %s) MarshalJSON() ([]byte, error) {`, mangle(name, true))
+ pln(buf, `switch v {`)
+ for _, v := range values {
+ pln(buf, `case %s:`, mangleEnumValue(name, v))
+ pln(buf, `return []byte(%#v), nil`, `"`+v+`"`)
+ }
+ pln(buf, `default:`)
+ pln(buf, `return []byte(strconv.Itoa(int(v))), nil`)
+ pln(buf, `}`)
+ pln(buf, `}`)
+ }
+ {
+ pln(buf, `func (v *%s) UnmarshalJSON(b []byte) error {`, mangle(name, true))
+ pln(buf, `switch string(b) {`)
+ for _, v := range values {
+ pln(buf, `case %#v:`, `"`+v+`"`)
+ pln(buf, `*v = %s`, mangleEnumValue(name, v))
+ }
+ pln(buf, `default:`)
+ pln(buf, `return json.Unmarshal(b, (*uint8)(v))`)
+ pln(buf, `}`)
+ pln(buf, `return nil`)
+ pln(buf, `}`)
+ }
}
func pdefGoType(t pdef.TypeInfo) string {