fix: equalize power-up spawn odds, use Math.Max in domain, null-guard Definition

This commit is contained in:
2026-05-14 01:39:39 +02:00
parent eedbbb2b47
commit 65af5ad2eb
2 changed files with 6 additions and 7 deletions

View File

@@ -2,7 +2,6 @@ using System;
using System.Collections.Generic;
using System.Linq;
using Core.Ports;
using UnityEngine;
using Random = System.Random;
namespace Core.Domain
@@ -75,7 +74,7 @@ namespace Core.Domain
{
_npcTimer = 0f;
OnSpawnNpc?.Invoke();
NpcSpawnTime = Mathf.Max(5f, NpcSpawnTime * 0.95f);
NpcSpawnTime = Math.Max(5f, NpcSpawnTime * 0.95f);
}
_powerUpTimer += deltaTime;
@@ -182,13 +181,13 @@ namespace Core.Domain
var tile = validTiles[_rng.Next(validTiles.Count)];
var rand = _rng.Next(0, 4);
var type = PowerUpType.LightFooted;
var rand = _rng.Next(0, 3);
PowerUpType type;
switch (rand)
{
case 0: type = PowerUpType.LightFooted; break;
case 1: type = PowerUpType.SpeedBoost; break;
case 3: type = PowerUpType.TimeSlow; break;
default: type = PowerUpType.TimeSlow; break;
}
OnSpawnPowerUp?.Invoke(type, tile.Id);

View File

@@ -65,8 +65,8 @@ namespace Infrastructure.Unity
// Set Theme based on High Score
ThemeManager.CurrentTheme = ThemeManager.GetTheme(_gameSession.HighScore);
var floorsCount = levelGenerator ? levelGenerator.Definition.FloorCount : 1;
var floorsCount = levelGenerator?.Definition != null ? levelGenerator.Definition.FloorCount : 1;
if (levelGenerator)
{