forked from OpenWF/SpaceNinjaServer
		
	Compare commits
	
		
			No commits in common. "b9009b5102279b99f6f8577dad3ac4227345fef2" and "18fafc38b500eb5ef162b9a3408e4368fc9e62d6" have entirely different histories.
		
	
	
		
			b9009b5102
			...
			18fafc38b5
		
	
		
@ -1,91 +1,14 @@
 | 
				
			|||||||
import { getAccountIdForRequest } from "../../services/loginService.ts";
 | 
					import { getAccountIdForRequest } from "../../services/loginService.ts";
 | 
				
			||||||
import {
 | 
					import { getInventory, addItem } from "../../services/inventoryService.ts";
 | 
				
			||||||
    getInventory,
 | 
					 | 
				
			||||||
    addItem,
 | 
					 | 
				
			||||||
    addMiscItem,
 | 
					 | 
				
			||||||
    addMods,
 | 
					 | 
				
			||||||
    addShipDecorations,
 | 
					 | 
				
			||||||
    addPowerSuit,
 | 
					 | 
				
			||||||
    addEquipment,
 | 
					 | 
				
			||||||
    addMechSuit,
 | 
					 | 
				
			||||||
    addSentinel,
 | 
					 | 
				
			||||||
    addSentinelWeapon,
 | 
					 | 
				
			||||||
    addCustomization,
 | 
					 | 
				
			||||||
    addSkin,
 | 
					 | 
				
			||||||
    productCategoryToInventoryBin,
 | 
					 | 
				
			||||||
    occupySlot
 | 
					 | 
				
			||||||
} from "../../services/inventoryService.ts";
 | 
					 | 
				
			||||||
import type { RequestHandler } from "express";
 | 
					import type { RequestHandler } from "express";
 | 
				
			||||||
import { broadcastInventoryUpdate } from "../../services/wsService.ts";
 | 
					import { broadcastInventoryUpdate } from "../../services/wsService.ts";
 | 
				
			||||||
