warframe-worldstate-parser 5.2.16 → 5.2.18

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