more 0425 stuff
This commit is contained in:
@@ -1,130 +1,130 @@
|
||||
function generateEventToggles(eventInfo, eventConfig, eventEnabled) {
|
||||
let cardContent = $('<div class="card-content">')
|
||||
if(typeof eventInfo['info'] === 'string') {
|
||||
cardContent.append(
|
||||
$('<div class="field is-horizontal">').append(
|
||||
$('<div class="field-label is-normal"><label class="label" for="' + eventInfo['id'] + '">Enable</label></div>')
|
||||
).append(
|
||||
$('<div class="field-body"><div class="field"><div class="control"><label class="switch is-rounded"><input type="checkbox" ' + (eventConfig['toggle'] ? 'checked' : '') + ' name="' + eventInfo['id'] + '"><span class="check"></span></label></div><p class="help">' + eventInfo['info'] + '</p></div></div>')
|
||||
)
|
||||
)
|
||||
} else {
|
||||
for(const infoIter in eventInfo['info']) {
|
||||
cardContent.append(
|
||||
$('<div class="field is-horizontal">').append(
|
||||
$('<div class="field-label is-normal"><label class="label" for="' + eventInfo['id'] + '_' + (parseInt(infoIter) + 1).toString() + '">Enable Set ' + (parseInt(infoIter) + 1).toString() + '</label></div>')
|
||||
).append(
|
||||
$('<div class="field-body"><div class="field"><div class="control"><label class="switch is-rounded"><input type="checkbox" ' + (eventConfig['toggle'][eventInfo['id'] + '_' + (parseInt(infoIter) + 1).toString()] ? 'checked' : '') + ' name="' + eventInfo['id'] + '_' + (parseInt(infoIter) + 1).toString() + '"><span class="check"></span></label></div><p class="help">' + eventInfo['info'][infoIter] + '</p></div></div>')
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
return cardContent
|
||||
}
|
||||
|
||||
async function generateNewEventsConfigFile(eventData) {
|
||||
let eventConfig = {}
|
||||
for(const eventIter in eventData['events']) {
|
||||
eventConfig[eventData['events'][eventIter]['id']] = await insertNewEventConfig(eventData, eventIter, eventData['events'][eventIter]['id'])
|
||||
}
|
||||
return eventConfig
|
||||
}
|
||||
|
||||
async function insertNewEventConfig(eventData, eventIter, eventID) {
|
||||
let toggle = false
|
||||
if(typeof eventData['events'][eventIter]['info'] !== 'string') {
|
||||
toggle = {}
|
||||
for(const toggleIter in eventData['events'][eventIter]['info']) {
|
||||
toggle[eventData['events'][eventIter]['id'] + '_' + (parseInt(toggleIter) + 1)] = false
|
||||
}
|
||||
}
|
||||
return {
|
||||
'toggle': toggle
|
||||
}
|
||||
}
|
||||
|
||||
async function readEventsConfigFile(eventData) {
|
||||
try {
|
||||
return await $.getJSON("static/asset/config/events.json", function(data) {
|
||||
return data
|
||||
})
|
||||
} catch {
|
||||
return await generateNewEventsConfigFile(eventData)
|
||||
}
|
||||
}
|
||||
|
||||
async function readEventsJsonFile() {
|
||||
return await $.getJSON("static/asset/json/events.json", function(data) {
|
||||
return data
|
||||
})
|
||||
}
|
||||
|
||||
$(document).ready(async function() {
|
||||
let eventData = await readEventsJsonFile()
|
||||
let eventConfig = await readEventsConfigFile(eventData)
|
||||
for(const eventIter in eventData['events']) {
|
||||
if(eventConfig[eventData['events'][eventIter]['id']] === undefined) {
|
||||
eventConfig[eventData['events'][eventIter]['id']] = await insertNewEventConfig(eventData, eventIter, eventData['events'][eventIter]['id'])
|
||||
}
|
||||
|
||||
if(eventData['events'][eventIter]['enabled']) {
|
||||
if(eventData['events'][eventIter]['type'] === 'stamp') {
|
||||
$('#stampevent_select').append(
|
||||
'<option value=' + eventData['events'][eventIter]['id'] + '>' + eventData['events'][eventIter]['name'] + '</option>'
|
||||
)
|
||||
} else if(eventData['events'][eventIter]['type'] === 'gift') {
|
||||
$('#giftevent_select').append(
|
||||
'<option value=' + eventData['events'][eventIter]['id'] + '>' + eventData['events'][eventIter]['name'] + '</option>'
|
||||
)
|
||||
} else if(eventData['events'][eventIter]['type'] === 'cross_online') {
|
||||
$('#crossevent_select').append(
|
||||
'<option value=' + eventData['events'][eventIter]['id'] + '>' + eventData['events'][eventIter]['name'] + '</option>'
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$('#event-submit').on('click', async function() {
|
||||
$.each($('span.check'), function(index, value) {
|
||||
for(const eventIter in eventData['events']) {
|
||||
let toggle = true
|
||||
if($(value).css('background-color').includes("54, 54, 54")) {
|
||||
toggle = false
|
||||
}
|
||||
|
||||
if(eventData['events'][eventIter]['id'] === $(value).parent().children('input').attr('name')) {
|
||||
eventConfig[eventData['events'][eventIter]['id']]['toggle'] = toggle
|
||||
} 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
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
await emit("manageEvents", {eventConfig: eventConfig}).then(
|
||||
function(response) {
|
||||
alert('Saved.')
|
||||
},
|
||||
function(error) {
|
||||
console.log(error)
|
||||
}
|
||||
)
|
||||
})
|
||||
|
||||
$('select').change(async function(event) {
|
||||
let selectClass = '#' + $(this).attr('id')
|
||||
let listClasses = {'#stampevent_select': 'stamp', '#giftevent_select': 'gift', '#crossevent_select': 'cross'}
|
||||
$('.' + listClasses[selectClass] + '.list').empty()
|
||||
for(const eventIter in eventData['events']) {
|
||||
if(eventData['events'][eventIter]['id'] === $(selectClass).val()) {
|
||||
$('.' + listClasses[selectClass] + '.list').append(
|
||||
generateEventToggles(eventData['events'][eventIter], eventConfig[eventData['events'][eventIter]['id']], eventData['events'][eventIter]['enabled'])
|
||||
)
|
||||
$('div.main').append(
|
||||
$('<div class="field is-grouped"><div class="control is-expanded"></div><div class="control"><button class="button is-link" id="event-submit">Apply</button></div></div>')
|
||||
)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
})
|
||||
function generateEventToggles(eventInfo, eventConfig, eventEnabled) {
|
||||
let cardContent = $('<div class="card-content">')
|
||||
if(typeof eventInfo['info'] === 'string') {
|
||||
cardContent.append(
|
||||
$('<div class="field is-horizontal">').append(
|
||||
$('<div class="field-label is-normal"><label class="label" for="' + eventInfo['id'] + '">Enable</label></div>')
|
||||
).append(
|
||||
$('<div class="field-body"><div class="field"><div class="control"><label class="switch is-rounded"><input type="checkbox" ' + (eventConfig['toggle'] ? 'checked' : '') + ' name="' + eventInfo['id'] + '"><span class="check"></span></label></div><p class="help">' + eventInfo['info'] + '</p></div></div>')
|
||||
)
|
||||
)
|
||||
} else {
|
||||
for(const infoIter in eventInfo['info']) {
|
||||
cardContent.append(
|
||||
$('<div class="field is-horizontal">').append(
|
||||
$('<div class="field-label is-normal"><label class="label" for="' + eventInfo['id'] + '_' + (parseInt(infoIter) + 1).toString() + '">Enable Set ' + (parseInt(infoIter) + 1).toString() + '</label></div>')
|
||||
).append(
|
||||
$('<div class="field-body"><div class="field"><div class="control"><label class="switch is-rounded"><input type="checkbox" ' + (eventConfig['toggle'][eventInfo['id'] + '_' + (parseInt(infoIter) + 1).toString()] ? 'checked' : '') + ' name="' + eventInfo['id'] + '_' + (parseInt(infoIter) + 1).toString() + '"><span class="check"></span></label></div><p class="help">' + eventInfo['info'][infoIter] + '</p></div></div>')
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
return cardContent
|
||||
}
|
||||
|
||||
async function generateNewEventsConfigFile(eventData) {
|
||||
let eventConfig = {}
|
||||
for(const eventIter in eventData['events']) {
|
||||
eventConfig[eventData['events'][eventIter]['id']] = await insertNewEventConfig(eventData, eventIter, eventData['events'][eventIter]['id'])
|
||||
}
|
||||
return eventConfig
|
||||
}
|
||||
|
||||
async function insertNewEventConfig(eventData, eventIter, eventID) {
|
||||
let toggle = false
|
||||
if(typeof eventData['events'][eventIter]['info'] !== 'string') {
|
||||
toggle = {}
|
||||
for(const toggleIter in eventData['events'][eventIter]['info']) {
|
||||
toggle[eventData['events'][eventIter]['id'] + '_' + (parseInt(toggleIter) + 1)] = false
|
||||
}
|
||||
}
|
||||
return {
|
||||
'toggle': toggle
|
||||
}
|
||||
}
|
||||
|
||||
async function readEventsConfigFile(eventData) {
|
||||
try {
|
||||
return await $.getJSON("static/asset/config/events.json", function(data) {
|
||||
return data
|
||||
})
|
||||
} catch {
|
||||
return await generateNewEventsConfigFile(eventData)
|
||||
}
|
||||
}
|
||||
|
||||
async function readEventsJsonFile() {
|
||||
return await $.getJSON("static/asset/json/events.json", function(data) {
|
||||
return data
|
||||
})
|
||||
}
|
||||
|
||||
$(document).ready(async function() {
|
||||
let eventData = await readEventsJsonFile()
|
||||
let eventConfig = await readEventsConfigFile(eventData)
|
||||
for(const eventIter in eventData['events']) {
|
||||
if(eventConfig[eventData['events'][eventIter]['id']] === undefined) {
|
||||
eventConfig[eventData['events'][eventIter]['id']] = await insertNewEventConfig(eventData, eventIter, eventData['events'][eventIter]['id'])
|
||||
}
|
||||
|
||||
if(eventData['events'][eventIter]['enabled']) {
|
||||
if(eventData['events'][eventIter]['type'] === 'stamp') {
|
||||
$('#stampevent_select').append(
|
||||
'<option value=' + eventData['events'][eventIter]['id'] + '>' + eventData['events'][eventIter]['name'] + '</option>'
|
||||
)
|
||||
} else if(eventData['events'][eventIter]['type'] === 'gift') {
|
||||
$('#giftevent_select').append(
|
||||
'<option value=' + eventData['events'][eventIter]['id'] + '>' + eventData['events'][eventIter]['name'] + '</option>'
|
||||
)
|
||||
} else if(eventData['events'][eventIter]['type'] === 'cross_online') {
|
||||
$('#crossevent_select').append(
|
||||
'<option value=' + eventData['events'][eventIter]['id'] + '>' + eventData['events'][eventIter]['name'] + '</option>'
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$('#event-submit').on('click', async function() {
|
||||
$.each($('span.check'), function(index, value) {
|
||||
for(const eventIter in eventData['events']) {
|
||||
let toggle = true
|
||||
if($(value).css('background-color').includes("54, 54, 54")) {
|
||||
toggle = false
|
||||
}
|
||||
|
||||
if(eventData['events'][eventIter]['id'] === $(value).parent().children('input').attr('name')) {
|
||||
eventConfig[eventData['events'][eventIter]['id']]['toggle'] = toggle
|
||||
} 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
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
await emit("manageEvents", {eventConfig: eventConfig}).then(
|
||||
function(response) {
|
||||
alert('Saved.')
|
||||
},
|
||||
function(error) {
|
||||
console.log(error)
|
||||
}
|
||||
)
|
||||
})
|
||||
|
||||
$('select').change(async function(event) {
|
||||
let selectClass = '#' + $(this).attr('id')
|
||||
let listClasses = {'#stampevent_select': 'stamp', '#giftevent_select': 'gift', '#crossevent_select': 'cross'}
|
||||
$('.' + listClasses[selectClass] + '.list').empty()
|
||||
for(const eventIter in eventData['events']) {
|
||||
if(eventData['events'][eventIter]['id'] === $(selectClass).val()) {
|
||||
$('.' + listClasses[selectClass] + '.list').append(
|
||||
generateEventToggles(eventData['events'][eventIter], eventConfig[eventData['events'][eventIter]['id']], eventData['events'][eventIter]['enabled'])
|
||||
)
|
||||
$('div.main').append(
|
||||
$('<div class="field is-grouped"><div class="control is-expanded"></div><div class="control"><button class="button is-link" id="event-submit">Apply</button></div></div>')
|
||||
)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
})
|
||||
|
||||
@@ -75,31 +75,51 @@ async function loadItems(itemSet, gene_edition, items_crew, items_stamp, items_s
|
||||
if('crew' in geneItems.items) {
|
||||
$('.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>')
|
||||
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) {
|
||||
$('.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>')
|
||||
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) {
|
||||
$('.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>')
|
||||
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) {
|
||||
$('.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>')
|
||||
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) {
|
||||
$('.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>')
|
||||
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,13 +10,13 @@ function getImageFileFormat(assetType, id) {
|
||||
}
|
||||
|
||||
function checkPregeneSubbg(subbg) {
|
||||
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))
|
||||
let stat = $.ajax({
|
||||
url:'static/asset/submonitor_bg/subbg_' + zeroPad(subbg, 4) + getImageFileFormat(0, parseInt(zeroPad(subbg, 4))),
|
||||
type:'HEAD',
|
||||
async: false
|
||||
}).status;
|
||||
if(stat === 200) return false
|
||||
else return true
|
||||
}
|
||||
|
||||
;
|
||||
@@ -45,8 +45,9 @@ $('#nemsys_select').change(function() {
|
||||
$('#nemsys_pre').fadeIn(200);
|
||||
});
|
||||
|
||||
$('[name="subbg"]').change(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)) )); });
|
||||
$('[name="subbg"]').change(async function() {
|
||||
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);
|
||||
});
|
||||
|
||||
|
||||
@@ -1,102 +1,118 @@
|
||||
{
|
||||
"events": [
|
||||
{
|
||||
"id": "xrecord",
|
||||
"type": "cross_online",
|
||||
"enabled": false,
|
||||
"name": "X-record",
|
||||
"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.",
|
||||
"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."
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "konasute",
|
||||
"type": "gift",
|
||||
"enabled": true,
|
||||
"name": "グレイスからの挑戦状!! (GRACE kara no chousenjou!!)",
|
||||
"info": [
|
||||
"Enables unlock for the song 'ドゥサンコオデッセイ!!' by cosMo@暴走P upon logging in.<br>This song is originally unlocked by having played it first on the コナステ (Konasute) version of Sound Voltex.",
|
||||
"Enables unlock for the song 'αzalea' by BlackY upon logging in.<br>This song is originally unlocked by having played it first on the コナステ (Konasute) version of Sound Voltex.",
|
||||
"Enables unlock for the song 'BAYONEX' by かめりあ as \"Revenge of Riot\" upon logging in.<br>This song is originally unlocked by having played it first on the コナステ (Konasute) version of Sound Voltex.",
|
||||
"Enables unlock for the song 'Reverenced Flower' by ぺのれり upon logging in.<br>This song is originally unlocked by having played it first on the コナステ (Konasute) version of Sound Voltex.",
|
||||
"Enables unlock for the song '《Re:miniscence》' by かねこちはる upon logging in.<br>This song is originally unlocked by having played it first on the コナステ (Konasute) version of Sound Voltex."
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "bpl2021",
|
||||
"type": "cross_online",
|
||||
"enabled": false,
|
||||
"name": "BPL応援 楽曲解禁スタンプラリー (BPL ouen gakkyoku kaikin stamp rally)",
|
||||
"info": "Songs in this event are originally unlocked by accessing the official BEMANI PRO LEAGUE 2021 website and obtaining the stamp by watching VODs of the BPL competition.<br>Enable this option to activate this event."
|
||||
},
|
||||
{
|
||||
"id": "bsb2021",
|
||||
"type": "cross_online",
|
||||
"enabled": false,
|
||||
"name": "BEMANI 2021真夏の歌合戦5番勝負 (BEMANI 2021 manatsu no utagassen 5 ban shoubu)",
|
||||
"info": "This is a cross-BEMANI event. Songs are originally unlocked by playing participating BEMANI games and earn 'Yell' points.<br>Enable this option to activate this event."
|
||||
},
|
||||
{
|
||||
"id": "sdvx10thstamp",
|
||||
"type": "stamp",
|
||||
"enabled": true,
|
||||
"name": "SOUND VOLTEX 10th Anniversary",
|
||||
"info": "Stamp event to unlock 7 songs.<br>Toggle this on to enable this stamp event."
|
||||
},
|
||||
{
|
||||
"id": "reflecstamp",
|
||||
"type": "stamp",
|
||||
"enabled": true,
|
||||
"name": "REFLEC BEAT Song Stamp Event",
|
||||
"info": "Stamp event to unlock 5 songs originally from the REFLEC BEAT game series.<br>Toggle this on to enable this stamp event."
|
||||
},
|
||||
{
|
||||
"id": "gmz2022",
|
||||
"type": "cross_online",
|
||||
"enabled": false,
|
||||
"name": "いちかのごちゃまぜMix UP! (Ichika no gochamaze Mix UP! )",
|
||||
"info": "This is a cross-BEMANI event. Songs include some that are shared from other BEMANI games and some that are mashup/remixes of the shared songs. These are originally unlocked by playing participating BEMANI games and earning points to fill different gauges.<br><br>Enable this option to activate this event."
|
||||
},
|
||||
{
|
||||
"id": "bpl2022",
|
||||
"type": "gift",
|
||||
"enabled": true,
|
||||
"name": "BEMANI PRO LEAGUE -SEASON 2-! Original Song",
|
||||
"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.",
|
||||
"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.",
|
||||
"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.",
|
||||
"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.",
|
||||
"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.",
|
||||
"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.",
|
||||
"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.",
|
||||
"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.",
|
||||
"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.",
|
||||
"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.",
|
||||
"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."
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pcbevent",
|
||||
"type": "stamp",
|
||||
"enabled": false,
|
||||
"name": "PCBおかわりスタンプイベント | PCB Refill Stamp Event",
|
||||
"info": "Stamp event to earn PCB. Once the stamp goal is complete, it will start over and you can earn more PCB.<br>Toggle this on to enable this stamp event."
|
||||
},
|
||||
{
|
||||
"id": "2023stamp",
|
||||
"type": "stamp",
|
||||
"enabled": true,
|
||||
"name": "んだんだぺったん☆二〇二三 | New Year 2023 Stamp Event",
|
||||
"info": "Stamp event to unlock the んだんだぺったん☆二〇二三 appeal card.<br>Toggle this on to enable this stamp event."
|
||||
},
|
||||
{
|
||||
"id": "himehina",
|
||||
"type": "stamp",
|
||||
"enabled": true,
|
||||
"name": "HIMEHINAコラボイベント | HIMEHINA Collab Stamp Event",
|
||||
"info": "Stamp event to unlock the HIMEHINA crew.<br>Toggle this on to enable this stamp event."
|
||||
}
|
||||
]
|
||||
}
|
||||
{
|
||||
"events": [
|
||||
{
|
||||
"id": "xrecord",
|
||||
"type": "cross_online",
|
||||
"enabled": false,
|
||||
"name": "X-record",
|
||||
"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>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",
|
||||
"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"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "konasute",
|
||||
"type": "gift",
|
||||
"enabled": true,
|
||||
"name": "グレイスからの挑戦状!! (GRACE kara no chousenjou!!)",
|
||||
"info": [
|
||||
"Enables unlock for the song 'ドゥサンコオデッセイ!!' by cosMo@暴走P upon logging in.<br>This song is originally unlocked by having played it first on the コナステ (Konasute) version of Sound Voltex.",
|
||||
"Enables unlock for the song 'αzalea' by BlackY upon logging in.<br>This song is originally unlocked by having played it first on the コナステ (Konasute) version of Sound Voltex.",
|
||||
"Enables unlock for the song 'BAYONEX' by かめりあ as \"Revenge of Riot\" upon logging in.<br>This song is originally unlocked by having played it first on the コナステ (Konasute) version of Sound Voltex.",
|
||||
"Enables unlock for the song 'Reverenced Flower' by ぺのれり upon logging in.<br>This song is originally unlocked by having played it first on the コナステ (Konasute) version of Sound Voltex.",
|
||||
"Enables unlock for the song '《Re:miniscence》' by かねこちはる upon logging in.<br>This song is originally unlocked by having played it first on the コナステ (Konasute) version of Sound Voltex."
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "bpl2021",
|
||||
"type": "cross_online",
|
||||
"enabled": false,
|
||||
"name": "BPL応援 楽曲解禁スタンプラリー (BPL ouen gakkyoku kaikin stamp rally)",
|
||||
"info": "Songs in this event are originally unlocked by accessing the official BEMANI PRO LEAGUE 2021 website and obtaining the stamp by watching VODs of the BPL competition.<br>Enable this option to activate this event."
|
||||
},
|
||||
{
|
||||
"id": "bsb2021",
|
||||
"type": "cross_online",
|
||||
"enabled": false,
|
||||
"name": "BEMANI 2021真夏の歌合戦5番勝負 (BEMANI 2021 manatsu no utagassen 5 ban shoubu)",
|
||||
"info": "This is a cross-BEMANI event. Songs are originally unlocked by playing participating BEMANI games and earn 'Yell' points.<br>Enable this option to activate this event."
|
||||
},
|
||||
{
|
||||
"id": "sdvx10thstamp",
|
||||
"type": "stamp",
|
||||
"enabled": true,
|
||||
"name": "SOUND VOLTEX 10th Anniversary",
|
||||
"info": "Stamp event to unlock 7 songs in any order.<br>Toggle this on to enable this stamp event."
|
||||
},
|
||||
{
|
||||
"id": "reflecstamp",
|
||||
"type": "stamp",
|
||||
"enabled": true,
|
||||
"name": "REFLEC BEAT Song Stamp Event",
|
||||
"info": "Stamp event to unlock 5 songs originally from the REFLEC BEAT game series.<br>Toggle this on to enable this stamp event."
|
||||
},
|
||||
{
|
||||
"id": "gmz2022",
|
||||
"type": "cross_online",
|
||||
"enabled": false,
|
||||
"name": "いちかのごちゃまぜMix UP! (Ichika no gochamaze Mix UP! )",
|
||||
"info": "This is a cross-BEMANI event. Songs include some that are shared from other BEMANI games and some that are mashup/remixes of the shared songs. These are originally unlocked by playing participating BEMANI games and earning points to fill different gauges.<br><br>Enable this option to activate this event."
|
||||
},
|
||||
{
|
||||
"id": "bpl2022",
|
||||
"type": "gift",
|
||||
"enabled": true,
|
||||
"name": "BEMANI PRO LEAGUE -SEASON 2-! Original Song",
|
||||
"info": [
|
||||
"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'",
|
||||
"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'",
|
||||
"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'",
|
||||
"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'",
|
||||
"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 '灼ナル刃、破カヰ譜'",
|
||||
"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'",
|
||||
"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 'イグノアザーズ'",
|
||||
"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'",
|
||||
"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'",
|
||||
"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Ā'",
|
||||
"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'"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "pcbevent",
|
||||
"type": "stamp",
|
||||
"enabled": false,
|
||||
"name": "PCBおかわりスタンプイベント | PCB Refill Stamp Event",
|
||||
"info": "Stamp event to earn PCB. Once the stamp goal is complete, it will start over and you can earn more PCB.<br>Toggle this on to enable this stamp event."
|
||||
},
|
||||
{
|
||||
"id": "2023stamp",
|
||||
"type": "stamp",
|
||||
"enabled": true,
|
||||
"name": "んだんだぺったん☆二〇二三 | New Year 2023 Stamp Event",
|
||||
"info": "Stamp event to unlock the んだんだぺったん☆二〇二三 appeal card.<br>Toggle this on to enable this stamp event."
|
||||
},
|
||||
{
|
||||
"id": "himehina",
|
||||
"type": "stamp",
|
||||
"enabled": true,
|
||||
"name": "HIMEHINAコラボイベント | HIMEHINA Collab 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],
|
||||
"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":[
|
||||
@@ -127,6 +136,16 @@
|
||||
"bgm": [48, 49, 50, 51],
|
||||
"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]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user