import { game } from "../game" export class itemData{ name : string id : number templateId : number rarity : number count : number = 1 stats : Stat[] = [] static fromPersistentData(data : persistentItemData){ let item = new itemData() item.name = data.name; item.id = ++game.itemCount; item.templateId = data.id; item.rarity = Math.floor(Math.random()*data.rarityMax); item.count = 1; return item } static copy(data : itemData){ let item = new itemData() item.name = data.name; item.id = data.id; item.templateId = data.templateId; item.rarity = data.rarity item.count = data.count data.stats.forEach(stat=>item.stats.push(stat)) return item } } export class persistentItemData{ name: string id: number itemType: number description: string rarityMin: number rarityMax: number maxCount: number tags: number[] = [] stats: Stat[] = [] constructor(init?: Partial) { Object.assign(this, init); } } export interface Stat { Key: number Value: number }