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.
Files changed (181) hide show
  1. package/dist/lib/WorldState.d.mts +35 -19
  2. package/dist/lib/WorldState.mjs +31 -45
  3. package/dist/lib/models/Alert.d.mts +45 -17
  4. package/dist/lib/models/Alert.mjs +49 -5
  5. package/dist/lib/models/Archimedea.d.mts +86 -17
  6. package/dist/lib/models/Archimedea.mjs +88 -2
  7. package/dist/lib/models/Calendar.d.mts +77 -2
  8. package/dist/lib/models/Calendar.mjs +79 -2
  9. package/dist/lib/models/CambionCycle.d.mts +21 -3
  10. package/dist/lib/models/CambionCycle.mjs +28 -2
  11. package/dist/lib/models/CetusCycle.d.mts +48 -2
  12. package/dist/lib/models/CetusCycle.mjs +87 -2
  13. package/dist/lib/models/ChallengeInstance.d.mts +53 -17
  14. package/dist/lib/models/ChallengeInstance.mjs +46 -1
  15. package/dist/lib/models/ConclaveChallenge.d.mts +76 -17
  16. package/dist/lib/models/ConclaveChallenge.mjs +77 -2
  17. package/dist/lib/models/ConstructionProgress.d.mts +17 -2
  18. package/dist/lib/models/ConstructionProgress.mjs +23 -2
  19. package/dist/lib/models/DailyDeal.d.mts +66 -17
  20. package/dist/lib/models/DailyDeal.mjs +64 -2
  21. package/dist/lib/models/DarkSector.d.mts +142 -17
  22. package/dist/lib/models/DarkSector.mjs +136 -6
  23. package/dist/lib/models/DarkSectorBattle.d.mts +52 -2
  24. package/dist/lib/models/DarkSectorBattle.mjs +49 -1
  25. package/dist/lib/models/DuviriCycle.d.mts +23 -17
  26. package/dist/lib/models/DuviriCycle.mjs +55 -2
  27. package/dist/lib/models/EarthCycle.d.mts +59 -2
  28. package/dist/lib/models/EarthCycle.mjs +73 -2
  29. package/dist/lib/models/Fissure.d.mts +78 -17
  30. package/dist/lib/models/Fissure.mjs +83 -2
  31. package/dist/lib/models/FlashSale.d.mts +71 -17
  32. package/dist/lib/models/FlashSale.mjs +73 -2
  33. package/dist/lib/models/GlobalUpgrade.d.mts +55 -17
  34. package/dist/lib/models/GlobalUpgrade.mjs +56 -2
  35. package/dist/lib/models/Invasion.d.mts +113 -17
  36. package/dist/lib/models/Invasion.mjs +106 -4
  37. package/dist/lib/models/Kinepage.d.mts +21 -1
  38. package/dist/lib/models/Kinepage.mjs +22 -1
  39. package/dist/lib/models/Kuva.d.mts +20 -17
  40. package/dist/lib/models/Kuva.mjs +85 -1
  41. package/dist/lib/models/MidrathCycle.d.mts +24 -2
  42. package/dist/lib/models/MidrathCycle.mjs +66 -2
  43. package/dist/lib/models/Mission.d.mts +138 -17
  44. package/dist/lib/models/Mission.mjs +138 -3
  45. package/dist/lib/models/News.d.mts +100 -2
  46. package/dist/lib/models/News.mjs +116 -2
  47. package/dist/lib/models/Nightwave.d.mts +58 -3
  48. package/dist/lib/models/Nightwave.mjs +58 -3
  49. package/dist/lib/models/NightwaveChallenge.d.mts +50 -2
  50. package/dist/lib/models/NightwaveChallenge.mjs +51 -2
  51. package/dist/lib/models/PersistentEnemy.d.mts +78 -2
  52. package/dist/lib/models/PersistentEnemy.mjs +74 -2
  53. package/dist/lib/models/Reward.d.mts +67 -17
  54. package/dist/lib/models/Reward.mjs +71 -2
  55. package/dist/lib/models/SentientOutpost.d.mts +46 -17
  56. package/dist/lib/models/SentientOutpost.mjs +63 -1
  57. package/dist/lib/models/Simaris.d.mts +36 -17
  58. package/dist/lib/models/Simaris.mjs +33 -1
  59. package/dist/lib/models/Sortie.d.mts +60 -17
  60. package/dist/lib/models/Sortie.mjs +71 -6
  61. package/dist/lib/models/SortieVariant.d.mts +49 -17
  62. package/dist/lib/models/SortieVariant.mjs +49 -1
  63. package/dist/lib/models/SteelPathOffering.d.mts +36 -1
  64. package/dist/lib/models/SteelPathOffering.mjs +81 -1
  65. package/dist/lib/models/SyndicateJob.d.mts +92 -17
  66. package/dist/lib/models/SyndicateJob.mjs +161 -5
  67. package/dist/lib/models/SyndicateMission.d.mts +58 -17
  68. package/dist/lib/models/SyndicateMission.mjs +64 -6
  69. package/dist/lib/models/Tmp.d.mts +34 -17
  70. package/dist/lib/models/Tmp.mjs +28 -2
  71. package/dist/lib/models/VallisCycle.d.mts +29 -2
  72. package/dist/lib/models/VallisCycle.mjs +72 -2
  73. package/dist/lib/models/VoidTrader.d.mts +76 -17
  74. package/dist/lib/models/VoidTrader.mjs +76 -4
  75. package/dist/lib/models/VoidTraderItem.d.mts +43 -17
  76. package/dist/lib/models/VoidTraderItem.mjs +36 -1
  77. package/dist/lib/models/VoidTraderSchedule.d.mts +16 -17
  78. package/dist/lib/models/VoidTraderSchedule.mjs +12 -1
  79. package/dist/lib/models/WeeklyChallenge.d.mts +19 -17
  80. package/dist/lib/models/WeeklyChallenge.mjs +19 -3
  81. package/dist/lib/models/WorldEvent.d.mts +204 -17
  82. package/dist/lib/models/WorldEvent.mjs +211 -7
  83. package/dist/lib/models/WorldStateObject.d.mts +47 -1
  84. package/dist/lib/models/WorldStateObject.mjs +52 -1
  85. package/dist/lib/models/ZarimanCycle.d.mts +44 -2
  86. package/dist/lib/models/ZarimanCycle.mjs +77 -2
  87. package/dist/lib/models/index.d.mts +42 -18
  88. package/dist/lib/models/index.mjs +42 -45
  89. package/dist/lib/supporting/Dependency.d.mts +40 -1
  90. package/dist/lib/supporting/DuviriChoice.d.mts +18 -17
  91. package/dist/lib/supporting/DuviriChoice.mjs +23 -1
  92. package/dist/lib/supporting/ExternalMission.d.mts +48 -1
  93. package/dist/lib/supporting/FetchProxy.d.mts +9 -1
  94. package/dist/lib/supporting/FetchProxy.mjs +44 -1
  95. package/dist/lib/supporting/ImgCdn.d.mts +5 -1
  96. package/dist/lib/supporting/ImgCdn.mjs +5 -1
  97. package/dist/lib/supporting/KuvaLogEntry.d.mts +20 -1
  98. package/dist/lib/supporting/RewardData.d.mts +10 -1
  99. package/dist/lib/supporting/RewardData.mjs +74 -1
  100. package/dist/lib/supporting/RewardTypes.d.mts +33 -1
  101. package/dist/lib/supporting/RewardTypes.mjs +326 -1
  102. package/dist/lib/supporting/index.d.mts +8 -23
  103. package/dist/lib/supporting/index.mjs +5 -6
  104. package/dist/main.d.mts +52 -24
  105. package/dist/main.mjs +47 -48
  106. package/package.json +1 -1
  107. package/dist/Alert-CPT2sBmd.mjs +0 -51
  108. package/dist/Archimedea-Vo36QE99.mjs +0 -90
  109. package/dist/Calendar-CRM0XhAy.d.mts +0 -78
  110. package/dist/Calendar-_gEQ9BEd.mjs +0 -81
  111. package/dist/CambionCycle-B1pqIgks.mjs +0 -30
  112. package/dist/CambionCycle-OI3v1knd.d.mts +0 -22
  113. package/dist/CetusCycle-Ct51M2pd.mjs +0 -89
  114. package/dist/CetusCycle-DQ4n05vO.d.mts +0 -49
  115. package/dist/ChallengeInstance-BOu_e7ML.mjs +0 -48
  116. package/dist/ConclaveChallenge-BTN6UyV6.mjs +0 -79
  117. package/dist/ConstructionProgress-BoF2P9fx.mjs +0 -25
  118. package/dist/ConstructionProgress-DG2KzS0X.d.mts +0 -18
  119. package/dist/DailyDeal-aoNeCFWT.mjs +0 -66
  120. package/dist/DarkSector-D0uJWCg7.mjs +0 -138
  121. package/dist/DarkSectorBattle-CiSe3kFm.d.mts +0 -53
  122. package/dist/DarkSectorBattle-CqRYeNpe.mjs +0 -51
  123. package/dist/Dependency-BR-dAeHI.mjs +0 -1
  124. package/dist/Dependency-CNqXngHD.d.mts +0 -41
  125. package/dist/DuviriChoice-BEBiWA-g.mjs +0 -25
  126. package/dist/DuviriCycle-Do7mMnoC.mjs +0 -57
  127. package/dist/EarthCycle-BOAlcAuQ.mjs +0 -75
  128. package/dist/EarthCycle-CxtijnVV.d.mts +0 -60
  129. package/dist/ExternalMission-C82w4uMq.d.mts +0 -49
  130. package/dist/ExternalMission-D3MSZgnN.mjs +0 -1
  131. package/dist/FetchProxy-Bkdk15SX.mjs +0 -46
  132. package/dist/FetchProxy-DfSTUgkf.d.mts +0 -10
  133. package/dist/Fissure-diM4hyi3.mjs +0 -85
  134. package/dist/FlashSale-CNfRaZhM.mjs +0 -75
  135. package/dist/GlobalUpgrade-CUtZw05z.mjs +0 -58
  136. package/dist/ImgCdn-BJOdWAbU.mjs +0 -7
  137. package/dist/ImgCdn-D0hSGSB1.d.mts +0 -6
  138. package/dist/Invasion-Corx1lxf.mjs +0 -108
  139. package/dist/Kinepage-B-Ym_VW5.d.mts +0 -22
  140. package/dist/Kinepage-CbSzge67.mjs +0 -24
  141. package/dist/Kuva-Ijy2ZGBL.mjs +0 -87
  142. package/dist/KuvaLogEntry-D_VzIT3W.mjs +0 -1
  143. package/dist/KuvaLogEntry-cftxhjfU.d.mts +0 -21
  144. package/dist/MidrathCycle-E0gMF3AR.d.mts +0 -25
  145. package/dist/MidrathCycle-XD2T8Dx5.mjs +0 -68
  146. package/dist/Mission-b8KP-YDf.mjs +0 -140
  147. package/dist/News-DxEm-q6V.d.mts +0 -101
  148. package/dist/News-zAK-sYRg.mjs +0 -118
  149. package/dist/Nightwave-CPqMSqGK.d.mts +0 -59
  150. package/dist/Nightwave-cTRmlbwH.mjs +0 -60
  151. package/dist/NightwaveChallenge-C8ARG7LC.mjs +0 -53
  152. package/dist/NightwaveChallenge-CG3uychc.d.mts +0 -51
  153. package/dist/PersistentEnemy-3Sw5E8AN.mjs +0 -76
  154. package/dist/PersistentEnemy-DnnnreSz.d.mts +0 -79
  155. package/dist/Reward-3FBJF_hS.mjs +0 -73
  156. package/dist/RewardData-C_9b8Yhi.mjs +0 -76
  157. package/dist/RewardData-DWCgJ3UT.d.mts +0 -11
  158. package/dist/RewardTypes-DUrR7H3G.mjs +0 -328
  159. package/dist/RewardTypes-Y3tHrtIJ.d.mts +0 -34
  160. package/dist/SentientOutpost-Cadk-pIW.mjs +0 -65
  161. package/dist/Simaris-D6etEQp_.mjs +0 -35
  162. package/dist/Sortie-rSBgJc6U.mjs +0 -73
  163. package/dist/SortieVariant-CnuLkkNZ.mjs +0 -51
  164. package/dist/SteelPathOffering--wm-7hwb.mjs +0 -83
  165. package/dist/SteelPathOffering-CQkoKi5T.d.mts +0 -37
  166. package/dist/SyndicateJob-R89tWqvT.mjs +0 -162
  167. package/dist/SyndicateMission-CKZDWNyf.mjs +0 -66
  168. package/dist/Tmp-BYL_mYIG.mjs +0 -30
  169. package/dist/VallisCycle-6DCaWFoR.d.mts +0 -30
  170. package/dist/VallisCycle-C5JCM2ia.mjs +0 -74
  171. package/dist/VoidTrader-DtjtVUgR.mjs +0 -78
  172. package/dist/VoidTraderItem-Cz6x1KTF.mjs +0 -38
  173. package/dist/VoidTraderSchedule-BsJLu50V.mjs +0 -14
  174. package/dist/WeeklyChallenge-Dl2ekl6X.mjs +0 -21
  175. package/dist/WorldEvent-C-LaV2ug.mjs +0 -213
  176. package/dist/WorldStateObject-45dbRgp7.mjs +0 -54
  177. package/dist/WorldStateObject-C1HEDkH7.d.mts +0 -48
  178. package/dist/ZarimanCycle-BrSLIWhD.d.mts +0 -45
  179. package/dist/ZarimanCycle-DoAPwgaM.mjs +0 -79
  180. package/dist/index-Bgx8kIDy.d.mts +0 -1671
  181. package/dist/supporting-BLSXhlWM.mjs +0 -1
