Fix dead players sending alliance requests (#1508)

## Description:

Prevent unholly alliances with the undead.

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I have read and accepted the CLA aggreement (only required once).

## Please put your Discord username so you can be contacted if a bug or
regression is found:

IngloriousTom
This commit is contained in:
DevelopingTom
2025-07-20 10:13:36 +02:00
committed by GitHub
parent b7cfdb7376
commit 585cf8fdb8
3 changed files with 11 additions and 1 deletions
+1 -1
View File
@@ -398,7 +398,7 @@ export class PlayerImpl implements Player {
if (other === this) {
return false;
}
if (this.isFriendly(other)) {
if (this.isFriendly(other) || !this.isAlive()) {
return false;
}
+1
View File
@@ -32,6 +32,7 @@ describe("AllianceExtensionExecution", () => {
});
test("Successfully extends existing alliance", () => {
jest.spyOn(player1, "canSendAllianceRequest").mockReturnValue(true);
game.addExecution(new AllianceRequestExecution(player1, player2.id()));
game.executeNextTick();
game.executeNextTick();
+9
View File
@@ -98,4 +98,13 @@ describe("PlayerImpl", () => {
expect(ports.length).toBe(3);
});
test("Can't send alliance requests when dead", () => {
// conquer other
const otherTiles = other.tiles();
for (const tile of otherTiles) {
player.conquer(tile);
}
expect(other.canSendAllianceRequest(player)).toBe(false);
});
});