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,18 +1,143 @@
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 { Dependency } from "../supporting/Dependency.mjs";
2
+ import "../supporting/index.mjs";
3
+ import { Mission, RawMission } from "./Mission.mjs";
4
+ import { BaseContentObject, WorldStateObject } from "./WorldStateObject.mjs";
5
+ import { DarkSectorBattle, RawDarkSectorBattle } from "./DarkSectorBattle.mjs";
6
+ import { ContentTimestamp } from "warframe-worldstate-data/utilities";
7
+
8
+ //#region lib/models/DarkSector.d.ts
9
+ interface DefenderInfo {
10
+ CreditsTaxRate: number;
11
+ MemberCreditsTax: number;
12
+ ItemsTaxRate: number;
13
+ MemberItemsTaxRate: number;
14
+ IsAlliance: boolean;
15
+ Name: string;
16
+ StrengthRemaining: string;
17
+ MaxStrength: string;
18
+ DeploymentActivationTime: ContentTimestamp;
19
+ RailType: string;
20
+ MOTD: string;
21
+ DeployerName: string;
22
+ DeployerClan: string;
23
+ RailHealReserve: number;
24
+ healRate: string;
25
+ DamagePerMission: number;
26
+ MissionInfo?: RawMission;
27
+ BattlePayReserve: number;
28
+ MissionBattlePay: number;
29
+ BattlePaySetBy: string;
30
+ BattlePaySetByClan: string;
31
+ TaxLastChangedBy: string;
32
+ TaxLastChangedByClan: string;
33
+ }
34
+ interface RawDarkSector extends BaseContentObject {
35
+ DefenderInfo: DefenderInfo;
36
+ History: RawDarkSectorBattle[];
37
+ }
38
+ /**
39
+ * Represents a dark sector
40
+ * @augments {WorldStateObject}
41
+ */
42
+ declare class DarkSector extends WorldStateObject {
43
+ /**
44
+ * The dark sector credit tax rate
45
+ */
46
+ creditTaxRate: number;
47
+ /**
48
+ * The dark sector credit tax rate for clan/alliance members
49
+ */
50
+ memberCreditsTaxRate: number;
51
+ /**
52
+ * The dark sector resource tax rate
53
+ */
54
+ itemsTaxRate: number;
55
+ /**
56
+ * The dark sector resource tax rate for clan/alliance members
57
+ */
58
+ memberItemsTaxRate: number;
59
+ /**
60
+ * Whether the dark sector holder is an alliance or not
61
+ */
62
+ isAlliance: boolean;
63
+ /**
64
+ * The current holder of the dark sector
65
+ */
66
+ defenderName: string;
67
+ /**
68
+ * The remaining health of the current solar rail
69
+ */
70
+ defenderPoolRemaining: number;
71
+ /**
72
+ * The maximum health of the solar rail
73
+ */
74
+ defenderMaxPool: number;
75
+ /**
76
+ * The date and time at which the rail was deployed
77
+ */
78
+ defenderDeployemntActivation: number | Date;
79
+ /**
80
+ * The solar rail type
81
+ */
82
+ railType: string;
83
+ /**
84
+ * The MOTD set by the dark sector holder
85
+ */
86
+ defenderMOTD: string;
87
+ /**
88
+ * The player who deployed the solar rail
89
+ */
90
+ deployerName: string;
91
+ /**
92
+ * The clan of the player who deployed the solar rail
93
+ */
94
+ deployerClan: string;
95
+ defenderRailHealReserve: number;
96
+ healRate: number;
97
+ damagePerMission: number;
98
+ /**
99
+ * The dark sector's mission
100
+ */
101
+ mission?: Mission;
102
+ battlePayReserve: number;
103
+ /**
104
+ * The battle pay per mission offered to players
105
+ * @type {number}
106
+ */
107
+ perMissionBattlePay: number;
108
+ /**
109
+ * The player who set the battle pay
110
+ * @type {string}
111
+ */
112
+ battlePaySetBy: string;
113
+ /**
114
+ * The clan of the player who set the battle pay
115
+ * @type {string}
116
+ */
117
+ battlePaySetByClan: string;
118
+ /**
119
+ * The player who changed the tax
120
+ * @type {string}
121
+ */
122
+ taxChangedBy: string;
123
+ /**
124
+ * The clan of the player who set the tax
125
+ * @type {string}
126
+ */
127
+ taxChangedByClan: string;
128
+ /**
129
+ * The history of the dark sector
130
+ * @type {Array.<DarkSectorBattle>}
131
+ */
132
+ history: DarkSectorBattle[];
133
+ /**
134
+ * @param {object} data The dark sector data
135
+ * @param {object} deps The dependencies object
136
+ * @param {string} deps.locale Locale to use for translations
137
+ */
138
+ constructor(data: RawDarkSector, {
139
+ locale
140
+ }?: Dependency);
141
+ }
142
+ //#endregion
18
143
  export { DarkSector, DefenderInfo, RawDarkSector };
