warframe-worldstate-parser 4.1.0 → 4.2.1

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/lib/WorldState.js CHANGED
@@ -31,6 +31,7 @@ import Alert from './models/Alert.js';
31
31
  import WorldEvent from './models/WorldEvent.js';
32
32
  import News from './models/News.js';
33
33
  import Kinepage from './models/Kinepage.js';
34
+ import DeepArchimedea from './models/DeepArchidemea.js';
34
35
 
35
36
  const { sortieData } = wsData;
36
37
 
@@ -365,6 +366,16 @@ export class WorldState {
365
366
  this.duviriCycle = new DuviriCycle(deps);
366
367
 
367
368
  this.kinepage = new Kinepage(tmp.pgr, deps.locale);
369
+
370
+ if (tmp.lqo27) {
371
+ const { activation, expiry } = this.nightwave.activeChallenges.filter((c) => !c.isDaily)[0];
372
+
373
+ /**
374
+ * The current Deep Archimedea missions and modifiers
375
+ * @type {DeepArchimedea}
376
+ */
377
+ this.deepArchimedea = new DeepArchimedea(activation, expiry, tmp.lqo27);
378
+ }
368
379
  }
369
380
  }
370
381
 
@@ -0,0 +1,33 @@
1
+ import { languageDesc, languageString } from 'warframe-worldstate-data/utilities';
2
+
3
+ class DeepArchidemeaMission {
4
+ constructor(mission, deviation, risks, locale) {
5
+ this.mission = mission;
6
+
7
+ this.deviation = {
8
+ key: deviation,
9
+ name: languageString(deviation, locale),
10
+ description: languageDesc(deviation, locale),
11
+ };
12
+
13
+ this.riskVariables = risks.map((i) => {
14
+ return { key: i, name: languageString(i, locale), description: languageDesc(i, locale) };
15
+ });
16
+ }
17
+ }
18
+
19
+ export default class DeepArchimedea {
20
+ constructor(activation, expiry, data, locale = 'en') {
21
+ this.id = `${new Date(activation).getTime()}DeepArchimedea`;
22
+
23
+ this.activation = activation;
24
+
25
+ this.expiry = expiry;
26
+
27
+ this.missions = data.mt.map((m, i) => new DeepArchidemeaMission(m, data.mv[i], data.c[i], locale));
28
+
29
+ this.personalModifiers = data.fv.map((i) => {
30
+ return { key: i, name: languageString(i, locale), description: languageDesc(i, locale) };
31
+ });
32
+ }
33
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "warframe-worldstate-parser",
3
- "version": "4.1.0",
3
+ "version": "4.2.1",
4
4
  "description": "An Open parser for Warframe's Worldstate in Javascript",
5
5
  "keywords": [
6
6
  "warframe-worldstate",
@@ -32,7 +32,7 @@
32
32
  "types"
33
33
  ],
34
34
  "peerDependencies": {
35
- "warframe-worldstate-data": ">=2.0.3"
35
+ "warframe-worldstate-data": ">=2.12.2"
36
36
  },
37
37
  "engines": {
38
38
  "node": ">=18.19.0"
@@ -149,6 +149,11 @@ export class WorldState {
149
149
  steelPath: SteelPathOffering;
150
150
  duviriCycle: DuviriCycle;
151
151
  kinepage: Kinepage;
152
+ /**
153
+ * The current Deep Archimedea missions and modifiers
154
+ * @type {DeepArchimedea}
155
+ */
156
+ deepArchimedea: DeepArchimedea;
152
157
  }
153
158
  declare function _default(json: any, deps: any): Promise<WorldState>;
154
159
  export default _default;
@@ -179,3 +184,4 @@ import SentientOutpost from './models/SentientOutpost.js';
179
184
  import SteelPathOffering from './models/SteelPathOffering.js';
180
185
  import DuviriCycle from './models/DuviriCycle.js';
181
186
  import Kinepage from './models/Kinepage.js';
187
+ import DeepArchimedea from './models/DeepArchidemea.js';
@@ -0,0 +1,8 @@
1
+ export default class DeepArchimedea {
2
+ constructor(activation: any, expiry: any, data: any, locale?: string);
3
+ id: string;
4
+ activation: any;
5
+ expiry: any;
6
+ missions: any;
7
+ personalModifiers: any;
8
+ }