Skip to content

Commit

Permalink
address #242, #420, #508, add envelope building unlocks, items and bu…
Browse files Browse the repository at this point in the history
…ildings relationship, improve buildings, add and improve label, add FH summon color, keyboard shortcuts for hand size and traits
  • Loading branch information
Lurkars committed Feb 22, 2024
1 parent a7548e8 commit 3fe3161
Show file tree
Hide file tree
Showing 78 changed files with 883 additions and 444 deletions.
46 changes: 23 additions & 23 deletions data/fh/personal-quests.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"autotrack": "differentHerbs"
}
],
"openEnvelope": "%game.fhIcon:envelope% 24<br>(alt: %game.fhIcon:envelope% 42)"
"openEnvelope": "24:42"
},
{
"cardId": "582",
Expand All @@ -29,7 +29,7 @@
]
}
],
"openEnvelope": "%game.fhIcon:envelope% 24<br>(alt: %game.fhIcon:envelope% 42)"
"openEnvelope": "24:42"
},
{
"cardId": "583",
Expand Down Expand Up @@ -61,7 +61,7 @@
"autotrack": "itemType:small"
}
],
"openEnvelope": "%game.fhIcon:envelope% 37<br>(alt: %game.fhIcon:envelope% 74)"
"openEnvelope": "37:74"
},
{
"cardId": "584",
Expand All @@ -73,7 +73,7 @@
"autotrack": "gold"
}
],
"openEnvelope": "%game.fhIcon:envelope% 37<br>(alt: %game.fhIcon:envelope% 74)"
"openEnvelope": "37:74"
},
{
"cardId": "585",
Expand All @@ -85,7 +85,7 @@
"autotrack": "buildings"
}
],
"openEnvelope": "%game.fhIcon:envelope% 85<br>(alt: %game.fhIcon:envelope% 21)"
"openEnvelope": "85:21"
},
{
"cardId": "586",
Expand All @@ -96,7 +96,7 @@
"counter": 8
}
],
"openEnvelope": "%game.fhIcon:envelope% 85<br>(alt: %game.fhIcon:envelope% 21)"
"openEnvelope": "85:21"
},
{
"cardId": "587",
Expand All @@ -108,7 +108,7 @@
"autotrack": "scenario:65|66"
}
],
"openEnvelope": "%game.fhIcon:envelope% 44<br>(alt: %game.fhIcon:envelope% 88)"
"openEnvelope": "44:88"
},
{
"cardId": "588",
Expand All @@ -127,7 +127,7 @@
"counter": 2
}
],
"openEnvelope": "%game.fhIcon:envelope% 44<br>(alt: %game.fhIcon:envelope% 88)"
"openEnvelope": "44:88"
},
{
"cardId": "589",
Expand All @@ -139,7 +139,7 @@
"autotrack": "abilityXP"
}
],
"openEnvelope": "%game.fhIcon:envelope% 90<br>(alt: %game.fhIcon:envelope% 83)"
"openEnvelope": "90:83"
},
{
"cardId": "590",
Expand All @@ -151,7 +151,7 @@
"autotrack": "scenarioRequirements:board|climbing-gear|sled"
}
],
"openEnvelope": "%game.fhIcon:envelope% 90<br>(alt: %game.fhIcon:envelope% 83)"
"openEnvelope": "90:83"
},
{
"cardId": "505",
Expand All @@ -163,7 +163,7 @@
"autotrack": "craftableItems"
}
],
"openEnvelope": "%game.fhIcon:envelope% 39<br>(alt: %game.fhIcon:envelope% 72)"
"openEnvelope": "39:72"
},
{
"cardId": "509",
Expand All @@ -175,7 +175,7 @@
"autotrack": "scenario:71|72"
}
],
"openEnvelope": "%game.fhIcon:envelope% 90<br>(alt: %game.fhIcon:envelope% 42)"
"openEnvelope": "90:42"
},
{
"cardId": "514",
Expand All @@ -186,7 +186,7 @@
"counter": 15
}
],
"openEnvelope": "%game.fhIcon:envelope% 44<br>(alt: %game.fhIcon:envelope% 74)"
"openEnvelope": "44:74"
},
{
"cardId": "519",
Expand All @@ -213,7 +213,7 @@
"counter": 1
}
],
"openEnvelope": "%game.fhIcon:envelope% 37<br>(alt: %game.fhIcon:envelope% 72)"
"openEnvelope": "37:72"
},
{
"cardId": "523",
Expand All @@ -225,7 +225,7 @@
"autotrack": "donatedGold"
}
],
"openEnvelope": "%game.fhIcon:envelope% 65<br>(alt: %game.fhIcon:envelope% 85)"
"openEnvelope": "65:85"
},
{
"cardId": "527",
Expand All @@ -236,7 +236,7 @@
"counter": 5
}
],
"openEnvelope": "%game.fhIcon:envelope% 85<br>(alt: %game.fhIcon:envelope% 88)"
"openEnvelope": "85:88"
},
{
"cardId": "538",
Expand All @@ -248,7 +248,7 @@
"autotrack": "battleGoals"
}
],
"openEnvelope": "%game.fhIcon:envelope% 81<br>(alt: %game.fhIcon:envelope% 67)"
"openEnvelope": "81:67"
},
{
"cardId": "542",
Expand All @@ -260,7 +260,7 @@
"autotrack": "scenario:65|66"
}
],
"openEnvelope": "%game.fhIcon:envelope% 44<br>(alt: %game.fhIcon:envelope% 67)"
"openEnvelope": "44:67"
},
{
"cardId": "545",
Expand All @@ -279,7 +279,7 @@
]
}
],
"openEnvelope": "%game.fhIcon:envelope% 81<br>(alt: %game.fhIcon:envelope% 67)"
"openEnvelope": "81:67"
},
{
"cardId": "549",
Expand All @@ -290,7 +290,7 @@
"counter": 15
}
],
"openEnvelope": "%game.fhIcon:envelope% 24<br>(alt: %game.fhIcon:envelope% 21)"
"openEnvelope": "24:21"
},
{
"cardId": "552",
Expand All @@ -301,7 +301,7 @@
"counter": 8
}
],
"openEnvelope": "%game.fhIcon:envelope% 39<br>(alt: %game.fhIcon:envelope% 72)"
"openEnvelope": "39:72"
},
{
"cardId": "557",
Expand All @@ -312,7 +312,7 @@
"counter": 12
}
],
"openEnvelope": "%game.fhIcon:envelope% 37<br>(alt: %game.fhIcon:envelope% 83)"
"openEnvelope": "37:83"
},
{
"cardId": "543",
Expand All @@ -325,6 +325,6 @@
"autotrack": "exchaustedChars"
}
],
"openEnvelope": "%game.fhIcon:envelope% A"
"openEnvelope": "A"
}
]
2 changes: 1 addition & 1 deletion data/toa/character/three-eyes.json
Original file line number Diff line number Diff line change
Expand Up @@ -290,7 +290,7 @@
{
"type": "custom",
"count": 1,
"custom": "Each time you short rest, Refresh %game.card.recover% one spent %game.items.slots.onehand% item into each scenario"
"custom": "Each time you short rest, Refresh %game.card.recover% one spent %game.items.slots.onehand%"
},
{
"type": "remove",
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "gloomhavensecretariat",
"version": "0.89.3",
"version": "0.89.4",
"license": "AGPL3",
"description": "Gloomhaven Secretariat is a Gloomhaven/Frosthaven Companion app.",
"homepage": "https://gloomhaven-secretariat.de",
Expand Down
8 changes: 5 additions & 3 deletions resources/keyboard-shortcuts.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
The following keyboard shortcuts are currently implemented:

- <kbd>CTRL</kbd> + <kbd>z</kbd>: Undo
- <kbd>CTRL</kbd> + <kbd>y</kbd> | <kbd>CTRL</kbd> + <kbd>SHIFT</kbd> + <kbd>z</kbd>: Redo
- <kbd>CTRL</kbd> + <kbd>y</kbd> | <kbd>CTRL</kbd> + <kbd>SHIFT</kbd> + <kbd>Z</kbd>: Redo
- <kbd>ESC</kbd>: open main menu
- <kbd>↑</kbd> | <kbd>+</kbd>: Zoom-In
- <kbd>↓</kbd> | <kbd>-</kbd>: Zoom-Out
Expand All @@ -19,15 +19,17 @@ The following keyboard shortcuts are currently implemented:
- <kbd>e</kbd>: scenario effects menu
- <kbd>f</kbd>: (finish) scenario menu
- <kbd>p</kbd>: open party sheet
- <kbd>SHIFT</kbd> + <kbd>H</kbd>: toggle *Display hand size and level*
- <kbd>t</kbd>: toggle *Display traits*

On any open figure/standee menu, those shortcuts are disabled, currently shortcuts available in figure/standee:
- <kbd>←</kbd>: dec. current HP
- <kbd>→</kbd>: inc. current HP
- <kbd>0</kbd>-<kbd>9</kbd>: toggle condition/condition modifier
- <kbd>b</kbd>: inc. Bless
- <kbd>SHIFT</kbd> + <kbd>b</kbd>: dec. Bless
- <kbd>SHIFT</kbd> + <kbd>B</kbd>: dec. Bless
- <kbd>c</kbd>: inc. Curse
- <kbd>SHIFT</kbd> + <kbd>c</kbd>: dec. Curse
- <kbd>SHIFT</kbd> + <kbd>C</kbd>: dec. Curse
- <kbd>k</kbd> | <kbd>d</kbd>: kill/exhaust
- <kbd>↑</kbd>: inc. max. HP
- <kbd>↓</kbd>: dec. max. HP
Expand Down
6 changes: 3 additions & 3 deletions src/app/app.component.scss
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@
max-width: 100vw;
height: 100vh;
max-height: 100vh;
background-image: url('~/src/assets/images/bg.jpg');
background-image: url('/assets/images/bg.jpg');
background-size: cover;
overflow: auto;

&.fh {
background-image: url('~/src/assets/images/fh/bg.jpg');
background-image: url('/assets/images/fh/bg.jpg');
}

&.modern {
background-image: url('~/src/assets/images/modern/bg.jpg');
background-image: url('/assets/images/modern/bg.jpg');
}
}
18 changes: 17 additions & 1 deletion src/app/game/businesslogic/ItemManager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -110,14 +110,22 @@ export class ItemManager {
}