@@ -1,8 +1,138 @@
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";
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";
7
5
 
6
+ //#region lib/models/DarkSector.ts
7
+ /**
8
+ * Represents a dark sector
9
+ * @augments {WorldStateObject}
10
+ */
11
+ var DarkSector = class extends WorldStateObject {
12
+ /**
13
+ * The dark sector credit tax rate
14
+ */
15
+ creditTaxRate;
16
+ /**
17
+ * The dark sector credit tax rate for clan/alliance members
18
+ */
19
+ memberCreditsTaxRate;
20
+ /**
21
+ * The dark sector resource tax rate
22
+ */
23
+ itemsTaxRate;
24
+ /**
25
+ * The dark sector resource tax rate for clan/alliance members
26
+ */
27
+ memberItemsTaxRate;
28
+ /**
29
+ * Whether the dark sector holder is an alliance or not
30
+ */
31
+ isAlliance;
32
+ /**
33
+ * The current holder of the dark sector
34
+ */
35
+ defenderName;
36
+ /**
37
+ * The remaining health of the current solar rail
38
+ */
39
+ defenderPoolRemaining;
40
+ /**
41
+ * The maximum health of the solar rail
42
+ */
43
+ defenderMaxPool;
44
+ /**
45
+ * The date and time at which the rail was deployed
46
+ */
47
+ defenderDeployemntActivation;
48
+ /**
49
+ * The solar rail type
50
+ */
51
+ railType;
52
+ /**
53
+ * The MOTD set by the dark sector holder
54
+ */
55
+ defenderMOTD;
56
+ /**
57
+ * The player who deployed the solar rail
58
+ */
59
+ deployerName;
60
+ /**
61
+ * The clan of the player who deployed the solar rail
62
+ */
63
+ deployerClan;
64
+ defenderRailHealReserve;
65
+ healRate;
66
+ damagePerMission;
67
+ /**
68
+ * The dark sector's mission
69
+ */
70
+ mission;
71
+ battlePayReserve;
72
+ /**
73
+ * The battle pay per mission offered to players
74
+ * @type {number}
75
+ */
76
+ perMissionBattlePay;
77
+ /**
78
+ * The player who set the battle pay
79
+ * @type {string}
80
+ */
81
+ battlePaySetBy;
82
+ /**
83
+ * The clan of the player who set the battle pay
84
+ * @type {string}
85
+ */
86
+ battlePaySetByClan;
87
+ /**
88
+ * The player who changed the tax
89
+ * @type {string}
90
+ */
91
+ taxChangedBy;
92
+ /**
93
+ * The clan of the player who set the tax
94
+ * @type {string}
95
+ */
96
+ taxChangedByClan;
97
+ /**
98
+ * The history of the dark sector
99
+ * @type {Array.<DarkSectorBattle>}
100
+ */
101
+ history;
102
+ /**
103
+ * @param {object} data The dark sector data
104
+ * @param {object} deps The dependencies object
105
+ * @param {string} deps.locale Locale to use for translations
106
+ */
107
+ constructor(data, { locale = "en" } = { locale: "en" }) {
108
+ super(data);
109
+ const deps = { locale };
110
+ this.creditTaxRate = data.DefenderInfo.CreditsTaxRate;
111
+ this.memberCreditsTaxRate = data.DefenderInfo.MemberCreditsTax;
112
+ this.itemsTaxRate = data.DefenderInfo.ItemsTaxRate;
113
+ this.memberItemsTaxRate = data.DefenderInfo.MemberItemsTaxRate;
114
+ this.isAlliance = data.DefenderInfo.IsAlliance;
115
+ this.defenderName = data.DefenderInfo.Name;
116
+ this.defenderPoolRemaining = Number.parseFloat(data.DefenderInfo.StrengthRemaining);
117
+ this.defenderMaxPool = Number.parseFloat(data.DefenderInfo.MaxStrength);
118
+ this.defenderDeployemntActivation = data.DefenderInfo.DeploymentActivationTime ? parseDate(data.DefenderInfo.DeploymentActivationTime) : 0;
119
+ this.railType = languageString(data.DefenderInfo.RailType, locale);
120
+ this.defenderMOTD = data.DefenderInfo.MOTD;
121
+ this.deployerName = data.DefenderInfo.DeployerName;
122
+ this.deployerClan = data.DefenderInfo.DeployerClan;
123
+ this.defenderRailHealReserve = data.DefenderInfo.RailHealReserve;
124
+ this.healRate = Number.parseFloat(data.DefenderInfo.healRate);
125
+ this.damagePerMission = data.DefenderInfo.DamagePerMission;
126
+ this.mission = data.DefenderInfo.MissionInfo ? new Mission(data.DefenderInfo.MissionInfo, deps) : void 0;
127
+ this.battlePayReserve = data.DefenderInfo.BattlePayReserve;
128
+ this.perMissionBattlePay = data.DefenderInfo.MissionBattlePay;
129
+ this.battlePaySetBy = data.DefenderInfo.BattlePaySetBy;
130
+ this.battlePaySetByClan = data.DefenderInfo.BattlePaySetByClan;
131
+ this.taxChangedBy = data.DefenderInfo.TaxLastChangedBy;
132
+ this.taxChangedByClan = data.DefenderInfo.TaxLastChangedByClan;
133
+ this.history = data.History ? data.History.map((b) => new DarkSectorBattle(b)) : [];
134
+ }
135
+ };
136
+
137
+ //#endregion
8
138
  export { DarkSector };
