internal void UpdateXpOnEndGame() { var place = _Game.place; var firstPlace = place == 1; float x = 5; var difFactor = (normal ? 2 : hard ? 3 : 1); if (_Game.listOfPlayers.Count > 3) { x += (place == 1 ? 15 : place == 2 ? 10 : place == 3 ? 5 : 2) * difFactor; } else { x += 10; } x += Mathf.Min(50, _Player.coins); if (!online) { if (hard && firstPlace && _Game.listOfPlayers.Count > 1 && _Loader.PlayersCount > 1) { HardCore.Add(); } if (_Loader.difficulty >= Difficulty.Normal && firstPlace && _Game.listOfPlayers.Count > 1 && _Loader.PlayersCount > 1) { if (_Game.rewindsUsed == 0) { NoFlashbacks.Add(); x *= 1.5f; } if (_Loader.bombCar) { NoCollisions.Add(); x += 5 * difFactor; } if (_Game.isCustomLevel) { CustomLevel.Add(); } } } if (_Game.topDownTime > _Game.timeElapsedLevel / 2) { x += 30; _Awards.topDown.Add(); } xp.Add((int)x); //ShowWindow(WonAwardsWindow); }