feat(webui): MoaPets support (#1402)
Translations were taken from the game Reviewed-on: OpenWF/SpaceNinjaServer#1402 Reviewed-by: Sainan <sainan@calamity.inc> Co-authored-by: AMelonInsideLemon <166175391+AMelonInsideLemon@users.noreply.github.com> Co-committed-by: AMelonInsideLemon <166175391+AMelonInsideLemon@users.noreply.github.com>
This commit is contained in:
		
							parent
							
								
									fb58aeb07f
								
							
						
					
					
						commit
						d033c2bc12
					
				@ -1,15 +1,26 @@
 | 
			
		||||
import { getAccountIdForRequest } from "@/src/services/loginService";
 | 
			
		||||
import { getInventory, addEquipment, occupySlot, productCategoryToInventoryBin } from "@/src/services/inventoryService";
 | 
			
		||||
import {
 | 
			
		||||
    getInventory,
 | 
			
		||||
    addEquipment,
 | 
			
		||||
    occupySlot,
 | 
			
		||||
    productCategoryToInventoryBin,
 | 
			
		||||
    applyDefaultUpgrades
 | 
			
		||||
} from "@/src/services/inventoryService";
 | 
			
		||||
import { modularWeaponTypes } from "@/src/helpers/modularWeaponHelper";
 | 
			
		||||
import { getDefaultUpgrades } from "@/src/services/itemDataService";
 | 
			
		||||
import { IEquipmentDatabase } from "@/src/types/inventoryTypes/commonInventoryTypes";
 | 
			
		||||
import { ExportWeapons } from "warframe-public-export-plus";
 | 
			
		||||
import { RequestHandler } from "express";
 | 
			
		||||
 | 
			
		||||
export const addModularEquipmentController: RequestHandler = async (req, res) => {
 | 
			
		||||
    const requiredFields = new Set();
 | 
			
		||||
    const accountId = await getAccountIdForRequest(req);
 | 
			
		||||
    const request = req.body as IAddModularEquipmentRequest;
 | 
			
		||||
    const category = modularWeaponTypes[request.ItemType];
 | 
			
		||||
    const inventoryBin = productCategoryToInventoryBin(category)!;
 | 
			
		||||
    const inventory = await getInventory(accountId, `${category} ${inventoryBin}`);
 | 
			
		||||
    requiredFields.add(category);
 | 
			
		||||
    requiredFields.add(inventoryBin);
 | 
			
		||||
 | 
			
		||||
    request.ModularParts.forEach(part => {
 | 
			
		||||
        if (ExportWeapons[part].gunType) {
 | 
			
		||||
            if (category == "LongGuns") {
 | 
			
		||||
@ -25,9 +36,57 @@ export const addModularEquipmentController: RequestHandler = async (req, res) =>
 | 
			
		||||
                    GT_BEAM: "/Lotus/Weapons/SolarisUnited/Secondary/LotusModularSecondaryBeam"
 | 
			
		||||
                }[ExportWeapons[part].gunType];
 | 
			
		||||
            }
 | 
			
		||||
        } else if (request.ItemType == "/Lotus/Types/Friendly/Pets/ZanukaPets/ZanukaPetPowerSuit") {
 | 
			
		||||
            if (part.includes("ZanukaPetPartHead")) {
 | 
			
		||||
                request.ItemType = {
 | 
			
		||||
                    "/Lotus/Types/Friendly/Pets/ZanukaPets/ZanukaPetParts/ZanukaPetPartHeadA":
 | 
			
		||||
                        "/Lotus/Types/Friendly/Pets/ZanukaPets/ZanukaPetAPowerSuit",
 | 
			
		||||
                    "/Lotus/Types/Friendly/Pets/ZanukaPets/ZanukaPetParts/ZanukaPetPartHeadB":
 | 
			
		||||
                        "/Lotus/Types/Friendly/Pets/ZanukaPets/ZanukaPetBPowerSuit",
 | 
			
		||||
                    "/Lotus/Types/Friendly/Pets/ZanukaPets/ZanukaPetParts/ZanukaPetPartHeadC":
 | 
			
		||||
                        "/Lotus/Types/Friendly/Pets/ZanukaPets/ZanukaPetCPowerSuit"
 | 
			
		||||
                }[part]!;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    });
 | 
			
		||||
    addEquipment(inventory, category, request.ItemType, request.ModularParts);
 | 
			
		||||
    const defaultUpgrades = getDefaultUpgrades(request.ModularParts);
 | 
			
		||||
    if (defaultUpgrades) {
 | 
			
		||||
        requiredFields.add("RawUpgrades");
 | 
			
		||||
    }
 | 
			
		||||
    const defaultWeaponsMap: Record<string, string[]> = {
 | 
			
		||||
        "/Lotus/Types/Friendly/Pets/ZanukaPets/ZanukaPetAPowerSuit": [
 | 
			
		||||
            "/Lotus/Types/Friendly/Pets/ZanukaPets/ZanukaPetMeleeWeaponIP"
 | 
			
		||||
        ],
 | 
			
		||||
        "/Lotus/Types/Friendly/Pets/ZanukaPets/ZanukaPetBPowerSuit": [
 | 
			
		||||
            "/Lotus/Types/Friendly/Pets/ZanukaPets/ZanukaPetMeleeWeaponIS"
 | 
			
		||||
        ],
 | 
			
		||||
        "/Lotus/Types/Friendly/Pets/ZanukaPets/ZanukaPetCPowerSuit": [
 | 
			
		||||
            "/Lotus/Types/Friendly/Pets/ZanukaPets/ZanukaPetMeleeWeaponPS"
 | 
			
		||||
        ]
 | 
			
		||||
    };
 | 
			
		||||
    const defaultWeapons = defaultWeaponsMap[request.ItemType];
 | 
			
		||||
    if (defaultWeapons) {
 | 
			
		||||
        for (const defaultWeapon of defaultWeapons) {
 | 
			
		||||
            const category = ExportWeapons[defaultWeapon].productCategory;
 | 
			
		||||
            requiredFields.add(category);
 | 
			
		||||
            requiredFields.add(productCategoryToInventoryBin(category));
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    const inventory = await getInventory(accountId, Array.from(requiredFields).join(" "));
 | 
			
		||||
    if (defaultWeapons) {
 | 
			
		||||
        for (const defaultWeapon of defaultWeapons) {
 | 
			
		||||
            const category = ExportWeapons[defaultWeapon].productCategory;
 | 
			
		||||
            addEquipment(inventory, category, defaultWeapon);
 | 
			
		||||
            occupySlot(inventory, productCategoryToInventoryBin(category)!, true);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    const defaultOverwrites: Partial<IEquipmentDatabase> = {
 | 
			
		||||
        Configs: applyDefaultUpgrades(inventory, defaultUpgrades)
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    addEquipment(inventory, category, request.ItemType, request.ModularParts, undefined, defaultOverwrites);
 | 
			
		||||
    occupySlot(inventory, inventoryBin, true);
 | 
			
		||||
    await inventory.save();
 | 
			
		||||
    res.end();
 | 
			
		||||
 | 
			
		||||
@ -13,6 +13,7 @@ export const modularWeaponTypes: Record<string, TEquipmentKey> = {
 | 
			
		||||
    "/Lotus/Weapons/Sentients/OperatorAmplifiers/OperatorAmpWeapon": "OperatorAmps",
 | 
			
		||||
    "/Lotus/Types/Vehicles/Hoverboard/HoverboardSuit": "Hoverboards",
 | 
			
		||||
    "/Lotus/Types/Friendly/Pets/MoaPets/MoaPetPowerSuit": "MoaPets",
 | 
			
		||||
    "/Lotus/Types/Friendly/Pets/ZanukaPets/ZanukaPetPowerSuit": "MoaPets",
 | 
			
		||||
    "/Lotus/Types/Friendly/Pets/ZanukaPets/ZanukaPetAPowerSuit": "MoaPets",
 | 
			
		||||
    "/Lotus/Types/Friendly/Pets/ZanukaPets/ZanukaPetBPowerSuit": "MoaPets",
 | 
			
		||||
    "/Lotus/Types/Friendly/Pets/ZanukaPets/ZanukaPetCPowerSuit": "MoaPets",
 | 
			
		||||
 | 
			
		||||
@ -294,6 +294,34 @@
 | 
			
		||||
                            </div>
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <div class="col-lg-6">
 | 
			
		||||
                        <div class="card mb-3" style="height: 400px;">
 | 
			
		||||
                            <h5 class="card-header" data-loc="inventory_moaPets"></h5>
 | 
			
		||||
                            <div class="card-body overflow-auto">
 | 
			
		||||
                                <form class="input-group mb-3" onsubmit="handleModularSelection('MoaPets');return false;">
 | 
			
		||||
                                    <input class="form-control" id="acquire-type-MoaPets" list="datalist-MoaPets" />
 | 
			
		||||
                                    <button class="btn btn-primary" type="submit" data-loc="general_addButton"></button>
 | 
			
		||||
                                </form>
 | 
			
		||||
                                <form class="input-group mb-3" id="modular-MoaPets" style="display: none;">
 | 
			
		||||
                                    <input class="form-control" id="acquire-type-MoaPets-MOA_ENGINE" list="datalist-ModularParts-MOA_ENGINE" />
 | 
			
		||||
                                    <input class="form-control" id="acquire-type-MoaPets-MOA_PAYLOAD" list="datalist-ModularParts-MOA_PAYLOAD" />
 | 
			
		||||
                                    <input class="form-control" id="acquire-type-MoaPets-MOA_HEAD" list="datalist-ModularParts-MOA_HEAD" />
 | 
			
		||||
                                    <input class="form-control" id="acquire-type-MoaPets-MOA_LEG" list="datalist-ModularParts-MOA_LEG" />
 | 
			
		||||
                                </form>
 | 
			
		||||
                                <form class="input-group mb-3" id="modular-MoaPets-Zanuka" style="display: none;">
 | 
			
		||||
                                    <input class="form-control" id="acquire-type-MoaPets-ZANUKA_HEAD" list="datalist-ModularParts-ZANUKA_HEAD" />
 | 
			
		||||
                                    <input class="form-control" id="acquire-type-MoaPets-ZANUKA_BODY" list="datalist-ModularParts-ZANUKA_BODY" />
 | 
			
		||||
                                    <input class="form-control" id="acquire-type-MoaPets-ZANUKA_LEG" list="datalist-ModularParts-ZANUKA_LEG" />
 | 
			
		||||
                                    <input class="form-control" id="acquire-type-MoaPets-ZANUKA_TAIL" list="datalist-ModularParts-ZANUKA_TAIL" />
 | 
			
		||||
                                </form>
 | 
			
		||||
                                <table class="table table-hover w-100">
 | 
			
		||||
                                    <tbody id="MoaPets-list"></tbody>
 | 
			
		||||
                                </table>
 | 
			
		||||
                            </div>
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="row g-3">
 | 
			
		||||
                    <div class="col-lg-6">
 | 
			
		||||
                        <div class="card mb-3" style="height: 400px;">
 | 
			
		||||
                            <h5 class="card-header" data-loc="inventory_sentinelWeapons"></h5>
 | 
			
		||||
@ -637,6 +665,7 @@
 | 
			
		||||
    <datalist id="datalist-Sentinels"></datalist>
 | 
			
		||||
    <datalist id="datalist-MechSuits"></datalist>
 | 
			
		||||
    <datalist id="datalist-Syndicates"></datalist>
 | 
			
		||||
    <datalist id="datalist-MoaPets"></datalist>
 | 
			
		||||
    <datalist id="datalist-miscitems"></datalist>
 | 
			
		||||
    <datalist id="datalist-mods">
 | 
			
		||||
        <option data-key="/Lotus/Upgrades/Mods/Fusers/LegendaryModFuser" value="Legendary Core"></option>
 | 
			
		||||
@ -659,6 +688,14 @@
 | 
			
		||||
    <datalist id="datalist-ModularParts-GUN_SECONDARY_HANDLE"></datalist>
 | 
			
		||||
    <datalist id="datalist-ModularParts-GUN_BARREL"></datalist>
 | 
			
		||||
    <datalist id="datalist-ModularParts-GUN_CLIP"></datalist>
 | 
			
		||||
    <datalist id="datalist-ModularParts-MOA_ENGINE"></datalist>
 | 
			
		||||
    <datalist id="datalist-ModularParts-MOA_PAYLOAD"></datalist>
 | 
			
		||||
    <datalist id="datalist-ModularParts-MOA_HEAD"></datalist>
 | 
			
		||||
    <datalist id="datalist-ModularParts-MOA_LEG"></datalist>
 | 
			
		||||
    <datalist id="datalist-ModularParts-ZANUKA_BODY"></datalist>
 | 
			
		||||
    <datalist id="datalist-ModularParts-ZANUKA_HEAD"></datalist>
 | 
			
		||||
    <datalist id="datalist-ModularParts-ZANUKA_LEG"></datalist>
 | 
			
		||||
    <datalist id="datalist-ModularParts-ZANUKA_TAIL"></datalist>
 | 
			
		||||
    <script src="/webui/libs/jquery-3.6.0.min.js"></script>
 | 
			
		||||
    <script src="/webui/libs/whirlpool-js.min.js"></script>
 | 
			
		||||
    <script src="/webui/libs/single.js"></script>
 | 
			
		||||
 | 
			
		||||
@ -202,6 +202,15 @@ function fetchItemList() {
 | 
			
		||||
                uniqueName: "/Lotus/Weapons/SolarisUnited/Secondary/LotusModularSecondary",
 | 
			
		||||
                name: loc("code_kitgun")
 | 
			
		||||
            });
 | 
			
		||||
            data.MoaPets ??= [];
 | 
			
		||||
            data.MoaPets.push({
 | 
			
		||||
                uniqueName: "/Lotus/Types/Friendly/Pets/MoaPets/MoaPetPowerSuit",
 | 
			
		||||
                name: loc("code_moa")
 | 
			
		||||
            });
 | 
			
		||||
            data.MoaPets.push({
 | 
			
		||||
                uniqueName: "/Lotus/Types/Friendly/Pets/ZanukaPets/ZanukaPetPowerSuit",
 | 
			
		||||
                name: loc("code_zanuka")
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            const itemMap = {
 | 
			
		||||
                // Generics for rivens
 | 
			
		||||
@ -220,7 +229,16 @@ function fetchItemList() {
 | 
			
		||||
                "/Lotus/Weapons/Sentients/OperatorAmplifiers/SentTrainingAmplifier/OperatorTrainingAmpWeapon": {
 | 
			
		||||
                    name: loc("code_moteAmp")
 | 
			
		||||
                },
 | 
			
		||||
                "/Lotus/Types/Vehicles/Hoverboard/HoverboardSuit": { name: loc("code_kDrive") }
 | 
			
		||||
                "/Lotus/Types/Vehicles/Hoverboard/HoverboardSuit": { name: loc("code_kDrive") },
 | 
			
		||||
                "/Lotus/Types/Friendly/Pets/ZanukaPets/ZanukaPetAPowerSuit": {
 | 
			
		||||
                    name: loc("code_zanukaA")
 | 
			
		||||
                },
 | 
			
		||||
                "/Lotus/Types/Friendly/Pets/ZanukaPets/ZanukaPetBPowerSuit": {
 | 
			
		||||
                    name: loc("code_zanukaB")
 | 
			
		||||
                },
 | 
			
		||||
                "/Lotus/Types/Friendly/Pets/ZanukaPets/ZanukaPetCPowerSuit": {
 | 
			
		||||
                    name: loc("code_zanukaC")
 | 
			
		||||
                }
 | 
			
		||||
            };
 | 
			
		||||
            for (const [type, items] of Object.entries(data)) {
 | 
			
		||||
                if (type == "archonCrystalUpgrades") {
 | 
			
		||||
@ -259,7 +277,15 @@ function fetchItemList() {
 | 
			
		||||
                                "LWPT_GUN_PRIMARY_HANDLE",
 | 
			
		||||
                                "LWPT_GUN_SECONDARY_HANDLE",
 | 
			
		||||
                                "LWPT_GUN_BARREL",
 | 
			
		||||
                                "LWPT_GUN_CLIP"
 | 
			
		||||
                                "LWPT_GUN_CLIP",
 | 
			
		||||
                                "LWPT_MOA_ENGINE",
 | 
			
		||||
                                "LWPT_MOA_PAYLOAD",
 | 
			
		||||
                                "LWPT_MOA_HEAD",
 | 
			
		||||
                                "LWPT_MOA_LEG",
 | 
			
		||||
                                "LWPT_ZANUKA_BODY",
 | 
			
		||||
                                "LWPT_ZANUKA_HEAD",
 | 
			
		||||
                                "LWPT_ZANUKA_LEG",
 | 
			
		||||
                                "LWPT_ZANUKA_TAIL"
 | 
			
		||||
                            ];
 | 
			
		||||
                            if (supportedModularParts.includes(item.partType)) {
 | 
			
		||||
                                const option = document.createElement("option");
 | 
			
		||||
@ -269,6 +295,7 @@ function fetchItemList() {
 | 
			
		||||
                                    .getElementById("datalist-" + type + "-" + item.partType.slice(5))
 | 
			
		||||
                                    .appendChild(option);
 | 
			
		||||
                            } else {
 | 
			
		||||
                                console.log(item.partType);
 | 
			
		||||
                                const option = document.createElement("option");
 | 
			
		||||
                                option.setAttribute("data-key", item.uniqueName);
 | 
			
		||||
                                option.value = item.name;
 | 
			
		||||
@ -308,7 +335,11 @@ function updateInventory() {
 | 
			
		||||
                "/Lotus/Weapons/SolarisUnited/Secondary/LotusModularSecondaryShotgun",
 | 
			
		||||
                "/Lotus/Weapons/Ostron/Melee/LotusModularWeapon",
 | 
			
		||||
                "/Lotus/Weapons/Sentients/OperatorAmplifiers/OperatorAmpWeapon",
 | 
			
		||||
                "/Lotus/Types/Vehicles/Hoverboard/HoverboardSuit"
 | 
			
		||||
                "/Lotus/Types/Vehicles/Hoverboard/HoverboardSuit",
 | 
			
		||||
                "/Lotus/Types/Friendly/Pets/MoaPets/MoaPetPowerSuit",
 | 
			
		||||
                "/Lotus/Types/Friendly/Pets/ZanukaPets/ZanukaPetAPowerSuit",
 | 
			
		||||
                "/Lotus/Types/Friendly/Pets/ZanukaPets/ZanukaPetBPowerSuit",
 | 
			
		||||
                "/Lotus/Types/Friendly/Pets/ZanukaPets/ZanukaPetCPowerSuit"
 | 
			
		||||
            ];
 | 
			
		||||
 | 
			
		||||
            // Populate inventory route
 | 
			
		||||
@ -330,7 +361,8 @@ function updateInventory() {
 | 
			
		||||
                "SentinelWeapons",
 | 
			
		||||
                "Hoverboards",
 | 
			
		||||
                "OperatorAmps",
 | 
			
		||||
                "MechSuits"
 | 
			
		||||
                "MechSuits",
 | 
			
		||||
                "MoaPets"
 | 
			
		||||
            ].forEach(category => {
 | 
			
		||||
                document.getElementById(category + "-list").innerHTML = "";
 | 
			
		||||
                data[category].forEach(item => {
 | 
			
		||||
@ -709,6 +741,13 @@ function doAcquireModularEquipment(category, ItemType) {
 | 
			
		||||
        case "Pistols":
 | 
			
		||||
            requiredParts = ["GUN_BARREL", "GUN_SECONDARY_HANDLE", "GUN_CLIP"];
 | 
			
		||||
            break;
 | 
			
		||||
        case "MoaPets":
 | 
			
		||||
            if (ItemType == "/Lotus/Types/Friendly/Pets/MoaPets/MoaPetPowerSuit") {
 | 
			
		||||
                requiredParts = ["MOA_ENGINE", "MOA_PAYLOAD", "MOA_HEAD", "MOA_LEG"];
 | 
			
		||||
            } else {
 | 
			
		||||
                requiredParts = ["ZANUKA_BODY", "ZANUKA_HEAD", "ZANUKA_LEG", "ZANUKA_TAIL"];
 | 
			
		||||
            }
 | 
			
		||||
            break;
 | 
			
		||||
    }
 | 
			
		||||
    requiredParts.forEach(part => {
 | 
			
		||||
        const partName = getKey(document.getElementById("acquire-type-" + category + "-" + part));
 | 
			
		||||
@ -1375,7 +1414,9 @@ function handleModularSelection(category) {
 | 
			
		||||
        "/Lotus/Weapons/Sentients/OperatorAmplifiers/OperatorAmpWeapon",
 | 
			
		||||
        "/Lotus/Weapons/Ostron/Melee/LotusModularWeapon",
 | 
			
		||||
        "/Lotus/Weapons/SolarisUnited/Primary/LotusModularPrimary",
 | 
			
		||||
        "/Lotus/Weapons/SolarisUnited/Secondary/LotusModularSecondary"
 | 
			
		||||
        "/Lotus/Weapons/SolarisUnited/Secondary/LotusModularSecondary",
 | 
			
		||||
        "/Lotus/Types/Friendly/Pets/MoaPets/MoaPetPowerSuit",
 | 
			
		||||
        "/Lotus/Types/Friendly/Pets/ZanukaPets/ZanukaPetPowerSuit"
 | 
			
		||||
    ];
 | 
			
		||||
    const itemType = getKey(document.getElementById("acquire-type-" + category));
 | 
			
		||||
 | 
			
		||||
@ -1390,16 +1431,37 @@ function handleModularSelection(category) {
 | 
			
		||||
        "/Lotus/Weapons/Sentients/OperatorAmplifiers/OperatorAmpWeapon",
 | 
			
		||||
        "/Lotus/Weapons/Ostron/Melee/LotusModularWeapon",
 | 
			
		||||
        "/Lotus/Weapons/SolarisUnited/Primary/LotusModularPrimary",
 | 
			
		||||
        "/Lotus/Weapons/SolarisUnited/Secondary/LotusModularSecondary"
 | 
			
		||||
        "/Lotus/Weapons/SolarisUnited/Secondary/LotusModularSecondary",
 | 
			
		||||
        "/Lotus/Types/Friendly/Pets/MoaPets/MoaPetPowerSuit",
 | 
			
		||||
        "/Lotus/Types/Friendly/Pets/ZanukaPets/ZanukaPetPowerSuit"
 | 
			
		||||
    ];
 | 
			
		||||
    const supportedModularInventoryCategory = ["OperatorAmps", "Melee", "LongGuns", "Pistols"];
 | 
			
		||||
    const supportedModularInventoryCategory = ["OperatorAmps", "Melee", "LongGuns", "Pistols", "MoaPets"];
 | 
			
		||||
    supportedModularInventoryCategory.forEach(inventoryCategory => {
 | 
			
		||||
        document.getElementById("acquire-type-" + inventoryCategory).addEventListener("input", function () {
 | 
			
		||||
            const modularFields = document.getElementById("modular-" + inventoryCategory);
 | 
			
		||||
            if (modularWeapons.includes(getKey(this))) {
 | 
			
		||||
                modularFields.style.display = "";
 | 
			
		||||
            const modularFieldsZanuka =
 | 
			
		||||
                inventoryCategory === "MoaPets"
 | 
			
		||||
                    ? document.getElementById("modular-" + inventoryCategory + "-Zanuka")
 | 
			
		||||
                    : null;
 | 
			
		||||
            const key = getKey(this);
 | 
			
		||||
 | 
			
		||||
            if (modularWeapons.includes(key)) {
 | 
			
		||||
                if (key === "/Lotus/Types/Friendly/Pets/ZanukaPets/ZanukaPetPowerSuit" && modularFieldsZanuka) {
 | 
			
		||||
                    modularFields.style.display = "none";
 | 
			
		||||
                    modularFieldsZanuka.style.display = "";
 | 
			
		||||
                } else if (key === "/Lotus/Types/Friendly/Pets/MoaPets/MoaPetPowerSuit") {
 | 
			
		||||
                    modularFields.style.display = "";
 | 
			
		||||
                    if (modularFieldsZanuka) {
 | 
			
		||||
                        modularFieldsZanuka.style.display = "none";
 | 
			
		||||
                    }
 | 
			
		||||
                } else {
 | 
			
		||||
                    modularFields.style.display = "";
 | 
			
		||||
                }
 | 
			
		||||
            } else {
 | 
			
		||||
                modularFields.style.display = "none";
 | 
			
		||||
                if (modularFieldsZanuka) {
 | 
			
		||||
                    modularFieldsZanuka.style.display = "none";
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
@ -40,6 +40,11 @@ dict = {
 | 
			
		||||
    code_addModsConfirm: `Bist du sicher, dass du |COUNT| Mods zu deinem Account hinzufügen möchtest?`,
 | 
			
		||||
    code_succImport: `Erfolgreich importiert.`,
 | 
			
		||||
    code_gild: `Veredeln`,
 | 
			
		||||
    code_moa: `Moa`,
 | 
			
		||||
    code_zanuka: `Jagdhund`,
 | 
			
		||||
    code_zanukaA: `Jagdhund: Dorma`,
 | 
			
		||||
    code_zanukaB: `Jagdhund: Bhaira`,
 | 
			
		||||
    code_zanukaC: `Jagdhund: Hec`,
 | 
			
		||||
    login_description: `Melde dich mit deinem OpenWF-Account an (denselben Angaben wie im Spiel, wenn du dich mit diesem Server verbindest).`,
 | 
			
		||||
    login_emailLabel: `E-Mail-Adresse`,
 | 
			
		||||
    login_passwordLabel: `Passwort`,
 | 
			
		||||
@ -65,6 +70,7 @@ dict = {
 | 
			
		||||
    inventory_sentinelWeapons: `Wächter-Waffen`,
 | 
			
		||||
    inventory_operatorAmps: `Verstärker`,
 | 
			
		||||
    inventory_hoverboards: `K-Drives`,
 | 
			
		||||
    inventory_moaPets: `Moa`,
 | 
			
		||||
    inventory_bulkAddSuits: `Fehlende Warframes hinzufügen`,
 | 
			
		||||
    inventory_bulkAddWeapons: `Fehlende Waffen hinzufügen`,
 | 
			
		||||
    inventory_bulkAddSpaceSuits: `Fehlende Archwings hinzufügen`,
 | 
			
		||||
 | 
			
		||||
@ -39,6 +39,11 @@ dict = {
 | 
			
		||||
    code_addModsConfirm: `Are you sure you want to add |COUNT| mods to your account?`,
 | 
			
		||||
    code_succImport: `Successfully imported.`,
 | 
			
		||||
    code_gild: `Gild`,
 | 
			
		||||
    code_moa: `Moa`,
 | 
			
		||||
    code_zanuka: `Hound`,
 | 
			
		||||
    code_zanukaA: `Dorma Hound`,
 | 
			
		||||
    code_zanukaB: `Bhaira Hound`,
 | 
			
		||||
    code_zanukaC: `Hec Hound`,
 | 
			
		||||
    login_description: `Login using your OpenWF account credentials (same as in-game when connecting to this server).`,
 | 
			
		||||
    login_emailLabel: `Email address`,
 | 
			
		||||
    login_passwordLabel: `Password`,
 | 
			
		||||
@ -64,6 +69,7 @@ dict = {
 | 
			
		||||
    inventory_sentinelWeapons: `Sentinel Weapons`,
 | 
			
		||||
    inventory_operatorAmps: `Amps`,
 | 
			
		||||
    inventory_hoverboards: `K-Drives`,
 | 
			
		||||
    inventory_moaPets: `Moa`,
 | 
			
		||||
    inventory_bulkAddSuits: `Add Missing Warframes`,
 | 
			
		||||
    inventory_bulkAddWeapons: `Add Missing Weapons`,
 | 
			
		||||
    inventory_bulkAddSpaceSuits: `Add Missing Archwings`,
 | 
			
		||||
 | 
			
		||||
@ -40,6 +40,11 @@ dict = {
 | 
			
		||||
    code_addModsConfirm: `Ajouter |COUNT| mods à l'inventaire ?`,
 | 
			
		||||
    code_succImport: `Importé.`,
 | 
			
		||||
    code_gild: `[UNTRANSLATED] Gild`,
 | 
			
		||||
    code_moa: `Moa`,
 | 
			
		||||
    code_zanuka: `Molosse`,
 | 
			
		||||
    code_zanukaA: `Molosse Dorma`,
 | 
			
		||||
    code_zanukaB: `Molosse Bhaira`,
 | 
			
		||||
    code_zanukaC: `Molosse Hec`,
 | 
			
		||||
    login_description: `Connexion avec les informations de connexion OpenWF.`,
 | 
			
		||||
    login_emailLabel: `Email`,
 | 
			
		||||
    login_passwordLabel: `Mot de passe`,
 | 
			
		||||
@ -65,6 +70,7 @@ dict = {
 | 
			
		||||
    inventory_sentinelWeapons: `Armes de sentinelles`,
 | 
			
		||||
    inventory_operatorAmps: `Amplificateurs`,
 | 
			
		||||
    inventory_hoverboards: `K-Drives`,
 | 
			
		||||
    inventory_moaPets: `Moa`,
 | 
			
		||||
    inventory_bulkAddSuits: `Ajouter les Warframes manquantes`,
 | 
			
		||||
    inventory_bulkAddWeapons: `Ajouter les armes manquantes`,
 | 
			
		||||
    inventory_bulkAddSpaceSuits: `Ajouter les Archwings manquants`,
 | 
			
		||||
 | 
			
		||||
@ -40,6 +40,11 @@ dict = {
 | 
			
		||||
    code_addModsConfirm: `Вы уверены, что хотите добавить |COUNT| модов на ваш аккаунт?`,
 | 
			
		||||
    code_succImport: `Успешно импортировано.`,
 | 
			
		||||
    code_gild: `Улучшить`,
 | 
			
		||||
    code_moa: `МОА`,
 | 
			
		||||
    code_zanuka: `Гончая`,
 | 
			
		||||
    code_zanukaA: `Гончая: Дорма`,
 | 
			
		||||
    code_zanukaB: `Гончая: Бхайра`,
 | 
			
		||||
    code_zanukaC: `Гончая: Хек`,
 | 
			
		||||
    login_description: `Войдите, используя учетные данные OpenWF (те же, что и в игре при подключении к этому серверу).`,
 | 
			
		||||
    login_emailLabel: `Адрес электронной почты`,
 | 
			
		||||
    login_passwordLabel: `Пароль`,
 | 
			
		||||
@ -65,6 +70,7 @@ dict = {
 | 
			
		||||
    inventory_sentinelWeapons: `Оружие стражей`,
 | 
			
		||||
    inventory_operatorAmps: `Усилители`,
 | 
			
		||||
    inventory_hoverboards: `К-Драйвы`,
 | 
			
		||||
    inventory_moaPets: `МОА`,
 | 
			
		||||
    inventory_bulkAddSuits: `Добавить отсутствующие варфреймы`,
 | 
			
		||||
    inventory_bulkAddWeapons: `Добавить отсутствующее оружие`,
 | 
			
		||||
    inventory_bulkAddSpaceSuits: `Добавить отсутствующие арчвинги`,
 | 
			
		||||
 | 
			
		||||
@ -40,6 +40,11 @@ dict = {
 | 
			
		||||
    code_addModsConfirm: `确定要向账户添加 |COUNT| 张MOD吗?`,
 | 
			
		||||
    code_succImport: `导入成功。`,
 | 
			
		||||
    code_gild: `[UNTRANSLATED] Gild`,
 | 
			
		||||
    code_moa: `恐鸟`,
 | 
			
		||||
    code_zanuka: `猎犬`,
 | 
			
		||||
    code_zanukaA: `铎玛猎犬`,
 | 
			
		||||
    code_zanukaB: `拜拉猎犬`,
 | 
			
		||||
    code_zanukaC: `骸克猎犬`,
 | 
			
		||||
    login_description: `使用您的 OpenWF 账户凭证登录(与游戏内连接本服务器时使用的昵称相同)。`,
 | 
			
		||||
    login_emailLabel: `电子邮箱`,
 | 
			
		||||
    login_passwordLabel: `密码`,
 | 
			
		||||
@ -65,6 +70,7 @@ dict = {
 | 
			
		||||
    inventory_sentinelWeapons: `守护武器`,
 | 
			
		||||
    inventory_operatorAmps: `增幅器`,
 | 
			
		||||
    inventory_hoverboards: `K式悬浮板`,
 | 
			
		||||
    inventory_moaPets: `恐鸟`,
 | 
			
		||||
    inventory_bulkAddSuits: `添加缺失战甲`,
 | 
			
		||||
    inventory_bulkAddWeapons: `添加缺失武器`,
 | 
			
		||||
    inventory_bulkAddSpaceSuits: `添加缺失Archwing`,
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user