Sky Planner is an online tool to track items and progress in Sky: Children of the Light.
Noteworthy features:
If you have any suggestions, please let me know by opening a new ticket on the Issues page.
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"
.
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
Most of the source code is publicly available under the MIT License. Please refer to the license for specific details.