diff --git a/package-lock.json b/package-lock.json index 02491002f..1d954dcf4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "gloomhavensecretariat", - "version": "0.100.4", + "version": "0.100.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "gloomhavensecretariat", - "version": "0.100.4", + "version": "0.100.5", "license": "AGPL3", "dependencies": { "@angular/animations": "^18.2.6", diff --git a/package.json b/package.json index 36313fdfc..6895723d1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "gloomhavensecretariat", - "version": "0.100.4", + "version": "0.100.5", "license": "AGPL3", "description": "Gloomhaven Secretariat is a Gloomhaven/Frosthaven Companion app.", "homepage": "https://gloomhaven-secretariat.de", diff --git a/src/app/ui/figures/loot/loot-deck.ts b/src/app/ui/figures/loot/loot-deck.ts index babe410ed..c68ba4f3f 100644 --- a/src/app/ui/figures/loot/loot-deck.ts +++ b/src/app/ui/figures/loot/loot-deck.ts @@ -224,8 +224,8 @@ export class LootDeckComponent implements OnInit, OnDestroy, OnChanges { }, !settingsManager.settings.animations ? 0 : (this.vertical ? 1050 : 1850)); } - draw(event: any) { - if (this.compact && this.fullscreen) { + draw(event: any, forceDraw: boolean = false) { + if (this.compact && this.fullscreen && !forceDraw) { this.openFullscreen(event); } else if (!this.disabled && this.deck.cards.length > 0) { if (!this.drawTimeout && this.deck.current < (this.deck.cards.length - (this.queue == 0 ? 0 : 1))) { diff --git a/src/app/ui/footer/footer.html b/src/app/ui/footer/footer.html index 81ed17f76..9fe97539d 100644 --- a/src/app/ui/footer/footer.html +++ b/src/app/ui/footer/footer.html @@ -22,7 +22,7 @@
- @@ -34,7 +34,7 @@
- @@ -46,8 +46,8 @@
- +
figure instanceof Monster && (figure.isAlly || figure.isAllied) || figure instanceof ObjectiveContainer && figure.objectiveId && gameManager.objectiveManager.objectiveDataByObjectiveIdentifier(figure.objectiveId)?.allyDeck) || gameManager.game.scenario && gameManager.game.scenario.allyDeck) || false; - this.lootDeck = settingsManager.settings.lootDeck && Object.keys(gameManager.game.lootDeck.cards).length > 0; + this.lootDeckEnabeld = settingsManager.settings.lootDeck && Object.keys(gameManager.game.lootDeck.cards).length > 0; gameManager.uiChange.subscribe({ next: () => { this.hasAllyAttackModifierDeck = settingsManager.settings.allyAttackModifierDeck && (settingsManager.settings.alwaysAllyAttackModifierDeck || gameManager.fhRules() && gameManager.game.figures.some((figure) => figure instanceof Monster && (figure.isAlly || figure.isAllied) || figure instanceof ObjectiveContainer && figure.objectiveId && gameManager.objectiveManager.objectiveDataByObjectiveIdentifier(figure.objectiveId)?.allyDeck) || gameManager.game.scenario && gameManager.game.scenario.allyDeck) || false; - this.lootDeck = settingsManager.settings.lootDeck && Object.keys(gameManager.game.lootDeck.cards).length > 0; + this.lootDeckEnabeld = settingsManager.settings.lootDeck && Object.keys(gameManager.game.lootDeck.cards).length > 0; } }) diff --git a/src/app/ui/helper/keyboard-shortcuts.ts b/src/app/ui/helper/keyboard-shortcuts.ts index 4d1ea4f91..3ff41c997 100644 --- a/src/app/ui/helper/keyboard-shortcuts.ts +++ b/src/app/ui/helper/keyboard-shortcuts.ts @@ -148,17 +148,11 @@ export class KeyboardShortcuts implements OnInit, OnDestroy { gameManager.stateManager.after(); } event.preventDefault(); - } else if ((!this.dialogOpen || this.allowed.indexOf('loot') != -1) && gameManager.game.state == GameState.next && !event.ctrlKey && !event.shiftKey && !this.zoomInterval && event.key.toLowerCase() === 'l' && settingsManager.settings.lootDeck && gameManager.game.lootDeck.cards.length > 0) { - gameManager.stateManager.before('lootDeckDraw'); - gameManager.game.lootDeck.active = true; - const activeCharacter = gameManager.game.figures.find((figure) => figure instanceof Character && figure.active); - if (!settingsManager.settings.alwaysLootApplyDialog && activeCharacter instanceof Character) { - gameManager.lootManager.drawCard(gameManager.game.lootDeck, activeCharacter); - } else { - gameManager.lootManager.drawCard(gameManager.game.lootDeck, undefined); + } else if ((!this.dialogOpen || this.allowed.indexOf('loot') != -1) && gameManager.game.state == GameState.next && !event.ctrlKey && !event.shiftKey && !this.zoomInterval && event.key.toLowerCase() === 'l' && settingsManager.settings.lootDeck && gameManager.game.lootDeck.cards.length > 0 && this.footer && this.footer.lootDeck) { + if (!this.footer.lootDeck.deck.active) { + this.footer.toggleLootDeck(); } - gameManager.stateManager.after(); - + this.footer.lootDeck.draw(event, true); event.preventDefault(); } else if (!this.dialogOpen && !event.ctrlKey && event.key === 'Tab' && gameManager.game.figures.length > 0) { if (gameManager.game.state == GameState.next) {