added defensive posture options with experimental effect on defense

This commit is contained in:
1brucben
2025-04-18 18:18:38 +02:00
parent 97fa91769a
commit 76a1f1487c
9 changed files with 171 additions and 10 deletions
+2
View File
@@ -333,6 +333,8 @@ export interface Player {
workers(): number;
troops(): number;
targetTroopRatio(): number;
defensivePosture(): "retreat" | "balanced" | "hold";
setDefensivePosture(p: "retreat" | "balanced" | "hold"): void;
addGold(toAdd: Gold): void;
removeGold(toRemove: Gold): void;
addWorkers(toAdd: number): void;
+8
View File
@@ -67,6 +67,8 @@ export class PlayerImpl implements Player {
// 0 to 100
private _targetTroopRatio: bigint;
private _defensivePosture: "retreat" | "balanced" | "hold" = "balanced";
isTraitor_ = false;
private embargoes: Set<PlayerID> = new Set();
@@ -645,6 +647,12 @@ export class PlayerImpl implements Player {
}
this._targetTroopRatio = toInt(target * 100);
}
public defensivePosture(): "retreat" | "balanced" | "hold" {
return this._defensivePosture;
}
public setDefensivePosture(p: "retreat" | "balanced" | "hold") {
this._defensivePosture = p;
}
troops(): number {
return Number(this._troops);