Temps

Revision as of 00:39, 11 May 2020 by Leoetlino (talk | contribs) (Created page with "== Références == * Pour plus de détails techniques, consultez l'article sur le WorldMgr. Des parties de l'article ont été extraites, simplifiées et reproduites ici....")
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 au moins l'une des conditions suivantes est vérifiée, la cinématique de la lune de sang ne sera pas déclenchée.

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) :

  • Le flag WM_BloodyDay est activé, ce qui signifie qu'une lune de sang est prévue la nuit d'après.
  • Le timer lune de sang est réinitialisé à 0,0.

Sinon, le "Bloody end reserve timer" est réglé à 150 pour s'assurer que WM_BloodyDay est désactivé 5 minutes dans le jeu (= 5 secondes dans la vraie vie) après une lune de sang.

Inhibiteurs de la lune de sang

Si au moins l'une des conditions suivantes est vérifiée, la cinématique de la lune de sang ne sera pas déclenchée.

  • Link n'est pas dans le monde ouvert (par exemple, s'il est dans un sanctuaire ou une créature divine)
  • Link est dans le Château d'Hyrule (i.e. la mini-carte 3D du château d'Hyrule est visible)
  • Link est en train de battre Ganon (le boss final)
  • Le flag BloodyMoonProhibition est activé : les lunes de sang sont interdites par un événement (cinématique, mini-jeu, etc.)
  • Bataille contre Vah Medoh
  • Bataille contre Vah Naboris
  • Bataille contre Vah Ruta
  • Une certaine condition en rapport avec le Sky Manager

Cependant, celles-ci n'empêchent pas le timer lune de sang d'avancer, ou le flag WM_BloodyDay d'être activé.

Note : Vah Rudania n'est pas présent sur la liste. C'est normal et les lunes de sang ne peuvent quand même pas se produire durant la séquence Vah Rudania parce que le flag BloodyMoonProhibition est activé pendant celle-ci.

Cas spécial : passer le temps près d'un feu ou dormir

Lorsque vous passez le temps près d'un feu ou lorsque vous dormez, l'horloge est instantanément réglée à l'heure de destination. Jamais le jeu n'accélère ou ne ralentit l'écoulement du temps.

Si le changement d'heure fait que l'horloge franchit minuit, le jeu active un flag spécial qui force le Gestionnaire du temps (Time Manager) à exécuter la fonction "handle new day" une fois, même lorsqu'il n'est pas minuit. Aussi, le jeu vérifie explicitement[1] si une lune de sang a été planifiée et déclenche la cinématique si nécessaire.

Type de lune

La phase de la lune est déterminée à partir du nombre de jours dans le jeu (WM_NumberOfDays). La formule exacte est (nombreDeJours + x + 1) % 8[2] où x est égal à 1 si l'heure actuelle est > 180,0 (midi) et % est l'opérateur modulo.

Si un type de lune a été réglé manuellement (par exemple en utilisant AIDef:Action/EventSetMoonType), cette valeur sera utilisée pour la phase de lune. On ne sait pas s'il peut arriver que le jeu règle le type de lune manuellement.

Le planning des lunes n'a rien à voir avec le planning des lunes de sang.

Phases de lune

Voici les valeurs possibles et les phases associées :

  • 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"

Références

  • Pour plus de détails techniques, consultez l'article sur le WorldMgr. Des parties de l'article ont été extraites, simplifiées et reproduites ici.
  1. Demo007_1
  2. 0x71010E8200 [nx-1.5.0 executable]