UNPKG

warframe-worldstate-parser

Version:

An Open parser for Warframe's Worldstate in Javascript

221 lines (220 loc) 7.34 kB
import { n as __decorateMetadata, t as __decorate } from "../../decorate-BCC26nnB.mjs"; import { Mission } from "./Mission.mjs"; import { WorldStateObject } from "./WorldStateObject.mjs"; import { DarkSectorBattle } from "./DarkSectorBattle.mjs"; import { Type } from "class-transformer"; import { IsArray, IsBoolean, IsNumber, IsOptional, IsString, Min, ValidateNested } from "class-validator"; import { languageString, parseDate } from "warframe-worldstate-data/utilities"; //#region lib/models/DarkSector.ts /** * Represents a dark sector * @augments {WorldStateObject} */ var DarkSector = class extends WorldStateObject { /** * The dark sector credit tax rate */ creditTaxRate; /** * The dark sector credit tax rate for clan/alliance members */ memberCreditsTaxRate; /** * The dark sector resource tax rate */ itemsTaxRate; /** * The dark sector resource tax rate for clan/alliance members */ memberItemsTaxRate; /** * Whether the dark sector holder is an alliance or not */ isAlliance; /** * The current holder of the dark sector */ defenderName; /** * The remaining health of the current solar rail */ defenderPoolRemaining; /** * The maximum health of the solar rail */ defenderMaxPool; /** * The date and time at which the rail was deployed */ defenderDeployemntActivation; /** * The solar rail type */ railType; /** * The MOTD set by the dark sector holder */ defenderMOTD; /** * The player who deployed the solar rail */ deployerName; /** * The clan of the player who deployed the solar rail */ deployerClan; /** * Defender rail heal reserve */ defenderRailHealReserve; /** * Heal rate */ healRate; /** * Damage per mission */ damagePerMission; /** * The dark sector's mission */ mission; /** * Battle pay reserve */ battlePayReserve; /** * The battle pay per mission offered to players * @type {number} */ perMissionBattlePay; /** * The player who set the battle pay * @type {string} */ battlePaySetBy; /** * The clan of the player who set the battle pay * @type {string} */ battlePaySetByClan; /** * The player who changed the tax * @type {string} */ taxChangedBy; /** * The clan of the player who set the tax * @type {string} */ taxChangedByClan; /** * The history of the dark sector * @type {Array.<DarkSectorBattle>} */ history; /** * @param {object} data The dark sector data * @param {object} deps The dependencies object * @param {string} deps.locale Locale to use for translations */ constructor(data, { locale = "en" } = { locale: "en" }) { super(data); const deps = { locale }; this.creditTaxRate = data.DefenderInfo.CreditsTaxRate; this.memberCreditsTaxRate = data.DefenderInfo.MemberCreditsTax; this.itemsTaxRate = data.DefenderInfo.ItemsTaxRate; this.memberItemsTaxRate = data.DefenderInfo.MemberItemsTaxRate; this.isAlliance = data.DefenderInfo.IsAlliance; this.defenderName = data.DefenderInfo.Name; this.defenderPoolRemaining = Number.parseFloat(data.DefenderInfo.StrengthRemaining); this.defenderMaxPool = Number.parseFloat(data.DefenderInfo.MaxStrength); this.defenderDeployemntActivation = data.DefenderInfo.DeploymentActivationTime ? parseDate(data.DefenderInfo.DeploymentActivationTime) : 0; this.railType = languageString(data.DefenderInfo.RailType, locale); this.defenderMOTD = data.DefenderInfo.MOTD; this.deployerName = data.DefenderInfo.DeployerName; this.deployerClan = data.DefenderInfo.DeployerClan; this.defenderRailHealReserve = data.DefenderInfo.RailHealReserve; this.healRate = Number.parseFloat(data.DefenderInfo.healRate); this.damagePerMission = data.DefenderInfo.DamagePerMission; this.mission = data.DefenderInfo.MissionInfo ? new Mission(data.DefenderInfo.MissionInfo, deps) : void 0; this.battlePayReserve = data.DefenderInfo.BattlePayReserve; this.perMissionBattlePay = data.DefenderInfo.MissionBattlePay; this.battlePaySetBy = data.DefenderInfo.BattlePaySetBy; this.battlePaySetByClan = data.DefenderInfo.BattlePaySetByClan; this.taxChangedBy = data.DefenderInfo.TaxLastChangedBy; this.taxChangedByClan = data.DefenderInfo.TaxLastChangedByClan; this.history = data.History ? data.History.map((b) => new DarkSectorBattle(b)) : []; } }; __decorate([ IsNumber(), Min(0), __decorateMetadata("design:type", Number) ], DarkSector.prototype, "creditTaxRate", void 0); __decorate([ IsNumber(), Min(0), __decorateMetadata("design:type", Number) ], DarkSector.prototype, "memberCreditsTaxRate", void 0); __decorate([ IsNumber(), Min(0), __decorateMetadata("design:type", Number) ], DarkSector.prototype, "itemsTaxRate", void 0); __decorate([ IsNumber(), Min(0), __decorateMetadata("design:type", Number) ], DarkSector.prototype, "memberItemsTaxRate", void 0); __decorate([IsBoolean(), __decorateMetadata("design:type", Boolean)], DarkSector.prototype, "isAlliance", void 0); __decorate([IsString(), __decorateMetadata("design:type", String)], DarkSector.prototype, "defenderName", void 0); __decorate([ IsNumber(), Min(0), __decorateMetadata("design:type", Number) ], DarkSector.prototype, "defenderPoolRemaining", void 0); __decorate([ IsNumber(), Min(0), __decorateMetadata("design:type", Number) ], DarkSector.prototype, "defenderMaxPool", void 0); __decorate([IsString(), __decorateMetadata("design:type", String)], DarkSector.prototype, "railType", void 0); __decorate([IsString(), __decorateMetadata("design:type", String)], DarkSector.prototype, "defenderMOTD", void 0); __decorate([IsString(), __decorateMetadata("design:type", String)], DarkSector.prototype, "deployerName", void 0); __decorate([IsString(), __decorateMetadata("design:type", String)], DarkSector.prototype, "deployerClan", void 0); __decorate([ IsNumber(), Min(0), __decorateMetadata("design:type", Number) ], DarkSector.prototype, "defenderRailHealReserve", void 0); __decorate([IsNumber(), __decorateMetadata("design:type", Number)], DarkSector.prototype, "healRate", void 0); __decorate([IsNumber(), __decorateMetadata("design:type", Number)], DarkSector.prototype, "damagePerMission", void 0); __decorate([ IsOptional(), ValidateNested(), Type(() => Mission), __decorateMetadata("design:type", typeof Mission === "undefined" ? Object : Mission) ], DarkSector.prototype, "mission", void 0); __decorate([ IsNumber(), Min(0), __decorateMetadata("design:type", Number) ], DarkSector.prototype, "battlePayReserve", void 0); __decorate([ IsNumber(), Min(0), __decorateMetadata("design:type", Number) ], DarkSector.prototype, "perMissionBattlePay", void 0); __decorate([IsString(), __decorateMetadata("design:type", String)], DarkSector.prototype, "battlePaySetBy", void 0); __decorate([IsString(), __decorateMetadata("design:type", String)], DarkSector.prototype, "battlePaySetByClan", void 0); __decorate([IsString(), __decorateMetadata("design:type", String)], DarkSector.prototype, "taxChangedBy", void 0); __decorate([IsString(), __decorateMetadata("design:type", String)], DarkSector.prototype, "taxChangedByClan", void 0); __decorate([ IsArray(), ValidateNested({ each: true }), Type(() => DarkSectorBattle), __decorateMetadata("design:type", Array) ], DarkSector.prototype, "history", void 0); //#endregion export { DarkSector };