canBuy(item: ItemData, character: Character, cost: number = 0): boolean {
if (gameManager.game.party.campaignMode && gameManager.fhRules() && character.tags.indexOf('new-character') == -1 && (!this.game.party.buildings || !this.game.party.buildings.find((buildingModel) => buildingModel.name == "trading-post" && buildingModel.level >= 1 && buildingModel.state != 'wrecked'))) {
if (character.tags.indexOf('new-character') == -1 && this.buyingDisabled()) {
return false;
}

return item.cost && (item.cost + this.pricerModifier() + cost) <= character.progress.gold && this.canAdd(item, character) || false;
}

buyingDisabled(): boolean {
return gameManager.fhRules() && gameManager.game.party.campaignMode && gameManager.game.party.buildings.find((buildingModel) => buildingModel.name == 'trading-post' && buildingModel.level > 0 && buildingModel.state == "wrecked") != undefined;
}

canCraft(item: ItemData, character: Character, resources: Partial<Record<LootType, number>> = {}): boolean {
if (this.craftingDisabled()) {
return false;
}

let isCraftItem = false;
let canCraft = true;
if (item.resources) {
Expand Down Expand Up @@ -154,6 +162,14 @@ export class ItemManager {
return canCraft && isCraftItem;
}

craftingDisabled(): boolean {
return gameManager.fhRules() && gameManager.game.party.campaignMode && gameManager.game.party.buildings.find((buildingModel) => buildingModel.name == 'craftsman' && buildingModel.level > 0 && buildingModel.state == "wrecked") != undefined;
}

brewingDisabled(): boolean {
return gameManager.fhRules() && gameManager.game.party.campaignMode && gameManager.game.party.buildings.find((buildingModel) => buildingModel.name == 'alchemist' && buildingModel.level > 0 && buildingModel.state == "wrecked") != undefined;
}

itemSellValue(itemData: ItemData): number {
if (itemData.cost) {
return Math.floor(itemData.cost / 2);
Expand Down
Loading

0 comments on commit 3fe3161

Please sign in to comment.