Compare commits

...

5 Commits

5 changed files with 16 additions and 9 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "adventurers-guild",
"version": "0.15.0",
"version": "0.15.4",
"private": true,
"scripts": {
"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 (Object.keys(this.adventurers).length <= 0) {
const firstAdventurer = this.adventurersDatabase[0];
const firstAdventurer = this.adventurersDatabase["aldek"];
this.adventurersForHire[firstAdventurer.id] = firstAdventurer;
this.setNextRecruitArrival(currentTimestamp, cooldownModifier)
return;
}
const newAdventurerForHire = getNewAdventurerForHire(Object.values(this.adventurersDatabase), Object.values(this.adventurers));
@@ -338,11 +340,11 @@ export default defineComponent({
this.loadGame();
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
const now = new Date();
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++) {
await this.checkForNewRecruit(this.nextRecruitArrival.getTime());
}
+8 -4
View File
@@ -19,7 +19,7 @@
</span>
<span
:title="Object.keys(adventurersForHire).length > 0 ? 'Dismiss' : ''"
:class="{disabled: Object.keys(adventurersForHire).length <= 0}"
:class="{disabled: Object.keys(adventurers).length <= 0}"
@click="dismissAdventurer(adventurerForHire)"
>
@@ -56,7 +56,7 @@ export default defineComponent({
return Object.values(this.adventurersForHire);
},
canRecruitMore() {
return Object.keys(this.adventurersForHire).length < this.guild.adventurerCapacity.getAdventurerCapacity();
return Object.keys(this.adventurers).length < this.guild.adventurerCapacity.getAdventurerCapacity();
},
newRecruitCost(): number {
const guildLevel = this.guild.level;
@@ -73,14 +73,14 @@ export default defineComponent({
this.$emit("hireAdventurer", adventurer);
},
dismissAdventurer(adventurer: Adventurer) {
if (Object.keys(this.adventurersForHire).length <= 0) return;
if (Object.keys(this.adventurers).length <= 0) return;
this.$emit("dismissAdventurer", adventurer);
},
previewAdventurer(adventurer: Adventurer): void {
this.$emit("previewAdventurer", adventurer);
},
findNewRecruit(): void {
if (!this.canRecruitMore) return;
if (this.recruitSlotsFilled) return;
this.$emit("findNewRecruit");
},
},
@@ -93,6 +93,10 @@ export default defineComponent({
type: Object as PropType<{ [key: string]: Adventurer }>,
required: true,
},
adventurers: {
type: Object as PropType<{ [key: string]: Adventurer }>,
required: true,
},
},
emits: ["dismissAdventurer", "hireAdventurer", "previewAdventurer", "findNewRecruit"],
})
@@ -91,7 +91,7 @@ export default defineComponent({
align-items: center;
gap: 1rem;
width: 100%;
overflow-y: auto;
user-select: text;
}
.changelog-entry {
+1
View File
@@ -9,6 +9,7 @@
<AdventurerRecruitment
:guild="guild"
:adventurers-for-hire="adventurersForHire"
:adventurers="adventurers"
@hireAdventurer="$emit('hireAdventurer', $event)"
@dismissAdventurer="$emit('dismissAdventurer', $event)"
@previewAdventurer="selectedAdventurer = $event"