天气预报员

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 times

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

小雪