warframe-worldstate-parser 5.2.15 → 5.2.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/WorldState.d.mts +35 -19
- package/dist/lib/WorldState.mjs +31 -45
- package/dist/lib/models/Alert.d.mts +45 -17
- package/dist/lib/models/Alert.mjs +49 -5
- package/dist/lib/models/Archimedea.d.mts +86 -17
- package/dist/lib/models/Archimedea.mjs +88 -2
- package/dist/lib/models/Calendar.d.mts +77 -2
- package/dist/lib/models/Calendar.mjs +79 -2
- package/dist/lib/models/CambionCycle.d.mts +21 -3
- package/dist/lib/models/CambionCycle.mjs +28 -2
- package/dist/lib/models/CetusCycle.d.mts +48 -2
- package/dist/lib/models/CetusCycle.mjs +87 -2
- package/dist/lib/models/ChallengeInstance.d.mts +53 -17
- package/dist/lib/models/ChallengeInstance.mjs +46 -1
- package/dist/lib/models/ConclaveChallenge.d.mts +76 -17
- package/dist/lib/models/ConclaveChallenge.mjs +77 -2
- package/dist/lib/models/ConstructionProgress.d.mts +17 -2
- package/dist/lib/models/ConstructionProgress.mjs +23 -2
- package/dist/lib/models/DailyDeal.d.mts +66 -17
- package/dist/lib/models/DailyDeal.mjs +64 -2
- package/dist/lib/models/DarkSector.d.mts +142 -17
- package/dist/lib/models/DarkSector.mjs +136 -6
- package/dist/lib/models/DarkSectorBattle.d.mts +52 -2
- package/dist/lib/models/DarkSectorBattle.mjs +49 -1
- package/dist/lib/models/DuviriCycle.d.mts +23 -17
- package/dist/lib/models/DuviriCycle.mjs +55 -2
- package/dist/lib/models/EarthCycle.d.mts +59 -2
- package/dist/lib/models/EarthCycle.mjs +73 -2
- package/dist/lib/models/Fissure.d.mts +78 -17
- package/dist/lib/models/Fissure.mjs +83 -2
- package/dist/lib/models/FlashSale.d.mts +71 -17
- package/dist/lib/models/FlashSale.mjs +73 -2
- package/dist/lib/models/GlobalUpgrade.d.mts +55 -17
- package/dist/lib/models/GlobalUpgrade.mjs +56 -2
- package/dist/lib/models/Invasion.d.mts +113 -17
- package/dist/lib/models/Invasion.mjs +106 -4
- package/dist/lib/models/Kinepage.d.mts +21 -1
- package/dist/lib/models/Kinepage.mjs +22 -1
- package/dist/lib/models/Kuva.d.mts +20 -17
- package/dist/lib/models/Kuva.mjs +85 -1
- package/dist/lib/models/MidrathCycle.d.mts +24 -2
- package/dist/lib/models/MidrathCycle.mjs +66 -2
- package/dist/lib/models/Mission.d.mts +138 -17
- package/dist/lib/models/Mission.mjs +138 -3
- package/dist/lib/models/News.d.mts +100 -2
- package/dist/lib/models/News.mjs +116 -2
- package/dist/lib/models/Nightwave.d.mts +58 -3
- package/dist/lib/models/Nightwave.mjs +58 -3
- package/dist/lib/models/NightwaveChallenge.d.mts +50 -2
- package/dist/lib/models/NightwaveChallenge.mjs +51 -2
- package/dist/lib/models/PersistentEnemy.d.mts +78 -2
- package/dist/lib/models/PersistentEnemy.mjs +74 -2
- package/dist/lib/models/Reward.d.mts +67 -17
- package/dist/lib/models/Reward.mjs +71 -2
- package/dist/lib/models/SentientOutpost.d.mts +46 -17
- package/dist/lib/models/SentientOutpost.mjs +63 -1
- package/dist/lib/models/Simaris.d.mts +36 -17
- package/dist/lib/models/Simaris.mjs +33 -1
- package/dist/lib/models/Sortie.d.mts +60 -17
- package/dist/lib/models/Sortie.mjs +71 -6
- package/dist/lib/models/SortieVariant.d.mts +49 -17
- package/dist/lib/models/SortieVariant.mjs +49 -1
- package/dist/lib/models/SteelPathOffering.d.mts +36 -1
- package/dist/lib/models/SteelPathOffering.mjs +81 -1
- package/dist/lib/models/SyndicateJob.d.mts +92 -17
- package/dist/lib/models/SyndicateJob.mjs +161 -5
- package/dist/lib/models/SyndicateMission.d.mts +58 -17
- package/dist/lib/models/SyndicateMission.mjs +64 -6
- package/dist/lib/models/Tmp.d.mts +34 -17
- package/dist/lib/models/Tmp.mjs +28 -2
- package/dist/lib/models/VallisCycle.d.mts +29 -2
- package/dist/lib/models/VallisCycle.mjs +72 -2
- package/dist/lib/models/VoidTrader.d.mts +76 -17
- package/dist/lib/models/VoidTrader.mjs +76 -4
- package/dist/lib/models/VoidTraderItem.d.mts +43 -17
- package/dist/lib/models/VoidTraderItem.mjs +36 -1
- package/dist/lib/models/VoidTraderSchedule.d.mts +16 -17
- package/dist/lib/models/VoidTraderSchedule.mjs +12 -1
- package/dist/lib/models/WeeklyChallenge.d.mts +19 -17
- package/dist/lib/models/WeeklyChallenge.mjs +19 -3
- package/dist/lib/models/WorldEvent.d.mts +204 -17
- package/dist/lib/models/WorldEvent.mjs +211 -7
- package/dist/lib/models/WorldStateObject.d.mts +47 -1
- package/dist/lib/models/WorldStateObject.mjs +52 -1
- package/dist/lib/models/ZarimanCycle.d.mts +44 -2
- package/dist/lib/models/ZarimanCycle.mjs +77 -2
- package/dist/lib/models/index.d.mts +42 -18
- package/dist/lib/models/index.mjs +42 -45
- package/dist/lib/supporting/Dependency.d.mts +40 -1
- package/dist/lib/supporting/DuviriChoice.d.mts +18 -17
- package/dist/lib/supporting/DuviriChoice.mjs +23 -1
- package/dist/lib/supporting/ExternalMission.d.mts +48 -1
- package/dist/lib/supporting/FetchProxy.d.mts +9 -1
- package/dist/lib/supporting/FetchProxy.mjs +44 -1
- package/dist/lib/supporting/ImgCdn.d.mts +5 -1
- package/dist/lib/supporting/ImgCdn.mjs +5 -1
- package/dist/lib/supporting/KuvaLogEntry.d.mts +20 -1
- package/dist/lib/supporting/RewardData.d.mts +10 -1
- package/dist/lib/supporting/RewardData.mjs +74 -1
- package/dist/lib/supporting/RewardTypes.d.mts +33 -1
- package/dist/lib/supporting/RewardTypes.mjs +326 -1
- package/dist/lib/supporting/index.d.mts +8 -23
- package/dist/lib/supporting/index.mjs +5 -6
- package/dist/main.d.mts +52 -24
- package/dist/main.mjs +47 -48
- package/package.json +1 -1
- package/dist/Alert-CPT2sBmd.mjs +0 -51
- package/dist/Archimedea-Vo36QE99.mjs +0 -90
- package/dist/Calendar-CRM0XhAy.d.mts +0 -78
- package/dist/Calendar-_gEQ9BEd.mjs +0 -81
- package/dist/CambionCycle-B1pqIgks.mjs +0 -30
- package/dist/CambionCycle-OI3v1knd.d.mts +0 -22
- package/dist/CetusCycle-Ct51M2pd.mjs +0 -89
- package/dist/CetusCycle-DQ4n05vO.d.mts +0 -49
- package/dist/ChallengeInstance-BOu_e7ML.mjs +0 -48
- package/dist/ConclaveChallenge-BTN6UyV6.mjs +0 -79
- package/dist/ConstructionProgress-BoF2P9fx.mjs +0 -25
- package/dist/ConstructionProgress-DG2KzS0X.d.mts +0 -18
- package/dist/DailyDeal-aoNeCFWT.mjs +0 -66
- package/dist/DarkSector-D0uJWCg7.mjs +0 -138
- package/dist/DarkSectorBattle-CiSe3kFm.d.mts +0 -53
- package/dist/DarkSectorBattle-CqRYeNpe.mjs +0 -51
- package/dist/Dependency-BR-dAeHI.mjs +0 -1
- package/dist/Dependency-CNqXngHD.d.mts +0 -41
- package/dist/DuviriChoice-BEBiWA-g.mjs +0 -25
- package/dist/DuviriCycle-Do7mMnoC.mjs +0 -57
- package/dist/EarthCycle-BOAlcAuQ.mjs +0 -75
- package/dist/EarthCycle-CxtijnVV.d.mts +0 -60
- package/dist/ExternalMission-C82w4uMq.d.mts +0 -49
- package/dist/ExternalMission-D3MSZgnN.mjs +0 -1
- package/dist/FetchProxy-Bkdk15SX.mjs +0 -46
- package/dist/FetchProxy-DfSTUgkf.d.mts +0 -10
- package/dist/Fissure-diM4hyi3.mjs +0 -85
- package/dist/FlashSale-CNfRaZhM.mjs +0 -75
- package/dist/GlobalUpgrade-CUtZw05z.mjs +0 -58
- package/dist/ImgCdn-BJOdWAbU.mjs +0 -7
- package/dist/ImgCdn-D0hSGSB1.d.mts +0 -6
- package/dist/Invasion-Corx1lxf.mjs +0 -108
- package/dist/Kinepage-B-Ym_VW5.d.mts +0 -22
- package/dist/Kinepage-CbSzge67.mjs +0 -24
- package/dist/Kuva-Ijy2ZGBL.mjs +0 -87
- package/dist/KuvaLogEntry-D_VzIT3W.mjs +0 -1
- package/dist/KuvaLogEntry-cftxhjfU.d.mts +0 -21
- package/dist/MidrathCycle-E0gMF3AR.d.mts +0 -25
- package/dist/MidrathCycle-XD2T8Dx5.mjs +0 -68
- package/dist/Mission-b8KP-YDf.mjs +0 -140
- package/dist/News-DxEm-q6V.d.mts +0 -101
- package/dist/News-zAK-sYRg.mjs +0 -118
- package/dist/Nightwave-CPqMSqGK.d.mts +0 -59
- package/dist/Nightwave-cTRmlbwH.mjs +0 -60
- package/dist/NightwaveChallenge-C8ARG7LC.mjs +0 -53
- package/dist/NightwaveChallenge-CG3uychc.d.mts +0 -51
- package/dist/PersistentEnemy-3Sw5E8AN.mjs +0 -76
- package/dist/PersistentEnemy-DnnnreSz.d.mts +0 -79
- package/dist/Reward-3FBJF_hS.mjs +0 -73
- package/dist/RewardData-C_9b8Yhi.mjs +0 -76
- package/dist/RewardData-DWCgJ3UT.d.mts +0 -11
- package/dist/RewardTypes-DUrR7H3G.mjs +0 -328
- package/dist/RewardTypes-Y3tHrtIJ.d.mts +0 -34
- package/dist/SentientOutpost-Cadk-pIW.mjs +0 -65
- package/dist/Simaris-D6etEQp_.mjs +0 -35
- package/dist/Sortie-rSBgJc6U.mjs +0 -73
- package/dist/SortieVariant-CnuLkkNZ.mjs +0 -51
- package/dist/SteelPathOffering--wm-7hwb.mjs +0 -83
- package/dist/SteelPathOffering-CQkoKi5T.d.mts +0 -37
- package/dist/SyndicateJob-R89tWqvT.mjs +0 -162
- package/dist/SyndicateMission-CKZDWNyf.mjs +0 -66
- package/dist/Tmp-BYL_mYIG.mjs +0 -30
- package/dist/VallisCycle-6DCaWFoR.d.mts +0 -30
- package/dist/VallisCycle-C5JCM2ia.mjs +0 -74
- package/dist/VoidTrader-DtjtVUgR.mjs +0 -78
- package/dist/VoidTraderItem-Cz6x1KTF.mjs +0 -38
- package/dist/VoidTraderSchedule-BsJLu50V.mjs +0 -14
- package/dist/WeeklyChallenge-Dl2ekl6X.mjs +0 -21
- package/dist/WorldEvent-C-LaV2ug.mjs +0 -213
- package/dist/WorldStateObject-45dbRgp7.mjs +0 -54
- package/dist/WorldStateObject-C1HEDkH7.d.mts +0 -48
- package/dist/ZarimanCycle-BrSLIWhD.d.mts +0 -45
- package/dist/ZarimanCycle-DoAPwgaM.mjs +0 -79
- package/dist/index-Bgx8kIDy.d.mts +0 -1671
- package/dist/supporting-BLSXhlWM.mjs +0 -1
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
import { t as Reward } from "./Reward-3FBJF_hS.mjs";
|
|
2
|
-
import { t as WorldStateObject } from "./WorldStateObject-45dbRgp7.mjs";
|
|
3
|
-
import { t as SyndicateJob } from "./SyndicateJob-R89tWqvT.mjs";
|
|
4
|
-
import { faction, fromNow, languageString, node, parseDate, syndicate } from "warframe-worldstate-data/utilities";
|
|
5
|
-
|
|
6
|
-
//#region lib/models/WorldEvent.ts
|
|
7
|
-
/**
|
|
8
|
-
* Represents an in-game special event
|
|
9
|
-
* @augments {WorldStateObject}
|
|
10
|
-
*/
|
|
11
|
-
var WorldEvent = class WorldEvent extends WorldStateObject {
|
|
12
|
-
jobs;
|
|
13
|
-
previousJobs;
|
|
14
|
-
/**
|
|
15
|
-
* The event's main score goal
|
|
16
|
-
*/
|
|
17
|
-
maximumScore;
|
|
18
|
-
/**
|
|
19
|
-
* The current score on the event
|
|
20
|
-
*/
|
|
21
|
-
currentScore;
|
|
22
|
-
/**
|
|
23
|
-
* The first intermediate score goal
|
|
24
|
-
*/
|
|
25
|
-
smallInterval;
|
|
26
|
-
/**
|
|
27
|
-
* The second intermediate score goal
|
|
28
|
-
*/
|
|
29
|
-
largeInterval;
|
|
30
|
-
/**
|
|
31
|
-
* The faction that the players must fight in the event
|
|
32
|
-
*/
|
|
33
|
-
faction;
|
|
34
|
-
/**
|
|
35
|
-
* The description of the event
|
|
36
|
-
*/
|
|
37
|
-
description;
|
|
38
|
-
/**
|
|
39
|
-
* Tooltip for the event
|
|
40
|
-
*/
|
|
41
|
-
tooltip;
|
|
42
|
-
/**
|
|
43
|
-
* The node where the event takes place
|
|
44
|
-
*/
|
|
45
|
-
node;
|
|
46
|
-
/**
|
|
47
|
-
* The other nodes where the event takes place
|
|
48
|
-
*/
|
|
49
|
-
concurrentNodes;
|
|
50
|
-
/**
|
|
51
|
-
* The victim node
|
|
52
|
-
*/
|
|
53
|
-
victimNode;
|
|
54
|
-
/**
|
|
55
|
-
* The score description
|
|
56
|
-
*/
|
|
57
|
-
scoreLocTag;
|
|
58
|
-
/**
|
|
59
|
-
* The event's rewards
|
|
60
|
-
*/
|
|
61
|
-
rewards;
|
|
62
|
-
/**
|
|
63
|
-
* Health remaining for the target
|
|
64
|
-
*/
|
|
65
|
-
health;
|
|
66
|
-
/**
|
|
67
|
-
* Previous job id
|
|
68
|
-
*/
|
|
69
|
-
previousId;
|
|
70
|
-
/**
|
|
71
|
-
* Array of steps
|
|
72
|
-
*/
|
|
73
|
-
interimSteps;
|
|
74
|
-
/**
|
|
75
|
-
* Progress Steps, if any are present
|
|
76
|
-
*/
|
|
77
|
-
progressSteps;
|
|
78
|
-
/**
|
|
79
|
-
* Total of all MultiProgress
|
|
80
|
-
*/
|
|
81
|
-
progressTotal;
|
|
82
|
-
/**
|
|
83
|
-
* Whether to show the total score at the end of the mission
|
|
84
|
-
*/
|
|
85
|
-
showTotalAtEndOfMission;
|
|
86
|
-
/**
|
|
87
|
-
* Whether the event is personal
|
|
88
|
-
*/
|
|
89
|
-
isPersonal;
|
|
90
|
-
/**
|
|
91
|
-
* Whether the event is community
|
|
92
|
-
*/
|
|
93
|
-
isCommunity;
|
|
94
|
-
regionDrops;
|
|
95
|
-
/**
|
|
96
|
-
* Archwing Drops in effect while this event is active
|
|
97
|
-
*/
|
|
98
|
-
archwingDrops;
|
|
99
|
-
/**
|
|
100
|
-
* Metadata provided by DE
|
|
101
|
-
*/
|
|
102
|
-
metadata;
|
|
103
|
-
/**
|
|
104
|
-
* Bonuses given for completion
|
|
105
|
-
*/
|
|
106
|
-
completionBonuses;
|
|
107
|
-
scoreVar;
|
|
108
|
-
altExpiry;
|
|
109
|
-
altActivation;
|
|
110
|
-
nextAlt;
|
|
111
|
-
affiliatedWith;
|
|
112
|
-
/**
|
|
113
|
-
* The event's tag
|
|
114
|
-
*/
|
|
115
|
-
tag;
|
|
116
|
-
victim;
|
|
117
|
-
/**
|
|
118
|
-
* Asynchronously build a new WorldEvent
|
|
119
|
-
* @param data The event data
|
|
120
|
-
* @param deps The dependencies object
|
|
121
|
-
* @returns The created WorldEvent object
|
|
122
|
-
*/
|
|
123
|
-
static async build(data, deps) {
|
|
124
|
-
const event = new WorldEvent(data, deps);
|
|
125
|
-
if (data.Jobs) {
|
|
126
|
-
const jobs = [];
|
|
127
|
-
for await (const job of data.Jobs ?? []) jobs.push(await SyndicateJob.build(job, event.expiry, deps));
|
|
128
|
-
event.jobs = jobs;
|
|
129
|
-
}
|
|
130
|
-
if (data.PreviousJobs) {
|
|
131
|
-
const previousJobs = [];
|
|
132
|
-
for await (const job of data.PreviousJobs ?? []) previousJobs.push(await SyndicateJob.build(job, event.expiry, deps));
|
|
133
|
-
event.previousJobs = previousJobs;
|
|
134
|
-
}
|
|
135
|
-
return event;
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* @param data The event data
|
|
139
|
-
* @param deps The dependencies object
|
|
140
|
-
*/
|
|
141
|
-
constructor(data, { locale = "en" } = { locale: "en" }) {
|
|
142
|
-
super(data);
|
|
143
|
-
const opts = { locale };
|
|
144
|
-
this.maximumScore = Number.parseInt(String(data.Goal), 10);
|
|
145
|
-
this.currentScore = Number.parseInt(String(data.Count), 10);
|
|
146
|
-
this.smallInterval = Number.parseInt(String(data.GoalInterim), 10);
|
|
147
|
-
this.largeInterval = Number.parseInt(String(data.GoalInterim2), 10);
|
|
148
|
-
this.faction = data.Faction ? faction(data.Faction, locale) : void 0;
|
|
149
|
-
this.description = languageString(data.Desc, locale);
|
|
150
|
-
this.tooltip = data.ToolTip ? languageString(data.ToolTip, locale) : void 0;
|
|
151
|
-
this.node = data.Node ? node(data.Node, locale) : void 0;
|
|
152
|
-
this.concurrentNodes = data.ConcurrentNodes ? data.ConcurrentNodes.map((n) => node(n, locale)) : [];
|
|
153
|
-
this.victimNode = data.VictimNode ? node(data.VictimNode, locale) : void 0;
|
|
154
|
-
this.scoreLocTag = data.ScoreLocTag ? languageString(data.ScoreLocTag, locale) : void 0;
|
|
155
|
-
if (data.Fomorian) this.scoreLocTag = "Fomorian Assault Score";
|
|
156
|
-
this.rewards = Object.keys(data).filter((k) => k.includes("Reward") || k.includes("reward")).map((k) => new Reward(data[k], opts)).filter((r) => r.items.length > 0);
|
|
157
|
-
this.health = typeof data.HealthPct !== "undefined" ? Number.parseFloat(((data.HealthPct || 0) * 100).toFixed(2)) : void 0;
|
|
158
|
-
this.jobs = [];
|
|
159
|
-
this.previousJobs = [];
|
|
160
|
-
this.previousId = data.JobPreviousVersion?.$oid;
|
|
161
|
-
this.interimSteps = [];
|
|
162
|
-
(data.InterimRewards || []).forEach((reward, index) => {
|
|
163
|
-
const msg = (data.InterimRewardMessages || [])[index] || {};
|
|
164
|
-
this.interimSteps[index] = {
|
|
165
|
-
goal: Number.parseInt(String(data.InterimGoals[index]), 10),
|
|
166
|
-
reward: reward ? new Reward(reward, opts) : void 0,
|
|
167
|
-
message: {
|
|
168
|
-
sender: languageString(msg.sender, locale),
|
|
169
|
-
subject: languageString(msg.subject, locale),
|
|
170
|
-
message: languageString(msg.message, locale),
|
|
171
|
-
senderIcon: msg.senderIcon,
|
|
172
|
-
attachments: msg.attachments
|
|
173
|
-
},
|
|
174
|
-
winnerCount: (data._interimWinnerCounts || [])[index]
|
|
175
|
-
};
|
|
176
|
-
});
|
|
177
|
-
this.progressSteps = [];
|
|
178
|
-
if (data.IsMultiProgress) {
|
|
179
|
-
data.Types?.forEach((type, index) => {
|
|
180
|
-
this.progressSteps[index] = {
|
|
181
|
-
type: languageString(type, locale),
|
|
182
|
-
progressAmt: Number.parseInt(String(data.MultiProgress[index]), 10)
|
|
183
|
-
};
|
|
184
|
-
});
|
|
185
|
-
this.progressTotal = Number.parseFloat(String(data.MultiProgress.reduce((acc, val) => acc + Number.parseFloat(val), 0)));
|
|
186
|
-
}
|
|
187
|
-
this.showTotalAtEndOfMission = data.ShowTotalAtEOM ?? false;
|
|
188
|
-
this.isPersonal = data.Personal;
|
|
189
|
-
this.isCommunity = data.Community ?? false;
|
|
190
|
-
this.regionDrops = (data.RegionDrops || []).map((drop) => languageString(drop, locale));
|
|
191
|
-
this.archwingDrops = (data.ArchwingDrops || []).map((drop) => languageString(drop, locale));
|
|
192
|
-
this.metadata = JSON.parse((data.Metadata || "{}").replace("\" ", "\""));
|
|
193
|
-
this.completionBonuses = data.CompletionBonus || [];
|
|
194
|
-
this.scoreVar = data.ScoreVar;
|
|
195
|
-
this.altExpiry = parseDate(data.AltExpiry);
|
|
196
|
-
this.altActivation = parseDate(data.AltActivation);
|
|
197
|
-
this.nextAlt = {
|
|
198
|
-
expiry: parseDate(data.NextAltExpiry),
|
|
199
|
-
activation: parseDate(data.NextAltActivation)
|
|
200
|
-
};
|
|
201
|
-
if (data.JobAffiliationTag) this.affiliatedWith = syndicate(data.JobAffiliationTag, locale);
|
|
202
|
-
this.tag = data.Tag;
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* Whether the event has expired
|
|
206
|
-
*/
|
|
207
|
-
get expired() {
|
|
208
|
-
return fromNow(this.expiry) < 0;
|
|
209
|
-
}
|
|
210
|
-
};
|
|
211
|
-
|
|
212
|
-
//#endregion
|
|
213
|
-
export { WorldEvent as t };
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { fromNow, insist, parseDate, timeDeltaToString } from "warframe-worldstate-data/utilities";
|
|
2
|
-
|
|
3
|
-
//#region lib/models/WorldStateObject.ts
|
|
4
|
-
/**
|
|
5
|
-
* Represents a generic object from WorldState
|
|
6
|
-
*/
|
|
7
|
-
var WorldStateObject = class {
|
|
8
|
-
/**
|
|
9
|
-
* The object's id field
|
|
10
|
-
*/
|
|
11
|
-
id;
|
|
12
|
-
/**
|
|
13
|
-
* The date and time at which the WorldStateObject started
|
|
14
|
-
*/
|
|
15
|
-
activation;
|
|
16
|
-
/**
|
|
17
|
-
* The date and time at which the WorldStateObject ends
|
|
18
|
-
*/
|
|
19
|
-
expiry;
|
|
20
|
-
/**
|
|
21
|
-
* @param data The object data
|
|
22
|
-
*/
|
|
23
|
-
constructor(data) {
|
|
24
|
-
insist({ ...data });
|
|
25
|
-
this.id = data._id ? data._id.$oid || data._id.$id : void 0;
|
|
26
|
-
if (data.Activation) this.activation = parseDate(data.Activation);
|
|
27
|
-
if (data.Expiry) this.expiry = parseDate(data.Expiry);
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Whether the void trader is active (at time of object creation)
|
|
31
|
-
*/
|
|
32
|
-
get active() {
|
|
33
|
-
if (!this.activation && !this.expiry) return false;
|
|
34
|
-
return fromNow(this.activation) < 0 && fromNow(this.expiry) > 0;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* A string indicating how long it will take for the trader to arrive
|
|
38
|
-
* (at time of object creation)
|
|
39
|
-
*/
|
|
40
|
-
get startString() {
|
|
41
|
-
if (!this.activation) return void 0;
|
|
42
|
-
return timeDeltaToString(fromNow(this.activation));
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Time delta string from now to the end
|
|
46
|
-
*/
|
|
47
|
-
get endString() {
|
|
48
|
-
if (!this.expiry) return void 0;
|
|
49
|
-
return timeDeltaToString(fromNow(this.expiry));
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
//#endregion
|
|
54
|
-
export { WorldStateObject as t };
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { ContentTimestamp } from "warframe-worldstate-data/utilities";
|
|
2
|
-
|
|
3
|
-
//#region lib/models/WorldStateObject.d.ts
|
|
4
|
-
interface Identifier {
|
|
5
|
-
$id?: string;
|
|
6
|
-
$oid?: string;
|
|
7
|
-
}
|
|
8
|
-
interface BaseContentObject {
|
|
9
|
-
_id?: Identifier;
|
|
10
|
-
Activation?: ContentTimestamp;
|
|
11
|
-
Expiry?: ContentTimestamp;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Represents a generic object from WorldState
|
|
15
|
-
*/
|
|
16
|
-
declare class WorldStateObject {
|
|
17
|
-
/**
|
|
18
|
-
* The object's id field
|
|
19
|
-
*/
|
|
20
|
-
id?: string;
|
|
21
|
-
/**
|
|
22
|
-
* The date and time at which the WorldStateObject started
|
|
23
|
-
*/
|
|
24
|
-
activation?: Date;
|
|
25
|
-
/**
|
|
26
|
-
* The date and time at which the WorldStateObject ends
|
|
27
|
-
*/
|
|
28
|
-
expiry?: Date;
|
|
29
|
-
/**
|
|
30
|
-
* @param data The object data
|
|
31
|
-
*/
|
|
32
|
-
constructor(data: BaseContentObject);
|
|
33
|
-
/**
|
|
34
|
-
* Whether the void trader is active (at time of object creation)
|
|
35
|
-
*/
|
|
36
|
-
get active(): boolean;
|
|
37
|
-
/**
|
|
38
|
-
* A string indicating how long it will take for the trader to arrive
|
|
39
|
-
* (at time of object creation)
|
|
40
|
-
*/
|
|
41
|
-
get startString(): string | undefined;
|
|
42
|
-
/**
|
|
43
|
-
* Time delta string from now to the end
|
|
44
|
-
*/
|
|
45
|
-
get endString(): string | undefined;
|
|
46
|
-
}
|
|
47
|
-
//#endregion
|
|
48
|
-
export { Identifier as n, WorldStateObject as r, BaseContentObject as t };
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { r as WorldStateObject } from "./WorldStateObject-C1HEDkH7.mjs";
|
|
2
|
-
|
|
3
|
-
//#region lib/models/ZarimanCycle.d.ts
|
|
4
|
-
interface CurrentZarimanCycle {
|
|
5
|
-
isCorpus: boolean;
|
|
6
|
-
timeLeft: string;
|
|
7
|
-
expiry: Date;
|
|
8
|
-
expiresIn: number;
|
|
9
|
-
state: string;
|
|
10
|
-
start: number;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Represents the current Zariman Corpus/Grineer Cycle
|
|
14
|
-
* @augments {WorldStateObject}
|
|
15
|
-
*/
|
|
16
|
-
declare class ZarimanCycle extends WorldStateObject {
|
|
17
|
-
#private;
|
|
18
|
-
/**
|
|
19
|
-
* Whether or not this it's corpus or grineer
|
|
20
|
-
*/
|
|
21
|
-
isCorpus: boolean;
|
|
22
|
-
/**
|
|
23
|
-
* Current cycle state. One of `corpus`, `grineer`
|
|
24
|
-
*/
|
|
25
|
-
state: string;
|
|
26
|
-
/**
|
|
27
|
-
* Time remaining string
|
|
28
|
-
*/
|
|
29
|
-
timeLeft: string;
|
|
30
|
-
/**
|
|
31
|
-
* @param {Date} bountiesEndDate The current Zariman cycle expiry
|
|
32
|
-
*/
|
|
33
|
-
constructor(bountiesEndDate: Date);
|
|
34
|
-
/**
|
|
35
|
-
* Whether this is expired
|
|
36
|
-
*/
|
|
37
|
-
get expired(): boolean;
|
|
38
|
-
getCurrentZarimanCycle(): CurrentZarimanCycle;
|
|
39
|
-
/**
|
|
40
|
-
* The event's string representation
|
|
41
|
-
*/
|
|
42
|
-
get shortString(): string;
|
|
43
|
-
}
|
|
44
|
-
//#endregion
|
|
45
|
-
export { ZarimanCycle as n, CurrentZarimanCycle as t };
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { t as WorldStateObject } from "./WorldStateObject-45dbRgp7.mjs";
|
|
2
|
-
import { fromNow, timeDeltaToString } from "warframe-worldstate-data/utilities";
|
|
3
|
-
|
|
4
|
-
//#region lib/models/ZarimanCycle.ts
|
|
5
|
-
const corpusTimeMillis = 16551828e5;
|
|
6
|
-
const fullCycle = 18e6;
|
|
7
|
-
const stateMaximum = 9e6;
|
|
8
|
-
/**
|
|
9
|
-
* Represents the current Zariman Corpus/Grineer Cycle
|
|
10
|
-
* @augments {WorldStateObject}
|
|
11
|
-
*/
|
|
12
|
-
var ZarimanCycle = class extends WorldStateObject {
|
|
13
|
-
/**
|
|
14
|
-
* Whether or not this it's corpus or grineer
|
|
15
|
-
*/
|
|
16
|
-
isCorpus;
|
|
17
|
-
/**
|
|
18
|
-
* Current cycle state. One of `corpus`, `grineer`
|
|
19
|
-
*/
|
|
20
|
-
state;
|
|
21
|
-
/**
|
|
22
|
-
* Time remaining string
|
|
23
|
-
*/
|
|
24
|
-
timeLeft;
|
|
25
|
-
/**
|
|
26
|
-
* The current zariman cycle, for calculating the other fields
|
|
27
|
-
*/
|
|
28
|
-
#ec;
|
|
29
|
-
/**
|
|
30
|
-
* The end of the Zariman bounties timer, the faction changes exactly half way through
|
|
31
|
-
*/
|
|
32
|
-
#bountiesEndDate;
|
|
33
|
-
/**
|
|
34
|
-
* @param {Date} bountiesEndDate The current Zariman cycle expiry
|
|
35
|
-
*/
|
|
36
|
-
constructor(bountiesEndDate) {
|
|
37
|
-
super({ _id: { $oid: "zarimanCycle0" } });
|
|
38
|
-
this.#bountiesEndDate = bountiesEndDate;
|
|
39
|
-
this.#ec = this.getCurrentZarimanCycle();
|
|
40
|
-
this.expiry = this.#ec.expiry;
|
|
41
|
-
this.activation = new Date(this.#ec.start);
|
|
42
|
-
this.isCorpus = this.#ec.isCorpus;
|
|
43
|
-
this.state = this.#ec.state;
|
|
44
|
-
this.timeLeft = this.#ec.timeLeft;
|
|
45
|
-
this.id = `zarimanCycle${this.expiry.getTime()}`;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Whether this is expired
|
|
49
|
-
*/
|
|
50
|
-
get expired() {
|
|
51
|
-
return this.expiry ? fromNow(this.expiry) < 0 : true;
|
|
52
|
-
}
|
|
53
|
-
getCurrentZarimanCycle() {
|
|
54
|
-
const now = Date.now();
|
|
55
|
-
const bountiesClone = this.#bountiesEndDate.getTime() - 5e3;
|
|
56
|
-
const millisLeft = fromNow(new Date(bountiesClone));
|
|
57
|
-
const isCorpus = fullCycle - ((bountiesClone - corpusTimeMillis) % fullCycle + fullCycle) % fullCycle > stateMaximum;
|
|
58
|
-
const minutesCoef = 1e3 * 60;
|
|
59
|
-
const expiry = new Date(Math.round((now + millisLeft) / minutesCoef) * minutesCoef);
|
|
60
|
-
const state = isCorpus ? "corpus" : "grineer";
|
|
61
|
-
return {
|
|
62
|
-
isCorpus,
|
|
63
|
-
timeLeft: timeDeltaToString(millisLeft),
|
|
64
|
-
expiry,
|
|
65
|
-
expiresIn: millisLeft,
|
|
66
|
-
state,
|
|
67
|
-
start: expiry.getTime() - stateMaximum
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* The event's string representation
|
|
72
|
-
*/
|
|
73
|
-
get shortString() {
|
|
74
|
-
return `${this.timeLeft.replace(/\s\d*s/gi, "")} to ${this.isCorpus ? "grineer" : "corpus"}`;
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
//#endregion
|
|
79
|
-
export { ZarimanCycle as t };
|