warframe-worldstate-parser
Version:
An Open parser for Warframe's Worldstate in Javascript
221 lines (220 loc) • 7.34 kB
JavaScript
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 };