mirror of
https://github.com/Lawin0129/AthenaProfileGenerator.git
synced 2026-01-13 03:02:22 +01:00
Merge pull request #2 from PRO100KatYT/main
This commit is contained in:
@@ -103,6 +103,55 @@
|
||||
"favorite": false
|
||||
},
|
||||
"quantity": 1
|
||||
},
|
||||
"characterloadout": {
|
||||
"templateId": "CosmeticLoadout:LoadoutSchema_Character",
|
||||
"attributes": {
|
||||
"slots": [],
|
||||
"display_name": "LawinServer"
|
||||
},
|
||||
"quantity": 1
|
||||
},
|
||||
"emotesloadout": {
|
||||
"templateId": "CosmeticLoadout:LoadoutSchema_Emotes",
|
||||
"attributes": {
|
||||
"slots": [],
|
||||
"display_name": "LawinServer"
|
||||
},
|
||||
"quantity": 1
|
||||
},
|
||||
"platformloadout": {
|
||||
"templateId": "CosmeticLoadout:LoadoutSchema_Platform",
|
||||
"attributes": {
|
||||
"slots": [
|
||||
{
|
||||
"slot_template": "CosmeticLoadoutSlotTemplate:LoadoutSlot_Banner_Icon",
|
||||
"equipped_item": "HomebaseBannerIcon:StandardBanner1"
|
||||
},
|
||||
{
|
||||
"slot_template": "CosmeticLoadoutSlotTemplate:LoadoutSlot_Banner_Color",
|
||||
"equipped_item": "HomebaseBannerColor:DefaultColor1"
|
||||
}
|
||||
],
|
||||
"display_name": "LawinServer"
|
||||
},
|
||||
"quantity": 1
|
||||
},
|
||||
"wrapsloadout": {
|
||||
"templateId": "CosmeticLoadout:LoadoutSchema_Wraps",
|
||||
"attributes": {
|
||||
"slots": [],
|
||||
"display_name": "LawinServer"
|
||||
},
|
||||
"quantity": 1
|
||||
},
|
||||
"vehicleloadout": {
|
||||
"templateId": "CosmeticLoadout:LoadoutSchema_Vehicle",
|
||||
"attributes": {
|
||||
"slots": [],
|
||||
"display_name": "LawinServer"
|
||||
},
|
||||
"quantity": 1
|
||||
}
|
||||
},
|
||||
"stats": {
|
||||
@@ -112,6 +161,23 @@
|
||||
"loadouts": [
|
||||
"loadout1"
|
||||
],
|
||||
"loadout_presets": {
|
||||
"CosmeticLoadout:LoadoutSchema_Character": {
|
||||
"0": "characterloadout"
|
||||
},
|
||||
"CosmeticLoadout:LoadoutSchema_Emotes": {
|
||||
"0": "emotesloadout"
|
||||
},
|
||||
"CosmeticLoadout:LoadoutSchema_Platform": {
|
||||
"0": "platformloadout"
|
||||
},
|
||||
"CosmeticLoadout:LoadoutSchema_Wraps": {
|
||||
"0": "wrapsloadout"
|
||||
},
|
||||
"CosmeticLoadout:LoadoutSchema_Vehicle": {
|
||||
"0": "vehicleloadout"
|
||||
}
|
||||
},
|
||||
"favorite_victorypose": "",
|
||||
"mfa_reward_claimed": false,
|
||||
"quest_manager": {
|
||||
|
||||
75
index.js
75
index.js
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user