From 247a87b41c9d1e68990e553f6508352d5853c634 Mon Sep 17 00:00:00 2001 From: YouHaveTrouble Date: Sat, 25 Mar 2023 02:07:05 +0100 Subject: [PATCH] fix remaining typescript errors --- src/classes/Guild.ts | 7 +++++++ src/components/AdventurerMiniComponent.vue | 10 ++++++++-- src/components/QuestMissive.vue | 4 ++-- src/views/AdventurerView.vue | 4 ++-- src/views/HomeView.vue | 2 +- src/views/QuestView.vue | 5 +++-- 6 files changed, 23 insertions(+), 9 deletions(-) diff --git a/src/classes/Guild.ts b/src/classes/Guild.ts index 4e6f3a6..3900172 100644 --- a/src/classes/Guild.ts +++ b/src/classes/Guild.ts @@ -3,10 +3,13 @@ export class Guild { level: number; displayUpgradeCost: number|string; + upgradeCost: number|null = null; + constructor(level: number, gold: number) { this.gold = gold; this.level = level; this.displayUpgradeCost = this.getUpgradeCost() ?? "Max level"; + this.upgradeCost = this.getUpgradeCost(); } upgrade(): void { @@ -27,6 +30,10 @@ export class Guild { getUpgradeCost(): number|null { return upgradeCosts[this.level] ?? null; } + + isMaxLevel(): boolean { + return this.level >= 7; + } } const upgradeCosts = { diff --git a/src/components/AdventurerMiniComponent.vue b/src/components/AdventurerMiniComponent.vue index c0d95c5..78e7b57 100644 --- a/src/components/AdventurerMiniComponent.vue +++ b/src/components/AdventurerMiniComponent.vue @@ -48,17 +48,23 @@ export default defineComponent({ name: "AdventurerMiniComponent", components: {AdventurerTile}, emits: [ "freeAdventurer", "hireAdventurer" ], - data() { + data: () => { return { selection: false, } }, props: { adventurer: { - type: Object as PropType, + type: Object as PropType, + default() { + return {} as Adventurer; + }, }, allAdventurers: { type: Object as PropType<{[key: string]: Adventurer}>, + default() { + return {} as {[key: string]: Adventurer}; + }, }, }, methods: { diff --git a/src/components/QuestMissive.vue b/src/components/QuestMissive.vue index c8154c2..038d652 100644 --- a/src/components/QuestMissive.vue +++ b/src/components/QuestMissive.vue @@ -26,7 +26,7 @@
- {{ this.progressPercentage }} + {{ progressPercentage }}
@@ -50,7 +50,7 @@ export default defineComponent({ components: {AdventurerComponent}, props: { missive: { - type: Object as PropType, + type: Object as PropType, default() { return new Quest("0", QuestRank.F, "", "", 1, 0, 0) as Quest; }, diff --git a/src/views/AdventurerView.vue b/src/views/AdventurerView.vue index c13df6f..175dcb7 100644 --- a/src/views/AdventurerView.vue +++ b/src/views/AdventurerView.vue @@ -14,7 +14,7 @@ ✗ @@ -96,7 +96,7 @@ export default defineComponent({ window.localStorage.setItem("currentlyForHire", adventurer.id); }, - hireAdventurer(adventurer: Adventurer): void { + hireAdventurer(adventurer: Adventurer|any): void { this.adventurers[adventurer.id] = adventurer; this.currentlyForHire = null; window.localStorage.removeItem("currentlyForHire"); diff --git a/src/views/HomeView.vue b/src/views/HomeView.vue index d749064..392c1ee 100644 --- a/src/views/HomeView.vue +++ b/src/views/HomeView.vue @@ -10,7 +10,7 @@

Guild level: {{ guild.level }}

- diff --git a/src/views/QuestView.vue b/src/views/QuestView.vue index bc16c3a..2bc8381 100644 --- a/src/views/QuestView.vue +++ b/src/views/QuestView.vue @@ -55,7 +55,7 @@ :key="key" :adventurers="adventurers" :missive="missive" - @click="finalizeQuest(missive)" + @click="finalizeQuest((missive))" />
@@ -125,7 +125,8 @@ export default defineComponent({ }, emits: [ 'finalizeQuest', 'wipeSave', 'recruitActionTaken'], methods: { - finalizeQuest(quest: Quest) { + // This is a workaround for vue not reporting Quest as Quest in v-for + finalizeQuest(quest: any|Quest): void { if (quest.progressPoints < quest.maxProgress) return; this.$emit('finalizeQuest', quest) },