forked from OpenWF/SpaceNinjaServer
Compare commits
12 Commits
987b5b98ff
...
64b43fcccf
Author | SHA1 | Date | |
---|---|---|---|
64b43fcccf | |||
e407262cf8 | |||
00e57c43df | |||
2ab9f39507 | |||
b60723ef54 | |||
b3bf291d10 | |||
db86e2d265 | |||
f6cb8414c1 | |||
ba3df4bdbc | |||
8feb3a5b3c | |||
66f3d65d77 | |||
b18f06087b |
@ -1,5 +1,6 @@
|
|||||||
import { RequestHandler } from "express";
|
import { RequestHandler } from "express";
|
||||||
import { getAccountIdForRequest } from "@/src/services/loginService";
|
import { getAccountIdForRequest } from "@/src/services/loginService";
|
||||||
|
import { sendWsBroadcastTo } from "@/src/services/wsService";
|
||||||
import { getJSONfromString } from "@/src/helpers/stringHelpers";
|
import { getJSONfromString } from "@/src/helpers/stringHelpers";
|
||||||
import { addMiscItems, getInventory } from "@/src/services/inventoryService";
|
import { addMiscItems, getInventory } from "@/src/services/inventoryService";
|
||||||
import { TEquipmentKey } from "@/src/types/inventoryTypes/inventoryTypes";
|
import { TEquipmentKey } from "@/src/types/inventoryTypes/inventoryTypes";
|
||||||
@ -73,4 +74,5 @@ export const gildWeaponController: RequestHandler = async (req, res) => {
|
|||||||
InventoryChanges: inventoryChanges,
|
InventoryChanges: inventoryChanges,
|
||||||
AffiliationMods: affiliationMods
|
AffiliationMods: affiliationMods
|
||||||
});
|
});
|
||||||
|
sendWsBroadcastTo(accountId, { update_inventory: true });
|
||||||
};
|
};
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import { RequestHandler } from "express";
|
import { RequestHandler } from "express";
|
||||||
import { getAccountIdForRequest } from "@/src/services/loginService";
|
import { getAccountIdForRequest } from "@/src/services/loginService";
|
||||||
|
import { sendWsBroadcastTo } from "@/src/services/wsService";
|
||||||
import { getJSONfromString } from "@/src/helpers/stringHelpers";
|
import { getJSONfromString } from "@/src/helpers/stringHelpers";
|
||||||
import {
|
import {
|
||||||
getInventory,
|
getInventory,
|
||||||
@ -194,4 +195,5 @@ export const modularWeaponCraftingController: RequestHandler = async (req, res)
|
|||||||
MiscItems: miscItemChanges
|
MiscItems: miscItemChanges
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
sendWsBroadcastTo(accountId, { update_inventory: true });
|
||||||
};
|
};
|
||||||
|
@ -15,6 +15,7 @@ import {
|
|||||||
} from "@/src/services/inventoryService";
|
} from "@/src/services/inventoryService";
|
||||||
import { getDefaultUpgrades } from "@/src/services/itemDataService";
|
import { getDefaultUpgrades } from "@/src/services/itemDataService";
|
||||||
import { getAccountIdForRequest } from "@/src/services/loginService";
|
import { getAccountIdForRequest } from "@/src/services/loginService";
|
||||||
|
import { sendWsBroadcastTo } from "@/src/services/wsService";
|
||||||
import { modularWeaponTypes } from "@/src/helpers/modularWeaponHelper";
|
import { modularWeaponTypes } from "@/src/helpers/modularWeaponHelper";
|
||||||
import { IInventoryChanges } from "@/src/types/purchaseTypes";
|
import { IInventoryChanges } from "@/src/types/purchaseTypes";
|
||||||
import { EquipmentFeatures } from "@/src/types/equipmentTypes";
|
import { EquipmentFeatures } from "@/src/types/equipmentTypes";
|
||||||
@ -68,6 +69,7 @@ export const modularWeaponSaleController: RequestHandler = async (req, res) => {
|
|||||||
res.json({
|
res.json({
|
||||||
InventoryChanges: inventoryChanges
|
InventoryChanges: inventoryChanges
|
||||||
});
|
});
|
||||||
|
sendWsBroadcastTo(accountId, { update_inventory: true });
|
||||||
} else {
|
} else {
|
||||||
throw new Error(`unknown modularWeaponSale op: ${String(req.query.op)}`);
|
throw new Error(`unknown modularWeaponSale op: ${String(req.query.op)}`);
|
||||||
}
|
}
|
||||||
|
@ -16,7 +16,8 @@ export const playerSkillsController: RequestHandler = async (req, res) => {
|
|||||||
inventory.PlayerSkills[request.Skill as keyof IPlayerSkills]++;
|
inventory.PlayerSkills[request.Skill as keyof IPlayerSkills]++;
|
||||||
|
|
||||||
const inventoryChanges: IInventoryChanges = {};
|
const inventoryChanges: IInventoryChanges = {};
|
||||||
if (request.Skill == "LPS_COMMAND" && inventory.PlayerSkills.LPS_COMMAND == 9) {
|
if (request.Skill == "LPS_COMMAND") {
|
||||||
|
if (inventory.PlayerSkills.LPS_COMMAND == 9) {
|
||||||
const consumablesChanges = [
|
const consumablesChanges = [
|
||||||
{
|
{
|
||||||
ItemType: "/Lotus/Types/Restoratives/Consumable/CrewmateBall",
|
ItemType: "/Lotus/Types/Restoratives/Consumable/CrewmateBall",
|
||||||
@ -26,6 +27,18 @@ export const playerSkillsController: RequestHandler = async (req, res) => {
|
|||||||
addConsumables(inventory, consumablesChanges);
|
addConsumables(inventory, consumablesChanges);
|
||||||
inventoryChanges.Consumables = consumablesChanges;
|
inventoryChanges.Consumables = consumablesChanges;
|
||||||
}
|
}
|
||||||
|
} else if (request.Skill == "LPS_DRIFT_RIDING") {
|
||||||
|
if (inventory.PlayerSkills.LPS_DRIFT_RIDING == 9) {
|
||||||
|
const consumablesChanges = [
|
||||||
|
{
|
||||||
|
ItemType: "/Lotus/Types/Restoratives/ErsatzSummon",
|
||||||
|
ItemCount: 1
|
||||||
|
}
|
||||||
|
];
|
||||||
|
addConsumables(inventory, consumablesChanges);
|
||||||
|
inventoryChanges.Consumables = consumablesChanges;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
await inventory.save();
|
await inventory.save();
|
||||||
res.json({
|
res.json({
|
||||||
|
@ -11,7 +11,7 @@ export const projectionManagerController: RequestHandler = async (req, res) => {
|
|||||||
const [era, category, currentQuality] = parseProjection(request.projectionType);
|
const [era, category, currentQuality] = parseProjection(request.projectionType);
|
||||||
const upgradeCost = config.dontSubtractVoidTraces
|
const upgradeCost = config.dontSubtractVoidTraces
|
||||||
? 0
|
? 0
|
||||||
: (request.qualityTag - qualityKeywordToNumber[currentQuality]) * 25;
|
: qualityNumberToCost[request.qualityTag] - qualityNumberToCost[qualityKeywordToNumber[currentQuality]];
|
||||||
const newProjectionType = findProjection(era, category, qualityNumberToKeyword[request.qualityTag]);
|
const newProjectionType = findProjection(era, category, qualityNumberToKeyword[request.qualityTag]);
|
||||||
addMiscItems(inventory, [
|
addMiscItems(inventory, [
|
||||||
{
|
{
|
||||||
@ -49,6 +49,7 @@ const qualityKeywordToNumber: Record<VoidProjectionQuality, number> = {
|
|||||||
VPQ_GOLD: 2,
|
VPQ_GOLD: 2,
|
||||||
VPQ_PLATINUM: 3
|
VPQ_PLATINUM: 3
|
||||||
};
|
};
|
||||||
|
const qualityNumberToCost = [0, 25, 50, 100];
|
||||||
|
|
||||||
// e.g. "/Lotus/Types/Game/Projections/T2VoidProjectionProteaPrimeDBronze" -> ["Lith", "W5", "VPQ_BRONZE"]
|
// e.g. "/Lotus/Types/Game/Projections/T2VoidProjectionProteaPrimeDBronze" -> ["Lith", "W5", "VPQ_BRONZE"]
|
||||||
const parseProjection = (typeName: string): [string, string, VoidProjectionQuality] => {
|
const parseProjection = (typeName: string): [string, string, VoidProjectionQuality] => {
|
||||||
|
@ -0,0 +1,34 @@
|
|||||||
|
import { getAccountIdForRequest } from "@/src/services/loginService";
|
||||||
|
import { getInventory } from "@/src/services/inventoryService";
|
||||||
|
import { RequestHandler } from "express";
|
||||||
|
|
||||||
|
const DEFAULT_UPGRADE_EXPIRY_MS = 7 * 24 * 60 * 60 * 1000; // 7 days
|
||||||
|
|
||||||
|
export const editSuitInvigorationUpgradeController: RequestHandler = async (req, res) => {
|
||||||
|
const accountId = await getAccountIdForRequest(req);
|
||||||
|
const { oid, data } = req.body as {
|
||||||
|
oid: string;
|
||||||
|
data?: {
|
||||||
|
DefensiveUpgrade: string;
|
||||||
|
OffensiveUpgrade: string;
|
||||||
|
UpgradesExpiry?: number;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
const inventory = await getInventory(accountId);
|
||||||
|
const suit = inventory.Suits.id(oid)!;
|
||||||
|
if (data) {
|
||||||
|
suit.DefensiveUpgrade = data.DefensiveUpgrade;
|
||||||
|
suit.OffensiveUpgrade = data.OffensiveUpgrade;
|
||||||
|
if (data.UpgradesExpiry) {
|
||||||
|
suit.UpgradesExpiry = new Date(data.UpgradesExpiry);
|
||||||
|
} else {
|
||||||
|
suit.UpgradesExpiry = new Date(Date.now() + DEFAULT_UPGRADE_EXPIRY_MS);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
suit.DefensiveUpgrade = undefined;
|
||||||
|
suit.OffensiveUpgrade = undefined;
|
||||||
|
suit.UpgradesExpiry = undefined;
|
||||||
|
}
|
||||||
|
await inventory.save();
|
||||||
|
res.end();
|
||||||
|
};
|
@ -4,8 +4,12 @@ import { typeCountSchema } from "@/src/models/inventoryModels/inventoryModel";
|
|||||||
import { IMongoDate, IOid, ITypeCount } from "@/src/types/commonTypes";
|
import { IMongoDate, IOid, ITypeCount } from "@/src/types/commonTypes";
|
||||||
|
|
||||||
export interface IMessageClient
|
export interface IMessageClient
|
||||||
extends Omit<IMessageDatabase, "_id" | "date" | "startDate" | "endDate" | "ownerId" | "attVisualOnly" | "expiry"> {
|
extends Omit<
|
||||||
|
IMessageDatabase,
|
||||||
|
"_id" | "globaUpgradeId" | "date" | "startDate" | "endDate" | "ownerId" | "attVisualOnly" | "expiry"
|
||||||
|
> {
|
||||||
_id?: IOid;
|
_id?: IOid;
|
||||||
|
globaUpgradeId?: IOid; // [sic]
|
||||||
date: IMongoDate;
|
date: IMongoDate;
|
||||||
startDate?: IMongoDate;
|
startDate?: IMongoDate;
|
||||||
endDate?: IMongoDate;
|
endDate?: IMongoDate;
|
||||||
@ -14,6 +18,7 @@ export interface IMessageClient
|
|||||||
|
|
||||||
export interface IMessageDatabase extends IMessage {
|
export interface IMessageDatabase extends IMessage {
|
||||||
ownerId: Types.ObjectId;
|
ownerId: Types.ObjectId;
|
||||||
|
globaUpgradeId?: Types.ObjectId; // [sic]
|
||||||
date: Date; //created at
|
date: Date; //created at
|
||||||
attVisualOnly?: boolean;
|
attVisualOnly?: boolean;
|
||||||
_id: Types.ObjectId;
|
_id: Types.ObjectId;
|
||||||
@ -101,6 +106,7 @@ const giftSchema = new Schema<IGift>(
|
|||||||
const messageSchema = new Schema<IMessageDatabase>(
|
const messageSchema = new Schema<IMessageDatabase>(
|
||||||
{
|
{
|
||||||
ownerId: Schema.Types.ObjectId,
|
ownerId: Schema.Types.ObjectId,
|
||||||
|
globaUpgradeId: Schema.Types.ObjectId,
|
||||||
sndr: String,
|
sndr: String,
|
||||||
msg: String,
|
msg: String,
|
||||||
cinematic: String,
|
cinematic: String,
|
||||||
@ -154,6 +160,10 @@ messageSchema.set("toJSON", {
|
|||||||
delete returnedObject.attVisualOnly;
|
delete returnedObject.attVisualOnly;
|
||||||
delete returnedObject.expiry;
|
delete returnedObject.expiry;
|
||||||
|
|
||||||
|
if (messageDatabase.globaUpgradeId) {
|
||||||
|
messageClient.globaUpgradeId = toOid(messageDatabase.globaUpgradeId);
|
||||||
|
}
|
||||||
|
|
||||||
messageClient.date = toMongoDate(messageDatabase.date);
|
messageClient.date = toMongoDate(messageDatabase.date);
|
||||||
|
|
||||||
if (messageDatabase.startDate && messageDatabase.endDate) {
|
if (messageDatabase.startDate && messageDatabase.endDate) {
|
||||||
|
@ -26,6 +26,7 @@ import { setEvolutionProgressController } from "@/src/controllers/custom/setEvol
|
|||||||
import { setBoosterController } from "@/src/controllers/custom/setBoosterController";
|
import { setBoosterController } from "@/src/controllers/custom/setBoosterController";
|
||||||
import { updateFingerprintController } from "@/src/controllers/custom/updateFingerprintController";
|
import { updateFingerprintController } from "@/src/controllers/custom/updateFingerprintController";
|
||||||
import { changeModularPartsController } from "@/src/controllers/custom/changeModularPartsController";
|
import { changeModularPartsController } from "@/src/controllers/custom/changeModularPartsController";
|
||||||
|
import { editSuitInvigorationUpgradeController } from "@/src/controllers/custom/editSuitInvigorationUpgradeController";
|
||||||
|
|
||||||
import { getConfigController, setConfigController } from "@/src/controllers/custom/configController";
|
import { getConfigController, setConfigController } from "@/src/controllers/custom/configController";
|
||||||
|
|
||||||
@ -57,6 +58,7 @@ customRouter.post("/setEvolutionProgress", setEvolutionProgressController);
|
|||||||
customRouter.post("/setBooster", setBoosterController);
|
customRouter.post("/setBooster", setBoosterController);
|
||||||
customRouter.post("/updateFingerprint", updateFingerprintController);
|
customRouter.post("/updateFingerprint", updateFingerprintController);
|
||||||
customRouter.post("/changeModularParts", changeModularPartsController);
|
customRouter.post("/changeModularParts", changeModularPartsController);
|
||||||
|
customRouter.post("/editSuitInvigorationUpgrade", editSuitInvigorationUpgradeController);
|
||||||
|
|
||||||
customRouter.post("/getConfig", getConfigController);
|
customRouter.post("/getConfig", getConfigController);
|
||||||
customRouter.post("/setConfig", setConfigController);
|
customRouter.post("/setConfig", setConfigController);
|
||||||
|
@ -71,7 +71,17 @@ export const validateConfig = (): void => {
|
|||||||
|
|
||||||
export const syncConfigWithDatabase = (): void => {
|
export const syncConfigWithDatabase = (): void => {
|
||||||
// Event messages are deleted after endDate. Since we don't use beginDate/endDate and instead have config toggles, we need to delete the messages once those bools are false.
|
// Event messages are deleted after endDate. Since we don't use beginDate/endDate and instead have config toggles, we need to delete the messages once those bools are false.
|
||||||
|
// Also, for some reason, I can't just do `Inbox.deleteMany(...)`; - it needs this whole circus.
|
||||||
|
if (!config.worldState?.creditBoost) {
|
||||||
|
void Inbox.deleteMany({ globaUpgradeId: "5b23106f283a555109666672" }).then(() => {});
|
||||||
|
}
|
||||||
|
if (!config.worldState?.affinityBoost) {
|
||||||
|
void Inbox.deleteMany({ globaUpgradeId: "5b23106f283a555109666673" }).then(() => {});
|
||||||
|
}
|
||||||
|
if (!config.worldState?.resourceBoost) {
|
||||||
|
void Inbox.deleteMany({ globaUpgradeId: "5b23106f283a555109666674" }).then(() => {});
|
||||||
|
}
|
||||||
if (!config.worldState?.galleonOfGhouls) {
|
if (!config.worldState?.galleonOfGhouls) {
|
||||||
void Inbox.deleteMany({ goalTag: "GalleonRobbery" }).then(() => {}); // For some reason, I can't just do `Inbox.deleteMany(...)`; it needs this whole circus.
|
void Inbox.deleteMany({ goalTag: "GalleonRobbery" }).then(() => {});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -35,7 +35,7 @@ export const createNewEventMessages = async (req: Request): Promise<void> => {
|
|||||||
const baroIndex = Math.trunc((Date.now() - 910800000) / (unixTimesInMs.day * 14));
|
const baroIndex = Math.trunc((Date.now() - 910800000) / (unixTimesInMs.day * 14));
|
||||||
const baroStart = baroIndex * (unixTimesInMs.day * 14) + 910800000;
|
const baroStart = baroIndex * (unixTimesInMs.day * 14) + 910800000;
|
||||||
const baroActualStart = baroStart + unixTimesInMs.day * (config.baroAlwaysAvailable ? 0 : 12);
|
const baroActualStart = baroStart + unixTimesInMs.day * (config.baroAlwaysAvailable ? 0 : 12);
|
||||||
if (account.LatestEventMessageDate.getTime() < baroActualStart) {
|
if (Date.now() >= baroActualStart && account.LatestEventMessageDate.getTime() < baroActualStart) {
|
||||||
newEventMessages.push({
|
newEventMessages.push({
|
||||||
sndr: "/Lotus/Language/G1Quests/VoidTraderName",
|
sndr: "/Lotus/Language/G1Quests/VoidTraderName",
|
||||||
sub: "/Lotus/Language/CommunityMessages/VoidTraderAppearanceTitle",
|
sub: "/Lotus/Language/CommunityMessages/VoidTraderAppearanceTitle",
|
||||||
@ -55,7 +55,61 @@ export const createNewEventMessages = async (req: Request): Promise<void> => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// BUG: Deleting the inbox message manually means it'll just be automatically re-created. This is because we don't use startDate/endDate for these config-toggled events.
|
// BUG: Deleting the inbox message manually means it'll just be automatically re-created. This is because we don't use startDate/endDate for these config-toggled events.
|
||||||
|
const promises = [];
|
||||||
|
if (config.worldState?.creditBoost) {
|
||||||
|
promises.push(
|
||||||
|
(async (): Promise<void> => {
|
||||||
|
if (!(await Inbox.exists({ ownerId: account._id, globaUpgradeId: "5b23106f283a555109666672" }))) {
|
||||||
|
newEventMessages.push({
|
||||||
|
globaUpgradeId: new Types.ObjectId("5b23106f283a555109666672"),
|
||||||
|
sndr: "/Lotus/Language/Menu/Mailbox_WarframeSender",
|
||||||
|
sub: "/Lotus/Language/Items/EventDoubleCreditsName",
|
||||||
|
msg: "/Lotus/Language/Items/EventDoubleCreditsDesc",
|
||||||
|
icon: "/Lotus/Interface/Icons/Npcs/Lotus_d.png",
|
||||||
|
startDate: new Date(),
|
||||||
|
CrossPlatform: true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (config.worldState?.affinityBoost) {
|
||||||
|
promises.push(
|
||||||
|
(async (): Promise<void> => {
|
||||||
|
if (!(await Inbox.exists({ ownerId: account._id, globaUpgradeId: "5b23106f283a555109666673" }))) {
|
||||||
|
newEventMessages.push({
|
||||||
|
globaUpgradeId: new Types.ObjectId("5b23106f283a555109666673"),
|
||||||
|
sndr: "/Lotus/Language/Menu/Mailbox_WarframeSender",
|
||||||
|
sub: "/Lotus/Language/Items/EventDoubleAffinityName",
|
||||||
|
msg: "/Lotus/Language/Items/EventDoubleAffinityDesc",
|
||||||
|
icon: "/Lotus/Interface/Icons/Npcs/Lotus_d.png",
|
||||||
|
startDate: new Date(),
|
||||||
|
CrossPlatform: true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (config.worldState?.resourceBoost) {
|
||||||
|
promises.push(
|
||||||
|
(async (): Promise<void> => {
|
||||||
|
if (!(await Inbox.exists({ ownerId: account._id, globaUpgradeId: "5b23106f283a555109666674" }))) {
|
||||||
|
newEventMessages.push({
|
||||||
|
globaUpgradeId: new Types.ObjectId("5b23106f283a555109666674"),
|
||||||
|
sndr: "/Lotus/Language/Menu/Mailbox_WarframeSender",
|
||||||
|
sub: "/Lotus/Language/Items/EventDoubleResourceName",
|
||||||
|
msg: "/Lotus/Language/Items/EventDoubleResourceDesc",
|
||||||
|
icon: "/Lotus/Interface/Icons/Npcs/Lotus_d.png",
|
||||||
|
startDate: new Date(),
|
||||||
|
CrossPlatform: true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})()
|
||||||
|
);
|
||||||
|
}
|
||||||
if (config.worldState?.galleonOfGhouls) {
|
if (config.worldState?.galleonOfGhouls) {
|
||||||
|
promises.push(
|
||||||
|
(async (): Promise<void> => {
|
||||||
if (!(await Inbox.exists({ ownerId: account._id, goalTag: "GalleonRobbery" }))) {
|
if (!(await Inbox.exists({ ownerId: account._id, goalTag: "GalleonRobbery" }))) {
|
||||||
newEventMessages.push({
|
newEventMessages.push({
|
||||||
sndr: "/Lotus/Language/Bosses/BossCouncilorVayHek",
|
sndr: "/Lotus/Language/Bosses/BossCouncilorVayHek",
|
||||||
@ -68,7 +122,10 @@ export const createNewEventMessages = async (req: Request): Promise<void> => {
|
|||||||
goalTag: "GalleonRobbery"
|
goalTag: "GalleonRobbery"
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
})()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
await Promise.all(promises);
|
||||||
|
|
||||||
if (newEventMessages.length === 0) {
|
if (newEventMessages.length === 0) {
|
||||||
return;
|
return;
|
||||||
|
@ -1662,6 +1662,11 @@ export const applyClientEquipmentUpdates = (
|
|||||||
item.XP ??= 0;
|
item.XP ??= 0;
|
||||||
item.XP += XP;
|
item.XP += XP;
|
||||||
|
|
||||||
|
if (
|
||||||
|
categoryName != "SpecialItems" ||
|
||||||
|
item.ItemType == "/Lotus/Powersuits/Khora/Kavat/KhoraKavatPowerSuit" ||
|
||||||
|
item.ItemType == "/Lotus/Powersuits/Khora/Kavat/KhoraPrimeKavatPowerSuit"
|
||||||
|
) {
|
||||||
let xpItemType = item.ItemType;
|
let xpItemType = item.ItemType;
|
||||||
if (item.ModularParts) {
|
if (item.ModularParts) {
|
||||||
for (const part of item.ModularParts) {
|
for (const part of item.ModularParts) {
|
||||||
@ -1686,6 +1691,7 @@ export const applyClientEquipmentUpdates = (
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (InfestationDate) {
|
if (InfestationDate) {
|
||||||
// 2147483647000 means cured, otherwise became infected
|
// 2147483647000 means cured, otherwise became infected
|
||||||
|
@ -478,6 +478,56 @@
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="edit-suit-invigorations-card" class="card mb-3 d-none">
|
||||||
|
<h5 class="card-header" data-loc="detailedView_suitInvigorationLabel"></h5>
|
||||||
|
<div class="card-body">
|
||||||
|
<form onsubmit="submitSuitInvigorationUpgrade(event)">
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="invigoration-offensive" class="form-label" data-loc="invigorations_offensiveLabel"></label>
|
||||||
|
<select class="form-select" id="dv-invigoration-offensive">
|
||||||
|
<option value="" data-loc="general_none"></option>
|
||||||
|
<option value="/Lotus/Upgrades/Invigorations/Offensive/OffensiveInvigorationPowerStrength" data-loc="invigorations_offensive_AbilityStrength"></option>
|
||||||
|
<option value="/Lotus/Upgrades/Invigorations/Offensive/OffensiveInvigorationPowerRange" data-loc="invigorations_offensive_AbilityRange"></option>
|
||||||
|
<option value="/Lotus/Upgrades/Invigorations/Offensive/OffensiveInvigorationPowerDuration" data-loc="invigorations_offensive_AbilityDuration"></option>
|
||||||
|
<option value="/Lotus/Upgrades/Invigorations/Offensive/OffensiveInvigorationMeleeDamage" data-loc="invigorations_offensive_MeleeDamage"></option>
|
||||||
|
<option value="/Lotus/Upgrades/Invigorations/Offensive/OffensiveInvigorationPrimaryDamage" data-loc="invigorations_offensive_PrimaryDamage"></option>
|
||||||
|
<option value="/Lotus/Upgrades/Invigorations/Offensive/OffensiveInvigorationSecondaryDamage" data-loc="invigorations_offensive_SecondaryDamage"></option>
|
||||||
|
<option value="/Lotus/Upgrades/Invigorations/Offensive/OffensiveInvigorationPrimaryCritChance" data-loc="invigorations_offensive_PrimaryCritChance"></option>
|
||||||
|
<option value="/Lotus/Upgrades/Invigorations/Offensive/OffensiveInvigorationSecondaryCritChance" data-loc="invigorations_offensive_SecondaryCritChance"></option>
|
||||||
|
<option value="/Lotus/Upgrades/Invigorations/Offensive/OffensiveInvigorationMeleeCritChance" data-loc="invigorations_offensive_MeleeCritChance"></option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="invigoration-defensive" class="form-label" data-loc="invigorations_defensiveLabel"></label>
|
||||||
|
<select class="form-select" id="dv-invigoration-defensive">
|
||||||
|
<option value="" data-loc="general_none"></option>
|
||||||
|
<option value="/Lotus/Upgrades/Invigorations/Utility/UtilityInvigorationPowerEfficiency" data-loc="invigorations_utility_AbilityEfficiency"></option>
|
||||||
|
<option value="/Lotus/Upgrades/Invigorations/Utility/UtilityInvigorationMovementSpeed" data-loc="invigorations_utility_SprintSpeed"></option>
|
||||||
|
<option value="/Lotus/Upgrades/Invigorations/Utility/UtilityInvigorationParkourSpeed" data-loc="invigorations_utility_ParkourVelocity"></option>
|
||||||
|
<option value="/Lotus/Upgrades/Invigorations/Utility/UtilityInvigorationHealth" data-loc="invigorations_utility_HealthMax"></option>
|
||||||
|
<option value="/Lotus/Upgrades/Invigorations/Utility/UtilityInvigorationEnergy" data-loc="invigorations_utility_EnergyMax"></option>
|
||||||
|
<option value="/Lotus/Upgrades/Invigorations/Utility/UtilityInvigorationStatusResistance" data-loc="invigorations_utility_StatusImmune"></option>
|
||||||
|
<option value="/Lotus/Upgrades/Invigorations/Utility/UtilityInvigorationReloadSpeed" data-loc="invigorations_utility_ReloadSpeed"></option>
|
||||||
|
<option value="/Lotus/Upgrades/Invigorations/Utility/UtilityInvigorationHealthRegen" data-loc="invigorations_utility_HealthRegen"></option>
|
||||||
|
<option value="/Lotus/Upgrades/Invigorations/Utility/UtilityInvigorationArmor" data-loc="invigorations_utility_ArmorMax"></option>
|
||||||
|
<option value="/Lotus/Upgrades/Invigorations/Utility/UtilityInvigorationJumps" data-loc="invigorations_utility_Jumps"></option>
|
||||||
|
<option value="/Lotus/Upgrades/Invigorations/Utility/UtilityInvigorationEnergyRegen" data-loc="invigorations_utility_EnergyRegen"></option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="invigoration-expiry" class="form-label" data-loc="invigorations_expiryLabel"></label>
|
||||||
|
<input type="datetime-local" class="form-control" id="dv-invigoration-expiry" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="d-flex gap-2">
|
||||||
|
<button type="submit" class="btn btn-primary" data-loc="general_setButton"></button>
|
||||||
|
<button type="button" class="btn btn-danger" onclick="clearSuitInvigorationUpgrades()" data-loc="code_remove"></button>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div id="modularParts-card" class="card mb-3 d-none">
|
<div id="modularParts-card" class="card mb-3 d-none">
|
||||||
<h5 class="card-header" data-loc="detailedView_modularPartsLabel"></h5>
|
<h5 class="card-header" data-loc="detailedView_modularPartsLabel"></h5>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
|
@ -282,7 +282,8 @@ function fetchItemList() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
const syndicateNone = document.createElement("option");
|
const syndicateNone = document.createElement("option");
|
||||||
syndicateNone.textContent = loc("cheats_none");
|
syndicateNone.value = "";
|
||||||
|
syndicateNone.textContent = loc("general_none");
|
||||||
document.getElementById("changeSyndicate").innerHTML = "";
|
document.getElementById("changeSyndicate").innerHTML = "";
|
||||||
document.getElementById("changeSyndicate").appendChild(syndicateNone);
|
document.getElementById("changeSyndicate").appendChild(syndicateNone);
|
||||||
|
|
||||||
@ -303,8 +304,8 @@ function fetchItemList() {
|
|||||||
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeAbilityDurationMythic": loc("upgrade_WarframeAbilityDuration").split("|VAL|").join("15"),
|
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeAbilityDurationMythic": loc("upgrade_WarframeAbilityDuration").split("|VAL|").join("15"),
|
||||||
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeAbilityStrength": loc("upgrade_WarframeAbilityStrength").split("|VAL|").join("10"),
|
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeAbilityStrength": loc("upgrade_WarframeAbilityStrength").split("|VAL|").join("10"),
|
||||||
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeAbilityStrengthMythic": loc("upgrade_WarframeAbilityStrength").split("|VAL|").join("15"),
|
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeAbilityStrengthMythic": loc("upgrade_WarframeAbilityStrength").split("|VAL|").join("15"),
|
||||||
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeArmourMax": loc("upgrade_WarframeArmourMax").split("|VAL|").join("150"),
|
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeArmourMax": loc("upgrade_WarframeArmorMax").split("|VAL|").join("150"),
|
||||||
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeArmourMaxMythic": loc("upgrade_WarframeArmourMax").split("|VAL|").join("225"),
|
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeArmourMaxMythic": loc("upgrade_WarframeArmorMax").split("|VAL|").join("225"),
|
||||||
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeBlastProc": loc("upgrade_WarframeBlastProc").split("|VAL|").join("5"),
|
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeBlastProc": loc("upgrade_WarframeBlastProc").split("|VAL|").join("5"),
|
||||||
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeBlastProcMythic": loc("upgrade_WarframeBlastProc").split("|VAL|").join("7.5"),
|
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeBlastProcMythic": loc("upgrade_WarframeBlastProc").split("|VAL|").join("7.5"),
|
||||||
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeCastingSpeed": loc("upgrade_WarframeCastingSpeed").split("|VAL|").join("25"),
|
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeCastingSpeed": loc("upgrade_WarframeCastingSpeed").split("|VAL|").join("25"),
|
||||||
@ -333,8 +334,8 @@ function fetchItemList() {
|
|||||||
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeParkourVelocityMythic": loc("upgrade_WarframeParkourVelocity").split("|VAL|").join("22.5"),
|
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeParkourVelocityMythic": loc("upgrade_WarframeParkourVelocity").split("|VAL|").join("22.5"),
|
||||||
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeRadiationDamageBoost": loc("upgrade_WarframeRadiationDamageBoost").split("|VAL|").join("10"),
|
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeRadiationDamageBoost": loc("upgrade_WarframeRadiationDamageBoost").split("|VAL|").join("10"),
|
||||||
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeRadiationDamageBoostMythic": loc("upgrade_WarframeRadiationDamageBoost").split("|VAL|").join("15"),
|
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeRadiationDamageBoostMythic": loc("upgrade_WarframeRadiationDamageBoost").split("|VAL|").join("15"),
|
||||||
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeRegen": loc("upgrade_WarframeRegen").split("|VAL|").join("5"),
|
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeRegen": loc("upgrade_WarframeHealthRegen").split("|VAL|").join("5"),
|
||||||
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeRegenMythic": loc("upgrade_WarframeRegen").split("|VAL|").join("7.5"),
|
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeRegenMythic": loc("upgrade_WarframeHealthRegen").split("|VAL|").join("7.5"),
|
||||||
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeShieldMax": loc("upgrade_WarframeShieldMax").split("|VAL|").join("150"),
|
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeShieldMax": loc("upgrade_WarframeShieldMax").split("|VAL|").join("150"),
|
||||||
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeShieldMaxMythic": loc("upgrade_WarframeShieldMax").split("|VAL|").join("225"),
|
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeShieldMaxMythic": loc("upgrade_WarframeShieldMax").split("|VAL|").join("225"),
|
||||||
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeStartingEnergy": loc("upgrade_WarframeStartingEnergy").split("|VAL|").join("30"),
|
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeStartingEnergy": loc("upgrade_WarframeStartingEnergy").split("|VAL|").join("30"),
|
||||||
@ -1230,6 +1231,13 @@ function updateInventory() {
|
|||||||
}
|
}
|
||||||
document.getElementById("crystals-list").appendChild(tr);
|
document.getElementById("crystals-list").appendChild(tr);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
document.getElementById("edit-suit-invigorations-card").classList.remove("d-none");
|
||||||
|
const { OffensiveUpgrade, DefensiveUpgrade, UpgradesExpiry } =
|
||||||
|
suitInvigorationUpgradeData(item);
|
||||||
|
document.getElementById("dv-invigoration-offensive").value = OffensiveUpgrade;
|
||||||
|
document.getElementById("dv-invigoration-defensive").value = DefensiveUpgrade;
|
||||||
|
document.getElementById("dv-invigoration-expiry").value = UpgradesExpiry;
|
||||||
} else if (["LongGuns", "Pistols", "Melee", "SpaceGuns", "SpaceMelee"].includes(category)) {
|
} else if (["LongGuns", "Pistols", "Melee", "SpaceGuns", "SpaceMelee"].includes(category)) {
|
||||||
document.getElementById("valenceBonus-card").classList.remove("d-none");
|
document.getElementById("valenceBonus-card").classList.remove("d-none");
|
||||||
document.getElementById("valenceBonus-innateDamage").value = "";
|
document.getElementById("valenceBonus-innateDamage").value = "";
|
||||||
@ -2862,3 +2870,74 @@ function handleModularPartsChange(event) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
function suitInvigorationUpgradeData(suitData) {
|
||||||
|
let expiryDate = "";
|
||||||
|
if (suitData.UpgradesExpiry) {
|
||||||
|
if (suitData.UpgradesExpiry.$date) {
|
||||||
|
expiryDate = new Date(parseInt(suitData.UpgradesExpiry.$date.$numberLong));
|
||||||
|
} else if (typeof suitData.UpgradesExpiry === "number") {
|
||||||
|
expiryDate = new Date(suitData.UpgradesExpiry);
|
||||||
|
} else if (suitData.UpgradesExpiry instanceof Date) {
|
||||||
|
expiryDate = suitData.UpgradesExpiry;
|
||||||
|
}
|
||||||
|
if (expiryDate && !isNaN(expiryDate.getTime())) {
|
||||||
|
const year = expiryDate.getFullYear();
|
||||||
|
const month = String(expiryDate.getMonth() + 1).padStart(2, "0");
|
||||||
|
const day = String(expiryDate.getDate()).padStart(2, "0");
|
||||||
|
const hours = String(expiryDate.getHours()).padStart(2, "0");
|
||||||
|
const minutes = String(expiryDate.getMinutes()).padStart(2, "0");
|
||||||
|
expiryDate = `${year}-${month}-${day}T${hours}:${minutes}`;
|
||||||
|
} else {
|
||||||
|
expiryDate = "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
oid: suitData.ItemId.$oid,
|
||||||
|
OffensiveUpgrade: suitData.OffensiveUpgrade || "",
|
||||||
|
DefensiveUpgrade: suitData.DefensiveUpgrade || "",
|
||||||
|
UpgradesExpiry: expiryDate
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
function submitSuitInvigorationUpgrade(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
const oid = new URLSearchParams(window.location.search).get("itemId");
|
||||||
|
const offensiveUpgrade = document.getElementById("dv-invigoration-offensive").value;
|
||||||
|
const defensiveUpgrade = document.getElementById("dv-invigoration-defensive").value;
|
||||||
|
const expiry = document.getElementById("dv-invigoration-expiry").value;
|
||||||
|
|
||||||
|
if (!offensiveUpgrade || !defensiveUpgrade) {
|
||||||
|
alert(loc("code_requiredInvigorationUpgrade"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const data = {
|
||||||
|
OffensiveUpgrade: offensiveUpgrade,
|
||||||
|
DefensiveUpgrade: defensiveUpgrade
|
||||||
|
};
|
||||||
|
|
||||||
|
if (expiry) {
|
||||||
|
data.UpgradesExpiry = new Date(expiry).getTime();
|
||||||
|
}
|
||||||
|
|
||||||
|
editSuitInvigorationUpgrade(oid, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
function clearSuitInvigorationUpgrades() {
|
||||||
|
editSuitInvigorationUpgrade(new URLSearchParams(window.location.search).get("itemId"), null);
|
||||||
|
}
|
||||||
|
|
||||||
|
async function editSuitInvigorationUpgrade(oid, data) {
|
||||||
|
/* data?: {
|
||||||
|
DefensiveUpgrade: string;
|
||||||
|
OffensiveUpgrade: string;
|
||||||
|
UpgradesExpiry?: number;
|
||||||
|
}*/
|
||||||
|
$.post({
|
||||||
|
url: "/custom/editSuitInvigorationUpgrade?" + window.authz,
|
||||||
|
contentType: "application/json",
|
||||||
|
data: JSON.stringify({ oid, data })
|
||||||
|
}).done(function () {
|
||||||
|
updateInventory();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
@ -1,13 +1,14 @@
|
|||||||
// German translation by Animan8000
|
// German translation by Animan8000
|
||||||
dict = {
|
dict = {
|
||||||
general_inventoryUpdateNote: `[UNTRANSLATED] Note: To see changes in-game, you need to resync your inventory, e.g. using the bootstrapper's /sync command, visiting a dojo/relay, or relogging.`,
|
general_inventoryUpdateNote: `Hinweis: Um Änderungen im Spiel zu sehen, musst du dein Inventar neu synchronisieren, z. B. mit dem /sync Befehl des Bootstrappers, durch Besuch eines Dojo/Relais oder durch erneutes Einloggen.`,
|
||||||
general_addButton: `Hinzufügen`,
|
general_addButton: `Hinzufügen`,
|
||||||
general_setButton: `[UNTRANSLATED] Set`,
|
general_setButton: `Festlegen`,
|
||||||
|
general_none: `Keines`,
|
||||||
general_bulkActions: `Massenaktionen`,
|
general_bulkActions: `Massenaktionen`,
|
||||||
general_loading: `[UNTRANSLATED] Loading...`,
|
general_loading: `Lädt...`,
|
||||||
|
|
||||||
code_loginFail: `[UNTRANSLATED] Login failed. Double-check the email and password.`,
|
code_loginFail: `Anmeldung fehlgeschlagen. Bitte überprüfe deine Angaben.`,
|
||||||
code_regFail: `[UNTRANSLATED] Registration failed. Account already exists?`,
|
code_regFail: `Registrierung fehlgeschlagen. Account existiert bereits?`,
|
||||||
code_changeNameConfirm: `In welchen Namen möchtest du deinen Account umbenennen?`,
|
code_changeNameConfirm: `In welchen Namen möchtest du deinen Account umbenennen?`,
|
||||||
code_deleteAccountConfirm: `Bist du sicher, dass du deinen Account |DISPLAYNAME| (|EMAIL|) löschen möchtest? Diese Aktion kann nicht rückgängig gemacht werden.`,
|
code_deleteAccountConfirm: `Bist du sicher, dass du deinen Account |DISPLAYNAME| (|EMAIL|) löschen möchtest? Diese Aktion kann nicht rückgängig gemacht werden.`,
|
||||||
code_archgun: `Arch-Gewehr`,
|
code_archgun: `Arch-Gewehr`,
|
||||||
@ -45,8 +46,8 @@ dict = {
|
|||||||
code_focusUnlocked: `|COUNT| neue Fokus-Schulen freigeschaltet! Ein Inventar-Update wird benötigt, damit die Änderungen im Spiel sichtbar werden. Die Sternenkarte zu besuchen, sollte der einfachste Weg sein, dies auszulösen.`,
|
code_focusUnlocked: `|COUNT| neue Fokus-Schulen freigeschaltet! Ein Inventar-Update wird benötigt, damit die Änderungen im Spiel sichtbar werden. Die Sternenkarte zu besuchen, sollte der einfachste Weg sein, dies auszulösen.`,
|
||||||
code_addModsConfirm: `Bist du sicher, dass du |COUNT| Mods zu deinem Account hinzufügen möchtest?`,
|
code_addModsConfirm: `Bist du sicher, dass du |COUNT| Mods zu deinem Account hinzufügen möchtest?`,
|
||||||
code_succImport: `Erfolgreich importiert.`,
|
code_succImport: `Erfolgreich importiert.`,
|
||||||
code_succRelog: `[UNTRANSLATED] Done. Please note that you'll need to relog to see a difference in-game.`,
|
code_succRelog: `Fertig. Bitte beachte, dass du dich neu einloggen musst, um Änderungen im Spiel zu sehen.`,
|
||||||
code_nothingToDo: `[UNTRANSLATED] Done. There was nothing to do.`,
|
code_nothingToDo: `Fertig. Es gab nichts zu tun.`,
|
||||||
code_gild: `Veredeln`,
|
code_gild: `Veredeln`,
|
||||||
code_moa: `Moa`,
|
code_moa: `Moa`,
|
||||||
code_zanuka: `Jagdhund`,
|
code_zanuka: `Jagdhund`,
|
||||||
@ -61,7 +62,8 @@ dict = {
|
|||||||
code_pigment: `Pigment`,
|
code_pigment: `Pigment`,
|
||||||
code_mature: `Für den Kampf auswachsen lassen`,
|
code_mature: `Für den Kampf auswachsen lassen`,
|
||||||
code_unmature: `Genetisches Altern zurücksetzen`,
|
code_unmature: `Genetisches Altern zurücksetzen`,
|
||||||
code_succChange: `[UNTRANSLATED] Successfully changed.`,
|
code_succChange: `Erfolgreich geändert.`,
|
||||||
|
code_requiredInvigorationUpgrade: `[UNTRANSLATED] You must select both an offensive & defensive upgrade.`,
|
||||||
login_description: `Melde dich mit deinem OpenWF-Account an (denselben Angaben wie im Spiel, wenn du dich mit diesem Server verbindest).`,
|
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_emailLabel: `E-Mail-Adresse`,
|
||||||
login_passwordLabel: `Passwort`,
|
login_passwordLabel: `Passwort`,
|
||||||
@ -91,7 +93,7 @@ dict = {
|
|||||||
inventory_moaPets: `Moas`,
|
inventory_moaPets: `Moas`,
|
||||||
inventory_kubrowPets: `Bestien`,
|
inventory_kubrowPets: `Bestien`,
|
||||||
inventory_evolutionProgress: `Incarnon-Entwicklungsfortschritte`,
|
inventory_evolutionProgress: `Incarnon-Entwicklungsfortschritte`,
|
||||||
inventory_Boosters: `[UNTRANSLATED] Boosters`,
|
inventory_Boosters: `Booster`,
|
||||||
inventory_bulkAddSuits: `Fehlende Warframes hinzufügen`,
|
inventory_bulkAddSuits: `Fehlende Warframes hinzufügen`,
|
||||||
inventory_bulkAddWeapons: `Fehlende Waffen hinzufügen`,
|
inventory_bulkAddWeapons: `Fehlende Waffen hinzufügen`,
|
||||||
inventory_bulkAddSpaceSuits: `Fehlende Archwings hinzufügen`,
|
inventory_bulkAddSpaceSuits: `Fehlende Archwings hinzufügen`,
|
||||||
@ -106,7 +108,7 @@ dict = {
|
|||||||
inventory_bulkRankUpSentinels: `Alle Wächter auf Max. Rang`,
|
inventory_bulkRankUpSentinels: `Alle Wächter auf Max. Rang`,
|
||||||
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: `[UNTRANSLATED] Max Rank Plexus`,
|
inventory_maxPlexus: `Plexus auf Max. Rang`,
|
||||||
|
|
||||||
quests_list: `Quests`,
|
quests_list: `Quests`,
|
||||||
quests_completeAll: `Alle Quests abschließen`,
|
quests_completeAll: `Alle Quests abschließen`,
|
||||||
@ -123,15 +125,42 @@ dict = {
|
|||||||
detailedView_archonShardsDescription: `Du kannst diese unbegrenzten Slots nutzen, um eine Vielzahl von Verbesserungen anzuwenden.`,
|
detailedView_archonShardsDescription: `Du kannst diese unbegrenzten Slots nutzen, um eine Vielzahl von Verbesserungen anzuwenden.`,
|
||||||
detailedView_archonShardsDescription2: `Hinweis: Jede Archon-Scherbe benötigt beim Laden etwas Zeit, um angewendet zu werden.`,
|
detailedView_archonShardsDescription2: `Hinweis: Jede Archon-Scherbe benötigt beim Laden etwas Zeit, um angewendet zu werden.`,
|
||||||
detailedView_valenceBonusLabel: `Valenz-Bonus`,
|
detailedView_valenceBonusLabel: `Valenz-Bonus`,
|
||||||
detailedView_valenceBonusDescription: `[UNTRANSLATED] You can set or remove the Valence Bonus from your weapon.`,
|
detailedView_valenceBonusDescription: `Du kannst den Valenz-Bonus deiner Waffe festlegen oder entfernen.`,
|
||||||
detailedView_modularPartsLabel: `[UNTRANSLATED] Change Modular Parts`,
|
detailedView_modularPartsLabel: `Modulare Teile ändern`,
|
||||||
|
detailedView_suitInvigorationLabel: `[UNTRANSLATED] Warframe Invigoration`,
|
||||||
|
|
||||||
|
invigorations_offensive_AbilityStrength: `[UNTRANSLATED] +200% Ability Strength`,
|
||||||
|
invigorations_offensive_AbilityRange: `[UNTRANSLATED] +100% Ability Range`,
|
||||||
|
invigorations_offensive_AbilityDuration: `[UNTRANSLATED] +100% Ability Duration`,
|
||||||
|
invigorations_offensive_MeleeDamage: `[UNTRANSLATED] +250% Melee Damage`,
|
||||||
|
invigorations_offensive_PrimaryDamage: `[UNTRANSLATED] +250% Primary Damage`,
|
||||||
|
invigorations_offensive_SecondaryDamage: `[UNTRANSLATED] +250% Secondary Damage`,
|
||||||
|
invigorations_offensive_PrimaryCritChance: `[UNTRANSLATED] +200% Primary Critical Chance`,
|
||||||
|
invigorations_offensive_SecondaryCritChance: `[UNTRANSLATED] +200% Secondary Critical Chance`,
|
||||||
|
invigorations_offensive_MeleeCritChance: `[UNTRANSLATED] +200% Melee Critical Chance`,
|
||||||
|
|
||||||
|
invigorations_utility_AbilityEfficiency: `[UNTRANSLATED] +75% Ability Efficiency`,
|
||||||
|
invigorations_utility_SprintSpeed: `[UNTRANSLATED] +75% Sprint Speed`,
|
||||||
|
invigorations_utility_ParkourVelocity: `[UNTRANSLATED] +75% Parkour Velocity`,
|
||||||
|
invigorations_utility_HealthMax: `[UNTRANSLATED] +1000 Health`,
|
||||||
|
invigorations_utility_EnergyMax: `[UNTRANSLATED] +200% Energy Max`,
|
||||||
|
invigorations_utility_StatusImmune: `[UNTRANSLATED] Immune to Status Effects`,
|
||||||
|
invigorations_utility_ReloadSpeed: `[UNTRANSLATED] +75% Reload Speed`,
|
||||||
|
invigorations_utility_HealthRegen: `[UNTRANSLATED] +25 Health Regen/s`,
|
||||||
|
invigorations_utility_ArmorMax: `[UNTRANSLATED] +1000 Armor`,
|
||||||
|
invigorations_utility_Jumps: `[UNTRANSLATED] +5 Jump Resets`,
|
||||||
|
invigorations_utility_EnergyRegen: `[UNTRANSLATED] +2 Energy Regen/s`,
|
||||||
|
|
||||||
|
invigorations_offensiveLabel: `[UNTRANSLATED] Offensive Upgrade`,
|
||||||
|
invigorations_defensiveLabel: `[UNTRANSLATED] Defensive Upgrade`,
|
||||||
|
invigorations_expiryLabel: `[UNTRANSLATED] Upgrades Expiry (optional)`,
|
||||||
|
|
||||||
mods_addRiven: `Riven hinzufügen`,
|
mods_addRiven: `Riven hinzufügen`,
|
||||||
mods_fingerprint: `Fingerabdruck`,
|
mods_fingerprint: `Fingerabdruck`,
|
||||||
mods_fingerprintHelp: `Benötigst du Hilfe mit dem Fingerabdruck?`,
|
mods_fingerprintHelp: `Benötigst du Hilfe mit dem Fingerabdruck?`,
|
||||||
mods_rivens: `Rivens`,
|
mods_rivens: `Rivens`,
|
||||||
mods_mods: `Mods`,
|
mods_mods: `Mods`,
|
||||||
mods_addMax: `[UNTRANSLATED] Add Maxed`,
|
mods_addMax: `Max. hinzufügen`,
|
||||||
mods_addMissingUnrankedMods: `Fehlende Mods ohne Rang hinzufügen`,
|
mods_addMissingUnrankedMods: `Fehlende Mods ohne Rang hinzufügen`,
|
||||||
mods_removeUnranked: `Mods ohne Rang entfernen`,
|
mods_removeUnranked: `Mods ohne Rang entfernen`,
|
||||||
mods_addMissingMaxRankMods: `Fehlende Mods mit Max. Rang hinzufügen`,
|
mods_addMissingMaxRankMods: `Fehlende Mods mit Max. Rang hinzufügen`,
|
||||||
@ -141,17 +170,17 @@ dict = {
|
|||||||
cheats_skipAllDialogue: `Alle Dialoge überspringen`,
|
cheats_skipAllDialogue: `Alle Dialoge überspringen`,
|
||||||
cheats_unlockAllScans: `Alle Scans freischalten`,
|
cheats_unlockAllScans: `Alle Scans freischalten`,
|
||||||
cheats_unlockAllMissions: `Alle Missionen freischalten`,
|
cheats_unlockAllMissions: `Alle Missionen freischalten`,
|
||||||
cheats_unlockAllMissions_ok: `[UNTRANSLATED] Success. Please note that you'll need to enter a dojo/relay or relog for the client to refresh the star chart.`,
|
cheats_unlockAllMissions_ok: `Erfolgreich. Bitte beachte, dass du ein Dojo/Relais besuchen oder dich neu einloggen musst, damit die Sternenkarte aktualisiert wird.`,
|
||||||
cheats_infiniteCredits: `Unendlich Credits`,
|
cheats_infiniteCredits: `Unendlich Credits`,
|
||||||
cheats_infinitePlatinum: `Unendlich Platinum`,
|
cheats_infinitePlatinum: `Unendlich Platinum`,
|
||||||
cheats_infiniteEndo: `Unendlich Endo`,
|
cheats_infiniteEndo: `Unendlich Endo`,
|
||||||
cheats_infiniteRegalAya: `Unendlich Reines Aya`,
|
cheats_infiniteRegalAya: `Unendlich Reines Aya`,
|
||||||
cheats_infiniteHelminthMaterials: `Unendlich Helminth-Materialien`,
|
cheats_infiniteHelminthMaterials: `Unendlich Helminth-Materialien`,
|
||||||
cheats_claimingBlueprintRefundsIngredients: `Fertige Blaupausen erstatten Ressourcen zurück`,
|
cheats_claimingBlueprintRefundsIngredients: `Fertige Blaupausen erstatten Ressourcen zurück`,
|
||||||
cheats_dontSubtractPurchaseCreditCost: `[UNTRANSLATED] Don't Subtract Purchase Credit Cost`,
|
cheats_dontSubtractPurchaseCreditCost: `Credits beim Kauf nicht verbrauchen`,
|
||||||
cheats_dontSubtractPurchasePlatinumCost: `[UNTRANSLATED] Don't Subtract Purchase Platinum Cost`,
|
cheats_dontSubtractPurchasePlatinumCost: `Platinum beim Kauf nicht verbrauchen`,
|
||||||
cheats_dontSubtractPurchaseItemCost: `[UNTRANSLATED] Don't Subtract Purchase Item Cost`,
|
cheats_dontSubtractPurchaseItemCost: `Gegenstände beim Kauf nicht verbrauchen`,
|
||||||
cheats_dontSubtractPurchaseStandingCost: `[UNTRANSLATED] Don't Subtract Purchase Standing Cost`,
|
cheats_dontSubtractPurchaseStandingCost: `Ansehen beim Kauf nicht verbrauchen`,
|
||||||
cheats_dontSubtractVoidTraces: `Void-Spuren nicht verbrauchen`,
|
cheats_dontSubtractVoidTraces: `Void-Spuren nicht verbrauchen`,
|
||||||
cheats_dontSubtractConsumables: `Verbrauchsgegenstände (Ausrüstung) nicht verbrauchen`,
|
cheats_dontSubtractConsumables: `Verbrauchsgegenstände (Ausrüstung) nicht verbrauchen`,
|
||||||
cheats_unlockAllShipFeatures: `Alle Schiffs-Funktionen freischalten`,
|
cheats_unlockAllShipFeatures: `Alle Schiffs-Funktionen freischalten`,
|
||||||
@ -171,11 +200,11 @@ dict = {
|
|||||||
cheats_noVendorPurchaseLimits: `Keine Kaufbeschränkungen bei Händlern`,
|
cheats_noVendorPurchaseLimits: `Keine Kaufbeschränkungen bei Händlern`,
|
||||||
cheats_noDeathMarks: `Keine Todesmarkierungen`,
|
cheats_noDeathMarks: `Keine Todesmarkierungen`,
|
||||||
cheats_noKimCooldowns: `Keine Wartezeit bei KIM`,
|
cheats_noKimCooldowns: `Keine Wartezeit bei KIM`,
|
||||||
cheats_fullyStockedVendors: `[UNTRANSLATED] Fully Stocked Vendors`,
|
cheats_fullyStockedVendors: `Händler haben volles Inventar`,
|
||||||
cheats_baroAlwaysAvailable: `[UNTRANSLATED] Baro Always Available`,
|
cheats_baroAlwaysAvailable: `Baro immer im Relais verfügbar`,
|
||||||
cheats_baroFullyStocked: `[UNTRANSLATED] Baro Fully Stocked`,
|
cheats_baroFullyStocked: `Baro hat volles Inventar`,
|
||||||
cheats_syndicateMissionsRepeatable: `Syndikat-Missionen wiederholbar`,
|
cheats_syndicateMissionsRepeatable: `Syndikat-Missionen wiederholbar`,
|
||||||
cheats_unlockAllProfitTakerStages: `[UNTRANSLATED] Unlock All Profit Taker Stages`,
|
cheats_unlockAllProfitTakerStages: `Alle Profiteintreiber-Phasen freischalten`,
|
||||||
cheats_instantFinishRivenChallenge: `Riven-Mod Herausforderung sofort abschließen`,
|
cheats_instantFinishRivenChallenge: `Riven-Mod Herausforderung sofort abschließen`,
|
||||||
cheats_instantResourceExtractorDrones: `Sofortige Ressourcen-Extraktor-Drohnen`,
|
cheats_instantResourceExtractorDrones: `Sofortige Ressourcen-Extraktor-Drohnen`,
|
||||||
cheats_noResourceExtractorDronesDamage: `Kein Schaden für Ressourcen-Extraktor-Drohnen`,
|
cheats_noResourceExtractorDronesDamage: `Kein Schaden für Ressourcen-Extraktor-Drohnen`,
|
||||||
@ -186,129 +215,128 @@ dict = {
|
|||||||
cheats_noDojoResearchCosts: `Keine Dojo-Forschungskosten`,
|
cheats_noDojoResearchCosts: `Keine Dojo-Forschungskosten`,
|
||||||
cheats_noDojoResearchTime: `Keine Dojo-Forschungszeit`,
|
cheats_noDojoResearchTime: `Keine Dojo-Forschungszeit`,
|
||||||
cheats_fastClanAscension: `Schneller Clan-Aufstieg`,
|
cheats_fastClanAscension: `Schneller Clan-Aufstieg`,
|
||||||
cheats_missionsCanGiveAllRelics: `[UNTRANSLATED] Missions Can Give All Relics`,
|
cheats_missionsCanGiveAllRelics: `Alle Relikte als Missionsbelohnung möglich`,
|
||||||
cheats_exceptionalRelicsAlwaysGiveBronzeReward: `[UNTRANSLATED] Exceptional Relics Always Give Bronze Reward`,
|
cheats_exceptionalRelicsAlwaysGiveBronzeReward: `Überragende Relikte geben immer Bronze-Belohnung`,
|
||||||
cheats_flawlessRelicsAlwaysGiveSilverReward: `[UNTRANSLATED] Flawless Relics Always Give Silver Reward`,
|
cheats_flawlessRelicsAlwaysGiveSilverReward: `Makellose Relikte geben immer Silber-Belohnung`,
|
||||||
cheats_radiantRelicsAlwaysGiveGoldReward: `[UNTRANSLATED] Radiant Relics Always Give Gold Reward`,
|
cheats_radiantRelicsAlwaysGiveGoldReward: `Strahlende Relikte geben immer Gold-Belohnung`,
|
||||||
cheats_unlockAllSimarisResearchEntries: `[UNTRANSLATED] Unlock All Simaris Research Entries`,
|
cheats_unlockAllSimarisResearchEntries: `Alle Simaris-Forschungseinträge freischalten`,
|
||||||
cheats_disableDailyTribute: `[UNTRANSLATED] Disable Daily Tribute`,
|
cheats_disableDailyTribute: `Täglicher Tribut deaktivieren`,
|
||||||
cheats_spoofMasteryRank: `Gefälschter Meisterschaftsrang (-1 zum deaktivieren)`,
|
cheats_spoofMasteryRank: `Gefälschter Meisterschaftsrang (-1 zum deaktivieren)`,
|
||||||
cheats_relicRewardItemCountMultiplier: `[UNTRANSLATED] Relic Reward Item Count Multiplier`,
|
cheats_relicRewardItemCountMultiplier: `Belohnungsmultiplikator für Relikte`,
|
||||||
cheats_nightwaveStandingMultiplier: `[UNTRANSLATED] Nightwave Standing Multiplier`,
|
cheats_nightwaveStandingMultiplier: `Nightwave Ansehen Multiplikator`,
|
||||||
cheats_save: `[UNTRANSLATED] Save`,
|
cheats_save: `Speichern`,
|
||||||
cheats_account: `Account`,
|
cheats_account: `Account`,
|
||||||
cheats_unlockAllFocusSchools: `Alle Fokus-Schulen freischalten`,
|
cheats_unlockAllFocusSchools: `Alle Fokus-Schulen freischalten`,
|
||||||
cheats_helminthUnlockAll: `Helminth vollständig aufleveln`,
|
cheats_helminthUnlockAll: `Helminth vollständig aufleveln`,
|
||||||
cheats_addMissingSubsumedAbilities: `[UNTRANSLATED] Add Missing Subsumed Abilities`,
|
cheats_addMissingSubsumedAbilities: `Fehlende konsumierte Fähigkeiten hinzufügen`,
|
||||||
cheats_intrinsicsUnlockAll: `Alle Inhärenzen auf Max. Rang`,
|
cheats_intrinsicsUnlockAll: `Alle Inhärenzen auf Max. Rang`,
|
||||||
cheats_changeSupportedSyndicate: `Unterstütztes Syndikat`,
|
cheats_changeSupportedSyndicate: `Unterstütztes Syndikat`,
|
||||||
cheats_changeButton: `Ändern`,
|
cheats_changeButton: `Ändern`,
|
||||||
cheats_none: `Keines`,
|
cheats_markAllAsRead: `Posteingang als gelesen markieren`,
|
||||||
cheats_markAllAsRead: `[UNTRANSLATED] Mark Inbox As Read`,
|
|
||||||
|
|
||||||
worldState: `[UNTRANSLATED] World State`,
|
worldState: `Weltstatus`,
|
||||||
worldState_creditBoost: `[UNTRANSLATED] Credit Boost`,
|
worldState_creditBoost: `Event Booster: Credit`,
|
||||||
worldState_affinityBoost: `[UNTRANSLATED] Affinity Boost`,
|
worldState_affinityBoost: `Event Booster: Erfahrung`,
|
||||||
worldState_resourceBoost: `[UNTRANSLATED] Resource Boost`,
|
worldState_resourceBoost: `Event Booster: Ressourcen`,
|
||||||
worldState_starDays: `[UNTRANSLATED] Star Days`,
|
worldState_starDays: `Sternen-Tage`,
|
||||||
worldState_galleonOfGhouls: `[UNTRANSLATED] Galleon of Ghouls`,
|
worldState_galleonOfGhouls: `Galeone der Ghule`,
|
||||||
disabled: `[UNTRANSLATED] Disabled`,
|
disabled: `Deaktiviert`,
|
||||||
worldState_we1: `[UNTRANSLATED] Weekend 1`,
|
worldState_we1: `Wochenende 1`,
|
||||||
worldState_we2: `[UNTRANSLATED] Weekend 2`,
|
worldState_we2: `Wochenende 2`,
|
||||||
worldState_we3: `[UNTRANSLATED] Weekend 3`,
|
worldState_we3: `Wochenende 3`,
|
||||||
worldState_eidolonOverride: `[UNTRANSLATED] Eidolon Override`,
|
worldState_eidolonOverride: `Eidolon-Überschreibung`,
|
||||||
worldState_day: `[UNTRANSLATED] Day`,
|
worldState_day: `Tag`,
|
||||||
worldState_night: `[UNTRANSLATED] Night`,
|
worldState_night: `Nacht`,
|
||||||
worldState_vallisOverride: `[UNTRANSLATED] Orb Vallis Override`,
|
worldState_vallisOverride: `Orbis-Tal-Überschreibung`,
|
||||||
worldState_warm: `[UNTRANSLATED] Warm`,
|
worldState_warm: `Warm`,
|
||||||
worldState_cold: `[UNTRANSLATED] Cold`,
|
worldState_cold: `Kalt`,
|
||||||
worldState_duviriOverride: `[UNTRANSLATED] Duviri Override`,
|
worldState_duviriOverride: `Duviri-Überschreibung`,
|
||||||
worldState_joy: `[UNTRANSLATED] Joy`,
|
worldState_joy: `Freude`,
|
||||||
worldState_anger: `[UNTRANSLATED] Anger`,
|
worldState_anger: `Wut`,
|
||||||
worldState_envy: `[UNTRANSLATED] Envy`,
|
worldState_envy: `Neid`,
|
||||||
worldState_sorrow: `[UNTRANSLATED] Sorrow`,
|
worldState_sorrow: `Trauer`,
|
||||||
worldState_fear: `[UNTRANSLATED] Fear`,
|
worldState_fear: `Angst`,
|
||||||
worldState_nightwaveOverride: `[UNTRANSLATED] Nightwave Override`,
|
worldState_nightwaveOverride: `Nightwave-Überschreibung`,
|
||||||
worldState_RadioLegionIntermission13Syndicate: `[UNTRANSLATED] Nora's Mix Vol. 9`,
|
worldState_RadioLegionIntermission13Syndicate: `Noras Mix - Vol. 9`,
|
||||||
worldState_RadioLegionIntermission12Syndicate: `[UNTRANSLATED] Nora's Mix Vol. 8`,
|
worldState_RadioLegionIntermission12Syndicate: `Noras Mix - Vol. 8`,
|
||||||
worldState_RadioLegionIntermission11Syndicate: `[UNTRANSLATED] Nora's Mix Vol. 7`,
|
worldState_RadioLegionIntermission11Syndicate: `Noras Mix - Vol. 7`,
|
||||||
worldState_RadioLegionIntermission10Syndicate: `[UNTRANSLATED] Nora's Mix Vol. 6`,
|
worldState_RadioLegionIntermission10Syndicate: `Noras Mix - Vol. 6`,
|
||||||
worldState_RadioLegionIntermission9Syndicate: `[UNTRANSLATED] Nora's Mix Vol. 5`,
|
worldState_RadioLegionIntermission9Syndicate: `Noras Mix - Vol. 5`,
|
||||||
worldState_RadioLegionIntermission8Syndicate: `[UNTRANSLATED] Nora's Mix Vol. 4`,
|
worldState_RadioLegionIntermission8Syndicate: `Noras Mix - Vol. 4`,
|
||||||
worldState_RadioLegionIntermission7Syndicate: `[UNTRANSLATED] Nora's Mix Vol. 3`,
|
worldState_RadioLegionIntermission7Syndicate: `Noras Mix - Vol. 3`,
|
||||||
worldState_RadioLegionIntermission6Syndicate: `[UNTRANSLATED] Nora's Mix Vol. 2`,
|
worldState_RadioLegionIntermission6Syndicate: `Noras Mix - Vol. 2`,
|
||||||
worldState_RadioLegionIntermission5Syndicate: `[UNTRANSLATED] Nora's Mix Vol. 1`,
|
worldState_RadioLegionIntermission5Syndicate: `Noras Mix - Vol. 1`,
|
||||||
worldState_RadioLegionIntermission4Syndicate: `[UNTRANSLATED] Nora's Choice`,
|
worldState_RadioLegionIntermission4Syndicate: `Noras Wahl`,
|
||||||
worldState_RadioLegionIntermission3Syndicate: `[UNTRANSLATED] Intermission III`,
|
worldState_RadioLegionIntermission3Syndicate: `Sendepause III`,
|
||||||
worldState_RadioLegion3Syndicate: `[UNTRANSLATED] Glassmaker`,
|
worldState_RadioLegion3Syndicate: `Der Glasmacher`,
|
||||||
worldState_RadioLegionIntermission2Syndicate: `[UNTRANSLATED] Intermission II`,
|
worldState_RadioLegionIntermission2Syndicate: `Sendepause II`,
|
||||||
worldState_RadioLegion2Syndicate: `[UNTRANSLATED] The Emissary`,
|
worldState_RadioLegion2Syndicate: `Der Botschafter`,
|
||||||
worldState_RadioLegionIntermissionSyndicate: `[UNTRANSLATED] Intermission I`,
|
worldState_RadioLegionIntermissionSyndicate: `Sendepause I`,
|
||||||
worldState_RadioLegionSyndicate: `[UNTRANSLATED] The Wolf of Saturn Six`,
|
worldState_RadioLegionSyndicate: `Der Wolf von Saturn Six`,
|
||||||
worldState_fissures: `[UNTRANSLATED] Fissures`,
|
worldState_fissures: `Void-Risse`,
|
||||||
normal: `[UNTRANSLATED] Normal`,
|
normal: `Normal`,
|
||||||
worldState_allAtOnceNormal: `[UNTRANSLATED] All At Once, Normal`,
|
worldState_allAtOnceNormal: `Alle gleichzeitig, Normal`,
|
||||||
worldState_allAtOnceSteelPath: `[UNTRANSLATED] All At Once, Steel Path`,
|
worldState_allAtOnceSteelPath: `Alle gleichzeitig, Stählerne Pfad`,
|
||||||
worldState_theCircuitOverride: `[UNTRANSLATED] The Circuit Override`,
|
worldState_theCircuitOverride: `Der Rundkurs-Überschreibung`,
|
||||||
worldState_darvoStockMultiplier: `[UNTRANSLATED] Darvo Stock Multiplier`,
|
worldState_darvoStockMultiplier: `Darvo-Vorratsmultiplikator`,
|
||||||
worldState_varziaFullyStocked: `[UNTRANSLATED] Varzia Fully Stocked`,
|
worldState_varziaFullyStocked: `Varzia hat volles Inventar`,
|
||||||
worldState_varziaOverride: `[UNTRANSLATED] Varzia Rotation Override`,
|
worldState_varziaOverride: `Varzia-Angebotsüberschreibung`,
|
||||||
|
|
||||||
import_importNote: `Du kannst hier eine vollständige oder teilweise Inventarantwort (Client-Darstellung) einfügen. Alle Felder, die vom Importer unterstützt werden, <b>werden in deinem Account überschrieben</b>.`,
|
import_importNote: `Du kannst hier eine vollständige oder teilweise Inventarantwort (Client-Darstellung) einfügen. Alle Felder, die vom Importer unterstützt werden, <b>werden in deinem Account überschrieben</b>.`,
|
||||||
import_submit: `Absenden`,
|
import_submit: `Absenden`,
|
||||||
import_samples: `[UNTRANSLATED] Samples:`,
|
import_samples: `Beispiele:`,
|
||||||
import_samples_maxFocus: `[UNTRANSLATED] All Focus Schools Maxed Out`,
|
import_samples_maxFocus: `Alle Fokus-Schulen maximiert`,
|
||||||
|
|
||||||
upgrade_Equilibrium: `[UNTRANSLATED] +|VAL|% Energy from Health pickups, +|VAL|% Health from Energy pickups`,
|
upgrade_Equilibrium: `+|VAL|% Energie bei Gesundheitskugeln, +|VAL|% Gesundheit bei Energiekugeln`,
|
||||||
upgrade_MeleeCritDamage: `[UNTRANSLATED] +|VAL|% Melee Critical Damage`,
|
upgrade_MeleeCritDamage: `+|VAL|% Krit. Nahkampfschaden`,
|
||||||
upgrade_PrimaryStatusChance: `[UNTRANSLATED] +|VAL|% Primary Status Chance`,
|
upgrade_PrimaryStatusChance: `+|VAL|% Primärwaffen Statuschance`,
|
||||||
upgrade_SecondaryCritChance: `[UNTRANSLATED] +|VAL|% Secondary Critical Chance`,
|
upgrade_SecondaryCritChance: `+|VAL|% Sekundärwaffen Krit. Chance`,
|
||||||
upgrade_WarframeAbilityDuration: `[UNTRANSLATED] +|VAL|% Ability Duration`,
|
upgrade_WarframeAbilityDuration: `+|VAL|% Fähigkeitsdauer`,
|
||||||
upgrade_WarframeAbilityStrength: `[UNTRANSLATED] +|VAL|% Ability Strength`,
|
upgrade_WarframeAbilityStrength: `+|VAL|% Fähigkeitsstärke`,
|
||||||
upgrade_WarframeArmourMax: `[UNTRANSLATED] +|VAL| Armor`,
|
upgrade_WarframeArmorMax: `+|VAL| Rüstung`,
|
||||||
upgrade_WarframeBlastProc: `[UNTRANSLATED] +|VAL| Shields on kill with Blast Damage`,
|
upgrade_WarframeBlastProc: `+|VAL| Schilde beim Töten eines Gegners mit Explosionsschaden`,
|
||||||
upgrade_WarframeCastingSpeed: `[UNTRANSLATED] +|VAL|% Casting Speed`,
|
upgrade_WarframeCastingSpeed: `+|VAL|% Aktivierungsgeschwindigkeit`,
|
||||||
upgrade_WarframeCorrosiveDamageBoost: `[UNTRANSLATED] +|VAL|% Ability Damage on enemies affected by Corrosion Status`,
|
upgrade_WarframeCorrosiveDamageBoost: `+|VAL|% Fähigkeitsschaden auf Gegner, die von Korrosions-Status betroffen sind`,
|
||||||
upgrade_WarframeCorrosiveStack: `[UNTRANSLATED] Increase max stacks of Corrosion Status by +|VAL|`,
|
upgrade_WarframeCorrosiveStack: `Erhöhe maximale Stapelanzahl von Korrosions-Status um +|VAL|`,
|
||||||
upgrade_WarframeCritDamageBoost: `[UNTRANSLATED] +|VAL|% Melee Critical Damage (Doubles over 500 Energy)`,
|
upgrade_WarframeCritDamageBoost: `+|VAL|% Krit. Nahkampfschaden (verdoppelt bei über 500 Energie)`,
|
||||||
upgrade_WarframeElectricDamage: `[UNTRANSLATED] +|VAL1|% Primary Electricity Damage (+|VAL2|% per additional Shard)`,
|
upgrade_WarframeElectricDamage: `+|VAL1|% Primärwaffen Elektrizitätsschaden (+|VAL2|% pro zusätzlicher Scherbe)`,
|
||||||
upgrade_WarframeElectricDamageBoost: `[UNTRANSLATED] +|VAL|% Ability Damage on enemies affected by Electricity Status`,
|
upgrade_WarframeElectricDamageBoost: `+|VAL|% Fähigkeitsschaden auf Gegner, die von Elektrizitäts-Status betroffen sind`,
|
||||||
upgrade_WarframeEnergyMax: `[UNTRANSLATED] +|VAL| Energy Max`,
|
upgrade_WarframeEnergyMax: `+|VAL| Max. Energie`,
|
||||||
upgrade_WarframeGlobeEffectEnergy: `[UNTRANSLATED] +|VAL|% Energy Orb Effectiveness`,
|
upgrade_WarframeGlobeEffectEnergy: `+|VAL|% Wirksamkeit bei Energiekugeln`,
|
||||||
upgrade_WarframeGlobeEffectHealth: `[UNTRANSLATED] +|VAL|% Health Orb Effectiveness`,
|
upgrade_WarframeGlobeEffectHealth: `+|VAL|% Wirksamkeit bei Gesundheitskugeln`,
|
||||||
upgrade_WarframeHealthMax: `[UNTRANSLATED] +|VAL| Health`,
|
upgrade_WarframeHealthMax: `+|VAL| Gesundheit`,
|
||||||
upgrade_WarframeHPBoostFromImpact: `[UNTRANSLATED] +|VAL1| Health on kill with Blast Damage (Max |VAL2| Health)`,
|
upgrade_WarframeHPBoostFromImpact: `+|VAL1| Gesundheit beim Töten eines Gegners mit Explosionsschaden (Max. |VAL2| Gesundheit)`,
|
||||||
upgrade_WarframeParkourVelocity: `[UNTRANSLATED] +|VAL|% Parkour Velocity`,
|
upgrade_WarframeParkourVelocity: `+|VAL|% Parkour-Geschwindigkeit`,
|
||||||
upgrade_WarframeRadiationDamageBoost: `[UNTRANSLATED] +|VAL|% Ability Damage on enemies affected by Radiation Status`,
|
upgrade_WarframeRadiationDamageBoost: `+|VAL|% Fähigkeitsschaden auf Gegner, die von Strahlungs-Status betroffen sind`,
|
||||||
upgrade_WarframeRegen: `[UNTRANSLATED] +|VAL| Health Regen/s`,
|
upgrade_WarframeHealthRegen: `+|VAL| Gesundheitsregeneration pro Sekunde`,
|
||||||
upgrade_WarframeShieldMax: `[UNTRANSLATED] +|VAL| Shield`,
|
upgrade_WarframeShieldMax: `+|VAL| Schildkapazität`,
|
||||||
upgrade_WarframeStartingEnergy: `[UNTRANSLATED] +|VAL|% Energy on Spawn`,
|
upgrade_WarframeStartingEnergy: `+|VAL|% Max. Energie beim Spawnen`,
|
||||||
upgrade_WarframeToxinDamage: `[UNTRANSLATED] +|VAL|% Toxin Status Effect Damage`,
|
upgrade_WarframeToxinDamage: `+|VAL|% Schaden durch Gift-Statuseffekte`,
|
||||||
upgrade_WarframeToxinHeal: `[UNTRANSLATED] +|VAL| Health on damaging enemies with Toxin Status`,
|
upgrade_WarframeToxinHeal: `+|VAL| Gesundheit beim Schaden an Gegnern mit Gift-Status`,
|
||||||
upgrade_WeaponCritBoostFromHeat: `[UNTRANSLATED] +|VAL1|% Secondary Critical Chance per Heat-affected enemy killed (Max |VAL2|%)`,
|
upgrade_WeaponCritBoostFromHeat: `+|VAL1|% Sekundärwaffen Krit. Chance pro getötetem Gegner mit Hitze-Statuseffekt (Max. |VAL2|%)`,
|
||||||
upgrade_AvatarAbilityRange: `[UNTRANSLATED] +7.5% Ability Range`,
|
upgrade_AvatarAbilityRange: `+7.5% Fähigkeitsreichweite`,
|
||||||
upgrade_AvatarAbilityEfficiency: `[UNTRANSLATED] +5% Ability Efficiency`,
|
upgrade_AvatarAbilityEfficiency: `+5% Fähigkeitseffizienz`,
|
||||||
upgrade_AvatarEnergyRegen: `[UNTRANSLATED] +0.5 Energy Regen/s`,
|
upgrade_AvatarEnergyRegen: `+0.5 Energieregeneration pro Sekunde`,
|
||||||
upgrade_AvatarEnemyRadar: `[UNTRANSLATED] +5m Enemy Radar`,
|
upgrade_AvatarEnemyRadar: `+5m Feindradar`,
|
||||||
upgrade_AvatarLootRadar: `[UNTRANSLATED] +7m Loot Radar`,
|
upgrade_AvatarLootRadar: `+7m Beuteradar`,
|
||||||
upgrade_WeaponAmmoMax: `[UNTRANSLATED] +15% Ammo Max`,
|
upgrade_WeaponAmmoMax: `+15% Max. Munition`,
|
||||||
upgrade_EnemyArmorReductionAura: `[UNTRANSLATED] -3% Enemy Armor`,
|
upgrade_EnemyArmorReductionAura: `-3% Rüstung bei Feinden`,
|
||||||
upgrade_OnExecutionAmmo: `[UNTRANSLATED] +100% Primary and Secondary Magazine Refill on Mercy`,
|
upgrade_OnExecutionAmmo: `+100% Magazinfüllung für Primär- und Sekundärwaffen bei Gnadenstoß`,
|
||||||
upgrade_OnExecutionHealthDrop: `[UNTRANSLATED] +100% Health Orb Chance on Mercy`,
|
upgrade_OnExecutionHealthDrop: `+100% Gesundheitskugel Chance bei Gnadenstoß`,
|
||||||
upgrade_OnExecutionEnergyDrop: `[UNTRANSLATED] +50% Energy Orb Chance on Mercy`,
|
upgrade_OnExecutionEnergyDrop: `+50% Energiekugel Chance bei Gnadenstoß`,
|
||||||
upgrade_OnFailHackReset: `[UNTRANSLATED] +50% Hacking Retry Chance`,
|
upgrade_OnFailHackReset: `+50% Chance, das Hacken bei Fehlschlag zu wiederholen`,
|
||||||
upgrade_DamageReductionOnHack: `[UNTRANSLATED] +75% Damage Reduction while Hacking`,
|
upgrade_DamageReductionOnHack: `+75% Schadensreduktion beim Hacken`,
|
||||||
upgrade_OnExecutionReviveCompanion: `[UNTRANSLATED] Mercy Kills reduce Companion Recovery by 15s`,
|
upgrade_OnExecutionReviveCompanion: `Gnadenstoß-Kills verkürzen die Erholungszeit des Begleiters um 15s`,
|
||||||
upgrade_OnExecutionParkourSpeed: `[UNTRANSLATED] +60% Parkour Speed after a Mercy for 15s`,
|
upgrade_OnExecutionParkourSpeed: `+60% Parkour-Geschwindigkeit für 15s nach Gnadenstoß`,
|
||||||
upgrade_AvatarTimeLimitIncrease: `[UNTRANSLATED] +8s to Hacking`,
|
upgrade_AvatarTimeLimitIncrease: `+8s extra Zeit beim Hacken`,
|
||||||
upgrade_ElectrifyOnHack: `[UNTRANSLATED] Shock enemies within 20m while Hacking`,
|
upgrade_ElectrifyOnHack: `Setze beim Hacken Gegner innerhalb von 20m unter Strom`,
|
||||||
upgrade_OnExecutionTerrify: `[UNTRANSLATED] +50% chance for enemies within 15m to cower in fear for 8 seconds on Mercy`,
|
upgrade_OnExecutionTerrify: `+50% Chance bei Gnadenstoß, dass Feinde innerhalb von 15m vor Furcht für 8s kauern`,
|
||||||
upgrade_OnHackLockers: `[UNTRANSLATED] Unlock 5 lockers within 20m after Hacking`,
|
upgrade_OnHackLockers: `Schließe nach dem Hacken 5 Spinde innerhalb von 20m auf`,
|
||||||
upgrade_OnExecutionBlind: `[UNTRANSLATED] Blind enemies within 18m on Mercy`,
|
upgrade_OnExecutionBlind: `Blende bei einem Gnadenstoß Gegner innerhalb von 18m`,
|
||||||
upgrade_OnExecutionDrainPower: `[UNTRANSLATED] Next ability cast gains +50% Ability Strength on Mercy`,
|
upgrade_OnExecutionDrainPower: `Nächste Fähigkeit erhält +50% Fähigkeitsstärke nach Gnadenstoß`,
|
||||||
upgrade_OnHackSprintSpeed: `[UNTRANSLATED] +75% Sprint Speed for 15s after Hacking`,
|
upgrade_OnHackSprintSpeed: `+75% Sprint-Geschwindigkeit für 15s nach dem Hacken`,
|
||||||
upgrade_SwiftExecute: `[UNTRANSLATED] +50% Mercy Kill Speed`,
|
upgrade_SwiftExecute: `+50% Gnadenstoß-Geschwindigkeit`,
|
||||||
upgrade_OnHackInvis: `[UNTRANSLATED] Invisible for 15 seconds after Hacking`,
|
upgrade_OnHackInvis: `+15s Unsichtbarkeit nach dem Hacken`,
|
||||||
|
|
||||||
damageType_Electricity: `Elektrizität`,
|
damageType_Electricity: `Elektrizität`,
|
||||||
damageType_Fire: `Hitze`,
|
damageType_Fire: `Hitze`,
|
||||||
@ -318,8 +346,8 @@ dict = {
|
|||||||
damageType_Poison: `Gift`,
|
damageType_Poison: `Gift`,
|
||||||
damageType_Radiation: `Strahlung`,
|
damageType_Radiation: `Strahlung`,
|
||||||
|
|
||||||
theme_dark: `[UNTRANSLATED] Dark Theme`,
|
theme_dark: `Dunkles Design`,
|
||||||
theme_light: `[UNTRANSLATED] Light Theme`,
|
theme_light: `Helles Design`,
|
||||||
|
|
||||||
prettier_sucks_ass: ``
|
prettier_sucks_ass: ``
|
||||||
};
|
};
|
||||||
|
@ -2,6 +2,7 @@ dict = {
|
|||||||
general_inventoryUpdateNote: `Note: To see changes in-game, you need to resync your inventory, e.g. using the bootstrapper's /sync command, visiting a dojo/relay, or relogging.`,
|
general_inventoryUpdateNote: `Note: To see changes in-game, you need to resync your inventory, e.g. using the bootstrapper's /sync command, visiting a dojo/relay, or relogging.`,
|
||||||
general_addButton: `Add`,
|
general_addButton: `Add`,
|
||||||
general_setButton: `Set`,
|
general_setButton: `Set`,
|
||||||
|
general_none: `None`,
|
||||||
general_bulkActions: `Bulk Actions`,
|
general_bulkActions: `Bulk Actions`,
|
||||||
general_loading: `Loading...`,
|
general_loading: `Loading...`,
|
||||||
|
|
||||||
@ -61,6 +62,7 @@ dict = {
|
|||||||
code_mature: `Mature for combat`,
|
code_mature: `Mature for combat`,
|
||||||
code_unmature: `Regress genetic aging`,
|
code_unmature: `Regress genetic aging`,
|
||||||
code_succChange: `Successfully changed.`,
|
code_succChange: `Successfully changed.`,
|
||||||
|
code_requiredInvigorationUpgrade: `You must select both an offensive & defensive upgrade.`,
|
||||||
login_description: `Login using your OpenWF account credentials (same as in-game when connecting to this server).`,
|
login_description: `Login using your OpenWF account credentials (same as in-game when connecting to this server).`,
|
||||||
login_emailLabel: `Email address`,
|
login_emailLabel: `Email address`,
|
||||||
login_passwordLabel: `Password`,
|
login_passwordLabel: `Password`,
|
||||||
@ -124,6 +126,33 @@ dict = {
|
|||||||
detailedView_valenceBonusLabel: `Valence Bonus`,
|
detailedView_valenceBonusLabel: `Valence Bonus`,
|
||||||
detailedView_valenceBonusDescription: `You can set or remove the Valence Bonus from your weapon.`,
|
detailedView_valenceBonusDescription: `You can set or remove the Valence Bonus from your weapon.`,
|
||||||
detailedView_modularPartsLabel: `Change Modular Parts`,
|
detailedView_modularPartsLabel: `Change Modular Parts`,
|
||||||
|
detailedView_suitInvigorationLabel: `Warframe Invigoration`,
|
||||||
|
|
||||||
|
invigorations_offensive_AbilityStrength: `+200% Ability Strength`,
|
||||||
|
invigorations_offensive_AbilityRange: `+100% Ability Range`,
|
||||||
|
invigorations_offensive_AbilityDuration: `+100% Ability Duration`,
|
||||||
|
invigorations_offensive_MeleeDamage: `+250% Melee Damage`,
|
||||||
|
invigorations_offensive_PrimaryDamage: `+250% Primary Damage`,
|
||||||
|
invigorations_offensive_SecondaryDamage: `+250% Secondary Damage`,
|
||||||
|
invigorations_offensive_PrimaryCritChance: `+200% Primary Critical Chance`,
|
||||||
|
invigorations_offensive_SecondaryCritChance: `+200% Secondary Critical Chance`,
|
||||||
|
invigorations_offensive_MeleeCritChance: `+200% Melee Critical Chance`,
|
||||||
|
|
||||||
|
invigorations_utility_AbilityEfficiency: `+75% Ability Efficiency`,
|
||||||
|
invigorations_utility_SprintSpeed: `+75% Sprint Speed`,
|
||||||
|
invigorations_utility_ParkourVelocity: `+75% Parkour Velocity`,
|
||||||
|
invigorations_utility_HealthMax: `+1000 Health`,
|
||||||
|
invigorations_utility_EnergyMax: `+200% Energy Max`,
|
||||||
|
invigorations_utility_StatusImmune: `Immune to Status Effects`,
|
||||||
|
invigorations_utility_ReloadSpeed: `+75% Reload Speed`,
|
||||||
|
invigorations_utility_HealthRegen: `+25 Health Regen/s`,
|
||||||
|
invigorations_utility_ArmorMax: `+1000 Armor`,
|
||||||
|
invigorations_utility_Jumps: `+5 Jump Resets`,
|
||||||
|
invigorations_utility_EnergyRegen: `+2 Energy Regen/s`,
|
||||||
|
|
||||||
|
invigorations_offensiveLabel: `Offensive Upgrade`,
|
||||||
|
invigorations_defensiveLabel: `Defensive Upgrade`,
|
||||||
|
invigorations_expiryLabel: `Upgrades Expiry (optional)`,
|
||||||
|
|
||||||
mods_addRiven: `Add Riven`,
|
mods_addRiven: `Add Riven`,
|
||||||
mods_fingerprint: `Fingerprint`,
|
mods_fingerprint: `Fingerprint`,
|
||||||
@ -202,7 +231,6 @@ dict = {
|
|||||||
cheats_intrinsicsUnlockAll: `Max Rank All Intrinsics`,
|
cheats_intrinsicsUnlockAll: `Max Rank All Intrinsics`,
|
||||||
cheats_changeSupportedSyndicate: `Supported syndicate`,
|
cheats_changeSupportedSyndicate: `Supported syndicate`,
|
||||||
cheats_changeButton: `Change`,
|
cheats_changeButton: `Change`,
|
||||||
cheats_none: `None`,
|
|
||||||
cheats_markAllAsRead: `Mark Inbox As Read`,
|
cheats_markAllAsRead: `Mark Inbox As Read`,
|
||||||
|
|
||||||
worldState: `World State`,
|
worldState: `World State`,
|
||||||
@ -264,7 +292,7 @@ dict = {
|
|||||||
upgrade_SecondaryCritChance: `+|VAL|% Secondary Critical Chance`,
|
upgrade_SecondaryCritChance: `+|VAL|% Secondary Critical Chance`,
|
||||||
upgrade_WarframeAbilityDuration: `+|VAL|% Ability Duration`,
|
upgrade_WarframeAbilityDuration: `+|VAL|% Ability Duration`,
|
||||||
upgrade_WarframeAbilityStrength: `+|VAL|% Ability Strength`,
|
upgrade_WarframeAbilityStrength: `+|VAL|% Ability Strength`,
|
||||||
upgrade_WarframeArmourMax: `+|VAL| Armor`,
|
upgrade_WarframeArmorMax: `+|VAL| Armor`,
|
||||||
upgrade_WarframeBlastProc: `+|VAL| Shields on kill with Blast Damage`,
|
upgrade_WarframeBlastProc: `+|VAL| Shields on kill with Blast Damage`,
|
||||||
upgrade_WarframeCastingSpeed: `+|VAL|% Casting Speed`,
|
upgrade_WarframeCastingSpeed: `+|VAL|% Casting Speed`,
|
||||||
upgrade_WarframeCorrosiveDamageBoost: `+|VAL|% Ability Damage on enemies affected by Corrosion Status`,
|
upgrade_WarframeCorrosiveDamageBoost: `+|VAL|% Ability Damage on enemies affected by Corrosion Status`,
|
||||||
@ -279,7 +307,7 @@ dict = {
|
|||||||
upgrade_WarframeHPBoostFromImpact: `+|VAL1| Health on kill with Blast Damage (Max |VAL2| Health)`,
|
upgrade_WarframeHPBoostFromImpact: `+|VAL1| Health on kill with Blast Damage (Max |VAL2| Health)`,
|
||||||
upgrade_WarframeParkourVelocity: `+|VAL|% Parkour Velocity`,
|
upgrade_WarframeParkourVelocity: `+|VAL|% Parkour Velocity`,
|
||||||
upgrade_WarframeRadiationDamageBoost: `+|VAL|% Ability Damage on enemies affected by Radiation Status`,
|
upgrade_WarframeRadiationDamageBoost: `+|VAL|% Ability Damage on enemies affected by Radiation Status`,
|
||||||
upgrade_WarframeRegen: `+|VAL| Health Regen/s`,
|
upgrade_WarframeHealthRegen: `+|VAL| Health Regen/s`,
|
||||||
upgrade_WarframeShieldMax: `+|VAL| Shield`,
|
upgrade_WarframeShieldMax: `+|VAL| Shield`,
|
||||||
upgrade_WarframeStartingEnergy: `+|VAL|% Energy on Spawn`,
|
upgrade_WarframeStartingEnergy: `+|VAL|% Energy on Spawn`,
|
||||||
upgrade_WarframeToxinDamage: `+|VAL|% Toxin Status Effect Damage`,
|
upgrade_WarframeToxinDamage: `+|VAL|% Toxin Status Effect Damage`,
|
||||||
|
@ -3,6 +3,7 @@ dict = {
|
|||||||
general_inventoryUpdateNote: `Para ver los cambios en el juego, necesitas volver a sincronizar tu inventario, por ejemplo, usando el comando /sync del bootstrapper, visitando un dojo o repetidor, o volviendo a iniciar sesión.`,
|
general_inventoryUpdateNote: `Para ver los cambios en el juego, necesitas volver a sincronizar tu inventario, por ejemplo, usando el comando /sync del bootstrapper, visitando un dojo o repetidor, o volviendo a iniciar sesión.`,
|
||||||
general_addButton: `Agregar`,
|
general_addButton: `Agregar`,
|
||||||
general_setButton: `Establecer`,
|
general_setButton: `Establecer`,
|
||||||
|
general_none: `Ninguno`,
|
||||||
general_bulkActions: `Acciones masivas`,
|
general_bulkActions: `Acciones masivas`,
|
||||||
general_loading: `Cargando...`,
|
general_loading: `Cargando...`,
|
||||||
|
|
||||||
@ -61,7 +62,8 @@ dict = {
|
|||||||
code_pigment: `Pigmento`,
|
code_pigment: `Pigmento`,
|
||||||
code_mature: `Listo para el combate`,
|
code_mature: `Listo para el combate`,
|
||||||
code_unmature: `Regresar el envejecimiento genético`,
|
code_unmature: `Regresar el envejecimiento genético`,
|
||||||
code_succChange: `[UNTRANSLATED] Successfully changed.`,
|
code_succChange: `Cambiado correctamente`,
|
||||||
|
code_requiredInvigorationUpgrade: `[UNTRANSLATED] You must select both an offensive & defensive upgrade.`,
|
||||||
login_description: `Inicia sesión con las credenciales de tu cuenta OpenWF (las mismas que usas en el juego al conectarte a este servidor).`,
|
login_description: `Inicia sesión con las credenciales de tu cuenta OpenWF (las mismas que usas en el juego al conectarte a este servidor).`,
|
||||||
login_emailLabel: `Dirección de correo electrónico`,
|
login_emailLabel: `Dirección de correo electrónico`,
|
||||||
login_passwordLabel: `Contraseña`,
|
login_passwordLabel: `Contraseña`,
|
||||||
@ -124,7 +126,34 @@ dict = {
|
|||||||
detailedView_archonShardsDescription2: `Ten en cuenta que cada fragmento de archón tarda un poco en aplicarse al cargar`,
|
detailedView_archonShardsDescription2: `Ten en cuenta que cada fragmento de archón tarda un poco en aplicarse al cargar`,
|
||||||
detailedView_valenceBonusLabel: `Bônus de Valência`,
|
detailedView_valenceBonusLabel: `Bônus de Valência`,
|
||||||
detailedView_valenceBonusDescription: `Puedes establecer o quitar el bono de valencia de tu arma.`,
|
detailedView_valenceBonusDescription: `Puedes establecer o quitar el bono de valencia de tu arma.`,
|
||||||
detailedView_modularPartsLabel: `[UNTRANSLATED] Change Modular Parts`,
|
detailedView_modularPartsLabel: `Cambiar partes modulares`,
|
||||||
|
detailedView_suitInvigorationLabel: `[UNTRANSLATED] Warframe Invigoration`,
|
||||||
|
|
||||||
|
invigorations_offensive_AbilityStrength: `[UNTRANSLATED] +200% Ability Strength`,
|
||||||
|
invigorations_offensive_AbilityRange: `[UNTRANSLATED] +100% Ability Range`,
|
||||||
|
invigorations_offensive_AbilityDuration: `[UNTRANSLATED] +100% Ability Duration`,
|
||||||
|
invigorations_offensive_MeleeDamage: `[UNTRANSLATED] +250% Melee Damage`,
|
||||||
|
invigorations_offensive_PrimaryDamage: `[UNTRANSLATED] +250% Primary Damage`,
|
||||||
|
invigorations_offensive_SecondaryDamage: `[UNTRANSLATED] +250% Secondary Damage`,
|
||||||
|
invigorations_offensive_PrimaryCritChance: `[UNTRANSLATED] +200% Primary Critical Chance`,
|
||||||
|
invigorations_offensive_SecondaryCritChance: `[UNTRANSLATED] +200% Secondary Critical Chance`,
|
||||||
|
invigorations_offensive_MeleeCritChance: `[UNTRANSLATED] +200% Melee Critical Chance`,
|
||||||
|
|
||||||
|
invigorations_utility_AbilityEfficiency: `[UNTRANSLATED] +75% Ability Efficiency`,
|
||||||
|
invigorations_utility_SprintSpeed: `[UNTRANSLATED] +75% Sprint Speed`,
|
||||||
|
invigorations_utility_ParkourVelocity: `[UNTRANSLATED] +75% Parkour Velocity`,
|
||||||
|
invigorations_utility_HealthMax: `[UNTRANSLATED] +1000 Health`,
|
||||||
|
invigorations_utility_EnergyMax: `[UNTRANSLATED] +200% Energy Max`,
|
||||||
|
invigorations_utility_StatusImmune: `[UNTRANSLATED] Immune to Status Effects`,
|
||||||
|
invigorations_utility_ReloadSpeed: `[UNTRANSLATED] +75% Reload Speed`,
|
||||||
|
invigorations_utility_HealthRegen: `[UNTRANSLATED] +25 Health Regen/s`,
|
||||||
|
invigorations_utility_ArmorMax: `[UNTRANSLATED] +1000 Armor`,
|
||||||
|
invigorations_utility_Jumps: `[UNTRANSLATED] +5 Jump Resets`,
|
||||||
|
invigorations_utility_EnergyRegen: `[UNTRANSLATED] +2 Energy Regen/s`,
|
||||||
|
|
||||||
|
invigorations_offensiveLabel: `[UNTRANSLATED] Offensive Upgrade`,
|
||||||
|
invigorations_defensiveLabel: `[UNTRANSLATED] Defensive Upgrade`,
|
||||||
|
invigorations_expiryLabel: `[UNTRANSLATED] Upgrades Expiry (optional)`,
|
||||||
|
|
||||||
mods_addRiven: `Agregar Agrietado`,
|
mods_addRiven: `Agregar Agrietado`,
|
||||||
mods_fingerprint: `Huella digital`,
|
mods_fingerprint: `Huella digital`,
|
||||||
@ -203,7 +232,6 @@ dict = {
|
|||||||
cheats_intrinsicsUnlockAll: `Maximizar todos los intrínsecos`,
|
cheats_intrinsicsUnlockAll: `Maximizar todos los intrínsecos`,
|
||||||
cheats_changeSupportedSyndicate: `Sindicatos disponibles`,
|
cheats_changeSupportedSyndicate: `Sindicatos disponibles`,
|
||||||
cheats_changeButton: `Cambiar`,
|
cheats_changeButton: `Cambiar`,
|
||||||
cheats_none: `Ninguno`,
|
|
||||||
cheats_markAllAsRead: `Marcar bandeja de entrada como leída`,
|
cheats_markAllAsRead: `Marcar bandeja de entrada como leída`,
|
||||||
|
|
||||||
worldState: `Estado del mundo`,
|
worldState: `Estado del mundo`,
|
||||||
@ -265,7 +293,7 @@ dict = {
|
|||||||
upgrade_SecondaryCritChance: `+|VAL|% de probabilidad crítica en armas secundarias`,
|
upgrade_SecondaryCritChance: `+|VAL|% de probabilidad crítica en armas secundarias`,
|
||||||
upgrade_WarframeAbilityDuration: `+|VAL|% de duración de habilidades`,
|
upgrade_WarframeAbilityDuration: `+|VAL|% de duración de habilidades`,
|
||||||
upgrade_WarframeAbilityStrength: `+|VAL|% de fuerza de habilidades`,
|
upgrade_WarframeAbilityStrength: `+|VAL|% de fuerza de habilidades`,
|
||||||
upgrade_WarframeArmourMax: `+|VAL| de armadura`,
|
upgrade_WarframeArmorMax: `+|VAL| de armadura`,
|
||||||
upgrade_WarframeBlastProc: `+|VAL| de escudos al matar con daño de explosión`,
|
upgrade_WarframeBlastProc: `+|VAL| de escudos al matar con daño de explosión`,
|
||||||
upgrade_WarframeCastingSpeed: `+|VAL|% de velocidad de lanzamiento de habilidades`,
|
upgrade_WarframeCastingSpeed: `+|VAL|% de velocidad de lanzamiento de habilidades`,
|
||||||
upgrade_WarframeCorrosiveDamageBoost: `+|VAL|% de daño de habilidades a enemigos con estado corrosivo`,
|
upgrade_WarframeCorrosiveDamageBoost: `+|VAL|% de daño de habilidades a enemigos con estado corrosivo`,
|
||||||
@ -280,7 +308,7 @@ dict = {
|
|||||||
upgrade_WarframeHPBoostFromImpact: `+|VAL1| de salud al eliminar con daño explosivo (máx. |VAL2| de salud)`,
|
upgrade_WarframeHPBoostFromImpact: `+|VAL1| de salud al eliminar con daño explosivo (máx. |VAL2| de salud)`,
|
||||||
upgrade_WarframeParkourVelocity: `+|VAL|% de velocidad de parkour`,
|
upgrade_WarframeParkourVelocity: `+|VAL|% de velocidad de parkour`,
|
||||||
upgrade_WarframeRadiationDamageBoost: `+|VAL|% de daño de habilidades a enemigos con estado radiactivo`,
|
upgrade_WarframeRadiationDamageBoost: `+|VAL|% de daño de habilidades a enemigos con estado radiactivo`,
|
||||||
upgrade_WarframeRegen: `+|VAL| de regeneración de salud por segundo`,
|
upgrade_WarframeHealthRegen: `+|VAL| de regeneración de salud por segundo`,
|
||||||
upgrade_WarframeShieldMax: `+|VAL| de escudo`,
|
upgrade_WarframeShieldMax: `+|VAL| de escudo`,
|
||||||
upgrade_WarframeStartingEnergy: `+|VAL|% de energía al reaparecer`,
|
upgrade_WarframeStartingEnergy: `+|VAL|% de energía al reaparecer`,
|
||||||
upgrade_WarframeToxinDamage: `+|VAL|% de daño por efecto de estado tóxico`,
|
upgrade_WarframeToxinDamage: `+|VAL|% de daño por efecto de estado tóxico`,
|
||||||
|
@ -3,6 +3,7 @@ dict = {
|
|||||||
general_inventoryUpdateNote: `[UNTRANSLATED] Note: To see changes in-game, you need to resync your inventory, e.g. using the bootstrapper's /sync command, visiting a dojo/relay, or relogging.`,
|
general_inventoryUpdateNote: `[UNTRANSLATED] Note: To see changes in-game, you need to resync your inventory, e.g. using the bootstrapper's /sync command, visiting a dojo/relay, or relogging.`,
|
||||||
general_addButton: `Ajouter`,
|
general_addButton: `Ajouter`,
|
||||||
general_setButton: `[UNTRANSLATED] Set`,
|
general_setButton: `[UNTRANSLATED] Set`,
|
||||||
|
general_none: `Aucun`,
|
||||||
general_bulkActions: `Action groupée`,
|
general_bulkActions: `Action groupée`,
|
||||||
general_loading: `[UNTRANSLATED] Loading...`,
|
general_loading: `[UNTRANSLATED] Loading...`,
|
||||||
|
|
||||||
@ -62,6 +63,7 @@ dict = {
|
|||||||
code_mature: `Maturer pour le combat`,
|
code_mature: `Maturer pour le combat`,
|
||||||
code_unmature: `Régrésser l'âge génétique`,
|
code_unmature: `Régrésser l'âge génétique`,
|
||||||
code_succChange: `[UNTRANSLATED] Successfully changed.`,
|
code_succChange: `[UNTRANSLATED] Successfully changed.`,
|
||||||
|
code_requiredInvigorationUpgrade: `[UNTRANSLATED] You must select both an offensive & defensive upgrade.`,
|
||||||
login_description: `Connexion avec les informations de connexion OpenWF.`,
|
login_description: `Connexion avec les informations de connexion OpenWF.`,
|
||||||
login_emailLabel: `Email`,
|
login_emailLabel: `Email`,
|
||||||
login_passwordLabel: `Mot de passe`,
|
login_passwordLabel: `Mot de passe`,
|
||||||
@ -125,6 +127,33 @@ dict = {
|
|||||||
detailedView_valenceBonusLabel: `Bonus de Valence`,
|
detailedView_valenceBonusLabel: `Bonus de Valence`,
|
||||||
detailedView_valenceBonusDescription: `[UNTRANSLATED] You can set or remove the Valence Bonus from your weapon.`,
|
detailedView_valenceBonusDescription: `[UNTRANSLATED] You can set or remove the Valence Bonus from your weapon.`,
|
||||||
detailedView_modularPartsLabel: `[UNTRANSLATED] Change Modular Parts`,
|
detailedView_modularPartsLabel: `[UNTRANSLATED] Change Modular Parts`,
|
||||||
|
detailedView_suitInvigorationLabel: `[UNTRANSLATED] Warframe Invigoration`,
|
||||||
|
|
||||||
|
invigorations_offensive_AbilityStrength: `[UNTRANSLATED] +200% Ability Strength`,
|
||||||
|
invigorations_offensive_AbilityRange: `[UNTRANSLATED] +100% Ability Range`,
|
||||||
|
invigorations_offensive_AbilityDuration: `[UNTRANSLATED] +100% Ability Duration`,
|
||||||
|
invigorations_offensive_MeleeDamage: `[UNTRANSLATED] +250% Melee Damage`,
|
||||||
|
invigorations_offensive_PrimaryDamage: `[UNTRANSLATED] +250% Primary Damage`,
|
||||||
|
invigorations_offensive_SecondaryDamage: `[UNTRANSLATED] +250% Secondary Damage`,
|
||||||
|
invigorations_offensive_PrimaryCritChance: `[UNTRANSLATED] +200% Primary Critical Chance`,
|
||||||
|
invigorations_offensive_SecondaryCritChance: `[UNTRANSLATED] +200% Secondary Critical Chance`,
|
||||||
|
invigorations_offensive_MeleeCritChance: `[UNTRANSLATED] +200% Melee Critical Chance`,
|
||||||
|
|
||||||
|
invigorations_utility_AbilityEfficiency: `[UNTRANSLATED] +75% Ability Efficiency`,
|
||||||
|
invigorations_utility_SprintSpeed: `[UNTRANSLATED] +75% Sprint Speed`,
|
||||||
|
invigorations_utility_ParkourVelocity: `[UNTRANSLATED] +75% Parkour Velocity`,
|
||||||
|
invigorations_utility_HealthMax: `[UNTRANSLATED] +1000 Health`,
|
||||||
|
invigorations_utility_EnergyMax: `[UNTRANSLATED] +200% Energy Max`,
|
||||||
|
invigorations_utility_StatusImmune: `[UNTRANSLATED] Immune to Status Effects`,
|
||||||
|
invigorations_utility_ReloadSpeed: `[UNTRANSLATED] +75% Reload Speed`,
|
||||||
|
invigorations_utility_HealthRegen: `[UNTRANSLATED] +25 Health Regen/s`,
|
||||||
|
invigorations_utility_ArmorMax: `[UNTRANSLATED] +1000 Armor`,
|
||||||
|
invigorations_utility_Jumps: `[UNTRANSLATED] +5 Jump Resets`,
|
||||||
|
invigorations_utility_EnergyRegen: `[UNTRANSLATED] +2 Energy Regen/s`,
|
||||||
|
|
||||||
|
invigorations_offensiveLabel: `[UNTRANSLATED] Offensive Upgrade`,
|
||||||
|
invigorations_defensiveLabel: `[UNTRANSLATED] Defensive Upgrade`,
|
||||||
|
invigorations_expiryLabel: `[UNTRANSLATED] Upgrades Expiry (optional)`,
|
||||||
|
|
||||||
mods_addRiven: `Ajouter un riven`,
|
mods_addRiven: `Ajouter un riven`,
|
||||||
mods_fingerprint: `Empreinte`,
|
mods_fingerprint: `Empreinte`,
|
||||||
@ -203,7 +232,6 @@ dict = {
|
|||||||
cheats_intrinsicsUnlockAll: `Inhérences niveau max`,
|
cheats_intrinsicsUnlockAll: `Inhérences niveau max`,
|
||||||
cheats_changeSupportedSyndicate: `Allégeance`,
|
cheats_changeSupportedSyndicate: `Allégeance`,
|
||||||
cheats_changeButton: `Changer`,
|
cheats_changeButton: `Changer`,
|
||||||
cheats_none: `Aucun`,
|
|
||||||
cheats_markAllAsRead: `[UNTRANSLATED] Mark Inbox As Read`,
|
cheats_markAllAsRead: `[UNTRANSLATED] Mark Inbox As Read`,
|
||||||
|
|
||||||
worldState: `[UNTRANSLATED] World State`,
|
worldState: `[UNTRANSLATED] World State`,
|
||||||
@ -265,7 +293,7 @@ dict = {
|
|||||||
upgrade_SecondaryCritChance: `+|VAL|% de chance critique sur arme secondaire`,
|
upgrade_SecondaryCritChance: `+|VAL|% de chance critique sur arme secondaire`,
|
||||||
upgrade_WarframeAbilityDuration: `+|VAL|% de durée de pouvoir`,
|
upgrade_WarframeAbilityDuration: `+|VAL|% de durée de pouvoir`,
|
||||||
upgrade_WarframeAbilityStrength: `+|VAL|% de puissance de pouvoir`,
|
upgrade_WarframeAbilityStrength: `+|VAL|% de puissance de pouvoir`,
|
||||||
upgrade_WarframeArmourMax: `+|VAL| d'armure`,
|
upgrade_WarframeArmorMax: `+|VAL| d'armure`,
|
||||||
upgrade_WarframeBlastProc: `+|VAL| de boucliers sur élimination avec des dégats d'explosion`,
|
upgrade_WarframeBlastProc: `+|VAL| de boucliers sur élimination avec des dégats d'explosion`,
|
||||||
upgrade_WarframeCastingSpeed: `+|VAL|% de vitesse de lancement de pouvoir`,
|
upgrade_WarframeCastingSpeed: `+|VAL|% de vitesse de lancement de pouvoir`,
|
||||||
upgrade_WarframeCorrosiveDamageBoost: `+|VAL|% de dégâts de pouvoir sur les ennemis affectés par du statut corrosif`,
|
upgrade_WarframeCorrosiveDamageBoost: `+|VAL|% de dégâts de pouvoir sur les ennemis affectés par du statut corrosif`,
|
||||||
@ -280,7 +308,7 @@ dict = {
|
|||||||
upgrade_WarframeHPBoostFromImpact: `[UNTRANSLATED] +|VAL1| Health on kill with Blast Damage (Max |VAL2| Health)`,
|
upgrade_WarframeHPBoostFromImpact: `[UNTRANSLATED] +|VAL1| Health on kill with Blast Damage (Max |VAL2| Health)`,
|
||||||
upgrade_WarframeParkourVelocity: `+|VAL|% de vélocité de parkour`,
|
upgrade_WarframeParkourVelocity: `+|VAL|% de vélocité de parkour`,
|
||||||
upgrade_WarframeRadiationDamageBoost: `+|VAL|% de dégâts de pouvoir sur les ennemis affectés par du statut radiation`,
|
upgrade_WarframeRadiationDamageBoost: `+|VAL|% de dégâts de pouvoir sur les ennemis affectés par du statut radiation`,
|
||||||
upgrade_WarframeRegen: `+|VAL| régénération de santé/s`,
|
upgrade_WarframeHealthRegen: `+|VAL| régénération de santé/s`,
|
||||||
upgrade_WarframeShieldMax: `+|VAL| de boucliers`,
|
upgrade_WarframeShieldMax: `+|VAL| de boucliers`,
|
||||||
upgrade_WarframeStartingEnergy: `+|VAL|% d'énergie sur apparition`,
|
upgrade_WarframeStartingEnergy: `+|VAL|% d'énergie sur apparition`,
|
||||||
upgrade_WarframeToxinDamage: `+|VAL|% de dégâts sur le statut poison`,
|
upgrade_WarframeToxinDamage: `+|VAL|% de dégâts sur le statut poison`,
|
||||||
|
@ -3,6 +3,7 @@ dict = {
|
|||||||
general_inventoryUpdateNote: `[UNTRANSLATED] Note: To see changes in-game, you need to resync your inventory, e.g. using the bootstrapper's /sync command, visiting a dojo/relay, or relogging.`,
|
general_inventoryUpdateNote: `[UNTRANSLATED] Note: To see changes in-game, you need to resync your inventory, e.g. using the bootstrapper's /sync command, visiting a dojo/relay, or relogging.`,
|
||||||
general_addButton: `Добавить`,
|
general_addButton: `Добавить`,
|
||||||
general_setButton: `Установить`,
|
general_setButton: `Установить`,
|
||||||
|
general_none: `Отсутствует`,
|
||||||
general_bulkActions: `Массовые действия`,
|
general_bulkActions: `Массовые действия`,
|
||||||
general_loading: `[UNTRANSLATED] Loading...`,
|
general_loading: `[UNTRANSLATED] Loading...`,
|
||||||
|
|
||||||
@ -62,6 +63,7 @@ dict = {
|
|||||||
code_mature: `Подготовить к сражениям`,
|
code_mature: `Подготовить к сражениям`,
|
||||||
code_unmature: `Регрессия генетического старения`,
|
code_unmature: `Регрессия генетического старения`,
|
||||||
code_succChange: `Успешно изменено.`,
|
code_succChange: `Успешно изменено.`,
|
||||||
|
code_requiredInvigorationUpgrade: `[UNTRANSLATED] You must select both an offensive & defensive upgrade.`,
|
||||||
login_description: `Войдите, используя учетные данные OpenWF (те же, что и в игре при подключении к этому серверу).`,
|
login_description: `Войдите, используя учетные данные OpenWF (те же, что и в игре при подключении к этому серверу).`,
|
||||||
login_emailLabel: `Адрес электронной почты`,
|
login_emailLabel: `Адрес электронной почты`,
|
||||||
login_passwordLabel: `Пароль`,
|
login_passwordLabel: `Пароль`,
|
||||||
@ -125,6 +127,33 @@ dict = {
|
|||||||
detailedView_valenceBonusLabel: `Бонус Валентности`,
|
detailedView_valenceBonusLabel: `Бонус Валентности`,
|
||||||
detailedView_valenceBonusDescription: `Вы можете установить или убрать бонус валентности с вашего оружия.`,
|
detailedView_valenceBonusDescription: `Вы можете установить или убрать бонус валентности с вашего оружия.`,
|
||||||
detailedView_modularPartsLabel: `Изменить Модульные Части`,
|
detailedView_modularPartsLabel: `Изменить Модульные Части`,
|
||||||
|
detailedView_suitInvigorationLabel: `[UNTRANSLATED] Warframe Invigoration`,
|
||||||
|
|
||||||
|
invigorations_offensive_AbilityStrength: `[UNTRANSLATED] +200% Ability Strength`,
|
||||||
|
invigorations_offensive_AbilityRange: `[UNTRANSLATED] +100% Ability Range`,
|
||||||
|
invigorations_offensive_AbilityDuration: `[UNTRANSLATED] +100% Ability Duration`,
|
||||||
|
invigorations_offensive_MeleeDamage: `[UNTRANSLATED] +250% Melee Damage`,
|
||||||
|
invigorations_offensive_PrimaryDamage: `[UNTRANSLATED] +250% Primary Damage`,
|
||||||
|
invigorations_offensive_SecondaryDamage: `[UNTRANSLATED] +250% Secondary Damage`,
|
||||||
|
invigorations_offensive_PrimaryCritChance: `[UNTRANSLATED] +200% Primary Critical Chance`,
|
||||||
|
invigorations_offensive_SecondaryCritChance: `[UNTRANSLATED] +200% Secondary Critical Chance`,
|
||||||
|
invigorations_offensive_MeleeCritChance: `[UNTRANSLATED] +200% Melee Critical Chance`,
|
||||||
|
|
||||||
|
invigorations_utility_AbilityEfficiency: `[UNTRANSLATED] +75% Ability Efficiency`,
|
||||||
|
invigorations_utility_SprintSpeed: `[UNTRANSLATED] +75% Sprint Speed`,
|
||||||
|
invigorations_utility_ParkourVelocity: `[UNTRANSLATED] +75% Parkour Velocity`,
|
||||||
|
invigorations_utility_HealthMax: `[UNTRANSLATED] +1000 Health`,
|
||||||
|
invigorations_utility_EnergyMax: `[UNTRANSLATED] +200% Energy Max`,
|
||||||
|
invigorations_utility_StatusImmune: `[UNTRANSLATED] Immune to Status Effects`,
|
||||||
|
invigorations_utility_ReloadSpeed: `[UNTRANSLATED] +75% Reload Speed`,
|
||||||
|
invigorations_utility_HealthRegen: `[UNTRANSLATED] +25 Health Regen/s`,
|
||||||
|
invigorations_utility_ArmorMax: `[UNTRANSLATED] +1000 Armor`,
|
||||||
|
invigorations_utility_Jumps: `[UNTRANSLATED] +5 Jump Resets`,
|
||||||
|
invigorations_utility_EnergyRegen: `[UNTRANSLATED] +2 Energy Regen/s`,
|
||||||
|
|
||||||
|
invigorations_offensiveLabel: `[UNTRANSLATED] Offensive Upgrade`,
|
||||||
|
invigorations_defensiveLabel: `[UNTRANSLATED] Defensive Upgrade`,
|
||||||
|
invigorations_expiryLabel: `[UNTRANSLATED] Upgrades Expiry (optional)`,
|
||||||
|
|
||||||
mods_addRiven: `Добавить Мод Разлома`,
|
mods_addRiven: `Добавить Мод Разлома`,
|
||||||
mods_fingerprint: `Отпечаток`,
|
mods_fingerprint: `Отпечаток`,
|
||||||
@ -203,7 +232,6 @@ dict = {
|
|||||||
cheats_intrinsicsUnlockAll: `Полностью улучшить Модуляры`,
|
cheats_intrinsicsUnlockAll: `Полностью улучшить Модуляры`,
|
||||||
cheats_changeSupportedSyndicate: `Поддерживаемый синдикат`,
|
cheats_changeSupportedSyndicate: `Поддерживаемый синдикат`,
|
||||||
cheats_changeButton: `Изменить`,
|
cheats_changeButton: `Изменить`,
|
||||||
cheats_none: `Отсутствует`,
|
|
||||||
cheats_markAllAsRead: `[UNTRANSLATED] Mark Inbox As Read`,
|
cheats_markAllAsRead: `[UNTRANSLATED] Mark Inbox As Read`,
|
||||||
|
|
||||||
worldState: `[UNTRANSLATED] World State`,
|
worldState: `[UNTRANSLATED] World State`,
|
||||||
@ -265,7 +293,7 @@ dict = {
|
|||||||
upgrade_SecondaryCritChance: `[UNTRANSLATED] +|VAL|% Secondary Critical Chance`,
|
upgrade_SecondaryCritChance: `[UNTRANSLATED] +|VAL|% Secondary Critical Chance`,
|
||||||
upgrade_WarframeAbilityDuration: `[UNTRANSLATED] +|VAL|% Ability Duration`,
|
upgrade_WarframeAbilityDuration: `[UNTRANSLATED] +|VAL|% Ability Duration`,
|
||||||
upgrade_WarframeAbilityStrength: `[UNTRANSLATED] +|VAL|% Ability Strength`,
|
upgrade_WarframeAbilityStrength: `[UNTRANSLATED] +|VAL|% Ability Strength`,
|
||||||
upgrade_WarframeArmourMax: `[UNTRANSLATED] +|VAL| Armor`,
|
upgrade_WarframeArmorMax: `[UNTRANSLATED] +|VAL| Armor`,
|
||||||
upgrade_WarframeBlastProc: `[UNTRANSLATED] +|VAL| Shields on kill with Blast Damage`,
|
upgrade_WarframeBlastProc: `[UNTRANSLATED] +|VAL| Shields on kill with Blast Damage`,
|
||||||
upgrade_WarframeCastingSpeed: `[UNTRANSLATED] +|VAL|% Casting Speed`,
|
upgrade_WarframeCastingSpeed: `[UNTRANSLATED] +|VAL|% Casting Speed`,
|
||||||
upgrade_WarframeCorrosiveDamageBoost: `[UNTRANSLATED] +|VAL|% Ability Damage on enemies affected by Corrosion Status`,
|
upgrade_WarframeCorrosiveDamageBoost: `[UNTRANSLATED] +|VAL|% Ability Damage on enemies affected by Corrosion Status`,
|
||||||
@ -280,7 +308,7 @@ dict = {
|
|||||||
upgrade_WarframeHPBoostFromImpact: `[UNTRANSLATED] +|VAL1| Health on kill with Blast Damage (Max |VAL2| Health)`,
|
upgrade_WarframeHPBoostFromImpact: `[UNTRANSLATED] +|VAL1| Health on kill with Blast Damage (Max |VAL2| Health)`,
|
||||||
upgrade_WarframeParkourVelocity: `[UNTRANSLATED] +|VAL|% Parkour Velocity`,
|
upgrade_WarframeParkourVelocity: `[UNTRANSLATED] +|VAL|% Parkour Velocity`,
|
||||||
upgrade_WarframeRadiationDamageBoost: `[UNTRANSLATED] +|VAL|% Ability Damage on enemies affected by Radiation Status`,
|
upgrade_WarframeRadiationDamageBoost: `[UNTRANSLATED] +|VAL|% Ability Damage on enemies affected by Radiation Status`,
|
||||||
upgrade_WarframeRegen: `[UNTRANSLATED] +|VAL| Health Regen/s`,
|
upgrade_WarframeHealthRegen: `[UNTRANSLATED] +|VAL| Health Regen/s`,
|
||||||
upgrade_WarframeShieldMax: `[UNTRANSLATED] +|VAL| Shield`,
|
upgrade_WarframeShieldMax: `[UNTRANSLATED] +|VAL| Shield`,
|
||||||
upgrade_WarframeStartingEnergy: `[UNTRANSLATED] +|VAL|% Energy on Spawn`,
|
upgrade_WarframeStartingEnergy: `[UNTRANSLATED] +|VAL|% Energy on Spawn`,
|
||||||
upgrade_WarframeToxinDamage: `[UNTRANSLATED] +|VAL|% Toxin Status Effect Damage`,
|
upgrade_WarframeToxinDamage: `[UNTRANSLATED] +|VAL|% Toxin Status Effect Damage`,
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
// Chinese translation by meb154, bishan178 & Corvus
|
// Chinese translation by meb154, bishan178, nyaoouo, qianlishun, CrazyZhang & Corvus
|
||||||
dict = {
|
dict = {
|
||||||
general_inventoryUpdateNote: `注意:要在游戏中查看更改,您需要重新同步库存,例如使用引导程序的 /sync 命令、访问道场/中继站或重新登录客户端.`,
|
general_inventoryUpdateNote: `注意:要在游戏中查看更改,您需要重新同步库存,例如使用引导程序的 /sync 命令、访问道场/中继站或重新登录客户端.`,
|
||||||
general_addButton: `添加`,
|
general_addButton: `添加`,
|
||||||
general_setButton: `设置`,
|
general_setButton: `设置`,
|
||||||
|
general_none: `无`,
|
||||||
general_bulkActions: `批量操作`,
|
general_bulkActions: `批量操作`,
|
||||||
general_loading: `加载中...`,
|
general_loading: `加载中...`,
|
||||||
|
|
||||||
@ -62,6 +63,7 @@ dict = {
|
|||||||
code_mature: `成长并战备`,
|
code_mature: `成长并战备`,
|
||||||
code_unmature: `逆转衰老基因`,
|
code_unmature: `逆转衰老基因`,
|
||||||
code_succChange: `更改成功.`,
|
code_succChange: `更改成功.`,
|
||||||
|
code_requiredInvigorationUpgrade: `[UNTRANSLATED] You must select both an offensive & defensive upgrade.`,
|
||||||
login_description: `使用您的 OpenWF 账户凭证登录(与游戏内连接本服务器时使用的昵称相同).`,
|
login_description: `使用您的 OpenWF 账户凭证登录(与游戏内连接本服务器时使用的昵称相同).`,
|
||||||
login_emailLabel: `电子邮箱`,
|
login_emailLabel: `电子邮箱`,
|
||||||
login_passwordLabel: `密码`,
|
login_passwordLabel: `密码`,
|
||||||
@ -125,6 +127,33 @@ dict = {
|
|||||||
detailedView_valenceBonusLabel: `效价加成`,
|
detailedView_valenceBonusLabel: `效价加成`,
|
||||||
detailedView_valenceBonusDescription: `您可以设置或移除武器上的效价加成.`,
|
detailedView_valenceBonusDescription: `您可以设置或移除武器上的效价加成.`,
|
||||||
detailedView_modularPartsLabel: `更换部件`,
|
detailedView_modularPartsLabel: `更换部件`,
|
||||||
|
detailedView_suitInvigorationLabel: `[UNTRANSLATED] Warframe Invigoration`,
|
||||||
|
|
||||||
|
invigorations_offensive_AbilityStrength: `[UNTRANSLATED] +200% Ability Strength`,
|
||||||
|
invigorations_offensive_AbilityRange: `[UNTRANSLATED] +100% Ability Range`,
|
||||||
|
invigorations_offensive_AbilityDuration: `[UNTRANSLATED] +100% Ability Duration`,
|
||||||
|
invigorations_offensive_MeleeDamage: `[UNTRANSLATED] +250% Melee Damage`,
|
||||||
|
invigorations_offensive_PrimaryDamage: `[UNTRANSLATED] +250% Primary Damage`,
|
||||||
|
invigorations_offensive_SecondaryDamage: `[UNTRANSLATED] +250% Secondary Damage`,
|
||||||
|
invigorations_offensive_PrimaryCritChance: `[UNTRANSLATED] +200% Primary Critical Chance`,
|
||||||
|
invigorations_offensive_SecondaryCritChance: `[UNTRANSLATED] +200% Secondary Critical Chance`,
|
||||||
|
invigorations_offensive_MeleeCritChance: `[UNTRANSLATED] +200% Melee Critical Chance`,
|
||||||
|
|
||||||
|
invigorations_utility_AbilityEfficiency: `[UNTRANSLATED] +75% Ability Efficiency`,
|
||||||
|
invigorations_utility_SprintSpeed: `[UNTRANSLATED] +75% Sprint Speed`,
|
||||||
|
invigorations_utility_ParkourVelocity: `[UNTRANSLATED] +75% Parkour Velocity`,
|
||||||
|
invigorations_utility_HealthMax: `[UNTRANSLATED] +1000 Health`,
|
||||||
|
invigorations_utility_EnergyMax: `[UNTRANSLATED] +200% Energy Max`,
|
||||||
|
invigorations_utility_StatusImmune: `[UNTRANSLATED] Immune to Status Effects`,
|
||||||
|
invigorations_utility_ReloadSpeed: `[UNTRANSLATED] +75% Reload Speed`,
|
||||||
|
invigorations_utility_HealthRegen: `[UNTRANSLATED] +25 Health Regen/s`,
|
||||||
|
invigorations_utility_ArmorMax: `[UNTRANSLATED] +1000 Armor`,
|
||||||
|
invigorations_utility_Jumps: `[UNTRANSLATED] +5 Jump Resets`,
|
||||||
|
invigorations_utility_EnergyRegen: `[UNTRANSLATED] +2 Energy Regen/s`,
|
||||||
|
|
||||||
|
invigorations_offensiveLabel: `进攻型属性`,
|
||||||
|
invigorations_defensiveLabel: `功能型属性`,
|
||||||
|
invigorations_expiryLabel: `活化时效(可选)`,
|
||||||
|
|
||||||
mods_addRiven: `添加裂罅MOD`,
|
mods_addRiven: `添加裂罅MOD`,
|
||||||
mods_fingerprint: `印记`,
|
mods_fingerprint: `印记`,
|
||||||
@ -203,7 +232,6 @@ dict = {
|
|||||||
cheats_intrinsicsUnlockAll: `所有内源之力最大等级`,
|
cheats_intrinsicsUnlockAll: `所有内源之力最大等级`,
|
||||||
cheats_changeSupportedSyndicate: `支持的集团`,
|
cheats_changeSupportedSyndicate: `支持的集团`,
|
||||||
cheats_changeButton: `更改`,
|
cheats_changeButton: `更改`,
|
||||||
cheats_none: `无`,
|
|
||||||
cheats_markAllAsRead: `收件箱全部标记为已读`,
|
cheats_markAllAsRead: `收件箱全部标记为已读`,
|
||||||
|
|
||||||
worldState: `世界状态配置`,
|
worldState: `世界状态配置`,
|
||||||
@ -265,7 +293,7 @@ dict = {
|
|||||||
upgrade_SecondaryCritChance: `+|VAL|%次要武器暴击几率`,
|
upgrade_SecondaryCritChance: `+|VAL|%次要武器暴击几率`,
|
||||||
upgrade_WarframeAbilityDuration: `+|VAL|%技能持续时间`,
|
upgrade_WarframeAbilityDuration: `+|VAL|%技能持续时间`,
|
||||||
upgrade_WarframeAbilityStrength: `+|VAL|%技能强度`,
|
upgrade_WarframeAbilityStrength: `+|VAL|%技能强度`,
|
||||||
upgrade_WarframeArmourMax: `+|VAL|护甲`,
|
upgrade_WarframeArmorMax: `+|VAL|护甲`,
|
||||||
upgrade_WarframeBlastProc: `使用爆炸伤害击杀敌人时恢复+|VAL|护盾`,
|
upgrade_WarframeBlastProc: `使用爆炸伤害击杀敌人时恢复+|VAL|护盾`,
|
||||||
upgrade_WarframeCastingSpeed: `+|VAL|%施放速度`,
|
upgrade_WarframeCastingSpeed: `+|VAL|%施放速度`,
|
||||||
upgrade_WarframeCorrosiveDamageBoost: `对受腐蚀异常影响的敌人+|VAL|%额外技能伤害`,
|
upgrade_WarframeCorrosiveDamageBoost: `对受腐蚀异常影响的敌人+|VAL|%额外技能伤害`,
|
||||||
@ -280,7 +308,7 @@ dict = {
|
|||||||
upgrade_WarframeHPBoostFromImpact: `通过爆炸伤害击杀的每个敌人可增加|VAL1|生命上限(最大|VAL2|生命上限)`,
|
upgrade_WarframeHPBoostFromImpact: `通过爆炸伤害击杀的每个敌人可增加|VAL1|生命上限(最大|VAL2|生命上限)`,
|
||||||
upgrade_WarframeParkourVelocity: `+|VAL|%跑酷速度`,
|
upgrade_WarframeParkourVelocity: `+|VAL|%跑酷速度`,
|
||||||
upgrade_WarframeRadiationDamageBoost: `对受辐射状态影响的敌人+|VAL|%技能伤害`,
|
upgrade_WarframeRadiationDamageBoost: `对受辐射状态影响的敌人+|VAL|%技能伤害`,
|
||||||
upgrade_WarframeRegen: `+|VAL|/秒生命再生`,
|
upgrade_WarframeHealthRegen: `+|VAL|/秒生命再生`,
|
||||||
upgrade_WarframeShieldMax: `+|VAL|护盾值`,
|
upgrade_WarframeShieldMax: `+|VAL|护盾值`,
|
||||||
upgrade_WarframeStartingEnergy: `进任务时+|VAL|%初始能量`,
|
upgrade_WarframeStartingEnergy: `进任务时+|VAL|%初始能量`,
|
||||||
upgrade_WarframeToxinDamage: `毒素伤害额外+|VAL|%伤害`,
|
upgrade_WarframeToxinDamage: `毒素伤害额外+|VAL|%伤害`,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user