From 93213c445334e2e2451c7f591c904048a8992778 Mon Sep 17 00:00:00 2001 From: vvo <> Date: Sun, 8 Jan 2023 22:50:59 +0800 Subject: [PATCH] major pregene stamp roll fixes --- sdvx@asphyxia/data/exg.ts | 7 +++--- sdvx@asphyxia/handlers/webui.ts | 23 +++++++++++-------- sdvx@asphyxia/webui/asset/js/generator.js | 16 ++++++------- sdvx@asphyxia/webui/asset/js/preview.js | 7 +++++- .../webui/asset/json/valgene_data.json | 8 +++---- 5 files changed, 34 insertions(+), 27 deletions(-) diff --git a/sdvx@asphyxia/data/exg.ts b/sdvx@asphyxia/data/exg.ts index dee7f51..7bfb40f 100644 --- a/sdvx@asphyxia/data/exg.ts +++ b/sdvx@asphyxia/data/exg.ts @@ -46,8 +46,7 @@ export const INFORMATION6 = { '2022071200': ['[img:ver06/info_psd.ifs:hexa_diver_220714]'], '2022081600': ['[img:ver06/info_psd.ifs:hexa_diver_220714]', '[img:ver06/info_psd.ifs:hexa_diver_220818]'], '2022083000': ['[img:ver06/info_psd.ifs:hexa_diver_220714]', '[img:ver06/info_psd.ifs:hexa_diver_220818]', '[img:ver06/info_psd.ifs:paseli_present_220901]'], - '2022101800': ['[img:ver06/info_psd.ifs:hexa_diver_220714]', '[img:ver06/info_psd.ifs:hexa_diver_220818]', '[img:ver06/info_psd.ifs:paseli_present_220901]'], - '2022122001': ['[img:info/konosuba_221006.png]', '[img:info/bemaniautumn_221101.png]', '[img:info/paseli_festival_221220.png]', '[img:info/pregene_kureha_221222.png]', '[img:info/voltefactory_221201.png]'] + '2022101800': ['[img:ver06/info_psd.ifs:hexa_diver_220714]', '[img:ver06/info_psd.ifs:hexa_diver_220818]', '[img:ver06/info_psd.ifs:paseli_present_220901]'] } export const MISSINGSONGS6 = [ @@ -896,7 +895,7 @@ export const VALGENE = { }, { type: 17, - item_ids: [38, 39, 40, 41, 42] + item_ids: [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68] }, { type: 18, @@ -904,7 +903,7 @@ export const VALGENE = { }, { type: 19, - item_ids: [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68] + item_ids: [38, 39, 40, 41, 42] }, { type: 20, diff --git a/sdvx@asphyxia/handlers/webui.ts b/sdvx@asphyxia/handlers/webui.ts index 1319c96..9b17a80 100644 --- a/sdvx@asphyxia/handlers/webui.ts +++ b/sdvx@asphyxia/handlers/webui.ts @@ -490,8 +490,11 @@ export const preGeneRoll = async (data: { let unobtainedItems = preGeneSet.items[Object.keys(preGeneSet.items)[rollWhat]].map((x) => x) data.items.forEach(item => { - if(item['type'] == itemId[Object.keys(preGeneSet.items)[rollWhat]] && preGeneSet.items[Object.keys(preGeneSet.items)[rollWhat]].includes(item['id'])) { - unobtainedItems.splice(unobtainedItems.indexOf(item['id']), 1) + let checkId = 0; + checkId = item['id'] + if(item['type'] == 17) checkId = (item['id'] / 4) + if(item['type'] == itemId[Object.keys(preGeneSet.items)[rollWhat]] && preGeneSet.items[Object.keys(preGeneSet.items)[rollWhat]].includes(checkId)) { + unobtainedItems.splice(unobtainedItems.indexOf(checkId), 1) } }) if(unobtainedItems.length > 0) { @@ -499,20 +502,20 @@ export const preGeneRoll = async (data: { console.log("Rolled item id: " + unobtainedItems[randomItemIndex] + " | item type: " + itemId[Object.keys(preGeneSet.items)[rollWhat]]) if(itemId[Object.keys(preGeneSet.items)[rollWhat]] == 17) { for(let stampID = (unobtainedItems[randomItemIndex] * 4) - 3; stampID <= (unobtainedItems[randomItemIndex] * 4); stampID++) { - DB.Insert(data.refid, { + DB.Upsert(data.refid, { "collection": "item", "type": itemId[Object.keys(preGeneSet.items)[rollWhat]], - "id": stampID, - "param": 1 - }) + "id": stampID }, + {$set: {"param": 1}} + ) } } else { - DB.Insert(data.refid, { + DB.Upsert(data.refid, { "collection": "item", "type": itemId[Object.keys(preGeneSet.items)[rollWhat]], - "id": unobtainedItems[randomItemIndex], - "param": 1 - }) + "id": unobtainedItems[randomItemIndex] }, + {$set: {"param": 1}} + ) } let finalItemType = (Object.keys(preGeneSet.items)[rollWhat] === 'subbg') ? 'bg' : Object.keys(preGeneSet.items)[rollWhat] await IO.WriteFile('webui/asset/logs/preGeneRollResult.json', JSON.stringify({'id': unobtainedItems[randomItemIndex], 'type': finalItemType})) diff --git a/sdvx@asphyxia/webui/asset/js/generator.js b/sdvx@asphyxia/webui/asset/js/generator.js index f897d21..982541a 100644 --- a/sdvx@asphyxia/webui/asset/js/generator.js +++ b/sdvx@asphyxia/webui/asset/js/generator.js @@ -41,9 +41,9 @@ async function getGeneratorEditionItems(gene_edition, itemSet) { return data }) if(gene_edition === 'valkyrie') { - return valGeneData.valgene.find(valgene => valgene.id === itemSet) + return valGeneData.valgene[itemSet - 1] } else { - return valGeneData.pregene.find(pregene => pregene.id === itemSet) + return valGeneData.pregene[itemSet - 1] } } @@ -51,9 +51,10 @@ async function loadItems(itemSet, gene_edition, items_crew, items_stamp, items_s let geneItems = await getGeneratorEditionItems(gene_edition, itemSet) let itemCounts = countGeneItems(geneItems, items_crew, items_stamp, items_subbg, items_bgm, items_nemsys) if(itemCounts[0] >= itemCounts[1]) $('#pregene-roll').attr('disabled', 'disabled') + else $('#pregene-roll').removeAttr('disabled') $('.count').text('Unlocked items: ' + itemCounts[0] + "/" + itemCounts[1]) - if(itemSet === 0) { + if(itemSet === 1) { $('.setinfo').append('
These items are only usable in Japan. Change region to Japan in the ea3-config.xml file.
') } else { $('.jpn-excl').remove() @@ -103,10 +104,10 @@ async function loadValgeneData(gene_edition) { $('#set_select').append('') } } - $('#set_select').val($("#set_select option").length - 1) + $('#set_select').val($("#set_select option").length) } -$(document).ready(function() { +$(document).ready(async function() { if(document.getElementById("data-pass-unlock-all").innerText === 'true') { $('.card-content').text("The \"Unlock All Valkyrie and Premium Items\" option is enabled. You wouldn't need this.") $('#pregene-roll').attr('disabled') @@ -130,8 +131,8 @@ $(document).ready(function() { let items_bgm = JSON.parse(document.getElementById("data-pass-bgm").innerText); let items_nemsys = JSON.parse(document.getElementById("data-pass-nemsys").innerText); let gene_edition = document.getElementById("generator-edition").innerText; - loadValgeneData(gene_edition) - loadItems(1, gene_edition, items_crew, items_stamp, items_subbg, items_bgm, items_nemsys) + await loadValgeneData(gene_edition) + loadItems($('#set_select').val(), gene_edition, items_crew, items_stamp, items_subbg, items_bgm, items_nemsys) $('#set_select').change(function() { $('.count').text('') @@ -143,7 +144,6 @@ $(document).ready(function() { $('#pregene-roll').attr('disabled', 'disabled') if(gene_edition === 'premium' && window.location.search.match(/(premium)/g) != undefined) { let geneItems = await getGeneratorEditionItems(gene_edition, parseInt($('#set_select').val())) - console.log(geneItems) if(countGeneItems(geneItems, items_crew, items_stamp, items_subbg, items_bgm, items_nemsys)[0] >= countGeneItems(geneItems, items_crew, items_stamp, items_subbg, items_bgm, items_nemsys)[1]) { alert("All items have been unlocked already.") } else { diff --git a/sdvx@asphyxia/webui/asset/js/preview.js b/sdvx@asphyxia/webui/asset/js/preview.js index 044be20..e5bcd51 100644 --- a/sdvx@asphyxia/webui/asset/js/preview.js +++ b/sdvx@asphyxia/webui/asset/js/preview.js @@ -10,7 +10,12 @@ function getImageFileFormat(assetType, id) { } function checkPregeneSubbg(subbg) { - pregeneSlideshows = [166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185] + pregeneSlideshows = [ + // pregene aqua + 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + // pregene 1 + 214, 215, 216, 217, 218, 219, 220, 221, 222, 223 + ] return pregeneSlideshows.includes(parseInt(subbg)) } diff --git a/sdvx@asphyxia/webui/asset/json/valgene_data.json b/sdvx@asphyxia/webui/asset/json/valgene_data.json index 31f79f9..34be78f 100644 --- a/sdvx@asphyxia/webui/asset/json/valgene_data.json +++ b/sdvx@asphyxia/webui/asset/json/valgene_data.json @@ -1,7 +1,7 @@ { "pregene": [ { - "id": 0, + "id": 1, "name": "Premium Generator (Aqua Set)", "items": { "crew": [131], @@ -10,7 +10,7 @@ } }, { - "id": 1, + "id": 2, "name": "Premium Generator Vol. 1", "items": { "crew": [134], @@ -101,9 +101,9 @@ "name": "Valkyrie Generator Vol. 8", "items":{ "crew": [130], - "stamp": [38, 39, 40, 41, 42], + "stamp": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "subbg": [152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165], - "bgm": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], + "bgm": [38, 39, 40, 41, 42], "nemsys": [31] } },