XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFESpaceNinjaServer

A simple server for a small space ninja game

公开
关注 0 Fork 0 Star 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
AMelonInsideLemon <166175391+AMelonInsideLemon@users.noreply.github.com>
提交于

代码差异

11 个文件 +130 -0
Modified config-vanilla.json +4 -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,
Modified src/services/configService.ts +4 -0
@@ -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;
Modified src/services/worldStateService.ts +94 -0
@@ -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
Modified static/webui/index.html +21 -0
@@ -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">
Modified static/webui/translations/de.js +1 -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`,
Modified static/webui/translations/en.js +1 -0
@@ -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`,
Modified static/webui/translations/es.js +1 -0
@@ -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`,
Modified static/webui/translations/fr.js +1 -0
@@ -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`,
Modified static/webui/translations/ru.js +1 -0
@@ -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: `Кровь Периты`,
Modified static/webui/translations/uk.js +1 -0
@@ -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: `Кров Періти`,
Modified static/webui/translations/zh.js +1 -0
@@ -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: `佩里塔之血`,