mirror of
https://github.com/YouHaveTrouble/GuildMaster.git
synced 2026-05-11 22:16:59 +00:00
don't immediately find new recruit after dismissing one with all slots full
This commit is contained in:
+11
@@ -104,6 +104,11 @@ export default defineComponent({
|
|||||||
nextRecruitArrival: new Date() as Date,
|
nextRecruitArrival: new Date() as Date,
|
||||||
tickCounter: 0 as number,
|
tickCounter: 0 as number,
|
||||||
}),
|
}),
|
||||||
|
computed: {
|
||||||
|
recruitmentSlotsFull(): boolean {
|
||||||
|
return Object.keys(this.adventurersForHire).length >= this.guild.recruitmentCapacity.getRecruitmentCapacity();
|
||||||
|
},
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
async updateMissives() {
|
async updateMissives() {
|
||||||
for (const missive of this.missives) {
|
for (const missive of this.missives) {
|
||||||
@@ -143,16 +148,22 @@ export default defineComponent({
|
|||||||
if (newAdventurerForHire === null) return;
|
if (newAdventurerForHire === null) return;
|
||||||
this.adventurersForHire[newAdventurerForHire.id] = newAdventurerForHire;
|
this.adventurersForHire[newAdventurerForHire.id] = newAdventurerForHire;
|
||||||
|
|
||||||
|
this.setNextRecruitArrival(currentTimestamp, cooldownModifier)
|
||||||
|
},
|
||||||
|
setNextRecruitArrival(currentTimestamp: number, cooldownModifier: number = 1): void {
|
||||||
const timerValue = ((5 + (Math.random() * 15)) * 60 * 1000) * cooldownModifier;
|
const timerValue = ((5 + (Math.random() * 15)) * 60 * 1000) * cooldownModifier;
|
||||||
this.nextRecruitArrival = new Date(currentTimestamp + timerValue);
|
this.nextRecruitArrival = new Date(currentTimestamp + timerValue);
|
||||||
},
|
},
|
||||||
recruitAdventurer(adventurer: Adventurer): void {
|
recruitAdventurer(adventurer: Adventurer): void {
|
||||||
|
if (adventurer == null) return;
|
||||||
|
if (this.recruitmentSlotsFull) this.setNextRecruitArrival(new Date().getTime())
|
||||||
this.adventurers[adventurer.id] = adventurer;
|
this.adventurers[adventurer.id] = adventurer;
|
||||||
delete this.adventurersForHire[adventurer.id];
|
delete this.adventurersForHire[adventurer.id];
|
||||||
delete this.adventurersDatabase[adventurer.id];
|
delete this.adventurersDatabase[adventurer.id];
|
||||||
},
|
},
|
||||||
dismissRecruit(adventurer: Adventurer): void {
|
dismissRecruit(adventurer: Adventurer): void {
|
||||||
if (adventurer == null) return;
|
if (adventurer == null) return;
|
||||||
|
if (this.recruitmentSlotsFull) this.setNextRecruitArrival(new Date().getTime())
|
||||||
if (this.adventurersForHire[adventurer.id] == null) return;
|
if (this.adventurersForHire[adventurer.id] == null) return;
|
||||||
delete this.adventurersForHire[adventurer.id];
|
delete this.adventurersForHire[adventurer.id];
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user