|
49 | 49 | fetch("https://browse.wf/warframe-public-export-plus/ExportRewards.json").then(res => res.json()),
|
50 | 50 | fetch("https://browse.wf/warframe-public-export-plus/ExportRegions.json").then(res => res.json()),
|
51 | 51 | fetch("https://browse.wf/warframe-public-export-plus/ExportEnemies.json").then(res => res.json()),
|
| 52 | + fetch("https://browse.wf/warframe-public-export-plus/ExportRecipes.json").then(res => res.json()), |
52 | 53 | fetch("https://browse.wf/warframe-public-export-plus/ExportTextIcons.json").then(res => res.json()),
|
53 | 54 | fetch("supplemental-data/glyphs.json").then(res => res.json())
|
54 | 55 | ]).then(([
|
|
64 | 65 | ExportRewards,
|
65 | 66 | ExportRegions,
|
66 | 67 | ExportEnemies,
|
| 68 | + ExportRecipes, |
67 | 69 | ExportTextIcons,
|
68 | 70 | supplementalGlyphData
|
69 | 71 | ]) =>
|
|
84 | 86 | window.ExportTextIcons = ExportTextIcons;
|
85 | 87 | window.supplementalGlyphData = supplementalGlyphData;
|
86 | 88 |
|
| 89 | + window.itemToRecipeMap = {}; |
| 90 | + Object.entries(ExportRecipes).forEach(([uniqueName, recipe]) => { |
| 91 | + itemToRecipeMap[recipe.resultType] = uniqueName; |
| 92 | + }); |
| 93 | + |
87 | 94 | updateMissionDeckNames();
|
88 | 95 |
|
89 | 96 | if (document.getElementById("query").value)
|
@@ -486,7 +493,9 @@ function doQuery(query)
|
486 | 493 | || result.type == "resource"
|
487 | 494 | )
|
488 | 495 | {
|
489 |
| - const storeItem = "/Lotus/StoreItems/" + result.key.substring(7); |
| 496 | + const dropType = itemToRecipeMap[result.key] ?? result.key; |
| 497 | + const dropIsBlueprint = !!itemToRecipeMap[result.key]; |
| 498 | + const storeItem = "/Lotus/StoreItems/" + dropType.substring(7); |
490 | 499 | const sources = [];
|
491 | 500 | ExportRewards_entries.forEach(([deckName, tiers]) =>
|
492 | 501 | {
|
@@ -515,12 +524,13 @@ function doQuery(query)
|
515 | 524 | }
|
516 | 525 | }
|
517 | 526 | });
|
518 |
| - Object.entries(ExportEnemies.droptables).forEach(([droptableName, pools]) => { |
| 527 | + Object.entries(ExportEnemies.droptables).forEach(([droptableName, pools]) => |
| 528 | + { |
519 | 529 | for (const pool of pools)
|
520 | 530 | {
|
521 | 531 | for (const reward of pool.items)
|
522 | 532 | {
|
523 |
| - if (reward.type == result.key) |
| 533 | + if (reward.type == dropType) |
524 | 534 | {
|
525 | 535 | sources.push({
|
526 | 536 | name: droptableNames[droptableName] ?? [droptableName],
|
@@ -563,7 +573,12 @@ function doQuery(query)
|
563 | 573 | {
|
564 | 574 | span.textContent += ", Rotation " + ("ABCD"[source.rotation]);
|
565 | 575 | }
|
566 |
| - span.textContent += " gives " + source.itemCount + " @ " + (source.probability * 100).toFixed(2) + "%"; |
| 576 | + span.textContent += " gives " + source.itemCount; |
| 577 | + if (dropIsBlueprint) |
| 578 | + { |
| 579 | + span.textContent += " blueprint"; |
| 580 | + } |
| 581 | + span.textContent += " @ " + (source.probability * 100).toFixed(2) + "%"; |
567 | 582 | li.appendChild(span);
|
568 | 583 | }
|
569 | 584 | ul.appendChild(li);
|
|
0 commit comments