feat: worldState.baroTennoConRelay config (#2574)
Closes #2531 Reviewed-on: #2574 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
This commit is contained in:
parent
6e1cb0c9f9
commit
f561884f2c
@ -335,6 +335,17 @@ export const getInventoryResponse = async (
|
|||||||
for (const uniqueName in ExportFlavour) {
|
for (const uniqueName in ExportFlavour) {
|
||||||
inventoryResponse.FlavourItems.push({ ItemType: uniqueName });
|
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) {
|
if (config.unlockAllSkins) {
|
||||||
|
@ -82,6 +82,7 @@ export interface IConfig {
|
|||||||
affinityBoost?: boolean;
|
affinityBoost?: boolean;
|
||||||
resourceBoost?: boolean;
|
resourceBoost?: boolean;
|
||||||
tennoLiveRelay?: boolean;
|
tennoLiveRelay?: boolean;
|
||||||
|
baroTennoConRelay?: boolean;
|
||||||
galleonOfGhouls?: number;
|
galleonOfGhouls?: number;
|
||||||
starDaysOverride?: boolean;
|
starDaysOverride?: boolean;
|
||||||
eidolonOverride?: string;
|
eidolonOverride?: string;
|
||||||
|
@ -1157,6 +1157,25 @@ const getIdealTimeSatsifyingConstraints = (constraints: ITimeConstraint[]): numb
|
|||||||
return timeSecs;
|
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 getVarziaRotation = (week: number): string => {
|
||||||
const seed = new SRng(week).randomInt(0, 100_000);
|
const seed = new SRng(week).randomInt(0, 100_000);
|
||||||
const rng = new SRng(seed);
|
const rng = new SRng(seed);
|
||||||
@ -1402,6 +1421,33 @@ export const getWorldState = (buildLabel?: string): IWorldState => {
|
|||||||
Node: "TennoConBHUB6"
|
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;
|
const isFebruary = date.getUTCMonth() == 1;
|
||||||
if (config.worldState?.starDaysOverride ?? isFebruary) {
|
if (config.worldState?.starDaysOverride ?? isFebruary) {
|
||||||
worldState.Goals.push({
|
worldState.Goals.push({
|
||||||
@ -1633,24 +1679,8 @@ export const getWorldState = (buildLabel?: string): IWorldState => {
|
|||||||
};
|
};
|
||||||
worldState.VoidTraders.push(vt);
|
worldState.VoidTraders.push(vt);
|
||||||
if (isBeforeNextExpectedWorldStateRefresh(timeMs, baroActualStart)) {
|
if (isBeforeNextExpectedWorldStateRefresh(timeMs, baroActualStart)) {
|
||||||
vt.Manifest = [];
|
|
||||||
if (config.baroFullyStocked) {
|
if (config.baroFullyStocked) {
|
||||||
for (const armorSet of baro.armorSets) {
|
fullyStockBaro(vt);
|
||||||
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);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
const rng = new SRng(new SRng(baroIndex).randomInt(0, 100_000));
|
const rng = new SRng(new SRng(baroIndex).randomInt(0, 100_000));
|
||||||
// TOVERIFY: Constraint for upgrades amount?
|
// TOVERIFY: Constraint for upgrades amount?
|
||||||
|
@ -929,6 +929,10 @@
|
|||||||
<input class="form-check-input" type="checkbox" id="worldState.tennoLiveRelay" />
|
<input class="form-check-input" type="checkbox" id="worldState.tennoLiveRelay" />
|
||||||
<label class="form-check-label" for="worldState.tennoLiveRelay" data-loc="worldState_tennoLiveRelay"></label>
|
<label class="form-check-label" for="worldState.tennoLiveRelay" data-loc="worldState_tennoLiveRelay"></label>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-check">
|
||||||
|
<input class="form-check-input" type="checkbox" id="worldState.baroTennoConRelay" />
|
||||||
|
<label class="form-check-label" for="worldState.baroTennoConRelay" data-loc="worldState_baroTennoConRelay"></label>
|
||||||
|
</div>
|
||||||
<div class="form-check">
|
<div class="form-check">
|
||||||
<input class="form-check-input" type="checkbox" id="worldState.varziaFullyStocked" />
|
<input class="form-check-input" type="checkbox" id="worldState.varziaFullyStocked" />
|
||||||
<label class="form-check-label" for="worldState.varziaFullyStocked" data-loc="worldState_varziaFullyStocked"></label>
|
<label class="form-check-label" for="worldState.varziaFullyStocked" data-loc="worldState_varziaFullyStocked"></label>
|
||||||
|
@ -243,6 +243,7 @@ dict = {
|
|||||||
worldState_affinityBoost: `Event Booster: Erfahrung`,
|
worldState_affinityBoost: `Event Booster: Erfahrung`,
|
||||||
worldState_resourceBoost: `Event Booster: Ressourcen`,
|
worldState_resourceBoost: `Event Booster: Ressourcen`,
|
||||||
worldState_tennoLiveRelay: `[UNTRANSLATED] TennoLive Relay`,
|
worldState_tennoLiveRelay: `[UNTRANSLATED] TennoLive Relay`,
|
||||||
|
worldState_baroTennoConRelay: `[UNTRANSLATED] Baro's TennoCon Relay`,
|
||||||
worldState_starDays: `Sternen-Tage`,
|
worldState_starDays: `Sternen-Tage`,
|
||||||
worldState_galleonOfGhouls: `Galeone der Ghule`,
|
worldState_galleonOfGhouls: `Galeone der Ghule`,
|
||||||
enabled: `[UNTRANSLATED] Enabled`,
|
enabled: `[UNTRANSLATED] Enabled`,
|
||||||
|
@ -242,6 +242,7 @@ dict = {
|
|||||||
worldState_affinityBoost: `Affinity Boost`,
|
worldState_affinityBoost: `Affinity Boost`,
|
||||||
worldState_resourceBoost: `Resource Boost`,
|
worldState_resourceBoost: `Resource Boost`,
|
||||||
worldState_tennoLiveRelay: `TennoLive Relay`,
|
worldState_tennoLiveRelay: `TennoLive Relay`,
|
||||||
|
worldState_baroTennoConRelay: `Baro's TennoCon Relay`,
|
||||||
worldState_starDays: `Star Days`,
|
worldState_starDays: `Star Days`,
|
||||||
worldState_galleonOfGhouls: `Galleon of Ghouls`,
|
worldState_galleonOfGhouls: `Galleon of Ghouls`,
|
||||||
enabled: `Enabled`,
|
enabled: `Enabled`,
|
||||||
|
@ -243,6 +243,7 @@ dict = {
|
|||||||
worldState_affinityBoost: `Potenciador de Afinidad`,
|
worldState_affinityBoost: `Potenciador de Afinidad`,
|
||||||
worldState_resourceBoost: `Potenciador de Recursos`,
|
worldState_resourceBoost: `Potenciador de Recursos`,
|
||||||
worldState_tennoLiveRelay: `[UNTRANSLATED] TennoLive Relay`,
|
worldState_tennoLiveRelay: `[UNTRANSLATED] TennoLive Relay`,
|
||||||
|
worldState_baroTennoConRelay: `[UNTRANSLATED] Baro's TennoCon Relay`,
|
||||||
worldState_starDays: `Días estelares`,
|
worldState_starDays: `Días estelares`,
|
||||||
worldState_galleonOfGhouls: `Galeón de Gules`,
|
worldState_galleonOfGhouls: `Galeón de Gules`,
|
||||||
enabled: `[UNTRANSLATED] Enabled`,
|
enabled: `[UNTRANSLATED] Enabled`,
|
||||||
|
@ -243,6 +243,7 @@ dict = {
|
|||||||
worldState_affinityBoost: `Booster d'Affinité`,
|
worldState_affinityBoost: `Booster d'Affinité`,
|
||||||
worldState_resourceBoost: `Booster de Ressource`,
|
worldState_resourceBoost: `Booster de Ressource`,
|
||||||
worldState_tennoLiveRelay: `[UNTRANSLATED] TennoLive Relay`,
|
worldState_tennoLiveRelay: `[UNTRANSLATED] TennoLive Relay`,
|
||||||
|
worldState_baroTennoConRelay: `[UNTRANSLATED] Baro's TennoCon Relay`,
|
||||||
worldState_starDays: `Jours Stellaires`,
|
worldState_starDays: `Jours Stellaires`,
|
||||||
worldState_galleonOfGhouls: `Galion des Goules`,
|
worldState_galleonOfGhouls: `Galion des Goules`,
|
||||||
enabled: `[UNTRANSLATED] Enabled`,
|
enabled: `[UNTRANSLATED] Enabled`,
|
||||||
|
@ -243,6 +243,7 @@ dict = {
|
|||||||
worldState_affinityBoost: `[UNTRANSLATED] Affinity Boost`,
|
worldState_affinityBoost: `[UNTRANSLATED] Affinity Boost`,
|
||||||
worldState_resourceBoost: `[UNTRANSLATED] Resource Boost`,
|
worldState_resourceBoost: `[UNTRANSLATED] Resource Boost`,
|
||||||
worldState_tennoLiveRelay: `[UNTRANSLATED] TennoLive Relay`,
|
worldState_tennoLiveRelay: `[UNTRANSLATED] TennoLive Relay`,
|
||||||
|
worldState_baroTennoConRelay: `[UNTRANSLATED] Baro's TennoCon Relay`,
|
||||||
worldState_starDays: `[UNTRANSLATED] Star Days`,
|
worldState_starDays: `[UNTRANSLATED] Star Days`,
|
||||||
worldState_galleonOfGhouls: `[UNTRANSLATED] Galleon of Ghouls`,
|
worldState_galleonOfGhouls: `[UNTRANSLATED] Galleon of Ghouls`,
|
||||||
enabled: `[UNTRANSLATED] Enabled`,
|
enabled: `[UNTRANSLATED] Enabled`,
|
||||||
|
@ -243,6 +243,7 @@ dict = {
|
|||||||
worldState_affinityBoost: `经验加成`,
|
worldState_affinityBoost: `经验加成`,
|
||||||
worldState_resourceBoost: `资源加成`,
|
worldState_resourceBoost: `资源加成`,
|
||||||
worldState_tennoLiveRelay: `TennoLive 中继站`,
|
worldState_tennoLiveRelay: `TennoLive 中继站`,
|
||||||
|
worldState_baroTennoConRelay: `[UNTRANSLATED] Baro's TennoCon Relay`,
|
||||||
worldState_starDays: `活动:星日`,
|
worldState_starDays: `活动:星日`,
|
||||||
worldState_galleonOfGhouls: `战术警报:尸鬼的帆船战舰`,
|
worldState_galleonOfGhouls: `战术警报:尸鬼的帆船战舰`,
|
||||||
enabled: `启用`,
|
enabled: `启用`,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user