fix: equalize power-up spawn odds, use Math.Max in domain, null-guard Definition
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -66,7 +66,7 @@ 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)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user