Silverfeelin / SkyGame-Planner

Sky:CotL unlock planner/tracker
Other
28 stars 4 forks source link

Sky Planner

Sky Planner is an online tool to track items and progress in Sky: Children of the Light.

Click here to go to the website.

Noteworthy features:

If you have any suggestions, please let me know by opening a new ticket on the Issues page.

Data

All data is read from JSON files located in /src/assets/data/. The below diagram shows the structure of this data.

In the JSON files references between objects are stored as 10-length nanoids. For example, the reference "spirit": "1234567890" in JSON is resolved by looking up the spirit with "guid": "1234567890".

Data structure

For those who know what they're doing the data is available through the skyData object in the console. The helpers CostHelper, DateHelper and NodeHelper are also available.

This allows you to do cool things with your own code, like measuring how much of each in-game currency you've spent on items:

// Select all items unlocked through spirit trees.
var unlockedItems = skyData.itemConfig.items.filter(item => item.unlocked && item.nodes?.length);
// Select the unlocked nodes from these items.
var unlockedNodes = unlockedItems.map(item => item.nodes.filter(n => n.unlocked)).flat();
// Add up the currencies spent on these nodes.
var spent = CostHelper.add(CostHelper.create(), ...unlockedNodes);
// Log the results.
console.log('Spent currencies on items:', spent)
// > Spent currencies on items: {ac: 1, c: 18, ec: 0, h: 8, sc: 0, sh: 0}

// Select all bought IAPs
const spentIap = skyData.iapConfig.items.filter(a => a.bought).reduce((a,v) => a+v.price, 0);
console.log('Spent (USD) on IAP:', spentIap.toFixed(2));
// > Spent (USD) on IAP: 29.99

License

Most of the source code is publicly available under the MIT License. Please refer to the license for specific details.

Credits

Click here to go to the website.