@@ -1,3 +1,53 @@
1
- import "../../WorldStateObject-C1HEDkH7.mjs";
2
- import { n as RawDarkSectorBattle, t as DarkSectorBattle } from "../../DarkSectorBattle-CiSe3kFm.mjs";
1
+ import { Identifier } from "./WorldStateObject.mjs";
2
+ import { ContentTimestamp } from "warframe-worldstate-data/utilities";
3
+
4
+ //#region lib/models/DarkSectorBattle.d.ts
5
+ interface RawDarkSectorBattle {
6
+ Def: string;
7
+ DefAli: boolean;
8
+ Att: string;
9
+ AttAli: boolean;
10
+ DefId: Identifier;
11
+ WinId: Identifier;
12
+ Start: ContentTimestamp;
13
+ End: ContentTimestamp;
14
+ }
15
+ /**
16
+ * Represents a battle over a dark sector
17
+ */
18
+ declare class DarkSectorBattle {
19
+ /**
20
+ * The defenders of the dark sector
21
+ */
22
+ defender: string;
23
+ /**
24
+ * Whether the defenders are an alliance or not
25
+ */
26
+ defenderIsAlliance: boolean;
27
+ /**
28
+ * The attackers of the dark sector
29
+ */
30
+ attacker: string;
31
+ /**
32
+ * Whether the attackers are an alliance or not
33
+ */
34
+ attackerIsAlliance: boolean;
35
+ /**
36
+ * The winner of the battle
37
+ */
38
+ winner: string;
39
+ /**
40
+ * The date and time at which the battle started
41
+ */
42
+ start: Date;
43
+ /**
44
+ * The date and time at which the battle ended
45
+ */
46
+ end: Date;
47
+ /**
48
+ * @param data The battle data
49
+ */
50
+ constructor(data: RawDarkSectorBattle);
51
+ }
52
+ //#endregion
3
53
  export { DarkSectorBattle, RawDarkSectorBattle };
@@ -1,3 +1,51 @@
1
- import { t as DarkSectorBattle } from "../../DarkSectorBattle-CqRYeNpe.mjs";
1
+ import { parseDate } from "warframe-worldstate-data/utilities";
2
2
 
3
+ //#region lib/models/DarkSectorBattle.ts
4
+ /**
5
+ * Represents a battle over a dark sector
6
+ */
7
+ var DarkSectorBattle = class {
8
+ /**
9
+ * The defenders of the dark sector
10
+ */
11
+ defender;
12
+ /**
13
+ * Whether the defenders are an alliance or not
14
+ */
15
+ defenderIsAlliance;
16
+ /**
17
+ * The attackers of the dark sector
18
+ */
19
+ attacker;
20
+ /**
21
+ * Whether the attackers are an alliance or not
22
+ */
23
+ attackerIsAlliance;
24
+ /**
25
+ * The winner of the battle
26
+ */
27
+ winner;
28
+ /**
29
+ * The date and time at which the battle started
30
+ */
31
+ start;
32
+ /**
33
+ * The date and time at which the battle ended
34
+ */
35
+ end;
36
+ /**
37
+ * @param data The battle data
38
+ */
39
+ constructor(data) {
40
+ this.defender = data.Def;
41
+ this.defenderIsAlliance = data.DefAli;
42
+ this.attacker = data.Att;
43
+ this.attackerIsAlliance = data.AttAli;
44
+ this.winner = (data.DefId.$oid || data.DefId.$id) === (data.WinId.$oid || data.WinId.$id) ? this.defender : this.attacker;
45
+ this.start = parseDate(data.Start);
46
+ this.end = parseDate(data.End);
47
+ }
48
+ };
49
+
50
+ //#endregion
3
51
  export { DarkSectorBattle };
