diff --git a/src/controllers/api/inventoryController.ts b/src/controllers/api/inventoryController.ts index 357c34cb..53c82da5 100644 --- a/src/controllers/api/inventoryController.ts +++ b/src/controllers/api/inventoryController.ts @@ -335,6 +335,17 @@ export const getInventoryResponse = async ( for (const uniqueName in ExportFlavour) { inventoryResponse.FlavourItems.push({ ItemType: uniqueName }); } + } else if (config.worldState?.baroTennoConRelay) { + [ + "/Lotus/Types/Items/Events/TennoConRelay2022EarlyAccess", + "/Lotus/Types/Items/Events/TennoConRelay2023EarlyAccess", + "/Lotus/Types/Items/Events/TennoConRelay2024EarlyAccess", + "/Lotus/Types/Items/Events/TennoConRelay2025EarlyAccess" + ].forEach(uniqueName => { + if (!inventoryResponse.FlavourItems.some(x => x.ItemType == uniqueName)) { + inventoryResponse.FlavourItems.push({ ItemType: uniqueName }); + } + }); } if (config.unlockAllSkins) { diff --git a/src/services/configService.ts b/src/services/configService.ts index f92fe010..f46c747b 100644 --- a/src/services/configService.ts +++ b/src/services/configService.ts @@ -82,6 +82,7 @@ export interface IConfig { affinityBoost?: boolean; resourceBoost?: boolean; tennoLiveRelay?: boolean; + baroTennoConRelay?: boolean; galleonOfGhouls?: number; starDaysOverride?: boolean; eidolonOverride?: string; diff --git a/src/services/worldStateService.ts b/src/services/worldStateService.ts index fc757768..804be155 100644 --- a/src/services/worldStateService.ts +++ b/src/services/worldStateService.ts @@ -1157,6 +1157,25 @@ const getIdealTimeSatsifyingConstraints = (constraints: ITimeConstraint[]): numb return timeSecs; }; +const fullyStockBaro = (vt: IVoidTrader): void => { + for (const armorSet of baro.armorSets) { + if (Array.isArray(armorSet[0])) { + for (const set of armorSet as IVoidTraderOffer[][]) { + for (const item of set) { + vt.Manifest.push(item); + } + } + } else { + for (const item of armorSet as IVoidTraderOffer[]) { + vt.Manifest.push(item); + } + } + } + for (const item of baro.rest) { + vt.Manifest.push(item); + } +}; + const getVarziaRotation = (week: number): string => { const seed = new SRng(week).randomInt(0, 100_000); const rng = new SRng(seed); @@ -1402,6 +1421,33 @@ export const getWorldState = (buildLabel?: string): IWorldState => { Node: "TennoConBHUB6" }); } + if (config.worldState?.baroTennoConRelay) { + worldState.Goals.push({ + _id: { $oid: "687bb2f00000000000000000" }, + Activation: { $date: { $numberLong: "1752937200000" } }, + Expiry: { $date: { $numberLong: "2000000000000" } }, + Count: 0, + Goal: 0, + Success: 0, + Personal: true, + //"Faction": "FC_GRINEER", + Desc: "/Lotus/Language/Locations/RelayStationTennoCon", + ToolTip: "/Lotus/Language/Locations/RelayStationTennoConDesc", + Icon: "/Lotus/Interface/Icons/Categories/IconTennoConSigil.png", + Tag: "TennoConRelay", + Node: "TennoConHUB2" + }); + const vt: IVoidTrader = { + _id: { $oid: "687809030379266d790495c6" }, + Activation: { $date: { $numberLong: "1752937200000" } }, + Expiry: { $date: { $numberLong: "2000000000000" } }, + Character: "Baro'Ki Teel", + Node: "TennoConHUB2", + Manifest: [] + }; + worldState.VoidTraders.push(vt); + fullyStockBaro(vt); + } const isFebruary = date.getUTCMonth() == 1; if (config.worldState?.starDaysOverride ?? isFebruary) { worldState.Goals.push({ @@ -1633,24 +1679,8 @@ export const getWorldState = (buildLabel?: string): IWorldState => { }; worldState.VoidTraders.push(vt); if (isBeforeNextExpectedWorldStateRefresh(timeMs, baroActualStart)) { - vt.Manifest = []; if (config.baroFullyStocked) { - for (const armorSet of baro.armorSets) { - if (Array.isArray(armorSet[0])) { - for (const set of armorSet as IVoidTraderOffer[][]) { - for (const item of set) { - vt.Manifest.push(item); - } - } - } else { - for (const item of armorSet as IVoidTraderOffer[]) { - vt.Manifest.push(item); - } - } - } - for (const item of baro.rest) { - vt.Manifest.push(item); - } + fullyStockBaro(vt); } else { const rng = new SRng(new SRng(baroIndex).randomInt(0, 100_000)); // TOVERIFY: Constraint for upgrades amount? diff --git a/static/webui/index.html b/static/webui/index.html index 398c1661..0c0bd3c6 100644 --- a/static/webui/index.html +++ b/static/webui/index.html @@ -929,6 +929,10 @@ +
+ + +
diff --git a/static/webui/translations/de.js b/static/webui/translations/de.js index 60f48e0a..88c36899 100644 --- a/static/webui/translations/de.js +++ b/static/webui/translations/de.js @@ -243,6 +243,7 @@ dict = { worldState_affinityBoost: `Event Booster: Erfahrung`, worldState_resourceBoost: `Event Booster: Ressourcen`, worldState_tennoLiveRelay: `[UNTRANSLATED] TennoLive Relay`, + worldState_baroTennoConRelay: `[UNTRANSLATED] Baro's TennoCon Relay`, worldState_starDays: `Sternen-Tage`, worldState_galleonOfGhouls: `Galeone der Ghule`, enabled: `[UNTRANSLATED] Enabled`, diff --git a/static/webui/translations/en.js b/static/webui/translations/en.js index 08119b98..e976ffd5 100644 --- a/static/webui/translations/en.js +++ b/static/webui/translations/en.js @@ -242,6 +242,7 @@ dict = { worldState_affinityBoost: `Affinity Boost`, worldState_resourceBoost: `Resource Boost`, worldState_tennoLiveRelay: `TennoLive Relay`, + worldState_baroTennoConRelay: `Baro's TennoCon Relay`, worldState_starDays: `Star Days`, worldState_galleonOfGhouls: `Galleon of Ghouls`, enabled: `Enabled`, diff --git a/static/webui/translations/es.js b/static/webui/translations/es.js index fc064408..32c9e336 100644 --- a/static/webui/translations/es.js +++ b/static/webui/translations/es.js @@ -243,6 +243,7 @@ dict = { worldState_affinityBoost: `Potenciador de Afinidad`, worldState_resourceBoost: `Potenciador de Recursos`, worldState_tennoLiveRelay: `[UNTRANSLATED] TennoLive Relay`, + worldState_baroTennoConRelay: `[UNTRANSLATED] Baro's TennoCon Relay`, worldState_starDays: `Días estelares`, worldState_galleonOfGhouls: `Galeón de Gules`, enabled: `[UNTRANSLATED] Enabled`, diff --git a/static/webui/translations/fr.js b/static/webui/translations/fr.js index 6f641315..14e13f4d 100644 --- a/static/webui/translations/fr.js +++ b/static/webui/translations/fr.js @@ -243,6 +243,7 @@ dict = { worldState_affinityBoost: `Booster d'Affinité`, worldState_resourceBoost: `Booster de Ressource`, worldState_tennoLiveRelay: `[UNTRANSLATED] TennoLive Relay`, + worldState_baroTennoConRelay: `[UNTRANSLATED] Baro's TennoCon Relay`, worldState_starDays: `Jours Stellaires`, worldState_galleonOfGhouls: `Galion des Goules`, enabled: `[UNTRANSLATED] Enabled`, diff --git a/static/webui/translations/ru.js b/static/webui/translations/ru.js index a6976cf5..28b6cc74 100644 --- a/static/webui/translations/ru.js +++ b/static/webui/translations/ru.js @@ -243,6 +243,7 @@ dict = { worldState_affinityBoost: `[UNTRANSLATED] Affinity Boost`, worldState_resourceBoost: `[UNTRANSLATED] Resource Boost`, worldState_tennoLiveRelay: `[UNTRANSLATED] TennoLive Relay`, + worldState_baroTennoConRelay: `[UNTRANSLATED] Baro's TennoCon Relay`, worldState_starDays: `[UNTRANSLATED] Star Days`, worldState_galleonOfGhouls: `[UNTRANSLATED] Galleon of Ghouls`, enabled: `[UNTRANSLATED] Enabled`, diff --git a/static/webui/translations/zh.js b/static/webui/translations/zh.js index cdf86806..5b9b6e55 100644 --- a/static/webui/translations/zh.js +++ b/static/webui/translations/zh.js @@ -243,6 +243,7 @@ dict = { worldState_affinityBoost: `经验加成`, worldState_resourceBoost: `资源加成`, worldState_tennoLiveRelay: `TennoLive 中继站`, + worldState_baroTennoConRelay: `[UNTRANSLATED] Baro's TennoCon Relay`, worldState_starDays: `活动:星日`, worldState_galleonOfGhouls: `战术警报:尸鬼的帆船战舰`, enabled: `启用`,