Temps

From ZeldaMods (Breath of the Wild)
Revision as of 00:13, 11 May 2020 by Leoetlino (talk | contribs) (Created page with "Si le joueur a quitté le plateau du Prélude et que le timer de la lune de sang est > 2520,0 (7 jours dans le jeu) :")
Jump to navigation Jump to search
Other languages:

Cet article documente comment le temps s'écoule dans Breath of the Wild.

Résumé

À propos du temps

L'horloge commence à 05:15 et le temps s'écoule normalement jusqu'à 11:00. L'activation de la Tour du Prélude règle l'horloge à 11:00, affiche l'heure sur l'interface utilisateur et rétablit l'écoulement normal du temps.

Cependant :

  • Si la scène cinématique de sortie du Sanctuaire de la Renaissance n'a pas été jouée, l'horloge est réglée à 05:15 et figée.
  • Si elle a été jouée mais que Link n'a pas reçu la quête Le plateau isolé, l'heure ne peut pas dépasser 11:00.

À propos des lunes de sang planifiées

Les lunes de sang peuvent se produire à minuit si et seulement si le flag WM_BloodyDay est activé. Il n'y a aucun moyen de forcer la planification d'une lune de sang par le biais d'actions provenant du joueur.

Ce flag est activé la nuit d'avant à minuit si Link a quitté le plateau et si le timer lune de sang a atteint 7 jours dans le jeu. Pas 7 jours et 15 minutes, mais exactement 7 jours (2520/360 = 7). Aussi, notez qu'après l'activation du flag WM_BloodyDay, Link n'a pas besoin d'attendre près d'un feu que le temps passe.

Le timer de la lune de sang commence à compter dès que Link a quitté le Sanctuaire de la Renaissance d'une façon normale. Tout moment passé dans un état où le timer principal du jeu est suspendu ne compte pas. Cependant, il n'est pas nécessaire que Link soit dans le monde ouvert : le temps que vous passez dans les sanctuaires, les créatures divines, etc. compte.

Passer le temps près d'un feu ou dormir à plusieurs reprises n'aide pas du tout pour provoquer une lune de sang. C'est en fait tout le contraire, car le timer n'avance pas pendant les cinématiques.

Détails

En interne, l'heure du jour est stockée sous la forme d'un flottant dans l'intervalle [0,0 ; 360,0]. 0,0 représente minuit et 359,x 23h59.

Quand le jeu démarre, l'heure est réglée à 78,75 (05h15) et le "Bloody Moon end reserve timer" est réglé à 0. Si vous avez déjà des données de jeu, le timer du jeu sera rechargé depuis votre sauvegarde.

À chaque tick du jeu

Si la cinématique de sortie du Sanctuaire de la Renaissance (Demo103_0) n'a pas été jouée, l'heure est réinitialisée à 78,75. Cela signifie que si vous arrivez à clipper hors du sanctuaire et éviter la cinématique, l'horloge du jeu restera coincée à 05h15.

Sinon, s'il n'y a pas d'événement ou de cinématique actif :

  • Le timer du jeu est incrémenté de 0,0083333 × le nombre de frames écoulées. En pratique, cela signifie que 1 minute dans le jeu = 1 seconde dans la vraie vie.
  • Si Link n'a pas reçu la quête Le plateau isolé et si l'heure actuelle est >= 165,0 (11h00), l'heure est réglée à 11h00. En pratique, cela veut dire que l'horloge n'ira pas au-delà de 11h00 tant que la Tour du Prélude n'aura pas été activée et la cinématique avec le vieil homme activée.
  • Si le timer atteint 360,0 (minuit), le jeu effectue des vérifications spéciales. Cf la section suivante.
  • Une valeur appelée "le timer de la lune de lang" est aussi incrémentée de 0,0083333 × le nombre de frames écoulées.

Après, si le "Bloody Moon end reserve timer" est non nul, celui-ci est décrémenté. Si la nouvelle valeur est nulle, le flag WM_BloodyDay est désactivé.

À chaque fois que le timer atteint 360,0 (minuit)

D'abord, WM_NumberOfDays est incrémenté. Cela affecte la phase de la lune.

Si une lune de sang est planifiée :

Si les lunes de sang sont interdites (voir ci-dessous pour une liste complète de conditions), le timer est réglé à 2880,0 et rien ne se passe. Sinon, la cinématique de la lune de sang (Demo011_0) est activée et le timer est réinitialisé à 0,0.

Le jeu détermine ensuite s'il faut planifier une lune de sang ou non :

Si le joueur a quitté le plateau du Prélude et que le timer de la lune de sang est > 2520,0 (7 jours dans le jeu) :

  • The WM_BloodyDay flag is set to true, which means that a Blood Moon is scheduled for the next night.
  • The Blood Moon timer is reset to 0.0.

Otherwise, the "Bloody end reserve timer" is set to 150. This ensures that WM_BloodyDay is cleared 5 in-game minutes (= 5 seconds in real life) after a Blood Moon occurs.

Blood Moon inhibitors

If any of the following conditions are true, the Blood Moon cutscene will not be triggered.

  • Link is not in the main overworld (e.g. in a shrine or divine beast)
  • Link is in Hyrule Castle (i.e. the Hyrule Castle 3D minimap is visible)
  • Link is fighting Dark Beast Ganon
  • The BloodyMoonProhibition flag is set: Blood moons are prohibited by an event (cutscene, minigame, etc.)
  • Vah Medoh battle
  • Vah Naboris battle
  • Vah Ruta battle
  • Some condition involving the Sky Manager

However, these do not prevent the Blood Moon timer from advancing, or the WM_BloodyDay flag from being set.

Note: Vah Rudania is missing from the list. This is normal and blood moons still cannot happen during the Vah Rudania battle sequence because the BloodyMoonProhibition flag is set during it.

Special case: passing time at a campfire or sleeping

When you pass time at a campfire or sleep, the time is instantly set to the destination time. The game never speeds up or slows down the flow of time.

If the time change causes the clock to cross midnight, the game sets a special flag that causes the Time Manager to run the "handle new day" function once, even if it's not midnight. The game also explicitly checks[1] if a Blood Moon was scheduled to happen and triggers the cutscene if needed.

Moon type

The moon type is calculated based on the number of in-game days (WM_NumberOfDays). The exact formula is (numberOfDays + x + 1) % 8[2], where x is equal to 1 if the current time is > 180.0 (noon) and % is the modulo operator.

If a moon type was set manually (for instance using AIDef:Action/EventSetMoonType), that value will be used as the moon type. It is unclear whether the game ever sets the moon type manually.

The moon schedule has nothing to do with the blood moon schedule.

Moon phases

Here are the possible values and associated phases:

  • 0: Full Moon or Blood Moon or on a Bloody Day after 04:00
  • 1: Waning gibbous
  • 2: Third quarter
  • 3: "26th-day"
  • 4: New moon
  • 5: Waxing crescent
  • 6: "Seven-day"
  • 7: "13-day"

References

  • For more technical details, read the article on the WorldMgr. Sections of that article were extracted from it and simplified here.
  1. Demo007_1
  2. 0x71010E8200 [nx-1.5.0 executable]