@@ -1,18 +1,24 @@
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 { DuviriChoice } from "../supporting/DuviriChoice.mjs";
2
+ import { WorldStateObject } from "./WorldStateObject.mjs";
3
+
4
+ //#region lib/models/DuviriCycle.d.ts
5
+ /**
6
+ * @typedef {WorldStateObject} DuviriCycle
7
+ * @augments {WorldStateObject}
8
+ */
9
+ declare class DuviriCycle extends WorldStateObject {
10
+ /**
11
+ * Current stage key
12
+ */
13
+ state: string;
14
+ /**
15
+ * Choice options for this Cycle
16
+ */
17
+ choices: DuviriChoice[];
18
+ /**
19
+ * @param duviriChoices The current circuit choices
20
+ */
21
+ constructor(duviriChoices: DuviriChoice[]);
22
+ }
23
+ //#endregion
18
24
  export { DuviriCycle };
@@ -1,4 +1,57 @@
1
- import "../../WorldStateObject-45dbRgp7.mjs";
2
- import { t as DuviriCycle } from "../../DuviriCycle-Do7mMnoC.mjs";
1
+ import { WorldStateObject } from "./WorldStateObject.mjs";
3
2
 
3
+ //#region lib/models/DuviriCycle.ts
4
+ const cycleTime = 36e3;
5
+ const stateTime = 7200;
6
+ const states = [
7
+ "sorrow",
8
+ "fear",
9
+ "joy",
10
+ "anger",
11
+ "envy"
12
+ ];
13
+ const getStageInfo = () => {
14
+ const cycleDelta = (Math.floor(Date.now() / 1e3) - 52) % cycleTime;
15
+ const stateInd = Math.floor(cycleDelta / stateTime);
16
+ const untilNext = stateTime - cycleDelta % stateTime;
17
+ const expiry = new Date(Date.now() + untilNext * 1e3);
18
+ expiry.setSeconds(0);
19
+ expiry.setMilliseconds(0);
20
+ const activation = /* @__PURE__ */ new Date(expiry.getTime() - stateTime * 1e3);
21
+ activation.setSeconds(0);
22
+ activation.setMilliseconds(0);
23
+ return {
24
+ state: states[stateInd],
25
+ expiry,
26
+ activation
27
+ };
28
+ };
29
+ /**
30
+ * @typedef {WorldStateObject} DuviriCycle
31
+ * @augments {WorldStateObject}
32
+ */
33
+ var DuviriCycle = class extends WorldStateObject {
34
+ /**
35
+ * Current stage key
36
+ */
37
+ state;
38
+ /**
39
+ * Choice options for this Cycle
40
+ */
41
+ choices;
42
+ /**
43
+ * @param duviriChoices The current circuit choices
44
+ */
45
+ constructor(duviriChoices) {
46
+ super({ _id: { $oid: "duviriCycle0" } });
47
+ const { activation, expiry, state } = getStageInfo();
48
+ this.activation = activation;
49
+ this.expiry = expiry;
50
+ this.state = state;
51
+ this.choices = duviriChoices;
52
+ this.id = `duviriCycle${this.state}${this.expiry.getTime()}`;
53
+ }
54
+ };
55
+
56
+ //#endregion
4
57
  export { DuviriCycle };
