mirror of
https://github.com/YouHaveTrouble/GuildMaster.git
synced 2026-05-12 06:26:59 +00:00
fix already recruited adventurers showing up again
This commit is contained in:
+11
-2
@@ -27,7 +27,14 @@ import {Adventurer} from "@/classes/Adventurer";
|
|||||||
import {getQuestWithRewards, Quest} from "@/classes/Quest";
|
import {getQuestWithRewards, Quest} from "@/classes/Quest";
|
||||||
import {Guild} from "@/classes/Guild";
|
import {Guild} from "@/classes/Guild";
|
||||||
import {getFromString, QuestRank} from "@/classes/QuestRank";
|
import {getFromString, QuestRank} from "@/classes/QuestRank";
|
||||||
import {GameData, loadAdventurersForHire, loadAvailableQuests, loadGame, saveGame} from "@/GameData";
|
import {
|
||||||
|
GameData,
|
||||||
|
loadAdventurersForHire,
|
||||||
|
loadAvailableQuests,
|
||||||
|
loadGame,
|
||||||
|
removeAlreadyHiredAdventurers,
|
||||||
|
saveGame
|
||||||
|
} from "@/GameData";
|
||||||
import type {GuildUpgrade} from "@/classes/GuildUpgrade";
|
import type {GuildUpgrade} from "@/classes/GuildUpgrade";
|
||||||
import {AdventurerCapacityUpgrade} from "@/classes/guildUpgrades/AdventurerCapacityUpgrade";
|
import {AdventurerCapacityUpgrade} from "@/classes/guildUpgrades/AdventurerCapacityUpgrade";
|
||||||
import {getNewAdventurerForHire} from "@/classes/Recruitment";
|
import {getNewAdventurerForHire} from "@/classes/Recruitment";
|
||||||
@@ -205,9 +212,11 @@ export default defineComponent({
|
|||||||
},
|
},
|
||||||
async mounted() {
|
async mounted() {
|
||||||
this.quests = await loadAvailableQuests();
|
this.quests = await loadAvailableQuests();
|
||||||
this.adventurersDatabase = await loadAdventurersForHire(Object.keys(this.adventurers));
|
this.adventurersDatabase = await loadAdventurersForHire();
|
||||||
this.loadGame();
|
this.loadGame();
|
||||||
|
|
||||||
|
this.adventurersDatabase = removeAlreadyHiredAdventurers(this.adventurersDatabase, this.adventurers);
|
||||||
|
|
||||||
setInterval(() => {
|
setInterval(() => {
|
||||||
saveGame(new GameData({
|
saveGame(new GameData({
|
||||||
adventurers: this.adventurers,
|
adventurers: this.adventurers,
|
||||||
|
|||||||
+14
-3
@@ -86,7 +86,7 @@ export async function loadAvailableQuests(): Promise<{ [key: string]: { [key: st
|
|||||||
return quests;
|
return quests;
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function loadAdventurersForHire(currentAdventurerIds: Array<string> = []): Promise<Array<Adventurer>> {
|
export async function loadAdventurersForHire(): Promise<Array<Adventurer>> {
|
||||||
const response = await fetch("data/adventurers.json");
|
const response = await fetch("data/adventurers.json");
|
||||||
if (response.status !== 200) {
|
if (response.status !== 200) {
|
||||||
console.error("Failed to load adventurers");
|
console.error("Failed to load adventurers");
|
||||||
@@ -95,9 +95,8 @@ export async function loadAdventurersForHire(currentAdventurerIds: Array<string>
|
|||||||
}
|
}
|
||||||
const adventurerData = await response.json();
|
const adventurerData = await response.json();
|
||||||
|
|
||||||
const adventurers = [] as Array<Adventurer>;
|
const adventurers: Array<Adventurer> = [];
|
||||||
for (const adventurer of adventurerData) {
|
for (const adventurer of adventurerData) {
|
||||||
if (currentAdventurerIds.includes(adventurer.id)) continue;
|
|
||||||
adventurers.push(new Adventurer(
|
adventurers.push(new Adventurer(
|
||||||
adventurer.id,
|
adventurer.id,
|
||||||
adventurer.name,
|
adventurer.name,
|
||||||
@@ -110,3 +109,15 @@ export async function loadAdventurersForHire(currentAdventurerIds: Array<string>
|
|||||||
|
|
||||||
return adventurers;
|
return adventurers;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function removeAlreadyHiredAdventurers(
|
||||||
|
adventurers: Array<Adventurer>,
|
||||||
|
adventurersHired: { [key: string]: Adventurer }
|
||||||
|
): Array<Adventurer> {
|
||||||
|
const adventurersForHire: Array<Adventurer> = [];
|
||||||
|
for (const adventurer of adventurers) {
|
||||||
|
if (adventurersHired[adventurer.id]) continue;
|
||||||
|
adventurersForHire.push(adventurer);
|
||||||
|
}
|
||||||
|
return adventurersForHire;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user