public override int GetHashCode() { unchecked { var hashCode = DestroyedEnemyVehicles?.GetHashCode() ?? 0; hashCode = (hashCode * 397) ^ (EnemyKills?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ FastestMatchWin.GetHashCode(); hashCode = (hashCode * 397) ^ (Impulses?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ (MedalAwards?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ TotalAssassinations; hashCode = (hashCode * 397) ^ TotalAssists; hashCode = (hashCode * 397) ^ TotalDeaths; hashCode = (hashCode * 397) ^ TotalGamesCompleted; hashCode = (hashCode * 397) ^ TotalGamesLost; hashCode = (hashCode * 397) ^ TotalGamesTied; hashCode = (hashCode * 397) ^ TotalGamesWon; hashCode = (hashCode * 397) ^ TotalGrenadeDamage.GetHashCode(); hashCode = (hashCode * 397) ^ TotalGrenadeKills; hashCode = (hashCode * 397) ^ TotalGroundPoundDamage.GetHashCode(); hashCode = (hashCode * 397) ^ TotalGroundPoundKills; hashCode = (hashCode * 397) ^ TotalHeadshots; hashCode = (hashCode * 397) ^ TotalKills; hashCode = (hashCode * 397) ^ TotalMeleeDamage.GetHashCode(); hashCode = (hashCode * 397) ^ TotalMeleeKills; hashCode = (hashCode * 397) ^ TotalPowerWeaponDamage.GetHashCode(); hashCode = (hashCode * 397) ^ TotalPowerWeaponGrabs; hashCode = (hashCode * 397) ^ TotalPowerWeaponKills; hashCode = (hashCode * 397) ^ TotalPowerWeaponPossessionTime.GetHashCode(); hashCode = (hashCode * 397) ^ TotalShotsFired; hashCode = (hashCode * 397) ^ TotalShotsLanded; hashCode = (hashCode * 397) ^ TotalShoulderBashDamage.GetHashCode(); hashCode = (hashCode * 397) ^ TotalShoulderBashKills; hashCode = (hashCode * 397) ^ TotalSpartanKills; hashCode = (hashCode * 397) ^ TotalTimePlayed.GetHashCode(); hashCode = (hashCode * 397) ^ TotalWeaponDamage.GetHashCode(); hashCode = (hashCode * 397) ^ (WeaponStats?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ (WeaponWithMostKills?.GetHashCode() ?? 0); return(hashCode); } }