Compare commits
7 Commits
bdd6de80f8
...
88173285ff
Author | SHA1 | Date | |
---|---|---|---|
88173285ff | |||
69f9d5ebc5 | |||
d66f1c58d8 | |||
5234cf213e | |||
7c7d2b9061 | |||
3d46d05a6c | |||
00cea6788e |
@ -28,12 +28,13 @@ import { updateWorldStateCollections } from "./services/worldStateService";
|
|||||||
JSON.stringify = JSONStringify;
|
JSON.stringify = JSONStringify;
|
||||||
|
|
||||||
validateConfig();
|
validateConfig();
|
||||||
syncConfigWithDatabase();
|
|
||||||
|
|
||||||
mongoose
|
mongoose
|
||||||
.connect(config.mongodbUrl)
|
.connect(config.mongodbUrl)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
logger.info("Connected to MongoDB");
|
logger.info("Connected to MongoDB");
|
||||||
|
syncConfigWithDatabase();
|
||||||
|
|
||||||
startWebServer();
|
startWebServer();
|
||||||
|
|
||||||
void updateWorldStateCollections();
|
void updateWorldStateCollections();
|
||||||
|
@ -4,7 +4,8 @@ import {
|
|||||||
ISetShipCustomizationsRequest,
|
ISetShipCustomizationsRequest,
|
||||||
IShipDecorationsRequest,
|
IShipDecorationsRequest,
|
||||||
IShipDecorationsResponse,
|
IShipDecorationsResponse,
|
||||||
ISetPlacedDecoInfoRequest
|
ISetPlacedDecoInfoRequest,
|
||||||
|
TBootLocation
|
||||||
} from "@/src/types/shipTypes";
|
} from "@/src/types/shipTypes";
|
||||||
import { logger } from "@/src/utils/logger";
|
import { logger } from "@/src/utils/logger";
|
||||||
import { Types } from "mongoose";
|
import { Types } from "mongoose";
|
||||||
@ -14,6 +15,7 @@ import { Guild } from "../models/guildModel";
|
|||||||
import { hasGuildPermission } from "./guildService";
|
import { hasGuildPermission } from "./guildService";
|
||||||
import { GuildPermission } from "../types/guildTypes";
|
import { GuildPermission } from "../types/guildTypes";
|
||||||
import { ExportResources } from "warframe-public-export-plus";
|
import { ExportResources } from "warframe-public-export-plus";
|
||||||
|
import { RoomsType, TPersonalRoomsDatabaseDocument } from "../types/personalRoomsTypes";
|
||||||
|
|
||||||
export const setShipCustomizations = async (
|
export const setShipCustomizations = async (
|
||||||
accountId: string,
|
accountId: string,
|
||||||
@ -183,6 +185,19 @@ export const handleSetShipDecorations = async (
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const getRoomsForBootLocation = (
|
||||||
|
personalRooms: TPersonalRoomsDatabaseDocument,
|
||||||
|
bootLocation: TBootLocation | undefined
|
||||||
|
): RoomsType[] => {
|
||||||
|
if (bootLocation == "SHOP") {
|
||||||
|
return personalRooms.TailorShop.Rooms;
|
||||||
|
}
|
||||||
|
if (bootLocation == "APARTMENT") {
|
||||||
|
return personalRooms.Apartment.Rooms;
|
||||||
|
}
|
||||||
|
return personalRooms.Ship.Rooms;
|
||||||
|
};
|
||||||
|
|
||||||
export const handleSetPlacedDecoInfo = async (accountId: string, req: ISetPlacedDecoInfoRequest): Promise<void> => {
|
export const handleSetPlacedDecoInfo = async (accountId: string, req: ISetPlacedDecoInfoRequest): Promise<void> => {
|
||||||
if (req.GuildId && req.ComponentId) {
|
if (req.GuildId && req.ComponentId) {
|
||||||
const guild = (await Guild.findById(req.GuildId))!;
|
const guild = (await Guild.findById(req.GuildId))!;
|
||||||
@ -197,14 +212,14 @@ export const handleSetPlacedDecoInfo = async (accountId: string, req: ISetPlaced
|
|||||||
|
|
||||||
const personalRooms = await getPersonalRooms(accountId);
|
const personalRooms = await getPersonalRooms(accountId);
|
||||||
|
|
||||||
const room = personalRooms.Ship.Rooms.find(room => room.Name === req.Room);
|
const room = getRoomsForBootLocation(personalRooms, req.BootLocation).find(room => room.Name === req.Room);
|
||||||
if (!room) {
|
if (!room) {
|
||||||
throw new Error("room not found");
|
throw new Error(`unknown room: ${req.Room}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
const placedDeco = room.PlacedDecos.id(req.DecoId);
|
const placedDeco = room.PlacedDecos.id(req.DecoId);
|
||||||
if (!placedDeco) {
|
if (!placedDeco) {
|
||||||
throw new Error("deco not found");
|
throw new Error(`unknown deco id: ${req.DecoId}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
placedDeco.PictureFrameInfo = req.PictureFrameInfo;
|
placedDeco.PictureFrameInfo = req.PictureFrameInfo;
|
||||||
|
@ -154,7 +154,7 @@ export interface ISetPlacedDecoInfoRequest {
|
|||||||
DecoId: string;
|
DecoId: string;
|
||||||
Room: string;
|
Room: string;
|
||||||
PictureFrameInfo: IPictureFrameInfo;
|
PictureFrameInfo: IPictureFrameInfo;
|
||||||
BootLocation?: string;
|
BootLocation?: TBootLocation;
|
||||||
ComponentId?: string;
|
ComponentId?: string;
|
||||||
GuildId?: string;
|
GuildId?: string;
|
||||||
}
|
}
|
||||||
|
@ -13,8 +13,7 @@
|
|||||||
<span class="navbar-toggler-icon"></span>
|
<span class="navbar-toggler-icon"></span>
|
||||||
</button>
|
</button>
|
||||||
<a class="navbar-brand">OpenWF WebUI</a>
|
<a class="navbar-brand">OpenWF WebUI</a>
|
||||||
<ul class="navbar-nav ms-auto mb-0">
|
<div class="ms-auto nav-item dropdown">
|
||||||
<li class="nav-item dropdown">
|
|
||||||
<button id="active-lang-name" class="nav-link dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false"></button>
|
<button id="active-lang-name" class="nav-link dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false"></button>
|
||||||
<ul class="dropdown-menu dropdown-menu-end">
|
<ul class="dropdown-menu dropdown-menu-end">
|
||||||
<li><a class="dropdown-item active" href="#" data-lang="en" onclick="event.preventDefault();setLanguage('en');">English</a></li>
|
<li><a class="dropdown-item active" href="#" data-lang="en" onclick="event.preventDefault();setLanguage('en');">English</a></li>
|
||||||
@ -32,9 +31,12 @@
|
|||||||
<li><a class="dropdown-item" href="#" data-lang="zh" onclick="event.preventDefault();setLanguage('zh');">简体中文</a></li>
|
<li><a class="dropdown-item" href="#" data-lang="zh" onclick="event.preventDefault();setLanguage('zh');">简体中文</a></li>
|
||||||
<li><a class="dropdown-item" href="#" data-lang="tc" onclick="event.preventDefault();setLanguage('tc');">繁體中文</a></li>
|
<li><a class="dropdown-item" href="#" data-lang="tc" onclick="event.preventDefault();setLanguage('tc');">繁體中文</a></li>
|
||||||
<li><a class="dropdown-item" href="#" data-lang="th" onclick="event.preventDefault();setLanguage('th');">แบบไทย</a></li>
|
<li><a class="dropdown-item" href="#" data-lang="th" onclick="event.preventDefault();setLanguage('th');">แบบไทย</a></li>
|
||||||
|
<li><hr class="dropdown-divider"></li>
|
||||||
|
<li><a class="dropdown-item active" href="#" data-loc="theme_dark" data-theme="dark" onclick="event.preventDefault();setTheme('dark');"></a></li>
|
||||||
|
<li><a class="dropdown-item" href="#" data-loc="theme_light" data-theme="light" onclick="event.preventDefault();setTheme('light');"></a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</div>
|
||||||
<li class="nav-item dropdown user-dropdown">
|
<div class="nav-item dropdown user-dropdown">
|
||||||
<button class="nav-link dropdown-toggle displayname" data-bs-toggle="dropdown" aria-expanded="false"></button>
|
<button class="nav-link dropdown-toggle displayname" data-bs-toggle="dropdown" aria-expanded="false"></button>
|
||||||
<ul class="dropdown-menu dropdown-menu-end">
|
<ul class="dropdown-menu dropdown-menu-end">
|
||||||
<li><a class="dropdown-item" href="/webui/" onclick="doLogout();" data-loc="navbar_logout"></a></li>
|
<li><a class="dropdown-item" href="/webui/" onclick="doLogout();" data-loc="navbar_logout"></a></li>
|
||||||
@ -42,8 +44,7 @@
|
|||||||
<li><a class="dropdown-item" href="#" onclick="event.preventDefault();renameAccount();" data-loc="navbar_renameAccount"></a></li>
|
<li><a class="dropdown-item" href="#" onclick="event.preventDefault();renameAccount();" data-loc="navbar_renameAccount"></a></li>
|
||||||
<li><a class="dropdown-item" href="#" onclick="event.preventDefault();deleteAccount();" data-loc="navbar_deleteAccount"></a></li>
|
<li><a class="dropdown-item" href="#" onclick="event.preventDefault();deleteAccount();" data-loc="navbar_deleteAccount"></a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</div>
|
||||||
</ul>
|
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
<div class="container pt-3 pb-3" id="main-view">
|
<div class="container pt-3 pb-3" id="main-view">
|
||||||
|
@ -230,6 +230,18 @@ function setLanguage(lang) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function setActiveTheme(theme) {
|
||||||
|
document.documentElement.setAttribute("data-bs-theme", theme);
|
||||||
|
document.querySelector("[data-theme].active").classList.remove("active");
|
||||||
|
document.querySelector("[data-theme=" + theme + "]").classList.add("active");
|
||||||
|
}
|
||||||
|
setActiveTheme(localStorage.getItem("theme") ?? "dark");
|
||||||
|
|
||||||
|
function setTheme(theme) {
|
||||||
|
setActiveTheme(theme);
|
||||||
|
localStorage.setItem("theme", theme);
|
||||||
|
}
|
||||||
|
|
||||||
const webUiModularWeapons = [
|
const webUiModularWeapons = [
|
||||||
"/Lotus/Weapons/Sentients/OperatorAmplifiers/OperatorAmpWeapon",
|
"/Lotus/Weapons/Sentients/OperatorAmplifiers/OperatorAmpWeapon",
|
||||||
"/Lotus/Weapons/Ostron/Melee/LotusModularWeapon",
|
"/Lotus/Weapons/Ostron/Melee/LotusModularWeapon",
|
||||||
@ -2425,7 +2437,7 @@ async function doMaxPlexus() {
|
|||||||
async function doUnlockAllMissions() {
|
async function doUnlockAllMissions() {
|
||||||
await revalidateAuthz();
|
await revalidateAuthz();
|
||||||
await fetch("/custom/completeAllMissions?" + window.authz);
|
await fetch("/custom/completeAllMissions?" + window.authz);
|
||||||
updateInventory();
|
toast(loc("cheats_unlockAllMissions_ok"));
|
||||||
}
|
}
|
||||||
|
|
||||||
const importSamples = {
|
const importSamples = {
|
||||||
|
@ -136,6 +136,7 @@ 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_infiniteCredits: `Unendlich Credits`,
|
cheats_infiniteCredits: `Unendlich Credits`,
|
||||||
cheats_infinitePlatinum: `Unendlich Platinum`,
|
cheats_infinitePlatinum: `Unendlich Platinum`,
|
||||||
cheats_infiniteEndo: `Unendlich Endo`,
|
cheats_infiniteEndo: `Unendlich Endo`,
|
||||||
@ -305,5 +306,8 @@ dict = {
|
|||||||
damageType_Poison: `Gift`,
|
damageType_Poison: `Gift`,
|
||||||
damageType_Radiation: `Strahlung`,
|
damageType_Radiation: `Strahlung`,
|
||||||
|
|
||||||
|
theme_dark: `[UNTRANSLATED] Dark Theme`,
|
||||||
|
theme_light: `[UNTRANSLATED] Light Theme`,
|
||||||
|
|
||||||
prettier_sucks_ass: ``
|
prettier_sucks_ass: ``
|
||||||
};
|
};
|
||||||
|
@ -135,6 +135,7 @@ dict = {
|
|||||||
cheats_skipAllDialogue: `Skip All Dialogue`,
|
cheats_skipAllDialogue: `Skip All Dialogue`,
|
||||||
cheats_unlockAllScans: `Unlock All Scans`,
|
cheats_unlockAllScans: `Unlock All Scans`,
|
||||||
cheats_unlockAllMissions: `Unlock All Missions`,
|
cheats_unlockAllMissions: `Unlock All Missions`,
|
||||||
|
cheats_unlockAllMissions_ok: `Success. Please note that you'll need to enter a dojo/relay or relog for the client to refresh the star chart.`,
|
||||||
cheats_infiniteCredits: `Infinite Credits`,
|
cheats_infiniteCredits: `Infinite Credits`,
|
||||||
cheats_infinitePlatinum: `Infinite Platinum`,
|
cheats_infinitePlatinum: `Infinite Platinum`,
|
||||||
cheats_infiniteEndo: `Infinite Endo`,
|
cheats_infiniteEndo: `Infinite Endo`,
|
||||||
@ -304,5 +305,8 @@ dict = {
|
|||||||
damageType_Poison: `Toxin`,
|
damageType_Poison: `Toxin`,
|
||||||
damageType_Radiation: `Radiation`,
|
damageType_Radiation: `Radiation`,
|
||||||
|
|
||||||
|
theme_dark: `Dark Theme`,
|
||||||
|
theme_light: `Light Theme`,
|
||||||
|
|
||||||
prettier_sucks_ass: ``
|
prettier_sucks_ass: ``
|
||||||
};
|
};
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// Spanish translation by hxedcl
|
// Spanish translation by hxedcl
|
||||||
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: `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: `[UNTRANSLATED] Set`,
|
general_setButton: `[UNTRANSLATED] Set`,
|
||||||
general_removeButton: `[UNTRANSLATED] Remove`,
|
general_removeButton: `[UNTRANSLATED] Remove`,
|
||||||
@ -136,6 +136,7 @@ dict = {
|
|||||||
cheats_skipAllDialogue: `Omitir todos los diálogos`,
|
cheats_skipAllDialogue: `Omitir todos los diálogos`,
|
||||||
cheats_unlockAllScans: `Desbloquear todos los escaneos`,
|
cheats_unlockAllScans: `Desbloquear todos los escaneos`,
|
||||||
cheats_unlockAllMissions: `Desbloquear todas las misiones`,
|
cheats_unlockAllMissions: `Desbloquear todas las misiones`,
|
||||||
|
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_infiniteCredits: `Créditos infinitos`,
|
cheats_infiniteCredits: `Créditos infinitos`,
|
||||||
cheats_infinitePlatinum: `Platino infinito`,
|
cheats_infinitePlatinum: `Platino infinito`,
|
||||||
cheats_infiniteEndo: `Endo infinito`,
|
cheats_infiniteEndo: `Endo infinito`,
|
||||||
@ -182,64 +183,64 @@ dict = {
|
|||||||
cheats_fastClanAscension: `Ascenso rápido del clan`,
|
cheats_fastClanAscension: `Ascenso rápido del clan`,
|
||||||
cheats_missionsCanGiveAllRelics: `Las misiones pueden otorgar todas las reliquias`,
|
cheats_missionsCanGiveAllRelics: `Las misiones pueden otorgar todas las reliquias`,
|
||||||
cheats_unlockAllSimarisResearchEntries: `Desbloquear todas las entradas de investigación de Simaris`,
|
cheats_unlockAllSimarisResearchEntries: `Desbloquear todas las entradas de investigación de Simaris`,
|
||||||
cheats_disableDailyTribute: `[UNTRANSLATED] Disable Daily Tribute`,
|
cheats_disableDailyTribute: `Desactivar tributo diario`,
|
||||||
cheats_spoofMasteryRank: `Rango de maestría simulado (-1 para desactivar)`,
|
cheats_spoofMasteryRank: `Rango de maestría simulado (-1 para desactivar)`,
|
||||||
cheats_nightwaveStandingMultiplier: `Multiplicador de Reputación de Onda Nocturna`,
|
cheats_nightwaveStandingMultiplier: `Multiplicador de Reputación de Onda Nocturna`,
|
||||||
cheats_save: `Guardar`,
|
cheats_save: `Guardar`,
|
||||||
cheats_account: `Cuenta`,
|
cheats_account: `Cuenta`,
|
||||||
cheats_unlockAllFocusSchools: `Desbloquear todas las escuelas de enfoque`,
|
cheats_unlockAllFocusSchools: `Desbloquear todas las escuelas de enfoque`,
|
||||||
cheats_helminthUnlockAll: `Subir al máximo el Helminto`,
|
cheats_helminthUnlockAll: `Subir al máximo el Helminto`,
|
||||||
cheats_addMissingSubsumedAbilities: `[UNTRANSLATED] Add Missing Subsumed Abilities`,
|
cheats_addMissingSubsumedAbilities: `Agregar habilidades subsumidas faltantes`,
|
||||||
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_none: `Ninguno`,
|
||||||
|
|
||||||
worldState: `[UNTRANSLATED] World State`,
|
worldState: `Estado del mundo`,
|
||||||
worldState_creditBoost: `[UNTRANSLATED] Credit Boost`,
|
worldState_creditBoost: `Potenciador de Créditos`,
|
||||||
worldState_affinityBoost: `[UNTRANSLATED] Affinity Boost`,
|
worldState_affinityBoost: `Potenciador de Afinidad`,
|
||||||
worldState_resourceBoost: `[UNTRANSLATED] Resource Boost`,
|
worldState_resourceBoost: `Potenciador de Recursos`,
|
||||||
worldState_starDays: `[UNTRANSLATED] Star Days`,
|
worldState_starDays: `Días estelares`,
|
||||||
worldState_galleonOfGhouls: `[UNTRANSLATED] Galleon of Ghouls`,
|
worldState_galleonOfGhouls: `Galeón de Gules`,
|
||||||
disabled: `[UNTRANSLATED] Disabled`,
|
disabled: `Desactivado`,
|
||||||
worldState_we1: `[UNTRANSLATED] Weekend 1`,
|
worldState_we1: `Semana 1`,
|
||||||
worldState_we2: `[UNTRANSLATED] Weekend 2`,
|
worldState_we2: `Semana 2`,
|
||||||
worldState_we3: `[UNTRANSLATED] Weekend 3`,
|
worldState_we3: `Semana 3`,
|
||||||
worldState_eidolonOverride: `[UNTRANSLATED] Eidolon Override`,
|
worldState_eidolonOverride: `Tiempo de las Llanuras de Eidolon`,
|
||||||
worldState_day: `[UNTRANSLATED] Day`,
|
worldState_day: `Dia`,
|
||||||
worldState_night: `[UNTRANSLATED] Night`,
|
worldState_night: `Noche`,
|
||||||
worldState_vallisOverride: `[UNTRANSLATED] Orb Vallis Override`,
|
worldState_vallisOverride: `Tiempo del Valle del Orbe`,
|
||||||
worldState_warm: `[UNTRANSLATED] Warm`,
|
worldState_warm: `Cálido`,
|
||||||
worldState_cold: `[UNTRANSLATED] Cold`,
|
worldState_cold: `Frío`,
|
||||||
worldState_duviriOverride: `[UNTRANSLATED] Duviri Override`,
|
worldState_duviriOverride: `Tiempo de Duviri`,
|
||||||
worldState_joy: `[UNTRANSLATED] Joy`,
|
worldState_joy: `Alegría`,
|
||||||
worldState_anger: `[UNTRANSLATED] Anger`,
|
worldState_anger: `Ira`,
|
||||||
worldState_envy: `[UNTRANSLATED] Envy`,
|
worldState_envy: `Envidia`,
|
||||||
worldState_sorrow: `[UNTRANSLATED] Sorrow`,
|
worldState_sorrow: `Tristeza`,
|
||||||
worldState_fear: `[UNTRANSLATED] Fear`,
|
worldState_fear: `Miedo`,
|
||||||
worldState_nightwaveOverride: `[UNTRANSLATED] Nightwave Override`,
|
worldState_nightwaveOverride: `Volúmen de Onda Nocturna`,
|
||||||
worldState_RadioLegionIntermission13Syndicate: `[UNTRANSLATED] Nora's Mix Vol. 9`,
|
worldState_RadioLegionIntermission13Syndicate: `Mix de Nora Vol. 9`,
|
||||||
worldState_RadioLegionIntermission12Syndicate: `[UNTRANSLATED] Nora's Mix Vol. 8`,
|
worldState_RadioLegionIntermission12Syndicate: `Mix de Nora Vol. 8`,
|
||||||
worldState_RadioLegionIntermission11Syndicate: `[UNTRANSLATED] Nora's Mix Vol. 7`,
|
worldState_RadioLegionIntermission11Syndicate: `Mix de Nora Vol. 7`,
|
||||||
worldState_RadioLegionIntermission10Syndicate: `[UNTRANSLATED] Nora's Mix Vol. 6`,
|
worldState_RadioLegionIntermission10Syndicate: `Mix de Nora Vol. 6 `,
|
||||||
worldState_RadioLegionIntermission9Syndicate: `[UNTRANSLATED] Nora's Mix Vol. 5`,
|
worldState_RadioLegionIntermission9Syndicate: `Mix de Nora Vol. 5`,
|
||||||
worldState_RadioLegionIntermission8Syndicate: `[UNTRANSLATED] Nora's Mix Vol. 4`,
|
worldState_RadioLegionIntermission8Syndicate: `Mix de Nora Vol. 4`,
|
||||||
worldState_RadioLegionIntermission7Syndicate: `[UNTRANSLATED] Nora's Mix Vol. 3`,
|
worldState_RadioLegionIntermission7Syndicate: `Mix de Nora Vol. 3`,
|
||||||
worldState_RadioLegionIntermission6Syndicate: `[UNTRANSLATED] Nora's Mix Vol. 2`,
|
worldState_RadioLegionIntermission6Syndicate: `Mix de Nora Vol. 2`,
|
||||||
worldState_RadioLegionIntermission5Syndicate: `[UNTRANSLATED] Nora's Mix Vol. 1`,
|
worldState_RadioLegionIntermission5Syndicate: `Mix de Nora Vol. 1`,
|
||||||
worldState_RadioLegionIntermission4Syndicate: `[UNTRANSLATED] Nora's Choice`,
|
worldState_RadioLegionIntermission4Syndicate: `Elección de Nora`,
|
||||||
worldState_RadioLegionIntermission3Syndicate: `[UNTRANSLATED] Intermission III`,
|
worldState_RadioLegionIntermission3Syndicate: `Intermedio III`,
|
||||||
worldState_RadioLegion3Syndicate: `[UNTRANSLATED] Glassmaker`,
|
worldState_RadioLegion3Syndicate: `El Artesano de Cristal`,
|
||||||
worldState_RadioLegionIntermission2Syndicate: `[UNTRANSLATED] Intermission II`,
|
worldState_RadioLegionIntermission2Syndicate: `Intermedio II`,
|
||||||
worldState_RadioLegion2Syndicate: `[UNTRANSLATED] The Emissary`,
|
worldState_RadioLegion2Syndicate: `El Emisario`,
|
||||||
worldState_RadioLegionIntermissionSyndicate: `[UNTRANSLATED] Intermission I`,
|
worldState_RadioLegionIntermissionSyndicate: `Intermedio I`,
|
||||||
worldState_RadioLegionSyndicate: `[UNTRANSLATED] The Wolf of Saturn Six`,
|
worldState_RadioLegionSyndicate: `El lobo de Saturno Seis`,
|
||||||
worldState_fissures: `[UNTRANSLATED] Fissures`,
|
worldState_fissures: `Fisuras`,
|
||||||
normal: `[UNTRANSLATED] Normal`,
|
normal: `Normal`,
|
||||||
worldState_allAtOnceNormal: `[UNTRANSLATED] All At Once, Normal`,
|
worldState_allAtOnceNormal: `Todo a la vez, normal`,
|
||||||
worldState_allAtOnceSteelPath: `[UNTRANSLATED] All At Once, Steel Path`,
|
worldState_allAtOnceSteelPath: `Todo a la vez, Camino de Acero`,
|
||||||
worldState_theCircuitOverride: `[UNTRANSLATED] The Circuit Override`,
|
worldState_theCircuitOverride: `Cambio del Circuito`,
|
||||||
worldState_darvoStockMultiplier: `[UNTRANSLATED] Darvo Stock Multiplier`,
|
worldState_darvoStockMultiplier: `Multiplicador de stock de Darvo`,
|
||||||
|
|
||||||
import_importNote: `Puedes proporcionar una respuesta de inventario completa o parcial (representación del cliente) aquí. Todos los campos compatibles con el importador <b>serán sobrescritos</b> en tu cuenta.`,
|
import_importNote: `Puedes proporcionar una respuesta de inventario completa o parcial (representación del cliente) aquí. Todos los campos compatibles con el importador <b>serán sobrescritos</b> en tu cuenta.`,
|
||||||
import_submit: `Enviar`,
|
import_submit: `Enviar`,
|
||||||
@ -264,7 +265,7 @@ dict = {
|
|||||||
upgrade_WarframeGlobeEffectEnergy: `+|VAL|% de efectividad de orbes de energía`,
|
upgrade_WarframeGlobeEffectEnergy: `+|VAL|% de efectividad de orbes de energía`,
|
||||||
upgrade_WarframeGlobeEffectHealth: `+|VAL|% de efectividad de orbes de salud`,
|
upgrade_WarframeGlobeEffectHealth: `+|VAL|% de efectividad de orbes de salud`,
|
||||||
upgrade_WarframeHealthMax: `+|VAL| de salud máxima`,
|
upgrade_WarframeHealthMax: `+|VAL| de salud máxima`,
|
||||||
upgrade_WarframeHPBoostFromImpact: `[UNTRANSLATED] +|VAL1| Health on kill with Blast Damage (Max |VAL2| Health)`,
|
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_WarframeRegen: `+|VAL| de regeneración de salud por segundo`,
|
||||||
@ -287,7 +288,7 @@ dict = {
|
|||||||
upgrade_DamageReductionOnHack: `75% de reducción de daño al hackear`,
|
upgrade_DamageReductionOnHack: `75% de reducción de daño al hackear`,
|
||||||
upgrade_OnExecutionReviveCompanion: `Las ejecuciones reducen el tiempo de recuperación del compañero en 15s`,
|
upgrade_OnExecutionReviveCompanion: `Las ejecuciones reducen el tiempo de recuperación del compañero en 15s`,
|
||||||
upgrade_OnExecutionParkourSpeed: `+60% de velocidad de parkour durante 15s tras una ejecución`,
|
upgrade_OnExecutionParkourSpeed: `+60% de velocidad de parkour durante 15s tras una ejecución`,
|
||||||
upgrade_AvatarTimeLimitIncrease: `[UNTRANSLATED] +8s to Hacking`,
|
upgrade_AvatarTimeLimitIncrease: `+8s para hackear`,
|
||||||
upgrade_ElectrifyOnHack: `Electrocuta a los enemigos en un radio de 20m al hackear`,
|
upgrade_ElectrifyOnHack: `Electrocuta a los enemigos en un radio de 20m al hackear`,
|
||||||
upgrade_OnExecutionTerrify: `50% de probabilidad de que enemigos en un radio de 15m entren en pánico por 8s tras una ejecución`,
|
upgrade_OnExecutionTerrify: `50% de probabilidad de que enemigos en un radio de 15m entren en pánico por 8s tras una ejecución`,
|
||||||
upgrade_OnHackLockers: `Desbloquea 5 casilleros en un radio de 20m tras hackear`,
|
upgrade_OnHackLockers: `Desbloquea 5 casilleros en un radio de 20m tras hackear`,
|
||||||
@ -305,5 +306,8 @@ dict = {
|
|||||||
damageType_Poison: `Tóxico`,
|
damageType_Poison: `Tóxico`,
|
||||||
damageType_Radiation: `Radioativo`,
|
damageType_Radiation: `Radioativo`,
|
||||||
|
|
||||||
|
theme_dark: `[UNTRANSLATED] Dark Theme`,
|
||||||
|
theme_light: `[UNTRANSLATED] Light Theme`,
|
||||||
|
|
||||||
prettier_sucks_ass: ``
|
prettier_sucks_ass: ``
|
||||||
};
|
};
|
||||||
|
@ -136,6 +136,7 @@ dict = {
|
|||||||
cheats_skipAllDialogue: `Passer les dialogues`,
|
cheats_skipAllDialogue: `Passer les dialogues`,
|
||||||
cheats_unlockAllScans: `Débloquer tous les scans`,
|
cheats_unlockAllScans: `Débloquer tous les scans`,
|
||||||
cheats_unlockAllMissions: `Débloquer toutes les missions`,
|
cheats_unlockAllMissions: `Débloquer toutes les missions`,
|
||||||
|
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_infiniteCredits: `Crédits infinis`,
|
cheats_infiniteCredits: `Crédits infinis`,
|
||||||
cheats_infinitePlatinum: `Platinum infini`,
|
cheats_infinitePlatinum: `Platinum infini`,
|
||||||
cheats_infiniteEndo: `Endo infini`,
|
cheats_infiniteEndo: `Endo infini`,
|
||||||
@ -297,6 +298,9 @@ dict = {
|
|||||||
upgrade_SwiftExecute: `Vitesse des miséricordes augmentée de 50%`,
|
upgrade_SwiftExecute: `Vitesse des miséricordes augmentée de 50%`,
|
||||||
upgrade_OnHackInvis: `Invisible pendant 15 secondes après un piratage`,
|
upgrade_OnHackInvis: `Invisible pendant 15 secondes après un piratage`,
|
||||||
|
|
||||||
|
theme_dark: `[UNTRANSLATED] Dark Theme`,
|
||||||
|
theme_light: `[UNTRANSLATED] Light Theme`,
|
||||||
|
|
||||||
damageType_Electricity: `Électrique`,
|
damageType_Electricity: `Électrique`,
|
||||||
damageType_Fire: `Feu`,
|
damageType_Fire: `Feu`,
|
||||||
damageType_Freeze: `Glace`,
|
damageType_Freeze: `Glace`,
|
||||||
|
@ -136,6 +136,7 @@ dict = {
|
|||||||
cheats_skipAllDialogue: `Пропустить все диалоги`,
|
cheats_skipAllDialogue: `Пропустить все диалоги`,
|
||||||
cheats_unlockAllScans: `Разблокировать все сканирования`,
|
cheats_unlockAllScans: `Разблокировать все сканирования`,
|
||||||
cheats_unlockAllMissions: `Разблокировать все миссии`,
|
cheats_unlockAllMissions: `Разблокировать все миссии`,
|
||||||
|
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_infiniteCredits: `Бесконечные кредиты`,
|
cheats_infiniteCredits: `Бесконечные кредиты`,
|
||||||
cheats_infinitePlatinum: `Бесконечная платина`,
|
cheats_infinitePlatinum: `Бесконечная платина`,
|
||||||
cheats_infiniteEndo: `Бесконечное эндо`,
|
cheats_infiniteEndo: `Бесконечное эндо`,
|
||||||
@ -305,5 +306,8 @@ dict = {
|
|||||||
damageType_Poison: `Токсин`,
|
damageType_Poison: `Токсин`,
|
||||||
damageType_Radiation: `Радиация`,
|
damageType_Radiation: `Радиация`,
|
||||||
|
|
||||||
|
theme_dark: `[UNTRANSLATED] Dark Theme`,
|
||||||
|
theme_light: `[UNTRANSLATED] Light Theme`,
|
||||||
|
|
||||||
prettier_sucks_ass: ``
|
prettier_sucks_ass: ``
|
||||||
};
|
};
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// Chinese translation by meb154, bishan178 & Corvus
|
// Chinese translation by meb154, bishan178 & Corvus
|
||||||
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: `注意:要在游戏中查看更改,您需要重新同步库存,例如使用引导程序的 /sync 命令、访问道场 / 中继站或重新登录`,
|
||||||
general_addButton: `添加`,
|
general_addButton: `添加`,
|
||||||
general_setButton: `[UNTRANSLATED] Set`,
|
general_setButton: `[UNTRANSLATED] Set`,
|
||||||
general_removeButton: `[UNTRANSLATED] Remove`,
|
general_removeButton: `[UNTRANSLATED] Remove`,
|
||||||
@ -136,6 +136,7 @@ dict = {
|
|||||||
cheats_skipAllDialogue: `跳过所有对话`,
|
cheats_skipAllDialogue: `跳过所有对话`,
|
||||||
cheats_unlockAllScans: `解锁所有扫描`,
|
cheats_unlockAllScans: `解锁所有扫描`,
|
||||||
cheats_unlockAllMissions: `解锁所有任务`,
|
cheats_unlockAllMissions: `解锁所有任务`,
|
||||||
|
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_infiniteCredits: `无限现金`,
|
cheats_infiniteCredits: `无限现金`,
|
||||||
cheats_infinitePlatinum: `无限白金`,
|
cheats_infinitePlatinum: `无限白金`,
|
||||||
cheats_infiniteEndo: `无限内融核心`,
|
cheats_infiniteEndo: `无限内融核心`,
|
||||||
@ -182,7 +183,7 @@ dict = {
|
|||||||
cheats_fastClanAscension: `快速升级氏族`,
|
cheats_fastClanAscension: `快速升级氏族`,
|
||||||
cheats_missionsCanGiveAllRelics: `任务可获取所有遗物`,
|
cheats_missionsCanGiveAllRelics: `任务可获取所有遗物`,
|
||||||
cheats_unlockAllSimarisResearchEntries: `解锁所有Simaris研究条目`,
|
cheats_unlockAllSimarisResearchEntries: `解锁所有Simaris研究条目`,
|
||||||
cheats_disableDailyTribute: `[UNTRANSLATED] Disable Daily Tribute`,
|
cheats_disableDailyTribute: `禁用每日登录奖励`,
|
||||||
cheats_spoofMasteryRank: `伪造精通段位(-1为禁用)`,
|
cheats_spoofMasteryRank: `伪造精通段位(-1为禁用)`,
|
||||||
cheats_nightwaveStandingMultiplier: `午夜电波声望倍率`,
|
cheats_nightwaveStandingMultiplier: `午夜电波声望倍率`,
|
||||||
cheats_save: `保存`,
|
cheats_save: `保存`,
|
||||||
@ -239,59 +240,59 @@ dict = {
|
|||||||
worldState_allAtOnceNormal: `全部开启(普通)`,
|
worldState_allAtOnceNormal: `全部开启(普通)`,
|
||||||
worldState_allAtOnceSteelPath: `全部开启(钢铁之路)`,
|
worldState_allAtOnceSteelPath: `全部开启(钢铁之路)`,
|
||||||
worldState_theCircuitOverride: `无尽回廊任务循环配置:`,
|
worldState_theCircuitOverride: `无尽回廊任务循环配置:`,
|
||||||
worldState_darvoStockMultiplier: `[UNTRANSLATED] Darvo Stock Multiplier`,
|
worldState_darvoStockMultiplier: `Darvo特惠库存倍率`,
|
||||||
|
|
||||||
import_importNote: `您可以在此处提供完整或部分库存响应(客户端表示)。支持的所有字段<b>将被覆盖</b>到您的账户中。`,
|
import_importNote: `您可以在此处提供完整或部分库存响应(客户端表示)。支持的所有字段<b>将被覆盖</b>到您的账户中。`,
|
||||||
import_submit: `提交`,
|
import_submit: `提交`,
|
||||||
import_samples: `示例:`,
|
import_samples: `示例:`,
|
||||||
import_samples_maxFocus: `所有专精学派完全精通`,
|
import_samples_maxFocus: `所有专精学派完全精通`,
|
||||||
|
|
||||||
upgrade_Equilibrium: `+|VAL|% 能量 来自生命球, +|VAL|% 生命 来自能量球`,
|
upgrade_Equilibrium: `拾取生命球+|VAL|% 能量,拾取能量球+|VAL|% 生命`,
|
||||||
upgrade_MeleeCritDamage: `+|VAL|% 近战暴击伤害`,
|
upgrade_MeleeCritDamage: `+|VAL|% 近战暴击伤害`,
|
||||||
upgrade_PrimaryStatusChance: `+|VAL|% 主武器触发几率`,
|
upgrade_PrimaryStatusChance: `+|VAL|% 主要武器触发几率`,
|
||||||
upgrade_SecondaryCritChance: `+|VAL|% 次要武器暴击几率`,
|
upgrade_SecondaryCritChance: `+|VAL|% 次要武器暴击几率`,
|
||||||
upgrade_WarframeAbilityDuration: `+|VAL|% 技能持续时间`,
|
upgrade_WarframeAbilityDuration: `+|VAL|% 技能持续时间`,
|
||||||
upgrade_WarframeAbilityStrength: `+|VAL|% 技能强度`,
|
upgrade_WarframeAbilityStrength: `+|VAL|% 技能强度`,
|
||||||
upgrade_WarframeArmourMax: `+|VAL| 护甲`,
|
upgrade_WarframeArmourMax: `+|VAL| 护甲`,
|
||||||
upgrade_WarframeBlastProc: `+|VAL| 护盾在击杀时附带爆炸伤害`,
|
upgrade_WarframeBlastProc: `使用爆炸伤害击杀敌人时恢复+|VAL| 护盾`,
|
||||||
upgrade_WarframeCastingSpeed: `+|VAL|% 施放速度`,
|
upgrade_WarframeCastingSpeed: `+|VAL|% 施放速度`,
|
||||||
upgrade_WarframeCorrosiveDamageBoost: `对受腐蚀状态影响的敌人 +|VAL|% 技能伤害`,
|
upgrade_WarframeCorrosiveDamageBoost: `对受腐蚀异常影响的敌人+|VAL|% 额外技能伤害`,
|
||||||
upgrade_WarframeCorrosiveStack: `腐蚀状态最大堆叠数 +|VAL|`,
|
upgrade_WarframeCorrosiveStack: `腐蚀异常最大堆叠层数+|VAL|`,
|
||||||
upgrade_WarframeCritDamageBoost: `+|VAL|% 近战暴击伤害 (500能量以上翻倍)`,
|
upgrade_WarframeCritDamageBoost: `+|VAL|% 近战暴击伤害 (最大能量超过500伤害翻倍)`,
|
||||||
upgrade_WarframeElectricDamage: `+|VAL1|% 主武器伤害效果 (+|VAL2|% 每附加一个碎片)`,
|
upgrade_WarframeElectricDamage: `主要武器获得+|VAL1|% 电击伤害 (每装备一颗深红,蔚蓝,紫晶源力石+|VAL2|% 额外点击伤害 )`,
|
||||||
upgrade_WarframeElectricDamageBoost: `对受电能状态影响的敌人 +|VAL|% 技能伤害`,
|
upgrade_WarframeElectricDamageBoost: `对受电击异常影响的敌人+|VAL|% 额外技能伤害`,
|
||||||
upgrade_WarframeEnergyMax: `+|VAL| 最大能量`,
|
upgrade_WarframeEnergyMax: `+|VAL| 最大能量`,
|
||||||
upgrade_WarframeGlobeEffectEnergy: `+|VAL|% 能量球效果`,
|
upgrade_WarframeGlobeEffectEnergy: `+|VAL|% 能量球效果`,
|
||||||
upgrade_WarframeGlobeEffectHealth: `+|VAL|% 生命球效果`,
|
upgrade_WarframeGlobeEffectHealth: `+|VAL|% 生命球效果`,
|
||||||
upgrade_WarframeHealthMax: `+|VAL| 生命`,
|
upgrade_WarframeHealthMax: `+|VAL| 生命值`,
|
||||||
upgrade_WarframeHPBoostFromImpact: `[UNTRANSLATED] +|VAL1| Health on kill with Blast Damage (Max |VAL2| Health)`,
|
upgrade_WarframeHPBoostFromImpact: ` 通过爆炸伤害击杀的每个敌人可增加|VAL1| 生命上限 (最大 |VAL2| 生命上限)`,
|
||||||
upgrade_WarframeParkourVelocity: `+|VAL|% 跑酷速度`,
|
upgrade_WarframeParkourVelocity: `+|VAL|% 跑酷速度`,
|
||||||
upgrade_WarframeRadiationDamageBoost: `对受辐射状态影响的敌人 +|VAL|% 技能伤害`,
|
upgrade_WarframeRadiationDamageBoost: `对受辐射状态影响的敌人 +|VAL|% 技能伤害`,
|
||||||
upgrade_WarframeRegen: `+|VAL| 生命再生/s`,
|
upgrade_WarframeRegen: `+|VAL| /s生命再生`,
|
||||||
upgrade_WarframeShieldMax: `+|VAL| 护盾`,
|
upgrade_WarframeShieldMax: `+|VAL| 护盾值`,
|
||||||
upgrade_WarframeStartingEnergy: `+|VAL|% 能量出生时`,
|
upgrade_WarframeStartingEnergy: `进任务时+|VAL|% 初始能量`,
|
||||||
upgrade_WarframeToxinDamage: `+|VAL|% 毒素伤害效果`,
|
upgrade_WarframeToxinDamage: `毒素伤害额外+|VAL|% 伤害`,
|
||||||
upgrade_WarframeToxinHeal: `+|VAL| 生命 对毒素状态的敌人造成伤害时`,
|
upgrade_WarframeToxinHeal: `每当敌人受到毒素伤害时回复|VAL| 生命值`,
|
||||||
upgrade_WeaponCritBoostFromHeat: `每个被火焰伤害杀死的敌人, 增加|VAL1|% 次要武器暴击几率 (最大 |VAL2|%)`,
|
upgrade_WeaponCritBoostFromHeat: `每个被火焰伤害杀死的敌人, 增加|VAL1|% 次要武器暴击几率 (最大|VAL2|% )`,
|
||||||
upgrade_AvatarAbilityRange: `+7.5% 技能范围`,
|
upgrade_AvatarAbilityRange: `+7.5% 技能范围`,
|
||||||
upgrade_AvatarAbilityEfficiency: `+5% 技能效率`,
|
upgrade_AvatarAbilityEfficiency: `+5% 技能效率`,
|
||||||
upgrade_AvatarEnergyRegen: `+0.5 能量再生/秒`,
|
upgrade_AvatarEnergyRegen: `+0.5 能量再生/秒`,
|
||||||
upgrade_AvatarEnemyRadar: `+5米 敌方雷达`,
|
upgrade_AvatarEnemyRadar: `+5米 侦敌雷达`,
|
||||||
upgrade_AvatarLootRadar: `+7米 战利品雷达`,
|
upgrade_AvatarLootRadar: `+7米 寻物雷达`,
|
||||||
upgrade_WeaponAmmoMax: `+15% 弹药最大容量`,
|
upgrade_WeaponAmmoMax: `+15% 弹药最大容量`,
|
||||||
upgrade_EnemyArmorReductionAura: `-3% 敌方护甲`,
|
upgrade_EnemyArmorReductionAura: `-3% 敌方护甲`,
|
||||||
upgrade_OnExecutionAmmo: `怜悯之击 100% 补充主次要武器弹匣`,
|
upgrade_OnExecutionAmmo: `怜悯之击可装填100%主要武器和次要武器弹匣容量`,
|
||||||
upgrade_OnExecutionHealthDrop: `怜悯之击 100% 几率 掉落生命球`,
|
upgrade_OnExecutionHealthDrop: `怜悯之击有100%几率掉落生命球`,
|
||||||
upgrade_OnExecutionEnergyDrop: `怜悯之击 50% 几率 掉落生命球`,
|
upgrade_OnExecutionEnergyDrop: `怜悯之击有50%几率掉落能量球`,
|
||||||
upgrade_OnFailHackReset: `+50% 在入侵失败时重试`,
|
upgrade_OnFailHackReset: `入侵失败后有+50%几率重新尝试`,
|
||||||
upgrade_DamageReductionOnHack: `入侵时,+75% 伤害减免`,
|
upgrade_DamageReductionOnHack: `入侵时,+75% 伤害减免`,
|
||||||
upgrade_OnExecutionReviveCompanion: `怜悯之击 减少同伴复苏时间 15秒`,
|
upgrade_OnExecutionReviveCompanion: `怜悯之击减少15秒同伴复苏时间 `,
|
||||||
upgrade_OnExecutionParkourSpeed: `怜悯之击 15秒内 +60% 跑酷速度`,
|
upgrade_OnExecutionParkourSpeed: `怜悯之击后+60% 跑酷速度,持续15秒 `,
|
||||||
upgrade_AvatarTimeLimitIncrease: `+8秒 入侵时间`,
|
upgrade_AvatarTimeLimitIncrease: `+8秒 入侵时间`,
|
||||||
upgrade_ElectrifyOnHack: `入侵时震慑20米之内的敌人`,
|
upgrade_ElectrifyOnHack: `入侵时震慑20米之内的敌人`,
|
||||||
upgrade_OnExecutionTerrify: `怜悯之击 50% 几率让 15米 以内的敌人恐慌`,
|
upgrade_OnExecutionTerrify: `怜悯之击有50%几率让15米以内的敌人进入恐惧状态8秒`,
|
||||||
upgrade_OnHackLockers: `入侵后解锁20米内的5个储物柜`,
|
upgrade_OnHackLockers: `入侵后解锁20米内的5个储物柜`,
|
||||||
upgrade_OnExecutionBlind: `怜悯之击 致盲18米之内的敌人`,
|
upgrade_OnExecutionBlind: `怜悯之击致盲18米范围内的敌人`,
|
||||||
upgrade_OnExecutionDrainPower: `怜悯之击会使下一个技能有100%的机会获得+50%的技能强度`,
|
upgrade_OnExecutionDrainPower: `怜悯之击会使下一个技能有100%的机会获得+50%的技能强度`,
|
||||||
upgrade_OnHackSprintSpeed: `入侵后+75%冲刺速度,持续15秒`,
|
upgrade_OnHackSprintSpeed: `入侵后+75%冲刺速度,持续15秒`,
|
||||||
upgrade_SwiftExecute: `怜悯之击速度提升50%`,
|
upgrade_SwiftExecute: `怜悯之击速度提升50%`,
|
||||||
@ -305,5 +306,8 @@ dict = {
|
|||||||
damageType_Poison: `毒素`,
|
damageType_Poison: `毒素`,
|
||||||
damageType_Radiation: `辐射`,
|
damageType_Radiation: `辐射`,
|
||||||
|
|
||||||
|
theme_dark: `[UNTRANSLATED] Dark Theme`,
|
||||||
|
theme_light: `[UNTRANSLATED] Light Theme`,
|
||||||
|
|
||||||
prettier_sucks_ass: ``
|
prettier_sucks_ass: ``
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user