more 0425 stuff

This commit is contained in:
vvo
2023-06-24 03:01:05 +08:00
parent 317a3a8f21
commit 0fb22f1bc5
10 changed files with 868 additions and 463 deletions
+31 -1
View File
@@ -28,7 +28,37 @@ The plugin now mainly maintained versions:
Fork Changelog Fork Changelog
=========== ===========
### Latest supported game version ### Latest supported game version
- 2022122001 - EG 2023042500
## fork-6.0.1.0
### New:
1. Support for EG 2023042500
2. S-PUC effect enabled (haven't tested yet. couldn't be bothered to try lol)
3. Player Radar enabled
4. Single Battle mode enabled (haven't tested, idk if it works as is)
5. Added stamp events
- 2023 appeal card stamp event
- 11th anniversary appeal card stamp event
6. Added the remaining BPL weekly song toggles
7. Added Valkyrie Generator Vol. 10 and Vol. 11
8. Added Premium Generator Vol. 2
9. Valkyrie Generator Volumes 1 to 5 can now be rolled in WebUI
10. Added Arena Station 6 and 7.
11. Updated MISSING_SONGS to include the new licensed songs (HIMEHINA, Synthion, etc.)
### Fixes:
1. Updated songNum from 2000 to 3000 since the mdb now passed 2000 music IDs (for use of Unlock All Songs option; otherwise it will base on the music_db.json in the assets file)
2. Updated rival feature to include r.exscore (fixes some crashes in song select screen)
### Todo:
1. BPL Season 2 Special Stamp Event Implementation
- All songs on the stamp event selection screen should be completed and unlocked for SuddeИDeath to appear. Still don't know how to implement that.
2. Figure out how to use image (png) files to appear in information/news popup.
3. Implement BPL Supporter banner
## fork-6.0.0.2 ## fork-6.0.0.2
+326 -14
View File
@@ -37,7 +37,9 @@ export const EVENT6 = [
'VALGENE_ENABLE', 'VALGENE_ENABLE',
'ARENA_ENABLE', 'ARENA_ENABLE',
'DISP_PASELI_BANNER', 'DISP_PASELI_BANNER',
'S_PUC_EFFECT_ENABLE' 'S_PUC_EFFECT_ENABLE',
'PLAYER_RADAR_ENABLE',
'SINGLE_BATTLE_ENABLE'
]; ];
export const INFORMATION6 = { export const INFORMATION6 = {
@@ -48,7 +50,8 @@ export const INFORMATION6 = {
'2022081600': ['[img:ver06/info_psd.ifs:hexa_diver_220714]', '[img:ver06/info_psd.ifs:hexa_diver_220818]'], '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]'], '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]'], '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: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:ver06/info_psd.ifs:hexa_diver_220714]', '[img:ver06/info_psd.ifs:hexa_diver_220818]', '[img:ver06/info_psd.ifs:paseli_present_220901]'],
// '2023042500': ['[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 = [ export const MISSINGSONGS6 = [
@@ -59,7 +62,10 @@ export const MISSINGSONGS6 = [
// 0726 - 1018 // 0726 - 1018
'1857', '1858', '1860', '1861', '1862', '1856', '1859', '1863', '1864', '1865', '1857', '1858', '1860', '1861', '1862', '1856', '1859', '1863', '1864', '1865',
'1903', '1904', '1911', '1916', '1917' '1903', '1904', '1911', '1916', '1917',
// 230228 - 230425
'1960', '1961', '1962', '2028', '2029', '1912', '1913', '2030'
] ]
export const STAMP_EVENTS6 = { export const STAMP_EVENTS6 = {
@@ -259,13 +265,121 @@ export const STAMP_EVENTS6 = {
} }
] ]
} }
} },
'11thanniv': {
'type': 'main',
'info': {
'id': 0,
'stmpSlHd': '',
'stmpSlFt': '',
'stmpHd': '[sz:22]SPECIAL STAMP BONUS',
'stmpFt': '[sz:22]YOU CAN GET A STAMP AND BONUS! :)[br:5]TERM: 1/1 ~ 1/9',
'stmpBg': '',
'data': [
{
'stmpid': 13,
'bnr': '',
'stps': 1,
'stprwrd': [
['1', 'appeal', '5523', '']
]
}
]
}
},
'bpl2022stamp': {
'type': 'select',
'info': {
'id': 3,
'num2': -1,
'stmpSlHd': '[sz:22][c:FFA6AA]BEMANI PRO LEAGUE -SEASON 2- SPECIAL STAMP',
'stmpSlFt': '[sz:23]{TextStamp}[br:5]{TextTerm} 2023/03/30~2023/05/07',
'stmpHd': '[sz:22][c:DAC491]BEMANI PRO LEAGUE -SEASON 2- SPECIAL STAMP',
'stmpFt': '[sz:22]YOU CAN GET STAMPS BY PLAYING SDVX!',
'stmpBg': 'bg_stamp_bpl',
'data': [
{
'stmpid': 14,
'bnr': 'sheet_track_1919',
'stps': 15,
'stprwrd': [
['15', 'track', '1919', '23']
]
},
{
'stmpid': 15,
'bnr': 'sheet_track_1920',
'stps': 15,
'stprwrd': [
['15', 'track', '1920', '23']
]
},
{
'stmpid': 16,
'bnr': 'sheet_track_1921',
'stps': 15,
'stprwrd': [
['15', 'track', '1921', '23']
]
},
{
'stmpid': 17,
'bnr': 'sheet_track_1922',
'stps': 15,
'stprwrd': [
['15', 'track', '1922', '23']
]
},
{
'stmpid': 18,
'bnr': 'sheet_track_1923',
'stps': 15,
'stprwrd': [
['15', 'track', '1923', '23']
]
},
{
'stmpid': 19,
'bnr': 'sheet_track_1924',
'stps': 15,
'stprwrd': [
['15', 'track', '1924', '23']
]
},
{
'stmpid': 20,
'bnr': 'sheet_track_1925',
'stps': 15,
'stprwrd': [
['15', 'track', '1925', '23']
]
},
{
'stmpid': 21,
'bnr': 'sheet_track_1926',
'stps': 15,
'stprwrd': [
['15', 'track', '1926', '23']
]
},
{
'stmpid': 22,
'bnr': 'sheet_track_1938',
'stps': 30,
'stprwrd': [
['30', 'track', '1938', '23']
]
}
]
}
},
} }
export const EVENT_SONGS6 = { export const EVENT_SONGS6 = {
// X-Record songs // X-Record songs
'xrecord_1': ['1736', '1737', '1738'], 'xrecord_1': ['1736', '1737', '1738'],
'xrecord_2': ['1848', '1847', '1849'], 'xrecord_2': ['1847', '1848', '1849'],
'xrecord_3': ['1980', '1978', '1979'],
// Konaste songs // Konaste songs
'konasute_1': ['1762'], 'konasute_1': ['1762'],
'konasute_2': ['1763'], 'konasute_2': ['1763'],
@@ -288,13 +402,21 @@ export const EVENT_SONGS6 = {
"bpl2022_3": ['1956', '1949'], "bpl2022_3": ['1956', '1949'],
"bpl2022_4": ['1946', '1958'], "bpl2022_4": ['1946', '1958'],
"bpl2022_5": ['1957', '1955'], "bpl2022_5": ['1957', '1955'],
"bpl2022_6": ['1947', '1953'] "bpl2022_6": ['1947', '1953'],
"bpl2022_7": ['1950', '1944'],
"bpl2022_8": ['1945', '1954'],
"bpl2022_9": ['1942'],
"bpl2022_10": ['1939'],
"bpl2022_11": ['1940'],
"bpl2022_12": ['1941'],
} }
export const RESTRICTED_SONGS6 = { export const RESTRICTED_SONGS6 = {
// X-Record songs // X-Record songs
'xrecord_1': ['1736', '1737', '1738'], 'xrecord_1': ['1736', '1737', '1738'],
'xrecord_2': ['1848', '1847', '1849'], 'xrecord_2': ['1847', '1848', '1849'],
'xrecord_3': ['1980', '1978', '1979'],
// Konaste songs // Konaste songs
'konasute_1': ['1762'], 'konasute_1': ['1762'],
'konasute_2': ['1763'], 'konasute_2': ['1763'],
@@ -317,7 +439,13 @@ export const RESTRICTED_SONGS6 = {
"bpl2022_3": ['1956', '1949'], "bpl2022_3": ['1956', '1949'],
"bpl2022_4": ['1946', '1958'], "bpl2022_4": ['1946', '1958'],
"bpl2022_5": ['1957', '1955'], "bpl2022_5": ['1957', '1955'],
"bpl2022_6": ['1947', '1953'] "bpl2022_6": ['1947', '1953'],
"bpl2022_7": ['1950', '1944'],
"bpl2022_8": ['1945', '1954'],
"bpl2022_9": ['1942'],
"bpl2022_10": ['1939'],
"bpl2022_11": ['1940'],
"bpl2022_12": ['1941'],
} }
export const APRILFOOLSSONGS = [ export const APRILFOOLSSONGS = [
@@ -327,7 +455,7 @@ export const APRILFOOLSSONGS = [
export const VALKYRIE_SONGS = [ export const VALKYRIE_SONGS = [
'1744', '1672', // Valk exclusives '1744', '1672', // Valk exclusives
'1855', '1742', '1743', '1745', // Arena station songs '1855', '1742', '1743', '1745', // Arena station songs
'1736', '1737', '1738', '1848', '1847', '1849' // X-record '1736', '1737', '1738', '1847', '1848', '1849', '1980', '1978', '1979' // X-record
] ]
export const ARENA = { export const ARENA = {
@@ -824,6 +952,155 @@ export const ARENA = {
param: 8, param: 8,
} }
] ]
},
'Set 7 (04/27/23)': {
details: {
// season: 4,
time_start: BigInt(Date.parse('27 Apr 2023 00:00:00 GMT')),
time_end: BigInt(Date.parse('31 Dec 2099 23:59:59 GMT')),
shop_start: BigInt(Date.parse('27 Apr 2023 00:00:00 GMT')),
shop_end: BigInt(Date.parse('31 Dec 2099 23:59:59 GMT')),
is_open: 1,
is_shop: 1
},
arena_items: [
{
catalog_id: 1,
catalog_type: 1,
price: 15000,
item_type: 11,
item_id: 122,
param: 1,
},
{
catalog_id: 1,
catalog_type: 1,
price: 15000,
item_type: 11,
item_id: 123,
param: 1,
},
{
catalog_id: 1,
catalog_type: 1,
price: 8000,
item_type: 0,
item_id: 786,
param: 8,
},
{
catalog_id: 1,
catalog_type: 1,
price: 8000,
item_type: 0,
item_id: 787,
param: 8,
},
{
catalog_id: 1,
catalog_type: 1,
price: 8000,
item_type: 0,
item_id: 788,
param: 8,
},
{
catalog_id: 1,
catalog_type: 1,
price: 4000,
item_type: 0,
item_id: 789,
param: 8,
},
{
catalog_id: 1,
catalog_type: 1,
price: 4000,
item_type: 0,
item_id: 790,
param: 8,
},
{
catalog_id: 1,
catalog_type: 1,
price: 8000,
item_type: 0,
item_id: 610,
param: 8,
},
{
catalog_id: 1,
catalog_type: 1,
price: 8000,
item_type: 0,
item_id: 1902,
param: 23,
},
{
catalog_id: 1,
catalog_type: 1,
price: 8000,
item_type: 0,
item_id: 381,
param: 8,
},
{
catalog_id: 1,
catalog_type: 1,
price: 8000,
item_type: 0,
item_id: 633,
param: 8,
},
{
catalog_id: 1,
catalog_type: 1,
price: 4000,
item_type: 0,
item_id: 332,
param: 8,
},
{
catalog_id: 1,
catalog_type: 1,
price: 4000,
item_type: 0,
item_id: 711,
param: 8,
},
{
catalog_id: 1,
catalog_type: 1,
price: 4000,
item_type: 0,
item_id: 871,
param: 8,
},
{
catalog_id: 1,
catalog_type: 1,
price: 2000,
item_type: 0,
item_id: 872,
param: 8,
},
{
catalog_id: 1,
catalog_type: 1,
price: 2000,
item_type: 0,
item_id: 64,
param: 8,
},
{
catalog_id: 1,
catalog_type: 1,
price: 2000,
item_type: 0,
item_id: 88,
param: 8,
}
]
} }
// 'debug': { // 'debug': {
// details: { // details: {
@@ -906,7 +1183,12 @@ export const VALGENE = {
{ {
valgene_name: "ヴァルキリージェネレーター 第10弾", valgene_name: "ヴァルキリージェネレーター 第10弾",
valgene_name_english: "Valkyrie Generator Vol. 10", valgene_name_english: "Valkyrie Generator Vol. 10",
valgene_id: 9 valgene_id: 10
},
{
valgene_name: "ヴァルキリージェネレーター 第11弾",
valgene_name_english: "Valkyrie Generator Vol. 11",
valgene_id: 11
} }
], ],
rarity: { rarity: {
@@ -1142,23 +1424,44 @@ export const VALGENE = {
volume: 10, volume: 10,
items: [ items: [
{ {
type: 17, // chat stamp type: 17,
item_ids: [120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150] item_ids: [120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150]
}, },
{ {
type: 18, // submonitor bg type: 18,
item_ids: [224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237] item_ids: [224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237]
}, },
{ {
type: 19, // bgm type: 19,
item_ids: [48, 49, 50, 51] item_ids: [48, 49, 50, 51]
}, },
{ {
type: 20, // nemsys type: 20,
item_ids: [33, 34] item_ids: [33, 34]
} }
] ]
}, },
{
volume: 11,
items: [
{
type: 17,
item_ids: [163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193]
},
{
type: 18,
item_ids: [273, 274, 275, 276, 277, 278, 279, 280]
},
{
type: 19,
item_ids: [52, 53, 54, 55, 56, 57, 58, 59]
},
{
type: 20,
item_ids: [35, 36, 37, 38, 39, 40, 41, 42]
}
]
}
] ]
} }
@@ -1180,6 +1483,15 @@ export const PREGENE = [
'subbg': [200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223] 'subbg': [200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223]
}, },
probability: [0.01, 0.39, 0.6] probability: [0.01, 0.39, 0.6]
},
{
id: 3,
items: {
'crew': [136, 137, 138],
'stamp': [151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162],
'subbg': [238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272]
},
probability: [0.01, 0.39, 0.6]
} }
] ]
+23 -18
View File
@@ -97,10 +97,12 @@ export const common: EPR = async (info, data, send) => {
EVENT_SONGS = EVENT_SONGS.concat(EVENT_SONGS6[Object.keys(EVENT_SONGS6)[keyIter]]) EVENT_SONGS = EVENT_SONGS.concat(EVENT_SONGS6[Object.keys(EVENT_SONGS6)[keyIter]])
} }
let mdb = JSON.parse(music_db); let mdb = JSON.parse(music_db.toString());
let limitedNo = 2; let limitedNo = 2;
for (let i = 0; i < songNum; i++) { songNum = parseInt(mdb.mdb.music[mdb.mdb.music.length - 1]['@id'])
console.log("Latest song id in mdb: " + songNum)
for (let i = 0; i <= songNum; i++) {
var foundSongIndex = mdb.mdb.music.map(function(x) {return x['@id']; }).indexOf(i.toString()); var foundSongIndex = mdb.mdb.music.map(function(x) {return x['@id']; }).indexOf(i.toString());
if(foundSongIndex != -1) { if(foundSongIndex != -1) {
var songData = mdb.mdb.music[foundSongIndex]; var songData = mdb.mdb.music[foundSongIndex];
@@ -192,24 +194,27 @@ export const common: EPR = async (info, data, send) => {
} }
} }
if(IO.Exists('handlers/test.json')) { // if(IO.Exists('handlers/test.json')) {
let testExtend = JSON.parse(await IO.ReadFile('handlers/test.json')) // let bufExtend = await IO.ReadFile('handlers/test.json')
if(testExtend.length > 0) { // let testExtend = JSON.parse(bufExtend.toString())
testExtend.forEach(td => { // if(testExtend.length > 0) {
console.log("testExtend: " + JSON.stringify(td)) // testExtend.forEach(td => {
extend.push({ // console.log("testExtend: " + JSON.stringify(td))
id: td['id'], // extend.push({
type: td['type'], // id: td['id'],
params: td['params'] // type: td['type'],
}); // params: td['params']
}) // });
} // })
} // }
// }
if(IO.Exists('webui/asset/config/events.json')) { if(IO.Exists('webui/asset/config/events.json')) {
const itemTypeList = {"track": 'e', "appeal": 'a', "crew": 'c', "pcb": 'b'} const itemTypeList = {"track": 'e', "appeal": 'a', "crew": 'c', "pcb": 'b'}
let eventData = JSON.parse(await IO.ReadFile('webui/asset/json/events.json')) let bufEventData = await IO.ReadFile('webui/asset/json/events.json')
let eventConfig = JSON.parse(await IO.ReadFile('webui/asset/config/events.json')) let bufEventConfig = await IO.ReadFile('webui/asset/config/events.json')
let eventData = JSON.parse(bufEventData.toString())
let eventConfig = JSON.parse(bufEventConfig.toString())
for(const eventIter in eventData['events']) { for(const eventIter in eventData['events']) {
if(eventData['events'][eventIter]['type'] === 'stamp' && eventConfig[eventData['events'][eventIter]['id']]['toggle']) { if(eventData['events'][eventIter]['type'] === 'stamp' && eventConfig[eventData['events'][eventIter]['id']]['toggle']) {
let stmpEvntInfo = STAMP_EVENTS6[eventData['events'][eventIter]['id']] let stmpEvntInfo = STAMP_EVENTS6[eventData['events'][eventIter]['id']]
@@ -251,7 +256,7 @@ export const common: EPR = async (info, data, send) => {
'id': stmpEvntInfo['info']['id'], 'id': stmpEvntInfo['info']['id'],
'params': [ 'params': [
9, 9,
0, stmpEvntInfo['info']['num'],
0, 0,
0, 0,
0, 0,
+1 -1
View File
@@ -81,7 +81,7 @@ export const rival: EPR = async (info, data, send) => {
await DB.Find<MusicRecord>(p.__refid, { collection: 'music' }) await DB.Find<MusicRecord>(p.__refid, { collection: 'music' })
).map(r => ({ ).map(r => ({
// Changes were somehow made in the order of the field for the version 2023042500 // Changes were somehow made in the order of the field for the version 2023042500
param: K.ARRAY('u32', version < 2023042500 ? [r.mid, r.type, r.score, r.clear, r.grade] : [r.mid, r.type, r.score, r.grade, r.clear]), param: K.ARRAY('u32', version < 2023042500 ? [r.mid, r.type, r.score, r.clear, r.grade] : [r.mid, r.type, r.score, r.exscore, r.clear, r.grade]),
})), })),
}; };
}) })
+4 -2
View File
@@ -644,8 +644,10 @@ export const load: EPR = async (info, data, send) => {
let presents = [] let presents = []
if(version === 6) { if(version === 6) {
if(IO.Exists('webui/asset/config/events.json')) { if(IO.Exists('webui/asset/config/events.json')) {
let eventData = JSON.parse(await IO.ReadFile('webui/asset/json/events.json')) let bufEventData = await IO.ReadFile('webui/asset/json/events.json')
let eventConfig = JSON.parse(await IO.ReadFile('webui/asset/config/events.json')) let bufEventConfig = await IO.ReadFile('webui/asset/config/events.json')
let eventData = JSON.parse(bufEventData.toString())
let eventConfig = JSON.parse(bufEventConfig.toString())
for(const eventIter in eventData['events']) { for(const eventIter in eventData['events']) {
if(eventData['events'][eventIter]['type'] === 'gift') { if(eventData['events'][eventIter]['type'] === 'gift') {
if(typeof eventConfig[eventData['events'][eventIter]['id']]['toggle'] === "boolean") { if(typeof eventConfig[eventData['events'][eventIter]['id']]['toggle'] === "boolean") {
+1 -1
View File
@@ -94,7 +94,7 @@ $(document).ready(async function() {
if(eventData['events'][eventIter]['id'] === $(value).parent().children('input').attr('name')) { if(eventData['events'][eventIter]['id'] === $(value).parent().children('input').attr('name')) {
eventConfig[eventData['events'][eventIter]['id']]['toggle'] = toggle eventConfig[eventData['events'][eventIter]['id']]['toggle'] = toggle
} else if ($(value).parent().children('input').attr('name').includes(eventData['events'][eventIter]['id'])) { } else if ($(value).parent().children('input').attr('name').includes(eventData['events'][eventIter]['id'] + "_")) {
eventConfig[eventData['events'][eventIter]['id']]['toggle'][[$(value).parent().children('input').attr('name')]] = toggle eventConfig[eventData['events'][eventIter]['id']]['toggle'][[$(value).parent().children('input').attr('name')]] = toggle
} }
} }
+25 -5
View File
@@ -75,31 +75,51 @@ async function loadItems(itemSet, gene_edition, items_crew, items_stamp, items_s
if('crew' in geneItems.items) { if('crew' in geneItems.items) {
$('.item_banners').append('<div style="padding: 5px"><h3>Nemsys Crew</h3></div>') $('.item_banners').append('<div style="padding: 5px"><h3>Nemsys Crew</h3></div>')
$('.item_banners').append('<div class=crew-items style="text-align: center; background-color: #3a3a3a; padding: 20px; border-radius: 6px;"></div><br>') $('.item_banners').append('<div class=crew-items style="text-align: center; background-color: #3a3a3a; padding: 20px; border-radius: 6px;"></div><br>')
loadImages(geneItems.items['crew'].sort(function(a, b){return parseInt(a.id) - parseInt(b.id)}), 'crew', items_crew) loadImages(geneItems.items['crew'].sort(function(a, b) {
if(a.id < b.id) { return -1; }
if(a.id > b.id) { return 1; }
return 0;
}), 'crew', items_crew)
} }
if('stamp' in geneItems.items) { if('stamp' in geneItems.items) {
$('.item_banners').append('<div style="padding: 5px"><h3>Appeal Stamp</h3></div>') $('.item_banners').append('<div style="padding: 5px"><h3>Appeal Stamp</h3></div>')
$('.item_banners').append('<div class=stamp-items style="text-align: center; background-color: #3a3a3a; padding: 20px; border-radius: 6px;"></div><br>') $('.item_banners').append('<div class=stamp-items style="text-align: center; background-color: #3a3a3a; padding: 20px; border-radius: 6px;"></div><br>')
loadImages(geneItems.items['stamp'].sort(function(a, b){return parseInt(a.id) - parseInt(b.id)}), 'stamp', items_stamp) loadImages(geneItems.items['stamp'].sort(function(a, b) {
if(a.id < b.id) { return -1; }
if(a.id > b.id) { return 1; }
return 0;
}), 'stamp', items_stamp)
} }
if('subbg' in geneItems.items) { if('subbg' in geneItems.items) {
$('.item_banners').append('<div style="padding: 5px"><h3>Submonitor BG</h3></div>') $('.item_banners').append('<div style="padding: 5px"><h3>Submonitor BG</h3></div>')
$('.item_banners').append('<div class=bg-items style="text-align: center; background-color: #3a3a3a; padding: 20px; border-radius: 6px;"></div><br>') $('.item_banners').append('<div class=bg-items style="text-align: center; background-color: #3a3a3a; padding: 20px; border-radius: 6px;"></div><br>')
loadImages(geneItems.items['subbg'].sort(function(a, b){return parseInt(a.id) - parseInt(b.id)}), 'bg', items_subbg) loadImages(geneItems.items['subbg'].sort(function(a, b) {
if(a.id < b.id) { return -1; }
if(a.id > b.id) { return 1; }
return 0;
}), 'bg', items_subbg)
} }
if('bgm' in geneItems.items) { if('bgm' in geneItems.items) {
$('.item_banners').append('<div style="padding: 5px"><h3>BGM</h3></div>') $('.item_banners').append('<div style="padding: 5px"><h3>BGM</h3></div>')
$('.item_banners').append('<div class=bgm-items style="text-align: center; background-color: #3a3a3a; padding: 20px; border-radius: 6px;"></div><br>') $('.item_banners').append('<div class=bgm-items style="text-align: center; background-color: #3a3a3a; padding: 20px; border-radius: 6px;"></div><br>')
loadImages(geneItems.items['bgm'].sort(function(a, b){return parseInt(a.id) - parseInt(b.id)}), 'bgm', items_bgm) loadImages(geneItems.items['bgm'].sort(function(a, b) {
if(a.id < b.id) { return -1; }
if(a.id > b.id) { return 1; }
return 0;
}), 'bgm', items_bgm)
} }
if('nemsys' in geneItems.items) { if('nemsys' in geneItems.items) {
$('.item_banners').append('<div style="padding: 5px"><h3>Nemsys</h3></div>') $('.item_banners').append('<div style="padding: 5px"><h3>Nemsys</h3></div>')
$('.item_banners').append('<div class=nemsys-items style="text-align: center; background-color: #3a3a3a; padding: 20px; border-radius: 6px;"></div><br>') $('.item_banners').append('<div class=nemsys-items style="text-align: center; background-color: #3a3a3a; padding: 20px; border-radius: 6px;"></div><br>')
loadImages(geneItems.items['nemsys'].sort(function(a, b){return parseInt(a.id) - parseInt(b.id)}), 'nemsys', items_nemsys) loadImages(geneItems.items['nemsys'].sort(function(a, b) {
if(a.id < b.id) { return -1; }
if(a.id > b.id) { return 1; }
return 0;
}), 'nemsys', items_nemsys)
} }
} }
+10 -9
View File
@@ -10,13 +10,13 @@ function getImageFileFormat(assetType, id) {
} }
function checkPregeneSubbg(subbg) { function checkPregeneSubbg(subbg) {
pregeneSlideshows = [ let stat = $.ajax({
// pregene aqua url:'static/asset/submonitor_bg/subbg_' + zeroPad(subbg, 4) + getImageFileFormat(0, parseInt(zeroPad(subbg, 4))),
166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, type:'HEAD',
// pregene 1 async: false
214, 215, 216, 217, 218, 219, 220, 221, 222, 223 }).status;
] if(stat === 200) return false
return pregeneSlideshows.includes(parseInt(subbg)) else return true
} }
; ;
@@ -45,8 +45,9 @@ $('#nemsys_select').change(function() {
$('#nemsys_pre').fadeIn(200); $('#nemsys_pre').fadeIn(200);
}); });
$('[name="subbg"]').change(function() { $('[name="subbg"]').change(async function() {
$('#sub_pre').fadeOut(200, () => { $('#sub_pre').attr("src", checkPregeneSubbg($('[name="subbg"]').val()) ? "static/asset/submonitor_bg/subbg_" + zeroPad($('[name="subbg"]').val(), 4) + "_0" + (Math.floor(Math.random() * 3) + 1) + getImageFileFormat(0, parseInt(zeroPad($('[name="subbg"]').val(), 4))) : "static/asset/submonitor_bg/subbg_" + zeroPad($('[name="subbg"]').val(), 4) + getImageFileFormat(0, parseInt(zeroPad($('[name="subbg"]').val(), 4)) )); }); let isSubbgSlideshow = checkPregeneSubbg($('[name="subbg"]').val())
$('#sub_pre').fadeOut(200, () => { $('#sub_pre').attr("src", isSubbgSlideshow ? "static/asset/submonitor_bg/subbg_" + zeroPad($('[name="subbg"]').val(), 4) + "_0" + (Math.floor(Math.random() * 3) + 1) + getImageFileFormat(0, parseInt(zeroPad($('[name="subbg"]').val(), 4))) : "static/asset/submonitor_bg/subbg_" + zeroPad($('[name="subbg"]').val(), 4) + getImageFileFormat(0, parseInt(zeroPad($('[name="subbg"]').val(), 4)) )); });
$('#sub_pre').fadeIn(200); $('#sub_pre').fadeIn(200);
}); });
+30 -14
View File
@@ -6,8 +6,9 @@
"enabled": false, "enabled": false,
"name": "X-record", "name": "X-record",
"info": [ "info": [
"1st set of songs from X-record; originally unlocked by playing either SOUND VOLTEX on the Valkyrie model, or beatmaniaIIDX on the Lightning model.<br>Enable this option to have them automatically unlocked and saved to your account.", "1st set of songs from X-record; originally unlocked by playing either SOUND VOLTEX on the Valkyrie model, or beatmaniaIIDX on the Lightning model.<br>Not implemented yet",
"2nd set of songs from X-record; originally unlocked by playing either SOUND VOLTEX on the Valkyrie model, or beatmaniaIIDX on the Lightning model.<br>Enable this option to have them automatically unlocked and saved to your account." "2nd set of songs from X-record; originally unlocked by playing either SOUND VOLTEX on the Valkyrie model, or beatmaniaIIDX on the Lightning model.<br>Not implemented yet",
"2nd set of songs from X-record; originally unlocked by playing either SOUND VOLTEX on the Valkyrie model, or beatmaniaIIDX on the Lightning model.<br>Not implemented yet"
] ]
}, },
{ {
@@ -42,7 +43,7 @@
"type": "stamp", "type": "stamp",
"enabled": true, "enabled": true,
"name": "SOUND VOLTEX 10th Anniversary", "name": "SOUND VOLTEX 10th Anniversary",
"info": "Stamp event to unlock 7 songs.<br>Toggle this on to enable this stamp event." "info": "Stamp event to unlock 7 songs in any order.<br>Toggle this on to enable this stamp event."
}, },
{ {
"id": "reflecstamp", "id": "reflecstamp",
@@ -64,17 +65,18 @@
"enabled": true, "enabled": true,
"name": "BEMANI PRO LEAGUE -SEASON 2-! Original Song", "name": "BEMANI PRO LEAGUE -SEASON 2-! Original Song",
"info": [ "info": [
"Week 1 songs: 'Chat perché' and 'WINNING ROAD'<br>Enable this option to have these songs unlocked on the next login. Otherwise, the songs are still unlockable through BLASTER GATE.", "Toggle to have the songs from the 1st week unlocked on the next login.<br>Otherwise, the songs are still unlockable through BLASTER GATE.<br>Songs: 'Chat perché' and 'WINNING ROAD'",
"Week 2 songs: 'ENDGAME' and 'ИADIR'<br>Enable this option to have these songs unlocked on the next login. Otherwise, the songs are still unlockable through BLASTER GATE.", "Toggle to have the songs from the 2nd week unlocked on the next login.<br>Otherwise, the songs are still unlockable through BLASTER GATE.<br>Songs: 'ENDGAME' and 'ИADIR'",
"Week 3 songs: 'Ice Fortress' and 'MURASAME'<br>Enable this option to have these songs unlocked on the next login. Otherwise, the songs are still unlockable through BLASTER GATE.", "Toggle to have the songs from the 3rd week unlocked on the next login.<br>Otherwise, the songs are still unlockable through BLASTER GATE.<br>Songs: 'Ice Fortress' and 'MURASAME'",
"Week 4 songs: 'Initiating League' and 'Scat Jazz Dance'<br>Enable this option to have these songs unlocked on the next login. Otherwise, the songs are still unlockable through BLASTER GATE.", "Toggle to have the songs from the 4th week unlocked on the next login.<br>Otherwise, the songs are still unlockable through BLASTER GATE.<br>Songs: 'Initiating League' and 'Scat Jazz Dance'",
"Week 5 songs: '最果ての勇者にラブソングを' and '灼ナル刃、破カヰ譜'<br>Enable this option to have these songs unlocked on the next login. Otherwise, the songs are still unlockable through BLASTER GATE.", "Toggle to have the songs from the 5th week unlocked on the next login.<br>Otherwise, the songs are still unlockable through BLASTER GATE.<br>Songs: '最果ての勇者にラブソングを' and '灼ナル刃、破カヰ譜'",
"Week 6 songs: 'Fl0ating:' and 'Petit espoir'<br>Enable this option to have these songs unlocked on the next login. Otherwise, the songs are still unlockable through BLASTER GATE.", "Toggle to have the songs from the 6th week unlocked on the next login.<br>Otherwise, the songs are still unlockable through BLASTER GATE.<br>Songs: 'Fl0ating:' and 'Petit espoir'",
"Week 7 songs: 'Paradigm Shift' and 'イグノアザーズ'<br>Enable this option to have these songs unlocked on the next login. Otherwise, the songs are still unlockable through BLASTER GATE.", "Toggle to have the songs from the 7th week unlocked on the next login.<br>Otherwise, the songs are still unlockable through BLASTER GATE.<br>Songs: 'Paradigm Shift' and 'イグノアザーズ'",
"Week 8 songs: 'Thousand Triggers' and 'trea→journey'<br>Enable this option to have these songs unlocked on the next login. Otherwise, the songs are still unlockable through BLASTER GATE.", "Toggle to have the songs from the 8th week unlocked on the next login.<br>Otherwise, the songs are still unlockable through BLASTER GATE.<br>Songs: 'Thousand Triggers' and 'trea→journey'",
"Week 9 songs: 'MILITARY R04D'<br>Enable this option to have this song unlocked on the next login. Otherwise, the songs are still unlockable through BLASTER GATE.", "Toggle to have the song from the 9th week unlocked on the next login.<br>Otherwise, the songs are still unlockable through BLASTER GATE.<br>Song: 'MILITARY R04D'",
"Week 10 songs: 'DEUX EX MĀXHINĀ'<br>Enable this option to have this song unlocked on the next login. Otherwise, the songs are still unlockable through BLASTER GATE.", "Toggle to have the song from the 10th week unlocked on the next login.<br>Otherwise, the songs are still unlockable through BLASTER GATE.<br>Song: 'DEUX EX MĀXHINĀ'",
"Week 11 songs: 'All We Need is HAPPY END!!!'<br>Enable this option to have this song unlocked on the next login. Otherwise, the songs are still unlockable through BLASTER GATE." "Toggle to have the song from the 11th week unlocked on the next login.<br>Otherwise, the songs are still unlockable through BLASTER GATE.<br>Song: 'All We Need is HAPPY END!!!'",
"Toggle to have the song from the 12th week unlocked on the next login.<br>Otherwise, the songs are still unlockable through BLASTER GATE.<br>Song: 'Glory of Fighters'"
] ]
}, },
{ {
@@ -97,6 +99,20 @@
"enabled": true, "enabled": true,
"name": "HIMEHINAコラボイベント | HIMEHINA Collab Stamp Event", "name": "HIMEHINAコラボイベント | HIMEHINA Collab Stamp Event",
"info": "Stamp event to unlock the HIMEHINA crew.<br>Toggle this on to enable this stamp event." "info": "Stamp event to unlock the HIMEHINA crew.<br>Toggle this on to enable this stamp event."
},
{
"id": "11thanniv",
"type": "stamp",
"enabled": true,
"name": "ボルテ11周年★記念限定カード | SOUND VOLTEX 11th Anniversary Stamp Event",
"info": "Stamp event to unlock the ボルテ11周年★記念限定カード appeal card to commemorate 11 years of SOUND VOLTEX.<br>Toggle this on to enable this stamp event."
},
{
"id": "bpl2022stamp",
"type": "stamp",
"enabled": false,
"name": "Commemorating BEMANI PRO LEAGUE -SEASON 2-! Original Song Contest Special Stamp Event",
"info": "Stamp event to unlock 9 songs, including SuddeИDeath. Songs can be unlocked in any order, except for SuddeИDeath, which will be available to unlock once all the other songs are unlocked.<br>Toggle this on to enable this stamp event."
} }
] ]
} }
@@ -17,6 +17,15 @@
"stamp": [110, 111, 112, 113, 114, 115, 116, 117, 118, 119], "stamp": [110, 111, 112, 113, 114, 115, 116, 117, 118, 119],
"subbg": [200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223] "subbg": [200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223]
} }
},
{
"id": 3,
"name": "Premium Generator Vol. 2",
"items": {
"crew": [136, 137, 138],
"stamp": [151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162],
"subbg": [238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272]
}
} }
], ],
"valgene":[ "valgene":[
@@ -127,6 +136,16 @@
"bgm": [48, 49, 50, 51], "bgm": [48, 49, 50, 51],
"nemsys": [33, 34] "nemsys": [33, 34]
} }
},
{
"id": 11,
"name": "Valkyrie Generator Vol. 11",
"items":{
"stamp": [163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193],
"subbg": [273, 274, 275, 276, 277, 278, 279, 280],
"bgm": [52, 53, 54, 55, 56, 57, 58, 59],
"nemsys": [35, 36, 37, 38, 39, 40, 41, 42]
}
} }
] ]
} }