@@ -1,4 +1,30 @@
1
- import "../../WorldStateObject-45dbRgp7.mjs";
2
- import { t as CambionCycle } from "../../CambionCycle-B1pqIgks.mjs";
1
+ import { WorldStateObject } from "./WorldStateObject.mjs";
2
+ import { fromNow } from "warframe-worldstate-data/utilities";
3
3
 
4
+ //#region lib/models/CambionCycle.ts
5
+ /**
6
+ * Represents the current Cambion Drift Fass/Vome Cycle
7
+ * @augments {WorldStateObject}
8
+ */
9
+ var CambionCycle = class extends WorldStateObject {
10
+ timeLeft;
11
+ state;
12
+ /**
13
+ * @param {CetusCycle} cetusCycle Match data from cetus cycle for data
14
+ */
15
+ constructor(cetusCycle) {
16
+ super({ _id: { $oid: "cambionCycle0" } });
17
+ ({activation: this.activation, expiry: this.expiry, timeLeft: this.timeLeft} = cetusCycle);
18
+ this.state = cetusCycle.isDay ? "fass" : "vome";
19
+ this.id = `cambionCycle${this.expiry.getTime()}`;
20
+ }
21
+ /**
22
+ * Get whether the event has expired
23
+ */
24
+ get expired() {
25
+ return fromNow(this.expiry) < 0;
26
+ }
27
+ };
28
+
29
+ //#endregion
4
30
  export { CambionCycle };
@@ -1,3 +1,49 @@
1
- import "../../WorldStateObject-C1HEDkH7.mjs";
2
- import { n as CurrentCetusCycle, t as CetusCycle } from "../../CetusCycle-DQ4n05vO.mjs";
1
+ import { WorldStateObject } from "./WorldStateObject.mjs";
2
+
3
+ //#region lib/models/CetusCycle.d.ts
4
+ interface CurrentCetusCycle {
5
+ dayTime: boolean;
6
+ timeLeft: string;
7
+ expiry: Date;
8
+ expiresIn: number;
9
+ state: string;
10
+ start: number;
11
+ }
12
+ /**
13
+ * Represents the current Earth Day/Night Cycle
14
+ * @augments {WorldStateObject}
15
+ */
16
+ declare class CetusCycle extends WorldStateObject {
17
+ #private;
18
+ /**
19
+ * Whether it's daytime
20
+ */
21
+ isDay: boolean;
22
+ /**
23
+ * Current cycle state. One of `day`, `night`
24
+ */
25
+ state: string;
26
+ /**
27
+ * Time remaining string
28
+ */
29
+ timeLeft: string;
30
+ /**
31
+ * Whether this is for Cetus Cycle
32
+ */
33
+ isCetus: boolean;
34
+ /**
35
+ * @param bountiesEndDate The end date for Ostron bounties
36
+ */
37
+ constructor(bountiesEndDate: Date);
38
+ /**
39
+ * Whether or not the event has expired
40
+ */
41
+ get expired(): boolean;
42
+ /**
43
+ * Short summary of the current state
44
+ */
45
+ get shortString(): string;
46
+ private getCurrentCetusCycle;
47
+ }
48
+ //#endregion
3
49
  export { CetusCycle, CurrentCetusCycle };
