Skip to content

Instantly share code, notes, and snippets.

@dogwong
Last active December 19, 2018 13:41
Show Gist options
  • Save dogwong/be5ad8c6d16354086e7001c45eec70f8 to your computer and use it in GitHub Desktop.
Save dogwong/be5ad8c6d16354086e7001c45eec70f8 to your computer and use it in GitHub Desktop.
Transform older version of exports (without profile) to newer one (with profile)
var OldExport =
// Replace your export data BELOW
// =================================
{"cards":[],"items":[[4,4,4,4,4,4,4],[4,4,4,4,4,4,4],[4,4,4,4,4,4,4],[4,4,4,4,4,4,4],[4,4,4,4,4,4,4],[4,4,4,4],[4,4,4,4]]}
// =================================
// Replace your export data ABOVE
console.clear();
console.log("Downloading card data from bandori.ga...");
var xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", "https://api.bandori.ga/v1/jp/card?limit=999&page=1&sort=asc&orderKey=cardId", false);
xmlHttp.send(null);
var cardData = JSON.parse(xmlHttp.response);
console.log("Done!");
console.log("Transforming your data....");
var newExport = {
"name": "Upgraded data",
"items": {
"PoppinParty": [
4,
4,
4,
4,
4,
4,
4
],
"Afterglow": [
4,
4,
4,
4,
4,
4,
4
],
"HelloHappyWorld": [
4,
4,
4,
4,
4,
4,
4
],
"PastelPalettes": [
4,
4,
4,
4,
4,
4,
4
],
"Roselia": [
4,
4,
4,
4,
4,
4,
4
],
"Plaza": [
4,
4,
4,
4
],
"Menu": [
4,
4,
4,
4
]
},
"cards": []
}
if (OldExport.hasOwnProperty("cards")) {
OldExport.cards.forEach(card => {
// old format: id * 1000 + ep * 100 + skill * 10 + exclude
var cardId = Math.floor(card / 1000);
var cardEp = Math.floor(card % 1000 / 100);
var cardSkill = Math.floor(card % 100 / 10);
var cardExclude = Math.floor(card % 10);
// console.log(card, cardId, cardEp, cardSkill, cardExclude);
var LoopBreak = {};
try {
cardData.data.forEach(card => {
if (card.cardId == cardId) {
newExport.cards.push({
"id": cardId,
"ep": cardEp,
"skill": cardSkill,
"level": card.levelLimit,
"train": (card.rarity >= 3) ? 1 : 0,
"art": (card.rarity >= 3) ? 1 : 0,
"exclude": cardExclude == 1 ? false : true
});
throw LoopBreak;
}
});
} catch (e) {
if (e !== LoopBreak) throw e;
}
});
}
if (OldExport.hasOwnProperty("items")) {
for (let i = 0; i < OldExport.items.length; i++) {
const items = OldExport.items[i];
var itemName = "";
if (items.length == 7) {
switch (i) {
case 0:
itemName = "PoppinParty";
break;
case 1:
itemName = "Afterglow";
break;
case 2:
itemName = "HelloHappyWorld";
break;
case 3:
itemName = "PastelPalettes";
break;
case 4:
itemName = "Roselia";
break;
default:
break;
}
} else if (items.length == 4) {
switch (i) {
case 5:
itemName = "Plaza";
break;
case 6:
itemName = "Menu";
break;
default:
break;
}
}
if (itemName != "") {
newExport.items[itemName] = items;
}
}
}
console.log("Done!");
console.log(JSON.stringify(newExport));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment