@skullandbonestools/snbdata
Version:
Inofficial data package for the Skull and Bones game by Ubisoft.
30 lines • 1.22 kB
JavaScript
import commoditiesData from "../../data/commodities.json";
import { Contracts } from "./contracts";
import { Events } from "./events";
import { Factions } from "./factions";
export class Commodity {
constructor(id, rarity, category, event, faction, contract, deprecated) {
this.id = id;
this.rarity = rarity;
this.category = category;
this.event = event;
this.faction = faction;
this.contract = contract;
this.deprecated = deprecated;
}
static fromRawData(rawData) {
const event = rawData.event;
const faction = rawData.faction;
const contract = rawData.contract;
return new Commodity(rawData.id, rawData.rarity, rawData.category, event ? Events[event] : undefined, faction ? Factions[faction] : undefined, contract ? Contracts[contract] : undefined, rawData.deprecated ?? false);
}
static loadCommodities() {
const commodities = {};
for (const [key, value] of Object.entries(commoditiesData)) {
commodities[key] = Commodity.fromRawData(value);
}
return commodities;
}
}
export const Commodities = Commodity.loadCommodities();
//# sourceMappingURL=commodities.js.map