diff --git a/src/core/configuration/Config.ts b/src/core/configuration/Config.ts index 1442dd814..270606f85 100644 --- a/src/core/configuration/Config.ts +++ b/src/core/configuration/Config.ts @@ -121,7 +121,8 @@ export interface Config { defensePostRange(): number; SAMCooldown(): number; SiloCooldown(): number; - defensePostDefenseBonus(): number; + defensePostSpeedMultiplier(): number; + defensePostLossMultiplier(): number; falloutDefenseModifier(percentOfFallout: number): number; difficultyModifier(difficulty: Difficulty): number; warshipPatrolRange(): number; diff --git a/src/core/configuration/DefaultConfig.ts b/src/core/configuration/DefaultConfig.ts index 11ccc56bc..4cde80b24 100644 --- a/src/core/configuration/DefaultConfig.ts +++ b/src/core/configuration/DefaultConfig.ts @@ -220,9 +220,13 @@ export class DefaultConfig implements Config { defensePostRange(): number { return 40; } - defensePostDefenseBonus(): number { - return 5; + defensePostLossMultiplier(): number { + return 6; } + defensePostSpeedMultiplier(): number { + return 4; + } + playerTeams(): number | typeof Duos { return this._gameConfig.playerTeams ?? 0; } @@ -467,8 +471,8 @@ export class DefaultConfig implements Config { UnitType.DefensePost, )) { if (dp.unit.owner() == defender) { - mag *= this.defensePostDefenseBonus(); - speed *= this.defensePostDefenseBonus(); + mag *= this.defensePostLossMultiplier(); + speed *= this.defensePostSpeedMultiplier(); break; } } @@ -508,7 +512,7 @@ export class DefaultConfig implements Config { const attackratio = defenderTroops / attackTroops; return { attackerTroopLoss: - mag * 20 + + mag * 16 + defenderdensity * mag * (defender.isTraitor() ? this.traitorDefenseDebuff() : 1), @@ -522,7 +526,7 @@ export class DefaultConfig implements Config { }; } else { return { - attackerTroopLoss: attackerType == PlayerType.Bot ? mag * 20 : mag * 20, + attackerTroopLoss: attackerType == PlayerType.Bot ? mag * 16 : mag * 16, defenderTroopLoss: 0, tilesPerTickUsed: 31 * speed, // * (10_000 / attackTroops) ** 0.5, };