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

SpaceNinjaServer

A simple server for a small space ninja game

公开
关注 0 Fork 1 Star 0
返回提交历史

XFEstudio/SpaceNinjaServer

feat: nightwave phase override (#3234)

Re #3204 Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/3234 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>

bdf042b2
AMelonInsideLemon <166175391+AMelonInsideLemon@users.noreply.github.com>
提交于

代码差异

12 个文件 +52 -24
Modified config-vanilla.json +1 -0
@@ -66,6 +66,7 @@
66 66 "vallisOverride": "",
67 67 "duviriOverride": "",
68 68 "nightwaveOverride": "",
69 "nightwavePhaseOverride": 0,
69 70 "allTheFissures": "",
70 71 "varziaOverride": "",
71 72 "circuitGameModes": null,
Modified src/services/configService.ts +1 -0
@@ -75,6 +75,7 @@ export interface IConfig {
75 75 vallisOverride?: string;
76 76 duviriOverride?: string;
77 77 nightwaveOverride?: string;
78 nightwavePhaseOverride?: number;
78 79 allTheFissures?: string;
79 80 varziaOverride?: string;
80 81 circuitGameModes?: string[];
Modified src/services/configWatcherService.ts +7 -0
@@ -100,6 +100,13 @@ export const validateConfig = (): void => {
100 100 config.worldState.varziaOverride = "";
101 101 modified = true;
102 102 }
103 if (
104 config.worldState?.nightwavePhaseOverride &&
105 (config.worldState.nightwavePhaseOverride > 4 || config.worldState.nightwavePhaseOverride < 0)
106 ) {
107 config.worldState.nightwavePhaseOverride = 0;
108 modified = true;
109 }
103 110 if (modified) {
104 111 logger.info(`Updating config file to fix some issues with it.`);
105 112 void saveConfig();
Modified src/services/worldStateService.ts +2 -1
@@ -3383,12 +3383,13 @@ export const getWorldState = (buildLabel?: string): IWorldState => {
3383 3383 if (nightwaveSyndicateTag) {
3384 3384 const nightwaveStartTimestamp = nightwaveTagToActivation[nightwaveSyndicateTag] ?? 1747851300000;
3385 3385 const nightwaveSeason = nightwaveTagToSeason[nightwaveSyndicateTag];
3386 const nightwavePhase = ([0, 2, 4].includes(nightwaveSeason) && config.worldState?.nightwavePhaseOverride) || 0;
3386 3387 worldState.SeasonInfo = {
3387 3388 Activation: { $date: { $numberLong: nightwaveStartTimestamp.toString() } },
3388 3389 Expiry: { $date: { $numberLong: "2000000000000" } },
3389 3390 AffiliationTag: nightwaveSyndicateTag,
3390 3391 Season: nightwaveSeason,
3391 Phase: 0,
3392 Phase: nightwavePhase,
3392 3393 Params: "",
3393 3394 ActiveChallenges: []
3394 3395 };
Modified static/webui/index.html +34 -23
@@ -1495,6 +1495,40 @@
1495 1495 </form>
1496 1496 </div>
1497 1497 </div>
1498 <div class="form-group mt-2 d-flex gap-2">
1499 <div class="flex-fill">
1500 <label class="form-label" for="worldState.nightwaveOverride" data-loc="worldState_nightwaveOverride"></label>
1501 <select class="form-control" id="worldState.nightwaveOverride" data-default="">
1502 <option value="" data-loc="disabled"></option>
1503 <option value="RadioLegionIntermission14Syndicate" data-loc="worldState_RadioLegionIntermission14Syndicate"></option>
1504 <option value="RadioLegionIntermission13Syndicate" data-loc="worldState_RadioLegionIntermission13Syndicate"></option>
1505 <option value="RadioLegionIntermission12Syndicate" data-loc="worldState_RadioLegionIntermission12Syndicate"></option>
1506 <option value="RadioLegionIntermission11Syndicate" data-loc="worldState_RadioLegionIntermission11Syndicate"></option>
1507 <option value="RadioLegionIntermission10Syndicate" data-loc="worldState_RadioLegionIntermission10Syndicate"></option>
1508 <option value="RadioLegionIntermission9Syndicate" data-loc="worldState_RadioLegionIntermission9Syndicate"></option>
1509 <option value="RadioLegionIntermission8Syndicate" data-loc="worldState_RadioLegionIntermission8Syndicate"></option>
1510 <option value="RadioLegionIntermission7Syndicate" data-loc="worldState_RadioLegionIntermission7Syndicate"></option>
1511 <option value="RadioLegionIntermission6Syndicate" data-loc="worldState_RadioLegionIntermission6Syndicate"></option>
1512 <option value="RadioLegionIntermission5Syndicate" data-loc="worldState_RadioLegionIntermission5Syndicate"></option>
1513 <option value="RadioLegionIntermission4Syndicate" data-loc="worldState_RadioLegionIntermission4Syndicate"></option>
1514 <option value="RadioLegionIntermission3Syndicate" data-loc="worldState_RadioLegionIntermission3Syndicate"></option>
1515 <option value="RadioLegion3Syndicate" data-loc="worldState_RadioLegion3Syndicate"></option>
1516 <option value="RadioLegionIntermission2Syndicate" data-loc="worldState_RadioLegionIntermission2Syndicate"></option>
1517 <option value="RadioLegion2Syndicate" data-loc="worldState_RadioLegion2Syndicate"></option>
1518 <option value="RadioLegionIntermissionSyndicate" data-loc="worldState_RadioLegionIntermissionSyndicate"></option>
1519 <option value="RadioLegionSyndicate" data-loc="worldState_RadioLegionSyndicate"></option>
1520 </select>
1521 </div>
1522 <div class="flex-fill">
1523 <form class="form-group" onsubmit="doSaveConfigInt('worldState.nightwavePhaseOverride'); return false;">
1524 <label class="form-label" for="worldState.nightwavePhaseOverride" data-loc="worldState_nightwavePhaseOverride"></label>
1525 <div class="input-group">
1526 <input id="worldState.nightwavePhaseOverride" class="form-control" type="number" min="0" max="4" data-default="0" />
1527 <button class="btn btn-secondary" type="submit" data-loc="cheats_save"></button>
1528 </div>
1529 </form>
1530 </div>
1531 </div>
1498 1532 <div class="form-group mt-2">
1499 1533 <label class="form-label" for="worldState.eidolonOverride" data-loc="worldState_eidolonOverride"></label>
1500 1534 <select class="form-control" id="worldState.eidolonOverride" data-default="">
@@ -1522,29 +1556,6 @@
1522 1556 <option value="fear" data-loc="worldState_fear"></option>
1523 1557 </select>
1524 1558 </div>
1525 <div class="form-group mt-2">
1526 <label class="form-label" for="worldState.nightwaveOverride" data-loc="worldState_nightwaveOverride"></label>
1527 <select class="form-control" id="worldState.nightwaveOverride" data-default="">
1528 <option value="" data-loc="disabled"></option>
1529 <option value="RadioLegionIntermission14Syndicate" data-loc="worldState_RadioLegionIntermission14Syndicate"></option>
1530 <option value="RadioLegionIntermission13Syndicate" data-loc="worldState_RadioLegionIntermission13Syndicate"></option>
1531 <option value="RadioLegionIntermission12Syndicate" data-loc="worldState_RadioLegionIntermission12Syndicate"></option>
1532 <option value="RadioLegionIntermission11Syndicate" data-loc="worldState_RadioLegionIntermission11Syndicate"></option>
1533 <option value="RadioLegionIntermission10Syndicate" data-loc="worldState_RadioLegionIntermission10Syndicate"></option>
1534 <option value="RadioLegionIntermission9Syndicate" data-loc="worldState_RadioLegionIntermission9Syndicate"></option>
1535 <option value="RadioLegionIntermission8Syndicate" data-loc="worldState_RadioLegionIntermission8Syndicate"></option>
1536 <option value="RadioLegionIntermission7Syndicate" data-loc="worldState_RadioLegionIntermission7Syndicate"></option>
1537 <option value="RadioLegionIntermission6Syndicate" data-loc="worldState_RadioLegionIntermission6Syndicate"></option>
1538 <option value="RadioLegionIntermission5Syndicate" data-loc="worldState_RadioLegionIntermission5Syndicate"></option>
1539 <option value="RadioLegionIntermission4Syndicate" data-loc="worldState_RadioLegionIntermission4Syndicate"></option>
1540 <option value="RadioLegionIntermission3Syndicate" data-loc="worldState_RadioLegionIntermission3Syndicate"></option>
1541 <option value="RadioLegion3Syndicate" data-loc="worldState_RadioLegion3Syndicate"></option>
1542 <option value="RadioLegionIntermission2Syndicate" data-loc="worldState_RadioLegionIntermission2Syndicate"></option>
1543 <option value="RadioLegion2Syndicate" data-loc="worldState_RadioLegion2Syndicate"></option>
1544 <option value="RadioLegionIntermissionSyndicate" data-loc="worldState_RadioLegionIntermissionSyndicate"></option>
1545 <option value="RadioLegionSyndicate" data-loc="worldState_RadioLegionSyndicate"></option>
1546 </select>
1547 </div>
1548 1559 <div class="form-group mt-2">
1549 1560 <label class="form-label" for="worldState.allTheFissures" data-loc="worldState_fissures"></label>
1550 1561 <select class="form-control" id="worldState.allTheFissures" data-default="">
Modified static/webui/translations/de.js +1 -0
@@ -362,6 +362,7 @@ dict = {
362 362 worldState_RadioLegion2Syndicate: `Der Botschafter`,
363 363 worldState_RadioLegionIntermissionSyndicate: `Sendepause I`,
364 364 worldState_RadioLegionSyndicate: `Der Wolf von Saturn Six`,
365 worldState_nightwavePhaseOverride: `[UNTRANSLATED] Nightwave Phase Override`,
365 366 worldState_fissures: `Void-Risse`,
366 367 normal: `Normal`,
367 368 worldState_allAtOnceNormal: `Alle gleichzeitig, Normal`,
Modified static/webui/translations/en.js +1 -0
@@ -361,6 +361,7 @@ dict = {
361 361 worldState_RadioLegion2Syndicate: `The Emissary`,
362 362 worldState_RadioLegionIntermissionSyndicate: `Intermission I`,
363 363 worldState_RadioLegionSyndicate: `The Wolf of Saturn Six`,
364 worldState_nightwavePhaseOverride: `Nightwave Phase Override`,
364 365 worldState_fissures: `Fissures`,
365 366 normal: `Normal`,
366 367 worldState_allAtOnceNormal: `All At Once, Normal`,
Modified static/webui/translations/es.js +1 -0
@@ -362,6 +362,7 @@ dict = {
362 362 worldState_RadioLegion2Syndicate: `El Emisario`,
363 363 worldState_RadioLegionIntermissionSyndicate: `Intermedio I`,
364 364 worldState_RadioLegionSyndicate: `El lobo de Saturno Seis`,
365 worldState_nightwavePhaseOverride: `[UNTRANSLATED] Nightwave Phase Override`,
365 366 worldState_fissures: `Fisuras`,
366 367 normal: `Normal`,
367 368 worldState_allAtOnceNormal: `Todo a la vez, normal`,
Modified static/webui/translations/fr.js +1 -0
@@ -362,6 +362,7 @@ dict = {
362 362 worldState_RadioLegion2Syndicate: `L'Émissaire`,
363 363 worldState_RadioLegionIntermissionSyndicate: `Intermission I`,
364 364 worldState_RadioLegionSyndicate: `Le Loup de Saturne Six`,
365 worldState_nightwavePhaseOverride: `[UNTRANSLATED] Nightwave Phase Override`,
365 366 worldState_fissures: `Fissures`,
366 367 normal: `Normal`,
367 368 worldState_allAtOnceNormal: `Toutes, Normal`,
Modified static/webui/translations/ru.js +1 -0
@@ -362,6 +362,7 @@ dict = {
362 362 worldState_RadioLegion2Syndicate: `Эмиссар`,
363 363 worldState_RadioLegionIntermissionSyndicate: `Антракт I`,
364 364 worldState_RadioLegionSyndicate: `Волк Сатурна Шесть`,
365 worldState_nightwavePhaseOverride: `Фаза Ночной волны`,
365 366 worldState_fissures: `Разрывы бездны`,
366 367 normal: `Стандартные`,
367 368 worldState_allAtOnceNormal: `Все сразу, в обычном режиме`,
Modified static/webui/translations/uk.js +1 -0
@@ -362,6 +362,7 @@ dict = {
362 362 worldState_RadioLegion2Syndicate: `Емісар`,
363 363 worldState_RadioLegionIntermissionSyndicate: `Антракт I`,
364 364 worldState_RadioLegionSyndicate: `Вовк із Сатурна-6`,
365 worldState_nightwavePhaseOverride: `[UNTRANSLATED] Nightwave Phase Override`,
365 366 worldState_fissures: `Прориви порожнечі`,
366 367 normal: `Стандартні`,
367 368 worldState_allAtOnceNormal: `Всі одразу, в звичайному режимі`,
Modified static/webui/translations/zh.js +1 -0
@@ -362,6 +362,7 @@ dict = {
362 362 worldState_RadioLegion2Syndicate: `系列2 — 使徒`,
363 363 worldState_RadioLegionIntermissionSyndicate: `间歇I`,
364 364 worldState_RadioLegionSyndicate: `系列1 — 土星六号之狼`,
365 worldState_nightwavePhaseOverride: `[UNTRANSLATED] Nightwave Phase Override`,
365 366 worldState_fissures: `虚空裂缝难度设定`,
366 367 normal: `正常`,
367 368 worldState_allAtOnceNormal: `全部开启(普通)`,