Compare commits

...

3 Commits

Author SHA1 Message Date
274b0a3a4a be explicit about the year 2025-10-08 08:38:29 +02:00
8d4abe863c simplify worldState logic 2025-10-08 08:34:34 +02:00
e9e8eea801 fix margin 2025-10-08 08:25:57 +02:00
6 changed files with 25 additions and 28 deletions

View File

@ -41,10 +41,10 @@
"naberusNightsOverride": null,
"proxyRebellion": false,
"proxyRebellionRewardsOverride": 0,
"voidCorruptionWeek1": false,
"voidCorruptionWeek2": false,
"voidCorruptionWeek3": false,
"voidCorruptionWeek4": false,
"voidCorruption2025Week1": false,
"voidCorruption2025Week2": false,
"voidCorruption2025Week3": false,
"voidCorruption2025Week4": false,
"galleonOfGhouls": 0,
"ghoulEmergenceOverride": null,
"plagueStarOverride": null,

View File

@ -51,10 +51,10 @@ export interface IConfig {
naberusNightsOverride?: boolean;
proxyRebellion?: boolean;
proxyRebellionRewardsOverride?: number;
voidCorruptionWeek1?: boolean;
voidCorruptionWeek2?: boolean;
voidCorruptionWeek3?: boolean;
voidCorruptionWeek4?: boolean;
voidCorruption2025Week1?: boolean;
voidCorruption2025Week2?: boolean;
voidCorruption2025Week3?: boolean;
voidCorruption2025Week4?: boolean;
galleonOfGhouls?: number;
ghoulEmergenceOverride?: boolean;
plagueStarOverride?: boolean;

View File

@ -113,8 +113,8 @@ const sortieBossNode: Record<Exclude<TSortieBoss, "SORTIE_BOSS_CORRUPTED_VOR">,
SORTIE_BOSS_VOR: "SolNode108"
};
const voidCorruptionAlerts = [
{
const configAlerts: Record<string, IAlert> = {
voidCorruption2025Week1: {
_id: { $oid: "677d452e2f324ee7b90f8ccf" },
Activation: { $date: { $numberLong: "1736524800000" } },
Expiry: { $date: { $numberLong: "2000000000000" } },
@ -134,7 +134,7 @@ const voidCorruptionAlerts = [
maxEnemyLevel: 15
}
},
{
voidCorruption2025Week2: {
_id: { $oid: "677d45811daeae9de40e8c0f" },
Activation: { $date: { $numberLong: "1737129600000" } },
Expiry: { $date: { $numberLong: "2000000000000" } },
@ -154,7 +154,7 @@ const voidCorruptionAlerts = [
maxWaveNum: 6
}
},
{
voidCorruption2025Week3: {
_id: { $oid: "677d45a494ad716c90006b9a" },
Activation: { $date: { $numberLong: "1737734400000" } },
Expiry: { $date: { $numberLong: "2000000000000" } },
@ -175,7 +175,7 @@ const voidCorruptionAlerts = [
maxEnemyLevel: 35
}
},
{
voidCorruption2025Week4: {
_id: { $oid: "677d4700682d173abb0e19fe" },
Activation: { $date: { $numberLong: "1738339200000" } },
Expiry: { $date: { $numberLong: "2000000000000" } },
@ -194,7 +194,7 @@ const voidCorruptionAlerts = [
maxEnemyLevel: 45
}
}
] satisfies readonly IAlert[];
};
const eidolonJobs: readonly string[] = [
"/Lotus/Types/Gameplay/Eidolon/Jobs/AssassinateBountyAss",
@ -1566,17 +1566,12 @@ export const getWorldState = (buildLabel?: string): IWorldState => {
fullyStockBaro(vt);
}
const vcWeeks = [
["voidCorruptionWeek1", 0],
["voidCorruptionWeek2", 1],
["voidCorruptionWeek3", 2],
["voidCorruptionWeek4", 3]
] as const;
const selected = vcWeeks.filter(([flag]) => config.worldState?.[flag]).map(([, idx]) => voidCorruptionAlerts[idx]);
if (selected.length) {
worldState.Alerts = [...worldState.Alerts, ...selected];
if (config.worldState) {
for (const [key, alert] of Object.entries(configAlerts)) {
if (config.worldState[key as keyof typeof config.worldState]) {
worldState.Alerts.push(alert);
}
}
}
const isFebruary = date.getUTCMonth() == 1;

View File

@ -7,7 +7,7 @@ export interface IWorldState {
Time: number;
InGameMarket: IInGameMarket;
Goals: IGoal[];
Alerts: readonly IAlert[];
Alerts: IAlert[];
Sorties: ISortie[];
LiteSorties: ILiteSortie[];
SyndicateMissions: ISyndicateMissionInfo[];

View File

@ -1233,7 +1233,8 @@
</select>
</div>
</div>
<label class="form-label" data-loc="worldState_voidCorruption"></label>
<div class="mt-2">
<label class="form-label" data-loc="worldState_voidCorruption" data-loc-replace="2025"></label>
<div class="d-flex flex-wrap gap-3">
<div class="form-check">
<input class="form-check-input" type="checkbox" id="worldState.voidCorruptionWeek1" />
@ -1252,6 +1253,7 @@
<label class="form-check-label" for="worldState.voidCorruptionWeek4" data-loc="worldState_week" data-loc-replace="4"></label>
</div>
</div>
</div>
<div class="form-group mt-2">
<label class="form-label" for="worldState.galleonOfGhouls" data-loc="worldState_galleonOfGhouls"></label>
<abbr data-loc-inc="worldState_wolfHunt|worldState_anniversary|worldState_orphixVenom"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path d="M320 576C461.4 576 576 461.4 576 320C576 178.6 461.4 64 320 64C178.6 64 64 178.6 64 320C64 461.4 178.6 576 320 576zM320 200C333.3 200 344 210.7 344 224L344 336C344 349.3 333.3 360 320 360C306.7 360 296 349.3 296 336L296 224C296 210.7 306.7 200 320 200zM293.3 416C292.7 406.1 297.6 396.7 306.1 391.5C314.6 386.4 325.3 386.4 333.8 391.5C342.3 396.7 347.2 406.1 346.6 416C347.2 425.9 342.3 435.3 333.8 440.5C325.3 445.6 314.6 445.6 306.1 440.5C297.6 435.3 292.7 425.9 293.3 416z"/></svg></abbr>

View File

@ -278,7 +278,7 @@ dict = {
worldState_dogDays: `Dog Days`,
worldState_dogDaysRewards: `Dog Days Rewards`,
worldState_wolfHunt: `Wolf Hunt (2025)`,
worldState_voidCorruption: `Void Corruption (2025)`,
worldState_voidCorruption: `Void Corruption (|VAL|)`,
worldState_orphixVenom: `Orphix Venom`,
worldState_longShadow: `Long Shadow`,
worldState_hallowedFlame: `Hallowed Flame`,