import { InventorySlot } from "../../types/inventoryTypes/inventoryTypes.ts";
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const addItemsController: RequestHandler = async (req, res) => {
 | 
					export const addItemsController: RequestHandler = async (req, res) => {
 | 
				
			||||||
    const accountId = await getAccountIdForRequest(req);
 | 
					    const accountId = await getAccountIdForRequest(req);
 | 
				
			||||||
    const requests = req.body as IAddItemRequest[];
 | 
					    const requests = req.body as IAddItemRequest[];
 | 
				
			||||||
    const inventory = await getInventory(accountId);
 | 
					    const inventory = await getInventory(accountId);
 | 
				
			||||||
    const productCategory = (req.query.productCategory as string) || "";
 | 
					 | 
				
			||||||
    for (const request of requests) {
 | 
					    for (const request of requests) {
 | 
				
			||||||
        switch (productCategory) {
 | 
					        await addItem(inventory, request.ItemType, request.ItemCount, true, undefined, request.Fingerprint, true);
 | 
				
			||||||
            case "MiscItems":
 | 
					 | 
				
			||||||
                addMiscItem(inventory, request.ItemType, request.ItemCount);
 | 
					 | 
				
			||||||
                break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            case "RawUpgrades":
 | 
					 | 
				
			||||||
                addMods(inventory, [request]);
 | 
					 | 
				
			||||||
                break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            case "ShipDecorations":
 | 
					 | 
				
			||||||
                addShipDecorations(inventory, [request]);
 | 
					 | 
				
			||||||
                break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            case "Suits":
 | 
					 | 
				
			||||||
                await addPowerSuit(inventory, request.ItemType);
 | 
					 | 
				
			||||||
                occupySlot(inventory, InventorySlot.SUITS, true);
 | 
					 | 
				
			||||||
                break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            case "MechSuits":
 | 
					 | 
				
			||||||
                await addMechSuit(inventory, request.ItemType);
 | 
					 | 
				
			||||||
                occupySlot(inventory, InventorySlot.MECHSUITS, true);
 | 
					 | 
				
			||||||
                break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            case "Sentinels":
 | 
					 | 
				
			||||||
                addSentinel(inventory, request.ItemType, true);
 | 
					 | 
				
			||||||
                break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            case "SentinelWeapons":
 | 
					 | 
				
			||||||
                addSentinelWeapon(inventory, request.ItemType, true);
 | 
					 | 
				
			||||||
                break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            case "FlavourItems":
 | 
					 | 
				
			||||||
                addCustomization(inventory, request.ItemType);
 | 
					 | 
				
			||||||
                break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            case "WeaponSkins":
 | 
					 | 
				
			||||||
                addSkin(inventory, request.ItemType);
 | 
					 | 
				
			||||||
                break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            case "LongGuns":
 | 
					 | 
				
			||||||
            case "Pistols":
 | 
					 | 
				
			||||||
            case "Melee":
 | 
					 | 
				
			||||||
            case "SpaceSuits":
 | 
					 | 
				
			||||||
            case "SpaceGuns":
 | 
					 | 
				
			||||||
            case "SpaceMelee":
 | 
					 | 
				
			||||||
                addEquipment(inventory, productCategory, request.ItemType);
 | 
					 | 
				
			||||||
                occupySlot(inventory, productCategoryToInventoryBin(productCategory) ?? InventorySlot.WEAPONS, true);
 | 
					 | 
				
			||||||
                break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            default:
 | 
					 | 
				
			||||||
                await addItem(
 | 
					 | 
				
			||||||
                    inventory,
 | 
					 | 
				
			||||||
                    request.ItemType,
 | 
					 | 
				
			||||||
                    request.ItemCount,
 | 
					 | 
				
			||||||
                    true,
 | 
					 | 
				
			||||||
                    undefined,
 | 
					 | 
				
			||||||
                    request.Fingerprint,
 | 
					 | 
				
			||||||
                    true
 | 
					 | 
				
			||||||
                );
 | 
					 | 
				
			||||||
                break;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    await inventory.save();
 | 
					    await inventory.save();
 | 
				
			||||||
    res.end();
 | 
					    res.end();
 | 
				
			||||||
 | 
				
			|||||||
@ -1,24 +0,0 @@
 | 
				
			|||||||
import { getInventory } from "../../services/inventoryService.ts";
 | 
					 | 
				
			||||||
import { getAccountIdForRequest } from "../../services/loginService.ts";
 | 
					 | 
				
			||||||
import type { RequestHandler } from "express";
 | 
					 | 
				
			||||||
import { equipmentKeys } from "../../types/inventoryTypes/inventoryTypes.ts";
 | 
					 | 
				
			||||||
import { broadcastInventoryUpdate } from "../../services/wsService.ts";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export const removeIsNewController: RequestHandler = async (req, res) => {
 | 
					 | 
				
			||||||
    const accountId = await getAccountIdForRequest(req);
 | 
					 | 
				
			||||||
    const filteredEquipmentKeys = equipmentKeys.filter(k => k !== "CrewShipWeapons" && k !== "CrewShipSalvagedWeapons");
 | 
					 | 
				
			||||||
    const inventory = await getInventory(accountId, [...filteredEquipmentKeys, "WeaponSkins"].join(" "));
 | 
					 | 
				
			||||||
    for (const key of filteredEquipmentKeys) {
 | 
					 | 
				
			||||||
        if (key in inventory) {
 | 
					 | 
				
			||||||
            for (const equipment of inventory[key]) {
 | 
					 | 
				
			||||||
                if (equipment.IsNew) equipment.IsNew = false;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    for (const equipment of inventory.WeaponSkins) {
 | 
					 | 
				
			||||||
        if (equipment.IsNew) equipment.IsNew = false;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    await inventory.save();
 | 
					 | 
				
			||||||
    res.end();
 | 
					 | 
				
			||||||
    broadcastInventoryUpdate(req);
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
@ -22,7 +22,6 @@ import { unlockAllScansController } from "../controllers/custom/unlockAllScansCo
 | 
				
			|||||||
import { unlockAllShipFeaturesController } from "../controllers/custom/unlockAllShipFeaturesController.ts";
 | 
					import { unlockAllShipFeaturesController } from "../controllers/custom/unlockAllShipFeaturesController.ts";
 | 
				
			||||||
import { unlockAllCapturaScenesController } from "../controllers/custom/unlockAllCapturaScenesController.ts";
 | 
					import { unlockAllCapturaScenesController } from "../controllers/custom/unlockAllCapturaScenesController.ts";
 | 
				
			||||||
import { removeCustomizationController } from "../controllers/custom/removeCustomizationController.ts";
 | 
					import { removeCustomizationController } from "../controllers/custom/removeCustomizationController.ts";
 | 
				
			||||||
import { removeIsNewController } from "../controllers/custom/removeIsNewController.ts";
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { abilityOverrideController } from "../controllers/custom/abilityOverrideController.ts";
 | 
					import { abilityOverrideController } from "../controllers/custom/abilityOverrideController.ts";
 | 
				
			||||||
import { createAccountController } from "../controllers/custom/createAccountController.ts";
 | 
					import { createAccountController } from "../controllers/custom/createAccountController.ts";
 | 
				
			||||||
@ -74,7 +73,6 @@ customRouter.get("/unlockAllScans", unlockAllScansController);
 | 
				
			|||||||
customRouter.get("/unlockAllShipFeatures", unlockAllShipFeaturesController);
 | 
					customRouter.get("/unlockAllShipFeatures", unlockAllShipFeaturesController);
 | 
				
			||||||
customRouter.get("/unlockAllCapturaScenes", unlockAllCapturaScenesController);
 | 
					customRouter.get("/unlockAllCapturaScenes", unlockAllCapturaScenesController);
 | 
				
			||||||
customRouter.get("/removeCustomization", removeCustomizationController);
 | 
					customRouter.get("/removeCustomization", removeCustomizationController);
 | 
				
			||||||
customRouter.get("/removeIsNew", removeIsNewController);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
customRouter.post("/abilityOverride", abilityOverrideController);
 | 
					customRouter.post("/abilityOverride", abilityOverrideController);
 | 
				
			||||||
customRouter.post("/createAccount", createAccountController);
 | 
					customRouter.post("/createAccount", createAccountController);
 | 
				
			||||||
 | 
				
			|||||||
@ -941,7 +941,7 @@ export const applyDefaultUpgrades = (
 | 
				
			|||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//TODO: maybe genericMethod for all the add methods, they share a lot of logic
 | 
					//TODO: maybe genericMethod for all the add methods, they share a lot of logic
 | 
				
			||||||
export const addSentinel = (
 | 
					const addSentinel = (
 | 
				
			||||||
    inventory: TInventoryDatabaseDocument,
 | 
					    inventory: TInventoryDatabaseDocument,
 | 
				
			||||||
    sentinelName: string,
 | 
					    sentinelName: string,
 | 
				
			||||||
    premiumPurchase: boolean,
 | 
					    premiumPurchase: boolean,
 | 
				
			||||||
@ -972,11 +972,11 @@ export const addSentinel = (
 | 
				
			|||||||
    return inventoryChanges;
 | 
					    return inventoryChanges;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const addSentinelWeapon = (
 | 
					const addSentinelWeapon = (
 | 
				
			||||||
    inventory: TInventoryDatabaseDocument,
 | 
					    inventory: TInventoryDatabaseDocument,
 | 
				
			||||||
    typeName: string,
 | 
					    typeName: string,
 | 
				
			||||||
    premiumPurchase: boolean,
 | 
					    premiumPurchase: boolean,
 | 
				
			||||||
    inventoryChanges: IInventoryChanges = {}
 | 
					    inventoryChanges: IInventoryChanges
 | 
				
			||||||
): void => {
 | 
					): void => {
 | 
				
			||||||
    // Sentinel weapons also occupy a slot in the sentinels bin
 | 
					    // Sentinel weapons also occupy a slot in the sentinels bin
 | 
				
			||||||
    combineInventoryChanges(inventoryChanges, occupySlot(inventory, InventorySlot.SENTINELS, premiumPurchase));
 | 
					    combineInventoryChanges(inventoryChanges, occupySlot(inventory, InventorySlot.SENTINELS, premiumPurchase));
 | 
				
			||||||
 | 
				
			|||||||
@ -136,7 +136,5 @@
 | 
				
			|||||||
  "ConquestSetupIntro",
 | 
					  "ConquestSetupIntro",
 | 
				
			||||||
  "EntratiLabConquestHardModeUnlocked",
 | 
					  "EntratiLabConquestHardModeUnlocked",
 | 
				
			||||||
  "/Lotus/Language/Npcs/KonzuPostNewWar",
 | 
					  "/Lotus/Language/Npcs/KonzuPostNewWar",
 | 
				
			||||||
  "/Lotus/Language/SolarisVenus/EudicoPostNewWar",
 | 
					  "/Lotus/Language/SolarisVenus/EudicoPostNewWar"
 | 
				
			||||||
  "/Lotus/Language/NokkoColony/NokkoVendorName",
 | 
					 | 
				
			||||||
  "NokkoVisions_FirstVisit"
 | 
					 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
				
			|||||||
@ -116,31 +116,9 @@
 | 
				
			|||||||
                            </div>
 | 
					                            </div>
 | 
				
			||||||
                            <div class="tab-pane" id="typeName-tab-content">
 | 
					                            <div class="tab-pane" id="typeName-tab-content">
 | 
				
			||||||
                                <form class="card-body" onsubmit="addItemByItemType();return false;">
 | 
					                                <form class="card-body" onsubmit="addItemByItemType();return false;">
 | 
				
			||||||
                                    <p>
 | 
					                                    <p data-loc="inventory_addItemByItemType_warning"></p>
 | 
				
			||||||
                                        <span data-loc="inventory_addItemByItemType_warning"></span>
 | 
					 | 
				
			||||||
                                        <span data-loc="inventory_addItemByItemType_productCategory"></span>
 | 
					 | 
				
			||||||
                                    </p>
 | 
					 | 
				
			||||||
                                    <div class="input-group">
 | 
					                                    <div class="input-group">
 | 
				
			||||||
                                        <input class="form-control" id="typeName-count" type="number" value="1" disabled />
 | 
					                                        <input class="form-control" id="typeName-type" />
 | 
				
			||||||
                                        <input class="form-control w-50" id="typeName-type" />
 | 
					 | 
				
			||||||
                                        <select class="form-control" id="typeName-productCategory" data-default="">
 | 
					 | 
				
			||||||
                                            <option value="" data-loc="notSpecified"></option>
 | 
					 | 
				
			||||||
                                            <option value="MiscItems">MiscItems</option>
 | 
					 | 
				
			||||||
                                            <option value="RawUpgrades">RawUpgrades</option>
 | 
					 | 
				
			||||||
                                            <option value="ShipDecorations">ShipDecorations</option>
 | 
					 | 
				
			||||||
                                            <option value="Suits">Suits</option>
 | 
					 | 
				
			||||||
                                            <option value="LongGuns">LongGuns</option>
 | 
					 | 
				
			||||||
                                            <option value="Pistols">Pistols</option>
 | 
					 | 
				
			||||||
                                            <option value="Melee">Melee</option>
 | 
					 | 
				
			||||||
                                            <option value="SpaceSuits">SpaceSuits</option>
 | 
					 | 
				
			||||||
                                            <option value="SpaceGuns">SpaceGuns</option>
 | 
					 | 
				
			||||||
                                            <option value="SpaceMelee">SpaceMelee</option>
 | 
					 | 
				
			||||||
                                            <option value="MechSuits">MechSuits</option>
 | 
					 | 
				
			||||||
                                            <option value="Sentinels">Sentinels</option>
 | 
					 | 
				
			||||||
                                            <option value="SentinelWeapons">SentinelWeapons</option>
 | 
					 | 
				
			||||||
                                            <option value="FlavourItems">FlavourItems</option>
 | 
					 | 
				
			||||||
                                            <option value="WeaponSkins">WeaponSkins</option>
 | 
					 | 
				
			||||||
                                        </select>
 | 
					 | 
				
			||||||
                                        <button class="btn btn-primary" type="submit" data-loc="general_addButton"></button>
 | 
					                                        <button class="btn btn-primary" type="submit" data-loc="general_addButton"></button>
 | 
				
			||||||
                                    </div>
 | 
					                                    </div>
 | 
				
			||||||
                                </form>
 | 
					                                </form>
 | 
				
			||||||
@ -580,7 +558,6 @@
 | 
				
			|||||||
                            <button class="btn btn-primary" onclick="debounce(addMissingEquipment, ['ShipDecorations']);" data-loc="inventory_bulkAddShipDecorations"></button>
 | 
					                            <button class="btn btn-primary" onclick="debounce(addMissingEquipment, ['ShipDecorations']);" data-loc="inventory_bulkAddShipDecorations"></button>
 | 
				
			||||||
                            <button class="btn btn-primary" onclick="debounce(addMissingEquipment, ['WeaponSkins']);" data-loc="inventory_bulkAddWeaponSkins"></button>
 | 
					                            <button class="btn btn-primary" onclick="debounce(addMissingEquipment, ['WeaponSkins']);" data-loc="inventory_bulkAddWeaponSkins"></button>
 | 
				
			||||||
                            <button class="btn btn-primary" onclick="debounce(addMissingEvolutionProgress);" data-loc="inventory_bulkAddEvolutionProgress"></button>
 | 
					                            <button class="btn btn-primary" onclick="debounce(addMissingEvolutionProgress);" data-loc="inventory_bulkAddEvolutionProgress"></button>
 | 
				
			||||||
                            <button class="btn btn-primary" onclick="removeIsNew();" data-loc="inventory_removeIsNew"></button>
 | 
					 | 
				
			||||||
                        </div>
 | 
					                        </div>
 | 
				
			||||||
                        <div class="mb-2 d-flex flex-wrap gap-2">
 | 
					                        <div class="mb-2 d-flex flex-wrap gap-2">
 | 
				
			||||||
                            <button class="btn btn-success" onclick="debounce(maxRankAllEquipment, ['Suits']);" data-loc="inventory_bulkRankUpSuits"></button>
 | 
					                            <button class="btn btn-success" onclick="debounce(maxRankAllEquipment, ['Suits']);" data-loc="inventory_bulkRankUpSuits"></button>
 | 
				
			||||||
 | 
				
			|||||||
@ -773,9 +773,6 @@ function updateInventory() {
 | 
				
			|||||||
            document.getElementById("typeName-tab").classList.remove("active");
 | 
					            document.getElementById("typeName-tab").classList.remove("active");
 | 
				
			||||||
            document.getElementById("typeName-tab-content").classList.remove("active", "show");
 | 
					            document.getElementById("typeName-tab-content").classList.remove("active", "show");
 | 
				
			||||||
            document.getElementById("typeName-type").value = "";
 | 
					            document.getElementById("typeName-type").value = "";
 | 
				
			||||||
            document.getElementById("typeName-productCategory").value = "";
 | 
					 | 
				
			||||||
            document.getElementById("typeName-count").value = 1;
 | 
					 | 
				
			||||||
            document.getElementById("typeName-count").disabled = true;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            document.getElementById("miscItems-tab").classList.add("active");
 | 
					            document.getElementById("miscItems-tab").classList.add("active");
 | 
				
			||||||
            document.getElementById("miscItems-tab-content").classList.add("active", "show");
 | 
					            document.getElementById("miscItems-tab-content").classList.add("active", "show");
 | 
				
			||||||
@ -2180,15 +2177,6 @@ function removeCustomization(uniqueName) {
 | 
				
			|||||||
    });
 | 
					    });
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function removeIsNew() {
 | 
					 | 
				
			||||||
    revalidateAuthz().then(() => {
 | 
					 | 
				
			||||||
        const req = $.get("/custom/removeIsNew?" + window.authz);
 | 
					 | 
				
			||||||
        req.done(() => {
 | 
					 | 
				
			||||||
            updateInventory();
 | 
					 | 
				
			||||||
        });
 | 
					 | 
				
			||||||
    });
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function getRequiredParts(category, WeaponType) {
 | 
					function getRequiredParts(category, WeaponType) {
 | 
				
			||||||
    switch (category) {
 | 
					    switch (category) {
 | 
				
			||||||
        case "Hoverboards":
 | 
					        case "Hoverboards":
 | 
				
			||||||
@ -2968,48 +2956,27 @@ function removeCountItems(uniqueName, count) {
 | 
				
			|||||||
    });
 | 
					    });
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
document.getElementById("typeName-productCategory").onchange = function () {
 | 
					 | 
				
			||||||
    const productCategory = document.getElementById("typeName-productCategory").value;
 | 
					 | 
				
			||||||
    const ItemCount = document.getElementById("typeName-count");
 | 
					 | 
				
			||||||
    if (["MiscItems", "RawUpgrades", "ShipDecorations"].includes(productCategory)) {
 | 
					 | 
				
			||||||
        ItemCount.disabled = false;
 | 
					 | 
				
			||||||
    } else {
 | 
					 | 
				
			||||||
        ItemCount.disabled = true;
 | 
					 | 
				
			||||||
        ItemCount.value = 1;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function addItemByItemType() {
 | 
					function addItemByItemType() {
 | 
				
			||||||
    const ItemType = document.getElementById("typeName-type").value;
 | 
					    const ItemType = document.getElementById("typeName-type").value;
 | 
				
			||||||
    const productCategory = document.getElementById("typeName-productCategory");
 | 
					 | 
				
			||||||
    const ItemCount = document.getElementById("typeName-count");
 | 
					 | 
				
			||||||
    // Must start with "/Lotus/", contain only letters A–Z, digits 0–9, no "//", and not end with "/"
 | 
					    // Must start with "/Lotus/", contain only letters A–Z, digits 0–9, no "//", and not end with "/"
 | 
				
			||||||
    if (!ItemType || !/^\/Lotus\/(?:[A-Za-z0-9]+(?:\/[A-Za-z0-9]+)*)$/.test(ItemType)) {
 | 
					    if (!ItemType || !/^\/Lotus\/(?:[A-Za-z0-9]+(?:\/[A-Za-z0-9]+)*)$/.test(ItemType)) {
 | 
				
			||||||
        $("#typeName-type").addClass("is-invalid").focus();
 | 
					        $("#typeName-type").addClass("is-invalid").focus();
 | 
				
			||||||
        return;
 | 
					        return;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    let url = "/custom/addItems?" + window.authz;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if (productCategory.value) {
 | 
					 | 
				
			||||||
        url += "&productCategory=" + productCategory.value;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    revalidateAuthz().then(() => {
 | 
					    revalidateAuthz().then(() => {
 | 
				
			||||||
        $.post({
 | 
					        $.post({
 | 
				
			||||||
            url,
 | 
					            url: "/custom/addItems?" + window.authz,
 | 
				
			||||||
            contentType: "application/json",
 | 
					            contentType: "application/json",
 | 
				
			||||||
            data: JSON.stringify([
 | 
					            data: JSON.stringify([
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    ItemType,
 | 
					                    ItemType,
 | 
				
			||||||
                    ItemCount: ItemCount.value
 | 
					                    ItemCount: 1
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            ])
 | 
					            ])
 | 
				
			||||||
        })
 | 
					        })
 | 
				
			||||||
            .done(function (_, __, jqXHR) {
 | 
					            .done(function (_, _, jqXHR) {
 | 
				
			||||||
                if (jqXHR.status === 200) {
 | 
					                if (jqXHR.status === 200) {
 | 
				
			||||||
                    updateInventory();
 | 
					                    updateInventory();
 | 
				
			||||||
                    productCategory.value = "";
 | 
					 | 
				
			||||||
                    ItemCount.disabled = true;
 | 
					 | 
				
			||||||
                    ItemCount.value = 1;
 | 
					 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            })
 | 
					            })
 | 
				
			||||||
            .fail(function () {
 | 
					            .fail(function () {
 | 
				
			||||||
 | 
				
			|||||||
@ -98,7 +98,6 @@ dict = {
 | 
				
			|||||||
    inventory_addItems: `Gegenstände hinzufügen`,
 | 
					    inventory_addItems: `Gegenstände hinzufügen`,
 | 
				
			||||||
    inventory_addItemByItemType: `Roh`,
 | 
					    inventory_addItemByItemType: `Roh`,
 | 
				
			||||||
    inventory_addItemByItemType_warning: `Verwende diese Funktion auf eigene Gefahr. Sie kann dein Inventar beschädigen und du musst Gegenstände manuell entfernen, falls etwas schiefgeht.`,
 | 
					    inventory_addItemByItemType_warning: `Verwende diese Funktion auf eigene Gefahr. Sie kann dein Inventar beschädigen und du musst Gegenstände manuell entfernen, falls etwas schiefgeht.`,
 | 
				
			||||||
    inventory_addItemByItemType_productCategory: `[UNTRANSLATED] You can also specify <code>productCategory</code>, some of which will allow you to change the number of items added.`,
 | 
					 | 
				
			||||||
    inventory_suits: `Warframes`,
 | 
					    inventory_suits: `Warframes`,
 | 
				
			||||||
    inventory_longGuns: `Primärwaffen`,
 | 
					    inventory_longGuns: `Primärwaffen`,
 | 
				
			||||||
    inventory_pistols: `Sekundärwaffen`,
 | 
					    inventory_pistols: `Sekundärwaffen`,
 | 
				
			||||||
@ -136,7 +135,6 @@ dict = {
 | 
				
			|||||||
    inventory_bulkRankUpSentinelWeapons: `Alle Wächter-Waffen auf Max. Rang`,
 | 
					    inventory_bulkRankUpSentinelWeapons: `Alle Wächter-Waffen auf Max. Rang`,
 | 
				
			||||||
    inventory_bulkRankUpEvolutionProgress: `Alle Incarnon-Entwicklungsfortschritte auf Max. Rang`,
 | 
					    inventory_bulkRankUpEvolutionProgress: `Alle Incarnon-Entwicklungsfortschritte auf Max. Rang`,
 | 
				
			||||||
    inventory_maxPlexus: `Plexus auf Max. Rang`,
 | 
					    inventory_maxPlexus: `Plexus auf Max. Rang`,
 | 
				
			||||||
    inventory_removeIsNew: `[UNTRANSLATED] Remove New Equipment Exclamation Icon`,
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    quests_list: `Quests`,
 | 
					    quests_list: `Quests`,
 | 
				
			||||||
    quests_completeAll: `Alle Quests abschließen`,
 | 
					    quests_completeAll: `Alle Quests abschließen`,
 | 
				
			||||||
@ -309,7 +307,6 @@ dict = {
 | 
				
			|||||||
    worldState_incompatibleWith: `Inkompatibel mit:`,
 | 
					    worldState_incompatibleWith: `Inkompatibel mit:`,
 | 
				
			||||||
    enabled: `Aktiviert`,
 | 
					    enabled: `Aktiviert`,
 | 
				
			||||||
    disabled: `Deaktiviert`,
 | 
					    disabled: `Deaktiviert`,
 | 
				
			||||||
    notSpecified: `[UNTRANSLATED] Not specified`,
 | 
					 | 
				
			||||||
    worldState_we1: `Wochenende 1`,
 | 
					    worldState_we1: `Wochenende 1`,
 | 
				
			||||||
    worldState_we2: `Wochenende 2`,
 | 
					    worldState_we2: `Wochenende 2`,
 | 
				
			||||||
    worldState_we3: `Wochenende 3`,
 | 
					    worldState_we3: `Wochenende 3`,
 | 
				
			||||||
 | 
				
			|||||||
@ -97,7 +97,6 @@ dict = {
 | 
				
			|||||||
    inventory_addItems: `Add Items`,
 | 
					    inventory_addItems: `Add Items`,
 | 
				
			||||||
    inventory_addItemByItemType: `Raw`,
 | 
					    inventory_addItemByItemType: `Raw`,
 | 
				
			||||||
    inventory_addItemByItemType_warning: `Use this feature at your own risk. It may break your inventory, and you will need to remove items manually if something goes wrong.`,
 | 
					    inventory_addItemByItemType_warning: `Use this feature at your own risk. It may break your inventory, and you will need to remove items manually if something goes wrong.`,
 | 
				
			||||||
    inventory_addItemByItemType_productCategory: `You can also specify <code>productCategory</code>, some of which will allow you to change the number of items added.`,
 | 
					 | 
				
			||||||
    inventory_suits: `Warframes`,
 | 
					    inventory_suits: `Warframes`,
 | 
				
			||||||
    inventory_longGuns: `Primary Weapons`,
 | 
					    inventory_longGuns: `Primary Weapons`,
 | 
				
			||||||
    inventory_pistols: `Secondary Weapons`,
 | 
					    inventory_pistols: `Secondary Weapons`,
 | 
				
			||||||
@ -135,7 +134,6 @@ dict = {
 | 
				
			|||||||
    inventory_bulkRankUpSentinelWeapons: `Max Rank All Sentinel Weapons`,
 | 
					    inventory_bulkRankUpSentinelWeapons: `Max Rank All Sentinel Weapons`,
 | 
				
			||||||
    inventory_bulkRankUpEvolutionProgress: `Max Rank All Incarnon Evolution Progress`,
 | 
					    inventory_bulkRankUpEvolutionProgress: `Max Rank All Incarnon Evolution Progress`,
 | 
				
			||||||
    inventory_maxPlexus: `Max Rank Plexus`,
 | 
					    inventory_maxPlexus: `Max Rank Plexus`,
 | 
				
			||||||
    inventory_removeIsNew: `Remove New Equipment Exclamation Icon`,
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    quests_list: `Quests`,
 | 
					    quests_list: `Quests`,
 | 
				
			||||||
    quests_completeAll: `Complete All Quests`,
 | 
					    quests_completeAll: `Complete All Quests`,
 | 
				
			||||||
@ -308,7 +306,6 @@ dict = {
 | 
				
			|||||||
    worldState_incompatibleWith: `Incompatible with:`,
 | 
					    worldState_incompatibleWith: `Incompatible with:`,
 | 
				
			||||||
    enabled: `Enabled`,
 | 
					    enabled: `Enabled`,
 | 
				
			||||||
    disabled: `Disabled`,
 | 
					    disabled: `Disabled`,
 | 
				
			||||||
    notSpecified: `Not specified`,
 | 
					 | 
				
			||||||
    worldState_we1: `Weekend 1`,
 | 
					    worldState_we1: `Weekend 1`,
 | 
				
			||||||
    worldState_we2: `Weekend 2`,
 | 
					    worldState_we2: `Weekend 2`,
 | 
				
			||||||
    worldState_we3: `Weekend 3`,
 | 
					    worldState_we3: `Weekend 3`,
 | 
				
			||||||
 | 
				
			|||||||
@ -98,7 +98,6 @@ dict = {
 | 
				
			|||||||
    inventory_addItems: `Agregar objetos`,
 | 
					    inventory_addItems: `Agregar objetos`,
 | 
				
			||||||
    inventory_addItemByItemType: `Sin refinar`,
 | 
					    inventory_addItemByItemType: `Sin refinar`,
 | 
				
			||||||
    inventory_addItemByItemType_warning: `Usa esta función bajo tu propio riesgo. Podría dañar tu inventario, y tendrías que eliminar los objetos manualmente si algo sale mal.`,
 | 
					    inventory_addItemByItemType_warning: `Usa esta función bajo tu propio riesgo. Podría dañar tu inventario, y tendrías que eliminar los objetos manualmente si algo sale mal.`,
 | 
				
			||||||
    inventory_addItemByItemType_productCategory: `[UNTRANSLATED] You can also specify <code>productCategory</code>, some of which will allow you to change the number of items added.`,
 | 
					 | 
				
			||||||
    inventory_suits: `Warframes`,
 | 
					    inventory_suits: `Warframes`,
 | 
				
			||||||
    inventory_longGuns: `Armas primarias`,
 | 
					    inventory_longGuns: `Armas primarias`,
 | 
				
			||||||
    inventory_pistols: `Armas secundarias`,
 | 
					    inventory_pistols: `Armas secundarias`,
 | 
				
			||||||
@ -136,7 +135,6 @@ dict = {
 | 
				
			|||||||
    inventory_bulkRankUpSentinelWeapons: `Maximizar rango de todas las armas de centinela`,
 | 
					    inventory_bulkRankUpSentinelWeapons: `Maximizar rango de todas las armas de centinela`,
 | 
				
			||||||
    inventory_bulkRankUpEvolutionProgress: `Maximizar todo el progreso de evolución Incarnon`,
 | 
					    inventory_bulkRankUpEvolutionProgress: `Maximizar todo el progreso de evolución Incarnon`,
 | 
				
			||||||
    inventory_maxPlexus: `Rango máximo de Plexus`,
 | 
					    inventory_maxPlexus: `Rango máximo de Plexus`,
 | 
				
			||||||
    inventory_removeIsNew: `[UNTRANSLATED] Remove New Equipment Exclamation Icon`,
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    quests_list: `Misiones`,
 | 
					    quests_list: `Misiones`,
 | 
				
			||||||
    quests_completeAll: `Completar todas las misiones`,
 | 
					    quests_completeAll: `Completar todas las misiones`,
 | 
				
			||||||
@ -309,7 +307,6 @@ dict = {
 | 
				
			|||||||
    worldState_incompatibleWith: `No compatible con:`,
 | 
					    worldState_incompatibleWith: `No compatible con:`,
 | 
				
			||||||
    enabled: `Activado`,
 | 
					    enabled: `Activado`,
 | 
				
			||||||
    disabled: `Desactivado`,
 | 
					    disabled: `Desactivado`,
 | 
				
			||||||
    notSpecified: `[UNTRANSLATED] Not specified`,
 | 
					 | 
				
			||||||
    worldState_we1: `Semana 1`,
 | 
					    worldState_we1: `Semana 1`,
 | 
				
			||||||
    worldState_we2: `Semana 2`,
 | 
					    worldState_we2: `Semana 2`,
 | 
				
			||||||
    worldState_we3: `Semana 3`,
 | 
					    worldState_we3: `Semana 3`,
 | 
				
			||||||
 | 
				
			|||||||
@ -98,7 +98,6 @@ dict = {
 | 
				
			|||||||
    inventory_addItems: `Ajouter des items`,
 | 
					    inventory_addItems: `Ajouter des items`,
 | 
				
			||||||
    inventory_addItemByItemType: `Brut`,
 | 
					    inventory_addItemByItemType: `Brut`,
 | 
				
			||||||
    inventory_addItemByItemType_warning: `Cette fonctionnalité comporte des risques. Il faudra rajouter les items manuellement si l'inventaire est compris.`,
 | 
					    inventory_addItemByItemType_warning: `Cette fonctionnalité comporte des risques. Il faudra rajouter les items manuellement si l'inventaire est compris.`,
 | 
				
			||||||
    inventory_addItemByItemType_productCategory: `[UNTRANSLATED] You can also specify <code>productCategory</code>, some of which will allow you to change the number of items added.`,
 | 
					 | 
				
			||||||
    inventory_suits: `Warframes`,
 | 
					    inventory_suits: `Warframes`,
 | 
				
			||||||
    inventory_longGuns: `Armes principales`,
 | 
					    inventory_longGuns: `Armes principales`,
 | 
				
			||||||
    inventory_pistols: `Armes secondaires`,
 | 
					    inventory_pistols: `Armes secondaires`,
 | 
				
			||||||
@ -136,7 +135,6 @@ dict = {
 | 
				
			|||||||
    inventory_bulkRankUpSentinelWeapons: `Toutes les armes de Sentinelles au rang max`,
 | 
					    inventory_bulkRankUpSentinelWeapons: `Toutes les armes de Sentinelles au rang max`,
 | 
				
			||||||
    inventory_bulkRankUpEvolutionProgress: `Toutes les évolutions Incarnon au rang max`,
 | 
					    inventory_bulkRankUpEvolutionProgress: `Toutes les évolutions Incarnon au rang max`,
 | 
				
			||||||
    inventory_maxPlexus: `Plexus au rang max`,
 | 
					    inventory_maxPlexus: `Plexus au rang max`,
 | 
				
			||||||
    inventory_removeIsNew: `[UNTRANSLATED] Remove New Equipment Exclamation Icon`,
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    quests_list: `Quêtes`,
 | 
					    quests_list: `Quêtes`,
 | 
				
			||||||
    quests_completeAll: `Compléter toutes les quêtes`,
 | 
					    quests_completeAll: `Compléter toutes les quêtes`,
 | 
				
			||||||
@ -309,7 +307,6 @@ dict = {
 | 
				
			|||||||
    worldState_incompatibleWith: `Incompatible avec :`,
 | 
					    worldState_incompatibleWith: `Incompatible avec :`,
 | 
				
			||||||
    enabled: `Activé`,
 | 
					    enabled: `Activé`,
 | 
				
			||||||
    disabled: `Désactivé`,
 | 
					    disabled: `Désactivé`,
 | 
				
			||||||
    notSpecified: `[UNTRANSLATED] Not specified`,
 | 
					 | 
				
			||||||
    worldState_we1: `Weekend 1`,
 | 
					    worldState_we1: `Weekend 1`,
 | 
				
			||||||
    worldState_we2: `Weekend 2`,
 | 
					    worldState_we2: `Weekend 2`,
 | 
				
			||||||
    worldState_we3: `Weekend 3`,
 | 
					    worldState_we3: `Weekend 3`,
 | 
				
			||||||
 | 
				
			|||||||
@ -98,7 +98,6 @@ dict = {
 | 
				
			|||||||
    inventory_addItems: `Добавить предметы`,
 | 
					    inventory_addItems: `Добавить предметы`,
 | 
				
			||||||
    inventory_addItemByItemType: `Необработанные данные`,
 | 
					    inventory_addItemByItemType: `Необработанные данные`,
 | 
				
			||||||
    inventory_addItemByItemType_warning: `Используйте эту функцию на свой страх и риск. Она может повредить ваш инвентарь, и в случае проблем вам придётся удалять предметы вручную.`,
 | 
					    inventory_addItemByItemType_warning: `Используйте эту функцию на свой страх и риск. Она может повредить ваш инвентарь, и в случае проблем вам придётся удалять предметы вручную.`,
 | 
				
			||||||
    inventory_addItemByItemType_productCategory: `Вы также можете указать <code>productCategory</code>, некоторые из них позволят вам изменить количество добавленных преметов.`,
 | 
					 | 
				
			||||||
    inventory_suits: `Варфреймы`,
 | 
					    inventory_suits: `Варфреймы`,
 | 
				
			||||||
    inventory_longGuns: `Основное оружие`,
 | 
					    inventory_longGuns: `Основное оружие`,
 | 
				
			||||||
    inventory_pistols: `Вторичное оружие`,
 | 
					    inventory_pistols: `Вторичное оружие`,
 | 
				
			||||||
@ -136,7 +135,6 @@ dict = {
 | 
				
			|||||||
    inventory_bulkRankUpSentinelWeapons: `Макс. ранг всего оружия Стражей`,
 | 
					    inventory_bulkRankUpSentinelWeapons: `Макс. ранг всего оружия Стражей`,
 | 
				
			||||||
    inventory_bulkRankUpEvolutionProgress: `Макс. ранг всех эволюций Инкарнонов`,
 | 
					    inventory_bulkRankUpEvolutionProgress: `Макс. ранг всех эволюций Инкарнонов`,
 | 
				
			||||||
    inventory_maxPlexus: `Макс. ранг Плексуса`,
 | 
					    inventory_maxPlexus: `Макс. ранг Плексуса`,
 | 
				
			||||||
    inventory_removeIsNew: `Удалить значок восклицательного знака нового снаряжения`,
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    quests_list: `Квесты`,
 | 
					    quests_list: `Квесты`,
 | 
				
			||||||
    quests_completeAll: `Завершить все квесты`,
 | 
					    quests_completeAll: `Завершить все квесты`,
 | 
				
			||||||
@ -309,7 +307,6 @@ dict = {
 | 
				
			|||||||
    worldState_incompatibleWith: `Несовместимо с:`,
 | 
					    worldState_incompatibleWith: `Несовместимо с:`,
 | 
				
			||||||
    enabled: `Включено`,
 | 
					    enabled: `Включено`,
 | 
				
			||||||
    disabled: `Отключено`,
 | 
					    disabled: `Отключено`,
 | 
				
			||||||
    notSpecified: `Не указано`,
 | 
					 | 
				
			||||||
    worldState_we1: `Выходные 1`,
 | 
					    worldState_we1: `Выходные 1`,
 | 
				
			||||||
    worldState_we2: `Выходные 2`,
 | 
					    worldState_we2: `Выходные 2`,
 | 
				
			||||||
    worldState_we3: `Выходные 3`,
 | 
					    worldState_we3: `Выходные 3`,
 | 
				
			||||||
 | 
				
			|||||||
@ -98,7 +98,6 @@ dict = {
 | 
				
			|||||||
    inventory_addItems: `Додати предмети`,
 | 
					    inventory_addItems: `Додати предмети`,
 | 
				
			||||||
    inventory_addItemByItemType: `Необроблені дані`,
 | 
					    inventory_addItemByItemType: `Необроблені дані`,
 | 
				
			||||||
    inventory_addItemByItemType_warning: `Використовуйте цю функцію на власний ризик. Вона може пошкодити ваше спорядження, і вам доведеться видаляти предмети вручну, якщо щось піде не так.`,
 | 
					    inventory_addItemByItemType_warning: `Використовуйте цю функцію на власний ризик. Вона може пошкодити ваше спорядження, і вам доведеться видаляти предмети вручну, якщо щось піде не так.`,
 | 
				
			||||||
    inventory_addItemByItemType_productCategory: `[UNTRANSLATED] You can also specify <code>productCategory</code>, some of which will allow you to change the number of items added.`,
 | 
					 | 
				
			||||||
    inventory_suits: `Ворфрейми`,
 | 
					    inventory_suits: `Ворфрейми`,
 | 
				
			||||||
    inventory_longGuns: `Основна зброя`,
 | 
					    inventory_longGuns: `Основна зброя`,
 | 
				
			||||||
    inventory_pistols: `Допоміжна зброя`,
 | 
					    inventory_pistols: `Допоміжна зброя`,
 | 
				
			||||||
@ -136,7 +135,6 @@ dict = {
 | 
				
			|||||||
    inventory_bulkRankUpSentinelWeapons: `Макс. рівень всієї зброї Вартових`,
 | 
					    inventory_bulkRankUpSentinelWeapons: `Макс. рівень всієї зброї Вартових`,
 | 
				
			||||||
    inventory_bulkRankUpEvolutionProgress: `Макс. рівень всіх еволюцій Інкарнонів`,
 | 
					    inventory_bulkRankUpEvolutionProgress: `Макс. рівень всіх еволюцій Інкарнонів`,
 | 
				
			||||||
    inventory_maxPlexus: `Макс. рівень Плексу`,
 | 
					    inventory_maxPlexus: `Макс. рівень Плексу`,
 | 
				
			||||||
    inventory_removeIsNew: `[UNTRANSLATED] Remove New Equipment Exclamation Icon`,
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    quests_list: `Пригоди`,
 | 
					    quests_list: `Пригоди`,
 | 
				
			||||||
    quests_completeAll: `Закінчити всі пригоди`,
 | 
					    quests_completeAll: `Закінчити всі пригоди`,
 | 
				
			||||||
@ -309,7 +307,6 @@ dict = {
 | 
				
			|||||||
    worldState_incompatibleWith: `Несумісне з:`,
 | 
					    worldState_incompatibleWith: `Несумісне з:`,
 | 
				
			||||||
    enabled: `Увімкнено`,
 | 
					    enabled: `Увімкнено`,
 | 
				
			||||||
    disabled: `Вимкнено`,
 | 
					    disabled: `Вимкнено`,
 | 
				
			||||||
    notSpecified: `[UNTRANSLATED] Not specified`,
 | 
					 | 
				
			||||||
    worldState_we1: `Вихідні 1`,
 | 
					    worldState_we1: `Вихідні 1`,
 | 
				
			||||||
    worldState_we2: `Вихідні 2`,
 | 
					    worldState_we2: `Вихідні 2`,
 | 
				
			||||||
    worldState_we3: `Вихідні 3`,
 | 
					    worldState_we3: `Вихідні 3`,
 | 
				
			||||||
 | 
				
			|||||||
@ -98,7 +98,6 @@ dict = {
 | 
				
			|||||||
    inventory_addItems: `添加物品`,
 | 
					    inventory_addItems: `添加物品`,
 | 
				
			||||||
    inventory_addItemByItemType: `[UNTRANSLATED] Raw`,
 | 
					    inventory_addItemByItemType: `[UNTRANSLATED] Raw`,
 | 
				
			||||||
    inventory_addItemByItemType_warning: `[UNTRANSLATED] Use this feature at your own risk. It may break your inventory, and you will need to remove items manually if something goes wrong.`,
 | 
					    inventory_addItemByItemType_warning: `[UNTRANSLATED] Use this feature at your own risk. It may break your inventory, and you will need to remove items manually if something goes wrong.`,
 | 
				
			||||||
    inventory_addItemByItemType_productCategory: `[UNTRANSLATED] You can also specify <code>productCategory</code>, some of which will allow you to change the number of items added.`,
 | 
					 | 
				
			||||||
    inventory_suits: `战甲`,
 | 
					    inventory_suits: `战甲`,
 | 
				
			||||||
    inventory_longGuns: `主要武器`,
 | 
					    inventory_longGuns: `主要武器`,
 | 
				
			||||||
    inventory_pistols: `次要武器`,
 | 
					    inventory_pistols: `次要武器`,
 | 
				
			||||||
@ -136,7 +135,6 @@ dict = {
 | 
				
			|||||||
    inventory_bulkRankUpSentinelWeapons: `所有守护武器升满级`,
 | 
					    inventory_bulkRankUpSentinelWeapons: `所有守护武器升满级`,
 | 
				
			||||||
    inventory_bulkRankUpEvolutionProgress: `所有灵化之源进度最大等级`,
 | 
					    inventory_bulkRankUpEvolutionProgress: `所有灵化之源进度最大等级`,
 | 
				
			||||||
    inventory_maxPlexus: `最大深控等级`,
 | 
					    inventory_maxPlexus: `最大深控等级`,
 | 
				
			||||||
    inventory_removeIsNew: `[UNTRANSLATED] Remove New Equipment Exclamation Icon`,
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    quests_list: `系列任务`,
 | 
					    quests_list: `系列任务`,
 | 
				
			||||||
    quests_completeAll: `完成所有任务`,
 | 
					    quests_completeAll: `完成所有任务`,
 | 
				
			||||||
@ -309,7 +307,6 @@ dict = {
 | 
				
			|||||||
    worldState_incompatibleWith: `不兼容的活动:`,
 | 
					    worldState_incompatibleWith: `不兼容的活动:`,
 | 
				
			||||||
    enabled: `启用`,
 | 
					    enabled: `启用`,
 | 
				
			||||||
    disabled: `关闭/取消配置`,
 | 
					    disabled: `关闭/取消配置`,
 | 
				
			||||||
    notSpecified: `[UNTRANSLATED] Not specified`,
 | 
					 | 
				
			||||||
    worldState_we1: `活动阶段:第一周`,
 | 
					    worldState_we1: `活动阶段:第一周`,
 | 
				
			||||||
    worldState_we2: `活动阶段:第二周`,
 | 
					    worldState_we2: `活动阶段:第二周`,
 | 
				
			||||||
    worldState_we3: `活动阶段:第三周`,
 | 
					    worldState_we3: `活动阶段:第三周`,
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user