From 80cfccc8115875d2e321ad4227264b33edf0d1bb Mon Sep 17 00:00:00 2001 From: evanpelle Date: Tue, 10 Jun 2025 14:43:37 -0700 Subject: [PATCH] bugfix: ColorAllocator not copying fallbackColors causing it to be empty, causing npes --- src/core/configuration/Colors.ts | 2 +- src/core/configuration/DefaultConfig.ts | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/core/configuration/Colors.ts b/src/core/configuration/Colors.ts index 747862cff..d09db865e 100644 --- a/src/core/configuration/Colors.ts +++ b/src/core/configuration/Colors.ts @@ -349,7 +349,7 @@ export class ColorAllocator { return this.assigned.get(id)!; } if (this.availableColors.length === 0) { - this.availableColors = this.fallbackColors; + this.availableColors = [...this.fallbackColors]; } const index = 0; const color = this.availableColors.splice(index, 1)[0]; diff --git a/src/core/configuration/DefaultConfig.ts b/src/core/configuration/DefaultConfig.ts index 811551225..1c41c85bc 100644 --- a/src/core/configuration/DefaultConfig.ts +++ b/src/core/configuration/DefaultConfig.ts @@ -579,9 +579,19 @@ export class DefaultConfig implements Config { const densityRatio = defenderDensity / attackerDensity; const attackDefenseRatio = defender.troops() / attackTroops; + + if (attacker.type() === PlayerType.Human) { + console.log("densityRatio", densityRatio); + console.log("attackDefenseRatio", attackDefenseRatio); + console.log( + "modifier", + Math.sqrt(densityRatio * attackDefenseRatio) / 2, + ); + } + const modifier = within( - Math.sqrt(densityRatio * attackDefenseRatio), - 0.6, + Math.sqrt(densityRatio * attackDefenseRatio) / 2, + 0.5, 2, );