forked from OpenWF/SpaceNinjaServer
parent
610a432e46
commit
9ca07984b2
@ -45,6 +45,7 @@
|
||||
"voidCorruption2025Week2": false,
|
||||
"voidCorruption2025Week3": false,
|
||||
"voidCorruption2025Week4": false,
|
||||
"qtccAlerts": false,
|
||||
"galleonOfGhouls": 0,
|
||||
"ghoulEmergenceOverride": null,
|
||||
"plagueStarOverride": null,
|
||||
|
||||
@ -55,6 +55,7 @@ export interface IConfig {
|
||||
voidCorruption2025Week2?: boolean;
|
||||
voidCorruption2025Week3?: boolean;
|
||||
voidCorruption2025Week4?: boolean;
|
||||
qtccAlerts?: boolean;
|
||||
galleonOfGhouls?: number;
|
||||
ghoulEmergenceOverride?: boolean;
|
||||
plagueStarOverride?: boolean;
|
||||
|
||||
@ -151,7 +151,7 @@ const configAlerts: Record<string, IAlert> = {
|
||||
enemySpec: "/Lotus/Types/Game/EnemySpecs/CorpusShipEnemySpecs/CorpusShipSquadDefenseB",
|
||||
minEnemyLevel: 20,
|
||||
maxEnemyLevel: 25,
|
||||
maxWaveNum: 6
|
||||
maxRotations: 2
|
||||
}
|
||||
},
|
||||
voidCorruption2025Week3: {
|
||||
@ -1476,6 +1476,7 @@ export const getWorldState = (buildLabel?: string): IWorldState => {
|
||||
const weekStart = EPOCH + week * 604800000;
|
||||
const weekEnd = weekStart + 604800000;
|
||||
const date = new Date(timeMs);
|
||||
const defenseWavesPerRotation = buildLabel && version_compare(buildLabel, "2025.03.18.16.07") < 0 ? 5 : 3;
|
||||
|
||||
const worldState: IWorldState = {
|
||||
BuildLabel: typeof buildLabel == "string" ? buildLabel.split(" ").join("+") : buildConfig.buildLabel,
|
||||
@ -1569,11 +1570,117 @@ export const getWorldState = (buildLabel?: string): IWorldState => {
|
||||
if (config.worldState) {
|
||||
for (const [key, alert] of Object.entries(configAlerts)) {
|
||||
if (config.worldState[key as keyof typeof config.worldState]) {
|
||||
if (alert.MissionInfo.missionType == "MT_DEFENSE")
|
||||
alert.MissionInfo.maxWaveNum = defenseWavesPerRotation * (alert.MissionInfo.maxRotations ?? 1);
|
||||
worldState.Alerts.push(alert);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (config.worldState?.qtccAlerts) {
|
||||
worldState.Alerts.push(
|
||||
{
|
||||
_id: {
|
||||
$oid: "68dc23c42e9d3acfa708ff3b"
|
||||
},
|
||||
Activation: {
|
||||
$date: {
|
||||
$numberLong: "1759327200000"
|
||||
}
|
||||
},
|
||||
Expiry: {
|
||||
$date: {
|
||||
$numberLong: "2000000000000"
|
||||
}
|
||||
},
|
||||
MissionInfo: {
|
||||
location: "SolNode123",
|
||||
missionType: "MT_SURVIVAL",
|
||||
faction: "FC_CORPUS",
|
||||
difficulty: 1,
|
||||
missionReward: {
|
||||
credits: 10000,
|
||||
items: ["/Lotus/StoreItems/Types/Items/ShipDecos/Plushies/Plushy2021QTCC"]
|
||||
},
|
||||
levelOverride: "/Lotus/Levels/Proc/Corpus/CorpusShipSurvivalRaid",
|
||||
enemySpec: "/Lotus/Types/Game/EnemySpecs/CorpusShipEnemySpecs/CorpusShipSurvivalA",
|
||||
minEnemyLevel: 20,
|
||||
maxEnemyLevel: 30,
|
||||
descText: "/Lotus/Language/Alerts/TennoUnitedAlert",
|
||||
maxWaveNum: 5
|
||||
},
|
||||
Tag: "LotusGift",
|
||||
ForceUnlock: true
|
||||
},
|
||||
{
|
||||
_id: {
|
||||
$oid: "68dc2466e298b4f04206687a"
|
||||
},
|
||||
Activation: {
|
||||
$date: {
|
||||
$numberLong: "1759327200000"
|
||||
}
|
||||
},
|
||||
Expiry: {
|
||||
$date: {
|
||||
$numberLong: "2000000000000"
|
||||
}
|
||||
},
|
||||
MissionInfo: {
|
||||
location: "SolNode149",
|
||||
missionType: "MT_DEFENSE",
|
||||
faction: "FC_GRINEER",
|
||||
difficulty: 1,
|
||||
missionReward: {
|
||||
credits: 10000,
|
||||
items: ["/Lotus/StoreItems/Types/Items/ShipDecos/Plushies/Plushy2022QTCC"]
|
||||
},
|
||||
levelOverride: "/Lotus/Levels/Proc/Grineer/GrineerShipyardsDefense",
|
||||
enemySpec: "/Lotus/Types/Game/EnemySpecs/GrineerShipyardsDefenseA",
|
||||
minEnemyLevel: 20,
|
||||
maxEnemyLevel: 30,
|
||||
descText: "/Lotus/Language/Alerts/TennoUnitedAlert",
|
||||
maxWaveNum: defenseWavesPerRotation * 1
|
||||
},
|
||||
Tag: "LotusGift",
|
||||
ForceUnlock: true
|
||||
},
|
||||
{
|
||||
_id: {
|
||||
$oid: "68dc26865e7cb56b820b4252"
|
||||
},
|
||||
Activation: {
|
||||
$date: {
|
||||
$numberLong: "1759327200000"
|
||||
}
|
||||
},
|
||||
Expiry: {
|
||||
$date: {
|
||||
$numberLong: "2000000000000"
|
||||
}
|
||||
},
|
||||
MissionInfo: {
|
||||
location: "SolNode39",
|
||||
missionType: "MT_EXCAVATE",
|
||||
faction: "FC_GRINEER",
|
||||
difficulty: 1,
|
||||
missionReward: {
|
||||
credits: 10000,
|
||||
items: ["/Lotus/StoreItems/Types/Items/ShipDecos/Plushies/PlushyVirminkQTCC"]
|
||||
},
|
||||
levelOverride: "/Lotus/Levels/Proc/Grineer/GrineerForestExcavation",
|
||||
enemySpec: "/Lotus/Types/Game/EnemySpecs/ForestGrineerExcavationA",
|
||||
minEnemyLevel: 20,
|
||||
maxEnemyLevel: 30,
|
||||
descText: "/Lotus/Language/Alerts/TennoUnitedAlert",
|
||||
maxWaveNum: 5
|
||||
},
|
||||
Tag: "LotusGift",
|
||||
ForceUnlock: true
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
const isFebruary = date.getUTCMonth() == 1;
|
||||
if (config.worldState?.starDaysOverride ?? isFebruary) {
|
||||
worldState.Goals.push({
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import type { IMissionReward, TFaction } from "warframe-public-export-plus";
|
||||
import type { IMissionReward, TFaction, TMissionType } from "warframe-public-export-plus";
|
||||
import type { IMongoDate, IOid } from "./commonTypes.ts";
|
||||
|
||||
export interface IWorldState {
|
||||
@ -40,11 +40,13 @@ export interface IAlert {
|
||||
Activation: IMongoDate;
|
||||
Expiry: IMongoDate;
|
||||
MissionInfo: IAlertMissionInfo;
|
||||
Tag?: string;
|
||||
ForceUnlock?: true;
|
||||
}
|
||||
|
||||
export interface IAlertMissionInfo {
|
||||
location: string;
|
||||
missionType: string;
|
||||
missionType: TMissionType;
|
||||
faction: TFaction;
|
||||
difficulty: number;
|
||||
missionReward?: IMissionReward;
|
||||
@ -55,6 +57,9 @@ export interface IAlertMissionInfo {
|
||||
minEnemyLevel?: number;
|
||||
maxEnemyLevel?: number;
|
||||
maxWaveNum?: number;
|
||||
descText?: string;
|
||||
|
||||
maxRotations?: number; // SNS specific field
|
||||
}
|
||||
|
||||
export interface IGoal {
|
||||
|
||||
@ -1189,6 +1189,10 @@
|
||||
<label class="form-check-label" for="worldState.hallowedFlame" data-loc="worldState_hallowedFlame"></label>
|
||||
<abbr data-loc-inc="worldState_hallowedNightmares|worldState_dogDays|worldState_anniversary"><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>
|
||||
</div>
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" id="worldState.qtccAlerts" />
|
||||
<label class="form-check-label" for="worldState.qtccAlerts" data-loc="worldState_qtccAlerts"></label>
|
||||
</div>
|
||||
<div class="form-group mt-2 d-flex gap-2">
|
||||
<div class="flex-fill">
|
||||
<label class="form-label" for="worldState.hallowedNightmares" data-loc="worldState_hallowedNightmares"></label>
|
||||
|
||||
@ -294,6 +294,7 @@ dict = {
|
||||
worldState_eightClawProgressOverride: `[UNTRANSLATED] Eight Claw Progress`,
|
||||
worldState_thermiaFractures: `Thermische Risse`,
|
||||
worldState_thermiaFracturesProgressOverride: `[UNTRANSLATED] Thermia Fractures Progress`,
|
||||
worldState_qtccAlerts: `[UNTRANSLATED] Quest to Conquer Cancer Alerts`,
|
||||
worldState_from_year: `[UNTRANSLATED] from |VAL|`,
|
||||
worldState_pre_year: `[UNTRANSLATED] pre |VAL|`,
|
||||
worldState_week: `[UNTRANSLATED] Week |VAL|`,
|
||||
|
||||
@ -293,6 +293,7 @@ dict = {
|
||||
worldState_eightClawProgressOverride: `Eight Claw Progress`,
|
||||
worldState_thermiaFractures: `Thermia Fractures`,
|
||||
worldState_thermiaFracturesProgressOverride: `Thermia Fractures Progress`,
|
||||
worldState_qtccAlerts: `Quest to Conquer Cancer Alerts`,
|
||||
worldState_from_year: `from |VAL|`,
|
||||
worldState_pre_year: `pre |VAL|`,
|
||||
worldState_week: `Week |VAL|`,
|
||||
|
||||
@ -294,6 +294,7 @@ dict = {
|
||||
worldState_eightClawProgressOverride: `Progreso de Octava Garra`,
|
||||
worldState_thermiaFractures: `Fracturas Thermia`,
|
||||
worldState_thermiaFracturesProgressOverride: `Progreso de Fracturas Thermia`,
|
||||
worldState_qtccAlerts: `[UNTRANSLATED] Quest to Conquer Cancer Alerts`,
|
||||
worldState_from_year: `de |VAL|`,
|
||||
worldState_pre_year: `antes de |VAL|`,
|
||||
worldState_week: `Semana |VAL|`,
|
||||
|
||||
@ -294,6 +294,7 @@ dict = {
|
||||
worldState_eightClawProgressOverride: `Progrès de la Huitième Griffe`,
|
||||
worldState_thermiaFractures: `Crevasses Thermia`,
|
||||
worldState_thermiaFracturesProgressOverride: `Progrès des Fractures Thermia`,
|
||||
worldState_qtccAlerts: `[UNTRANSLATED] Quest to Conquer Cancer Alerts`,
|
||||
worldState_from_year: `de |VAL|`,
|
||||
worldState_pre_year: `pre-|VAL|`,
|
||||
worldState_week: `Semaine |VAL|`,
|
||||
|
||||
@ -294,6 +294,7 @@ dict = {
|
||||
worldState_eightClawProgressOverride: `Прогресс Восьми когтей`,
|
||||
worldState_thermiaFractures: `Разломы Термии`,
|
||||
worldState_thermiaFracturesProgressOverride: `Прогресс Разломов Термии`,
|
||||
worldState_qtccAlerts: `Тревоги Quest to Conquer Cancer`,
|
||||
worldState_from_year: `из |VAL|`,
|
||||
worldState_pre_year: `до |VAL|`,
|
||||
worldState_week: `Неделя |VAL|`,
|
||||
|
||||
@ -294,6 +294,7 @@ dict = {
|
||||
worldState_eightClawProgressOverride: `Прогрес Восьми кігтів`,
|
||||
worldState_thermiaFractures: `Розломи термії`,
|
||||
worldState_thermiaFracturesProgressOverride: `Прогрес Розломів термії`,
|
||||
worldState_qtccAlerts: `[UNTRANSLATED] Quest to Conquer Cancer Alerts`,
|
||||
worldState_from_year: `з |VAL|`,
|
||||
worldState_pre_year: `до |VAL|`,
|
||||
worldState_week: `Тиждень |VAL|`,
|
||||
|
||||
@ -294,6 +294,7 @@ dict = {
|
||||
worldState_eightClawProgressOverride: `大帝金币收集进度(%)`,
|
||||
worldState_thermiaFractures: `热美亚裂缝`,
|
||||
worldState_thermiaFracturesProgressOverride: `[UNTRANSLATED] Thermia Fractures Progress`,
|
||||
worldState_qtccAlerts: `[UNTRANSLATED] Quest to Conquer Cancer Alerts`,
|
||||
worldState_from_year: `|VAL|`,
|
||||
worldState_pre_year: `|VAL|之前`,
|
||||
worldState_week: `第|VAL|周`,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user