@@ -1,4 +1,89 @@
1
- import "../../WorldStateObject-45dbRgp7.mjs";
2
- import { t as CetusCycle } from "../../CetusCycle-Ct51M2pd.mjs";
1
+ import { WorldStateObject } from "./WorldStateObject.mjs";
2
+ import { fromNow, timeDeltaToString } from "warframe-worldstate-data/utilities";
3
3
 
4
+ //#region lib/models/CetusCycle.ts
5
+ const nightTime = 3e3;
6
+ const maximums = {
7
+ day: 6e6,
8
+ night: 3e6
9
+ };
10
+ /**
11
+ * Represents the current Earth Day/Night Cycle
12
+ * @augments {WorldStateObject}
13
+ */
14
+ var CetusCycle = class extends WorldStateObject {
15
+ /**
16
+ * The end of the Ostron bounties timer (marks the end of night)
17
+ */
18
+ #bountiesEndDate;
19
+ /**
20
+ * The current cetus cycle, for calculating the other fields
21
+ */
22
+ #ec;
23
+ /**
24
+ * Whether it's daytime
25
+ */
26
+ isDay;
27
+ /**
28
+ * Current cycle state. One of `day`, `night`
29
+ */
30
+ state;
31
+ /**
32
+ * Time remaining string
33
+ */
34
+ timeLeft;
35
+ /**
36
+ * Whether this is for Cetus Cycle
37
+ */
38
+ isCetus;
39
+ /**
40
+ * @param bountiesEndDate The end date for Ostron bounties
41
+ */
42
+ constructor(bountiesEndDate) {
43
+ super({ _id: { $oid: "cetusCycle0" } });
44
+ this.#bountiesEndDate = bountiesEndDate;
45
+ this.#ec = this.getCurrentCetusCycle();
46
+ this.expiry = this.#ec.expiry;
47
+ this.activation = new Date(this.#ec.start);
48
+ this.isDay = this.#ec.dayTime;
49
+ this.state = this.#ec.state;
50
+ this.timeLeft = this.#ec.timeLeft;
51
+ this.isCetus = true;
52
+ this.id = `cetusCycle${this.expiry.getTime()}`;
53
+ }
54
+ /**
55
+ * Whether or not the event has expired
56
+ */
57
+ get expired() {
58
+ return fromNow(this.expiry) < 0;
59
+ }
60
+ /**
61
+ * Short summary of the current state
62
+ */
63
+ get shortString() {
64
+ return `${this.timeLeft.replace(/\s\d*s/gi, "")} to ${this.isDay ? "Night" : "Day"}`;
65
+ }
66
+ getCurrentCetusCycle() {
67
+ const now = Date.now();
68
+ const bountiesClone = this.#bountiesEndDate;
69
+ bountiesClone.setSeconds(0);
70
+ let millisLeft = fromNow(bountiesClone);
71
+ const secondsToNightEnd = Number((millisLeft / 1e3).toFixed(0));
72
+ const dayTime = secondsToNightEnd > nightTime;
73
+ millisLeft = (dayTime ? secondsToNightEnd - nightTime : secondsToNightEnd) * 1e3;
74
+ const minutesCoef = 1e3 * 60;
75
+ const expiry = new Date(Math.round((now + millisLeft) / minutesCoef) * minutesCoef);
76
+ const state = dayTime ? "day" : "night";
77
+ return {
78
+ dayTime,
79
+ timeLeft: timeDeltaToString(millisLeft),
80
+ expiry,
81
+ expiresIn: millisLeft,
82
+ state,
83
+ start: expiry.getTime() - maximums[state]
84
+ };
85
+ }
86
+ };
87
+
88
+ //#endregion
4
89
  export { CetusCycle };
@@ -1,18 +1,54 @@
1
- import "../../Dependency-CNqXngHD.mjs";
2
- import { K as ChallengeInstance, q as RawChallengeInstance } from "../../index-Bgx8kIDy.mjs";
3
- import "../../WorldStateObject-C1HEDkH7.mjs";
4
- import "../../Calendar-CRM0XhAy.mjs";
5
- import "../../CetusCycle-DQ4n05vO.mjs";
6
- import "../../CambionCycle-OI3v1knd.mjs";
7
- import "../../ConstructionProgress-DG2KzS0X.mjs";
8
- import "../../DarkSectorBattle-CiSe3kFm.mjs";
9
- import "../../EarthCycle-CxtijnVV.mjs";
10
- import "../../MidrathCycle-E0gMF3AR.mjs";
11
- import "../../News-DxEm-q6V.mjs";
12
- import "../../NightwaveChallenge-CG3uychc.mjs";
13
- import "../../Nightwave-CPqMSqGK.mjs";
14
- import "../../PersistentEnemy-DnnnreSz.mjs";
15
- import "../../SteelPathOffering-CQkoKi5T.mjs";
16
- import "../../VallisCycle-6DCaWFoR.mjs";
17
- import "../../ZarimanCycle-BrSLIWhD.mjs";
1
+ import { Dependency } from "../supporting/Dependency.mjs";
2
+ import "../supporting/index.mjs";
3
+
4
+ //#region lib/models/ChallengeInstance.d.ts
5
+ interface RawChallengeInstance {
6
+ Type: string;
7
+ MinimumEnemyLevel: string;
8
+ RequiredCount: string;
9
+ ProgressIndicatorFreq: string;
10
+ DamageType?: string;
11
+ VictimType?: string[];
12
+ Script?: {
13
+ _faction: string;
14
+ };
15
+ }
16
+ /**
17
+ * Describes a world challenge instance
18
+ */
19
+ declare class ChallengeInstance {
20
+ /**
21
+ * Type of challenge
22
+ */
23
+ type: string;
24
+ /**
25
+ * Minimum enemy level to fulfill challenge
26
+ */
27
+ minEnemyLevel: number;
28
+ /**
29
+ * Required number of units to complete challenge
30
+ */
31
+ requiredAmount: number;
32
+ /**
33
+ * Waypoint for amount of units between progression updates
34
+ */
35
+ progressAmount: number;
36
+ /**
37
+ * Required damage type
38
+ */
39
+ damageType?: string;
40
+ /**
41
+ * Target to fulfill challenge
42
+ */
43
+ target?: string;
44
+ /**
45
+ * @param data The challenge instance data
46
+ * @param deps The dependencies object
47
+ * @param deps.locale Locale to use for translations
48
+ */
49
+ constructor(data: RawChallengeInstance, {
50
+ locale
51
+ }?: Dependency);
52
+ }
53
+ //#endregion
18
54
  export { ChallengeInstance, RawChallengeInstance };
@@ -1,3 +1,48 @@
1
- import { t as ChallengeInstance } from "../../ChallengeInstance-BOu_e7ML.mjs";
1
+ import { languageString } from "warframe-worldstate-data/utilities";
2
2
 
3
+ //#region lib/models/ChallengeInstance.ts
4
+ /**
5
+ * Describes a world challenge instance
6
+ */
7
+ var ChallengeInstance = class {
8
+ /**
9
+ * Type of challenge
10
+ */
11
+ type;
12
+ /**
13
+ * Minimum enemy level to fulfill challenge
14
+ */
15
+ minEnemyLevel;
16
+ /**
17
+ * Required number of units to complete challenge
18
+ */
19
+ requiredAmount;
20
+ /**
21
+ * Waypoint for amount of units between progression updates
22
+ */
23
+ progressAmount;
24
+ /**
25
+ * Required damage type
26
+ */
27
+ damageType;
28
+ /**
29
+ * Target to fulfill challenge
30
+ */
31
+ target;
32
+ /**
33
+ * @param data The challenge instance data
34
+ * @param deps The dependencies object
35
+ * @param deps.locale Locale to use for translations
36
+ */
37
+ constructor(data, { locale = "en" } = { locale: "en" }) {
38
+ this.type = languageString(data.Type, locale);
39
+ this.minEnemyLevel = Number(data.MinimumEnemyLevel);
40
+ this.requiredAmount = Number(data.RequiredCount);
41
+ this.progressAmount = Number(data.ProgressIndicatorFreq);
42
+ this.damageType = data.DamageType ? languageString(data.DamageType, locale) : void 0;
43
+ this.target = data.VictimType?.[0] ? languageString(data.VictimType[0], locale) : data.Script?._faction;
44
+ }
45
+ };
46
+
47
+ //#endregion
3
48
  export { ChallengeInstance };
@@ -1,18 +1,77 @@
1
- import "../../Dependency-CNqXngHD.mjs";
2
- import { G as RawChallenge, W as ConclaveChallenge } from "../../index-Bgx8kIDy.mjs";
3
- import "../../WorldStateObject-C1HEDkH7.mjs";
4
- import "../../Calendar-CRM0XhAy.mjs";
5
- import "../../CetusCycle-DQ4n05vO.mjs";
6
- import "../../CambionCycle-OI3v1knd.mjs";
7
- import "../../ConstructionProgress-DG2KzS0X.mjs";
8
- import "../../DarkSectorBattle-CiSe3kFm.mjs";
9
- import "../../EarthCycle-CxtijnVV.mjs";
10
- import "../../MidrathCycle-E0gMF3AR.mjs";
11
- import "../../News-DxEm-q6V.mjs";
12
- import "../../NightwaveChallenge-CG3uychc.mjs";
13
- import "../../Nightwave-CPqMSqGK.mjs";
14
- import "../../PersistentEnemy-DnnnreSz.mjs";
15
- import "../../SteelPathOffering-CQkoKi5T.mjs";
16
- import "../../VallisCycle-6DCaWFoR.mjs";
17
- import "../../ZarimanCycle-BrSLIWhD.mjs";
1
+ import { Dependency } from "../supporting/Dependency.mjs";
2
+ import "../supporting/index.mjs";
3
+ import { BaseContentObject, WorldStateObject } from "./WorldStateObject.mjs";
4
+ import { ContentTimestamp } from "warframe-worldstate-data/utilities";
5
+
6
+ //#region lib/models/ConclaveChallenge.d.ts
7
+ interface RawChallenge extends BaseContentObject {
8
+ endDate: ContentTimestamp;
9
+ startDate: ContentTimestamp;
10
+ params: {
11
+ n: string;
12
+ v: number;
13
+ }[];
14
+ PVPMode: string;
15
+ Category: string;
16
+ challengeTypeRefID: string;
17
+ }
18
+ /**
19
+ * Represents a Conclave challenge
20
+ * @augments {WorldStateObject}
21
+ */
22
+ declare class ConclaveChallenge extends WorldStateObject {
23
+ /**
24
+ * The number of times that the challenge's objective needs to be completed
25
+ */
26
+ amount: number;
27
+ /**
28
+ * The PVP mode that the challenge must be completed in
29
+ */
30
+ mode: string;
31
+ /**
32
+ * The challenge's category (daily, weekly...)
33
+ */
34
+ category: string;
35
+ /**
36
+ * The challenge category unlocalized
37
+ */
38
+ categoryKey: string;
39
+ /**
40
+ * The challenge's description text
41
+ */
42
+ description?: string;
43
+ /**
44
+ * Title of the challenge
45
+ */
46
+ title?: string;
47
+ /**
48
+ * Standing granted by completing challenge.
49
+ */
50
+ standing?: number;
51
+ /**
52
+ * Whether or not this is a daily conclave challenge.
53
+ */
54
+ daily: boolean;
55
+ /**
56
+ * Whether or not this is the root challenge
57
+ */
58
+ rootChallenge: boolean;
59
+ /**
60
+ * @param {object} data The challenge data
61
+ * @param {object} deps The dependencies object
62
+ * @param {string} deps.locale Locale to use for translations
63
+ */
64
+ constructor(data: RawChallenge, {
65
+ locale
66
+ }?: Dependency);
67
+ /**
68
+ * Whether or not this is expired (at time of object creation)
69
+ */
70
+ get expired(): boolean;
71
+ /**
72
+ * ETA string (at time of object creation)
73
+ */
74
+ get eta(): string;
75
+ }
76
+ //#endregion
18
77
  export { ConclaveChallenge, RawChallenge };
@@ -1,4 +1,79 @@
1
- import "../../WorldStateObject-45dbRgp7.mjs";
2
- import { t as ConclaveChallenge } from "../../ConclaveChallenge-BTN6UyV6.mjs";
1
+ import { WorldStateObject } from "./WorldStateObject.mjs";
2
+ import { conclaveCategory, conclaveChallenge, conclaveMode, fromNow, parseDate, timeDeltaToString } from "warframe-worldstate-data/utilities";
3
3
 
4
+ //#region lib/models/ConclaveChallenge.ts
5
+ /**
6
+ * Represents a Conclave challenge
7
+ * @augments {WorldStateObject}
8
+ */
9
+ var ConclaveChallenge = class extends WorldStateObject {
10
+ /**
11
+ * The number of times that the challenge's objective needs to be completed
12
+ */
13
+ amount;
14
+ /**
15
+ * The PVP mode that the challenge must be completed in
16
+ */
17
+ mode;
18
+ /**
19
+ * The challenge's category (daily, weekly...)
20
+ */
21
+ category;
22
+ /**
23
+ * The challenge category unlocalized
24
+ */
25
+ categoryKey;
26
+ /**
27
+ * The challenge's description text
28
+ */
29
+ description;
30
+ /**
31
+ * Title of the challenge
32
+ */
33
+ title;
34
+ /**
35
+ * Standing granted by completing challenge.
36
+ */
37
+ standing;
38
+ /**
39
+ * Whether or not this is a daily conclave challenge.
40
+ */
41
+ daily;
42
+ /**
43
+ * Whether or not this is the root challenge
44
+ */
45
+ rootChallenge;
46
+ /**
47
+ * @param {object} data The challenge data
48
+ * @param {object} deps The dependencies object
49
+ * @param {string} deps.locale Locale to use for translations
50
+ */
51
+ constructor(data, { locale = "en" } = { locale: "en" }) {
52
+ super(data);
53
+ this.expiry = parseDate(data.endDate);
54
+ this.activation = parseDate(data.startDate);
55
+ this.amount = data.params[0].v;
56
+ this.mode = conclaveMode(data.PVPMode, locale);
57
+ this.category = conclaveCategory(data.Category, locale);
58
+ this.categoryKey = conclaveCategory(data.Category, "en");
59
+ this.daily = this.categoryKey.toLowerCase() === "day";
60
+ this.rootChallenge = this.categoryKey.toLowerCase() === "week_root";
61
+ const challenge = conclaveChallenge(data.challengeTypeRefID, locale);
62
+ ({title: this.title, description: this.description, standing: this.standing} = challenge);
63
+ }
64
+ /**
65
+ * Whether or not this is expired (at time of object creation)
66
+ */
67
+ get expired() {
68
+ return fromNow(this.expiry) < 0;
69
+ }
70
+ /**
71
+ * ETA string (at time of object creation)
72
+ */
73
+ get eta() {
74
+ return timeDeltaToString(fromNow(this.expiry));
75
+ }
76
+ };
77
+
78
+ //#endregion
4
79
  export { ConclaveChallenge };
@@ -1,3 +1,18 @@
1
- import "../../WorldStateObject-C1HEDkH7.mjs";
2
- import { t as ConstructionProgress } from "../../ConstructionProgress-DG2KzS0X.mjs";
1
+ import { WorldStateObject } from "./WorldStateObject.mjs";
2
+
3
+ //#region lib/models/ConstructionProgress.d.ts
4
+ /**
5
+ * Represents enemy construction progress
6
+ * @augments {WorldStateObject}
7
+ */
8
+ declare class ConstructionProgress extends WorldStateObject {
9
+ fomorianProgress: string;
10
+ razorbackProgress: string;
11
+ unknownProgress: string;
12
+ /**
13
+ * @param data The construction data
14
+ */
15
+ constructor(data: number[]);
16
+ }
17
+ //#endregion
3
18
  export { ConstructionProgress };
@@ -1,4 +1,25 @@
1
- import "../../WorldStateObject-45dbRgp7.mjs";
2
- import { t as ConstructionProgress } from "../../ConstructionProgress-BoF2P9fx.mjs";
1
+ import { WorldStateObject } from "./WorldStateObject.mjs";
2
+ import { createHash } from "node:crypto";
3
3
 
4
+ //#region lib/models/ConstructionProgress.ts
5
+ /**
6
+ * Represents enemy construction progress
7
+ * @augments {WorldStateObject}
8
+ */
9
+ var ConstructionProgress = class extends WorldStateObject {
10
+ fomorianProgress;
11
+ razorbackProgress;
12
+ unknownProgress;
13
+ /**
14
+ * @param data The construction data
15
+ */
16
+ constructor(data) {
17
+ super({ _id: { $oid: createHash("md5").update(JSON.stringify(data), "utf8").digest("hex") } });
18
+ this.fomorianProgress = (data[0] ?? 0).toFixed(2);
19
+ this.razorbackProgress = (data[1] ?? 0).toFixed(2);
20
+ this.unknownProgress = (data[2] ?? 0).toFixed(2);
21
+ }
22
+ };
23
+
24
+ //#endregion
4
25
  export { ConstructionProgress };
@@ -1,18 +1,67 @@
1
- import "../../Dependency-CNqXngHD.mjs";
2
- import { H as DailyDeal, U as RawDailyDeal } from "../../index-Bgx8kIDy.mjs";
3
- import "../../WorldStateObject-C1HEDkH7.mjs";
4
- import "../../Calendar-CRM0XhAy.mjs";
5
- import "../../CetusCycle-DQ4n05vO.mjs";
6
- import "../../CambionCycle-OI3v1knd.mjs";
7
- import "../../ConstructionProgress-DG2KzS0X.mjs";
8
- import "../../DarkSectorBattle-CiSe3kFm.mjs";
9
- import "../../EarthCycle-CxtijnVV.mjs";
10
- import "../../MidrathCycle-E0gMF3AR.mjs";
11
- import "../../News-DxEm-q6V.mjs";
12
- import "../../NightwaveChallenge-CG3uychc.mjs";
13
- import "../../Nightwave-CPqMSqGK.mjs";
14
- import "../../PersistentEnemy-DnnnreSz.mjs";
15
- import "../../SteelPathOffering-CQkoKi5T.mjs";
16
- import "../../VallisCycle-6DCaWFoR.mjs";
17
- import "../../ZarimanCycle-BrSLIWhD.mjs";
1
+ import { Dependency } from "../supporting/Dependency.mjs";
2
+ import "../supporting/index.mjs";
3
+ import { WorldStateObject } from "./WorldStateObject.mjs";
4
+ import { ContentTimestamp } from "warframe-worldstate-data/utilities";
5
+
6
+ //#region lib/models/DailyDeal.d.ts
7
+ interface RawDailyDeal {
8
+ StoreItem: string;
9
+ Expiry: ContentTimestamp;
10
+ Activation: ContentTimestamp;
11
+ OriginalPrice: number;
12
+ SalePrice: number;
13
+ AmountTotal: number;
14
+ AmountSold: number;
15
+ Discount: number;
16
+ }
17
+ /**
18
+ * Represents a daily deal
19
+ */
20
+ declare class DailyDeal extends WorldStateObject {
21
+ /**
22
+ * The item that is being offered in the sale
23
+ */
24
+ item: string;
25
+ /**
26
+ * The uniqueName for the item on sale
27
+ */
28
+ uniqueName: string;
29
+ /**
30
+ * The item's original price
31
+ */
32
+ originalPrice: number;
33
+ /**
34
+ * The item's discounted price
35
+ */
36
+ salePrice: number;
37
+ /**
38
+ * The number of available items on sale
39
+ */
40
+ total: number;
41
+ /**
42
+ * The number of items that have already been sold
43
+ */
44
+ sold: number;
45
+ /**
46
+ * Unique identifier for this deal built from the end time and item
47
+ */
48
+ id: string;
49
+ /**
50
+ * Percent discount
51
+ */
52
+ discount: number;
53
+ /**
54
+ * @param data The deal data
55
+ * @param deps The dependencies object
56
+ * @param deps.locale Locale to use for translations
57
+ */
58
+ constructor(data: RawDailyDeal, {
59
+ locale
60
+ }?: Dependency);
61
+ /**
62
+ * Get a string indicating how much time is left before the deal expires
63
+ */
64
+ get eta(): string;
65
+ }
66
+ //#endregion
18
67
  export { DailyDeal, RawDailyDeal };
@@ -1,4 +1,66 @@
1
- import "../../WorldStateObject-45dbRgp7.mjs";
2
- import { t as DailyDeal } from "../../DailyDeal-aoNeCFWT.mjs";
1
+ import { WorldStateObject } from "./WorldStateObject.mjs";
2
+ import { fromNow, languageString, timeDeltaToString } from "warframe-worldstate-data/utilities";
3
3
 
4
+ //#region lib/models/DailyDeal.ts
5
+ /**
6
+ * Represents a daily deal
7
+ */
8
+ var DailyDeal = class extends WorldStateObject {
9
+ /**
10
+ * The item that is being offered in the sale
11
+ */
12
+ item;
13
+ /**
14
+ * The uniqueName for the item on sale
15
+ */
16
+ uniqueName;
17
+ /**
18
+ * The item's original price
19
+ */
20
+ originalPrice;
21
+ /**
22
+ * The item's discounted price
23
+ */
24
+ salePrice;
25
+ /**
26
+ * The number of available items on sale
27
+ */
28
+ total;
29
+ /**
30
+ * The number of items that have already been sold
31
+ */
32
+ sold;
33
+ /**
34
+ * Unique identifier for this deal built from the end time and item
35
+ */
36
+ id;
37
+ /**
38
+ * Percent discount
39
+ */
40
+ discount;
41
+ /**
42
+ * @param data The deal data
43
+ * @param deps The dependencies object
44
+ * @param deps.locale Locale to use for translations
45
+ */
46
+ constructor(data, { locale = "en" } = { locale: "en" }) {
47
+ super(data);
48
+ this.item = languageString(data.StoreItem, locale);
49
+ this.uniqueName = data.StoreItem;
50
+ this.originalPrice = data.OriginalPrice;
51
+ this.salePrice = data.SalePrice;
52
+ this.total = data.AmountTotal;
53
+ this.sold = data.AmountSold;
54
+ this.id = `${data.StoreItem.split("/").slice(-1)[0]}${this.expiry.getTime()}`;
55
+ this.discount = data.Discount;
56
+ }
57
+ /**
58
+ * Get a string indicating how much time is left before the deal expires
59
+ */
60
+ get eta() {
61
+ return timeDeltaToString(fromNow(this.expiry));
62
+ }
63
+ };
64
+
65
+ //#endregion
4
66
  export { DailyDeal };