add localAttackLossMultiplier

This commit is contained in:
Aotumuri
2026-01-11 09:18:22 +09:00
parent f0bfefc831
commit 67c4d5ec6b
3 changed files with 19 additions and 2 deletions
+13
View File
@@ -17,6 +17,7 @@ import { assertNever } from "../Util";
import { FlatBinaryHeap } from "./utils/FlatBinaryHeap"; // adjust path if needed
const malusForRetreat = 25;
const localAttackLossMultiplier = 1.5;
export class AttackExecution implements Execution {
private active: boolean = true;
private toConquer = new FlatBinaryHeap();
@@ -289,6 +290,7 @@ export class AttackExecution implements Execution {
.attackLogic(
this.mg,
troopCount,
this.attackLossMultiplier(),
this._owner,
this.target,
tileToConquer,
@@ -328,6 +330,17 @@ export class AttackExecution implements Execution {
return null;
}
private attackLossMultiplier(): number {
if (
this.sourceTile === null ||
!this.target.isPlayer() ||
!this.removeTroops
) {
return 1;
}
return localAttackLossMultiplier;
}
private addNeighbors(tile: TileRef) {
if (this.attack === null) {
throw new Error("Attack not initialized");