Search...
.world
Athena's world weather is pretty basic.
ts
* --- Top of Map ---
* 0 - Weather at Index 0
* 1 - Weather at Index 1
* 2 - Weather at Index 2
* 3 - Weather at Index 3
* 4 - Weather at Index 4
* 5 - Weather at Index 5
* --- Bottom of Map ---
It simply pops weather from the bottom of an array, and appends it to the top.
The weather index at 0 in the arrow below is the top of the map.
ts
[
    'EXTRASUNNY', // Top of the Map
    'EXTRASUNNY',
    'CLEAR',
    'CLOUDS',
    'OVERCAST',
    'RAIN', // Bottom of the Map
    'THUNDER',
    'RAIN',
    'FOGGY',
    'OVERCAST',
    'CLEARING' // Next weather to cycle from top to bottom. Gets appended to top.
]
Basically the next weather at the top of the map will be CLEARING.
setWeatherRotation
Used to change the entire weather forecast for the forseeable future.
ts
Athena.systems.world.setWeatherRotation([
    'EXTRASUNNY', // Top of the Map
    'EXTRASUNNY',
    'CLEAR',
    'CLOUDS',
    'OVERCAST',
    'RAIN', // Bottom of the Map
    'THUNDER',
    'RAIN',
    'FOGGY',
    'OVERCAST',
    'CLEARING' // Next weather to cycle from top to bottom. Gets appended to top.
]);
registerTimeRule
Used to override the default time system.
The callback provided must return an hour, minute and if it should updateWeather.
ts
let hour = 0;
let minute = 0;
function doPayChecks() {
    // just an example of what you can do with this...
}
Athena.systems.world.registerTimeRule(() => {
    let updateWeather = false;
    minute += 1;
    if (minute >= 59) {
        minute = 0;
        hour += 1;
        doPayChecks();
        updateWeather = true;
    }
    if (hour >= 24) {
        hour = 0;
    }
    return { hour, minute, updateWeather };
});
getWorldHour
Returns the current world hour.
ts
const hour = Athena.systems.world.getWorldHour();
getWorldMinute
Returns the current world minute.
ts
const minute = Athena.systems.world.getWorldMinute();
 v4 Athena Framework
v4 Athena Framework