Add LEGO© Kits, Jam Tracks, Cars and Instruments.

This commit is contained in:
PRO100KatYT
2024-05-17 06:41:59 +02:00
parent d51845636d
commit c9ac14befb

View File

@@ -2,45 +2,60 @@ const { default: request } = require("axios");
const fs = require("fs");
let athena = require("./athena_template.json");
console.log("Fortnite Athena Profile Generator by Lawin v1.0.2\n");
request.get("https://fortnite-api.com/v2/cosmetics/br").then(resp => {
const fixedBackendValues = {
"AthenaEmoji": "AthenaDance",
"AthenaSpray": "AthenaDance",
"AthenaToy": "AthenaDance",
"AthenaPetCarrier": "AthenaBackpack",
"AthenaPet": "AthenaBackpack",
"SparksDrum": "SparksDrums",
"SparksMic": "SparksMicrophone"
}
console.log("Fortnite Athena Profile Generator by Lawin v1.0.3\n");
request.get("https://fortnite-api.com/v2/cosmetics").then(resp => {
let data = resp.data.data;
console.log("[GEN] Starting to generate...\n");
data.forEach(item => {
if (item.id.toLowerCase().includes("random")) return;
for (var mode in data) {
if (mode == "lego") continue; // Adding lego characters to the profile is unnecessary
// Credits to PRO100KatYT for backendValue fixes
if (item.type.backendValue == "AthenaEmoji" || item.type.backendValue == "AthenaSpray" || item.type.backendValue == "AthenaToy") item.type.backendValue = "AthenaDance";
if (item.type.backendValue == "AthenaPetCarrier") item.type.backendValue = "AthenaBackpack";
data[mode].forEach(item => {
if (item.id.toLowerCase().includes("random")) return;
let id = `${item.type.backendValue}:${item.id}`;
let variants = [];
if (mode == "tracks") item.type = {"backendValue": "SparksSong"};
if (item.variants) {
item.variants.forEach(obj => {
variants.push({
"channel": obj.channel || "",
"active": obj.options[0].tag || "",
"owned": obj.options.map(variant => variant.tag || "")
// Credits to PRO100KatYT for backendValue fixes
if (fixedBackendValues.hasOwnProperty(item.type.backendValue)) item.type.backendValue = fixedBackendValues[item.type.backendValue];
let id = `${item.type.backendValue}:${item.id}`;
let variants = [];
if (item.variants) {
item.variants.forEach(obj => {
variants.push({
"channel": obj.channel || "",
"active": obj.options[0].tag || "",
"owned": obj.options.map(variant => variant.tag || "")
})
})
})
}
}
athena.items[id] = {
"templateId": id,
"attributes": {
"max_level_bonus": 0,
"level": 1,
"item_seen": true,
"xp": 0,
"variants": variants,
"favorite": false
},
"quantity": 1
}
})
athena.items[id] = {
"templateId": id,
"attributes": {
"max_level_bonus": 0,
"level": 1,
"item_seen": true,
"xp": 0,
"variants": variants,
"favorite": false
},
"quantity": 1
}
})
}
fs.writeFileSync("./athena.json", JSON.stringify(athena, null, 2));
const stats = fs.statSync("./athena.json");