mirror of
https://github.com/YouHaveTrouble/GuildMaster.git
synced 2026-05-12 06:26:59 +00:00
adventurer limit, base classes for guild upgrades
This commit is contained in:
+11
-3
@@ -1,15 +1,23 @@
|
||||
import type {GuildUpgrade} from "@/classes/GuildUpgrade";
|
||||
import {AdventurerCapacityUpgrade} from "@/classes/guildUpgrades/AdventurerCapacityUpgrade";
|
||||
|
||||
export class Guild {
|
||||
gold: number;
|
||||
level: number;
|
||||
displayUpgradeCost: number|string;
|
||||
|
||||
upgradeCost: number|null = null;
|
||||
adventurerCapacity: AdventurerCapacityUpgrade;
|
||||
|
||||
constructor(level: number, gold: number) {
|
||||
constructor(level: number, gold: number, upgrades: {[index:string]: GuildUpgrade} = {}) {
|
||||
this.gold = gold;
|
||||
this.level = level;
|
||||
this.displayUpgradeCost = this.getUpgradeCost() ?? "Max level";
|
||||
this.upgradeCost = this.getUpgradeCost();
|
||||
|
||||
console.log(upgrades)
|
||||
|
||||
this.adventurerCapacity = upgrades.adventurerCapacity as AdventurerCapacityUpgrade ?? new AdventurerCapacityUpgrade();
|
||||
|
||||
}
|
||||
|
||||
upgrade(): void {
|
||||
@@ -43,4 +51,4 @@ const upgradeCosts = {
|
||||
"4": 10000,
|
||||
"5": 25000,
|
||||
"6": 50000,
|
||||
} as {[index:string]: number}
|
||||
} as {[index:string]: number}
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
export class GuildUpgrade {
|
||||
|
||||
level: number = 1;
|
||||
nextLevelCost: number | null = null;
|
||||
guildLevelRequirement: number = 1;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
import {GuildUpgrade} from "@/classes/GuildUpgrade";
|
||||
|
||||
export class AdventurerCapacityUpgrade extends GuildUpgrade {
|
||||
constructor(level: number = 1) {
|
||||
super();
|
||||
this.level = level;
|
||||
this.nextLevelCost = this.getCostForLevel(this.level);
|
||||
this.guildLevelRequirement = 1;
|
||||
}
|
||||
|
||||
upgrade(): void {
|
||||
this.level += 1;
|
||||
this.nextLevelCost = this.getCostForLevel(this.level);
|
||||
}
|
||||
|
||||
getCostForLevel(level: number): number {
|
||||
return 1500 + ((level - 1) * 1.15 * 1500);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the number of adventurers the guild can have
|
||||
*/
|
||||
getAdventurerCapacity(): number {
|
||||
return 2 + this.level ;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user