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: lunar new year (#3697)

I hope I haven't forgotten someting Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/3697 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>

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

代码差异

13 个文件 +357 -0
Modified config-vanilla.json +1 -0
@@ -77,6 +77,7 @@
77 77 "plagueStarOverride": null,
78 78 "starDaysOverride": null,
79 79 "saintPatrickOverride": null,
80 "lunarNewYear": null,
80 81 "dogDaysOverride": null,
81 82 "dogDaysRewardsOverride": null,
82 83 "bellyOfTheBeast": false,
Modified src/services/configService.ts +1 -0
@@ -90,6 +90,7 @@ export interface IConfig {
90 90 plagueStarOverride?: boolean;
91 91 starDaysOverride?: boolean;
92 92 saintPatrickOverride?: boolean;
93 lunarNewYear?: string;
93 94 dogDaysOverride?: boolean;
94 95 dogDaysRewardsOverride?: number;
95 96 bellyOfTheBeast?: boolean;
Modified src/services/configWatcherService.ts +9 -0
@@ -147,6 +147,15 @@ export const validateConfig = (): void => {
147 147 config.worldState.baroRelayOverride = 0;
148 148 modified = true;
149 149 }
150 if (
151 config.worldState?.lunarNewYear &&
152 !["all", "2019", "2020", "2021", "2022", "2023", "2024", "2025", "2026"].includes(
153 config.worldState.lunarNewYear
154 )
155 ) {
156 delete config.worldState.lunarNewYear;
157 modified = true;
158 }
150 159 if (modified) {
151 160 logger.info(`Updating config file to fix some issues with it.`);
152 161 void saveConfig();
Modified src/services/worldStateService.ts +220 -0
@@ -3459,6 +3459,226 @@ export const getWorldState = (buildLabel?: string): IWorldState => {
3459 3459 pushGoalAlerts(worldState, "12MinWarEvent", buildLabel);
3460 3460 }
3461 3461
3462 if (config.worldState?.lunarNewYear) {
3463 const reapeingItems: Record<string, (Partial<IFlashSale> & { TypeName: string })[]> = {
3464 "2022": [
3465 { TypeName: "/Lotus/Types/Items/ShipDecos/Plushies/PlushyTiger", PremiumOverride: 35 },
3466 {
3467 TypeName: "/Lotus/Upgrades/Skins/LunarNewYear/Lunar2022HeavyBladeSkin",
3468 PremiumOverride: 45
3469 },
3470 { TypeName: "/Lotus/Upgrades/Skins/MeleeDangles/LNYCarpSugatra", PremiumOverride: 15 },
3471 {
3472 TypeName: "/Lotus/Upgrades/Skins/LunarNewYear/Lunar2022IgnisSkin",
3473 PremiumOverride: 25
3474 },
3475 { TypeName: "/Lotus/Upgrades/Skins/LunarNewYear/Lunar2022Zarr", PremiumOverride: 25 },
3476 { TypeName: "/Lotus/Upgrades/Skins/Kubrows/Armor/Lunar2022KubrowArmor", PremiumOverride: 25 },
3477 { TypeName: "/Lotus/Upgrades/Skins/Effects/PeachBlossomsEphemera", PremiumOverride: 60 },
3478 { TypeName: "/Lotus/Types/Items/ShipDecos/CNY2021Poster", RegularOverride: 1 },
3479 { TypeName: "/Lotus/Types/StoreItems/AvatarImages/ChineseNewYear2021Glyph", RegularOverride: 1 },
3480 { TypeName: "/Lotus/Types/Items/ShipDecos/WeGame/LuckyKavat", PremiumOverride: 35 },
3481 { TypeName: "/Lotus/Types/Items/ShipDecos/WeGame/LuckyKavatWhite", PremiumOverride: 35 },
3482 { TypeName: "/Lotus/Types/Items/ShipDecos/WeGame/LuckyKavatGold", PremiumOverride: 35 },
3483 { TypeName: "/Lotus/Upgrades/Skins/LunarNewYear/Lunar2020AcceltraSkin", PremiumOverride: 25 },
3484 { TypeName: "/Lotus/Upgrades/Skins/LunarNewYear/Lunar2020OrthosSkin", PremiumOverride: 20 },
3485 { TypeName: "/Lotus/Upgrades/Skins/LunarNewYear/Lunar2020PyranaSkin", PremiumOverride: 25 },
3486 { TypeName: "/Lotus/Upgrades/Skins/Promo/WeGame/WeGameMacheteSkin", PremiumOverride: 25 },
3487 { TypeName: "/Lotus/Upgrades/Skins/MeleeDangles/WegameChinaKnotDangle", PremiumOverride: 15 },
3488 { TypeName: "/Lotus/Upgrades/Skins/LunarNewYear/Lunar2020PyranaSkin", PremiumOverride: 25 }
3489 ],
3490 "2023": [
3491 { TypeName: "/Lotus/Types/Items/ShipDecos/Plushies/PlushyLNY2023Rabbit", PremiumOverride: 35 },
3492 {
3493 TypeName: "/Lotus/Upgrades/Skins/LunarNewYear/Lunar2023CedoSkin",
3494 PremiumOverride: 25
3495 },
3496 { TypeName: "/Lotus/Upgrades/Skins/Sigils/WeGameNewYearTigerSigil", PremiumOverride: 40 },
3497 { TypeName: "/Lotus/Upgrades/Skins/Sigils/WeGameNewYearRabbitSigil", PremiumOverride: 40 },
3498 { TypeName: "/Lotus/Interface/Graphics/CustomUI/LunarNewYearStyle", PremiumOverride: 50 },
3499 {
3500 TypeName: "/Lotus/Interface/Graphics/CustomUI/Backgrounds/SpringFestivalBackground",
3501 PremiumOverride: 50
3502 },
3503 {
3504 TypeName: "/Lotus/Upgrades/Skins/LunarNewYear/Lunar2023NagantakaSkin",
3505 PremiumOverride: 25
3506 },
3507 { TypeName: "/Lotus/Upgrades/Skins/Effects/LunarEphemera", PremiumOverride: 60 },
3508 {
3509 TypeName: "/Lotus/Upgrades/Skins/LunarNewYear/Lunar2023CernosSkin",
3510 PremiumOverride: 25
3511 },
3512 { TypeName: "/Lotus/Types/Items/Emotes/LNY2023Emote", PremiumOverride: 25 }
3513 ],
3514 "2024": [
3515 { TypeName: "/Lotus/Types/Items/ShipDecos/Plushies/PlushyLNY2024Dragon", PremiumOverride: 35 },
3516 {
3517 TypeName: "/Lotus/Upgrades/Skins/LunarNewYear/LNY2024Nukor",
3518 PremiumOverride: 25
3519 },
3520 { TypeName: "/Lotus/Upgrades/Skins/LunarNewYear/LNY2024DragonSigil", PremiumOverride: 40 },
3521 {
3522 TypeName: "/Lotus/Upgrades/Skins/LunarNewYear/LNYHookSword",
3523 PremiumOverride: 75
3524 },
3525 {
3526 TypeName: "/Lotus/Upgrades/Skins/MeleeDangles/LNYBirdSugatra",
3527 PremiumOverride: 15
3528 },
3529 { TypeName: "/Lotus/Upgrades/Skins/Effects/LNYDragonEphemera", PremiumOverride: 60 },
3530 {
3531 TypeName: "/Lotus/Upgrades/Skins/LunarNewYear/LNY2024Ogris",
3532 PremiumOverride: 25
3533 },
3534 { TypeName: "/Lotus/Types/Items/Emotes/LNY2024DragonEmote", PremiumOverride: 25 },
3535 { TypeName: "/Lotus/Upgrades/Skins/Sentinels/Skins/LNYDragonSentinelSkin", PremiumOverride: 85 },
3536 { TypeName: "/Lotus/Upgrades/Skins/Sentinels/Masks/LNYDragonMask", PremiumOverride: 30 },
3537 { TypeName: "/Lotus/Upgrades/Skins/Sentinels/Wings/LNYDragonWings", PremiumOverride: 15 },
3538 { TypeName: "/Lotus/Upgrades/Skins/Sentinels/Tails/LNYDragonTail", PremiumOverride: 15 }
3539 ],
3540 "2025": [
3541 { TypeName: "/Lotus/Types/Items/ShipDecos/Plushies/PlushySnake", PremiumOverride: 35 },
3542 { TypeName: "/Lotus/Types/Items/ShipDecos/Plushies/PlushyLNYMirage", PremiumOverride: 35 },
3543 {
3544 TypeName: "/Lotus/Upgrades/Skins/LunarNewYear/CNY2025ScytheSkin",
3545 PremiumOverride: 25
3546 },
3547 {
3548 TypeName: "/Lotus/Upgrades/Skins/LunarNewYear/LNY2025BoltorSkin",
3549 PremiumOverride: 20
3550 },
3551 {
3552 TypeName: "/Lotus/StoreItems/Upgrades/Skins/Catbrows/Armor/LNYKavatBoltorArmor",
3553 PremiumOverride: 90
3554 },
3555 { TypeName: "/Lotus/Upgrades/Skins/Effects/LNYStonesEphemera", PremiumOverride: 60 },
3556 { TypeName: "/Lotus/Upgrades/Skins/Sigils/WeGameNewYearSnakeSigil", PremiumOverride: 40 },
3557 {
3558 TypeName: "/Lotus/Upgrades/Skins/MeleeDangles/LNYSnakeMeleeDangle",
3559 PremiumOverride: 15
3560 },
3561 { TypeName: "/Lotus/Types/Items/Emotes/LNY2025SnakeEmote", PremiumOverride: 15 }
3562 ],
3563 "2026": [
3564 { TypeName: "/Lotus/Upgrades/Skins/Horse/DagathDeluxeLNYHorseBodySkin", PremiumOverride: 220 },
3565 { TypeName: "/Lotus/Upgrades/Skins/Horse/DagathDeluxeLNYHorseTail", PremiumOverride: 30 },
3566 { TypeName: "/Lotus/Types/Items/ShipDecos/Plushies/PlushyLNYKaithe", PremiumOverride: 35 },
3567 {
3568 TypeName: "/Lotus/Upgrades/Skins/LunarNewYear/CNY2025ScytheSkin",
3569 PremiumOverride: 25
3570 },
3571 {
3572 TypeName: "/Lotus/Upgrades/Skins/LunarNewYear/LNY2025BoltorSkin",
3573 PremiumOverride: 20
3574 },
3575 { TypeName: "/Lotus/Upgrades/Skins/Effects/LNYKaitheDagathEphemera", PremiumOverride: 60 },
3576 { TypeName: "/Lotus/Upgrades/Skins/Sigils/WeGameNewYearHorseSigil", PremiumOverride: 40 },
3577 {
3578 TypeName: "/Lotus/Upgrades/Skins/MeleeDangles/LNYFireSugatra",
3579 PremiumOverride: 15
3580 },
3581 { TypeName: "/Lotus/Types/Items/Emotes/LNY2026HorseEmote", PremiumOverride: 15 }
3582 ]
3583 };
3584 const storeItems: Record<string, (Partial<IFlashSale> & { TypeName: string })[]> = {
3585 "2019": [{ TypeName: "/Lotus/Types/Items/ShipLayerCNY", RegularOverride: 1 }],
3586 "2020": [{ TypeName: "/Lotus/Types/StoreItems/AvatarImages/ImageGengzi", RegularOverride: 1 }],
3587 "2021": [
3588 { TypeName: "/Lotus/Types/StoreItems/Packages/LNY2021BlessingsBundle", PremiumOverride: 130 },
3589 { TypeName: "/Lotus/Types/StoreItems/Packages/LNY2021AnewBundle", PremiumOverride: 185 },
3590 { TypeName: "/Lotus/Types/StoreItems/Packages/LNY2021LuminousBundle", PremiumOverride: 470 }
3591 ],
3592 "2022": [
3593 { TypeName: "/Lotus/Types/StoreItems/Packages/LNY2022BundleA", PremiumOverride: 135 },
3594 { TypeName: "/Lotus/Types/StoreItems/Packages/LNY2022BundleB", PremiumOverride: 275 },
3595 { TypeName: "/Lotus/Types/StoreItems/Packages/LNY2022BundleC", PremiumOverride: 515 },
3596 { TypeName: "/Lotus/Types/StoreItems/Packages/LNY2022BundleD", PremiumOverride: 105 },
3597 ...[...reapeingItems["2022"]].sort((a, b) => a.TypeName.localeCompare(b.TypeName))
3598 ],
3599 "2023": [
3600 { TypeName: "/Lotus/Types/StoreItems/Packages/LNY2023BundleA", PremiumOverride: 135 },
3601 { TypeName: "/Lotus/Types/StoreItems/Packages/LNY2023BundleB", PremiumOverride: 265 },
3602 { TypeName: "/Lotus/Types/StoreItems/Packages/LNY2023BundleC", PremiumOverride: 500 },
3603 { TypeName: "/Lotus/Types/StoreItems/AvatarImages/CNY2023RabbitGlyph", RegularOverride: 1 },
3604 ...[...reapeingItems["2022"], ...reapeingItems["2023"]].sort((a, b) =>
3605 a.TypeName.localeCompare(b.TypeName)
3606 )
3607 ],
3608 "2024": [
3609 { TypeName: "/Lotus/Types/StoreItems/Packages/LNY2024BundleA", PremiumOverride: 135 },
3610 { TypeName: "/Lotus/Types/StoreItems/Packages/LNY2024BundleB", PremiumOverride: 295 },
3611 { TypeName: "/Lotus/Types/StoreItems/Packages/LNY2024BundleC", PremiumOverride: 575 },
3612 { TypeName: "/Lotus/Types/StoreItems/Packages/LNY2024SentinelSkinBundle", PremiumOverride: 95 },
3613 {
3614 TypeName: "/Lotus/Types/StoreItems/AvatarImages/Seasonal/AvatarImageYearOfTheDragonGlyph",
3615 RegularOverride: 1
3616 },
3617 ...[...reapeingItems["2022"], ...reapeingItems["2023"], ...reapeingItems["2024"]].sort((a, b) =>
3618 a.TypeName.localeCompare(b.TypeName)
3619 )
3620 ],
3621 "2025": [
3622 { TypeName: "/Lotus/Types/StoreItems/Packages/LNY2025BundleA", PremiumOverride: 215 },
3623 { TypeName: "/Lotus/Types/StoreItems/Packages/LNY2025BundleB", PremiumOverride: 590 },
3624 { TypeName: "/Lotus/Types/StoreItems/Packages/LNY2025BundleC", PremiumOverride: 805 },
3625 {
3626 TypeName: "/Lotus/Types/StoreItems/AvatarImages/Seasonal/AvatarImageCNY2025SnakeGlyphB",
3627 RegularOverride: 1
3628 },
3629 { TypeName: "/Lotus/Upgrades/Skins/Clan/CNY2025SnakeEmblem", RegularOverride: 1 },
3630 ...[
3631 ...reapeingItems["2022"],
3632 ...reapeingItems["2023"],
3633 ...reapeingItems["2024"],
3634 ...reapeingItems["2025"]
3635 ].sort((a, b) => a.TypeName.localeCompare(b.TypeName))
3636 ],
3637 "2026": [
3638 { TypeName: "/Lotus/Types/StoreItems/Packages/LNY2026BundleA", PremiumOverride: 295 },
3639 { TypeName: "/Lotus/Types/StoreItems/Packages/LNY2026BundleB", PremiumOverride: 480 },
3640 { TypeName: "/Lotus/Types/StoreItems/Packages/LNY2026BundleC", PremiumOverride: 700 },
3641 {
3642 TypeName: "/Lotus/Types/StoreItems/AvatarImages/LNY2026HorseGlyph",
3643 RegularOverride: 1
3644 },
3645 { TypeName: "/Lotus/Upgrades/Skins/Clan/LNY2026HorseGlyph", RegularOverride: 1 },
3646 ...[
3647 ...reapeingItems["2022"],
3648 ...reapeingItems["2023"],
3649 ...reapeingItems["2024"],
3650 ...reapeingItems["2025"],
3651 ...reapeingItems["2026"]
3652 ].sort((a, b) => a.TypeName.localeCompare(b.TypeName))
3653 ]
3654 };
3655 const selectedStoreItems: (Partial<IFlashSale> & { TypeName: string })[] = [];
3656 if (config.worldState.lunarNewYear == "all") {
3657 const addedTypeNames = new Set<string>();
3658 const packageItems = [];
3659 const otherItems = [];
3660 for (const items of Object.values(storeItems)) {
3661 for (const item of items) {
3662 if (!addedTypeNames.has(item.TypeName)) {
3663 addedTypeNames.add(item.TypeName);
3664 if (item.TypeName.includes("/Lotus/Types/StoreItems/Packages/")) {
3665 packageItems.push(item);
3666 } else {
3667 otherItems.push(item);
3668 }
3669 }
3670 }
3671 }
3672 selectedStoreItems.push(
3673 ...packageItems.sort((a, b) => a.TypeName.localeCompare(b.TypeName)),
3674 ...otherItems.sort((a, b) => a.TypeName.localeCompare(b.TypeName))
3675 );
3676 } else if (config.worldState.lunarNewYear in storeItems) {
3677 selectedStoreItems.push(...storeItems[config.worldState.lunarNewYear]);
3678 }
3679 pushFlashSales(worldState, selectedStoreItems, 1750865400000, 2000000000000, "SEASONAL", buildLabel);
3680 }
3681
3462 3682 // Thermia Fractures activates for 14 days, with alternating 4 and 3-day breaks
3463 3683 const thermiaFracturesCycleDay = day % 35;
3464 3684 const isThermiaFracturesActive =
Modified static/webui/index.html +15 -0
@@ -1474,6 +1474,21 @@
1474 1474 <option value="false" data-loc="disabled"></option>
1475 1475 </select>
1476 1476 </div>
1477 <div class="form-group mt-2">
1478 <label class="form-label" for="worldState.lunarNewYear" data-loc="worldState_lunarNewYear"></label>
1479 <select class="form-control" id="worldState.lunarNewYear" data-default="null">
1480 <option value="null" data-loc="disabled"></option>
1481 <option value="all" data-loc="worldState_allAtOnce"></option>
1482 <option value="2019" data-loc="worldState_lunarNewYearEntry" data-loc-replace="2019"></option>
1483 <option value="2020" data-loc="worldState_lunarNewYearEntry" data-loc-replace="2020"></option>
1484 <option value="2021" data-loc="worldState_lunarNewYearEntry" data-loc-replace="2021"></option>
1485 <option value="2022" data-loc="worldState_lunarNewYearEntry" data-loc-replace="2022"></option>
1486 <option value="2023" data-loc="worldState_lunarNewYearEntry" data-loc-replace="2023"></option>
1487 <option value="2024" data-loc="worldState_lunarNewYearEntry" data-loc-replace="2024"></option>
1488 <option value="2025" data-loc="worldState_lunarNewYearEntry" data-loc-replace="2025"></option>
1489 <option value="2026" data-loc="worldState_lunarNewYearEntry" data-loc-replace="2026"></option>
1490 </select>
1491 </div>
1477 1492 <div class="form-group mt-2 d-flex gap-2">
1478 1493 <div class="flex-fill">
1479 1494 <label class="form-label" for="worldState.dogDaysOverride" data-loc="worldState_dogDays"></label>
Modified static/webui/script.js +6 -0
@@ -358,6 +358,12 @@ function updateLocElements() {
358 358 });
359 359 document.querySelectorAll("[data-loc-replace]").forEach(elm => {
360 360 elm.innerHTML = elm.innerHTML.replace("|VAL|", elm.getAttribute("data-loc-replace"));
361 if (elm.getAttribute("data-loc") == "worldState_lunarNewYearEntry") {
362 const animal = loc(
363 `worldState_lunarNewYearAnimal${((parseInt(elm.getAttribute("data-loc-replace")) - 4) % 12) + 1}`
364 );
365 elm.innerHTML = elm.innerHTML.replace("|ANIMAL|", animal);
366 }
361 367 });
362 368 $(".inventory-update-note").text(
363 369 loc(window.have_game_ws ? "general_inventoryUpdateNoteGameWs" : "general_inventoryUpdateNote")
Modified static/webui/translations/de.js +15 -0
@@ -323,6 +323,20 @@ dict = {
323 323 worldState_baroTennoConRelay: `Baros TennoCon-Relais`,
324 324 worldState_starDays: `Sternen-Tage`,
325 325 worldState_saintPatrick: `St. Patrick’s Day`,
326 worldState_lunarNewYear: `Neues Mondjahr`,
327 worldState_lunarNewYearEntry: `[UNTRANSLATED] |VAL|: Year of the |ANIMAL|`,
328 worldState_lunarNewYearAnimal1: `[UNTRANSLATED] Rat`,
329 worldState_lunarNewYearAnimal2: `[UNTRANSLATED] Ox`,
330 worldState_lunarNewYearAnimal3: `[UNTRANSLATED] Tiger`,
331 worldState_lunarNewYearAnimal4: `[UNTRANSLATED] Rabbit`,
332 worldState_lunarNewYearAnimal5: `[UNTRANSLATED] Dragon`,
333 worldState_lunarNewYearAnimal6: `[UNTRANSLATED] Snake`,
334 worldState_lunarNewYearAnimal7: `[UNTRANSLATED] Horse`,
335 worldState_lunarNewYearAnimal8: `[UNTRANSLATED] Goat`,
336 worldState_lunarNewYearAnimal9: `[UNTRANSLATED] Monkey`,
337 worldState_lunarNewYearAnimal10: `[UNTRANSLATED] Rooster`,
338 worldState_lunarNewYearAnimal11: `[UNTRANSLATED] Dog`,
339 worldState_lunarNewYearAnimal12: `[UNTRANSLATED] Pig`,
326 340 worldState_galleonOfGhouls: `Galeone der Ghule`,
327 341 worldState_anniversary: `Warframe Jubiläum`,
328 342 worldState_useAnniversaryTagForOldGoals: `Verwende <code>Tag</code> vom Warframe Jubiläum für alte Events`,
@@ -396,6 +410,7 @@ dict = {
396 410 worldState_nightwaveEpisode: `Nightwave Episode`,
397 411 worldState_fissures: `Void-Risse`,
398 412 normal: `Normal`,
413 worldState_allAtOnce: `[UNTRANSLATED] All At Once`,
399 414 worldState_allAtOnceNormal: `Alle gleichzeitig, Normal`,
400 415 worldState_allAtOnceSteelPath: `Alle gleichzeitig, Stählerne Pfad`,
401 416 worldState_theCircuitOverride: `Der Rundkurs-Überschreibung`,
Modified static/webui/translations/en.js +15 -0
@@ -322,6 +322,20 @@ dict = {
322 322 worldState_baroTennoConRelay: `Baro's TennoCon Relay`,
323 323 worldState_starDays: `Star Days`,
324 324 worldState_saintPatrick: `St. Patrick’s Day`,
325 worldState_lunarNewYear: `Lunar New Year`,
326 worldState_lunarNewYearEntry: `|VAL|: Year of the |ANIMAL|`,
327 worldState_lunarNewYearAnimal1: `Rat`,
328 worldState_lunarNewYearAnimal2: `Ox`,
329 worldState_lunarNewYearAnimal3: `Tiger`,
330 worldState_lunarNewYearAnimal4: `Rabbit`,
331 worldState_lunarNewYearAnimal5: `Dragon`,
332 worldState_lunarNewYearAnimal6: `Snake`,
333 worldState_lunarNewYearAnimal7: `Horse`,
334 worldState_lunarNewYearAnimal8: `Goat`,
335 worldState_lunarNewYearAnimal9: `Monkey`,
336 worldState_lunarNewYearAnimal10: `Rooster`,
337 worldState_lunarNewYearAnimal11: `Dog`,
338 worldState_lunarNewYearAnimal12: `Pig`,
325 339 worldState_galleonOfGhouls: `Galleon of Ghouls`,
326 340 worldState_anniversary: `Warframe Anniversary`,
327 341 worldState_useAnniversaryTagForOldGoals: `Use <code>Tag</code> from Warframe Anniversary for old Events`,
@@ -395,6 +409,7 @@ dict = {
395 409 worldState_nightwaveEpisode: `Nightwave Episode`,
396 410 worldState_fissures: `Fissures`,
397 411 normal: `Normal`,
412 worldState_allAtOnce: `All At Once`,
398 413 worldState_allAtOnceNormal: `All At Once, Normal`,
399 414 worldState_allAtOnceSteelPath: `All At Once, Steel Path`,
400 415 worldState_theCircuitOverride: `The Circuit Override`,
Modified static/webui/translations/es.js +15 -0
@@ -323,6 +323,20 @@ dict = {
323 323 worldState_baroTennoConRelay: `Repetidor de Baro de la TennoCon`,
324 324 worldState_starDays: `Días estelares`,
325 325 worldState_saintPatrick: `Día de San Patricio`,
326 worldState_lunarNewYear: `Año Nuevo Lunar`,
327 worldState_lunarNewYearEntry: `[UNTRANSLATED] |VAL|: Year of the |ANIMAL|`,
328 worldState_lunarNewYearAnimal1: `[UNTRANSLATED] Rat`,
329 worldState_lunarNewYearAnimal2: `[UNTRANSLATED] Ox`,
330 worldState_lunarNewYearAnimal3: `[UNTRANSLATED] Tiger`,
331 worldState_lunarNewYearAnimal4: `[UNTRANSLATED] Rabbit`,
332 worldState_lunarNewYearAnimal5: `[UNTRANSLATED] Dragon`,
333 worldState_lunarNewYearAnimal6: `[UNTRANSLATED] Snake`,
334 worldState_lunarNewYearAnimal7: `[UNTRANSLATED] Horse`,
335 worldState_lunarNewYearAnimal8: `[UNTRANSLATED] Goat`,
336 worldState_lunarNewYearAnimal9: `[UNTRANSLATED] Monkey`,
337 worldState_lunarNewYearAnimal10: `[UNTRANSLATED] Rooster`,
338 worldState_lunarNewYearAnimal11: `[UNTRANSLATED] Dog`,
339 worldState_lunarNewYearAnimal12: `[UNTRANSLATED] Pig`,
326 340 worldState_galleonOfGhouls: `Galeón de Gules`,
327 341 worldState_anniversary: `Aniversario de Warframe`,
328 342 worldState_useAnniversaryTagForOldGoals: `Usa <code>Tag</code> del Aniversario de Warframe para eventos pasados`,
@@ -396,6 +410,7 @@ dict = {
396 410 worldState_nightwaveEpisode: `[UNTRANSLATED] Nightwave Episode`,
397 411 worldState_fissures: `Fisuras`,
398 412 normal: `Normal`,
413 worldState_allAtOnce: `[UNTRANSLATED] All At Once`,
399 414 worldState_allAtOnceNormal: `Todo a la vez, normal`,
400 415 worldState_allAtOnceSteelPath: `Todo a la vez, Camino de Acero`,
401 416 worldState_theCircuitOverride: `Cambio del Circuito`,
Modified static/webui/translations/fr.js +15 -0
@@ -323,6 +323,20 @@ dict = {
323 323 worldState_baroTennoConRelay: `Relais Baro TennoCon`,
324 324 worldState_starDays: `Jours Stellaires`,
325 325 worldState_saintPatrick: `Saint-Patrick`,
326 worldState_lunarNewYear: `Nouvel An Lunaire`,
327 worldState_lunarNewYearEntry: `[UNTRANSLATED] |VAL|: Year of the |ANIMAL|`,
328 worldState_lunarNewYearAnimal1: `[UNTRANSLATED] Rat`,
329 worldState_lunarNewYearAnimal2: `[UNTRANSLATED] Ox`,
330 worldState_lunarNewYearAnimal3: `[UNTRANSLATED] Tiger`,
331 worldState_lunarNewYearAnimal4: `[UNTRANSLATED] Rabbit`,
332 worldState_lunarNewYearAnimal5: `[UNTRANSLATED] Dragon`,
333 worldState_lunarNewYearAnimal6: `[UNTRANSLATED] Snake`,
334 worldState_lunarNewYearAnimal7: `[UNTRANSLATED] Horse`,
335 worldState_lunarNewYearAnimal8: `[UNTRANSLATED] Goat`,
336 worldState_lunarNewYearAnimal9: `[UNTRANSLATED] Monkey`,
337 worldState_lunarNewYearAnimal10: `[UNTRANSLATED] Rooster`,
338 worldState_lunarNewYearAnimal11: `[UNTRANSLATED] Dog`,
339 worldState_lunarNewYearAnimal12: `[UNTRANSLATED] Pig`,
326 340 worldState_galleonOfGhouls: `Galion des Goules`,
327 341 worldState_anniversary: `Anniversaire de Warframe`,
328 342 worldState_useAnniversaryTagForOldGoals: `Utiliser <code>Tag</code> de l'Anniversaire de Warframe pour les anciens événements`,
@@ -396,6 +410,7 @@ dict = {
396 410 worldState_nightwaveEpisode: `Episode des Ondes Nocturnes`,
397 411 worldState_fissures: `Fissures`,
398 412 normal: `Normal`,
413 worldState_allAtOnce: `[UNTRANSLATED] All At Once`,
399 414 worldState_allAtOnceNormal: `Toutes, Normal`,
400 415 worldState_allAtOnceSteelPath: `Toutes, Route de l'Acier`,
401 416 worldState_theCircuitOverride: `Remplacement du Circuit`,
Modified static/webui/translations/ru.js +15 -0
@@ -323,6 +323,20 @@ dict = {
323 323 worldState_baroTennoConRelay: `Реле Баро TennoCon`,
324 324 worldState_starDays: `Звёздные дни`,
325 325 worldState_saintPatrick: `День Святого Патрика`,
326 worldState_lunarNewYear: `Лунный Новый Год`,
327 worldState_lunarNewYearEntry: `|VAL|: Год |ANIMAL|`,
328 worldState_lunarNewYearAnimal1: `Крысы`,
329 worldState_lunarNewYearAnimal2: `Быка`,
330 worldState_lunarNewYearAnimal3: `Тигра`,
331 worldState_lunarNewYearAnimal4: `Кролика`,
332 worldState_lunarNewYearAnimal5: `Дракона`,
333 worldState_lunarNewYearAnimal6: `Змеи`,
334 worldState_lunarNewYearAnimal7: `Лошади`,
335 worldState_lunarNewYearAnimal8: `Козы`,
336 worldState_lunarNewYearAnimal9: `Обезьяны`,
337 worldState_lunarNewYearAnimal10: `Петуха`,
338 worldState_lunarNewYearAnimal11: `Собаки`,
339 worldState_lunarNewYearAnimal12: `Свиньи`,
326 340 worldState_galleonOfGhouls: `Галеон Гулей`,
327 341 worldState_anniversary: `Годовщина Warframe`,
328 342 worldState_useAnniversaryTagForOldGoals: `Использовать <code>Tag</code> из Годовщины Warframe для старых событий`,
@@ -396,6 +410,7 @@ dict = {
396 410 worldState_nightwaveEpisode: `Эпизод Ночной волны`,
397 411 worldState_fissures: `Разрывы бездны`,
398 412 normal: `Стандартные`,
413 worldState_allAtOnce: `Все сразу`,
399 414 worldState_allAtOnceNormal: `Все сразу, в обычном режиме`,
400 415 worldState_allAtOnceSteelPath: `Все сразу, в режиме Стального Пути`,
401 416 worldState_theCircuitOverride: `Типы миссий в подземелье Дувири`,
Modified static/webui/translations/uk.js +15 -0
@@ -323,6 +323,20 @@ dict = {
323 323 worldState_baroTennoConRelay: `Реле Баро TennoCon`,
324 324 worldState_starDays: `Зоряні дні`,
325 325 worldState_saintPatrick: `День святого Патрика`,
326 worldState_lunarNewYear: `Місячний Новий рік`,
327 worldState_lunarNewYearEntry: `|VAL|: Рік |ANIMAL|`,
328 worldState_lunarNewYearAnimal1: `[UNTRANSLATED] Rat`,
329 worldState_lunarNewYearAnimal2: `[UNTRANSLATED] Ox`,
330 worldState_lunarNewYearAnimal3: `[UNTRANSLATED] Tiger`,
331 worldState_lunarNewYearAnimal4: `[UNTRANSLATED] Rabbit`,
332 worldState_lunarNewYearAnimal5: `[UNTRANSLATED] Dragon`,
333 worldState_lunarNewYearAnimal6: `[UNTRANSLATED] Snake`,
334 worldState_lunarNewYearAnimal7: `[UNTRANSLATED] Horse`,
335 worldState_lunarNewYearAnimal8: `[UNTRANSLATED] Goat`,
336 worldState_lunarNewYearAnimal9: `[UNTRANSLATED] Monkey`,
337 worldState_lunarNewYearAnimal10: `[UNTRANSLATED] Rooster`,
338 worldState_lunarNewYearAnimal11: `[UNTRANSLATED] Dog`,
339 worldState_lunarNewYearAnimal12: `[UNTRANSLATED] Pig`,
326 340 worldState_galleonOfGhouls: `Гульський галеон`,
327 341 worldState_anniversary: `Річниця Warframe`,
328 342 worldState_useAnniversaryTagForOldGoals: `Використати <code>Tag</code> з річниці Warframe для старих подій`,
@@ -396,6 +410,7 @@ dict = {
396 410 worldState_nightwaveEpisode: `Епізод Нічної хвилі`,
397 411 worldState_fissures: `Прориви порожнечі`,
398 412 normal: `Стандартні`,
413 worldState_allAtOnce: `[UNTRANSLATED] All At Once`,
399 414 worldState_allAtOnceNormal: `Всі одразу, в звичайному режимі`,
400 415 worldState_allAtOnceSteelPath: `Всі одразу, в режимі Шляху Сталі`,
401 416 worldState_theCircuitOverride: `Типи місій у підземеллі Дувірі`,
Modified static/webui/translations/zh.js +15 -0