autopatrol, translator
476
edits
(Created page with "Arrête le temps à 14:00") |
No edit summary |
||
(46 intermediate revisions by the same user not shown) | |||
Line 61: | Line 61: | ||
** Demo103_0 est la cinématique de "Quitter le sanctuaire de la Renaissance", et Demo997_0 est une cinématique qui n'existe plus. | ** Demo103_0 est la cinématique de "Quitter le sanctuaire de la Renaissance", et Demo997_0 est une cinématique qui n'existe plus. | ||
* Si [[AiDef:Action/AdvanceTime]] ou n'importe quelle autre fonction qui peut changer le temps de la journée est appelée, le temps est mis à jour à ce moment-là. | * Si [[AiDef:Action/AdvanceTime]] ou n'importe quelle autre fonction qui peut changer le temps de la journée est appelée, le temps est mis à jour à ce moment-là. | ||
* Ensuite, le jeu exécute les [[# | * Ensuite, le jeu exécute les [[#Vérifications de minuit]]. | ||
*' ''Mise à jour du temps de la journée''': Il y a de nombreux modes de mise à jour possibles. Dans la plupart des cas, le mode de mise à jour est 0. | *'''Mise à jour du temps de la journée''': Il y a de nombreux modes de mise à jour possibles. Dans la plupart des cas, le mode de mise à jour est 0. | ||
{|class="wikitable" | {|class="wikitable" | ||
! Mode !! Description | ! Mode !! Description | ||
Line 109: | Line 109: | ||
| 23 || Arrête le temps à 14:00 | | 23 || Arrête le temps à 14:00 | ||
|- | |- | ||
| 24 || | | 24 || Arrête le temps à 15:00 | ||
|- | |- | ||
| 25 || | | 25 || Arrête le temps à 16:00 | ||
|- | |- | ||
| 27 || | | 27 || Arrête le temps à 18:00 | ||
|- | |- | ||
| 29 || | | 29 || Arrête le temps à 20:00 | ||
|- | |- | ||
| 31 || | | 31 || Arrête le temps à 22:00 | ||
|- | |- | ||
| 32 || | | 32 || Arrête le temps à 23:00 | ||
|- | |- | ||
| 34 ||* | | 34 ||* Ajoute (0.083333 x le nombre de frames écoulées) au timer du temps de la journée. | ||
* | * Si le timer excède 360.0, signifiant qu'un jour est passé, le jeu retire 360 du timer. | ||
'''Note''': | '''Note''': Dans cet état, le timer de la Lune de sang n'est pas mis à jour et sa valeur n'est pas vérifiée non plus. | ||
|} | |} | ||
* | * Met à jour le [[#Day/night time flag]], le [[#Time division, IsMorning, IsNoon, etc.]] | ||
* | * Si "Bloody Moon end reserve timer" est non nul, le décrémente. Si la nouvelle valeur est 0, le flag WM_BloodyDay est réinitialisé. | ||
* | * Met les flags de [[#Alpha]] à jour. | ||
=== | === Vérifications de minuit === | ||
Les actions suivantes se produisent chaque fois que le timer atteint 360.0 (minuit). | |||
WM_NumberOfDays | WM_NumberOfDays est incrémenté. | ||
''' | '''Si une Lune de sang est prévue''' (WM_BloodyDay est vrai): | ||
* | *Si les Lunes de sang sont interdites (voir conditions ci-dessous), met le timer de la Lune de sang à 2880.0. | ||
* | *Si elles sont autorisées, appelle Demo_011_0 et met le timer de la Lune de sang à 0.0. | ||
''' | '''Planification des nouvelles Lunes de sang''' | ||
* | *Si le flag FirstTouchdown est activé (autrement dit, si le joueur a quitté le Plateau du Prélude), et si le timer de la Lune de sang est supérieur à 2520.0 (7 jours dans le jeu): | ||
**WM_BloodyDay | **WM_BloodyDay est mis à vrai, ce qui signifie qu'une Lune de sang est prévue pour la nuit suivante. | ||
** | **Le timer de la Lune de sang est réinitialisé à 0.0. | ||
* | * Sinon, le "Bloody end reserve timer" est mis à 150. Cela assure la réinitialisation du flag WM_BloodyDay 5 minutes dans le jeu (5 secondes dans la vie réelle) après une Lune de sang. | ||
=== | === Inhibiteurs de Lune de sang === | ||
Si n'importe laquelle des conditions suivantes est vraie, la cinématique de Lune de sang ne sera pas déclenchée. | |||
* | * Pas dans MainFIeld (Hyrule) | ||
* IsInHyruleCastleArea | * IsInHyruleCastleArea est actif | ||
* LastBossGanonBeastGenerateFlag | * LastBossGanonBeastGenerateFlag est actif (En train d'affronter Ganon, Créature Maléfique) | ||
* BloodyMoonProhibition | * BloodyMoonProhibition est actif | ||
* Wind_Relic_BattleStart | * Wind_Relic_BattleStart est actif (attaque contre Vah Medoh) | ||
* Electric_Relic_Battle | * Electric_Relic_Battle est actif (attaque contre Vah Naboris) | ||
* Water_Relic_BattleTime | * Water_Relic_BattleTime est actif (attaque contre Vah Ruta) | ||
* SkyMgr | * Si la valeur de field_2B4 dans SkyMgr vaut 15 et si celle de field_2B8 est supérieure ou égale à 1.0. | ||
Cependant, celles-ci n'empêchent pas le timer de la Lune de sang de progresser, ou le flag WM_BloodyDay d'être activé. | |||
Note: Vah Rudania | Note: Vah Rudania n'est pas dans la liste. C'est normal: les Lunes de sang ne peuvent pas se produire pendant la séquence d'attaque contre Vah Rudania parce que le flag BloodyMoonProhibition n'est pas activé. | ||
=== | === Flag de l'heure du jour et de la nuit === | ||
De 00:00 à 06:00 (inclus) et de 18:00 à 00:00 (inclus), WM_DaytimeFlag est mis à faux, et WM_NighttimeFlag est mis à vrai. | |||
Dans n'importe quel autre cas, WM_DaytimeFlag est mis à vrai et WM_NighttimeFlag est mis à faux. | |||
=== Time division, IsMorning, IsNoon, etc. === <!--T:26--> | === Time division, IsMorning, IsNoon, etc. === <!--T:26--> | ||
{|class="wikitable" | {|class="wikitable" | ||
! | ! Début !! Fin !! Division !! Time type (1) !! Time type (2) | ||
|- | |- | ||
| 04:00 || 05:00 || 0 || MorningA || Morning_A1 | | 04:00 || 05:00 || 0 || MorningA || Morning_A1 | ||
Line 189: | Line 189: | ||
|} | |} | ||
Note: | Note: tous les intervalles incluent l'heure de début et excluent l'heure de fin. | ||
=== | === Phase de la lune === | ||
La phase de la lune est déterminée à partir du nombre de jours passés dans le jeu (WM_NumberOfDays). La formule exacte est <code>(nombreDeJours + x + 1) % 8</code><ref>{{addr|a=0x71010E8200|ver=nx-1.5.0}}</ref> où x est égal à 1 si l'heure actuelle est supérieure à 180.0 (midi) et % est l'opérateur modulo. | |||
Si une phase de lune a été mise manuellement (par exemple en utilisant [[AIDef:Action/EventSetMoonType]]), cette valeur sera utilisée en tant que phase de la lune. | |||
La phase de la Lune est renvoyée par [[AIDef:Query/WhatMoonName]], que certains event flows de PNJ utilisent pour vérifier la phase de la Lune actuelle. Cependant, la plannification de la Lune n'a rien à voir avec celle de la Lune de sang. | |||
=== | === Alpha === | ||
L'Alpha apparaît au moment où le flag AnimalMaster_Appearance est activé. Sa valeur est gérée par une machine à états simple. | |||
Notez qu'au moment où un niveau est déchargé, le flag AnimalMaster_Appearance est réinitialisé à faux. | |||
=== | ===Phase 0 - Attente des conditions=== | ||
Si les trois conditions suivantes sont vraies: | |||
* | * La [[#Phase de la lune]] est à 5 (premier croissant) | ||
* | * Le flag AnimalMaster_Existence est à faux (l'Alpha ne doit pas être déjà spawné) | ||
* | * La [[map area]] actuelle n'est pas 64 ("HyruleHill", présumée la zone du Mont Satori) | ||
ensuite, le jeu génère une "heure d'apparition" aléatoire dans l'intervalle [0 .. 22] puis passe dans la phase 1. | |||
=== | ===Phase 1 - Attente de l'heure d'apparition=== | ||
Si le joueur est dans la map area 64, l'état est remis à 0. | |||
Autrement, le jeu ne fait rien avant que l'heure actuelle corresponde à l'heure d'apparition générée précédemment. Une fois les deux heures égales, le flag AnimalMaster_Appearance est mis à vrai (autorisant l'Alpha à apparaître) et on passe à la phase 3. | |||
=== | ===Phase 2 - Le Mont Satori brille=== | ||
Après qu'une heure se soit écoulée, le jour actuel de la semaine est stocké et le passage à la phase 3 se fait. | |||
=== | ===Phase 3 - Préparation du déspawn=== | ||
Après deux changements de jour de la semaine, ''ou'' [après que le jour de la semaine dans le jeu change, et que l'heure actuelle est supérieure à celle de l'heure d'apparition générée précédemment], l'Alpha disparaît et on passe à la phase 4. | |||
=== | ===Phase 4 - Déspawné=== | ||
Le jeu attend que la phase de la Lune soit 5, avant de retourner à la phase 0. | |||
== WeatherMgr == | == WeatherMgr == | ||
{{expand section}} | {{expand section}} | ||
=== | === Type de météos === | ||
{|class="wikitable" | {|class="wikitable" | ||
! | ! Valeur !! Nom | ||
|- | |- | ||
| 0 || Bluesky | | 0 || Bluesky |