返回提交历史
Modified
config-vanilla.json
+4
-0
Modified
src/services/configService.ts
+4
-0
Modified
src/services/worldStateService.ts
+94
-0
Modified
static/webui/index.html
+21
-0
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
feat: Star Days Alerts (2026) (#3445)
Re #2842 Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/3445 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>
bad67940
代码差异
11 个文件
+130
-0
@@ -63,6 +63,10 @@
63
63
"dagathAlerts2026Week2": false,
64
64
"dagathAlerts2026Week3": false,
65
65
"dagathAlerts2026Week4": false,
66
"starDaysAlerts2026Week1": false,
67
"starDaysAlerts2026Week2": false,
68
"starDaysAlerts2026Week3": false,
69
"starDaysAlerts2026Week4": false,
66
70
"qtccAlerts": false,
67
71
"galleonOfGhouls": 0,
68
72
"ghoulEmergenceOverride": null,
@@ -75,6 +75,10 @@ export interface IConfig {
75
75
dagathAlerts2026Week2?: boolean;
76
76
dagathAlerts2026Week3?: boolean;
77
77
dagathAlerts2026Week4?: boolean;
78
starDaysAlerts2026Week1?: boolean;
79
starDaysAlerts2026Week2?: boolean;
80
starDaysAlerts2026Week3?: boolean;
81
starDaysAlerts2026Week4?: boolean;
78
82
qtccAlerts?: boolean;
79
83
galleonOfGhouls?: number;
80
84
ghoulEmergenceOverride?: boolean;
@@ -292,6 +292,100 @@ const configAlerts: Record<string, IAlert> = {
292
292
},
293
293
Tag: "LotusGift",
294
294
ForceUnlock: true
295
},
296
starDaysAlerts2026Week1: {
297
_id: { $oid: "696935998429008d89100af9" },
298
Activation: { $date: { $numberLong: "1770393600000" } },
299
Expiry: { $date: { $numberLong: "2000000000000" } },
300
MissionInfo: {
301
location: "SolNode22",
302
missionType: "MT_DEFENSE",
303
faction: "FC_CORPUS",
304
difficulty: 1,
305
missionReward: {
306
credits: 25000,
307
items: ["/Lotus/StoreItems/Types/StoreItems/AvatarImages/AvatarImageStarDaysStarDaysMarieGlyph"],
308
countedItems: [{ ItemType: "/Lotus/Types/Items/MiscItems/OrokinCatalyst", ItemCount: 1 }]
309
},
310
levelOverride: "/Lotus/Levels/Proc/Corpus/CorpusOutpostDefense",
311
enemySpec: "/Lotus/Types/Game/EnemySpecs/CorpusSquadDefenseB",
312
minEnemyLevel: 25,
313
maxEnemyLevel: 30,
314
descText: "/Lotus/Language/Alerts/LotusGiftDesc",
315
maxRotations: 1
316
},
317
Tag: "LotusGift",
318
ForceUnlock: true
319
},
320
starDaysAlerts2026Week2: {
321
_id: { $oid: "696935b47918af0b1c0c4c2f" },
322
Activation: { $date: { $numberLong: "1770998400000" } },
323
Expiry: { $date: { $numberLong: "2000000000000" } },
324
MissionInfo: {
325
location: "SolNode11",
326
missionType: "MT_MOBILE_DEFENSE",
327
faction: "FC_GRINEER",
328
difficulty: 1,
329
missionReward: {
330
credits: 25000,
331
items: ["/Lotus/StoreItems/Types/StoreItems/AvatarImages/AvatarImageStarDaysLyonGlyph"],
332
countedItems: [{ ItemType: "/Lotus/Types/Items/MiscItems/OrokinReactor", ItemCount: 1 }]
333
},
334
levelOverride: "/Lotus/Levels/Proc/Grineer/GrineerSettlementMobileDefense",
335
enemySpec: "/Lotus/Types/Game/EnemySpecs/DesertGrineerSquadOne",
336
minEnemyLevel: 25,
337
maxEnemyLevel: 30,
338
descText: "/Lotus/Language/Alerts/LotusGiftDesc"
339
},
340
Tag: "LotusGift",
341
ForceUnlock: true
342
},
343
starDaysAlerts2026Week3: {
344
_id: { $oid: "696935d518288b03bb0224ae" },
345
Activation: { $date: { $numberLong: "1771603200000" } },
346
Expiry: { $date: { $numberLong: "2000000000000" } },
347
MissionInfo: {
348
location: "SolNode121",
349
missionType: "MT_EXTERMINATION",
350
faction: "FC_CORPUS",
351
difficulty: 1,
352
missionReward: {
353
credits: 25000,
354
items: ["/Lotus/StoreItems/Types/StoreItems/AvatarImages/AvatarImageStarDaysRoatheGlyph"],
355
countedItems: [{ ItemType: "/Lotus/Types/Items/MiscItems/Forma", ItemCount: 1 }]
356
},
357
levelOverride: "/Lotus/Levels/Proc/Corpus/CorpusGasCityExterminate",
358
enemySpec: "/Lotus/Types/Game/EnemySpecs/CorpusGasExterminateMixed",
359
minEnemyLevel: 25,
360
maxEnemyLevel: 30,
361
descText: "/Lotus/Language/Alerts/LotusGiftDesc"
362
},
363
Tag: "LotusGift",
364
ForceUnlock: true
365
},
366
starDaysAlerts2026Week4: {
367
_id: { $oid: "696935ed8429008d89100cea" },
368
Activation: { $date: { $numberLong: "1772208000000" } },
369
Expiry: { $date: { $numberLong: "2000000000000" } },
370
MissionInfo: {
371
location: "SolNode82",
372
missionType: "MT_SABOTAGE",
373
faction: "FC_GRINEER",
374
difficulty: 1,
375
missionReward: {
376
credits: 25000,
377
items: ["/Lotus/StoreItems/Types/Items/ShipDecos/Props/Seasonal/StarDays2026HeartPictureFrame"],
378
countedItems: [{ ItemType: "/Lotus/Types/Items/MiscItems/UtilityUnlocker", ItemCount: 1 }]
379
},
380
levelOverride: "/Lotus/Levels/Proc/Grineer/GrineerGalleonCoreSabotage",
381
enemySpec: "/Lotus/Types/Game/EnemySpecs/GrineerSquadSix",
382
extraEnemySpec: "/Lotus/Types/Game/EnemySpecs/GamemodeExtraEnemySpecs/GrineerSabotageTiersTwo",
383
minEnemyLevel: 25,
384
maxEnemyLevel: 30,
385
descText: "/Lotus/Language/Alerts/LotusGiftDesc"
386
},
387
Tag: "LotusGift",
388
ForceUnlock: true
295
389
}
296
390
};
297
391
@@ -1341,6 +1341,27 @@
1341
1341
</div>
1342
1342
</div>
1343
1343
</div>
1344
<div class="mt-2">
1345
<label class="form-label" data-loc="worldState_starDaysAlerts" data-loc-replace="2026"></label>
1346
<div class="d-flex flex-wrap gap-3">
1347
<div class="form-check">
1348
<input class="form-check-input" type="checkbox" id="worldState.starDaysAlerts2026Week1" />
1349
<label class="form-check-label" for="worldState.starDaysAlerts2026Week1" data-loc="worldState_week" data-loc-replace="1"></label>
1350
</div>
1351
<div class="form-check">
1352
<input class="form-check-input" type="checkbox" id="worldState.starDaysAlerts2026Week2" />
1353
<label class="form-check-label" for="worldState.starDaysAlerts2026Week2" data-loc="worldState_week" data-loc-replace="2"></label>
1354
</div>
1355
<div class="form-check">
1356
<input class="form-check-input" type="checkbox" id="worldState.starDaysAlerts2026Week3" />
1357
<label class="form-check-label" for="worldState.starDaysAlerts2026Week3" data-loc="worldState_week" data-loc-replace="3"></label>
1358
</div>
1359
<div class="form-check">
1360
<input class="form-check-input" type="checkbox" id="worldState.starDaysAlerts2026Week4" />
1361
<label class="form-check-label" for="worldState.starDaysAlerts2026Week4" data-loc="worldState_week" data-loc-replace="4"></label>
1362
</div>
1363
</div>
1364
</div>
1344
1365
<div class="form-group mt-2">
1345
1366
<label class="form-label" for="worldState.baroRelayOverride" data-loc="worldState_baroRelayOverride"></label>
1346
1367
<select class="form-control" id="worldState.baroRelayOverride" data-default="0">
@@ -317,6 +317,7 @@ dict = {
317
317
worldState_wolfHunt: `Wolfsjagd`,
318
318
worldState_voidCorruption: `Void-Korruption (|VAL|)`,
319
319
worldState_dagathAlerts: `Dagath Alarmierungen (|VAL|)`,
320
worldState_starDaysAlerts: `[UNTRANSLATED] Star Days Alerts (|VAL|)`,
320
321
worldState_scarletSpear: `Scharlachroter Speer`,
321
322
worldState_orphixVenom: `Orphix Gift`,
322
323
worldState_bloodOfPerita: `Blut von Perita`,
@@ -316,6 +316,7 @@ dict = {
316
316
worldState_wolfHunt: `Wolf Hunt`,
317
317
worldState_voidCorruption: `Void Corruption (|VAL|)`,
318
318
worldState_dagathAlerts: `Dagath Alerts (|VAL|)`,
319
worldState_starDaysAlerts: `Star Days Alerts (|VAL|)`,
319
320
worldState_scarletSpear: `Scarlet Spear`,
320
321
worldState_orphixVenom: `Orphix Venom`,
321
322
worldState_bloodOfPerita: `Blood of Perita`,
@@ -317,6 +317,7 @@ dict = {
317
317
worldState_wolfHunt: `Cacería del Lobo`,
318
318
worldState_voidCorruption: `Corrupción del Vacío (|VAL|)`,
319
319
worldState_dagathAlerts: `Alertas de Dagath (|VAL|)`,
320
worldState_starDaysAlerts: `[UNTRANSLATED] Star Days Alerts (|VAL|)`,
320
321
worldState_scarletSpear: `Lanza Escarlata`,
321
322
worldState_orphixVenom: `Veneno de Orphix`,
322
323
worldState_bloodOfPerita: `Sangre de Perita`,
@@ -317,6 +317,7 @@ dict = {
317
317
worldState_wolfHunt: `Chasse au Loup`,
318
318
worldState_voidCorruption: `Corruption du Néant (|VAL|)`,
319
319
worldState_dagathAlerts: `Alertes Dagath (|VAL|)`,
320
worldState_starDaysAlerts: `[UNTRANSLATED] Star Days Alerts (|VAL|)`,
320
321
worldState_scarletSpear: `Incursion Écarlate`,
321
322
worldState_orphixVenom: `Venin Orphix`,
322
323
worldState_bloodOfPerita: `Sang de Perita`,
@@ -317,6 +317,7 @@ dict = {
317
317
worldState_wolfHunt: `Волчья Охота`,
318
318
worldState_voidCorruption: `Искажение Бездны (|VAL|)`,
319
319
worldState_dagathAlerts: `Сигналы Тревоги Дагас (|VAL|)`,
320
worldState_starDaysAlerts: `Сигналы Тревоги Звёздных днёй (|VAL|)`,
320
321
worldState_scarletSpear: `Алое Копьё`,
321
322
worldState_orphixVenom: `Яд Орфикса`,
322
323
worldState_bloodOfPerita: `Кровь Периты`,
@@ -317,6 +317,7 @@ dict = {
317
317
worldState_wolfHunt: `Полювання на Вовка`,
318
318
worldState_voidCorruption: `Викривлення Порожнечі (|VAL|)`,
319
319
worldState_dagathAlerts: `Виклики Даґат (|VAL|)`,
320
worldState_starDaysAlerts: `[UNTRANSLATED] Star Days Alerts (|VAL|)`,
320
321
worldState_scarletSpear: `Багряний спис`,
321
322
worldState_orphixVenom: `Орфіксова отрута`,
322
323
worldState_bloodOfPerita: `Кров Періти`,
@@ -317,6 +317,7 @@ dict = {
317
317
worldState_wolfHunt: `恶狼狩猎`,
318
318
worldState_voidCorruption: `虚空堕落 (|VAL|)`,
319
319
worldState_dagathAlerts: `Dagath 警报 (|VAL|)`,
320
worldState_starDaysAlerts: `[UNTRANSLATED] Star Days Alerts (|VAL|)`,
320
321
worldState_scarletSpear: `猩红之矛`,
321
322
worldState_orphixVenom: `奥影之毒`,
322
323
worldState_bloodOfPerita: `佩里塔之血`,