天气预报员
The time in Eorzea is .
- Some places have multiple possible weather rates depending on certain conditions. For example, Amh Araeng will always be Everlasting Light until a certain point in the MSQ.
- Certain special weathers such as Tension will replace the predicted weather depending on certain conditions.
- The weathers associated with The Endeavor have no apparent correlation with the weathers experienced during the voyage.
Forecaster
Select a place first
Select a place first
Upcoming Weather
算法
The weather in Eorzea can be predicted. First, the number of Eorzean hours and days since the Unix epoch is calculated.
// Get seconds since Jan 1st 1970
const unixSeconds = Date.now() / 1000
// Get Eorzean hours/days since (1 Eorzean hour = 175 seconds)
const eorzeanHours = Math.floor(unixSeconds / 175)
const eorzeanDays = Math.floor(eorzeanHours / 24)
Next, compute which of the 3 time chunks the hour falls in.
let timeChunk = (eorzeanHours % 24) - (eorzeanHours % 8)
// Adjust time chunk so that
// 16:00 is 00,
// 00:00 is 08,
// 08:00 is 16
timeChunk = (timeChunk + 8) % 24
The number of Eorzean days and the time chunk form the seed that is hashed.
const seed = eorzeanDays * 100 + timeChunk
// Do a little hashing
const step1 = (seed << 11) ^ seed
const step2 = (step1 >>> 8) ^ step1
// Return a number between 0-99 inclusive
const weatherChance = step2 % 100
With weatherChance
computed as a number from 0 to 99, each zone can determine its weather. For example, the weather in Eureka Anemos is Gales if weatherChance
is between 30 and 59. Its full table of weathers is
weatherChance | Weather |
---|---|
00-29 | |
30-59 | |
60-89 | |
90-99 |