warframe-worldstate-parser 4.6.2 → 5.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Alert-BS8PWPP3.d.ts +45 -0
- package/dist/Alert-DH1kglDU.js +52 -0
- package/dist/Archidemea-C0EMRUKc.js +59 -0
- package/dist/Archidemea-DOh4trTM.d.ts +55 -0
- package/dist/Calendar-CgEkm6e6.d.ts +78 -0
- package/dist/Calendar-CtzZQXj7.js +81 -0
- package/dist/CambionCycle-C6NHUjOU.js +30 -0
- package/dist/CambionCycle-uEBpbMim.d.ts +23 -0
- package/dist/CetusCycle-DIZdevob.js +90 -0
- package/dist/CetusCycle-ooMM7hkg.d.ts +49 -0
- package/dist/ChallengeInstance-Bi2zg4q-.d.ts +53 -0
- package/dist/ChallengeInstance-DHwTTwMH.js +48 -0
- package/dist/ConclaveChallenge-Dp5yOxVu.js +80 -0
- package/dist/ConclaveChallenge-JbcEcL4s.d.ts +76 -0
- package/dist/ConstructionProgress-DfcpaGL5.js +25 -0
- package/dist/ConstructionProgress-FAySTEod.d.ts +19 -0
- package/dist/DailyDeal-BGqZAp-j.js +66 -0
- package/dist/DailyDeal-Na-EaiFS.d.ts +66 -0
- package/dist/DarkSector-BQ97_8h6.js +138 -0
- package/dist/DarkSector-zkCUywz1.d.ts +142 -0
- package/dist/DarkSectorBattle-5PyUPhxY.js +53 -0
- package/dist/DarkSectorBattle-DY33Bfuq.d.ts +53 -0
- package/dist/Dependency-DkOHLql6.d.ts +38 -0
- package/dist/DuviriChoice-DRNDUbyc.js +22 -0
- package/dist/DuviriChoice-MIHsOBS7.d.ts +18 -0
- package/dist/DuviriCycle-B0zp0KxS.d.ts +25 -0
- package/dist/DuviriCycle-CmHJStJo.js +58 -0
- package/dist/EarthCycle-B9aIOAEY.js +75 -0
- package/dist/EarthCycle-RELuZL01.d.ts +60 -0
- package/dist/ExternalMission-DCzJkPC8.d.ts +49 -0
- package/dist/Fissure-7yFmOet3.js +85 -0
- package/dist/Fissure-Bj61i8dc.d.ts +78 -0
- package/dist/FlashSale-BxVI0J6A.js +75 -0
- package/dist/FlashSale-PDG4uQq4.d.ts +71 -0
- package/dist/GlobalUpgrade-BRQXf3JM.d.ts +55 -0
- package/dist/GlobalUpgrade-B_TKK1m_.js +58 -0
- package/dist/ImgCdn-BnbJ9K-0.js +7 -0
- package/dist/Invasion-BMic1K12.js +110 -0
- package/dist/Invasion-BskF60zh.d.ts +113 -0
- package/dist/Kinepage-CRRKVulq.d.ts +22 -0
- package/dist/Kinepage-iWFwTZtr.js +24 -0
- package/dist/Kuva-DqkxvPUg.js +85 -0
- package/dist/KuvaLogEntry-d5fskHaK.d.ts +21 -0
- package/dist/MidrathCycle-BfQtfG4p.d.ts +25 -0
- package/dist/MidrathCycle-DDfT7zVx.js +69 -0
- package/dist/Mission-CWE16ouO.d.ts +138 -0
- package/dist/Mission-ZuSsAYNm.js +140 -0
- package/dist/News-7F8Nbp4A.js +122 -0
- package/dist/News-BfAgbYSY.d.ts +101 -0
- package/dist/Nightwave-DDX0_zJU.js +60 -0
- package/dist/Nightwave-_0RzWikV.d.ts +59 -0
- package/dist/NightwaveChallenge-DDdrqvge.d.ts +51 -0
- package/dist/NightwaveChallenge-DwilvXfi.js +53 -0
- package/dist/PersistentEnemy-DRcO4V2r.d.ts +79 -0
- package/dist/PersistentEnemy-axYxYzv_.js +76 -0
- package/dist/Reward-5VIpHu9A.d.ts +68 -0
- package/dist/Reward-OauJ45jJ.js +73 -0
- package/dist/RewardData-qEvfHYxA.js +76 -0
- package/dist/RewardTypes-Cfq9FeIl.js +328 -0
- package/dist/RewardTypes-DYaUn77A.d.ts +34 -0
- package/dist/SentientOutpost-B2KZUJ7H.js +65 -0
- package/dist/SentientOutpost-DmlClvel.d.ts +47 -0
- package/dist/Simaris-B9Mvso2q.js +35 -0
- package/dist/Simaris-Bc-jNhED.d.ts +37 -0
- package/dist/Sortie-DPv-7SQ-.d.ts +60 -0
- package/dist/Sortie-DcoAnEaJ.js +73 -0
- package/dist/SortieVariant-BFkYiBho.d.ts +49 -0
- package/dist/SortieVariant-eWuI1uh9.js +51 -0
- package/dist/SteelPathOffering-DyAzr3P9.js +85 -0
- package/dist/SteelPathOffering-OHNTCFo5.d.ts +38 -0
- package/dist/SyndicateJob-BK7OMLmv.js +141 -0
- package/dist/SyndicateJob-DOtXWjRF.d.ts +76 -0
- package/dist/SyndicateMission-5PZIEM8P.js +66 -0
- package/dist/SyndicateMission-DmGG5lGy.d.ts +58 -0
- package/dist/Tmp-DkQq1arD.js +21 -0
- package/dist/VallisCycle-BX8yyKx3.js +76 -0
- package/dist/VallisCycle-BXcmzqqG.d.ts +31 -0
- package/dist/VoidTrader-CbLMfEVj.js +77 -0
- package/dist/VoidTrader-CihLWgSV.d.ts +74 -0
- package/dist/VoidTraderItem-BzeD-S6-.js +38 -0
- package/dist/VoidTraderItem-CkYAKAEn.d.ts +43 -0
- package/dist/VoidTraderSchedule-C-K8Zdfk.js +14 -0
- package/dist/VoidTraderSchedule-DKDtu-9d.d.ts +16 -0
- package/dist/WeeklyChallenge-C6sc4j7i.d.ts +20 -0
- package/dist/WeeklyChallenge-MzUEZAjv.js +21 -0
- package/dist/WorldEvent-BS9QHG_f.d.ts +205 -0
- package/dist/WorldEvent-nis9w9cn.js +213 -0
- package/dist/WorldState-DNSPrZR_.d.ts +257 -0
- package/dist/WorldState-uppX0Xt1.js +330 -0
- package/dist/WorldstateObject-BSTYuZwm.js +54 -0
- package/dist/WorldstateObject-wfRTeGpm.d.ts +48 -0
- package/dist/ZarimanCycle-BJ84QUFg.js +81 -0
- package/dist/ZarimanCycle-CjNQXhVO.d.ts +45 -0
- package/dist/lib/Tmp.d.ts +24 -0
- package/dist/lib/Tmp.js +6 -0
- package/dist/lib/WorldState.d.ts +47 -0
- package/dist/lib/WorldState.js +49 -0
- package/dist/lib/models/Alert.d.ts +8 -0
- package/dist/lib/models/Alert.js +9 -0
- package/dist/lib/models/Archidemea.d.ts +2 -0
- package/dist/lib/models/Archidemea.js +3 -0
- package/dist/lib/models/Calendar.d.ts +3 -0
- package/dist/lib/models/Calendar.js +4 -0
- package/dist/lib/models/CambionCycle.d.ts +4 -0
- package/dist/lib/models/CambionCycle.js +4 -0
- package/dist/lib/models/CetusCycle.d.ts +3 -0
- package/dist/lib/models/CetusCycle.js +4 -0
- package/dist/lib/models/ChallengeInstance.d.ts +4 -0
- package/dist/lib/models/ChallengeInstance.js +3 -0
- package/dist/lib/models/ConclaveChallenge.d.ts +5 -0
- package/dist/lib/models/ConclaveChallenge.js +4 -0
- package/dist/lib/models/ConstructionProgress.d.ts +3 -0
- package/dist/lib/models/ConstructionProgress.js +4 -0
- package/dist/lib/models/DailyDeal.d.ts +5 -0
- package/dist/lib/models/DailyDeal.js +4 -0
- package/dist/lib/models/DarkSector.d.ts +9 -0
- package/dist/lib/models/DarkSector.js +10 -0
- package/dist/lib/models/DarkSectorBattle.d.ts +3 -0
- package/dist/lib/models/DarkSectorBattle.js +3 -0
- package/dist/lib/models/DuviriCycle.d.ts +4 -0
- package/dist/lib/models/DuviriCycle.js +4 -0
- package/dist/lib/models/EarthCycle.d.ts +3 -0
- package/dist/lib/models/EarthCycle.js +4 -0
- package/dist/lib/models/Fissure.d.ts +5 -0
- package/dist/lib/models/Fissure.js +4 -0
- package/dist/lib/models/FlashSale.d.ts +5 -0
- package/dist/lib/models/FlashSale.js +4 -0
- package/dist/lib/models/GlobalUpgrade.d.ts +5 -0
- package/dist/lib/models/GlobalUpgrade.js +4 -0
- package/dist/lib/models/Invasion.d.ts +7 -0
- package/dist/lib/models/Invasion.js +8 -0
- package/dist/lib/models/Kinepage.d.ts +2 -0
- package/dist/lib/models/Kinepage.js +3 -0
- package/dist/lib/models/Kuva.d.ts +22 -0
- package/dist/lib/models/Kuva.js +3 -0
- package/dist/lib/models/MidrathCycle.d.ts +3 -0
- package/dist/lib/models/MidrathCycle.js +4 -0
- package/dist/lib/models/Mission.d.ts +6 -0
- package/dist/lib/models/Mission.js +7 -0
- package/dist/lib/models/News.d.ts +3 -0
- package/dist/lib/models/News.js +5 -0
- package/dist/lib/models/Nightwave.d.ts +4 -0
- package/dist/lib/models/Nightwave.js +5 -0
- package/dist/lib/models/NightwaveChallenge.d.ts +3 -0
- package/dist/lib/models/NightwaveChallenge.js +4 -0
- package/dist/lib/models/PersistentEnemy.d.ts +3 -0
- package/dist/lib/models/PersistentEnemy.js +4 -0
- package/dist/lib/models/Reward.d.ts +5 -0
- package/dist/lib/models/Reward.js +6 -0
- package/dist/lib/models/SentientOutpost.d.ts +4 -0
- package/dist/lib/models/SentientOutpost.js +3 -0
- package/dist/lib/models/Simaris.d.ts +4 -0
- package/dist/lib/models/Simaris.js +3 -0
- package/dist/lib/models/Sortie.d.ts +9 -0
- package/dist/lib/models/Sortie.js +10 -0
- package/dist/lib/models/SortieVariant.d.ts +4 -0
- package/dist/lib/models/SortieVariant.js +3 -0
- package/dist/lib/models/SteelPathOffering.d.ts +2 -0
- package/dist/lib/models/SteelPathOffering.js +3 -0
- package/dist/lib/models/SyndicateJob.d.ts +5 -0
- package/dist/lib/models/SyndicateJob.js +4 -0
- package/dist/lib/models/SyndicateMission.d.ts +6 -0
- package/dist/lib/models/SyndicateMission.js +5 -0
- package/dist/lib/models/VallisCycle.d.ts +3 -0
- package/dist/lib/models/VallisCycle.js +4 -0
- package/dist/lib/models/VoidTrader.d.ts +7 -0
- package/dist/lib/models/VoidTrader.js +6 -0
- package/dist/lib/models/VoidTraderItem.d.ts +4 -0
- package/dist/lib/models/VoidTraderItem.js +3 -0
- package/dist/lib/models/VoidTraderSchedule.d.ts +4 -0
- package/dist/lib/models/VoidTraderSchedule.js +3 -0
- package/dist/lib/models/WeeklyChallenge.d.ts +6 -0
- package/dist/lib/models/WeeklyChallenge.js +5 -0
- package/dist/lib/models/WorldEvent.d.ts +8 -0
- package/dist/lib/models/WorldEvent.js +9 -0
- package/dist/lib/models/WorldstateObject.d.ts +2 -0
- package/dist/lib/models/WorldstateObject.js +3 -0
- package/dist/lib/models/ZarimanCycle.d.ts +3 -0
- package/dist/lib/models/ZarimanCycle.js +4 -0
- package/dist/lib/supporting/Dependency.d.ts +3 -0
- package/dist/lib/supporting/Dependency.js +1 -0
- package/dist/lib/supporting/DuviriChoice.d.ts +3 -0
- package/dist/lib/supporting/DuviriChoice.js +3 -0
- package/dist/lib/supporting/ExternalMission.d.ts +2 -0
- package/dist/lib/supporting/ExternalMission.js +1 -0
- package/dist/lib/supporting/ImgCdn.d.ts +6 -0
- package/dist/lib/supporting/ImgCdn.js +3 -0
- package/dist/lib/supporting/KuvaLogEntry.d.ts +2 -0
- package/dist/lib/supporting/KuvaLogEntry.js +1 -0
- package/dist/lib/supporting/RewardData.d.ts +11 -0
- package/dist/lib/supporting/RewardData.js +3 -0
- package/dist/lib/supporting/RewardTypes.d.ts +2 -0
- package/dist/lib/supporting/RewardTypes.js +5 -0
- package/dist/main.d.ts +47 -0
- package/dist/main.js +49 -0
- package/dist/resources/.gitkeep +1 -0
- package/dist/resources/alt_helmet_thumb.png +0 -0
- package/dist/resources/aura_thumb.png +0 -0
- package/dist/resources/clantech_thmb.png +0 -0
- package/dist/resources/endo_thumb.png +0 -0
- package/dist/resources/exilus_thumb.png +0 -0
- package/dist/resources/forma_thumb.png +0 -0
- package/dist/resources/glaive_thumb.png +0 -0
- package/dist/resources/mutalist_thumb.png +0 -0
- package/dist/resources/nightmare_thumb.png +0 -0
- package/dist/resources/nitain_thumb.png +0 -0
- package/dist/resources/potato_thumb.png +0 -0
- package/dist/resources/resource_thumb.png +0 -0
- package/dist/resources/vauban_thumb.png +0 -0
- package/dist/resources/weapon_skin_thumb.png +0 -0
- package/package.json +9 -11
- package/lib/WorldState.js +0 -404
- package/lib/models/Alert.js +0 -90
- package/lib/models/Calendar.js +0 -74
- package/lib/models/CambionCycle.js +0 -32
- package/lib/models/CetusCycle.js +0 -126
- package/lib/models/ChallengeInstance.js +0 -57
- package/lib/models/ConclaveChallenge.js +0 -154
- package/lib/models/ConstructionProgress.js +0 -31
- package/lib/models/DailyDeal.js +0 -103
- package/lib/models/DarkSector.js +0 -154
- package/lib/models/DarkSectorBattle.js +0 -56
- package/lib/models/DeepArchidemea.js +0 -33
- package/lib/models/DuviriCycle.js +0 -65
- package/lib/models/EarthCycle.js +0 -119
- package/lib/models/Fissure.js +0 -136
- package/lib/models/FlashSale.js +0 -123
- package/lib/models/GlobalUpgrade.js +0 -122
- package/lib/models/Invasion.js +0 -183
- package/lib/models/Kinepage.js +0 -11
- package/lib/models/Kuva.js +0 -122
- package/lib/models/MidrathCycle.js +0 -94
- package/lib/models/Mission.js +0 -179
- package/lib/models/News.js +0 -174
- package/lib/models/Nightwave.js +0 -91
- package/lib/models/NightwaveChallenge.js +0 -63
- package/lib/models/PersistentEnemy.js +0 -100
- package/lib/models/Reward.js +0 -111
- package/lib/models/SentientOutpost.js +0 -68
- package/lib/models/Simaris.js +0 -47
- package/lib/models/Sortie.js +0 -143
- package/lib/models/SortieVariant.js +0 -57
- package/lib/models/SteelPathOffering.js +0 -99
- package/lib/models/SyndicateJob.js +0 -185
- package/lib/models/SyndicateMission.js +0 -111
- package/lib/models/VallisCycle.js +0 -125
- package/lib/models/VoidTrader.js +0 -134
- package/lib/models/VoidTraderItem.js +0 -24
- package/lib/models/VoidTraderSchedule.js +0 -8
- package/lib/models/WeeklyChallenge.js +0 -27
- package/lib/models/WorldEvent.js +0 -326
- package/lib/models/WorldstateObject.js +0 -106
- package/lib/models/ZarimanCycle.js +0 -124
- package/lib/supporting/Dependency.js +0 -6
- package/lib/supporting/DuviriChoice.js +0 -16
- package/lib/supporting/ExternalMission.js +0 -13
- package/lib/supporting/ImgCdn.js +0 -9
- package/lib/supporting/MarkdownSettings.js +0 -30
- package/lib/supporting/RewardData.js +0 -77
- package/lib/supporting/RewardTypes.js +0 -327
- package/main.js +0 -4
- package/types/lib/WorldState.d.ts +0 -199
- package/types/lib/models/Alert.d.ts +0 -53
- package/types/lib/models/Calendar.d.ts +0 -16
- package/types/lib/models/CambionCycle.d.ts +0 -20
- package/types/lib/models/CetusCycle.d.ts +0 -47
- package/types/lib/models/ChallengeInstance.d.ts +0 -42
- package/types/lib/models/ConclaveChallenge.d.ts +0 -90
- package/types/lib/models/ConstructionProgress.d.ts +0 -14
- package/types/lib/models/DailyDeal.d.ts +0 -78
- package/types/lib/models/DarkSector.d.ts +0 -121
- package/types/lib/models/DarkSectorBattle.d.ts +0 -44
- package/types/lib/models/DeepArchidemea.d.ts +0 -8
- package/types/lib/models/DuviriCycle.d.ts +0 -21
- package/types/lib/models/EarthCycle.d.ts +0 -64
- package/types/lib/models/Fissure.d.ts +0 -83
- package/types/lib/models/FlashSale.d.ts +0 -86
- package/types/lib/models/GlobalUpgrade.d.ts +0 -86
- package/types/lib/models/Invasion.d.ts +0 -124
- package/types/lib/models/Kinepage.d.ts +0 -6
- package/types/lib/models/Kuva.d.ts +0 -60
- package/types/lib/models/MidrathCycle.d.ts +0 -39
- package/types/lib/models/Mission.d.ts +0 -136
- package/types/lib/models/News.d.ts +0 -104
- package/types/lib/models/Nightwave.d.ts +0 -53
- package/types/lib/models/NightwaveChallenge.d.ts +0 -45
- package/types/lib/models/PersistentEnemy.d.ts +0 -70
- package/types/lib/models/Reward.d.ts +0 -95
- package/types/lib/models/SentientOutpost.d.ts +0 -54
- package/types/lib/models/Simaris.d.ts +0 -33
- package/types/lib/models/Sortie.d.ts +0 -72
- package/types/lib/models/SortieVariant.d.ts +0 -43
- package/types/lib/models/SteelPathOffering.d.ts +0 -19
- package/types/lib/models/SyndicateJob.d.ts +0 -72
- package/types/lib/models/SyndicateMission.d.ts +0 -56
- package/types/lib/models/VallisCycle.d.ts +0 -53
- package/types/lib/models/VoidTrader.d.ts +0 -45
- package/types/lib/models/VoidTraderItem.d.ts +0 -25
- package/types/lib/models/VoidTraderSchedule.d.ts +0 -7
- package/types/lib/models/WeeklyChallenge.d.ts +0 -12
- package/types/lib/models/WorldEvent.d.ts +0 -216
- package/types/lib/models/WorldstateObject.d.ts +0 -120
- package/types/lib/models/ZarimanCycle.d.ts +0 -42
- package/types/lib/supporting/Dependency.d.ts +0 -7
- package/types/lib/supporting/DuviriChoice.d.ts +0 -9
- package/types/lib/supporting/ExternalMission.d.ts +0 -48
- package/types/lib/supporting/ImgCdn.d.ts +0 -3
- package/types/lib/supporting/MarkdownSettings.d.ts +0 -30
- package/types/lib/supporting/RewardData.d.ts +0 -9
- package/types/lib/supporting/RewardTypes.d.ts +0 -8
- package/types/main.d.ts +0 -3
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Dependency } from "./Dependency-DkOHLql6.js";
|
|
2
|
+
|
|
3
|
+
//#region lib/models/SortieVariant.d.ts
|
|
4
|
+
interface RawSortieVariant {
|
|
5
|
+
missionType: string;
|
|
6
|
+
modifierType: string;
|
|
7
|
+
node: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Represents a sortie variant
|
|
11
|
+
* @class
|
|
12
|
+
*/
|
|
13
|
+
declare class SortieVariant {
|
|
14
|
+
/**
|
|
15
|
+
* The variant's mission type
|
|
16
|
+
*/
|
|
17
|
+
missionType: string;
|
|
18
|
+
/**
|
|
19
|
+
* The variant's mission type unlocalized
|
|
20
|
+
*/
|
|
21
|
+
missionTypeKey: string;
|
|
22
|
+
/**
|
|
23
|
+
* The mission modifier
|
|
24
|
+
*/
|
|
25
|
+
modifier: string;
|
|
26
|
+
/**
|
|
27
|
+
* The variant's modifier description
|
|
28
|
+
*/
|
|
29
|
+
modifierDescription: string;
|
|
30
|
+
/**
|
|
31
|
+
* The node where the variant takes place
|
|
32
|
+
*/
|
|
33
|
+
node: string;
|
|
34
|
+
/**
|
|
35
|
+
* The node where the variant takes place unlocalized
|
|
36
|
+
*/
|
|
37
|
+
nodeKey: string;
|
|
38
|
+
/**
|
|
39
|
+
* Make the SortieVariant
|
|
40
|
+
* @param data Sortie variant data
|
|
41
|
+
* @param deps Dependencies
|
|
42
|
+
* @param deps.locale Locale to use for translations
|
|
43
|
+
*/
|
|
44
|
+
constructor(data: RawSortieVariant, {
|
|
45
|
+
locale
|
|
46
|
+
}?: Dependency);
|
|
47
|
+
}
|
|
48
|
+
//#endregion
|
|
49
|
+
export { RawSortieVariant, SortieVariant };
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { insist, missionType, node, sortieModDesc, sortieModifier } from "warframe-worldstate-data/utilities";
|
|
2
|
+
|
|
3
|
+
//#region lib/models/SortieVariant.ts
|
|
4
|
+
/**
|
|
5
|
+
* Represents a sortie variant
|
|
6
|
+
* @class
|
|
7
|
+
*/
|
|
8
|
+
var SortieVariant = class {
|
|
9
|
+
/**
|
|
10
|
+
* The variant's mission type
|
|
11
|
+
*/
|
|
12
|
+
missionType;
|
|
13
|
+
/**
|
|
14
|
+
* The variant's mission type unlocalized
|
|
15
|
+
*/
|
|
16
|
+
missionTypeKey;
|
|
17
|
+
/**
|
|
18
|
+
* The mission modifier
|
|
19
|
+
*/
|
|
20
|
+
modifier;
|
|
21
|
+
/**
|
|
22
|
+
* The variant's modifier description
|
|
23
|
+
*/
|
|
24
|
+
modifierDescription;
|
|
25
|
+
/**
|
|
26
|
+
* The node where the variant takes place
|
|
27
|
+
*/
|
|
28
|
+
node;
|
|
29
|
+
/**
|
|
30
|
+
* The node where the variant takes place unlocalized
|
|
31
|
+
*/
|
|
32
|
+
nodeKey;
|
|
33
|
+
/**
|
|
34
|
+
* Make the SortieVariant
|
|
35
|
+
* @param data Sortie variant data
|
|
36
|
+
* @param deps Dependencies
|
|
37
|
+
* @param deps.locale Locale to use for translations
|
|
38
|
+
*/
|
|
39
|
+
constructor(data, { locale = "en" } = { locale: "en" }) {
|
|
40
|
+
insist({ ...data });
|
|
41
|
+
this.missionType = missionType(data.missionType, locale);
|
|
42
|
+
this.missionTypeKey = missionType(data.missionType, "en");
|
|
43
|
+
this.modifier = sortieModifier(data.modifierType, locale);
|
|
44
|
+
this.modifierDescription = sortieModDesc(data.modifierType, locale);
|
|
45
|
+
this.node = node(data.node, locale);
|
|
46
|
+
this.nodeKey = node(data.node, "en");
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
//#endregion
|
|
51
|
+
export { SortieVariant };
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { steelPath, timeDeltaToString } from "warframe-worldstate-data/utilities";
|
|
2
|
+
|
|
3
|
+
//#region lib/models/SteelPathOffering.ts
|
|
4
|
+
const monday = 1;
|
|
5
|
+
/**
|
|
6
|
+
* Gets the first day of the week
|
|
7
|
+
*/
|
|
8
|
+
function getFirstDayOfWeek() {
|
|
9
|
+
const resultDate = /* @__PURE__ */ new Date();
|
|
10
|
+
/* istanbul ignore next */
|
|
11
|
+
const offset = resultDate.getUTCDay() === 0 ? 6 : resultDate.getUTCDay() - monday;
|
|
12
|
+
resultDate.setUTCDate(resultDate.getUTCDate() - offset);
|
|
13
|
+
resultDate.setUTCHours(0);
|
|
14
|
+
resultDate.setUTCMinutes(0);
|
|
15
|
+
resultDate.setUTCSeconds(0);
|
|
16
|
+
resultDate.setUTCMilliseconds(0);
|
|
17
|
+
return resultDate;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Get the last day of the week
|
|
21
|
+
*/
|
|
22
|
+
function getLastDayOfWeek() {
|
|
23
|
+
const last = new Date(getFirstDayOfWeek());
|
|
24
|
+
last.setUTCDate(last.getUTCDate() + 6);
|
|
25
|
+
last.setUTCHours(23);
|
|
26
|
+
last.setUTCMinutes(59);
|
|
27
|
+
last.setUTCSeconds(59);
|
|
28
|
+
last.setUTCMilliseconds(0);
|
|
29
|
+
return last;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* When was the start of the day
|
|
33
|
+
*/
|
|
34
|
+
function getStartOfDay() {
|
|
35
|
+
const today = /* @__PURE__ */ new Date();
|
|
36
|
+
today.setUTCHours(0);
|
|
37
|
+
today.setUTCMinutes(0);
|
|
38
|
+
today.setUTCSeconds(0);
|
|
39
|
+
today.setUTCMilliseconds(0);
|
|
40
|
+
return today;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* When was the end of the day
|
|
44
|
+
*/
|
|
45
|
+
function getEndOfDay() {
|
|
46
|
+
const last = /* @__PURE__ */ new Date();
|
|
47
|
+
last.setUTCHours(23);
|
|
48
|
+
last.setUTCMinutes(59);
|
|
49
|
+
last.setUTCSeconds(59);
|
|
50
|
+
last.setUTCMilliseconds(0);
|
|
51
|
+
return last;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Start of Steel Path cycle calculations
|
|
55
|
+
*/
|
|
56
|
+
const start = /* @__PURE__ */ new Date("2020-11-16T00:00:00.000Z");
|
|
57
|
+
var SteelPathOfferings = class {
|
|
58
|
+
currentReward;
|
|
59
|
+
activation;
|
|
60
|
+
expiry;
|
|
61
|
+
remaining;
|
|
62
|
+
rotation;
|
|
63
|
+
evergreens;
|
|
64
|
+
incursions;
|
|
65
|
+
constructor({ locale }) {
|
|
66
|
+
const sSinceStart = (Date.now() - start.getTime()) / 1e3;
|
|
67
|
+
const eightWeeks = 4838400;
|
|
68
|
+
const sevenDays = 604800;
|
|
69
|
+
const ind = Math.floor(sSinceStart % eightWeeks / sevenDays);
|
|
70
|
+
this.currentReward = steelPath(locale).rotation[ind];
|
|
71
|
+
this.activation = getFirstDayOfWeek();
|
|
72
|
+
this.expiry = getLastDayOfWeek();
|
|
73
|
+
this.remaining = timeDeltaToString(this.expiry.getTime() - Date.now());
|
|
74
|
+
this.rotation = steelPath(locale).rotation;
|
|
75
|
+
this.evergreens = steelPath(locale).evergreen;
|
|
76
|
+
this.incursions = {
|
|
77
|
+
id: `spi:${getStartOfDay().getTime()}`,
|
|
78
|
+
activation: getStartOfDay(),
|
|
79
|
+
expiry: getEndOfDay()
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
//#endregion
|
|
85
|
+
export { SteelPathOfferings };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Locale } from "warframe-worldstate-data";
|
|
2
|
+
import { SteelPathOffering } from "warframe-worldstate-data/types";
|
|
3
|
+
|
|
4
|
+
//#region lib/models/SteelPathOffering.d.ts
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* General data pertaining to incursions
|
|
8
|
+
*/
|
|
9
|
+
interface Incursion {
|
|
10
|
+
/**
|
|
11
|
+
* Identifier for steel path incursion based on start of day.
|
|
12
|
+
*/
|
|
13
|
+
id: string;
|
|
14
|
+
/**
|
|
15
|
+
* when the current incursions became active
|
|
16
|
+
*/
|
|
17
|
+
activation: Date;
|
|
18
|
+
/**
|
|
19
|
+
* when the current incursions become inactive
|
|
20
|
+
*/
|
|
21
|
+
expiry: Date;
|
|
22
|
+
}
|
|
23
|
+
declare class SteelPathOfferings {
|
|
24
|
+
currentReward: SteelPathOffering;
|
|
25
|
+
activation: Date;
|
|
26
|
+
expiry: Date;
|
|
27
|
+
remaining: string;
|
|
28
|
+
rotation: SteelPathOffering[];
|
|
29
|
+
evergreens: SteelPathOffering[];
|
|
30
|
+
incursions: Incursion;
|
|
31
|
+
constructor({
|
|
32
|
+
locale
|
|
33
|
+
}: {
|
|
34
|
+
locale: Locale;
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
//#endregion
|
|
38
|
+
export { Incursion, SteelPathOfferings };
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { WorldstateObject } from "./WorldstateObject-BSTYuZwm.js";
|
|
2
|
+
import { languageString } from "warframe-worldstate-data/utilities";
|
|
3
|
+
|
|
4
|
+
//#region lib/models/SyndicateJob.ts
|
|
5
|
+
const apiBase = process.env.API_BASE_URL || "https://api.warframestat.us";
|
|
6
|
+
const bountyRewardRegex = /(?:Tier([ABCDE])|Narmer)Table([ABC])Rewards/i;
|
|
7
|
+
const ghoulRewardRegex = /GhoulBountyTable([AB])Rewards/i;
|
|
8
|
+
/**
|
|
9
|
+
* Determine the level string for the bounty
|
|
10
|
+
*/
|
|
11
|
+
const getLevelString = (job) => `${job.minEnemyLevel} - ${job.maxEnemyLevel}`;
|
|
12
|
+
const determineLocation = (i18n, raw, isVault) => {
|
|
13
|
+
const last = String(i18n).split("/").slice(-1)[0];
|
|
14
|
+
const bountyMatches = last.match(bountyRewardRegex);
|
|
15
|
+
const ghoulMatches = last.match(ghoulRewardRegex);
|
|
16
|
+
const isBounty = bountyMatches?.length;
|
|
17
|
+
const isGhoul = ghoulMatches?.length;
|
|
18
|
+
const isCetus = /eidolonjob/i.test(i18n);
|
|
19
|
+
const isVallis = /venusjob/i.test(i18n);
|
|
20
|
+
const isDeimos = /deimosmissionrewards/i.test(i18n);
|
|
21
|
+
const rotation = isBounty ? bountyMatches[2] : "";
|
|
22
|
+
const levelString = getLevelString(raw);
|
|
23
|
+
let location;
|
|
24
|
+
let levelClause;
|
|
25
|
+
if (isCetus) {
|
|
26
|
+
location = "Earth/Cetus ";
|
|
27
|
+
if (isGhoul) levelClause = `(Level ${levelString} Ghoul Bounty)`;
|
|
28
|
+
else levelClause = `(Level ${levelString} Cetus Bounty)`;
|
|
29
|
+
}
|
|
30
|
+
if (isVallis) {
|
|
31
|
+
location = "Venus/Orb Vallis ";
|
|
32
|
+
levelClause = `(Level ${levelString} Orb Vallis Bounty)`;
|
|
33
|
+
}
|
|
34
|
+
if (isDeimos) {
|
|
35
|
+
location = "Deimos/Cambion Drift ";
|
|
36
|
+
const variant = isVault ? "Isolation Vault" : "Cambion Drift Bounty";
|
|
37
|
+
levelClause = `(Level ${levelString} ${variant})`;
|
|
38
|
+
}
|
|
39
|
+
const locationWRot = `${location}${levelClause}, Rot ${rotation.length ? rotation : "A"}`;
|
|
40
|
+
return {
|
|
41
|
+
location,
|
|
42
|
+
locationWRot
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
const getBountyRewards = async (i18n, raw, isVault) => {
|
|
46
|
+
let location;
|
|
47
|
+
let locationWRot;
|
|
48
|
+
if (i18n.endsWith("PlagueStarTableRewards")) {
|
|
49
|
+
location = "plague star";
|
|
50
|
+
locationWRot = "Earth/Cetus (Level 15 - 25 Plague Star), Rot A";
|
|
51
|
+
}
|
|
52
|
+
if (!location || !locationWRot) ({location, locationWRot} = determineLocation(i18n, raw, isVault));
|
|
53
|
+
const url = `${apiBase}/drops/search/${encodeURIComponent(location)}?grouped_by=location`;
|
|
54
|
+
const reply = await fetch(url).then((res) => res.json()).catch(() => {});
|
|
55
|
+
const pool = reply?.[locationWRot];
|
|
56
|
+
if (!pool) return ["Pattern Mismatch. Results inaccurate."];
|
|
57
|
+
const results = pool.rewards;
|
|
58
|
+
if (results) return Array.from(new Set(results.map((result) => result.item)));
|
|
59
|
+
return [];
|
|
60
|
+
};
|
|
61
|
+
const FIFTY_MINUTES = 3e6;
|
|
62
|
+
/**
|
|
63
|
+
* Represents a syndicate daily mission
|
|
64
|
+
* @augments {WorldstateObject}
|
|
65
|
+
*/
|
|
66
|
+
var SyndicateJob = class SyndicateJob extends WorldstateObject {
|
|
67
|
+
/**
|
|
68
|
+
* Array of strings describing rewards
|
|
69
|
+
*/
|
|
70
|
+
rewardPool;
|
|
71
|
+
/**
|
|
72
|
+
* The type of job this is
|
|
73
|
+
*/
|
|
74
|
+
type;
|
|
75
|
+
/**
|
|
76
|
+
* Array of enemy levels
|
|
77
|
+
*/
|
|
78
|
+
enemyLevels;
|
|
79
|
+
/**
|
|
80
|
+
* Array of standing gains per stage of job
|
|
81
|
+
*/
|
|
82
|
+
standingStages;
|
|
83
|
+
/**
|
|
84
|
+
* Minimum mastery required to participate
|
|
85
|
+
*/
|
|
86
|
+
minMR;
|
|
87
|
+
/**
|
|
88
|
+
* Whether or not this is a Vault job.
|
|
89
|
+
* No indication for difference of normal vs arcana vaults.
|
|
90
|
+
*/
|
|
91
|
+
isVault;
|
|
92
|
+
/**
|
|
93
|
+
* Corresponding chamber. Nullable
|
|
94
|
+
*/
|
|
95
|
+
locationTag;
|
|
96
|
+
/**
|
|
97
|
+
* What time phase this bounty is bound to
|
|
98
|
+
*/
|
|
99
|
+
timeBound;
|
|
100
|
+
/**
|
|
101
|
+
* Generate a job with async data (reward pool)
|
|
102
|
+
* @param data The syndicate mission data
|
|
103
|
+
* @param expiry The syndicate job expiration
|
|
104
|
+
* @param deps The dependencies object
|
|
105
|
+
* @returns The created SyndicateJob object with rewardPool
|
|
106
|
+
*/
|
|
107
|
+
static async build(data, expiry, deps) {
|
|
108
|
+
const job = new SyndicateJob(data, expiry, deps);
|
|
109
|
+
job.rewardPool = await getBountyRewards(data.rewards, data, data.isVault);
|
|
110
|
+
return job;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Construct a job without async data (reward pool)
|
|
114
|
+
* @param data The syndicate mission data
|
|
115
|
+
* @param expiry The syndicate job expiration
|
|
116
|
+
* @param deps The dependencies object
|
|
117
|
+
* @param deps.locale Locale to use for translations
|
|
118
|
+
*
|
|
119
|
+
* This DOES NOT populate the reward pool
|
|
120
|
+
*/
|
|
121
|
+
constructor(data, expiry, { locale } = { locale: "en" }) {
|
|
122
|
+
super({ _id: { $oid: data.JobCurrentVersion ? data.JobCurrentVersion.$oid : `${(data.jobType || "").split("/").slice(-1)[0]}${expiry.getTime()}` } });
|
|
123
|
+
this.rewardPool = [];
|
|
124
|
+
const chamber = ((data.locationTag || "").match(/[A-Z]+(?![a-z])|[A-Z]?[a-z]+|\d+/g) || []).join(" ");
|
|
125
|
+
this.type = data.isVault ? `Isolation Vault ${chamber}` : data.jobType ? languageString(data.jobType, locale) : void 0;
|
|
126
|
+
this.enemyLevels = [data.minEnemyLevel, data.maxEnemyLevel];
|
|
127
|
+
this.standingStages = data.xpAmounts;
|
|
128
|
+
this.minMR = data.masteryReq || 0;
|
|
129
|
+
this.isVault = data.isVault;
|
|
130
|
+
this.locationTag = data.locationTag;
|
|
131
|
+
this.expiry = expiry;
|
|
132
|
+
const jobType = data.jobType ?? "";
|
|
133
|
+
if (jobType.toLowerCase().includes("narmer")) if (jobType.toLowerCase().includes("eidolon")) {
|
|
134
|
+
this.timeBound = "day";
|
|
135
|
+
this.expiry = new Date(this.expiry.getTime() - FIFTY_MINUTES);
|
|
136
|
+
} else this.timeBound = "night";
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
//#endregion
|
|
141
|
+
export { SyndicateJob };
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Dependency } from "./Dependency-DkOHLql6.js";
|
|
2
|
+
import { Identifier, WorldstateObject } from "./WorldstateObject-wfRTeGpm.js";
|
|
3
|
+
|
|
4
|
+
//#region lib/models/SyndicateJob.d.ts
|
|
5
|
+
interface RawSyndicateJob {
|
|
6
|
+
rewards: string;
|
|
7
|
+
isVault?: boolean;
|
|
8
|
+
JobCurrentVersion?: Identifier;
|
|
9
|
+
jobType?: string;
|
|
10
|
+
locationTag?: string;
|
|
11
|
+
minEnemyLevel: number;
|
|
12
|
+
maxEnemyLevel: number;
|
|
13
|
+
xpAmounts: number[];
|
|
14
|
+
masteryReq?: number;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Represents a syndicate daily mission
|
|
18
|
+
* @augments {WorldstateObject}
|
|
19
|
+
*/
|
|
20
|
+
declare class SyndicateJob extends WorldstateObject {
|
|
21
|
+
/**
|
|
22
|
+
* Array of strings describing rewards
|
|
23
|
+
*/
|
|
24
|
+
rewardPool: string[];
|
|
25
|
+
/**
|
|
26
|
+
* The type of job this is
|
|
27
|
+
*/
|
|
28
|
+
type?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Array of enemy levels
|
|
31
|
+
*/
|
|
32
|
+
enemyLevels: number[];
|
|
33
|
+
/**
|
|
34
|
+
* Array of standing gains per stage of job
|
|
35
|
+
*/
|
|
36
|
+
standingStages: number[];
|
|
37
|
+
/**
|
|
38
|
+
* Minimum mastery required to participate
|
|
39
|
+
*/
|
|
40
|
+
minMR: number;
|
|
41
|
+
/**
|
|
42
|
+
* Whether or not this is a Vault job.
|
|
43
|
+
* No indication for difference of normal vs arcana vaults.
|
|
44
|
+
*/
|
|
45
|
+
isVault?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Corresponding chamber. Nullable
|
|
48
|
+
*/
|
|
49
|
+
locationTag?: string;
|
|
50
|
+
/**
|
|
51
|
+
* What time phase this bounty is bound to
|
|
52
|
+
*/
|
|
53
|
+
timeBound: string | undefined;
|
|
54
|
+
/**
|
|
55
|
+
* Generate a job with async data (reward pool)
|
|
56
|
+
* @param data The syndicate mission data
|
|
57
|
+
* @param expiry The syndicate job expiration
|
|
58
|
+
* @param deps The dependencies object
|
|
59
|
+
* @returns The created SyndicateJob object with rewardPool
|
|
60
|
+
*/
|
|
61
|
+
static build(data: RawSyndicateJob, expiry: Date, deps: Dependency): Promise<SyndicateJob>;
|
|
62
|
+
/**
|
|
63
|
+
* Construct a job without async data (reward pool)
|
|
64
|
+
* @param data The syndicate mission data
|
|
65
|
+
* @param expiry The syndicate job expiration
|
|
66
|
+
* @param deps The dependencies object
|
|
67
|
+
* @param deps.locale Locale to use for translations
|
|
68
|
+
*
|
|
69
|
+
* This DOES NOT populate the reward pool
|
|
70
|
+
*/
|
|
71
|
+
constructor(data: RawSyndicateJob, expiry: Date, {
|
|
72
|
+
locale
|
|
73
|
+
}?: Dependency);
|
|
74
|
+
}
|
|
75
|
+
//#endregion
|
|
76
|
+
export { RawSyndicateJob, SyndicateJob };
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { WorldstateObject } from "./WorldstateObject-BSTYuZwm.js";
|
|
2
|
+
import { SyndicateJob } from "./SyndicateJob-BK7OMLmv.js";
|
|
3
|
+
import { fromNow, node, syndicate, timeDeltaToString } from "warframe-worldstate-data/utilities";
|
|
4
|
+
|
|
5
|
+
//#region lib/models/SyndicateMission.ts
|
|
6
|
+
/**
|
|
7
|
+
* Represents a syndicate daily mission
|
|
8
|
+
* @augments {WorldstateObject}
|
|
9
|
+
*/
|
|
10
|
+
var SyndicateMission = class SyndicateMission extends WorldstateObject {
|
|
11
|
+
/**
|
|
12
|
+
* The syndicate that is offering the mission
|
|
13
|
+
* @type {string}
|
|
14
|
+
*/
|
|
15
|
+
syndicate;
|
|
16
|
+
/**
|
|
17
|
+
* The syndicate that is offering the mission
|
|
18
|
+
* @type {string}
|
|
19
|
+
*/
|
|
20
|
+
syndicateKey;
|
|
21
|
+
/**
|
|
22
|
+
* The nodes on which the missions are taking place
|
|
23
|
+
* @type {Array.<string>}
|
|
24
|
+
*/
|
|
25
|
+
nodes;
|
|
26
|
+
/**
|
|
27
|
+
* The jobs for this syndicate. Will normally be []
|
|
28
|
+
* @type {Array.<SyndicateJob>}
|
|
29
|
+
*/
|
|
30
|
+
jobs;
|
|
31
|
+
/**
|
|
32
|
+
* Build a new SyndicateMission with async operations & data
|
|
33
|
+
* @param data The syndicate mission data
|
|
34
|
+
* @param deps The dependencies object
|
|
35
|
+
* @param deps.locale Locale to use for translations
|
|
36
|
+
* @returns SyndicateMission object w/ async resolution of jobs
|
|
37
|
+
*/
|
|
38
|
+
static async build(data, deps = { locale: "en" }) {
|
|
39
|
+
const syndicateMission = new SyndicateMission(data, deps);
|
|
40
|
+
if (data.Jobs?.length) syndicateMission.jobs = await Promise.all(data.Jobs.map((job) => SyndicateJob.build(job, syndicateMission.expiry, deps)));
|
|
41
|
+
else syndicateMission.jobs = [];
|
|
42
|
+
return syndicateMission;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* @param data The syndicate mission data
|
|
46
|
+
* @param deps The dependencies object
|
|
47
|
+
* @param deps.locale Locale to use for translations
|
|
48
|
+
*/
|
|
49
|
+
constructor(data, { locale = "en" } = { locale: "en" }) {
|
|
50
|
+
super(data);
|
|
51
|
+
this.syndicate = syndicate(data.Tag, locale);
|
|
52
|
+
this.syndicateKey = syndicate(data.Tag, "en");
|
|
53
|
+
this.nodes = data.Nodes.map((n) => node(n, locale));
|
|
54
|
+
this.jobs = [];
|
|
55
|
+
this.id = `${this.expiry.getTime()}${data.Tag}`;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Time delta string from now to the expiry
|
|
59
|
+
*/
|
|
60
|
+
get eta() {
|
|
61
|
+
return timeDeltaToString(fromNow(this.expiry));
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
//#endregion
|
|
66
|
+
export { SyndicateMission };
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Dependency } from "./Dependency-DkOHLql6.js";
|
|
2
|
+
import { BaseContentObject, WorldstateObject } from "./WorldstateObject-wfRTeGpm.js";
|
|
3
|
+
import { RawSyndicateJob, SyndicateJob } from "./SyndicateJob-DOtXWjRF.js";
|
|
4
|
+
|
|
5
|
+
//#region lib/models/SyndicateMission.d.ts
|
|
6
|
+
interface RawSyndicateMission extends BaseContentObject {
|
|
7
|
+
Tag: string;
|
|
8
|
+
Nodes: string[];
|
|
9
|
+
Jobs: RawSyndicateJob[];
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Represents a syndicate daily mission
|
|
13
|
+
* @augments {WorldstateObject}
|
|
14
|
+
*/
|
|
15
|
+
declare class SyndicateMission extends WorldstateObject {
|
|
16
|
+
/**
|
|
17
|
+
* The syndicate that is offering the mission
|
|
18
|
+
* @type {string}
|
|
19
|
+
*/
|
|
20
|
+
syndicate: string;
|
|
21
|
+
/**
|
|
22
|
+
* The syndicate that is offering the mission
|
|
23
|
+
* @type {string}
|
|
24
|
+
*/
|
|
25
|
+
syndicateKey: string;
|
|
26
|
+
/**
|
|
27
|
+
* The nodes on which the missions are taking place
|
|
28
|
+
* @type {Array.<string>}
|
|
29
|
+
*/
|
|
30
|
+
nodes: string[];
|
|
31
|
+
/**
|
|
32
|
+
* The jobs for this syndicate. Will normally be []
|
|
33
|
+
* @type {Array.<SyndicateJob>}
|
|
34
|
+
*/
|
|
35
|
+
jobs: SyndicateJob[];
|
|
36
|
+
/**
|
|
37
|
+
* Build a new SyndicateMission with async operations & data
|
|
38
|
+
* @param data The syndicate mission data
|
|
39
|
+
* @param deps The dependencies object
|
|
40
|
+
* @param deps.locale Locale to use for translations
|
|
41
|
+
* @returns SyndicateMission object w/ async resolution of jobs
|
|
42
|
+
*/
|
|
43
|
+
static build(data: RawSyndicateMission, deps?: Dependency): Promise<SyndicateMission>;
|
|
44
|
+
/**
|
|
45
|
+
* @param data The syndicate mission data
|
|
46
|
+
* @param deps The dependencies object
|
|
47
|
+
* @param deps.locale Locale to use for translations
|
|
48
|
+
*/
|
|
49
|
+
constructor(data: RawSyndicateMission, {
|
|
50
|
+
locale
|
|
51
|
+
}?: Dependency);
|
|
52
|
+
/**
|
|
53
|
+
* Time delta string from now to the expiry
|
|
54
|
+
*/
|
|
55
|
+
get eta(): string;
|
|
56
|
+
}
|
|
57
|
+
//#endregion
|
|
58
|
+
export { RawSyndicateMission, SyndicateMission };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Archimedea } from "./Archidemea-C0EMRUKc.js";
|
|
2
|
+
import { Kinepage } from "./Kinepage-iWFwTZtr.js";
|
|
3
|
+
import { SentientOutpost } from "./SentientOutpost-B2KZUJ7H.js";
|
|
4
|
+
|
|
5
|
+
//#region lib/Tmp.ts
|
|
6
|
+
var Tmp = class {
|
|
7
|
+
sentientOutposts;
|
|
8
|
+
kinepage;
|
|
9
|
+
deepArchimedea;
|
|
10
|
+
temporalArchimedea;
|
|
11
|
+
constructor(json, deps = { locale: "en" }) {
|
|
12
|
+
const tmp = JSON.parse(json);
|
|
13
|
+
this.sentientOutposts = new SentientOutpost(tmp.sfn, deps);
|
|
14
|
+
this.kinepage = new Kinepage(tmp.pgr, deps.locale);
|
|
15
|
+
if (tmp.lqo) this.deepArchimedea = new Archimedea(tmp.lqo, deps.locale);
|
|
16
|
+
if (tmp.hqo) this.temporalArchimedea = new Archimedea(tmp.hqo, deps.locale);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
//#endregion
|
|
21
|
+
export { Tmp };
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { WorldstateObject } from "./WorldstateObject-BSTYuZwm.js";
|
|
2
|
+
import { fromNow, timeDeltaToString } from "warframe-worldstate-data/utilities";
|
|
3
|
+
|
|
4
|
+
//#region lib/models/VallisCycle.ts
|
|
5
|
+
const lStart = /* @__PURE__ */ new Date("November 10, 2018 08:13:48 UTC");
|
|
6
|
+
const loopTime = 16e5;
|
|
7
|
+
const warmTime = 4e5;
|
|
8
|
+
const coldTime = loopTime - warmTime;
|
|
9
|
+
/**
|
|
10
|
+
* Get the current cycle state for Orb Vallis
|
|
11
|
+
* @returns current cycle state
|
|
12
|
+
*/
|
|
13
|
+
function getCurrentCycle() {
|
|
14
|
+
const sinceLast = (Date.now() - lStart.getMilliseconds()) % loopTime;
|
|
15
|
+
const toNextFull = loopTime - sinceLast;
|
|
16
|
+
let state = "cold";
|
|
17
|
+
if (toNextFull > coldTime) state = "warm";
|
|
18
|
+
let toNextMinor;
|
|
19
|
+
if (toNextFull < coldTime) toNextMinor = toNextFull;
|
|
20
|
+
else toNextMinor = toNextFull - coldTime;
|
|
21
|
+
const milliAtNext = Date.now() + toNextMinor;
|
|
22
|
+
const milliAtPrev = Date.now() + toNextFull - (state === "warm" ? loopTime : coldTime);
|
|
23
|
+
const timeAtPrevious = new Date(milliAtPrev);
|
|
24
|
+
timeAtPrevious.setSeconds(0);
|
|
25
|
+
return {
|
|
26
|
+
state,
|
|
27
|
+
toNextMinor,
|
|
28
|
+
toNextFull,
|
|
29
|
+
timeAtNext: new Date(milliAtNext),
|
|
30
|
+
timeAtPrevious
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Represents the current Earth Day/Night Cycle
|
|
35
|
+
* @augments {WorldstateObject}
|
|
36
|
+
*/
|
|
37
|
+
var VallisCycle = class extends WorldstateObject {
|
|
38
|
+
/**
|
|
39
|
+
* Whether or not this it's daytime
|
|
40
|
+
*/
|
|
41
|
+
isWarm;
|
|
42
|
+
/**
|
|
43
|
+
* Current cycle state. One of `warm`, `cold`
|
|
44
|
+
*/
|
|
45
|
+
state;
|
|
46
|
+
/**
|
|
47
|
+
* The current cetus cycle, for calculating the other fields
|
|
48
|
+
*/
|
|
49
|
+
#ec = getCurrentCycle();
|
|
50
|
+
constructor() {
|
|
51
|
+
super({ _id: { $oid: "vallisCycle0" } });
|
|
52
|
+
this.id = `vallisCycle${this.#ec.timeAtPrevious.getTime()}`;
|
|
53
|
+
this.activation = this.#ec.timeAtPrevious;
|
|
54
|
+
this.expiry = this.#ec.timeAtNext;
|
|
55
|
+
this.isWarm = this.#ec.state === "warm";
|
|
56
|
+
this.state = this.#ec.state;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Whether this event has expired
|
|
60
|
+
*/
|
|
61
|
+
get expired() {
|
|
62
|
+
return fromNow(this.expiry) < 0;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Time remaining string
|
|
66
|
+
*/
|
|
67
|
+
get timeLeft() {
|
|
68
|
+
return timeDeltaToString(this.#ec.toNextMinor);
|
|
69
|
+
}
|
|
70
|
+
get shortString() {
|
|
71
|
+
return `${this.timeLeft.replace(/\s\d*s/gi, "")} to ${this.isWarm ? "Cold" : "Warm"}`;
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
//#endregion
|
|
76
|
+
export { VallisCycle };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { WorldstateObject } from "./WorldstateObject-wfRTeGpm.js";
|
|
2
|
+
|
|
3
|
+
//#region lib/models/VallisCycle.d.ts
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Represents the current Earth Day/Night Cycle
|
|
7
|
+
* @augments {WorldstateObject}
|
|
8
|
+
*/
|
|
9
|
+
declare class VallisCycle extends WorldstateObject {
|
|
10
|
+
#private;
|
|
11
|
+
/**
|
|
12
|
+
* Whether or not this it's daytime
|
|
13
|
+
*/
|
|
14
|
+
isWarm: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Current cycle state. One of `warm`, `cold`
|
|
17
|
+
*/
|
|
18
|
+
state: string;
|
|
19
|
+
constructor();
|
|
20
|
+
/**
|
|
21
|
+
* Whether this event has expired
|
|
22
|
+
*/
|
|
23
|
+
get expired(): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Time remaining string
|
|
26
|
+
*/
|
|
27
|
+
get timeLeft(): string;
|
|
28
|
+
get shortString(): string;
|
|
29
|
+
}
|
|
30
|
+
//#endregion
|
|
31
|
+
export { VallisCycle };
|