From 5d6bbaba9066af741f995bbd6f77456ff99fe433 Mon Sep 17 00:00:00 2001 From: Lurkars Date: Sat, 26 Oct 2024 08:48:48 +0200 Subject: [PATCH] trials for player on retirement, try macos again --- .github/workflows/release.yml | 2 +- package.json | 22 ++++++++++++++++++- .../game/businesslogic/CharacterManager.ts | 1 + src/app/game/businesslogic/TrialsManager.ts | 14 ++++++++---- .../character/sheet/character-sheet.html | 2 +- 5 files changed, 34 insertions(+), 7 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c460d8f68..bc35db662 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -70,7 +70,7 @@ jobs: strategy: matrix: node-version: [20.x] - os: [windows-latest, ubuntu-latest] + os: [macos-latest, windows-latest, ubuntu-latest] steps: - uses: actions/checkout@v4 - name: Cache node modules diff --git a/package.json b/package.json index ef4e7ba3f..eb43811b9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "gloomhavensecretariat", - "version": "0.102.2", + "version": "0.102.3", "license": "AGPL3", "description": "Gloomhaven Secretariat is a Gloomhaven/Frosthaven Companion app.", "homepage": "https://gloomhaven-secretariat.de", @@ -51,6 +51,26 @@ "github" ] }, + "mac": { + "type": "distribution", + "target": [ + { + "target": "dmg", + "arch": [ + "universal" + ] + }, + { + "target": "pkg", + "arch": [ + "universal" + ] + } + ], + "publish": [ + "github" + ] + }, "win": { "target": "nsis", "icon": "build/icon.ico", diff --git a/src/app/game/businesslogic/CharacterManager.ts b/src/app/game/businesslogic/CharacterManager.ts index f0daeb950..0162dcee6 100644 --- a/src/app/game/businesslogic/CharacterManager.ts +++ b/src/app/game/businesslogic/CharacterManager.ts @@ -149,6 +149,7 @@ export class CharacterManager { if (this.game.levelCalculation) { gameManager.levelManager.calculateScenarioLevel(); } + gameManager.trialsManager.applyTrialCards(); } removeCharacter(character: Character, retirement: boolean = false) { diff --git a/src/app/game/businesslogic/TrialsManager.ts b/src/app/game/businesslogic/TrialsManager.ts index 9993e3dbb..11b3cbfa6 100644 --- a/src/app/game/businesslogic/TrialsManager.ts +++ b/src/app/game/businesslogic/TrialsManager.ts @@ -44,10 +44,16 @@ export class TrialsManager { this.game.party.trials = this.game.party.trials || -1; if (editionData) { this.game.figures.forEach((figure) => { - if (figure instanceof Character && !figure.progress.trial && this.game.party.trials < editionData.trials.length - 1) { - this.game.party.trials++; - const trialCard = editionData.trials[this.game.party.trials]; - figure.progress.trial = new Identifier('' + trialCard.cardId, trialCard.edition); + if (figure instanceof Character && !figure.progress.trial) { + let retiredCharacter = this.game.party.retirements.find((model) => model.number == figure.number && model.progress && model.progress.trial) + if (retiredCharacter && retiredCharacter.progress && retiredCharacter.progress.trial) { + figure.progress.trial = retiredCharacter.progress.trial; + retiredCharacter.progress.trial = undefined; + } else if (this.game.party.trials < editionData.trials.length - 1) { + this.game.party.trials++; + const trialCard = editionData.trials[this.game.party.trials]; + figure.progress.trial = new Identifier('' + trialCard.cardId, trialCard.edition); + } } }) } diff --git a/src/app/ui/figures/character/sheet/character-sheet.html b/src/app/ui/figures/character/sheet/character-sheet.html index 87336c085..72f9f1b1f 100644 --- a/src/app/ui/figures/character/sheet/character-sheet.html +++ b/src/app/ui/figures/character/sheet/character-sheet.html @@ -272,7 +272,7 @@
-