@@ -1,3 +1,60 @@
1
- import "../../WorldStateObject-C1HEDkH7.mjs";
2
- import { n as EarthCycleType, t as EarthCycle } from "../../EarthCycle-CxtijnVV.mjs";
1
+ import { WorldStateObject } from "./WorldStateObject.mjs";
2
+
3
+ //#region lib/models/EarthCycle.d.ts
4
+ interface EarthCycleType {
5
+ /**
6
+ * Whether or not this it's daytime
7
+ */
8
+ dayTime: boolean;
9
+ /**
10
+ * Time remaining string
11
+ */
12
+ timeLeft: string;
13
+ /**
14
+ * The date and time at which the event ends
15
+ */
16
+ expiry: Date;
17
+ /**
18
+ * Time it expires in
19
+ */
20
+ expiresIn: number;
21
+ /**
22
+ * The date and time at which the event ends, rounded to the nearest minute
23
+ */
24
+ rounded: Date;
25
+ /**
26
+ * Current cycle state. One of `day`, `night`
27
+ */
28
+ state: string;
29
+ /**
30
+ * The date and time at which the event started, 4 hours before the end
31
+ */
32
+ start: Date;
33
+ }
34
+ /**
35
+ * Represents the current Earth Day/Night Cycle
36
+ * @augments {WorldStateObject}
37
+ */
38
+ declare class EarthCycle extends WorldStateObject {
39
+ #private;
40
+ /**
41
+ * Whether or not this it's daytime
42
+ */
43
+ isDay: boolean;
44
+ /**
45
+ * Current cycle state. One of `day`, `night`
46
+ */
47
+ state: string;
48
+ /**
49
+ * Time remaining string
50
+ */
51
+ timeLeft: string;
52
+ constructor();
53
+ /**
54
+ * Get whether or not the event has expired
55
+ * @returns {boolean} Whether or not the event has expired
56
+ */
57
+ get expired(): boolean;
58
+ }
59
+ //#endregion
3
60
  export { EarthCycle, EarthCycleType };
@@ -1,4 +1,75 @@
1
- import "../../WorldStateObject-45dbRgp7.mjs";
2
- import { t as EarthCycle } from "../../EarthCycle-BOAlcAuQ.mjs";
1
+ import { WorldStateObject } from "./WorldStateObject.mjs";
2
+ import { fromNow } from "warframe-worldstate-data/utilities";
3
3
 
4
+ //#region lib/models/EarthCycle.ts
5
+ /**
6
+ * Get the current Earth Day/Night Cycle
7
+ * @returns {EarthCycle} The current Earth Day/Night Cycle
8
+ */
9
+ function getCurrentEarthCycle() {
10
+ const now = Date.now();
11
+ const cycleSeconds = Math.floor(now / 1e3) % 28800;
12
+ const dayTime = cycleSeconds < 14400;
13
+ let secondsLeft = 14400 - cycleSeconds % 14400;
14
+ const millisLeft = secondsLeft * 1e3;
15
+ const expiry = new Date(now + secondsLeft * 1e3);
16
+ const minutesCoef = 1e3 * 60;
17
+ const rounded = new Date(Math.round((now + millisLeft) / minutesCoef) * minutesCoef);
18
+ const timePieces = [];
19
+ if (secondsLeft > 3600) {
20
+ timePieces.push(`${Math.floor(secondsLeft / 3600)}h`);
21
+ secondsLeft %= 3600;
22
+ }
23
+ if (secondsLeft > 60) {
24
+ timePieces.push(`${Math.floor(secondsLeft / 60)}m`);
25
+ secondsLeft %= 60;
26
+ }
27
+ timePieces.push(`${secondsLeft}s`);
28
+ return {
29
+ dayTime,
30
+ timeLeft: timePieces.join(" "),
31
+ expiry,
32
+ expiresIn: millisLeft,
33
+ rounded,
34
+ state: dayTime ? "day" : "night",
35
+ start: /* @__PURE__ */ new Date(expiry.getTime() - 1e3 * 60 * 60 * 4)
36
+ };
37
+ }
38
+ /**
39
+ * Represents the current Earth Day/Night Cycle
40
+ * @augments {WorldStateObject}
41
+ */
42
+ var EarthCycle = class extends WorldStateObject {
43
+ #ec = getCurrentEarthCycle();
44
+ /**
45
+ * Whether or not this it's daytime
46
+ */
47
+ isDay;
48
+ /**
49
+ * Current cycle state. One of `day`, `night`
50
+ */
51
+ state;
52
+ /**
53
+ * Time remaining string
54
+ */
55
+ timeLeft;
56
+ constructor() {
57
+ super({ _id: { $oid: "earthCycle0" } });
58
+ this.expiry = this.#ec.expiry;
59
+ this.activation = this.#ec.start;
60
+ this.isDay = this.#ec.dayTime;
61
+ this.state = this.#ec.state;
62
+ this.timeLeft = this.#ec.timeLeft;
63
+ this.id = `earthCycle${this.#ec.rounded.getTime()}`;
64
+ }
65
+ /**
66
+ * Get whether or not the event has expired
67
+ * @returns {boolean} Whether or not the event has expired
68
+ */
69
+ get expired() {
70
+ return fromNow(this.expiry) < 0;
71
+ }
72
+ };
73
+
74
+ //#endregion
4
75
  export { EarthCycle };