返回提交历史
Modified
config-vanilla.json
+4
-0
Modified
src/services/configService.ts
+4
-0
Modified
src/services/worldStateService.ts
+90
-0
Modified
static/webui/index.html
+42
-21
Modified
static/webui/translations/de.js
+1
-0
Modified
static/webui/translations/en.js
+1
-0
Modified
static/webui/translations/es.js
+1
-0
Modified
static/webui/translations/fr.js
+1
-0
Modified
static/webui/translations/ru.js
+1
-0
Modified
static/webui/translations/uk.js
+1
-0
Modified
static/webui/translations/zh.js
+1
-0
XFEstudio/XFESpaceNinjaServer
chore(alerts): Dagath Alerts 2026 (#3341)
Re #2842 Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/3341 Reviewed-by: Sainan <63328889+sainan@users.noreply.github.com> Co-authored-by: AMelonInsideLemon <166175391+AMelonInsideLemon@users.noreply.github.com> Co-committed-by: AMelonInsideLemon <166175391+AMelonInsideLemon@users.noreply.github.com>
eb439146
代码差异
11 个文件
+147
-21
@@ -58,6 +58,10 @@
58
58
"voidCorruption2025Week2": false,
59
59
"voidCorruption2025Week3": false,
60
60
"voidCorruption2025Week4": false,
61
"dagathAlerts2026Week1": false,
62
"dagathAlerts2026Week2": false,
63
"dagathAlerts2026Week3": false,
64
"dagathAlerts2026Week4": false,
61
65
"qtccAlerts": false,
62
66
"galleonOfGhouls": 0,
63
67
"ghoulEmergenceOverride": null,
@@ -70,6 +70,10 @@ export interface IConfig {
70
70
voidCorruption2025Week2?: boolean;
71
71
voidCorruption2025Week3?: boolean;
72
72
voidCorruption2025Week4?: boolean;
73
dagathAlerts2026Week1?: boolean;
74
dagathAlerts2026Week2?: boolean;
75
dagathAlerts2026Week3?: boolean;
76
dagathAlerts2026Week4?: boolean;
73
77
qtccAlerts?: boolean;
74
78
galleonOfGhouls?: number;
75
79
ghoulEmergenceOverride?: boolean;
@@ -202,6 +202,96 @@ const configAlerts: Record<string, IAlert> = {
202
202
minEnemyLevel: 40,
203
203
maxEnemyLevel: 45
204
204
}
205
},
206
dagathAlerts2026Week1: {
207
_id: { $oid: "6949862e3f3f35491e02232c" },
208
Activation: { $date: { $numberLong: "1769022000000" } },
209
Expiry: { $date: { $numberLong: "2000000000000" } },
210
MissionInfo: {
211
location: "SolNode147",
212
missionType: "MT_TERRITORY",
213
faction: "FC_GRINEER",
214
difficulty: 1,
215
missionReward: {
216
credits: 10000,
217
items: ["/Lotus/StoreItems/Types/Recipes/WarframeRecipes/DagathChassisComponent"]
218
},
219
levelOverride: "/Lotus/Levels/Proc/Grineer/GrineerShipyardsInterception",
220
enemySpec: "/Lotus/Types/Game/EnemySpecs/GrineerShipyardsDefenseA",
221
minEnemyLevel: 25,
222
maxEnemyLevel: 35,
223
descText: "/Lotus/Language/Alerts/LotusGiftDesc"
224
},
225
Tag: "LotusGift",
226
ForceUnlock: true
227
},
228
dagathAlerts2026Week2: {
229
_id: { $oid: "6949863a548d83b650011de8" },
230
Activation: { $date: { $numberLong: "1769626800000" } },
231
Expiry: { $date: { $numberLong: "2000000000000" } },
232
MissionInfo: {
233
location: "SolNode404",
234
missionType: "MT_SABOTAGE",
235
faction: "FC_OROKIN",
236
difficulty: 1,
237
missionReward: {
238
credits: 10000,
239
items: ["/Lotus/StoreItems/Types/Recipes/WarframeRecipes/DagathHelmetComponent"]
240
},
241
levelOverride: "/Lotus/Levels/Proc/Orokin/OrokinTowerSabotageForest",
242
enemySpec: "/Lotus/Types/Game/EnemySpecs/OrokinSquadOne",
243
extraEnemySpec: "/Lotus/Types/Game/EnemySpecs/OrokinSabotageGrineerForest",
244
minEnemyLevel: 25,
245
maxEnemyLevel: 35,
246
vipAgent: "/Lotus/Types/Enemies/Grineer/Vip/JetpackSisters/JetpackSisters",
247
descText: "/Lotus/Language/Alerts/LotusGiftDesc"
248
},
249
Tag: "LotusGift",
250
ForceUnlock: true
251
},
252
dagathAlerts2026Week3: {
253
_id: { $oid: "69498642a0836c98e10f5e34" },
254
Activation: { $date: { $numberLong: "1770231600000" } },
255
Expiry: { $date: { $numberLong: "2000000000000" } },
256
MissionInfo: {
257
location: "SolNode100",
258
missionType: "MT_SURVIVAL",
259
faction: "FC_CORPUS",
260
difficulty: 1,
261
missionReward: {
262
credits: 10000,
263
items: ["/Lotus/StoreItems/Types/Recipes/WarframeRecipes/DagathSystemsComponent"]
264
},
265
levelOverride: "/Lotus/Levels/Proc/Corpus/CorpusGasCitySurvival",
266
enemySpec: "/Lotus/Types/Game/EnemySpecs/CorpusGasSurvival",
267
minEnemyLevel: 25,
268
maxEnemyLevel: 35,
269
descText: "/Lotus/Language/Alerts/LotusGiftDesc"
270
},
271
Tag: "LotusGift",
272
ForceUnlock: true
273
},
274
dagathAlerts2026Week4: {
275
_id: { $oid: "69498623a7342ab1500cc99b" },
276
Activation: { $date: { $numberLong: "1768417200000" } },
277
Expiry: { $date: { $numberLong: "2000000000000" } },
278
MissionInfo: {
279
location: "SolNode103",
280
missionType: "MT_EXTERMINATION",
281
faction: "FC_GRINEER",
282
difficulty: 1,
283
missionReward: {
284
credits: 10000,
285
items: ["/Lotus/StoreItems/Types/Recipes/WarframeRecipes/DagathBlueprint"]
286
},
287
levelOverride: "/Lotus/Levels/Proc/Grineer/GrineerAsteroidExterminate",
288
enemySpec: "/Lotus/Types/Game/EnemySpecs/GrineerExterminateBlades",
289
minEnemyLevel: 25,
290
maxEnemyLevel: 35,
291
descText: "/Lotus/Language/Alerts/LotusGiftDesc"
292
},
293
Tag: "LotusGift",
294
ForceUnlock: true
205
295
}
206
296
};
207
297
@@ -1291,6 +1291,48 @@
1291
1291
<input class="form-check-input" type="checkbox" id="worldState.qtccAlerts" />
1292
1292
<label class="form-check-label" for="worldState.qtccAlerts" data-loc="worldState_qtccAlerts"></label>
1293
1293
</div>
1294
<div class="mt-2">
1295
<label class="form-label" data-loc="worldState_voidCorruption" data-loc-replace="2025"></label>
1296
<div class="d-flex flex-wrap gap-3">
1297
<div class="form-check">
1298
<input class="form-check-input" type="checkbox" id="worldState.voidCorruption2025Week1" />
1299
<label class="form-check-label" for="worldState.voidCorruption2025Week1" data-loc="worldState_week" data-loc-replace="1"></label>
1300
</div>
1301
<div class="form-check">
1302
<input class="form-check-input" type="checkbox" id="worldState.voidCorruption2025Week2" />
1303
<label class="form-check-label" for="worldState.voidCorruption2025Week2" data-loc="worldState_week" data-loc-replace="2"></label>
1304
</div>
1305
<div class="form-check">
1306
<input class="form-check-input" type="checkbox" id="worldState.voidCorruption2025Week3" />
1307
<label class="form-check-label" for="worldState.voidCorruption2025Week3" data-loc="worldState_week" data-loc-replace="3"></label>
1308
</div>
1309
<div class="form-check">
1310
<input class="form-check-input" type="checkbox" id="worldState.voidCorruption2025Week4" />
1311
<label class="form-check-label" for="worldState.voidCorruption2025Week4" data-loc="worldState_week" data-loc-replace="4"></label>
1312
</div>
1313
</div>
1314
</div>
1315
<div class="mt-2">
1316
<label class="form-label" data-loc="worldState_dagathAlerts" data-loc-replace="2026"></label>
1317
<div class="d-flex flex-wrap gap-3">
1318
<div class="form-check">
1319
<input class="form-check-input" type="checkbox" id="worldState.dagathAlerts2026Week1" />
1320
<label class="form-check-label" for="worldState.dagathAlerts2026Week1" data-loc="worldState_week" data-loc-replace="1"></label>
1321
</div>
1322
<div class="form-check">
1323
<input class="form-check-input" type="checkbox" id="worldState.dagathAlerts2026Week2" />
1324
<label class="form-check-label" for="worldState.dagathAlerts2026Week2" data-loc="worldState_week" data-loc-replace="2"></label>
1325
</div>
1326
<div class="form-check">
1327
<input class="form-check-input" type="checkbox" id="worldState.dagathAlerts2026Week3" />
1328
<label class="form-check-label" for="worldState.dagathAlerts2026Week3" data-loc="worldState_week" data-loc-replace="3"></label>
1329
</div>
1330
<div class="form-check">
1331
<input class="form-check-input" type="checkbox" id="worldState.dagathAlerts2026Week4" />
1332
<label class="form-check-label" for="worldState.dagathAlerts2026Week4" data-loc="worldState_week" data-loc-replace="4"></label>
1333
</div>
1334
</div>
1335
</div>
1294
1336
<div class="form-group mt-2">
1295
1337
<label class="form-label" for="worldState.evilBaroStage" data-loc="worldState_evilBaroStage"></label>
1296
1338
<select class="form-control" id="worldState.evilBaroStage" data-default="0">
@@ -1353,27 +1395,6 @@
1353
1395
</select>
1354
1396
</div>
1355
1397
</div>
1356
<div class="mt-2">
1357
<label class="form-label" data-loc="worldState_voidCorruption" data-loc-replace="2025"></label>
1358
<div class="d-flex flex-wrap gap-3">
1359
<div class="form-check">
1360
<input class="form-check-input" type="checkbox" id="worldState.voidCorruption2025Week1" />
1361
<label class="form-check-label" for="worldState.voidCorruption2025Week1" data-loc="worldState_week" data-loc-replace="1"></label>
1362
</div>
1363
<div class="form-check">
1364
<input class="form-check-input" type="checkbox" id="worldState.voidCorruption2025Week2" />
1365
<label class="form-check-label" for="worldState.voidCorruption2025Week2" data-loc="worldState_week" data-loc-replace="2"></label>
1366
</div>
1367
<div class="form-check">
1368
<input class="form-check-input" type="checkbox" id="worldState.voidCorruption2025Week3" />
1369
<label class="form-check-label" for="worldState.voidCorruption2025Week3" data-loc="worldState_week" data-loc-replace="3"></label>
1370
</div>
1371
<div class="form-check">
1372
<input class="form-check-input" type="checkbox" id="worldState.voidCorruption2025Week4" />
1373
<label class="form-check-label" for="worldState.voidCorruption2025Week4" data-loc="worldState_week" data-loc-replace="4"></label>
1374
</div>
1375
</div>
1376
</div>
1377
1398
<div class="form-group mt-2">
1378
1399
<label class="form-label" for="worldState.galleonOfGhouls" data-loc="worldState_galleonOfGhouls"></label>
1379
1400
<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>
@@ -307,6 +307,7 @@ dict = {
307
307
worldState_dogDaysRewards: `Hitzefrei-Belohnungen`,
308
308
worldState_wolfHunt: `Wolfsjagd`,
309
309
worldState_voidCorruption: `Void-Korruption (|VAL|)`,
310
worldState_dagathAlerts: `Dagath Alarmierungen (|VAL|)`,
310
311
worldState_scarletSpear: `Scharlachroter Speer`,
311
312
worldState_orphixVenom: `Orphix Gift`,
312
313
worldState_bloodOfPerita: `Blut von Perita`,
@@ -306,6 +306,7 @@ dict = {
306
306
worldState_dogDaysRewards: `Dog Days Rewards`,
307
307
worldState_wolfHunt: `Wolf Hunt`,
308
308
worldState_voidCorruption: `Void Corruption (|VAL|)`,
309
worldState_dagathAlerts: `Dagath Alerts (|VAL|)`,
309
310
worldState_scarletSpear: `Scarlet Spear`,
310
311
worldState_orphixVenom: `Orphix Venom`,
311
312
worldState_bloodOfPerita: `Blood of Perita`,
@@ -307,6 +307,7 @@ dict = {
307
307
worldState_dogDaysRewards: `Recompensas de Canícula`,
308
308
worldState_wolfHunt: `Cacería del Lobo`,
309
309
worldState_voidCorruption: `Corrupción del Vacío (|VAL|)`,
310
worldState_dagathAlerts: `Alertas de Dagath (|VAL|)`,
310
311
worldState_scarletSpear: `Lanza Escarlata`,
311
312
worldState_orphixVenom: `Veneno de Orphix`,
312
313
worldState_bloodOfPerita: `Sangre de Perita`,
@@ -307,6 +307,7 @@ dict = {
307
307
worldState_dogDaysRewards: `Récompenses de la Bataille d'Eau`,
308
308
worldState_wolfHunt: `Chasse au Loup`,
309
309
worldState_voidCorruption: `Corruption du Néant (|VAL|)`,
310
worldState_dagathAlerts: `Alertes Dagath (|VAL|)`,
310
311
worldState_scarletSpear: `Incursion Écarlate`,
311
312
worldState_orphixVenom: `Venin Orphix`,
312
313
worldState_bloodOfPerita: `Sang de Perita`,
@@ -307,6 +307,7 @@ dict = {
307
307
worldState_dogDaysRewards: `Награды Знойных дней`,
308
308
worldState_wolfHunt: `Волчья Охота`,
309
309
worldState_voidCorruption: `Искажение Бездны (|VAL|)`,
310
worldState_dagathAlerts: `Сигналы Тревоги Дагас (|VAL|)`,
310
311
worldState_scarletSpear: `Алое Копьё`,
311
312
worldState_orphixVenom: `Яд Орфикса`,
312
313
worldState_bloodOfPerita: `Кровь Периты`,
@@ -307,6 +307,7 @@ dict = {
307
307
worldState_dogDaysRewards: `Нагороди Спекотних днів`,
308
308
worldState_wolfHunt: `Полювання на Вовка`,
309
309
worldState_voidCorruption: `Викривлення Порожнечі (|VAL|)`,
310
worldState_dagathAlerts: `Виклики Даґат (|VAL|)`,
310
311
worldState_scarletSpear: `Багряний спис`,
311
312
worldState_orphixVenom: `Орфіксова отрута`,
312
313
worldState_bloodOfPerita: `Кров Періти`,
@@ -307,6 +307,7 @@ dict = {
307
307
worldState_dogDaysRewards: `三伏天奖励设置`,
308
308
worldState_wolfHunt: `恶狼狩猎`,
309
309
worldState_voidCorruption: `虚空堕落 (|VAL|)`,
310
worldState_dagathAlerts: `Dagath 警报 (|VAL|)`,
310
311
worldState_scarletSpear: `猩红之矛`,
311
312
worldState_orphixVenom: `奥影之毒`,
312
313
worldState_bloodOfPerita: `佩里塔之血`,