feat: nightwave dreams of the dead (#2949)

Reviewed-on: OpenWF/SpaceNinjaServer#2949
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
This commit is contained in:
Sainan 2025-10-29 06:24:49 -07:00 committed by Sainan
parent f3072e84c9
commit 71be8a2868
10 changed files with 14 additions and 1 deletions

View File

@ -20,6 +20,7 @@ SpaceNinjaServer requires a `config.json`. To set it up, you can copy the [confi
- `worldState.vallisOverride` can be set to `warm` or `cold` to lock the temperature on Orb Vallis.
- `worldState.duviriOverride` can be set to `joy`, `anger`, `envy`, `sorrow`, or `fear` to lock the Duviri spiral.
- `worldState.nightwaveOverride` will lock the nightwave season, assuming the client is new enough for it. Valid values:
- `RadioLegionIntermission14Syndicate` for Nora's Mix: Dreams of the Dead
- `RadioLegionIntermission13Syndicate` for Nora's Mix Vol. 9
- `RadioLegionIntermission12Syndicate` for Nora's Mix Vol. 8
- `RadioLegionIntermission11Syndicate` for Nora's Mix Vol. 7

View File

@ -3777,7 +3777,10 @@ export const getNightwaveSyndicateTag = (buildLabel: string | undefined): string
valid_values: Object.keys(nightwaveTagToSeason)
});
}
if (!buildLabel || version_compare(buildLabel, "2025.05.20.10.18") >= 0) {
if (!buildLabel || version_compare(buildLabel, "2025.10.14.16.10") >= 0) {
return "RadioLegionIntermission14Syndicate";
}
if (version_compare(buildLabel, "2025.05.20.10.18") >= 0) {
return "RadioLegionIntermission13Syndicate";
}
if (version_compare(buildLabel, "2025.02.05.11.19") >= 0) {
@ -3787,6 +3790,7 @@ export const getNightwaveSyndicateTag = (buildLabel: string | undefined): string
};
const nightwaveTagToSeason: Record<string, number> = {
RadioLegionIntermission14Syndicate: 16, // Nora's Mix: Dreams of the Dead
RadioLegionIntermission13Syndicate: 15, // Nora's Mix Vol. 9
RadioLegionIntermission12Syndicate: 14, // Nora's Mix Vol. 8
RadioLegionIntermission11Syndicate: 13, // Nora's Mix Vol. 7

View File

@ -1474,6 +1474,7 @@
<label class="form-label" for="worldState.nightwaveOverride" data-loc="worldState_nightwaveOverride"></label>
<select class="form-control" id="worldState.nightwaveOverride" data-default="">
<option value="" data-loc="disabled"></option>
<option value="RadioLegionIntermission14Syndicate" data-loc="worldState_RadioLegionIntermission14Syndicate"></option>
<option value="RadioLegionIntermission13Syndicate" data-loc="worldState_RadioLegionIntermission13Syndicate"></option>
<option value="RadioLegionIntermission12Syndicate" data-loc="worldState_RadioLegionIntermission12Syndicate"></option>
<option value="RadioLegionIntermission11Syndicate" data-loc="worldState_RadioLegionIntermission11Syndicate"></option>

View File

@ -324,6 +324,7 @@ dict = {
worldState_sorrow: `Trauer`,
worldState_fear: `Angst`,
worldState_nightwaveOverride: `Nightwave-Überschreibung`,
worldState_RadioLegionIntermission14Syndicate: `[UNTRANSLATED] Nora's Mix: Dreams of the Dead`,
worldState_RadioLegionIntermission13Syndicate: `Noras Mix - Vol. 9`,
worldState_RadioLegionIntermission12Syndicate: `Noras Mix - Vol. 8`,
worldState_RadioLegionIntermission11Syndicate: `Noras Mix - Vol. 7`,

View File

@ -323,6 +323,7 @@ dict = {
worldState_sorrow: `Sorrow`,
worldState_fear: `Fear`,
worldState_nightwaveOverride: `Nightwave Override`,
worldState_RadioLegionIntermission14Syndicate: `Nora's Mix: Dreams of the Dead`,
worldState_RadioLegionIntermission13Syndicate: `Nora's Mix Vol. 9`,
worldState_RadioLegionIntermission12Syndicate: `Nora's Mix Vol. 8`,
worldState_RadioLegionIntermission11Syndicate: `Nora's Mix Vol. 7`,

View File

@ -324,6 +324,7 @@ dict = {
worldState_sorrow: `Tristeza`,
worldState_fear: `Miedo`,
worldState_nightwaveOverride: `Volúmen de Onda Nocturna`,
worldState_RadioLegionIntermission14Syndicate: `[UNTRANSLATED] Nora's Mix: Dreams of the Dead`,
worldState_RadioLegionIntermission13Syndicate: `Mix de Nora Vol. 9`,
worldState_RadioLegionIntermission12Syndicate: `Mix de Nora Vol. 8`,
worldState_RadioLegionIntermission11Syndicate: `Mix de Nora Vol. 7`,

View File

@ -324,6 +324,7 @@ dict = {
worldState_sorrow: `hagrin`,
worldState_fear: `Peur`,
worldState_nightwaveOverride: `Saison d'Ondes Nocturnes`,
worldState_RadioLegionIntermission14Syndicate: `[UNTRANSLATED] Nora's Mix: Dreams of the Dead`,
worldState_RadioLegionIntermission13Syndicate: `Mix de Nora Vol. 9`,
worldState_RadioLegionIntermission12Syndicate: `Mix de Nora Vol. 8`,
worldState_RadioLegionIntermission11Syndicate: `Mix de Nora Vol. 7`,

View File

@ -324,6 +324,7 @@ dict = {
worldState_sorrow: `Печаль`,
worldState_fear: `Страх`,
worldState_nightwaveOverride: `Сезон Ночной волны`,
worldState_RadioLegionIntermission14Syndicate: `[UNTRANSLATED] Nora's Mix: Dreams of the Dead`,
worldState_RadioLegionIntermission13Syndicate: `Микс Норы, Диск 9`,
worldState_RadioLegionIntermission12Syndicate: `Микс Норы, Диск 8`,
worldState_RadioLegionIntermission11Syndicate: `Микс Норы, Диск 7`,

View File

@ -324,6 +324,7 @@ dict = {
worldState_sorrow: `Журба`,
worldState_fear: `Страх`,
worldState_nightwaveOverride: `Сезон Нічної хвилі`,
worldState_RadioLegionIntermission14Syndicate: `[UNTRANSLATED] Nora's Mix: Dreams of the Dead`,
worldState_RadioLegionIntermission13Syndicate: `Вибірка Нори 9`,
worldState_RadioLegionIntermission12Syndicate: `Вибірка Нори 8`,
worldState_RadioLegionIntermission11Syndicate: `Вибірка Нори 7`,

View File

@ -324,6 +324,7 @@ dict = {
worldState_sorrow: `悲伤`,
worldState_fear: `恐惧`,
worldState_nightwaveOverride: `午夜电波系列`,
worldState_RadioLegionIntermission14Syndicate: `[UNTRANSLATED] Nora's Mix: Dreams of the Dead`,
worldState_RadioLegionIntermission13Syndicate: `诺拉的混选VOL.9`,
worldState_RadioLegionIntermission12Syndicate: `诺拉的混选VOL.8`,
worldState_RadioLegionIntermission11Syndicate: `诺拉的混选VOL.7`,