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

XFESpaceNinjaServer

A simple server for a small space ninja game

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

XFEstudio/XFESpaceNinjaServer

fix(webui): error on unrevealed riven mod (#773)

5cbececb
Sainan <sainan@calamity.inc>
提交于

代码差异

1 个文件 +78 -75
Modified static/webui/script.js +78 -75
@@ -327,90 +327,93 @@ function updateInventory() {
327 327 if (item.ItemType.substr(0, 32) == "/Lotus/Upgrades/Mods/Randomized/") {
328 328 const rivenType = item.ItemType.substr(32);
329 329 const fingerprint = JSON.parse(item.UpgradeFingerprint);
330
331 const tr = document.createElement("tr");
332 {
333 const td = document.createElement("td");
334 td.textContent = itemMap[fingerprint.compat]?.name ?? fingerprint.compat;
335 td.textContent += " " + RivenParser.parseRiven(rivenType, fingerprint, 1).name;
336 td.innerHTML += " <span title='Number of buffs'>▲ " + fingerprint.buffs.length + "</span>";
337 td.innerHTML += " <span title='Number of curses'>▼ " + fingerprint.curses.length + "</span>";
338 td.innerHTML +=
339 " <span title='Number of rerolls'>⟳ " + parseInt(fingerprint.rerolls) + "</span>";
340 tr.appendChild(td);
341 }
342 {
343 const td = document.createElement("td");
344 td.classList = "text-end";
330 if (fingerprint.buffs) {
331 // Riven has been revealed?
332 const tr = document.createElement("tr");
345 333 {
346 const a = document.createElement("a");
347 a.href =
348 "riven-tool/#" +
349 encodeURIComponent(
350 JSON.stringify({
351 rivenType: rivenType,
352 omegaAttenuation: 1,
353 fingerprint: fingerprint
354 })
355 );
356 a.target = "_blank";
357 a.title = "View Stats";
358 a.innerHTML = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M160 80c0-26.5 21.5-48 48-48h32c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H208c-26.5 0-48-21.5-48-48V80zM0 272c0-26.5 21.5-48 48-48H80c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V272zM368 96h32c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48z"/></svg>`;
359 td.appendChild(a);
334 const td = document.createElement("td");
335 td.textContent = itemMap[fingerprint.compat]?.name ?? fingerprint.compat;
336 td.textContent += " " + RivenParser.parseRiven(rivenType, fingerprint, 1).name;
337 td.innerHTML += " <span title='Number of buffs'>▲ " + fingerprint.buffs.length + "</span>";
338 td.innerHTML +=
339 " <span title='Number of curses'>▼ " + fingerprint.curses.length + "</span>";
340 td.innerHTML +=
341 " <span title='Number of rerolls'>⟳ " + parseInt(fingerprint.rerolls) + "</span>";
342 tr.appendChild(td);
360 343 }
361 344 {
362 const a = document.createElement("a");
363 a.href = "#";
364 a.onclick = function (event) {
365 event.preventDefault();
366 disposeOfGear("Upgrades", item.ItemId.$oid);
367 };
368 a.title = "Remove";
369 a.innerHTML = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M135.2 17.7L128 32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H320l-7.2-14.3C307.4 6.8 296.3 0 284.2 0H163.8c-12.1 0-23.2 6.8-28.6 17.7zM416 128H32L53.2 467c1.6 25.3 22.6 45 47.9 45H346.9c25.3 0 46.3-19.7 47.9-45L416 128z"/></svg>`;
370 td.appendChild(a);
345 const td = document.createElement("td");
346 td.classList = "text-end";
347 {
348 const a = document.createElement("a");
349 a.href =
350 "riven-tool/#" +
351 encodeURIComponent(
352 JSON.stringify({
353 rivenType: rivenType,
354 omegaAttenuation: 1,
355 fingerprint: fingerprint
356 })
357 );
358 a.target = "_blank";
359 a.title = "View Stats";
360 a.innerHTML = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M160 80c0-26.5 21.5-48 48-48h32c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H208c-26.5 0-48-21.5-48-48V80zM0 272c0-26.5 21.5-48 48-48H80c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V272zM368 96h32c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48z"/></svg>`;
361 td.appendChild(a);
362 }
363 {
364 const a = document.createElement("a");
365 a.href = "#";
366 a.onclick = function (event) {
367 event.preventDefault();
368 disposeOfGear("Upgrades", item.ItemId.$oid);
369 };
370 a.title = "Remove";
371 a.innerHTML = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M135.2 17.7L128 32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H320l-7.2-14.3C307.4 6.8 296.3 0 284.2 0H163.8c-12.1 0-23.2 6.8-28.6 17.7zM416 128H32L53.2 467c1.6 25.3 22.6 45 47.9 45H346.9c25.3 0 46.3-19.7 47.9-45L416 128z"/></svg>`;
372 td.appendChild(a);
373 }
374 tr.appendChild(td);
371 375 }
372 tr.appendChild(td);
376 document.getElementById("riven-list").appendChild(tr);
377 return;
373 378 }
374 document.getElementById("riven-list").appendChild(tr);
375 } else {
376 const tr = document.createElement("tr");
377 const rank = parseInt(JSON.parse(item.UpgradeFingerprint).lvl);
378 const maxRank = itemMap[item.ItemType]?.fusionLimit ?? 5;
379 {
380 const td = document.createElement("td");
381 td.textContent = itemMap[item.ItemType]?.name ?? item.ItemType;
382 td.innerHTML += " <span title='Rank'>★ " + rank + "/" + maxRank + "</span>";
383 tr.appendChild(td);
379 }
380 const tr = document.createElement("tr");
381 const rank = parseInt(JSON.parse(item.UpgradeFingerprint).lvl);
382 const maxRank = itemMap[item.ItemType]?.fusionLimit ?? 5;
383 {
384 const td = document.createElement("td");
385 td.textContent = itemMap[item.ItemType]?.name ?? item.ItemType;
386 td.innerHTML += " <span title='Rank'>★ " + rank + "/" + maxRank + "</span>";
387 tr.appendChild(td);
388 }
389 {
390 const td = document.createElement("td");
391 td.classList = "text-end";
392 if (rank < maxRank) {
393 const a = document.createElement("a");
394 a.href = "#";
395 a.onclick = function (event) {
396 event.preventDefault();
397 setFingerprint(item.ItemType, item.ItemId, { lvl: maxRank });
398 };
399 a.title = "Max Rank";
400 a.innerHTML = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M214.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 141.2V448c0 17.7 14.3 32 32 32s32-14.3 32-32V141.2L329.4 246.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160z"/></svg>`;
401 td.appendChild(a);
384 402 }
385 403 {
386 const td = document.createElement("td");
387 td.classList = "text-end";
388 if (rank < maxRank) {
389 const a = document.createElement("a");
390 a.href = "#";
391 a.onclick = function (event) {
392 event.preventDefault();
393 setFingerprint(item.ItemType, item.ItemId, { lvl: maxRank });
394 };
395 a.title = "Max Rank";
396 a.innerHTML = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M214.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 141.2V448c0 17.7 14.3 32 32 32s32-14.3 32-32V141.2L329.4 246.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160z"/></svg>`;
397 td.appendChild(a);
398 }
399 {
400 const a = document.createElement("a");
401 a.href = "#";
402 a.onclick = function (event) {
403 event.preventDefault();
404 disposeOfGear("Upgrades", item.ItemId.$oid);
405 };
406 a.title = "Remove";
407 a.innerHTML = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M135.2 17.7L128 32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H320l-7.2-14.3C307.4 6.8 296.3 0 284.2 0H163.8c-12.1 0-23.2 6.8-28.6 17.7zM416 128H32L53.2 467c1.6 25.3 22.6 45 47.9 45H346.9c25.3 0 46.3-19.7 47.9-45L416 128z"/></svg>`;
408 td.appendChild(a);
409 }
410 tr.appendChild(td);
404 const a = document.createElement("a");
405 a.href = "#";
406 a.onclick = function (event) {
407 event.preventDefault();
408 disposeOfGear("Upgrades", item.ItemId.$oid);
409 };
410 a.title = "Remove";
411 a.innerHTML = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M135.2 17.7L128 32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H320l-7.2-14.3C307.4 6.8 296.3 0 284.2 0H163.8c-12.1 0-23.2 6.8-28.6 17.7zM416 128H32L53.2 467c1.6 25.3 22.6 45 47.9 45H346.9c25.3 0 46.3-19.7 47.9-45L416 128z"/></svg>`;
412 td.appendChild(a);
411 413 }
412 document.getElementById("mods-list").appendChild(tr);
414 tr.appendChild(td);
413 415 }
416 document.getElementById("mods-list").appendChild(tr);
414 417 });
415 418 data.RawUpgrades.forEach(item => {
416 419 if (item.ItemCount > 0) {