UNPKG

@skullandbonestools/snbdata

Version:

Inofficial data package for the Skull and Bones game by Ubisoft.

34 lines 1.48 kB
import achievementData from "../../data/achievements.json"; import { Events } from "./events"; import { Seasons } from "./seasons"; import { WorldEvents } from "./worldEvents"; export class Achievement { constructor(id, tier, category, season, event, worldEvent, goal, dateAdded, lastUpdated) { this.id = id; this.tier = tier; this.category = category; this.season = season; this.event = event; this.worldEvent = worldEvent; this.goal = goal; this.dateAdded = dateAdded; this.lastUpdated = lastUpdated; } static fromRawData(key, rawData) { const season = rawData.season; const event = rawData.event; const worldEvent = Array.isArray(rawData.worldEvent) ? rawData.worldEvent.map((_worldEvent) => WorldEvents[_worldEvent]) : WorldEvents[rawData.worldEvent]; return new Achievement(key, rawData.tier ?? undefined, rawData.category, Seasons[season], event ? Events[event] : undefined, worldEvent ?? undefined, rawData.goal, new Date(rawData.dateAdded), new Date(rawData.lastUpdated)); } static loadAchievements() { const achievements = {}; for (const [key, value] of Object.entries(achievementData)) { achievements[key] = Achievement.fromRawData(key, value); } return achievements; } } export const Achievements = Achievement.loadAchievements(); //# sourceMappingURL=achievements.js.map