From 6cb99ea921bcb95b494f247d487057bdefa861a9 Mon Sep 17 00:00:00 2001 From: Evan Date: Wed, 9 Apr 2025 22:05:55 -0700 Subject: [PATCH] update attack logic meta --- src/core/configuration/DefaultConfig.ts | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/core/configuration/DefaultConfig.ts b/src/core/configuration/DefaultConfig.ts index a8d7b835f..75291af8b 100644 --- a/src/core/configuration/DefaultConfig.ts +++ b/src/core/configuration/DefaultConfig.ts @@ -473,18 +473,25 @@ export class DefaultConfig implements Config { } if (defender.isPlayer()) { + const ratio = within( + Math.pow(defender.troops() / attackTroops, 0.2), + 0.1, + 10, + ); + const speedRatio = within( + defender.troops() / (5 * attackTroops), + 0.1, + 10, + ); + return { attackerTroopLoss: - within(defender.troops() / attackTroops, 0.6, 2) * + ratio * mag * - 0.8 * largeLossModifier * (defender.isTraitor() ? this.traitorDefenseDebuff() : 1), - defenderTroopLoss: defender.troops() / defender.numTilesOwned(), - tilesPerTickUsed: - within(defender.troops() / (5 * attackTroops), 0.2, 1.5) * - speed * - largeSpeedMalus, + defenderTroopLoss: defender.population() / defender.numTilesOwned(), + tilesPerTickUsed: Math.floor(speedRatio * speed * largeSpeedMalus), }; } else { return {