XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

SpaceNinjaServer

A simple server for a small space ninja game

公开
关注 0 Fork 1 Star 0
返回提交历史

XFEstudio/SpaceNinjaServer

fix(webui): properly handle unique level caps (#837)

1ba33785
Sainan <sainan@calamity.inc>
提交于

代码差异

2 个文件 +15 -8
Modified src/controllers/custom/getItemListsController.ts +2 -0
@@ -4,6 +4,7 @@ import {
4 4 ExportArcanes,
5 5 ExportAvionics,
6 6 ExportGear,
7 ExportMisc,
7 8 ExportRecipes,
8 9 ExportResources,
9 10 ExportSentinels,
@@ -163,6 +164,7 @@ const getItemListsController: RequestHandler = (req, response) => {
163 164 response.json({
164 165 badItems,
165 166 archonCrystalUpgrades,
167 uniqueLevelCaps: ExportMisc.uniqueLevelCaps,
166 168 ...res
167 169 });
168 170 };
Modified static/webui/script.js +13 -8
@@ -126,6 +126,7 @@ function setLanguage(lang) {
126 126 updateInventory();
127 127 }
128 128
129 let uniqueLevelCaps = {};
129 130 function fetchItemList() {
130 131 window.itemListPromise = new Promise(resolve => {
131 132 const req = $.get("/custom/getItemLists?lang=" + window.lang);
@@ -167,6 +168,8 @@ function fetchItemList() {
167 168 option.value = name;
168 169 document.getElementById("datalist-" + type).appendChild(option);
169 170 });
171 } else if (type == "uniqueLevelCaps") {
172 uniqueLevelCaps = items;
170 173 } else if (type != "badItems") {
171 174 items.forEach(item => {
172 175 if (item.uniqueName in data.badItems) {
@@ -235,14 +238,16 @@ function updateInventory() {
235 238 {
236 239 const td = document.createElement("td");
237 240 td.classList = "text-end text-nowrap";
238 const maxXP =
239 category == "Suits" ||
240 category == "SpaceSuits" ||
241 category == "Sentinels" ||
242 category == "Hoverboards" ||
243 category == "MechSuits"
244 ? 1_600_000
245 : 800_000;
241 let maxXP = Math.pow(uniqueLevelCaps[item.ItemType] ?? 30, 2) * 1000;
242 if (
243 category != "Suits" &&
244 category != "SpaceSuits" &&
245 category != "Sentinels" &&
246 category != "Hoverboards" &&
247 category != "MechSuits"
248 ) {
249 maxXP /= 2;
250 }
246 251
247 252 if (
248 253 item.XP < maxXP &&