Compare commits
No commits in common. "main" and "main" have entirely different histories.
@ -79,10 +79,6 @@
|
||||
"starDaysOverride": null,
|
||||
"dogDaysOverride": null,
|
||||
"dogDaysRewardsOverride": null,
|
||||
"bellyOfTheBeast": false,
|
||||
"bellyOfTheBeastProgressOverride": 0,
|
||||
"eightClaw": false,
|
||||
"eightClawProgressOverride": 0,
|
||||
"eidolonOverride": "",
|
||||
"vallisOverride": "",
|
||||
"duviriOverride": "",
|
||||
|
@ -72,7 +72,7 @@ export const dronesController: RequestHandler = async (req, res) => {
|
||||
);
|
||||
}
|
||||
} else {
|
||||
drone.ResourceCount = droneMeta.binCapacity * droneMeta.capacityMultipliers[resource.Rarity];
|
||||
drone.ResourceCount = 1;
|
||||
}
|
||||
await inventory.save();
|
||||
res.json({});
|
||||
|
@ -1,25 +0,0 @@
|
||||
import { RequestHandler } from "express";
|
||||
import { getAccountForRequest } from "@/src/services/loginService";
|
||||
import { getInventory } from "@/src/services/inventoryService";
|
||||
import { Guild } from "@/src/models/guildModel";
|
||||
|
||||
export const getGuildEventScoreController: RequestHandler = async (req, res) => {
|
||||
const account = await getAccountForRequest(req);
|
||||
const inventory = await getInventory(account._id.toString(), "GuildId");
|
||||
const guild = await Guild.findById(inventory.GuildId);
|
||||
const goalId = req.query.goalId as string;
|
||||
if (guild && guild.GoalProgress && goalId) {
|
||||
const goal = guild.GoalProgress.find(x => x.goalId.toString() == goalId);
|
||||
if (goal) {
|
||||
return res.json({
|
||||
Tier: guild.Tier,
|
||||
GoalProgress: {
|
||||
Count: goal.Count,
|
||||
Tag: goal.Tag,
|
||||
_id: { $oid: goal.goalId }
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
return res.json({});
|
||||
};
|
@ -12,7 +12,7 @@ export const hubBlessingController: RequestHandler = async (req, res) => {
|
||||
if (req.query.mode == "send") {
|
||||
const inventory = await getInventory(accountId, "BlessingCooldown Boosters");
|
||||
inventory.BlessingCooldown = new Date(Date.now() + 86400000);
|
||||
addBooster(boosterType, 3 * 3600, inventory); // unfaithful, but current HUB server does not handle broadcasting, so this way users can bless themselves.
|
||||
addBooster(boosterType, 3 * 3600, inventory);
|
||||
await inventory.save();
|
||||
|
||||
let token = "";
|
||||
|
@ -1,10 +1,8 @@
|
||||
import { importInventory, importLoadOutPresets, importPersonalRooms } from "@/src/services/importService";
|
||||
import { importInventory, importLoadOutPresets } from "@/src/services/importService";
|
||||
import { getInventory } from "@/src/services/inventoryService";
|
||||
import { getLoadout } from "@/src/services/loadoutService";
|
||||
import { getAccountIdForRequest } from "@/src/services/loginService";
|
||||
import { getPersonalRooms } from "@/src/services/personalRoomsService";
|
||||
import { IInventoryClient } from "@/src/types/inventoryTypes/inventoryTypes";
|
||||
import { IGetShipResponse } from "@/src/types/personalRoomsTypes";
|
||||
import { RequestHandler } from "express";
|
||||
|
||||
export const importController: RequestHandler = async (req, res) => {
|
||||
@ -15,21 +13,15 @@ export const importController: RequestHandler = async (req, res) => {
|
||||
importInventory(inventory, request.inventory);
|
||||
await inventory.save();
|
||||
|
||||
if ("LoadOutPresets" in request.inventory && request.inventory.LoadOutPresets) {
|
||||
if (request.inventory.LoadOutPresets) {
|
||||
const loadout = await getLoadout(accountId);
|
||||
importLoadOutPresets(loadout, request.inventory.LoadOutPresets);
|
||||
await loadout.save();
|
||||
}
|
||||
|
||||
if ("Ship" in request.inventory || "Apartment" in request.inventory || "TailorShop" in request.inventory) {
|
||||
const personalRooms = await getPersonalRooms(accountId);
|
||||
importPersonalRooms(personalRooms, request.inventory);
|
||||
await personalRooms.save();
|
||||
}
|
||||
|
||||
res.end();
|
||||
};
|
||||
|
||||
interface IImportRequest {
|
||||
inventory: Partial<IInventoryClient> | Partial<IGetShipResponse>;
|
||||
inventory: Partial<IInventoryClient>;
|
||||
}
|
||||
|
@ -19,8 +19,6 @@ import {
|
||||
import { Document, Model, model, Schema, Types } from "mongoose";
|
||||
import { fusionTreasuresSchema, typeCountSchema } from "@/src/models/inventoryModels/inventoryModel";
|
||||
import { pictureFrameInfoSchema } from "@/src/models/personalRoomsModel";
|
||||
import { IGoalProgressClient, IGoalProgressDatabase } from "@/src/types/inventoryTypes/inventoryTypes";
|
||||
import { toOid } from "@/src/helpers/inventoryHelpers";
|
||||
|
||||
const dojoDecoSchema = new Schema<IDojoDecoDatabase>({
|
||||
Type: String,
|
||||
@ -176,28 +174,6 @@ const guildLogEntryNumberSchema = new Schema<IGuildLogEntryNumber>(
|
||||
{ _id: false }
|
||||
);
|
||||
|
||||
const goalProgressSchema = new Schema<IGoalProgressDatabase>(
|
||||
{
|
||||
Count: Number,
|
||||
Tag: String,
|
||||
goalId: Types.ObjectId
|
||||
},
|
||||
{ _id: false }
|
||||
);
|
||||
|
||||
goalProgressSchema.set("toJSON", {
|
||||
virtuals: true,
|
||||
transform(_doc, obj: Record<string, any>) {
|
||||
const db = obj as IGoalProgressDatabase;
|
||||
const client = obj as IGoalProgressClient;
|
||||
|
||||
client._id = toOid(db.goalId);
|
||||
|
||||
delete obj.goalId;
|
||||
delete obj.__v;
|
||||
}
|
||||
});
|
||||
|
||||
const guildSchema = new Schema<IGuildDatabase>(
|
||||
{
|
||||
Name: { type: String, required: true, unique: true },
|
||||
@ -230,8 +206,7 @@ const guildSchema = new Schema<IGuildDatabase>(
|
||||
RoomChanges: { type: [guildLogRoomChangeSchema], default: undefined },
|
||||
TechChanges: { type: [guildLogEntryContributableSchema], default: undefined },
|
||||
RosterActivity: { type: [guildLogEntryRosterSchema], default: undefined },
|
||||
ClassChanges: { type: [guildLogEntryNumberSchema], default: undefined },
|
||||
GoalProgress: { type: [goalProgressSchema], default: undefined }
|
||||
ClassChanges: { type: [guildLogEntryNumberSchema], default: undefined }
|
||||
},
|
||||
{ id: false }
|
||||
);
|
||||
|
@ -85,8 +85,8 @@ import {
|
||||
IAccolades,
|
||||
IHubNpcCustomization,
|
||||
IEndlessXpReward,
|
||||
IGoalProgressDatabase,
|
||||
IGoalProgressClient,
|
||||
IPersonalGoalProgressDatabase,
|
||||
IPersonalGoalProgressClient,
|
||||
IKubrowPetPrintClient,
|
||||
IKubrowPetPrintDatabase
|
||||
} from "@/src/types/inventoryTypes/inventoryTypes";
|
||||
@ -445,7 +445,7 @@ const discoveredMarkerSchema = new Schema<IDiscoveredMarker>(
|
||||
{ _id: false }
|
||||
);
|
||||
|
||||
const personalGoalProgressSchema = new Schema<IGoalProgressDatabase>(
|
||||
const personalGoalProgressSchema = new Schema<IPersonalGoalProgressDatabase>(
|
||||
{
|
||||
Best: Number,
|
||||
Count: Number,
|
||||
@ -458,8 +458,8 @@ const personalGoalProgressSchema = new Schema<IGoalProgressDatabase>(
|
||||
personalGoalProgressSchema.set("toJSON", {
|
||||
virtuals: true,
|
||||
transform(_doc, obj: Record<string, any>) {
|
||||
const db = obj as IGoalProgressDatabase;
|
||||
const client = obj as IGoalProgressClient;
|
||||
const db = obj as IPersonalGoalProgressDatabase;
|
||||
const client = obj as IPersonalGoalProgressClient;
|
||||
|
||||
client._id = toOid(db.goalId);
|
||||
|
||||
|
@ -62,7 +62,6 @@ import { getFriendsController } from "@/src/controllers/api/getFriendsController
|
||||
import { getGuildContributionsController } from "@/src/controllers/api/getGuildContributionsController";
|
||||
import { getGuildController } from "@/src/controllers/api/getGuildController";
|
||||
import { getGuildDojoController } from "@/src/controllers/api/getGuildDojoController";
|
||||
import { getGuildEventScoreController } from "@/src/controllers/api/getGuildEventScore";
|
||||
import { getGuildLogController } from "@/src/controllers/api/getGuildLogController";
|
||||
import { getIgnoredUsersController } from "@/src/controllers/api/getIgnoredUsersController";
|
||||
import { getNewRewardSeedController } from "@/src/controllers/api/getNewRewardSeedController";
|
||||
@ -193,7 +192,6 @@ apiRouter.get("/getFriends.php", getFriendsController);
|
||||
apiRouter.get("/getGuild.php", getGuildController);
|
||||
apiRouter.get("/getGuildContributions.php", getGuildContributionsController);
|
||||
apiRouter.get("/getGuildDojo.php", getGuildDojoController);
|
||||
apiRouter.get("/getGuildEventScore.php", getGuildEventScoreController);
|
||||
apiRouter.get("/getGuildLog.php", getGuildLogController);
|
||||
apiRouter.get("/getIgnoredUsers.php", getIgnoredUsersController);
|
||||
apiRouter.get("/getMessages.php", inboxController); // unsure if this is correct, but needed for U17
|
||||
|
@ -91,10 +91,6 @@ export interface IConfig {
|
||||
starDaysOverride?: boolean;
|
||||
dogDaysOverride?: boolean;
|
||||
dogDaysRewardsOverride?: number;
|
||||
bellyOfTheBeast?: boolean;
|
||||
bellyOfTheBeastProgressOverride?: number;
|
||||
eightClaw?: boolean;
|
||||
eightClawProgressOverride?: number;
|
||||
eidolonOverride?: string;
|
||||
vallisOverride?: string;
|
||||
duviriOverride?: string;
|
||||
|
@ -115,14 +115,7 @@ export const getGuildClient = async (
|
||||
NumContributors: guild.CeremonyContributors?.length ?? 0,
|
||||
CeremonyResetDate: guild.CeremonyResetDate ? toMongoDate(guild.CeremonyResetDate) : undefined,
|
||||
AutoContributeFromVault: guild.AutoContributeFromVault,
|
||||
AllianceId: guild.AllianceId ? toOid2(guild.AllianceId, account.BuildLabel) : undefined,
|
||||
GoalProgress: guild.GoalProgress
|
||||
? guild.GoalProgress.map(gp => ({
|
||||
Count: gp.Count,
|
||||
Tag: gp.Tag,
|
||||
_id: { $oid: gp.goalId.toString() }
|
||||
}))
|
||||
: undefined
|
||||
AllianceId: guild.AllianceId ? toOid2(guild.AllianceId, account.BuildLabel) : undefined
|
||||
};
|
||||
};
|
||||
|
||||
@ -816,85 +809,3 @@ export const getAllianceClient = async (
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
export const handleGuildGoalProgress = async (
|
||||
guild: TGuildDatabaseDocument,
|
||||
upload: { Count: number; Tag: string; goalId: Types.ObjectId }
|
||||
): Promise<void> => {
|
||||
guild.GoalProgress ??= [];
|
||||
const goalProgress = guild.GoalProgress.find(x => x.goalId.equals(upload.goalId));
|
||||
if (!goalProgress) {
|
||||
guild.GoalProgress.push({
|
||||
Count: upload.Count,
|
||||
Tag: upload.Tag,
|
||||
goalId: upload.goalId
|
||||
});
|
||||
}
|
||||
const totalCount = (goalProgress?.Count ?? 0) + upload.Count;
|
||||
const guildRewards = goalGuildRewardByTag[upload.Tag].rewards;
|
||||
const tierGoals = goalGuildRewardByTag[upload.Tag].guildGoals[guild.Tier - 1];
|
||||
const rewards = [];
|
||||
if (tierGoals.length && guildRewards.length) {
|
||||
for (let i = 0; i < tierGoals.length; i++) {
|
||||
if (
|
||||
tierGoals[i] &&
|
||||
tierGoals[i] <= totalCount &&
|
||||
(!goalProgress || goalProgress.Count < tierGoals[i]) &&
|
||||
guildRewards[i]
|
||||
) {
|
||||
rewards.push(guildRewards[i]);
|
||||
}
|
||||
}
|
||||
|
||||
if (rewards.length) {
|
||||
logger.debug(`guild goal rewards`, rewards);
|
||||
guild.VaultDecoRecipes ??= [];
|
||||
rewards.forEach(type => {
|
||||
guild.VaultDecoRecipes!.push({
|
||||
ItemType: type,
|
||||
ItemCount: 1
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
if (goalProgress) {
|
||||
goalProgress.Count += upload.Count;
|
||||
}
|
||||
await guild.save();
|
||||
};
|
||||
|
||||
export const goalGuildRewardByTag: Record<string, { guildGoals: number[][]; rewards: string[] }> = {
|
||||
JadeShadowsEvent: {
|
||||
guildGoals: [
|
||||
// I don't know what ClanGoal means
|
||||
[15, 30, 45, 60],
|
||||
[45, 90, 135, 180],
|
||||
[150, 300, 450, 600],
|
||||
[450, 900, 1350, 1800],
|
||||
[1500, 3000, 4500, 6000]
|
||||
],
|
||||
rewards: [
|
||||
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/JadeShadowsEventPewterTrophyRecipe",
|
||||
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/JadeShadowsEventBronzeTrophyRecipe",
|
||||
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/JadeShadowsEventSilverTrophyRecipe",
|
||||
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/JadeShadowsEventGoldTrophyRecipe"
|
||||
]
|
||||
},
|
||||
DuviriMurmurEvent: {
|
||||
guildGoals: [
|
||||
// I don't know what ClanGoal means
|
||||
[260, 519, 779, 1038],
|
||||
[779, 1557, 2336, 3114],
|
||||
[2595, 5190, 7785, 10380],
|
||||
[7785, 15570, 23355, 31140],
|
||||
[29950, 51900, 77850, 103800]
|
||||
],
|
||||
rewards: [
|
||||
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/DuviriMurmurEventClayTrophyRecipe",
|
||||
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/DuviriMurmurEventBronzeTrophyRecipe",
|
||||
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/DuviriMurmurEventSilverTrophyRecipe",
|
||||
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/DuviriMurmurEventGoldTrophyRecipe"
|
||||
]
|
||||
}
|
||||
};
|
||||
|
@ -44,22 +44,6 @@ import {
|
||||
IKubrowPetDetailsClient,
|
||||
IKubrowPetDetailsDatabase
|
||||
} from "@/src/types/equipmentTypes";
|
||||
import {
|
||||
IApartmentClient,
|
||||
IApartmentDatabase,
|
||||
IFavouriteLoadout,
|
||||
IFavouriteLoadoutDatabase,
|
||||
IGetShipResponse,
|
||||
IOrbiterClient,
|
||||
IOrbiterDatabase,
|
||||
IPersonalRoomsDatabase,
|
||||
IPlantClient,
|
||||
IPlantDatabase,
|
||||
IPlanterClient,
|
||||
IPlanterDatabase,
|
||||
ITailorShop,
|
||||
ITailorShopDatabase
|
||||
} from "@/src/types/personalRoomsTypes";
|
||||
|
||||
const convertDate = (value: IMongoDate): Date => {
|
||||
return new Date(parseInt(value.$date.$numberLong));
|
||||
@ -445,57 +429,3 @@ export const importLoadOutPresets = (db: ILoadoutDatabase, client: ILoadOutPrese
|
||||
db.OPERATOR_ADULT = client.OPERATOR_ADULT.map(convertLoadOutConfig);
|
||||
db.DRIFTER = client.DRIFTER.map(convertLoadOutConfig);
|
||||
};
|
||||
|
||||
const convertShip = (client: IOrbiterClient): IOrbiterDatabase => {
|
||||
return {
|
||||
...client,
|
||||
ShipInterior: {
|
||||
...client.ShipInterior,
|
||||
Colors: Array.isArray(client.ShipInterior.Colors) ? {} : client.ShipInterior.Colors
|
||||
},
|
||||
FavouriteLoadoutId: client.FavouriteLoadoutId ? new Types.ObjectId(client.FavouriteLoadoutId.$oid) : undefined
|
||||
};
|
||||
};
|
||||
|
||||
const convertPlant = (client: IPlantClient): IPlantDatabase => {
|
||||
return {
|
||||
...client,
|
||||
EndTime: convertDate(client.EndTime)
|
||||
};
|
||||
};
|
||||
|
||||
const convertPlanter = (client: IPlanterClient): IPlanterDatabase => {
|
||||
return {
|
||||
...client,
|
||||
Plants: client.Plants.map(convertPlant)
|
||||
};
|
||||
};
|
||||
|
||||
const convertFavouriteLoadout = (client: IFavouriteLoadout): IFavouriteLoadoutDatabase => {
|
||||
return {
|
||||
...client,
|
||||
LoadoutId: new Types.ObjectId(client.LoadoutId.$oid)
|
||||
};
|
||||
};
|
||||
|
||||
const convertApartment = (client: IApartmentClient): IApartmentDatabase => {
|
||||
return {
|
||||
...client,
|
||||
Gardening: { Planters: client.Gardening.Planters.map(convertPlanter) },
|
||||
FavouriteLoadouts: client.FavouriteLoadouts ? client.FavouriteLoadouts.map(convertFavouriteLoadout) : []
|
||||
};
|
||||
};
|
||||
|
||||
const convertTailorShop = (client: ITailorShop): ITailorShopDatabase => {
|
||||
return {
|
||||
...client,
|
||||
Colors: Array.isArray(client.Colors) ? {} : client.Colors,
|
||||
FavouriteLoadouts: client.FavouriteLoadouts ? client.FavouriteLoadouts.map(convertFavouriteLoadout) : []
|
||||
};
|
||||
};
|
||||
|
||||
export const importPersonalRooms = (db: IPersonalRoomsDatabase, client: Partial<IGetShipResponse>): void => {
|
||||
if (client.Ship !== undefined) db.Ship = convertShip(client.Ship);
|
||||
if (client.Apartment !== undefined) db.Apartment = convertApartment(client.Apartment);
|
||||
if (client.TailorShop !== undefined) db.TailorShop = convertTailorShop(client.TailorShop);
|
||||
};
|
||||
|
@ -847,32 +847,6 @@ export const addItem = async (
|
||||
return addMotorcycle(inventory, typeName);
|
||||
}
|
||||
break;
|
||||
case "Lore":
|
||||
if (typeName == "/Lotus/Types/Lore/Fragments/GrineerGhoulFragments/GhoulFragmentRewards") {
|
||||
const fragmentType = getRandomElement([
|
||||
"/Lotus/Types/Lore/Fragments/GrineerGhoulFragments/GhoulFragmentA",
|
||||
"/Lotus/Types/Lore/Fragments/GrineerGhoulFragments/GhoulFragmentB",
|
||||
"/Lotus/Types/Lore/Fragments/GrineerGhoulFragments/GhoulFragmentC",
|
||||
"/Lotus/Types/Lore/Fragments/GrineerGhoulFragments/GhoulFragmentD",
|
||||
"/Lotus/Types/Lore/Fragments/GrineerGhoulFragments/GhoulFragmentE",
|
||||
"/Lotus/Types/Lore/Fragments/GrineerGhoulFragments/GhoulFragmentF",
|
||||
"/Lotus/Types/Lore/Fragments/GrineerGhoulFragments/GhoulFragmentG",
|
||||
"/Lotus/Types/Lore/Fragments/GrineerGhoulFragments/GhoulFragmentH",
|
||||
"/Lotus/Types/Lore/Fragments/GrineerGhoulFragments/GhoulFragmentI",
|
||||
"/Lotus/Types/Lore/Fragments/GrineerGhoulFragments/GhoulFragmentJ",
|
||||
"/Lotus/Types/Lore/Fragments/GrineerGhoulFragments/GhoulFragmentK",
|
||||
"/Lotus/Types/Lore/Fragments/GrineerGhoulFragments/GhoulFragmentL",
|
||||
"/Lotus/Types/Lore/Fragments/GrineerGhoulFragments/GhoulFragmentM"
|
||||
])!;
|
||||
addLoreFragmentScans(inventory, [
|
||||
{
|
||||
Progress: 1,
|
||||
Region: "",
|
||||
ItemType: fragmentType
|
||||
}
|
||||
]);
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -81,8 +81,6 @@ import { fromOid } from "@/src/helpers/inventoryHelpers";
|
||||
import { TAccountDocument } from "@/src/services/loginService";
|
||||
import { ITypeCount } from "@/src/types/commonTypes";
|
||||
import { IEquipmentClient } from "@/src/types/equipmentTypes";
|
||||
import { Guild } from "@/src/models/guildModel";
|
||||
import { handleGuildGoalProgress } from "@/src/services/guildService";
|
||||
|
||||
const getRotations = (rewardInfo: IRewardInfo, tierOverride?: number): number[] => {
|
||||
// Disruption missions just tell us (https://onlyg.it/OpenWF/SpaceNinjaServer/issues/2599)
|
||||
@ -714,20 +712,10 @@ export const addMissionInventoryUpdates = async (
|
||||
}
|
||||
|
||||
if (goalProgress) {
|
||||
goalProgress.Best = Math.max(goalProgress.Best!, uploadProgress.Best);
|
||||
goalProgress.Best = Math.max(goalProgress.Best, uploadProgress.Best);
|
||||
goalProgress.Count += uploadProgress.Count;
|
||||
}
|
||||
}
|
||||
if (goal && goal.ClanGoal && inventory.GuildId) {
|
||||
const guild = await Guild.findById(inventory.GuildId, "GoalProgress Tier VaultDecoRecipes");
|
||||
if (guild) {
|
||||
await handleGuildGoalProgress(guild, {
|
||||
Count: uploadProgress.Count,
|
||||
Tag: goal.Tag,
|
||||
goalId: new Types.ObjectId(goal._id.$oid)
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -36,9 +36,6 @@ import { TInventoryDatabaseDocument } from "@/src/models/inventoryModels/invento
|
||||
import { fromStoreItem, toStoreItem } from "@/src/services/itemDataService";
|
||||
import { DailyDeal } from "@/src/models/worldStateModel";
|
||||
import { fromMongoDate, toMongoDate } from "@/src/helpers/inventoryHelpers";
|
||||
import { Guild } from "@/src/models/guildModel";
|
||||
import { handleGuildGoalProgress } from "@/src/services/guildService";
|
||||
import { Types } from "mongoose";
|
||||
|
||||
export const getStoreItemCategory = (storeItem: string): string => {
|
||||
const storeItemString = getSubstringFromKeyword(storeItem, "StoreItems/");
|
||||
@ -140,22 +137,6 @@ export const handlePurchase = async (
|
||||
updateCurrency(inventory, offer.PremiumPrice[0], true, prePurchaseInventoryChanges);
|
||||
}
|
||||
}
|
||||
if (
|
||||
inventory.GuildId &&
|
||||
offer.ItemPrices &&
|
||||
manifest.VendorInfo.TypeName ==
|
||||
"/Lotus/Types/Game/VendorManifests/Events/DuviriMurmurInvasionVendorManifest"
|
||||
) {
|
||||
const guild = await Guild.findById(inventory.GuildId, "GoalProgress Tier VaultDecoRecipes");
|
||||
const goal = getWorldState().Goals.find(x => x.Tag == "DuviriMurmurEvent");
|
||||
if (guild && goal) {
|
||||
await handleGuildGoalProgress(guild, {
|
||||
Count: offer.ItemPrices[0].ItemCount * purchaseRequest.PurchaseParams.Quantity,
|
||||
Tag: goal.Tag,
|
||||
goalId: new Types.ObjectId(goal._id.$oid)
|
||||
});
|
||||
}
|
||||
}
|
||||
if (!config.dontSubtractPurchaseItemCost) {
|
||||
if (offer.ItemPrices) {
|
||||
handleItemPrices(
|
||||
|
@ -1801,10 +1801,7 @@ export const getWorldState = (buildLabel?: string): IWorldState => {
|
||||
|
||||
worldState.Goals.push({
|
||||
_id: {
|
||||
$oid:
|
||||
((dogDaysStart / 1000) & 0xffffffff).toString(16).padStart(8, "0") +
|
||||
"c57487c3768936d" +
|
||||
year.toString(16)
|
||||
$oid: ((dogDaysStart / 1000) & 0xffffffff).toString(16).padStart(8, "0") + "c57487c3768936df"
|
||||
},
|
||||
Activation: { $date: { $numberLong: activationTimeStamp } },
|
||||
Expiry: { $date: { $numberLong: expiryTimeStamp } },
|
||||
@ -2097,7 +2094,7 @@ export const getWorldState = (buildLabel?: string): IWorldState => {
|
||||
const year = config.worldState.hallowedNightmaresRewardsOverride ?? 0;
|
||||
|
||||
worldState.Goals.push({
|
||||
_id: { $oid: "5bc98f00000000000000000" + year.toString(16) },
|
||||
_id: { $oid: "5bc9e8f7972d7d184c8398c9" },
|
||||
Activation: { $date: { $numberLong: "1539972000000" } },
|
||||
Expiry: { $date: { $numberLong: "2000000000000" } },
|
||||
Count: 0,
|
||||
@ -2122,7 +2119,7 @@ export const getWorldState = (buildLabel?: string): IWorldState => {
|
||||
});
|
||||
if (year != 2) {
|
||||
worldState.Goals.push({
|
||||
_id: { $oid: "5bc98f01000000000000000" + year.toString(16) },
|
||||
_id: { $oid: "5bca18b1e12d9e14a0b6ad27" },
|
||||
Activation: { $date: { $numberLong: "1539972000000" } },
|
||||
Expiry: { $date: { $numberLong: "2000000000000" } },
|
||||
Count: 0,
|
||||
@ -2195,7 +2192,7 @@ export const getWorldState = (buildLabel?: string): IWorldState => {
|
||||
const year = config.worldState.proxyRebellionRewardsOverride ?? 0;
|
||||
|
||||
worldState.Goals.push({
|
||||
_id: { $oid: "5b5b5da0000000000000000" + year.toString(16) },
|
||||
_id: { $oid: "5b5743ac972d7d3ed0517b0d" },
|
||||
Activation: { $date: { $numberLong: "1532714400000" } },
|
||||
Expiry: { $date: { $numberLong: "2000000000000" } },
|
||||
Count: 0,
|
||||
@ -2268,49 +2265,6 @@ export const getWorldState = (buildLabel?: string): IWorldState => {
|
||||
BonusReward: { items: ["/Lotus/StoreItems/Upgrades/Skins/Clan/BountyHunterBadgeItem"] }
|
||||
});
|
||||
}
|
||||
if (config.worldState?.bellyOfTheBeast) {
|
||||
worldState.Goals.push({
|
||||
_id: { $oid: "67a5035c2a198564d62e165e" },
|
||||
Activation: { $date: { $numberLong: "1738868400000" } },
|
||||
Expiry: { $date: { $numberLong: "2000000000000" } },
|
||||
Count: config.worldState.bellyOfTheBeastProgressOverride ?? 0,
|
||||
HealthPct: (config.worldState.bellyOfTheBeastProgressOverride ?? 0) / 100,
|
||||
Goal: 0,
|
||||
Personal: true,
|
||||
Community: true,
|
||||
ClanGoal: [72, 216, 648, 1944, 5832],
|
||||
Tag: "JadeShadowsEvent",
|
||||
Faction: "FC_MITW",
|
||||
Desc: "/Lotus/Language/JadeShadows/JadeShadowsEventName",
|
||||
ToolTip: "/Lotus/Language/JadeShadows/JadeShadowsShortEventDesc",
|
||||
Icon: "/Lotus/Interface/Icons/WorldStatePanel/JadeShadowsEventBadge.png",
|
||||
ScoreLocTag: "/Lotus/Language/JadeShadows/JadeShadowsEventScore",
|
||||
Node: "SolNode723",
|
||||
MissionKeyName: "/Lotus/Types/Keys/JadeShadowsEventMission",
|
||||
ItemType: "/Lotus/Types/Gameplay/JadeShadows/Resources/AscensionEventResourceItem"
|
||||
});
|
||||
}
|
||||
if (config.worldState?.eightClaw) {
|
||||
worldState.Goals.push({
|
||||
_id: { $oid: "685c15f80000000000000000" },
|
||||
Activation: { $date: { $numberLong: "1750865400000" } },
|
||||
Expiry: { $date: { $numberLong: "2000000000000" } },
|
||||
Count: config.worldState.eightClawProgressOverride ?? 0,
|
||||
HealthPct: (config.worldState.eightClawProgressOverride ?? 0) / 100,
|
||||
Goal: 0,
|
||||
Personal: true,
|
||||
Community: true,
|
||||
ClanGoal: [72, 216, 648, 1944, 5832],
|
||||
Tag: "DuviriMurmurEvent",
|
||||
Faction: "FC_MITW",
|
||||
Desc: "/Lotus/Language/Isleweaver/DuviriMurmurEventTitle",
|
||||
ToolTip: "/Lotus/Language/Isleweaver/DuviriMurmurEventDescription",
|
||||
Icon: "/Lotus/Interface/Icons/WorldStatePanel/EightClawEventBadge.png",
|
||||
ScoreLocTag: "/Lotus/Language/Isleweaver/DuviriMurmurEventScore",
|
||||
Node: "SolNode236",
|
||||
MissionKeyName: "/Lotus/Types/Keys/DuviriMITW/DuviriMITWEventKey"
|
||||
});
|
||||
}
|
||||
|
||||
// Nightwave Challenges
|
||||
const nightwaveSyndicateTag = getNightwaveSyndicateTag(buildLabel);
|
||||
|
@ -1,11 +1,6 @@
|
||||
import { Types } from "mongoose";
|
||||
import { IOid, IMongoDate, IOidWithLegacySupport, ITypeCount } from "@/src/types/commonTypes";
|
||||
import {
|
||||
IFusionTreasure,
|
||||
IMiscItem,
|
||||
IGoalProgressDatabase,
|
||||
IGoalProgressClient
|
||||
} from "@/src/types/inventoryTypes/inventoryTypes";
|
||||
import { IFusionTreasure, IMiscItem } from "@/src/types/inventoryTypes/inventoryTypes";
|
||||
import { IPictureFrameInfo } from "@/src/types/personalRoomsTypes";
|
||||
import { IFriendInfo } from "@/src/types/friendTypes";
|
||||
|
||||
@ -28,8 +23,6 @@ export interface IGuildClient {
|
||||
CrossPlatformEnabled?: boolean;
|
||||
AutoContributeFromVault?: boolean;
|
||||
AllianceId?: IOidWithLegacySupport;
|
||||
|
||||
GoalProgress?: IGoalProgressClient[];
|
||||
}
|
||||
|
||||
export interface IGuildDatabase {
|
||||
@ -70,8 +63,6 @@ export interface IGuildDatabase {
|
||||
TechChanges?: IGuildLogEntryContributable[];
|
||||
RosterActivity?: IGuildLogEntryRoster[];
|
||||
ClassChanges?: IGuildLogEntryNumber[];
|
||||
|
||||
GoalProgress?: IGoalProgressDatabase[];
|
||||
}
|
||||
|
||||
export interface ILongMOTD {
|
||||
|
@ -109,7 +109,7 @@ export interface IInventoryDatabase
|
||||
QualifyingInvasions: IInvasionProgressDatabase[];
|
||||
LastInventorySync?: Types.ObjectId;
|
||||
EndlessXP?: IEndlessXpProgressDatabase[];
|
||||
PersonalGoalProgress?: IGoalProgressDatabase[];
|
||||
PersonalGoalProgress?: IPersonalGoalProgressDatabase[];
|
||||
}
|
||||
|
||||
export interface IQuestKeyDatabase {
|
||||
@ -318,7 +318,7 @@ export interface IInventoryClient extends IDailyAffiliations, InventoryClientEqu
|
||||
HWIDProtectEnabled?: boolean;
|
||||
KubrowPetPrints: IKubrowPetPrintClient[];
|
||||
AlignmentReplay?: IAlignment;
|
||||
PersonalGoalProgress?: IGoalProgressClient[];
|
||||
PersonalGoalProgress?: IPersonalGoalProgressClient[];
|
||||
ThemeStyle: string;
|
||||
ThemeBackground: string;
|
||||
ThemeSounds: string;
|
||||
@ -730,7 +730,7 @@ export enum UpgradeType {
|
||||
|
||||
export interface ILoreFragmentScan {
|
||||
Progress: number;
|
||||
Region: string;
|
||||
Region?: string;
|
||||
ItemType: string;
|
||||
}
|
||||
|
||||
@ -895,8 +895,8 @@ export interface IPeriodicMissionCompletionResponse extends Omit<IPeriodicMissio
|
||||
date: IMongoDate;
|
||||
}
|
||||
|
||||
export interface IGoalProgressClient {
|
||||
Best?: number;
|
||||
export interface IPersonalGoalProgressClient {
|
||||
Best: number;
|
||||
Count: number;
|
||||
Tag: string;
|
||||
_id: IOid;
|
||||
@ -904,7 +904,7 @@ export interface IGoalProgressClient {
|
||||
//ReceivedClanReward1?: boolean;
|
||||
}
|
||||
|
||||
export interface IGoalProgressDatabase extends Omit<IGoalProgressClient, "_id"> {
|
||||
export interface IPersonalGoalProgressDatabase extends Omit<IPersonalGoalProgressClient, "_id"> {
|
||||
goalId: Types.ObjectId;
|
||||
}
|
||||
|
||||
|
@ -90,7 +90,7 @@ export interface IGardeningDatabase {
|
||||
export interface IApartmentClient {
|
||||
Gardening: IGardeningClient;
|
||||
Rooms: IRoom[];
|
||||
FavouriteLoadouts?: IFavouriteLoadout[];
|
||||
FavouriteLoadouts: IFavouriteLoadout[];
|
||||
VideoWallBackdrop?: string;
|
||||
Soundscape?: string;
|
||||
}
|
||||
@ -210,7 +210,7 @@ export interface ITailorShopDatabase {
|
||||
}
|
||||
|
||||
export interface ITailorShop extends Omit<ITailorShopDatabase, "FavouriteLoadouts"> {
|
||||
FavouriteLoadouts?: IFavouriteLoadout[];
|
||||
FavouriteLoadouts: IFavouriteLoadout[];
|
||||
}
|
||||
|
||||
export type RoomsType = { Name: string; MaxCapacity: number; PlacedDecos: Types.DocumentArray<IPlacedDecosDatabase> };
|
||||
|
@ -39,44 +39,32 @@ export interface IGoal {
|
||||
_id: IOid;
|
||||
Activation: IMongoDate;
|
||||
Expiry: IMongoDate;
|
||||
|
||||
Count?: number;
|
||||
HealthPct?: number;
|
||||
|
||||
Icon: string;
|
||||
Desc: string;
|
||||
ToolTip?: string;
|
||||
Faction?: string;
|
||||
|
||||
Goal?: number;
|
||||
InterimGoals?: number[];
|
||||
BonusGoal?: number;
|
||||
ClanGoal?: number[];
|
||||
|
||||
HealthPct?: number;
|
||||
Success?: number;
|
||||
Personal?: boolean;
|
||||
Community?: boolean;
|
||||
Best?: boolean; // Fist one on Event Tab
|
||||
Best?: boolean;
|
||||
Bounty?: boolean; // Tactical Alert
|
||||
Faction?: string;
|
||||
ClampNodeScores?: boolean;
|
||||
|
||||
Desc: string;
|
||||
ToolTip?: string;
|
||||
Transmission?: string;
|
||||
InstructionalItem?: string;
|
||||
ItemType?: string;
|
||||
|
||||
Icon: string;
|
||||
Tag: string;
|
||||
PrereqGoalTags?: string[];
|
||||
|
||||
Node?: string;
|
||||
VictimNode?: string;
|
||||
|
||||
ConcurrentMissionKeyNames?: string[];
|
||||
ConcurrentNodeReqs?: number[];
|
||||
ConcurrentNodes?: string[];
|
||||
RegionIdx?: number;
|
||||
Regions?: number[];
|
||||
MissionKeyName?: string;
|
||||
|
||||
Reward?: IMissionReward;
|
||||
InterimRewards?: IMissionReward[];
|
||||
BonusReward?: IMissionReward;
|
||||
@ -89,8 +77,6 @@ export interface IGoal {
|
||||
|
||||
ScoreVar?: string;
|
||||
ScoreMaxTag?: string;
|
||||
ScoreLocTag?: string;
|
||||
|
||||
NightLevel?: string;
|
||||
}
|
||||
|
||||
|
@ -1040,32 +1040,6 @@
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group mt-2 d-flex gap-2">
|
||||
<div class="flex-fill">
|
||||
<label class="form-label" for="worldState.bellyOfTheBeast" data-loc="worldState_bellyOfTheBeast"></label>
|
||||
<select class="form-control" id="worldState.bellyOfTheBeast" data-default="false">
|
||||
<option value="true" data-loc="enabled"></option>
|
||||
<option value="false" data-loc="disabled"></option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="flex-fill">
|
||||
<label class="form-label" for="worldState.bellyOfTheBeastProgressOverride" data-loc="worldState_bellyOfTheBeastProgressOverride"></label>
|
||||
<input id="worldState.bellyOfTheBeastProgressOverride" class="form-control" type="number" min="0" max="100" data-default="0" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group mt-2 d-flex gap-2">
|
||||
<div class="flex-fill">
|
||||
<label class="form-label" for="worldState.eightClaw" data-loc="worldState_eightClaw"></label>
|
||||
<select class="form-control" id="worldState.eightClaw" data-default="false">
|
||||
<option value="true" data-loc="enabled"></option>
|
||||
<option value="false" data-loc="disabled"></option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="flex-fill">
|
||||
<label class="form-label" for="worldState.eightClawProgressOverride" data-loc="worldState_eightClawProgressOverride"></label>
|
||||
<input id="worldState.eightClawProgressOverride" class="form-control" type="number" min="0" max="100" data-default="0" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group mt-2">
|
||||
<label class="form-label" for="worldState.eidolonOverride" data-loc="worldState_eidolonOverride"></label>
|
||||
<select class="form-control" id="worldState.eidolonOverride" data-default="">
|
||||
@ -1147,10 +1121,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div data-route="/webui/import" data-title="Import | OpenWF WebUI">
|
||||
<p>
|
||||
<span data-loc="import_importNote"></span>
|
||||
<span data-loc="import_importNote2"></span>
|
||||
</p>
|
||||
<p data-loc="import_importNote"></p>
|
||||
<textarea class="form-control" id="import-inventory" style="height: calc(100vh - 300px)"></textarea>
|
||||
<button class="btn btn-primary mt-3" onclick="doImport();" data-loc="import_submit"></button>
|
||||
<p class="mt-3 mb-1" data-loc="import_samples"></p>
|
||||
|
@ -257,10 +257,6 @@ dict = {
|
||||
worldState_hallowedNightmaresRewards: `[UNTRANSLATED] Hallowed Nightmares Rewards`,
|
||||
worldState_proxyRebellion: `Proxy-Rebellion`,
|
||||
worldState_proxyRebellionRewards: `[UNTRANSLATED] Proxy Rebellion Rewards`,
|
||||
worldState_bellyOfTheBeast: `Das Innere der Bestie`,
|
||||
worldState_bellyOfTheBeastProgressOverride: `[UNTRANSLATED] Belly of the Beast Progress`,
|
||||
worldState_eightClaw: `Acht Klauen`,
|
||||
worldState_eightClawProgressOverride: `[UNTRANSLATED] Eight Claw Progress`,
|
||||
worldState_from_year: `[UNTRANSLATED] from |YEAR|`,
|
||||
worldState_pre_year: `[UNTRANSLATED] pre |YEAR|`,
|
||||
worldState_incompatibleWith: `[UNTRANSLATED] Incompatible with:`,
|
||||
@ -307,8 +303,7 @@ dict = {
|
||||
worldState_varziaFullyStocked: `Varzia hat volles Inventar`,
|
||||
worldState_varziaOverride: `Varzia-Angebotsüberschreibung`,
|
||||
|
||||
import_importNote: `[UNTRANSLATED] You can provide a full or partial <code>inventory.php</code> or <code>getShip.php</code> response (client representation) here.`,
|
||||
import_importNote2: `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_samples: `Beispiele:`,
|
||||
import_samples_maxFocus: `Alle Fokus-Schulen maximiert`,
|
||||
|
@ -256,10 +256,6 @@ dict = {
|
||||
worldState_hallowedNightmaresRewards: `Hallowed Nightmares Rewards`,
|
||||
worldState_proxyRebellion: `Proxy Rebellion`,
|
||||
worldState_proxyRebellionRewards: `Proxy Rebellion Rewards`,
|
||||
worldState_bellyOfTheBeast: `Belly of the Beast`,
|
||||
worldState_bellyOfTheBeastProgressOverride: `Belly of the Beast Progress`,
|
||||
worldState_eightClaw: `Eight Claw`,
|
||||
worldState_eightClawProgressOverride: `Eight Claw Progress`,
|
||||
worldState_from_year: `from |YEAR|`,
|
||||
worldState_pre_year: `pre |YEAR|`,
|
||||
worldState_incompatibleWith: `Incompatible with:`,
|
||||
@ -306,8 +302,7 @@ dict = {
|
||||
worldState_varziaFullyStocked: `Varzia Fully Stocked`,
|
||||
worldState_varziaOverride: `Varzia Rotation Override`,
|
||||
|
||||
import_importNote: `You can provide a full or partial <code>inventory.php</code> or <code>getShip.php</code> response (client representation) here.`,
|
||||
import_importNote2: `All fields that are supported by the importer <b>will be overwritten</b> in your account.`,
|
||||
import_importNote: `You can provide a full or partial inventory response (client respresentation) here. All fields that are supported by the importer <b>will be overwritten</b> in your account.`,
|
||||
import_submit: `Submit`,
|
||||
import_samples: `Samples:`,
|
||||
import_samples_maxFocus: `All Focus Schools Maxed Out`,
|
||||
|
@ -257,10 +257,6 @@ dict = {
|
||||
worldState_hallowedNightmaresRewards: `Recompensas de Pesadillas Sagradas`,
|
||||
worldState_proxyRebellion: `Rebelión Proxy`,
|
||||
worldState_proxyRebellionRewards: `Recompensas de Rebelión Proxy`,
|
||||
worldState_bellyOfTheBeast: `Vientre de la Bestia`,
|
||||
worldState_bellyOfTheBeastProgressOverride: `[UNTRANSLATED] Belly of the Beast Progress`,
|
||||
worldState_eightClaw: `Octava Garra`,
|
||||
worldState_eightClawProgressOverride: `[UNTRANSLATED] Eight Claw Progress`,
|
||||
worldState_from_year: `de |YEAR|`,
|
||||
worldState_pre_year: `antes de |YEAR|`,
|
||||
worldState_incompatibleWith: `No compatible con:`,
|
||||
@ -307,8 +303,7 @@ dict = {
|
||||
worldState_varziaFullyStocked: `Varzia con stock completo`,
|
||||
worldState_varziaOverride: `Cambio en rotación de Varzia`,
|
||||
|
||||
import_importNote: `[UNTRANSLATED] You can provide a full or partial <code>inventory.php</code> or <code>getShip.php</code> response (client representation) here.`,
|
||||
import_importNote2: `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_samples: `Muestras:`,
|
||||
import_samples_maxFocus: `Todas las escuelas de enfoque al máximo`,
|
||||
|
@ -257,10 +257,6 @@ dict = {
|
||||
worldState_hallowedNightmaresRewards: `[UNTRANSLATED] Hallowed Nightmares Rewards`,
|
||||
worldState_proxyRebellion: `Rébellion Proxy`,
|
||||
worldState_proxyRebellionRewards: `[UNTRANSLATED] Proxy Rebellion Rewards`,
|
||||
worldState_bellyOfTheBeast: `Ventre de la Bête`,
|
||||
worldState_bellyOfTheBeastProgressOverride: `[UNTRANSLATED] Belly of the Beast Progress`,
|
||||
worldState_eightClaw: `Huitième Griffe`,
|
||||
worldState_eightClawProgressOverride: `[UNTRANSLATED] Eight Claw Progress`,
|
||||
worldState_from_year: `[UNTRANSLATED] from |YEAR|`,
|
||||
worldState_pre_year: `[UNTRANSLATED] pre |YEAR|`,
|
||||
worldState_incompatibleWith: `[UNTRANSLATED] Incompatible with:`,
|
||||
@ -307,8 +303,7 @@ dict = {
|
||||
worldState_varziaFullyStocked: `Stock de Varzia au max`,
|
||||
worldState_varziaOverride: `Rotation de Varzia`,
|
||||
|
||||
import_importNote: `[UNTRANSLATED] You can provide a full or partial <code>inventory.php</code> or <code>getShip.php</code> response (client representation) here.`,
|
||||
import_importNote2: `[UNTRANSLATED] All fields that are supported by the importer <b>will be overwritten</b> in your account.`,
|
||||
import_importNote: `Import manuel. Toutes les modifcations supportées par l'inventaire <b>écraseront celles présentes dans la base de données</b>.`,
|
||||
import_submit: `Soumettre`,
|
||||
import_samples: `Échantillons :`,
|
||||
import_samples_maxFocus: `Toutes les écoles de focus au rang max`,
|
||||
|
@ -25,12 +25,12 @@ dict = {
|
||||
code_traumaticPeculiar: `Травмирующая Странность`,
|
||||
code_starter: `|MOD| (Повреждённый)`,
|
||||
code_badItem: `(Самозванец)`,
|
||||
code_maxRank: `Макс. ранг`,
|
||||
code_maxRank: `Максимальный ранг`,
|
||||
code_rename: `Переименовать`,
|
||||
code_renamePrompt: `Введите новое имя:`,
|
||||
code_remove: `Удалить`,
|
||||
code_addItemsConfirm: `Вы уверены, что хотите добавить |COUNT| предметов на ваш аккаунт?`,
|
||||
code_succRankUp: `Ранг успешно повышен.`,
|
||||
code_succRankUp: `Ранг успешно повышен`,
|
||||
code_noEquipmentToRankUp: `Нет снаряжения для повышения ранга.`,
|
||||
code_succAdded: `Успешно добавлено.`,
|
||||
code_succRemoved: `Успешно удалено.`,
|
||||
@ -39,11 +39,11 @@ dict = {
|
||||
code_rerollsNumber: `Количество рероллов`,
|
||||
code_viewStats: `Просмотр характеристики`,
|
||||
code_rank: `Ранг`,
|
||||
code_rankUp: `Повысить ранг`,
|
||||
code_rankDown: `Понизить ранг`,
|
||||
code_rankUp: `Повысить Ранг`,
|
||||
code_rankDown: `Понизить Ранг`,
|
||||
code_count: `Количество`,
|
||||
code_focusAllUnlocked: `Все школы Фокуса уже разблокированы.`,
|
||||
code_focusUnlocked: `Разблокировано |COUNT| новых школ Фокуса! Для отображения изменений в игре потребуется обновление инвентаря. Посещение навигации — самый простой способ этого добиться.`,
|
||||
code_focusAllUnlocked: `Все школы фокуса уже разблокированы.`,
|
||||
code_focusUnlocked: `Разблокировано |COUNT| новых школ фокуса! Для отображения изменений в игре потребуется обновление инвентаря. Посещение навигации — самый простой способ этого добиться.`,
|
||||
code_addModsConfirm: `Вы уверены, что хотите добавить |COUNT| модов на ваш аккаунт?`,
|
||||
code_succImport: `Успешно импортировано.`,
|
||||
code_succRelog: `Готово. Обратите внимание, что вам нужно будет перезайти, чтобы увидеть изменения в игре.`,
|
||||
@ -83,7 +83,7 @@ dict = {
|
||||
inventory_pistols: `Вторичное оружие`,
|
||||
inventory_melee: `Оружие ближнего боя`,
|
||||
inventory_spaceSuits: `Арчвинги`,
|
||||
inventory_spaceGuns: `Оружие Арчвинга`,
|
||||
inventory_spaceGuns: `Оружие арчвинга`,
|
||||
inventory_spaceMelee: `Оружие ближнего боя арчвинга`,
|
||||
inventory_mechSuits: `Некрамехи`,
|
||||
inventory_sentinels: `Стражи`,
|
||||
@ -94,21 +94,21 @@ dict = {
|
||||
inventory_kubrowPets: `Звери`,
|
||||
inventory_evolutionProgress: `Прогресс эволюции Инкарнонов`,
|
||||
inventory_Boosters: `Бустеры`,
|
||||
inventory_bulkAddSuits: `Добавить отсутствующие Варфреймы`,
|
||||
inventory_bulkAddSuits: `Добавить отсутствующие варфреймы`,
|
||||
inventory_bulkAddWeapons: `Добавить отсутствующее оружие`,
|
||||
inventory_bulkAddSpaceSuits: `Добавить отсутствующие Арчвинги`,
|
||||
inventory_bulkAddSpaceWeapons: `Добавить отсутствующее оружие Арчвингов`,
|
||||
inventory_bulkAddSentinels: `Добавить отсутствующих Стражей`,
|
||||
inventory_bulkAddSentinelWeapons: `Добавить отсутствующее оружие Стражей`,
|
||||
inventory_bulkAddSpaceSuits: `Добавить отсутствующие арчвинги`,
|
||||
inventory_bulkAddSpaceWeapons: `Добавить отсутствующее оружие арчвингов`,
|
||||
inventory_bulkAddSentinels: `Добавить отсутствующих стражей`,
|
||||
inventory_bulkAddSentinelWeapons: `Добавить отсутствующее оружие стражей`,
|
||||
inventory_bulkAddEvolutionProgress: `Добавить отсутствующий прогресс эволюции Инкарнонов`,
|
||||
inventory_bulkRankUpSuits: `Макс. ранг всех Варфреймов`,
|
||||
inventory_bulkRankUpWeapons: `Макс. ранг всего оружия`,
|
||||
inventory_bulkRankUpSpaceSuits: `Макс. ранг всех Арчвингов`,
|
||||
inventory_bulkRankUpSpaceWeapons: `Макс. ранг всего оружия Арчвингов`,
|
||||
inventory_bulkRankUpSentinels: `Макс. ранг всех Стражей`,
|
||||
inventory_bulkRankUpSentinelWeapons: `Макс. ранг всего оружия Стражей`,
|
||||
inventory_bulkRankUpEvolutionProgress: `Макс. ранг всех эволюций Инкарнонов`,
|
||||
inventory_maxPlexus: `Макс. ранг Плексуса`,
|
||||
inventory_bulkRankUpSuits: `Максимальный ранг всех варфреймов`,
|
||||
inventory_bulkRankUpWeapons: `Максимальный ранг всего оружия`,
|
||||
inventory_bulkRankUpSpaceSuits: `Максимальный ранг всех арчвингов`,
|
||||
inventory_bulkRankUpSpaceWeapons: `Максимальный ранг всего оружия арчвингов`,
|
||||
inventory_bulkRankUpSentinels: `Максимальный ранг всех стражей`,
|
||||
inventory_bulkRankUpSentinelWeapons: `Максимальный ранг всего оружия стражей`,
|
||||
inventory_bulkRankUpEvolutionProgress: `Максимальный ранг всех эволюций Инкарнонов`,
|
||||
inventory_maxPlexus: `Максимальный ранг Плексуса`,
|
||||
|
||||
quests_list: `Квесты`,
|
||||
quests_completeAll: `Завершить все квесты`,
|
||||
@ -121,53 +121,53 @@ dict = {
|
||||
currency_PrimeTokens: `Королевские Айя`,
|
||||
currency_owned: `У тебя |COUNT|.`,
|
||||
|
||||
detailedView_archonShardsLabel: `Ячейки осколков Архонта`,
|
||||
detailedView_archonShardsLabel: `Ячейки осколков архонта`,
|
||||
detailedView_archonShardsDescription: `Вы можете использовать эти неограниченные ячейки для установки множества улучшений.`,
|
||||
detailedView_archonShardsDescription2: `Обратите внимание: каждый осколок Архонта применяется с задержкой при загрузке.`,
|
||||
detailedView_archonShardsDescription2: `Обратите внимание: каждый осколок архонта применяется с задержкой при загрузке.`,
|
||||
detailedView_valenceBonusLabel: `Бонус Валентности`,
|
||||
detailedView_valenceBonusDescription: `Вы можете установить или убрать бонус Валентности с вашего оружия.`,
|
||||
detailedView_modularPartsLabel: `Изменить модульные части`,
|
||||
detailedView_valenceBonusDescription: `Вы можете установить или убрать бонус валентности с вашего оружия.`,
|
||||
detailedView_modularPartsLabel: `Изменить Модульные Части`,
|
||||
detailedView_suitInvigorationLabel: `Воодушевление Варфрейма`,
|
||||
detailedView_loadoutLabel: `Конфигурации`,
|
||||
|
||||
invigorations_offensive_AbilityStrength: `+200% к силе способностей.`,
|
||||
invigorations_offensive_AbilityRange: `+100% к зоне поражения способностей.`,
|
||||
invigorations_offensive_AbilityDuration: `+100% к длительности способностей.`,
|
||||
invigorations_offensive_MeleeDamage: `+250% к урону оружия ближнего боя.`,
|
||||
invigorations_offensive_PrimaryDamage: `+250% к урону основного оружия.`,
|
||||
invigorations_offensive_SecondaryDamage: `+250% к урону вторичного оружия.`,
|
||||
invigorations_offensive_PrimaryCritChance: `+200% к шансу крит. урона для основного оружия.`,
|
||||
invigorations_offensive_SecondaryCritChance: `+200% к шансу крит. урона для вторичного оружия.`,
|
||||
invigorations_offensive_MeleeCritChance: `+200% у шансу крит. урона для оружия ближнего боя.`,
|
||||
invigorations_offensive_AbilityStrength: `+200% Сила Способностей`,
|
||||
invigorations_offensive_AbilityRange: `+100% Радиус Способностей`,
|
||||
invigorations_offensive_AbilityDuration: `+100% Длительность Способностей`,
|
||||
invigorations_offensive_MeleeDamage: `+250% Урон Ближнего Боя`,
|
||||
invigorations_offensive_PrimaryDamage: `+250% Урон Основного Оружия`,
|
||||
invigorations_offensive_SecondaryDamage: `+250% Урон Вторичного Оружия`,
|
||||
invigorations_offensive_PrimaryCritChance: `+200% Шанс Критического Урона Основного Оружия`,
|
||||
invigorations_offensive_SecondaryCritChance: `+200% Шанс Критического Урона Вторичного Оружия`,
|
||||
invigorations_offensive_MeleeCritChance: `+200% Шанс Критического Урона Ближнего Боя`,
|
||||
|
||||
invigorations_utility_AbilityEfficiency: `+75% к энергоэффективности способностей.`,
|
||||
invigorations_utility_SprintSpeed: `+75% к скорости бега.`,
|
||||
invigorations_utility_ParkourVelocity: `+75% к скорости паркура.`,
|
||||
invigorations_utility_HealthMax: `+1000 к здоровью.`,
|
||||
invigorations_utility_EnergyMax: `+200% к макс. запасу энергии.`,
|
||||
invigorations_utility_StatusImmune: `Иммунитет к статусным эффектам.`,
|
||||
invigorations_utility_ReloadSpeed: `+75% к скорости перезарядки.`,
|
||||
invigorations_utility_HealthRegen: `+25 к регенерации здоровья в секунду.`,
|
||||
invigorations_utility_ArmorMax: `+1000 к брони.`,
|
||||
invigorations_utility_Jumps: `+5 сбросов прыжка.`,
|
||||
invigorations_utility_EnergyRegen: `+2 к регенерации энергии в секунду.`,
|
||||
invigorations_utility_AbilityEfficiency: `+75% Энергоэффективность Способностей`,
|
||||
invigorations_utility_SprintSpeed: `+75% Скорость Бега`,
|
||||
invigorations_utility_ParkourVelocity: `+75% Скорость Паркура`,
|
||||
invigorations_utility_HealthMax: `+1000 Здоровья`,
|
||||
invigorations_utility_EnergyMax: `+200% Максимум Энергии`,
|
||||
invigorations_utility_StatusImmune: `Иммунитет к Эффектам Статуса`,
|
||||
invigorations_utility_ReloadSpeed: `+75% Скорость Перезарядки`,
|
||||
invigorations_utility_HealthRegen: `+25 Здоровья в секунду`,
|
||||
invigorations_utility_ArmorMax: `+1000 Брони`,
|
||||
invigorations_utility_Jumps: `+5 Сбросов Прыжков`,
|
||||
invigorations_utility_EnergyRegen: `+2 Энергии в секунду`,
|
||||
|
||||
invigorations_offensiveLabel: `Атакующее улучшение`,
|
||||
invigorations_defensiveLabel: `Вспомогательное улучшение`,
|
||||
invigorations_offensiveLabel: `Атакующее Улучшение`,
|
||||
invigorations_defensiveLabel: `Вспомогательное Улучшение`,
|
||||
invigorations_expiryLabel: `Срок действия Воодушевления (необязательно)`,
|
||||
|
||||
abilityOverride_label: `Переопределение способности`,
|
||||
abilityOverride_onSlot: `в ячейке`,
|
||||
|
||||
mods_addRiven: `Добавить мод Разлома`,
|
||||
mods_addRiven: `Добавить Мод Разлома`,
|
||||
mods_fingerprint: `Отпечаток`,
|
||||
mods_fingerprintHelp: `Нужна помощь с отпечатком?`,
|
||||
mods_rivens: `Моды Разлома`,
|
||||
mods_mods: `Моды`,
|
||||
mods_addMax: `Добавить макс. улучшенный`,
|
||||
mods_addMax: `Добавить максимально улучшенный`,
|
||||
mods_addMissingUnrankedMods: `Добавить недостающие моды без ранга`,
|
||||
mods_removeUnranked: `Удалить моды без ранга`,
|
||||
mods_addMissingMaxRankMods: `Добавить недостающие моды макс. ранга`,
|
||||
mods_addMissingMaxRankMods: `Добавить недостающие моды максимального ранга`,
|
||||
cheats_administratorRequirement: `Вы должны быть администратором для использования этой функции. Чтобы стать администратором, добавьте <code>\"|DISPLAYNAME|\"</code> в <code>administratorNames</code> в config.json.`,
|
||||
cheats_server: `Сервер`,
|
||||
cheats_skipTutorial: `Пропустить обучение`,
|
||||
@ -175,14 +175,14 @@ dict = {
|
||||
cheats_unlockAllScans: `Разблокировать все сканирования`,
|
||||
cheats_unlockAllMissions: `Разблокировать все миссии`,
|
||||
cheats_unlockAllMissions_ok: `Успех. Пожалуйста, обратите внимание, что вам нужно будет войти в Додзё/Реле или перезайти, чтобы клиент обновил звездную карту.`,
|
||||
cheats_infiniteCredits: `Бесконечные Кредиты`,
|
||||
cheats_infinitePlatinum: `Бесконечная Платина`,
|
||||
cheats_infiniteEndo: `Бесконечное Эндо`,
|
||||
cheats_infiniteCredits: `Бесконечные кредиты`,
|
||||
cheats_infinitePlatinum: `Бесконечная платина`,
|
||||
cheats_infiniteEndo: `Бесконечное эндо`,
|
||||
cheats_infiniteRegalAya: `Бесконечная Королевская Айя`,
|
||||
cheats_infiniteHelminthMaterials: `Бесконечные секреции Гельминта`,
|
||||
cheats_infiniteHelminthMaterials: `Бесконечные Секреции Гельминта`,
|
||||
cheats_claimingBlueprintRefundsIngredients: `Возврат ингредиентов чертежей`,
|
||||
cheats_dontSubtractPurchaseCreditCost: `Не вычитать стоимость Кредитов при покупке`,
|
||||
cheats_dontSubtractPurchasePlatinumCost: `Не вычитать стоимость Платины при покупке`,
|
||||
cheats_dontSubtractPurchaseCreditCost: `Не вычитать стоимость кредитов при покупке`,
|
||||
cheats_dontSubtractPurchasePlatinumCost: `Не вычитать стоимость платины при покупке`,
|
||||
cheats_dontSubtractPurchaseItemCost: `Не вычитать стоимость предметов при покупке`,
|
||||
cheats_dontSubtractPurchaseStandingCost: `Не вычитать стоимость репутации при покупке`,
|
||||
cheats_dontSubtractVoidTraces: `Не вычитать количество Отголосков Бездны`,
|
||||
@ -196,10 +196,10 @@ dict = {
|
||||
cheats_universalPolarityEverywhere: `Универсальная полярность везде`,
|
||||
cheats_unlockDoubleCapacityPotatoesEverywhere: `Реакторы/Катализаторы орокин везде`,
|
||||
cheats_unlockExilusEverywhere: `Адаптеры Эксилус везде`,
|
||||
cheats_unlockArcanesEverywhere: `Адаптеры для Мистификаторов везде`,
|
||||
cheats_unlockArcanesEverywhere: `Адаптеры для мистификаторов везде`,
|
||||
cheats_noDailyStandingLimits: `Без ежедневных лимитов репутации`,
|
||||
cheats_noDailyFocusLimit: `Без ежедневных лимитов Фокуса`,
|
||||
cheats_noArgonCrystalDecay: `Без распада Аргоновых кристаллов`,
|
||||
cheats_noDailyFocusLimit: `Без ежедневных лимитов фокуса`,
|
||||
cheats_noArgonCrystalDecay: `Без распада аргоновых кристаллов`,
|
||||
cheats_noMasteryRankUpCooldown: `Повышение ранга мастерства без кулдауна`,
|
||||
cheats_noVendorPurchaseLimits: `Отсутствие лимитов на покупки у торговцев`,
|
||||
cheats_noDeathMarks: `Без меток смерти`,
|
||||
@ -209,28 +209,28 @@ dict = {
|
||||
cheats_baroFullyStocked: `Баро полностью укомплектован`,
|
||||
cheats_syndicateMissionsRepeatable: `Повторять миссии синдиката`,
|
||||
cheats_unlockAllProfitTakerStages: `Разблокировать все этапы Сферы извлечения прибыли`,
|
||||
cheats_instantFinishRivenChallenge: `Мгновенное завершение испытания мода Разлома`,
|
||||
cheats_instantResourceExtractorDrones: `Мгновенно добывающие Дроны-сборщики`,
|
||||
cheats_noResourceExtractorDronesDamage: `Без урона по Дронам-сборщикам`,
|
||||
cheats_skipClanKeyCrafting: `Пропустить создание кланового ключа`,
|
||||
cheats_noDojoRoomBuildStage: `Мгновенное строительство комнат Додзё`,
|
||||
cheats_noDojoDecoBuildStage: `Мгновенное строительство декораций Додзё`,
|
||||
cheats_fastDojoRoomDestruction: `Мгновенные уничтожение комнат Додзё`,
|
||||
cheats_noDojoResearchCosts: `Бесплатные исследование Додзё`,
|
||||
cheats_noDojoResearchTime: `Мгновенные исследование Додзё`,
|
||||
cheats_fastClanAscension: `Мгновенное вознесение клана`,
|
||||
cheats_instantFinishRivenChallenge: `Мгновенное завершение испытания Мода разлома`,
|
||||
cheats_instantResourceExtractorDrones: `Мгновенно добывающие дроны-сборщики`,
|
||||
cheats_noResourceExtractorDronesDamage: `Без урона по дронам-сборщикам`,
|
||||
cheats_skipClanKeyCrafting: `Пропустить крафт кланового ключа`,
|
||||
cheats_noDojoRoomBuildStage: `Мгновенное строительство Комнат Додзё`,
|
||||
cheats_noDojoDecoBuildStage: `Мгновенное строительство Декораций Додзё`,
|
||||
cheats_fastDojoRoomDestruction: `Мгновенные Уничтожение Комнат Додзё`,
|
||||
cheats_noDojoResearchCosts: `Бесплатные Исследование Додзё`,
|
||||
cheats_noDojoResearchTime: `Мгновенные Исследование Додзё`,
|
||||
cheats_fastClanAscension: `Мгновенное Вознесение Клана`,
|
||||
cheats_missionsCanGiveAllRelics: `Миссии могут давать все реликвии`,
|
||||
cheats_exceptionalRelicsAlwaysGiveBronzeReward: `Необычные реликвии всегда дают бронзовую награду`,
|
||||
cheats_flawlessRelicsAlwaysGiveSilverReward: `Бесподобные реликвии всегда дают серебряную награду`,
|
||||
cheats_radiantRelicsAlwaysGiveGoldReward: `Сияющие реликвии всегда дают золотую награду`,
|
||||
cheats_unlockAllSimarisResearchEntries: `Разблокировать все записи исследований Симэриса`,
|
||||
cheats_disableDailyTribute: `Отключить ежедневные награды`,
|
||||
cheats_disableDailyTribute: `Отключить Ежедневные награды`,
|
||||
cheats_spoofMasteryRank: `Поддельный ранг мастерства (-1 для отключения)`,
|
||||
cheats_relicRewardItemCountMultiplier: `Мультипликатор количества предметов награды реликвии`,
|
||||
cheats_nightwaveStandingMultiplier: `Мультипликатор репутации Ночной волны`,
|
||||
cheats_save: `Сохранить`,
|
||||
cheats_account: `Аккаунт`,
|
||||
cheats_unlockAllFocusSchools: `Разблокировать все школы Фокуса`,
|
||||
cheats_unlockAllFocusSchools: `Разблокировать все школы фокуса`,
|
||||
cheats_helminthUnlockAll: `Полностью улучшить Гельминта`,
|
||||
cheats_addMissingSubsumedAbilities: `Добавить отсутствующие поглощённые способности`,
|
||||
cheats_intrinsicsUnlockAll: `Полностью улучшить Модуляры`,
|
||||
@ -239,9 +239,9 @@ dict = {
|
||||
cheats_markAllAsRead: `Пометить все входящие как прочитанные`,
|
||||
|
||||
worldState: `Состояние мира`,
|
||||
worldState_creditBoost: `Глобальный бустер Кредитов`,
|
||||
worldState_affinityBoost: `Глобальный бустер Синтеза`,
|
||||
worldState_resourceBoost: `Глобальный бустер Ресурсов`,
|
||||
worldState_creditBoost: `Глобальный бустер кредитов`,
|
||||
worldState_affinityBoost: `Глобальный бустер синтеза`,
|
||||
worldState_resourceBoost: `Глобальный бустер ресурсов`,
|
||||
worldState_tennoLiveRelay: `Реле TennoLive`,
|
||||
worldState_baroTennoConRelay: `Реле Баро TennoCon`,
|
||||
worldState_starDays: `Звёздные дни`,
|
||||
@ -253,14 +253,10 @@ dict = {
|
||||
worldState_wolfHunt: `Волчья Охота (2025)`,
|
||||
worldState_longShadow: `Длинная Тень`,
|
||||
worldState_hallowedFlame: `Священное пламя`,
|
||||
worldState_hallowedNightmares: `Священные кошмары`,
|
||||
worldState_hallowedNightmaresRewards: `Награды Священных кошмаров`,
|
||||
worldState_proxyRebellion: `Восстание роботов`,
|
||||
worldState_proxyRebellionRewards: `Награды Восстания роботов`,
|
||||
worldState_bellyOfTheBeast: `Чрево зверя`,
|
||||
worldState_bellyOfTheBeastProgressOverride: `Прогресс Чрева зверя`,
|
||||
worldState_eightClaw: `Восемь когтей`,
|
||||
worldState_eightClawProgressOverride: `Прогресс Восьми когтей`,
|
||||
worldState_hallowedNightmares: `Священные Кошмары`,
|
||||
worldState_hallowedNightmaresRewards: `Награды Священных Кошмаров`,
|
||||
worldState_proxyRebellion: `Восстание Роботов`,
|
||||
worldState_proxyRebellionRewards: `Награды Восстания Роботов`,
|
||||
worldState_from_year: `из |YEAR|`,
|
||||
worldState_pre_year: `до |YEAR|`,
|
||||
worldState_incompatibleWith: `Несовместимо с:`,
|
||||
@ -303,74 +299,73 @@ dict = {
|
||||
worldState_allAtOnceNormal: `Все сразу, в обычном режиме`,
|
||||
worldState_allAtOnceSteelPath: `Все сразу, в режиме Стального Пути`,
|
||||
worldState_theCircuitOverride: `Типы миссий в подземелье Дувири`,
|
||||
worldState_darvoStockMultiplier: `Множитель запасов Дарво`,
|
||||
worldState_varziaFullyStocked: `Полный ассортимент Варзии`,
|
||||
worldState_varziaOverride: `Изменение ротации Варзии`,
|
||||
worldState_darvoStockMultiplier: `Множитель Запасов Дарво`,
|
||||
worldState_varziaFullyStocked: `Полный Ассортимент Варзии`,
|
||||
worldState_varziaOverride: `Изменение Ротации Варзии`,
|
||||
|
||||
import_importNote: `Вы можете загрузить полный или частичный ответ <code>inventory.php</code> или <code>getShip.php</code> (клиентское представление) здесь. `,
|
||||
import_importNote2: `Все поддерживаемые поля <b>будут перезаписаны</b> в вашем аккаунте.`,
|
||||
import_importNote: `Вы можете загрузить полный или частичный ответ инвентаря (клиентское представление) здесь. Все поддерживаемые поля <b>будут перезаписаны</b> в вашем аккаунте.`,
|
||||
import_submit: `Отправить`,
|
||||
import_samples: `Пример:`,
|
||||
import_samples_maxFocus: `Все школы Фокуса макс. уровня`,
|
||||
import_samples_maxFocus: `Все школы Фокуса максимального уровня`,
|
||||
|
||||
upgrade_Equilibrium: `Подбор сфер здоровья даёт +|VAL|% энергии. Подбор сфер энергии даёт +|VAL|% здоровья.`,
|
||||
upgrade_MeleeCritDamage: `+|VAL|% к крит. урону в ближнем бою.`,
|
||||
upgrade_PrimaryStatusChance: `+|VAL|% к шансу статуса основного оружия.`,
|
||||
upgrade_SecondaryCritChance: `+|VAL|% к шансу крит. урона от вторичного оружия.`,
|
||||
upgrade_WarframeAbilityDuration: `+|VAL|% к длительности способностей.`,
|
||||
upgrade_WarframeAbilityStrength: `+|VAL|% к силе способностей.`,
|
||||
upgrade_WarframeArmorMax: `+|VAL| к броне.`,
|
||||
upgrade_WarframeBlastProc: `Регенерирует +|VAL| щитов, когда вы убиваете врага, наложив статус Взрыва.`,
|
||||
upgrade_WarframeCastingSpeed: `+|VAL|% к скорости применения способностей.`,
|
||||
upgrade_WarframeCorrosiveDamageBoost: `Даёт +|VAL|% урона от сопсобнстй по врагам, находящимся под действием статуса Коррозии.`,
|
||||
upgrade_WarframeCorrosiveStack: `Увеличить макс. количество стаков статуса Коррози на +|VAL|.`,
|
||||
upgrade_WarframeCritDamageBoost: `Даёт +|VAL|% крит. урона в ближнем бою. Когда макс. энергия превышает 500, увеличение урона удваивается.`,
|
||||
upgrade_WarframeElectricDamage: `Даёт +|VAL1|% Электрического урона основному оружию. Получите дополнительно +|VAL2|% за каждый экипированный багровый, лазурный или фиолетовый осколок архонта (Комбинируется с модами).`,
|
||||
upgrade_WarframeElectricDamageBoost: `Даёт +|VAL|% урон аот спсобностей по врагам, находящимся под действием статуса Электричества.`,
|
||||
upgrade_WarframeEnergyMax: `+|VAL| к запасу энергии.`,
|
||||
upgrade_WarframeGlobeEffectEnergy: `+|VAL|% к эффективности сфер энергии.`,
|
||||
upgrade_WarframeGlobeEffectHealth: `+|VAL|% к эффективности сфер здоровья.`,
|
||||
upgrade_WarframeHealthMax: `+|VAL| к здоровью.`,
|
||||
upgrade_WarframeHPBoostFromImpact: `Даёт +|VAL1| здоровья за каждого врага, убитого с помощью Взрывного урона. Макс. |VAL2| здоровья.`,
|
||||
upgrade_WarframeParkourVelocity: `+|VAL|% к скорости паркура.`,
|
||||
upgrade_WarframeRadiationDamageBoost: `Даёт +|VAL|% урона от способностей по врагам, находящимся под действием статуса Радиации.`,
|
||||
upgrade_WarframeHealthRegen: `+|VAL| к восстановлению здоровья в секунду.`,
|
||||
upgrade_WarframeShieldMax: `+|VAL| к мощности щитов.`,
|
||||
upgrade_WarframeStartingEnergy: `+|VAL|% к макс. энергии при появлении.`,
|
||||
upgrade_WarframeToxinDamage: `Статусный эффект Токсина наносит на +|VAL|% больше урона.`,
|
||||
upgrade_WarframeToxinHeal: `Восстанавливает +|VAL| здоровья кадый раз, когда враги получают урон от эффекта статуса Токсина.`,
|
||||
upgrade_WeaponCritBoostFromHeat: `Увеличивает шанс крит. урона вторичным оружием на |VAL1|% каждый раз, когда вы убиваете врага, назодящегося под действием статуса Огня. Макс.: |VAL2|%.`,
|
||||
upgrade_AvatarAbilityRange: `+7.5% к зоне поражения способностей.`,
|
||||
upgrade_AvatarAbilityEfficiency: `+5% к энергоэффективности способностей.`,
|
||||
upgrade_AvatarEnergyRegen: `+0.5 к регенерации энергии в секунду.`,
|
||||
upgrade_AvatarEnemyRadar: `+5м обнаружение врагов.`,
|
||||
upgrade_AvatarLootRadar: `+7м к радиусу обнаружения добычи.`,
|
||||
upgrade_WeaponAmmoMax: `+15% макс. боеприпасов.`,
|
||||
upgrade_EnemyArmorReductionAura: `Враги теряют -3% брони.`,
|
||||
upgrade_OnExecutionAmmo: `Убийство Милосердием пополняет магазины основного и вторичного оружия на 100%.`,
|
||||
upgrade_OnExecutionHealthDrop: `+100% шанс выпадения сферы здоровья при убийстве Милосердием.`,
|
||||
upgrade_OnExecutionEnergyDrop: `+50% шанс выпадения сферы энергии при убийстве Милосердием.`,
|
||||
upgrade_OnFailHackReset: `+50% шанс доволнительной попытки взлома в случае неудачи.`,
|
||||
upgrade_DamageReductionOnHack: `Уменьшает урон на 75% во время взлома.`,
|
||||
upgrade_OnExecutionReviveCompanion: `Убийства Милосердием уменьшают время восстановления компаньона на 15 секунд.`,
|
||||
upgrade_OnExecutionParkourSpeed: `+60% к скорости паркура после убийства Милосердием на 15 секунд.`,
|
||||
upgrade_AvatarTimeLimitIncrease: `+8 секунд на взлом.`,
|
||||
upgrade_ElectrifyOnHack: `Шокирует врагов в радиусе 20м во время взлома.`,
|
||||
upgrade_OnExecutionTerrify: `50% шанс, что при убийстве Милосердием враги в радиусе 15м будут параллизованы от страха на 8 секунд.`,
|
||||
upgrade_OnHackLockers: `Открывает 5 контейнеров в радиусе 20м после взлома.`,
|
||||
upgrade_OnExecutionBlind: `Ослепляет врагов в радиусе 18м при убийстве Милосердием.`,
|
||||
upgrade_OnExecutionDrainPower: `Следующая способность, применённая после убийства Милосердием, получает +50% к силе способности.`,
|
||||
upgrade_OnHackSprintSpeed: `+75% к скорости бега после взлома на 15 секунд.`,
|
||||
upgrade_SwiftExecute: `Увеличивает скорость добиваний Милосердием на 50%.`,
|
||||
upgrade_OnHackInvis: `Невидимсть на 15 секунд после взлома.`,
|
||||
upgrade_Equilibrium: `+|VAL|% Энергия от подбирания здоровья, +|VAL|% Здоровье от подбирания энергии`,
|
||||
upgrade_MeleeCritDamage: `+|VAL|% Критический урон ближнего боя`,
|
||||
upgrade_PrimaryStatusChance: `+|VAL|% Шанс наложения статуса основным оружием`,
|
||||
upgrade_SecondaryCritChance: `+|VAL|% Шанс критического удара вторичным оружием`,
|
||||
upgrade_WarframeAbilityDuration: `+|VAL|% Длительность способностей`,
|
||||
upgrade_WarframeAbilityStrength: `+|VAL|% Сила способностей`,
|
||||
upgrade_WarframeArmorMax: `+|VAL| Броня`,
|
||||
upgrade_WarframeBlastProc: `+|VAL| Щиты при убийстве с Взрывным Уроном`,
|
||||
upgrade_WarframeCastingSpeed: `+|VAL|% Скорость Применения Способностей`,
|
||||
upgrade_WarframeCorrosiveDamageBoost: `+|VAL|% Урон Способностей по врагам, пораженным Коррозией`,
|
||||
upgrade_WarframeCorrosiveStack: `Увеличить макс. стаки Коррозии на +|VAL|`,
|
||||
upgrade_WarframeCritDamageBoost: `+|VAL|% Критический Урон Ближнего Боя (Удваивается при 500 Энергии)`,
|
||||
upgrade_WarframeElectricDamage: `+|VAL1|% Урон Электричеством Основным Оружием (+|VAL2|% за каждый дополнительный Осколок)`,
|
||||
upgrade_WarframeElectricDamageBoost: `+|VAL|% Урон Способностей по врагам, пораженным Электричеством`,
|
||||
upgrade_WarframeEnergyMax: `+|VAL| Макс. Энергия`,
|
||||
upgrade_WarframeGlobeEffectEnergy: `+|VAL|% Эффективность сфер Энергии`,
|
||||
upgrade_WarframeGlobeEffectHealth: `+|VAL|% Эффективность сфер Здоровья`,
|
||||
upgrade_WarframeHealthMax: `+|VAL| Макс. Здоровье`,
|
||||
upgrade_WarframeHPBoostFromImpact: `+|VAL1| Здоровья при убийстве с Взрывным Уроном (Макс. |VAL2| Здоровья)`,
|
||||
upgrade_WarframeParkourVelocity: `+|VAL|% Скорость Паркура`,
|
||||
upgrade_WarframeRadiationDamageBoost: `+|VAL|% Урон Способностей по врагам, пораженным Радиацией`,
|
||||
upgrade_WarframeHealthRegen: `+|VAL| Здоровья в секунду`,
|
||||
upgrade_WarframeShieldMax: `+|VAL| Щитов`,
|
||||
upgrade_WarframeStartingEnergy: `+|VAL|% Энергии при Спавне`,
|
||||
upgrade_WarframeToxinDamage: `+|VAL|% Урон Токсином`,
|
||||
upgrade_WarframeToxinHeal: `+|VAL| Здоровья при нанесении урона врагам с Токсином`,
|
||||
upgrade_WeaponCritBoostFromHeat: `+|VAL1|% Шанс Критического Удара Вторичным Оружием за каждого убитого врага, пораженного Огнем (Макс. |VAL2|%)`,
|
||||
upgrade_AvatarAbilityRange: `+7.5% Радиус Способностей`,
|
||||
upgrade_AvatarAbilityEfficiency: `+5% Энергоэффективность Способностей`,
|
||||
upgrade_AvatarEnergyRegen: `+0.5 Регенерация Энергии в секунду`,
|
||||
upgrade_AvatarEnemyRadar: `+5m обнаружение врагов`,
|
||||
upgrade_AvatarLootRadar: `+7m обнаружение добычи`,
|
||||
upgrade_WeaponAmmoMax: `+15% Макс. Патронов`,
|
||||
upgrade_EnemyArmorReductionAura: `-3% Броня Врагов`,
|
||||
upgrade_OnExecutionAmmo: `+100% Заполнение Магазина Основного и Вторичного Оружия при убийстве Милосердием`,
|
||||
upgrade_OnExecutionHealthDrop: `+100% Шанс Падения сферы Здоровья при убийстве Милосердием`,
|
||||
upgrade_OnExecutionEnergyDrop: `+50% Шанс Падения сферы Энергии при убийстве Милосердием`,
|
||||
upgrade_OnFailHackReset: `+50% Шанс Повтора Взлома`,
|
||||
upgrade_DamageReductionOnHack: `+75% Уменьшение Урона во время Взлома`,
|
||||
upgrade_OnExecutionReviveCompanion: `Убийства Милосердием уменьшают время восстановления Компаньона на 15 секунд`,
|
||||
upgrade_OnExecutionParkourSpeed: `+60% Скорость Паркура после убийства Милосердием на 15 секунд`,
|
||||
upgrade_AvatarTimeLimitIncrease: `+8 секунд к Взлому`,
|
||||
upgrade_ElectrifyOnHack: `Шокировать врагов в пределах 20 метров во время Взлома`,
|
||||
upgrade_OnExecutionTerrify: `+50% шанс, что враги в пределах 15 метров будут дрожать от страха в течение 8 секунд после убийства Милосердием`,
|
||||
upgrade_OnHackLockers: `Открыть 5 шкафчиков в пределах 20 метров после Взлома`,
|
||||
upgrade_OnExecutionBlind: `Ослепить врагов в пределах 18 метров после убийства Милосердием`,
|
||||
upgrade_OnExecutionDrainPower: `Следующее использование способности получает +50% Силы Способности после убийства Милосердием`,
|
||||
upgrade_OnHackSprintSpeed: `+75% Скорость Бега в течение 15 секунд после Взлома`,
|
||||
upgrade_SwiftExecute: `+50% Скорость Убийства Милосердием`,
|
||||
upgrade_OnHackInvis: `Невидимость в течение 15 секунд после Взлома`,
|
||||
|
||||
damageType_Electricity: `Электрический`,
|
||||
damageType_Fire: `Огненный`,
|
||||
damageType_Freeze: `Холодовой`,
|
||||
damageType_Impact: `Ударный`,
|
||||
damageType_Magnetic: `Магнитный`,
|
||||
damageType_Poison: `Токсичный`,
|
||||
damageType_Radiation: `Радиационный`,
|
||||
damageType_Electricity: `Электричество`,
|
||||
damageType_Fire: `Огонь`,
|
||||
damageType_Freeze: `Холод`,
|
||||
damageType_Impact: `Удар`,
|
||||
damageType_Magnetic: `Магнит`,
|
||||
damageType_Poison: `Токсин`,
|
||||
damageType_Radiation: `Радиация`,
|
||||
|
||||
theme_dark: `Темная тема`,
|
||||
theme_light: `Светлая тема`,
|
||||
|
@ -1,6 +1,6 @@
|
||||
// Ukrainian translation by LoseFace
|
||||
dict = {
|
||||
general_inventoryUpdateNote: `Пам'ятка: Щоб побачити зміни в грі, вам потрібно повторно синхронізувати своє спорядження, наприклад, використовуючи команду /sync завантажувача, відвідавши Доджьо/Реле або перезавантаживши гру.`,
|
||||
general_inventoryUpdateNote: `Пам'ятка: Щоб побачити зміни в грі, вам потрібно повторно синхронізувати свій інвентар, наприклад, використовуючи команду /sync завантажувача, відвідавши Доджьо/Реле або перезавантаживши гру.`,
|
||||
general_addButton: `Добавити`,
|
||||
general_setButton: `Встановити`,
|
||||
general_none: `Відсутній`,
|
||||
@ -11,8 +11,8 @@ dict = {
|
||||
code_regFail: `Не вдалося зареєструватися. Обліковий запис вже існує?`,
|
||||
code_changeNameConfirm: `Яке ім'я ви хочете встановити для свого облікового запису?`,
|
||||
code_deleteAccountConfirm: `Ви впевнені, що хочете видалити обліковий запис |DISPLAYNAME| (|EMAIL|)? Цю дію не можна скасувати.`,
|
||||
code_archgun: `Арк-гармата`,
|
||||
code_melee: `Холодна зброя`,
|
||||
code_archgun: `Арч-Пушка`,
|
||||
code_melee: `Ближній бій`,
|
||||
code_pistol: `Пістолет`,
|
||||
code_rifle: `Гвинтівка`,
|
||||
code_shotgun: `Рушниця`,
|
||||
@ -22,11 +22,11 @@ dict = {
|
||||
code_amp: `Підсилювач`,
|
||||
code_kDrive: `К-Драйв`,
|
||||
code_legendaryCore: `Легендарне ядро`,
|
||||
code_traumaticPeculiar: `Особливе травмування`,
|
||||
code_traumaticPeculiar: `Травмуюча Странність`,
|
||||
code_starter: `|MOD| (Пошкоджений)`,
|
||||
code_badItem: `(Самозванець)`,
|
||||
code_maxRank: `Макс. рівень`,
|
||||
code_rename: `Перейменувати`,
|
||||
code_maxRank: `Максимальний рівень`,
|
||||
code_rename: `Переіменувати`,
|
||||
code_renamePrompt: `Введіть нове ім'я:`,
|
||||
code_remove: `Видалити`,
|
||||
code_addItemsConfirm: `Ви впевнені, що хочете додати |COUNT| предметів на ваш обліковий запис?`,
|
||||
@ -42,15 +42,15 @@ dict = {
|
||||
code_rankUp: `Підвищити рівень`,
|
||||
code_rankDown: `Понизити рівень`,
|
||||
code_count: `Кількість`,
|
||||
code_focusAllUnlocked: `Всі школи Фокусу вже розблоковані.`,
|
||||
code_focusUnlocked: `Розблоковано |COUNT| нових шкіл Фокусу! Для відображення змін в грі знадобиться оновлення спорядження. Відвідування навігації — найпростіший спосіб цього досягти.`,
|
||||
code_focusAllUnlocked: `Всі школи фокуса вже розблоковані.`,
|
||||
code_focusUnlocked: `Розблоковано |COUNT| нових шкіл фокуса! Для відображення змін в грі знадобиться оновлення спорядження. Відвідування навігації — найпростіший спосіб цього досягти.`,
|
||||
code_addModsConfirm: `Ви впевнені, що хочете додати |COUNT| модифікаторів на ваш обліковий запис?`,
|
||||
code_succImport: `Успішно імпортовано.`,
|
||||
code_succRelog: `Готово. Зверніть увагу, що вам потрібно буде перезайти, щоб побачити зміни в грі.`,
|
||||
code_nothingToDo: `Готово. Немає що робити.`,
|
||||
code_gild: `Покращити`,
|
||||
code_moa: `МОА`,
|
||||
code_zanuka: `Гончак`,
|
||||
code_zanuka: `Гончарка`,
|
||||
code_stage: `Етап`,
|
||||
code_complete: `Завершити`,
|
||||
code_nextStage: `Наступний етап`,
|
||||
@ -59,56 +59,56 @@ dict = {
|
||||
code_setInactive: `Зробити пригоду неактивною`,
|
||||
code_completed: `Завершено`,
|
||||
code_active: `Активний`,
|
||||
code_pigment: `Барвник`,
|
||||
code_mature: `Виростити для бою`,
|
||||
code_pigment: `Пігмент`,
|
||||
code_mature: `Підготувати до бою`,
|
||||
code_unmature: `Обернути старіння`,
|
||||
code_succChange: `Успішно змінено.`,
|
||||
code_requiredInvigorationUpgrade: `Ви повинні вибрати як атакуюче, так і допоміжне вдосконалення.`,
|
||||
login_description: `Увійдіть, використовуючи облікові дані OpenWF (ті ж, що й у грі при підключенні до цього серверу).`,
|
||||
code_requiredInvigorationUpgrade: `Ви повинні вибрати як атакуюче, так і допоміжне покращення.`,
|
||||
login_description: `Увійдіть, використовуючи облікові дані OpenWF (ті ж, що й у грі при підключенні до цього сервера).`,
|
||||
login_emailLabel: `Адреса електронної пошти`,
|
||||
login_passwordLabel: `Пароль`,
|
||||
login_loginButton: `Увійти`,
|
||||
login_registerButton: `Зареєструватися`,
|
||||
navbar_logout: `Вийти`,
|
||||
navbar_renameAccount: `Перейменувати обліковий запис`,
|
||||
navbar_renameAccount: `Переіменувати обліковий запис`,
|
||||
navbar_deleteAccount: `Видалити обліковий запис`,
|
||||
navbar_inventory: `Спорядження`,
|
||||
navbar_mods: `Модифікатори`,
|
||||
navbar_mods: `Моди`,
|
||||
navbar_quests: `Пригоди`,
|
||||
navbar_cheats: `Чити`,
|
||||
navbar_import: `Імпорт`,
|
||||
inventory_addItems: `Додати предмети`,
|
||||
inventory_suits: `Ворфрейми`,
|
||||
inventory_longGuns: `Основна зброя`,
|
||||
inventory_pistols: `Допоміжна зброя`,
|
||||
inventory_melee: `Холодна зброя`,
|
||||
inventory_longGuns: `Основне озброєння`,
|
||||
inventory_pistols: `Допоміжне озброєння`,
|
||||
inventory_melee: `Холодне озброєння`,
|
||||
inventory_spaceSuits: `Арквінґи`,
|
||||
inventory_spaceGuns: `Зброя Арквінґів`,
|
||||
inventory_spaceMelee: `Холодна зброя Арквінґів`,
|
||||
inventory_spaceGuns: `Озброєння арквінґів`,
|
||||
inventory_spaceMelee: `Холодне озброєння арквінґів`,
|
||||
inventory_mechSuits: `Некрамехи`,
|
||||
inventory_sentinels: `Вартові`,
|
||||
inventory_sentinelWeapons: `Зброя Вартових`,
|
||||
inventory_sentinelWeapons: `Озброєння вартових`,
|
||||
inventory_operatorAmps: `Підсилювачі`,
|
||||
inventory_hoverboards: `К-Драйви`,
|
||||
inventory_moaPets: `МОА`,
|
||||
inventory_kubrowPets: `Тварини`,
|
||||
inventory_evolutionProgress: `Прогрес еволюції Інкарнонів`,
|
||||
inventory_Boosters: `Посилення`,
|
||||
inventory_bulkAddSuits: `Додати відсутні Ворфрейми`,
|
||||
inventory_bulkAddWeapons: `Додати відсутню зброю`,
|
||||
inventory_bulkAddSpaceSuits: `Додати відсутні Арквінґи`,
|
||||
inventory_bulkAddSpaceWeapons: `Додати відсутню зброю Арквінґів`,
|
||||
inventory_bulkAddSentinels: `Додати відсутніх Вартових`,
|
||||
inventory_bulkAddSentinelWeapons: `Додати відсутню зброю Вартових`,
|
||||
inventory_bulkAddEvolutionProgress: `Додати відсутній прогрес еволюції Інкарнонів`,
|
||||
inventory_bulkRankUpSuits: `Макс. рівень всіх Ворфреймів`,
|
||||
inventory_bulkRankUpWeapons: `Макс. рівень всієї зброї`,
|
||||
inventory_bulkRankUpSpaceSuits: `Макс. рівень всіх Арквінґів`,
|
||||
inventory_bulkRankUpSpaceWeapons: `Макс. рівень всієї зброї Арквінґів`,
|
||||
inventory_bulkRankUpSentinels: `Макс. рівень всіх Вартових`,
|
||||
inventory_bulkRankUpSentinelWeapons: `Макс. рівень всієї зброї Вартових`,
|
||||
inventory_bulkRankUpEvolutionProgress: `Макс. рівень всіх еволюцій Інкарнонів`,
|
||||
inventory_maxPlexus: `Макс. рівень Плексу`,
|
||||
inventory_evolutionProgress: `Прогрес Еволюції Інкарнонов`,
|
||||
inventory_Boosters: `Бустери`,
|
||||
inventory_bulkAddSuits: `Додати відсутні ворфрейми`,
|
||||
inventory_bulkAddWeapons: `Додати відсутнє озброєння`,
|
||||
inventory_bulkAddSpaceSuits: `Додати відсутні арквінґи`,
|
||||
inventory_bulkAddSpaceWeapons: `Додати відсутнє озброєння арквінґів`,
|
||||
inventory_bulkAddSentinels: `Додати відсутніх вартових`,
|
||||
inventory_bulkAddSentinelWeapons: `Додати відсутнє озброєння вартових`,
|
||||
inventory_bulkAddEvolutionProgress: `Додати відсутній прогрес Еволюції Інкарнонов`,
|
||||
inventory_bulkRankUpSuits: `Максимальний рівень всіх ворфреймів`,
|
||||
inventory_bulkRankUpWeapons: `Максимальний рівень всього озброєння`,
|
||||
inventory_bulkRankUpSpaceSuits: `Максимальний рівень всіх арквінґів`,
|
||||
inventory_bulkRankUpSpaceWeapons: `Максимальний рівень всього озброєння арквінґів`,
|
||||
inventory_bulkRankUpSentinels: `Максимальний рівень всіх вартових`,
|
||||
inventory_bulkRankUpSentinelWeapons: `Максимальний рівень всього озброєння вартових`,
|
||||
inventory_bulkRankUpEvolutionProgress: `Максимальний рівень всіх еволюцій Інкарнонов`,
|
||||
inventory_maxPlexus: `Максимальний рівень Плексу`,
|
||||
|
||||
quests_list: `Пригоди`,
|
||||
quests_completeAll: `Закінчити всі пригоди`,
|
||||
@ -121,71 +121,71 @@ dict = {
|
||||
currency_PrimeTokens: `Королівські Ая`,
|
||||
currency_owned: `У тебе |COUNT|.`,
|
||||
|
||||
detailedView_archonShardsLabel: `Комірки уламків Архонта`,
|
||||
detailedView_archonShardsDescription: `Ви можете використовувати ці необмежені комірки для встановлення безлічі вдосконалень.`,
|
||||
detailedView_archonShardsDescription2: `Зверніть увагу: кожен уламок Архонта застосовується з затримкою при завантаженні.`,
|
||||
detailedView_archonShardsLabel: `Клітинки осколків архонта`,
|
||||
detailedView_archonShardsDescription: `Ви можете використовувати ці необмежені клітинки для встановлення безлічі вдосконалень.`,
|
||||
detailedView_archonShardsDescription2: `Зверніть увагу: кожен уламок архонта застосовується з затримкою при завантаженні.`,
|
||||
detailedView_valenceBonusLabel: `Ознака Валентності`,
|
||||
detailedView_valenceBonusDescription: `Ви можете встановити або прибрати ознаку Валентності з вашої зброї.`,
|
||||
detailedView_modularPartsLabel: `Змінити модульні частини`,
|
||||
detailedView_valenceBonusDescription: `Ви можете встановити або прибрати ознака валентності з вашої зброї.`,
|
||||
detailedView_modularPartsLabel: `Змінити Модульні Частини`,
|
||||
detailedView_suitInvigorationLabel: `Зміцнення Ворфрейма`,
|
||||
detailedView_loadoutLabel: `Конфігурації`,
|
||||
|
||||
invigorations_offensive_AbilityStrength: `+200% до потужності здібностей.`,
|
||||
invigorations_offensive_AbilityRange: `+100% до досяжності здібностей.`,
|
||||
invigorations_offensive_AbilityDuration: `+100% до тривалості дії здібностей.`,
|
||||
invigorations_offensive_MeleeDamage: `+250% до шкоди від холодної зброї.`,
|
||||
invigorations_offensive_PrimaryDamage: `+250% до шкоди від основної зброї.`,
|
||||
invigorations_offensive_SecondaryDamage: `+250% до шкоди від допоміжної зброї.`,
|
||||
invigorations_offensive_PrimaryCritChance: `+200% до ймовірності критичної шкоди від основної зброї.`,
|
||||
invigorations_offensive_SecondaryCritChance: `+200% до ймовірності критичної шкоди від допоміжної зброї.`,
|
||||
invigorations_offensive_MeleeCritChance: `+200% до ймовірності критичної шкоди від холодної зброї.`,
|
||||
invigorations_offensive_AbilityStrength: `+200% Потужності Здібностей`,
|
||||
invigorations_offensive_AbilityRange: `+100% Досяжність Здібностей`,
|
||||
invigorations_offensive_AbilityDuration: `+100% Тривалість Здібностей`,
|
||||
invigorations_offensive_MeleeDamage: `+250% Шкода Ближнього Бою`,
|
||||
invigorations_offensive_PrimaryDamage: `+250% Шкода Основного Озброєння`,
|
||||
invigorations_offensive_SecondaryDamage: `+250% Шкода Допоміжного Озброєння`,
|
||||
invigorations_offensive_PrimaryCritChance: `+200% Імовірність Критичної Шкоди Основного Озброєння`,
|
||||
invigorations_offensive_SecondaryCritChance: `+200% Імовірність Критичної Шкоди Допоміжного Озброєння`,
|
||||
invigorations_offensive_MeleeCritChance: `+200% Імовірність Критичної Шкоди Ближнього Бою`,
|
||||
|
||||
invigorations_utility_AbilityEfficiency: `+75% до ощадливості здібностей.`,
|
||||
invigorations_utility_SprintSpeed: `+75% до швидкості бігу.`,
|
||||
invigorations_utility_ParkourVelocity: `+75% до швидкості паркуру.`,
|
||||
invigorations_utility_HealthMax: `+1000 до здоров'я.`,
|
||||
invigorations_utility_EnergyMax: `+200% до макс. енергії.`,
|
||||
invigorations_utility_StatusImmune: `Імунітет до ефектів стану.`,
|
||||
invigorations_utility_ReloadSpeed: `+75% до швидкості перезаряджання.`,
|
||||
invigorations_utility_HealthRegen: `+25 до відновлення здоров'я на секунду.`,
|
||||
invigorations_utility_ArmorMax: `+1000 до захисту.`,
|
||||
invigorations_utility_Jumps: `+5 Оновлень стрибків.`,
|
||||
invigorations_utility_EnergyRegen: `+2 до відновлення енергії на секунду.`,
|
||||
invigorations_utility_AbilityEfficiency: `+75% Ощадливість Здібностей`,
|
||||
invigorations_utility_SprintSpeed: `+75% Швидкість Бігу`,
|
||||
invigorations_utility_ParkourVelocity: `+75% Швидкість Паркура`,
|
||||
invigorations_utility_HealthMax: `+1000 Здоров'я`,
|
||||
invigorations_utility_EnergyMax: `+200% Максимум Енергії`,
|
||||
invigorations_utility_StatusImmune: `Імунітет до Ефектів Статусу`,
|
||||
invigorations_utility_ReloadSpeed: `+75% Швидкість Перезаряджання`,
|
||||
invigorations_utility_HealthRegen: `+25 Здоров'я в секунду`,
|
||||
invigorations_utility_ArmorMax: `+1000 Захисту`,
|
||||
invigorations_utility_Jumps: `+5 Оновлень Стрибків`,
|
||||
invigorations_utility_EnergyRegen: `+2 Енергії в секунду`,
|
||||
|
||||
invigorations_offensiveLabel: `Атакуюче вдосконалення`,
|
||||
invigorations_defensiveLabel: `Допоміжне вдосконалення`,
|
||||
invigorations_offensiveLabel: `Атакуюче Вдосконалення`,
|
||||
invigorations_defensiveLabel: `Вспомогательное Вдосконалення`,
|
||||
invigorations_expiryLabel: `Термін дії Зміцнення (необов'язково)`,
|
||||
|
||||
abilityOverride_label: `Перевизначення здібностей`,
|
||||
abilityOverride_onSlot: `у комірці`,
|
||||
abilityOverride_onSlot: `у клітинці`,
|
||||
|
||||
mods_addRiven: `Добавити модифікатор Розколу`,
|
||||
mods_addRiven: `Добавити Модифікатор Розколу`,
|
||||
mods_fingerprint: `Відбиток`,
|
||||
mods_fingerprintHelp: `Потрібна допомога з відбитком?`,
|
||||
mods_rivens: `Модифікатори Розколу`,
|
||||
mods_mods: `Модифікатори`,
|
||||
mods_addMax: `Добавити макс. вдосконалений`,
|
||||
mods_addMax: `Добавити максимально вдосконалений`,
|
||||
mods_addMissingUnrankedMods: `Добавити недостаючі модифікатори без рівня`,
|
||||
mods_removeUnranked: `Видалити модифікатори без рівня`,
|
||||
mods_addMissingMaxRankMods: `Добавити недостаючі модифікатори макс. рівня`,
|
||||
mods_addMissingMaxRankMods: `Добавити недостаючі модифікатори максимального рівня`,
|
||||
cheats_administratorRequirement: `Ви повинні бути адміністратором для використання цієї функції. Щоб стати адміністратором, додайте <code>\"|DISPLAYNAME|\"</code> в <code>administratorNames</code> в config.json.`,
|
||||
cheats_server: `Сервер`,
|
||||
cheats_skipTutorial: `Пропустити навчання`,
|
||||
cheats_skipAllDialogue: `Пропустити всі діалоги`,
|
||||
cheats_unlockAllScans: `Розблокувати всі сканування`,
|
||||
cheats_unlockAllMissions: `Розблокувати всі місії`,
|
||||
cheats_unlockAllMissions_ok: `Успіх. Будь ласка, зверніть увагу, що вам потрібно буде увійти в Доджьо/Реле або перезайти, щоб клієнт оновив Зоряну мапу.`,
|
||||
cheats_infiniteCredits: `Бескінечні Кредити`,
|
||||
cheats_infinitePlatinum: `Бескінечна Платина`,
|
||||
cheats_infiniteEndo: `Бескінечне Ендо`,
|
||||
cheats_unlockAllMissions_ok: `Успіх. Будь ласка, зверніть увагу, що вам потрібно буде увійти в Доджьо/Реле або перезайти, щоб клієнт оновив зоряну мапу.`,
|
||||
cheats_infiniteCredits: `Бескінечні кредити`,
|
||||
cheats_infinitePlatinum: `Бескінечна платина`,
|
||||
cheats_infiniteEndo: `Бескінечне ендо`,
|
||||
cheats_infiniteRegalAya: `Бескінечна Королівська Ая`,
|
||||
cheats_infiniteHelminthMaterials: `Бескінечні секреції Гельмінта`,
|
||||
cheats_infiniteHelminthMaterials: `Бескінечні Секреції Гельмінта`,
|
||||
cheats_claimingBlueprintRefundsIngredients: `Повернення інгредієнтів креслеників`,
|
||||
cheats_dontSubtractPurchaseCreditCost: `Не вираховувати вартість Кредитів при купівлі`,
|
||||
cheats_dontSubtractPurchasePlatinumCost: `Не вираховувати вартість Платини при купівлі`,
|
||||
cheats_dontSubtractPurchaseCreditCost: `Не вираховувати вартість кредитів при купівлі`,
|
||||
cheats_dontSubtractPurchasePlatinumCost: `Не вираховувати вартість платини при купівлі`,
|
||||
cheats_dontSubtractPurchaseItemCost: `Не вираховувати вартість предметів при купівлі`,
|
||||
cheats_dontSubtractPurchaseStandingCost: `Не вираховувати вартість репутації при купівлі`,
|
||||
cheats_dontSubtractVoidTraces: `Не вираховувати кількість Відлуння`,
|
||||
cheats_dontSubtractVoidTraces: `Не вираховувати кількість Відголосків Безодні`,
|
||||
cheats_dontSubtractConsumables: `Не вираховувати кількість витратних матеріалів`,
|
||||
cheats_unlockAllShipFeatures: `Розблокувати всі функції судна`,
|
||||
cheats_unlockAllShipDecorations: `Розблокувати всі прикраси судна`,
|
||||
@ -196,10 +196,10 @@ dict = {
|
||||
cheats_universalPolarityEverywhere: `Будь-яка полярність скрізь`,
|
||||
cheats_unlockDoubleCapacityPotatoesEverywhere: `Орокінські Реактори/Каталізатори скрізь`,
|
||||
cheats_unlockExilusEverywhere: `Ексилотримач скрізь`,
|
||||
cheats_unlockArcanesEverywhere: `Тримач Містифікаторів скрізь`,
|
||||
cheats_unlockArcanesEverywhere: `Тримач містифікаторів скрізь`,
|
||||
cheats_noDailyStandingLimits: `Без щоденних лімітів репутації`,
|
||||
cheats_noDailyFocusLimit: `Без щоденних лімітів Фокусу`,
|
||||
cheats_noArgonCrystalDecay: `Без розпаду Аргонових кристалів`,
|
||||
cheats_noDailyFocusLimit: `Без щоденних лімітів фокуса`,
|
||||
cheats_noArgonCrystalDecay: `Без розпаду аргонових кристалів`,
|
||||
cheats_noMasteryRankUpCooldown: `Підвищення ранга майстерності без очікування`,
|
||||
cheats_noVendorPurchaseLimits: `Відсутність лімітів на купівлю у продавців`,
|
||||
cheats_noDeathMarks: `Без позначок смерті`,
|
||||
@ -209,16 +209,16 @@ dict = {
|
||||
cheats_baroFullyStocked: `Баро повністю укомплектований`,
|
||||
cheats_syndicateMissionsRepeatable: `Повторювати місії синдиката`,
|
||||
cheats_unlockAllProfitTakerStages: `Розблокувати всі етапи Привласнювачки`,
|
||||
cheats_instantFinishRivenChallenge: `Миттєве завершення випробування модифікатора Розколу`,
|
||||
cheats_instantResourceExtractorDrones: `Миттєво добуваючі Дрони-видобувачі`,
|
||||
cheats_noResourceExtractorDronesDamage: `Без шкоди по Дронам-видобувачам`,
|
||||
cheats_instantFinishRivenChallenge: `Миттєве завершення випробування Модифікатора Розколу`,
|
||||
cheats_instantResourceExtractorDrones: `Миттєво добуваючі дрони-видобувачі`,
|
||||
cheats_noResourceExtractorDronesDamage: `Без шкоди по дронам-видобувачам`,
|
||||
cheats_skipClanKeyCrafting: `Пропустити створення кланового ключа`,
|
||||
cheats_noDojoRoomBuildStage: `Миттєве будівництво кімнат Доджьо`,
|
||||
cheats_noDojoDecoBuildStage: `Миттєве будівництво декорацій Доджьо`,
|
||||
cheats_fastDojoRoomDestruction: `Миттєве знищення кімнат Доджьо`,
|
||||
cheats_noDojoResearchCosts: `Безкоштовні дослідження Доджьо`,
|
||||
cheats_noDojoResearchTime: `Миттєві дослідження Доджьо`,
|
||||
cheats_fastClanAscension: `Миттєве піднесення клану`,
|
||||
cheats_noDojoRoomBuildStage: `Миттєве будівництво Кімнат Доджьо`,
|
||||
cheats_noDojoDecoBuildStage: `Миттєве будівництво Декорацій Доджьо`,
|
||||
cheats_fastDojoRoomDestruction: `Миттєве знищення Кімнат Доджьо`,
|
||||
cheats_noDojoResearchCosts: `Безкоштовні Дослідження Доджьо`,
|
||||
cheats_noDojoResearchTime: `Миттєві Дослідження Доджьо`,
|
||||
cheats_fastClanAscension: `Миттєве Піднесення Клану`,
|
||||
cheats_missionsCanGiveAllRelics: `Місії можуть давати всі реліквії`,
|
||||
cheats_exceptionalRelicsAlwaysGiveBronzeReward: `Вийняткові реліквії завжди дають бронзову нагороду`,
|
||||
cheats_flawlessRelicsAlwaysGiveSilverReward: `Бездоганні реліквії завжди дають срібну нагороду`,
|
||||
@ -230,7 +230,7 @@ dict = {
|
||||
cheats_nightwaveStandingMultiplier: `Множник репутації Нічної хвилі`,
|
||||
cheats_save: `Зберегти`,
|
||||
cheats_account: `Обліковий запис`,
|
||||
cheats_unlockAllFocusSchools: `Розблокувати всі школи Фокусу`,
|
||||
cheats_unlockAllFocusSchools: `Розблокувати всі школи фокуса`,
|
||||
cheats_helminthUnlockAll: `Повністю покращити Гельмінта`,
|
||||
cheats_addMissingSubsumedAbilities: `Додати відсутні поглинуті здібності`,
|
||||
cheats_intrinsicsUnlockAll: `Повністю покращити Кваліфікації`,
|
||||
@ -239,13 +239,13 @@ dict = {
|
||||
cheats_markAllAsRead: `Помітити всі вхідні як прочитані`,
|
||||
|
||||
worldState: `Стан світу`,
|
||||
worldState_creditBoost: `Глобальне посилення Кредитів`,
|
||||
worldState_affinityBoost: `Глобальне посилення Синтезу`,
|
||||
worldState_resourceBoost: `Глобальне посилення Ресурсів`,
|
||||
worldState_creditBoost: `Глобальний бустер кредитів`,
|
||||
worldState_affinityBoost: `Глобальний бустер синтезу`,
|
||||
worldState_resourceBoost: `Глобальний бустер ресурсів`,
|
||||
worldState_tennoLiveRelay: `Реле TennoLive`,
|
||||
worldState_baroTennoConRelay: `Реле Баро TennoCon`,
|
||||
worldState_starDays: `Зоряні дні`,
|
||||
worldState_galleonOfGhouls: `Гульський галеон`,
|
||||
worldState_galleonOfGhouls: `Гульський Галеон`,
|
||||
worldState_ghoulEmergence: `Зачищення від гулів`,
|
||||
worldState_plagueStar: `Морова зірка`,
|
||||
worldState_dogDays: `Спекотні дні`,
|
||||
@ -254,13 +254,9 @@ dict = {
|
||||
worldState_longShadow: `Довга тінь`,
|
||||
worldState_hallowedFlame: `Священне полум'я`,
|
||||
worldState_hallowedNightmares: `Священні жахіття`,
|
||||
worldState_hallowedNightmaresRewards: `Нагороди Священних жахіть`,
|
||||
worldState_hallowedNightmaresRewards: `Нагороди Священних Жахіть`,
|
||||
worldState_proxyRebellion: `Повстання роботів`,
|
||||
worldState_proxyRebellionRewards: `Нагороди Повстання роботів`,
|
||||
worldState_bellyOfTheBeast: `У лігві звіра`,
|
||||
worldState_bellyOfTheBeastProgressOverride: `Прогрес У лігві звіра`,
|
||||
worldState_eightClaw: `Вісім кігтів`,
|
||||
worldState_eightClawProgressOverride: `Прогрес Восьми кігтів`,
|
||||
worldState_from_year: `з |YEAR|`,
|
||||
worldState_pre_year: `до |YEAR|`,
|
||||
worldState_incompatibleWith: `Несумісне з:`,
|
||||
@ -277,9 +273,9 @@ dict = {
|
||||
worldState_cold: `Холод`,
|
||||
worldState_duviriOverride: `Цикл Дувірі`,
|
||||
worldState_joy: `Радість`,
|
||||
worldState_anger: `Злість`,
|
||||
worldState_anger: `Гнів`,
|
||||
worldState_envy: `Заздрість`,
|
||||
worldState_sorrow: `Журба`,
|
||||
worldState_sorrow: `Скорбота`,
|
||||
worldState_fear: `Страх`,
|
||||
worldState_nightwaveOverride: `Сезон Нічної хвилі`,
|
||||
worldState_RadioLegionIntermission13Syndicate: `Вибірка Нори 9`,
|
||||
@ -303,69 +299,68 @@ dict = {
|
||||
worldState_allAtOnceNormal: `Всі одразу, в звичайному режимі`,
|
||||
worldState_allAtOnceSteelPath: `Всі одразу, в режимі Шляху Сталі`,
|
||||
worldState_theCircuitOverride: `Типи місій у підземеллі Дувірі`,
|
||||
worldState_darvoStockMultiplier: `Множник запасів Дарво`,
|
||||
worldState_varziaFullyStocked: `Повний асортимент Варзії`,
|
||||
worldState_varziaOverride: `Зміна ротації Варзії`,
|
||||
worldState_darvoStockMultiplier: `Множник Запасів Дарво`,
|
||||
worldState_varziaFullyStocked: `Повний Асортимент Варзії`,
|
||||
worldState_varziaOverride: `Зміна Ротації Варзії`,
|
||||
|
||||
import_importNote: `[UNTRANSLATED] You can provide a full or partial <code>inventory.php</code> or <code>getShip.php</code> response (client representation) here.`,
|
||||
import_importNote2: `Всі підтримувані поля <b>будуть перезаписані</b> у вашому акаунті.`,
|
||||
import_importNote: `Ви можете завантажити повну або часткову відповідь спорядження (клієнтське представлення) тут. Всі підтримувані поля <b>будуть перезаписані</b> у вашому акаунті.`,
|
||||
import_submit: `Відправити`,
|
||||
import_samples: `Приклад:`,
|
||||
import_samples_maxFocus: `Всі школи Фокусу макс. рівня`,
|
||||
import_samples_maxFocus: `Всі школи Фокуса максимального рівня`,
|
||||
|
||||
upgrade_Equilibrium: `Згустки здоров'я дають +|VAL|% енергії, згустки енергії дають +|VAL|% здоров'я.`,
|
||||
upgrade_MeleeCritDamage: `+|VAL|% до критичної шкоди від холодної зброї.`,
|
||||
upgrade_PrimaryStatusChance: `+|VAL|% до ймовірності ефекту стану від основної зброї.`,
|
||||
upgrade_SecondaryCritChance: `+|VAL|% до ймовірності критичної шкоди від допоміжної зброї.`,
|
||||
upgrade_WarframeAbilityDuration: `+|VAL|% до тривалості дії здібностей.`,
|
||||
upgrade_WarframeAbilityStrength: `+|VAL|% до потужності здібностей.`,
|
||||
upgrade_WarframeArmorMax: `+|VAL| до захисту.`,
|
||||
upgrade_WarframeBlastProc: `Відновлює +|VAL| щитів, коли ви вбиваєте ворога Вибуховою шкодою.`,
|
||||
upgrade_WarframeCastingSpeed: `+|VAL|% до швидкості застосування здібностей.`,
|
||||
upgrade_WarframeCorrosiveDamageBoost: `Дає +|VAL|% до шкоди від здібностей ворогам під впливом Корозійної шкоди.`,
|
||||
upgrade_WarframeCorrosiveStack: `Збільшує макс. кількість накопичень Коррозійних ефектів стану на +|VAL|.`,
|
||||
upgrade_WarframeCritDamageBoost: `Дає +|VAL|% до критичної шкоди холодної зброї. Коли макс. енергія перевищує 500, то збільшення шкоди подвоюється.`,
|
||||
upgrade_WarframeElectricDamage: `Дає +|VAL1|% до Електричної шкоди від основної зрої. Додатково дає +|VAL2|% за споряджений багряний, блакитний чи фіолетовий архонтовий уламок (Поєднується з модифікаторами).`,
|
||||
upgrade_WarframeElectricDamageBoost: `Дає +|VAL|% до шкоди від здібностей ворогам під впливом Електричної шкоди.`,
|
||||
upgrade_WarframeEnergyMax: `+|VAL| до макс. енергії.`,
|
||||
upgrade_WarframeGlobeEffectEnergy: `+|VAL|% до дієвості згустків енергії.`,
|
||||
upgrade_WarframeGlobeEffectHealth: `+|VAL|% до дієвості згустків здоров'я.`,
|
||||
upgrade_WarframeHealthMax: `+|VAL| до здоров'я.`,
|
||||
upgrade_WarframeHPBoostFromImpact: `Отримайте +|VAL1| здоров'я за ворога, вбитого Вибуховою шкодою. Макс. — |VAL2| здоров'я.`,
|
||||
upgrade_WarframeParkourVelocity: `+|VAL|% до швидкості паркуру.`,
|
||||
upgrade_WarframeRadiationDamageBoost: `Дає +|VAL|% до шкоди від здібностей ворогам під впливом Радіаційної шкоди.`,
|
||||
upgrade_WarframeHealthRegen: `+|VAL| до відновлення здоров'я на секунду.`,
|
||||
upgrade_WarframeShieldMax: `+|VAL| до місткості щитів.`,
|
||||
upgrade_WarframeStartingEnergy: `+|VAL|% до початкової макс. енергії.`,
|
||||
upgrade_WarframeToxinDamage: `Токсичні ефекти стану завдаватимуть на +|VAL|% більше шкоди.`,
|
||||
upgrade_WarframeToxinHeal: `Відновлює +|VAL| здоров'я за кожен раз як вороги отримують шкоду від Токсичних ефектів стану.`,
|
||||
upgrade_WeaponCritBoostFromHeat: `Збільшує ймовірність критичної шкоди від допоміжної зброї на |VAL1|% щоразу, коли ви вбиваєте ворога під впливом Термічного ефекту стану. Накопичується до |VAL2|%.`,
|
||||
upgrade_AvatarAbilityRange: `+7.5% Досяжність Здібностей.`,
|
||||
upgrade_AvatarAbilityEfficiency: `+5% Ощадливість Здібностей.`,
|
||||
upgrade_AvatarEnergyRegen: `+0.5 Відновлення Енергії в секунду.`,
|
||||
upgrade_AvatarEnemyRadar: `+5м Виявлення ворогів.`,
|
||||
upgrade_AvatarLootRadar: `+7м Виявлення здобичі.`,
|
||||
upgrade_WeaponAmmoMax: `+15% Макс. Набоїв.`,
|
||||
upgrade_EnemyArmorReductionAura: `-3% Захист Ворогів.`,
|
||||
upgrade_OnExecutionAmmo: `+100% Заповнення Магазина Основного і Допоміжного Озброєння при вбивстві Милосердям.`,
|
||||
upgrade_OnExecutionHealthDrop: `+100% Імовірність Падіння згустка здоров'я при вбивстві Милосердям.`,
|
||||
upgrade_OnExecutionEnergyDrop: `+50% Імовірність Падіння згустка Енергії при вбивстві Милосердям.`,
|
||||
upgrade_OnFailHackReset: `+50% Імовірність Повтора Зламу.`,
|
||||
upgrade_DamageReductionOnHack: `+75% Зменшення Шкоди під час Зламу.`,
|
||||
upgrade_OnExecutionReviveCompanion: `Вбивства Милосердям зменшують час відновлення Компаньйона на 15 секунд.`,
|
||||
upgrade_OnExecutionParkourSpeed: `+60% Швидкість Паркура після вбивства Милосердям на 15 секунд.`,
|
||||
upgrade_AvatarTimeLimitIncrease: `+8 секунд до Зламу.`,
|
||||
upgrade_ElectrifyOnHack: `Шокувати ворогів в межах 20м під час Зламу.`,
|
||||
upgrade_OnExecutionTerrify: `+50% Імовірність, що вороги в межах 15м будуть тремтіти від страху протягом 8 секунд після вбивства Милосердям.`,
|
||||
upgrade_OnHackLockers: `Відкрити 5 шафок в межах 20м після Зламу.`,
|
||||
upgrade_OnExecutionBlind: `Засліпити ворогів в межах 18м після вбивства Милосердям.`,
|
||||
upgrade_OnExecutionDrainPower: `Наступне застосування здібності отримує +50% Потужності Здібності після вбивства Милосердям.`,
|
||||
upgrade_OnHackSprintSpeed: `+75% Швидкість Бігу протягом 15 секунд після Зламу.`,
|
||||
upgrade_SwiftExecute: `+50% Швидкість Вбивства Милосердям.`,
|
||||
upgrade_OnHackInvis: `Невидимість протягом 15 секунд після Зламу.`,
|
||||
upgrade_Equilibrium: `+|VAL|% Енергія від підбирання здоров'я, +|VAL|% Здоров'я від підбирання енергії`,
|
||||
upgrade_MeleeCritDamage: `+|VAL|% Критична шкода ближнього бою`,
|
||||
upgrade_PrimaryStatusChance: `+|VAL|% Імовірність накладення ефекту стану основною зброєю`,
|
||||
upgrade_SecondaryCritChance: `+|VAL|% Імовірність критичної шкоди допоміжною зброєю`,
|
||||
upgrade_WarframeAbilityDuration: `+|VAL|% Тривалість здібностей`,
|
||||
upgrade_WarframeAbilityStrength: `+|VAL|% Потужність здібностей`,
|
||||
upgrade_WarframeArmorMax: `+|VAL| Захист`,
|
||||
upgrade_WarframeBlastProc: `+|VAL| Щит при вбивстві з Вибуховим Уронoм`,
|
||||
upgrade_WarframeCastingSpeed: `+|VAL|% Швидкість Застосування Здібностей`,
|
||||
upgrade_WarframeCorrosiveDamageBoost: `+|VAL|% Урон Здібностей по ворогам, ураженим Корозією`,
|
||||
upgrade_WarframeCorrosiveStack: `Збільшити макс. стаки Корозії на +|VAL|`,
|
||||
upgrade_WarframeCritDamageBoost: `+|VAL|% Критична шкода Ближнього Бою (Подвоюється при 500 Енергії)`,
|
||||
upgrade_WarframeElectricDamage: `+|VAL1|% Урон Електрикою Основним Озброєнням (+|VAL2|% за кожен додатковий Уламок)`,
|
||||
upgrade_WarframeElectricDamageBoost: `+|VAL|% Шкода Здібностей по ворогам, ураженим Електрикою`,
|
||||
upgrade_WarframeEnergyMax: `+|VAL| Макс. Енергія`,
|
||||
upgrade_WarframeGlobeEffectEnergy: `+|VAL|% Ефективність згустків Енергії`,
|
||||
upgrade_WarframeGlobeEffectHealth: `+|VAL|% Ефективність згустків Здоров'я`,
|
||||
upgrade_WarframeHealthMax: `+|VAL| Макс. Здоров'я`,
|
||||
upgrade_WarframeHPBoostFromImpact: `+|VAL1| Здоров'я при вбивстві з Вибуховою шкодою (Макс. |VAL2| Здоров'я)`,
|
||||
upgrade_WarframeParkourVelocity: `+|VAL|% Швидкість Паркура`,
|
||||
upgrade_WarframeRadiationDamageBoost: `+|VAL|% Шкода Здібностей по ворогам, ураженим Радіацією`,
|
||||
upgrade_WarframeHealthRegen: `+|VAL| Здоров'я в секунду`,
|
||||
upgrade_WarframeShieldMax: `+|VAL| Щиту`,
|
||||
upgrade_WarframeStartingEnergy: `+|VAL|% Енергії при Спавні`,
|
||||
upgrade_WarframeToxinDamage: `+|VAL|% Шкода Токсином`,
|
||||
upgrade_WarframeToxinHeal: `+|VAL| Здоров'я при нанесенні шкоди ворогам з Токсином`,
|
||||
upgrade_WeaponCritBoostFromHeat: `+|VAL1|% Імовірність Критичної Шкоди Допоміжною Зброєю за кожного вбитого ворога, ураженого Термічною шкодою (Макс. |VAL2|%)`,
|
||||
upgrade_AvatarAbilityRange: `+7.5% Досяжність Здібностей`,
|
||||
upgrade_AvatarAbilityEfficiency: `+5% Ощадливість Здібностей`,
|
||||
upgrade_AvatarEnergyRegen: `+0.5 Відновлення Енергії в секунду`,
|
||||
upgrade_AvatarEnemyRadar: `+5m Виявлення ворогів`,
|
||||
upgrade_AvatarLootRadar: `+7m Виявлення здобичі`,
|
||||
upgrade_WeaponAmmoMax: `+15% Макс. Набоїв`,
|
||||
upgrade_EnemyArmorReductionAura: `-3% Захист Ворогів`,
|
||||
upgrade_OnExecutionAmmo: `+100% Заповнення Магазина Основного і Допоміжного Озброєння при вбивстві Милосердям`,
|
||||
upgrade_OnExecutionHealthDrop: `+100% Імовірність Падіння згустка Здоров'я при вбивстві Милосердям`,
|
||||
upgrade_OnExecutionEnergyDrop: `+50% Імовірність Падіння згустка Енергії при вбивстві Милосердям`,
|
||||
upgrade_OnFailHackReset: `+50% Імовірність Повтора Зламу`,
|
||||
upgrade_DamageReductionOnHack: `+75% Зменшення Шкоди під час Зламу`,
|
||||
upgrade_OnExecutionReviveCompanion: `Вбивства Милосердям зменшують час відновлення Компаньйона на 15 секунд`,
|
||||
upgrade_OnExecutionParkourSpeed: `+60% Швидкість Паркура після вбивства Милосердям на 15 секунд`,
|
||||
upgrade_AvatarTimeLimitIncrease: `+8 секунд до Зламу`,
|
||||
upgrade_ElectrifyOnHack: `Шокувати ворогів в межах 20 метрів під час Зламу`,
|
||||
upgrade_OnExecutionTerrify: `+50% Імовірність, що вороги в межах 15 метрів будуть тремтіти від страху протягом 8 секунд після вбивства Милосердям`,
|
||||
upgrade_OnHackLockers: `Відкрити 5 шафок в межах 20 метрів після Зламу`,
|
||||
upgrade_OnExecutionBlind: `Засліпити ворогів в межах 18 метрів після вбивства Милосердям`,
|
||||
upgrade_OnExecutionDrainPower: `Наступне застосування здібності отримує +50% Потужності Здібності після вбивства Милосердям`,
|
||||
upgrade_OnHackSprintSpeed: `+75% Швидкість Бігу протягом 15 секунд після Зламу`,
|
||||
upgrade_SwiftExecute: `+50% Швидкість Вбивства Милосердям`,
|
||||
upgrade_OnHackInvis: `Невидимість протягом 15 секунд після Зламу`,
|
||||
|
||||
damageType_Electricity: `Електричний`,
|
||||
damageType_Fire: `Термічний`,
|
||||
damageType_Fire: `Трммічний`,
|
||||
damageType_Freeze: `Крижаний`,
|
||||
damageType_Impact: `Ударний`,
|
||||
damageType_Magnetic: `Магнетичний`,
|
||||
|
@ -257,10 +257,6 @@ dict = {
|
||||
worldState_hallowedNightmaresRewards: `[UNTRANSLATED] Hallowed Nightmares Rewards`,
|
||||
worldState_proxyRebellion: `机械叛乱`,
|
||||
worldState_proxyRebellionRewards: `[UNTRANSLATED] Proxy Rebellion Rewards`,
|
||||
worldState_bellyOfTheBeast: `兽之腹`,
|
||||
worldState_bellyOfTheBeastProgressOverride: `[UNTRANSLATED] Belly of the Beast Progress`,
|
||||
worldState_eightClaw: `八爪`,
|
||||
worldState_eightClawProgressOverride: `[UNTRANSLATED] Eight Claw Progress`,
|
||||
worldState_from_year: `[UNTRANSLATED] from |YEAR|`,
|
||||
worldState_pre_year: `[UNTRANSLATED] pre |YEAR|`,
|
||||
worldState_incompatibleWith: `[UNTRANSLATED] Incompatible with:`,
|
||||
@ -307,8 +303,7 @@ dict = {
|
||||
worldState_varziaFullyStocked: `瓦奇娅开启全部库存商品`,
|
||||
worldState_varziaOverride: `瓦奇娅(Prime重生)轮换状态`,
|
||||
|
||||
import_importNote: `[UNTRANSLATED] You can provide a full or partial <code>inventory.php</code> or <code>getShip.php</code> response (client representation) here.`,
|
||||
import_importNote2: `支持的所有字段<b>将被覆盖</b>到您的账户中。`,
|
||||
import_importNote: `您可以在此处提供完整或部分库存响应(客户端表示)。支持的所有字段<b>将被覆盖</b>到您的账户中。`,
|
||||
import_submit: `提交`,
|
||||
import_samples: `示例:`,
|
||||
import_samples_maxFocus: `所有专精学派完全精通`,
|
||||
|
Loading…
x
Reference in New Issue
Block a user