返回提交历史
Modified
src/controllers/api/loginController.ts
+3
-3
Modified
src/controllers/api/loginRewardsController.ts
+8
-6
Modified
src/controllers/api/versionController.ts
+1
-1
Modified
src/controllers/arbiter/hubController.ts
+1
-1
Modified
src/controllers/custom/getItemListsController.ts
+18
-17
Modified
src/controllers/dynamic/worldStateController.ts
+1
-1
Modified
src/helpers/stringHelpers.ts
+14
-14
Modified
src/services/arbiterService.ts
+1
-1
Modified
src/services/configService.ts
+1
-1
Modified
src/services/itemDataService.ts
+1
-1
Modified
src/services/tunablesService.ts
+3
-3
Modified
static/webui/script.js
+96
-92
XFEstudio/XFESpaceNinjaServer
chore: replace instances of .split(a).join(b) with .replaceAll(a, b) (#3969)
`replaceAll` was added to JavaScript in 2020. Better late than never, I suppose. Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/3969 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2da9421b
代码差异
12 个文件
+148
-141
@@ -61,7 +61,7 @@ export const loginController: RequestHandler = async (request, response) => {
61
61
62
62
const buildLabel: string =
63
63
typeof request.query.buildLabel == "string"
64
? request.query.buildLabel.split(" ").join("+")
64
? request.query.buildLabel.replaceAll(" ", "+")
65
65
: buildConfig.buildLabel;
66
66
67
67
if (version_compare(buildLabel, gameToBuildVersion["42.0.0"]) >= 0) {
@@ -193,14 +193,14 @@ const createLoginResponse = (request: Request, account: IDatabaseAccountJson, bu
193
193
}
194
194
}
195
195
if (version_compare(buildLabel, gameToBuildVersion["15.14.1"]) >= 0) {
196
resp.NRS = (config.nrsAddresses ?? []).map(x => x.split("%THIS_MACHINE%").join(myAddress));
196
resp.NRS = (config.nrsAddresses ?? []).map(x => x.replaceAll("%THIS_MACHINE%", myAddress));
197
197
// U16 ~ U28 are known to show an "Internal error." popup with an empty array.
198
198
if (resp.NRS.length == 0 && version_compare(buildLabel, gameToBuildVersion["29.0.0"]) < 0) {
199
199
resp.NRS.push(myAddress);
200
200
}
201
201
}
202
202
if (version_compare(buildLabel, gameToBuildVersion["16.5.5"]) >= 0) {
203
resp.IRC = [(config.ircAddress || "%THIS_MACHINE%").split("%THIS_MACHINE%").join(myAddress)];
203
resp.IRC = [(config.ircAddress || "%THIS_MACHINE%").replaceAll("%THIS_MACHINE%", myAddress)];
204
204
}
205
205
if (version_compare(buildLabel, gameToBuildVersion["24.0.0"]) >= 0) {
206
206
resp.ConsentNeeded = false;
@@ -61,13 +61,15 @@ export const loginRewardsController: RequestHandler = async (req, res) => {
61
61
if (reward.Icon == "/Lotus/Interface/Icons/StoreIcons/Currency/CreditsLarge.png") {
62
62
reward.Icon = "/Lotus/Interface/Icons/Store/CreditBooster.png";
63
63
} else if (reward.RewardType == "RT_RESOURCE") {
64
reward.Icon = ExportResources[reward.ItemType].icon
65
.split("/Lotus/Interface/Icons/StoreIcons/Resources/CraftingComponents/")
66
.join("/Lotus/Interface/Icons/Store/");
64
reward.Icon = ExportResources[reward.ItemType].icon.replaceAll(
65
"/Lotus/Interface/Icons/StoreIcons/Resources/CraftingComponents/",
66
"/Lotus/Interface/Icons/Store/"
67
);
67
68
} else if (reward.RewardType == "RT_BOOSTER") {
68
reward.Icon = ExportBoosters[reward.StoreItemType].icon
69
.split("/Lotus/Interface/Icons/StoreIcons/Boosters/")
70
.join("/Lotus/Interface/Icons/Store/");
69
reward.Icon = ExportBoosters[reward.StoreItemType].icon.replaceAll(
70
"/Lotus/Interface/Icons/StoreIcons/Boosters/",
71
"/Lotus/Interface/Icons/Store/"
72
);
71
73
}
72
74
}
73
75
res.json({ Rewards: response.DailyTributeInfo.Rewards });
@@ -4,7 +4,7 @@ import { buildConfig } from "../../services/buildConfigService.ts";
4
4
export const versionController: RequestHandler = (request, res) => {
5
5
const buildLabel: string =
6
6
typeof request.query.buildLabel == "string"
7
? request.query.buildLabel.split(" ").join("+")
7
? request.query.buildLabel.replaceAll(" ", "+")
8
8
: buildConfig.buildLabel;
9
9
10
10
res.send(buildLabel);
@@ -21,7 +21,7 @@ export const hubController: RequestHandler = (req, res) => {
21
21
};
22
22
}
23
23
const needToUseUdpProxy = (config.dtls ?? 0) & 1 && hubServer.dtlsUnsupported;
24
const addr = hubServer.address.split("%THIS_MACHINE%").join(getReflexiveAddress(req).myAddress);
24
const addr = hubServer.address.replaceAll("%THIS_MACHINE%", getReflexiveAddress(req).myAddress);
25
25
26
26
if (`${level}_${instanceId}` == req.query.level) {
27
27
res.json(`${needToUseUdpProxy ? "udp_proxy_upstream" : "hub"} ${addr}`);
@@ -243,28 +243,31 @@ const getItemListsController: RequestHandler = (req, response) => {
243
243
}
244
244
let name = getNormalizedString(item.name, lang);
245
245
if ("dissectionParts" in item) {
246
name = getString("/Lotus/Language/Fish/FishDisplayName", lang).split("|FISH_NAME|").join(name);
246
name = getString("/Lotus/Language/Fish/FishDisplayName", lang).replaceAll("|FISH_NAME|", name);
247
247
if (item.syndicateTag == "CetusSyndicate") {
248
248
if (uniqueName.indexOf("Large") != -1) {
249
name = name.split("|FISH_SIZE|").join(getString("/Lotus/Language/Fish/FishSizeLargeAbbrev", lang));
249
name = name.replaceAll("|FISH_SIZE|", getString("/Lotus/Language/Fish/FishSizeLargeAbbrev", lang));
250
250
} else if (uniqueName.indexOf("Medium") != -1) {
251
name = name.split("|FISH_SIZE|").join(getString("/Lotus/Language/Fish/FishSizeMediumAbbrev", lang));
251
name = name.replaceAll("|FISH_SIZE|", getString("/Lotus/Language/Fish/FishSizeMediumAbbrev", lang));
252
252
} else {
253
name = name.split("|FISH_SIZE|").join(getString("/Lotus/Language/Fish/FishSizeSmallAbbrev", lang));
253
name = name.replaceAll("|FISH_SIZE|", getString("/Lotus/Language/Fish/FishSizeSmallAbbrev", lang));
254
254
}
255
255
} else {
256
256
if (uniqueName.indexOf("Large") != -1) {
257
name = name
258
.split("|FISH_SIZE|")
259
.join(getString("/Lotus/Language/SolarisVenus/RobofishAgeCategoryElderAbbrev", lang));
257
name = name.replaceAll(
258
"|FISH_SIZE|",
259
getString("/Lotus/Language/SolarisVenus/RobofishAgeCategoryElderAbbrev", lang)
260
);
260
261
} else if (uniqueName.indexOf("Medium") != -1) {
261
name = name
262
.split("|FISH_SIZE|")
263
.join(getString("/Lotus/Language/SolarisVenus/RobofishAgeCategoryMatureAbbrev", lang));
262
name = name.replaceAll(
263
"|FISH_SIZE|",
264
getString("/Lotus/Language/SolarisVenus/RobofishAgeCategoryMatureAbbrev", lang)
265
);
264
266
} else {
265
name = name
266
.split("|FISH_SIZE|")
267
.join(getString("/Lotus/Language/SolarisVenus/RobofishAgeCategoryYoungAbbrev", lang));
267
name = name.replaceAll(
268
"|FISH_SIZE|",
269
getString("/Lotus/Language/SolarisVenus/RobofishAgeCategoryYoungAbbrev", lang)
270
);
268
271
}
269
272
}
270
273
}
@@ -298,10 +301,8 @@ const getItemListsController: RequestHandler = (req, response) => {
298
301
uniqueName: uniqueName,
299
302
name:
300
303
getString("/Lotus/Language/Relics/VoidProjectionName", lang)
301
.split("|ERA|")
302
.join(getString(`/Lotus/Language/Relics/Era_${item.era.toUpperCase()}`, lang))
303
.split("|CATEGORY|")
304
.join(item.category) + qualitySuffix
304
.replaceAll("|ERA|", getString(`/Lotus/Language/Relics/Era_${item.era.toUpperCase()}`, lang))
305
.replaceAll("|CATEGORY|", item.category) + qualitySuffix
305
306
});
306
307
}
307
308
for (const [uniqueName, item] of Object.entries(ExportGear)) {
@@ -10,7 +10,7 @@ import { getAccountForRequest } from "../../services/loginService.ts";
10
10
export const worldStateController: RequestHandler = async (req, res) => {
11
11
let buildLabel = req.query.buildLabel as string | undefined;
12
12
if (buildLabel) {
13
buildLabel = buildLabel.split(" ").join("+");
13
buildLabel = buildLabel.replaceAll(" ", "+");
14
14
} else if (req.query.accountId) {
15
15
const account = await getAccountForRequest(req);
16
16
buildLabel = account.BuildLabel;
@@ -38,20 +38,20 @@ export const catBreadHash = (name: string): number => {
38
38
};
39
39
40
40
export const regexEscape = (str: string): string => {
41
str = str.split(".").join("\\.");
42
str = str.split("\\").join("\\\\");
43
str = str.split("[").join("\\[");
44
str = str.split("]").join("\\]");
45
str = str.split("+").join("\\+");
46
str = str.split("*").join("\\*");
47
str = str.split("$").join("\\$");
48
str = str.split("^").join("\\^");
49
str = str.split("?").join("\\?");
50
str = str.split("|").join("\\|");
51
str = str.split("(").join("\\(");
52
str = str.split(")").join("\\)");
53
str = str.split("{").join("\\{");
54
str = str.split("}").join("\\}");
41
str = str.replaceAll(".", "\\.");
42
str = str.replaceAll("\\", "\\\\");
43
str = str.replaceAll("[", "\\[");
44
str = str.replaceAll("]", "\\]");
45
str = str.replaceAll("+", "\\+");
46
str = str.replaceAll("*", "\\*");
47
str = str.replaceAll("$", "\\$");
48
str = str.replaceAll("^", "\\^");
49
str = str.replaceAll("?", "\\?");
50
str = str.replaceAll("|", "\\|");
51
str = str.replaceAll("(", "\\(");
52
str = str.replaceAll(")", "\\)");
53
str = str.replaceAll("{", "\\{");
54
str = str.replaceAll("}", "\\}");
55
55
return str;
56
56
};
57
57
@@ -44,7 +44,7 @@ export const broadcastControlMessages = (level: string, msgs: string[]): void =>
44
44
if (instance) {
45
45
instance.Players += 1; // to account for the hubDropped that we will cause here
46
46
47
const [host, port] = instance.Hub.split("%THIS_MACHINE%").join("127.0.0.1").split(":");
47
const [host, port] = instance.Hub.replaceAll("%THIS_MACHINE%", "127.0.0.1").split(":");
48
48
const socket = dgram.createSocket("udp4");
49
49
50
50
socket.send(
@@ -282,7 +282,7 @@ export const getWebServerParams = (): IWebServerParams => {
282
282
283
283
export const getNrsAddresses = (): [string, number][] => {
284
284
return (config.nrsAddresses ?? []).map(nrsAddr => {
285
nrsAddr = nrsAddr.split("%THIS_MACHINE%").join("127.0.0.1");
285
nrsAddr = nrsAddr.replaceAll("%THIS_MACHINE%", "127.0.0.1");
286
286
let nrsPort = 4950;
287
287
const colon = nrsAddr.indexOf(":");
288
288
if (colon != -1) {
@@ -1461,7 +1461,7 @@ export const getString = (key: string, dict: Record<string, string>): string =>
1461
1461
};
1462
1462
1463
1463
export const getNormalizedString = (key: string, dict: Record<string, string>): string => {
1464
return getString(key, dict).split("‘").join("'").split("’").join("'").split("\r\n").join(" ");
1464
return getString(key, dict).replaceAll("‘", "'").replaceAll("’", "'").replaceAll("\r\n", " ");
1465
1465
};
1466
1466
1467
1467
export const getKeyChainItems = (
@@ -20,10 +20,10 @@ export const getTokenForClient = (clientAddress: string): string => {
20
20
export const getTunablesForClient = (clientAddress: string, reflexiveAddress: string): ITunables => {
21
21
const tunables: ITunables = {
22
22
// To successfully update the NRS address for pre-U15.14 clients, this needs to be set before login.
23
nrs: ((config.nrsAddresses ?? [])[0] || "%THIS_MACHINE%").split("%THIS_MACHINE%").join(reflexiveAddress),
23
nrs: ((config.nrsAddresses ?? [])[0] || "%THIS_MACHINE%").replaceAll("%THIS_MACHINE%", reflexiveAddress),
24
24
25
25
// if (version_compare(buildLabel, gameToBuildVersion["16.5.5"]) < 0) {
26
irc: (config.ircAddress || "%THIS_MACHINE%").split("%THIS_MACHINE%").join(reflexiveAddress)
26
irc: (config.ircAddress || "%THIS_MACHINE%").replaceAll("%THIS_MACHINE%", reflexiveAddress)
27
27
};
28
28
if (config.tunables?.useLoginToken) {
29
29
tunables.token = getTokenForClient(clientAddress);
@@ -50,7 +50,7 @@ export const getTunablesForClient = (clientAddress: string, reflexiveAddress: st
50
50
tunables.motd = config.tunables.motd;
51
51
}
52
52
if (config.tunables?.udpProxyUpstream) {
53
tunables.udp_proxy_upstream = config.tunables.udpProxyUpstream.split("%THIS_MACHINE%").join(reflexiveAddress);
53
tunables.udp_proxy_upstream = config.tunables.udpProxyUpstream.replaceAll("%THIS_MACHINE%", reflexiveAddress);
54
54
}
55
55
return tunables;
56
56
};
@@ -432,10 +432,8 @@ single.on("route_load", function (event) {
432
432
433
433
function loc(tag) {
434
434
return ((window.dict ?? {})[tag] ?? tag)
435
.split("|DISPLAYNAME|")
436
.join(document.querySelector(".displayname").textContent)
437
.split("|EMAIL|")
438
.join(localStorage.getItem("email"));
435
.replaceAll("|DISPLAYNAME|", document.querySelector(".displayname").textContent)
436
.replaceAll("|EMAIL|", localStorage.getItem("email"));
439
437
}
440
438
441
439
function updateLocElements() {
@@ -610,60 +608,60 @@ function fetchItemList() {
610
608
611
609
// prettier-ignore
612
610
data.archonCrystalUpgrades = {
613
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeEquilibrium": loc("upgrade_Equilibrium").split("|VAL|").join("20"),
614
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeEquilibriumMythic": loc("upgrade_Equilibrium").split("|VAL|").join("30"),
615
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeMeleeCritDamage": loc("upgrade_MeleeCritDamage").split("|VAL|").join("25"),
616
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeMeleeCritDamageMythic": loc("upgrade_MeleeCritDamage").split("|VAL|").join("37.5"),
617
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradePrimaryStatusChance": loc("upgrade_PrimaryStatusChance").split("|VAL|").join("25"),
618
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradePrimaryStatusChanceMythic": loc("upgrade_PrimaryStatusChance").split("|VAL|").join("37.5"),
619
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeSecondaryCritChance": loc("upgrade_SecondaryCritChance").split("|VAL|").join("25"),
620
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeSecondaryCritChanceMythic": loc("upgrade_SecondaryCritChance").split("|VAL|").join("37.5"),
621
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeAbilityDuration": loc("upgrade_WarframeAbilityDuration").split("|VAL|").join("10"),
622
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeAbilityDurationMythic": loc("upgrade_WarframeAbilityDuration").split("|VAL|").join("15"),
623
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeAbilityStrength": loc("upgrade_WarframeAbilityStrength").split("|VAL|").join("10"),
624
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeAbilityStrengthMythic": loc("upgrade_WarframeAbilityStrength").split("|VAL|").join("15"),
625
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeArmourMax": loc("upgrade_WarframeArmorMax").split("|VAL|").join("150"),
626
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeArmourMaxMythic": loc("upgrade_WarframeArmorMax").split("|VAL|").join("225"),
627
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeBlastProc": loc("upgrade_WarframeBlastProc").split("|VAL|").join("5"),
628
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeBlastProcMythic": loc("upgrade_WarframeBlastProc").split("|VAL|").join("7.5"),
629
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeCastingSpeed": loc("upgrade_WarframeCastingSpeed").split("|VAL|").join("25"),
630
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeCastingSpeedMythic": loc("upgrade_WarframeCastingSpeed").split("|VAL|").join("37.5"),
631
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeCorrosiveDamageBoost": loc("upgrade_WarframeCorrosiveDamageBoost").split("|VAL|").join("10"),
632
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeCorrosiveDamageBoostMythic": loc("upgrade_WarframeCorrosiveDamageBoost").split("|VAL|").join("15"),
633
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeCorrosiveStack": loc("upgrade_WarframeCorrosiveStack").split("|VAL|").join("2"),
634
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeCorrosiveStackMythic": loc("upgrade_WarframeCorrosiveStack").split("|VAL|").join("3"),
635
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeCritDamageBoost": loc("upgrade_WarframeCritDamageBoost").split("|VAL|").join("25"),
636
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeCritDamageBoostMythic": loc("upgrade_WarframeCritDamageBoost").split("|VAL|").join("37"),
637
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeElectricDamage": loc("upgrade_WarframeElectricDamage").split("|VAL1|").join("30").split("|VAL2|").join("10"),
638
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeElectricDamageMythic": loc("upgrade_WarframeElectricDamage").split("|VAL1|").join("45").split("|VAL2|").join("15"),
639
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeElectricDamageBoost": loc("upgrade_WarframeElectricDamageBoost").split("|VAL|").join("10"),
640
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeElectricDamageBoostMythic": loc("upgrade_WarframeElectricDamageBoost").split("|VAL|").join("15"),
641
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeEnergyMax": loc("upgrade_WarframeEnergyMax").split("|VAL|").join("50"),
642
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeEnergyMaxMythic": loc("upgrade_WarframeEnergyMax").split("|VAL|").join("75"),
643
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeGlobeEffectEnergy": loc("upgrade_WarframeGlobeEffectEnergy").split("|VAL|").join("50"),
644
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeGlobeEffectEnergyMythic": loc("upgrade_WarframeGlobeEffectEnergy").split("|VAL|").join("75"),
645
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeGlobeEffectHealth": loc("upgrade_WarframeGlobeEffectHealth").split("|VAL|").join("100"),
646
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeGlobeEffectHealthMythic": loc("upgrade_WarframeGlobeEffectHealth").split("|VAL|").join("150"),
647
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeHealthMax": loc("upgrade_WarframeHealthMax").split("|VAL|").join("150"),
648
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeHealthMaxMythic": loc("upgrade_WarframeHealthMax").split("|VAL|").join("225"),
649
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeHPBoostFromImpact": loc("upgrade_WarframeHPBoostFromImpact").split("|VAL1|").join("1").split("|VAL2|").join("300"),
650
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeHPBoostFromImpactMythic": loc("upgrade_WarframeHPBoostFromImpact").split("|VAL1|").join("2").split("|VAL2|").join("450"),
651
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeParkourVelocity": loc("upgrade_WarframeParkourVelocity").split("|VAL|").join("15"),
652
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeParkourVelocityMythic": loc("upgrade_WarframeParkourVelocity").split("|VAL|").join("22.5"),
653
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeRadiationDamageBoost": loc("upgrade_WarframeRadiationDamageBoost").split("|VAL|").join("10"),
654
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeRadiationDamageBoostMythic": loc("upgrade_WarframeRadiationDamageBoost").split("|VAL|").join("15"),
655
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeRegen": loc("upgrade_WarframeHealthRegen").split("|VAL|").join("5"),
656
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeRegenMythic": loc("upgrade_WarframeHealthRegen").split("|VAL|").join("7.5"),
657
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeShieldMax": loc("upgrade_WarframeShieldMax").split("|VAL|").join("150"),
658
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeShieldMaxMythic": loc("upgrade_WarframeShieldMax").split("|VAL|").join("225"),
659
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeStartingEnergy": loc("upgrade_WarframeStartingEnergy").split("|VAL|").join("30"),
660
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeStartingEnergyMythic": loc("upgrade_WarframeStartingEnergy").split("|VAL|").join("45"),
661
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeToxinDamage": loc("upgrade_WarframeToxinDamage").split("|VAL|").join("30"),
662
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeToxinDamageMythic": loc("upgrade_WarframeToxinDamage").split("|VAL|").join("45"),
663
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeToxinHeal": loc("upgrade_WarframeToxinHeal").split("|VAL|").join("2"),
664
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeToxinHealMythic": loc("upgrade_WarframeToxinHeal").split("|VAL|").join("3"),
665
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWeaponCritBoostFromHeat": loc("upgrade_WeaponCritBoostFromHeat").split("|VAL1|").join("1").split("|VAL2|").join("50"),
666
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWeaponCritBoostFromHeatMythic": loc("upgrade_WeaponCritBoostFromHeat").split("|VAL1|").join("1.5").split("|VAL2|").join("75"),
611
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeEquilibrium": loc("upgrade_Equilibrium").replaceAll("|VAL|", "20"),
612
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeEquilibriumMythic": loc("upgrade_Equilibrium").replaceAll("|VAL|", "30"),
613
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeMeleeCritDamage": loc("upgrade_MeleeCritDamage").replaceAll("|VAL|", "25"),
614
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeMeleeCritDamageMythic": loc("upgrade_MeleeCritDamage").replaceAll("|VAL|", "37.5"),
615
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradePrimaryStatusChance": loc("upgrade_PrimaryStatusChance").replaceAll("|VAL|", "25"),
616
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradePrimaryStatusChanceMythic": loc("upgrade_PrimaryStatusChance").replaceAll("|VAL|", "37.5"),
617
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeSecondaryCritChance": loc("upgrade_SecondaryCritChance").replaceAll("|VAL|", "25"),
618
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeSecondaryCritChanceMythic": loc("upgrade_SecondaryCritChance").replaceAll("|VAL|", "37.5"),
619
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeAbilityDuration": loc("upgrade_WarframeAbilityDuration").replaceAll("|VAL|", "10"),
620
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeAbilityDurationMythic": loc("upgrade_WarframeAbilityDuration").replaceAll("|VAL|", "15"),
621
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeAbilityStrength": loc("upgrade_WarframeAbilityStrength").replaceAll("|VAL|", "10"),
622
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeAbilityStrengthMythic": loc("upgrade_WarframeAbilityStrength").replaceAll("|VAL|", "15"),
623
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeArmourMax": loc("upgrade_WarframeArmorMax").replaceAll("|VAL|", "150"),
624
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeArmourMaxMythic": loc("upgrade_WarframeArmorMax").replaceAll("|VAL|", "225"),
625
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeBlastProc": loc("upgrade_WarframeBlastProc").replaceAll("|VAL|", "5"),
626
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeBlastProcMythic": loc("upgrade_WarframeBlastProc").replaceAll("|VAL|", "7.5"),
627
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeCastingSpeed": loc("upgrade_WarframeCastingSpeed").replaceAll("|VAL|", "25"),
628
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeCastingSpeedMythic": loc("upgrade_WarframeCastingSpeed").replaceAll("|VAL|", "37.5"),
629
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeCorrosiveDamageBoost": loc("upgrade_WarframeCorrosiveDamageBoost").replaceAll("|VAL|", "10"),
630
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeCorrosiveDamageBoostMythic": loc("upgrade_WarframeCorrosiveDamageBoost").replaceAll("|VAL|", "15"),
631
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeCorrosiveStack": loc("upgrade_WarframeCorrosiveStack").replaceAll("|VAL|", "2"),
632
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeCorrosiveStackMythic": loc("upgrade_WarframeCorrosiveStack").replaceAll("|VAL|", "3"),
633
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeCritDamageBoost": loc("upgrade_WarframeCritDamageBoost").replaceAll("|VAL|", "25"),
634
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeCritDamageBoostMythic": loc("upgrade_WarframeCritDamageBoost").replaceAll("|VAL|", "37"),
635
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeElectricDamage": loc("upgrade_WarframeElectricDamage").replaceAll("|VAL1|", "30").replaceAll("|VAL2|", "10"),
636
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeElectricDamageMythic": loc("upgrade_WarframeElectricDamage").replaceAll("|VAL1|", "45").replaceAll("|VAL2|", "15"),
637
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeElectricDamageBoost": loc("upgrade_WarframeElectricDamageBoost").replaceAll("|VAL|", "10"),
638
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeElectricDamageBoostMythic": loc("upgrade_WarframeElectricDamageBoost").replaceAll("|VAL|", "15"),
639
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeEnergyMax": loc("upgrade_WarframeEnergyMax").replaceAll("|VAL|", "50"),
640
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeEnergyMaxMythic": loc("upgrade_WarframeEnergyMax").replaceAll("|VAL|", "75"),
641
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeGlobeEffectEnergy": loc("upgrade_WarframeGlobeEffectEnergy").replaceAll("|VAL|", "50"),
642
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeGlobeEffectEnergyMythic": loc("upgrade_WarframeGlobeEffectEnergy").replaceAll("|VAL|", "75"),
643
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeGlobeEffectHealth": loc("upgrade_WarframeGlobeEffectHealth").replaceAll("|VAL|", "100"),
644
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeGlobeEffectHealthMythic": loc("upgrade_WarframeGlobeEffectHealth").replaceAll("|VAL|", "150"),
645
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeHealthMax": loc("upgrade_WarframeHealthMax").replaceAll("|VAL|", "150"),
646
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeHealthMaxMythic": loc("upgrade_WarframeHealthMax").replaceAll("|VAL|", "225"),
647
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeHPBoostFromImpact": loc("upgrade_WarframeHPBoostFromImpact").replaceAll("|VAL1|", "1").replaceAll("|VAL2|", "300"),
648
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeHPBoostFromImpactMythic": loc("upgrade_WarframeHPBoostFromImpact").replaceAll("|VAL1|", "2").replaceAll("|VAL2|", "450"),
649
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeParkourVelocity": loc("upgrade_WarframeParkourVelocity").replaceAll("|VAL|", "15"),
650
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeParkourVelocityMythic": loc("upgrade_WarframeParkourVelocity").replaceAll("|VAL|", "22.5"),
651
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeRadiationDamageBoost": loc("upgrade_WarframeRadiationDamageBoost").replaceAll("|VAL|", "10"),
652
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeRadiationDamageBoostMythic": loc("upgrade_WarframeRadiationDamageBoost").replaceAll("|VAL|", "15"),
653
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeRegen": loc("upgrade_WarframeHealthRegen").replaceAll("|VAL|", "5"),
654
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeRegenMythic": loc("upgrade_WarframeHealthRegen").replaceAll("|VAL|", "7.5"),
655
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeShieldMax": loc("upgrade_WarframeShieldMax").replaceAll("|VAL|", "150"),
656
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeShieldMaxMythic": loc("upgrade_WarframeShieldMax").replaceAll("|VAL|", "225"),
657
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeStartingEnergy": loc("upgrade_WarframeStartingEnergy").replaceAll("|VAL|", "30"),
658
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeStartingEnergyMythic": loc("upgrade_WarframeStartingEnergy").replaceAll("|VAL|", "45"),
659
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeToxinDamage": loc("upgrade_WarframeToxinDamage").replaceAll("|VAL|", "30"),
660
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeToxinDamageMythic": loc("upgrade_WarframeToxinDamage").replaceAll("|VAL|", "45"),
661
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeToxinHeal": loc("upgrade_WarframeToxinHeal").replaceAll("|VAL|", "2"),
662
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWarframeToxinHealMythic": loc("upgrade_WarframeToxinHeal").replaceAll("|VAL|", "3"),
663
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWeaponCritBoostFromHeat": loc("upgrade_WeaponCritBoostFromHeat").replaceAll("|VAL1|", "1").replaceAll("|VAL2|", "50"),
664
"/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeWeaponCritBoostFromHeatMythic": loc("upgrade_WeaponCritBoostFromHeat").replaceAll("|VAL1|", "1.5").replaceAll("|VAL2|", "75"),
667
665
"/Lotus/Upgrades/Mods/Warframe/AvatarAbilityRangeMod": loc("upgrade_AvatarAbilityRange"),
668
666
"/Lotus/Upgrades/Mods/Warframe/AvatarAbilityEfficiencyMod": loc("upgrade_AvatarAbilityEfficiency"),
669
667
"/Lotus/Upgrades/Mods/Warframe/AvatarEnergyRegenMod": loc("upgrade_AvatarEnergyRegen"),
@@ -1067,7 +1065,7 @@ function fetchItemList() {
1067
1065
}
1068
1066
}
1069
1067
} else if (item.uniqueName.includes("ColourPicker")) {
1070
item.name = loc("code_itemColorPalette").split("|ITEM|").join(item.name);
1068
item.name = loc("code_itemColorPalette").replaceAll("|ITEM|", item.name);
1071
1069
}
1072
1070
if (!item.alwaysAvailable) {
1073
1071
const option = document.createElement("option");
@@ -1082,9 +1080,10 @@ function fetchItemList() {
1082
1080
items.forEach(item => {
1083
1081
if (item.name == "") {
1084
1082
if (item.uniqueName.includes("/Beards/")) {
1085
item.name = loc("code_drifterBeardName")
1086
.split("|INDEX|")
1087
.join(beardNumber.toString().padStart(3, "0"));
1083
item.name = loc("code_drifterBeardName").replaceAll(
1084
"|INDEX|",
1085
beardNumber.toString().padStart(3, "0")
1086
);
1088
1087
beardNumber++;
1089
1088
} else {
1090
1089
item.name = item.uniqueName;
@@ -1143,7 +1142,7 @@ function fetchItemList() {
1143
1142
}
1144
1143
if ("badReason" in item) {
1145
1144
if (item.badReason == "starter") {
1146
item.name = loc("code_starter").split("|MOD|").join(item.name);
1145
item.name = loc("code_starter").replaceAll("|MOD|", item.name);
1147
1146
} else if (item.badReason != "notraw") {
1148
1147
item.name += " " + loc("code_badItem");
1149
1148
}
@@ -1300,9 +1299,10 @@ async function populateInventoryRoute() {
1300
1299
document.getElementById("miscItems-tab-content").classList.add("active", "show");
1301
1300
1302
1301
["RegularCredits", "PremiumCredits", "FusionPoints", "PrimeTokens"].forEach(currency => {
1303
document.getElementById(currency + "-owned").textContent = loc("currency_owned")
1304
.split("|COUNT|")
1305
.join(data[currency].toLocaleString());
1302
document.getElementById(currency + "-owned").textContent = loc("currency_owned").replaceAll(
1303
"|COUNT|",
1304
data[currency].toLocaleString()
1305
);
1306
1306
});
1307
1307
1308
1308
[
@@ -2265,7 +2265,7 @@ function kickFromAlliance(guildId) {
2265
2265
function getKey(input) {
2266
2266
return document
2267
2267
.getElementById(input.getAttribute("list"))
2268
.querySelector("[value='" + input.value.split("'").join("\\'") + "']")
2268
.querySelector("[value='" + input.value.replaceAll("'", "\\'") + "']")
2269
2269
?.getAttribute("data-key");
2270
2270
}
2271
2271
@@ -2503,7 +2503,7 @@ function addMissingEquipment(categories) {
2503
2503
}
2504
2504
});
2505
2505
});
2506
if (requests.length != 0 && window.confirm(loc("code_addItemsConfirm").split("|COUNT|").join(requests.length))) {
2506
if (requests.length != 0 && window.confirm(loc("code_addItemsConfirm").replaceAll("|COUNT|", requests.length))) {
2507
2507
return dispatchAddItemsRequestsBatch(requests);
2508
2508
}
2509
2509
}
@@ -2527,7 +2527,7 @@ function addMissingDangerRooms() {
2527
2527
});
2528
2528
if (requests.length == 0) {
2529
2529
toast(loc("code_nothingToDo"));
2530
} else if (window.confirm(loc("code_addItemsConfirm").split("|COUNT|").join(requests.length))) {
2530
} else if (window.confirm(loc("code_addItemsConfirm").replaceAll("|COUNT|", requests.length))) {
2531
2531
return dispatchAddItemsRequestsBatch(requests);
2532
2532
}
2533
2533
});
@@ -2694,7 +2694,7 @@ function addMissingVaultItems(vaultType) {
2694
2694
2695
2695
if (
2696
2696
requests.length != 0 &&
2697
window.confirm(loc("code_addVaultItemsConfirm").split("|COUNT|").join(requests.length))
2697
window.confirm(loc("code_addVaultItemsConfirm").replaceAll("|COUNT|", requests.length))
2698
2698
) {
2699
2699
return dispatchAddVaultItemsBatch(requests, vaultType);
2700
2700
}
@@ -2727,7 +2727,7 @@ function addMissingTechProjects() {
2727
2727
2728
2728
if (
2729
2729
requests.length != 0 &&
2730
window.confirm(loc("code_addTechProjectsConfirm").split("|COUNT|").join(requests.length))
2730
window.confirm(loc("code_addTechProjectsConfirm").replaceAll("|COUNT|", requests.length))
2731
2731
) {
2732
2732
return dispatchAddTechProjectsBatch(requests);
2733
2733
}
@@ -2746,7 +2746,7 @@ function bulkRemoveVaultItems(vaultType) {
2746
2746
2747
2747
if (
2748
2748
requests.length != 0 &&
2749
window.confirm(loc("code_removeVaultItemsConfirm").split("|COUNT|").join(requests.length))
2749
window.confirm(loc("code_removeVaultItemsConfirm").replaceAll("|COUNT|", requests.length))
2750
2750
) {
2751
2751
return dispatchAddVaultItemsBatch(requests, vaultType);
2752
2752
}
@@ -2779,7 +2779,7 @@ function bulkRemoveTechProjects() {
2779
2779
2780
2780
if (
2781
2781
requests.length != 0 &&
2782
window.confirm(loc("code_removeTechProjectsConfirm").split("|COUNT|").join(requests.length))
2782
window.confirm(loc("code_removeTechProjectsConfirm").replaceAll("|COUNT|", requests.length))
2783
2783
) {
2784
2784
return dispatchRemoveTechProjectsBatch(requests);
2785
2785
}
@@ -2872,7 +2872,7 @@ function addMissingEvolutionProgress() {
2872
2872
});
2873
2873
if (requests.length == 0) {
2874
2874
toast(loc("code_nothingToDo"));
2875
} else if (window.confirm(loc("code_addItemsConfirm").split("|COUNT|").join(requests.length))) {
2875
} else if (window.confirm(loc("code_addItemsConfirm").replaceAll("|COUNT|", requests.length))) {
2876
2876
setEvolutionProgress(requests);
2877
2877
}
2878
2878
}
@@ -3533,7 +3533,7 @@ function doUnlockAllFocusSchools() {
3533
3533
if (Object.keys(missingFocusUpgrades).length == 0) {
3534
3534
toast(loc("code_focusAllUnlocked"));
3535
3535
} else {
3536
toast(loc("code_focusUnlocked").split("|COUNT|").join(Object.keys(missingFocusUpgrades).length));
3536
toast(loc("code_focusUnlocked").replaceAll("|COUNT|", Object.keys(missingFocusUpgrades).length));
3537
3537
if (ws_is_open) {
3538
3538
window.ws.send(JSON.stringify({ sync_inventory: true }));
3539
3539
}
@@ -3698,7 +3698,7 @@ function doAddAllMods() {
3698
3698
modsAll = Array.from(modsAll);
3699
3699
if (
3700
3700
modsAll.length != 0 &&
3701
window.confirm(loc("code_addModsConfirm").split("|COUNT|").join(modsAll.length))
3701
window.confirm(loc("code_addModsConfirm").replaceAll("|COUNT|", modsAll.length))
3702
3702
) {
3703
3703
$.post({
3704
3704
url: "/custom/addItems?" + window.authz,
@@ -4204,17 +4204,19 @@ single.getRoute("#guild-route").on("beforeload", function () {
4204
4204
$("#guild-route > .row").removeClass("d-none");
4205
4205
4206
4206
document.getElementById("guildView-title").textContent = guildData.Name;
4207
document.getElementById("guildView-tier").textContent = loc("guildView_tierDisplay")
4208
.split("|TIER|")
4209
.join(loc(`guildView_tier${guildData.Tier}`));
4210
document.getElementById("guildView-class").textContent = loc("guildView_classDisplay")
4211
.split("|CLASS|")
4212
.join(guildData.Class);
4207
document.getElementById("guildView-tier").textContent = loc("guildView_tierDisplay").replaceAll(
4208
"|TIER|",
4209
loc(`guildView_tier${guildData.Tier}`)
4210
);
4211
document.getElementById("guildView-class").textContent = loc("guildView_classDisplay").replaceAll(
4212
"|CLASS|",
4213
guildData.Class
4214
);
4213
4215
4214
4216
["VaultRegularCredits", "VaultPremiumCredits"].forEach(currency => {
4215
document.getElementById(currency + "-owned").textContent = loc("guildView_currency_owned")
4216
.split("|COUNT|")
4217
.join((guildData[currency] ?? 0).toLocaleString());
4217
document.getElementById(currency + "-owned").textContent = loc(
4218
"guildView_currency_owned"
4219
).replaceAll("|COUNT|", (guildData[currency] ?? 0).toLocaleString());
4218
4220
});
4219
4221
4220
4222
const userGuildMember = guildData.Members.find(m => m._id.$oid === window.accountId);
@@ -4582,14 +4584,16 @@ function doAddCurrency(currency) {
4582
4584
})
4583
4585
}).then(function (newValue) {
4584
4586
if (currency.startsWith("Vault")) {
4585
document.getElementById(currency + "-owned").textContent = loc("guildView_currency_owned")
4586
.split("|COUNT|")
4587
.join((newValue ?? 0).toLocaleString());
4587
document.getElementById(currency + "-owned").textContent = loc("guildView_currency_owned").replaceAll(
4588
"|COUNT|",
4589
(newValue ?? 0).toLocaleString()
4590
);
4588
4591
} else {
4589
4592
inventory_data[currency] = newValue;
4590
document.getElementById(currency + "-owned").textContent = loc("currency_owned")
4591
.split("|COUNT|")
4592
.join((newValue ?? 0).toLocaleString());
4593
document.getElementById(currency + "-owned").textContent = loc("currency_owned").replaceAll(
4594
"|COUNT|",
4595
(newValue ?? 0).toLocaleString()
4596
);
4593
4597
}
4594
4598
});
4595
4599
});
@@ -5639,7 +5643,7 @@ function handleAbilityOverride(event, configIndex) {
5639
5643
function removeItems(category) {
5640
5644
revalidateAuthz().then(() => {
5641
5645
const count = document.getElementById(category + "-list").getElementsByTagName("tr").length;
5642
let message = loc("code_bulkRemoveConfirm").split("|COUNT|").join(count);
5646
let message = loc("code_bulkRemoveConfirm").replaceAll("|COUNT|", count);
5643
5647
if (category === "Suits") message += "\n" + loc("code_bulkRemoveNote");
5644
5648
if (count != 0 && window.confirm(message)) {
5645
5649
$.get("/custom/removeItems?" + window.authz + "&category=" + category).done(function () {