Compare commits

..

4 Commits

5 changed files with 14 additions and 7 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "adventurers-guild", "name": "adventurers-guild",
"version": "0.15.0", "version": "0.15.3",
"private": true, "private": true,
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",
+5 -3
View File
@@ -148,8 +148,10 @@ export default defineComponent({
if (deltaTime > 0) return; // not yet time for a new recruit if (deltaTime > 0) return; // not yet time for a new recruit
if (Object.keys(this.adventurers).length <= 0) { if (Object.keys(this.adventurers).length <= 0) {
const firstAdventurer = this.adventurersDatabase[0]; const firstAdventurer = this.adventurersDatabase["aldek"];
this.adventurersForHire[firstAdventurer.id] = firstAdventurer; this.adventurersForHire[firstAdventurer.id] = firstAdventurer;
this.setNextRecruitArrival(currentTimestamp, cooldownModifier)
return;
} }
const newAdventurerForHire = getNewAdventurerForHire(Object.values(this.adventurersDatabase), Object.values(this.adventurers)); const newAdventurerForHire = getNewAdventurerForHire(Object.values(this.adventurersDatabase), Object.values(this.adventurers));
@@ -338,11 +340,11 @@ export default defineComponent({
this.loadGame(); this.loadGame();
this.adventurersDatabase = removeAlreadyHiredAdventurers(this.adventurersDatabase, this.adventurers); this.adventurersDatabase = removeAlreadyHiredAdventurers(this.adventurersDatabase, this.adventurers);
if (Object.keys(this.adventurersForHire).length < this.guild.recruitmentCapacity.getRecruitmentCapacity()) { if (Object.keys(this.adventurers).length > 0 && Object.keys(this.adventurersForHire).length < this.guild.recruitmentCapacity.getRecruitmentCapacity()) {
// check if more time passed than next recruit arrival and simulate next recruit arrivals up to now // check if more time passed than next recruit arrival and simulate next recruit arrivals up to now
const now = new Date(); const now = new Date();
if (this.nextRecruitArrival.getTime() < now.getTime()) { if (this.nextRecruitArrival.getTime() < now.getTime()) {
const slotsLeft = 2 - Object.keys(this.adventurersForHire).length; const slotsLeft = this.guild.recruitmentCapacity.getRecruitmentCapacity() - Object.keys(this.adventurersForHire).length;
for (let i = 0; i < slotsLeft; i++) { for (let i = 0; i < slotsLeft; i++) {
await this.checkForNewRecruit(this.nextRecruitArrival.getTime()); await this.checkForNewRecruit(this.nextRecruitArrival.getTime());
} }
+6 -2
View File
@@ -56,7 +56,7 @@ export default defineComponent({
return Object.values(this.adventurersForHire); return Object.values(this.adventurersForHire);
}, },
canRecruitMore() { canRecruitMore() {
return Object.keys(this.adventurersForHire).length < this.guild.adventurerCapacity.getAdventurerCapacity(); return Object.keys(this.adventurers).length < this.guild.adventurerCapacity.getAdventurerCapacity();
}, },
newRecruitCost(): number { newRecruitCost(): number {
const guildLevel = this.guild.level; const guildLevel = this.guild.level;
@@ -80,7 +80,7 @@ export default defineComponent({
this.$emit("previewAdventurer", adventurer); this.$emit("previewAdventurer", adventurer);
}, },
findNewRecruit(): void { findNewRecruit(): void {
if (!this.canRecruitMore) return; if (this.recruitSlotsFilled) return;
this.$emit("findNewRecruit"); this.$emit("findNewRecruit");
}, },
}, },
@@ -93,6 +93,10 @@ export default defineComponent({
type: Object as PropType<{ [key: string]: Adventurer }>, type: Object as PropType<{ [key: string]: Adventurer }>,
required: true, required: true,
}, },
adventurers: {
type: Object as PropType<{ [key: string]: Adventurer }>,
required: true,
},
}, },
emits: ["dismissAdventurer", "hireAdventurer", "previewAdventurer", "findNewRecruit"], emits: ["dismissAdventurer", "hireAdventurer", "previewAdventurer", "findNewRecruit"],
}) })
@@ -91,7 +91,7 @@ export default defineComponent({
align-items: center; align-items: center;
gap: 1rem; gap: 1rem;
width: 100%; width: 100%;
overflow-y: auto; user-select: text;
} }
.changelog-entry { .changelog-entry {
+1
View File
@@ -9,6 +9,7 @@
<AdventurerRecruitment <AdventurerRecruitment
:guild="guild" :guild="guild"
:adventurers-for-hire="adventurersForHire" :adventurers-for-hire="adventurersForHire"
:adventurers="adventurers"
@hireAdventurer="$emit('hireAdventurer', $event)" @hireAdventurer="$emit('hireAdventurer', $event)"
@dismissAdventurer="$emit('dismissAdventurer', $event)" @dismissAdventurer="$emit('dismissAdventurer', $event)"
@previewAdventurer="selectedAdventurer = $event" @previewAdventurer="selectedAdventurer = $event"