|
|
(31 intermediate revisions by the same user not shown) |
Line 12: |
Line 12: |
|
| |
|
| * 如果林克不是用正常方法走出復甦神廟的,那時鐘就會永遠固定在早上 05:15。 | | * 如果林克不是用正常方法走出復甦神廟的,那時鐘就會永遠固定在早上 05:15。 |
| * 如果林克正常走出復甦神廟,但是沒去開初始之塔(但是不開塔居然可以拿到滑翔傘之類的),那時鐘就會固定在早上 11:00 | | * 如果林克正常走出復甦神廟,但是沒接到「封鎖的台地」任務(但是這樣居然可以拿到滑翔傘之類的),那時鐘就會固定在早上 11:00 |
|
| |
|
| === 關於定期血月 === | | === 關於定期血月 === |
Line 32: |
Line 32: |
| === 每次滴答 === | | === 每次滴答 === |
|
| |
|
| 如果 Demo103_0(走出復甦神廟,環顧四周,看向老人)還沒有播放過,那時鐘就會一直被重置在 78.75。也就是說,如果你用望遠鏡穿牆穿出復甦神廟的話,時鐘就不會流動。
| | 如果過場動畫 Demo103_0(走出復甦神廟,環顧四周,看向老人)還沒有播放過,那時鐘就會一直被重置在 78.75。也就是說,如果你用望遠鏡穿牆穿出復甦神廟的話,時鐘就不會流動。 |
|
| |
|
| Otherwise, if there is no active event/cutscene:
| | 假設你看過那個過場動畫的話, |
|
| |
|
| * The game timer is incremented by 0.0083333 × elapsed frames. Effectively, this means that 1 in-game minute = 1 real-life second. | | * 時鐘往前撥 0.0083333 × 幀數。本遊戲一秒 30 幀,所以現實生活中的 24 分鐘 = 24 × 60 × 30 幀 = 時鐘往前撥 0.0083333 × 24 × 60 × 30 = 時鐘往前撥 360 = 遊戲內一天。 |
| * If Link hasn't received the ''The Isolated Plateau'' quest and if the current time is >= 165.0 (11:00), the time is forcefully set to 11:00. Effectively, this means that time will not get past 11:00 until the Great Plateau Tower is activated and the Old Man cutscene is triggered. | | * 如果林克還沒從初始之塔爬下來,而且時鐘超過 165.0 (早上 11:00),那時鐘會被重置成 165.0。 |
| * If the timer reaches 360.0 (midnight), the game performs special checks. See the next section. | | * 如果時鐘走到 360.0,遊戲會做一些子夜檢查,下面會講到。 |
| * A value called the '''blood moon timer''' is also incremented by 0.0083333 × elapsed frames. | | * '''血月計時器''' 往前流動 0.0083333 × 幀數。. |
|
| |
|
| Afterwards, if the "Bloody Moon end reserve timer" is non zero, it is decremented. If the new value is zero, the WM_BloodyDay flag is cleared.
| | 之後,如果 "Bloody Moon end reserve timer" 的值非零的話(代表血月出現在正頭上),遊戲會把它減一。如果減了之後變成零,遊戲會把 WM_BloodyDay 關掉(血月出現過後不會再下個子夜出現)。 |
|
| |
|
| === Every time the timer reaches 360.0 (midnight) === | | === 360.0 檢查(子夜檢查) === |
|
| |
|
| First, WM_NumberOfDays is incremented. This has an effect on the moon cycle.
| | WM_NumberOfDays 加一。這個數字是用來計算月相的。 |
|
| |
|
| '''If a Blood Moon is scheduled:''' | | '''如果血月該出現了''' |
|
| |
|
| If Blood Moons are "prohibited" (see below for a full list of conditions), the timer is set to 2880.0 and nothing happens. Otherwise, the Blood Moon cutscene ([https://eventviewer.zeldamods.org/viewer.html?data=/d/Demo011_0.json¶ms=1 Demo011_0]) is triggered and the timer is reset to 0.0.
| | 如果血月該出現了但是被什麼東西阻止了(下面有解釋什麼會阻止血月),那血月計時器會被設在 2880.0,其他什麼事情都不會發生。如果沒有理由不出血月的話,遊戲會播放 [https://eventviewer.zeldamods.org/viewer.html?data=/d/Demo011_0.json¶ms=1 Demo011_0] (又到了紅月出現的時刻,林克你要小心),播完之後血月計時器歸零。 |
|
| |
|
| The game then determines whether to '''schedule a Blood Moon''' or not:
| | 那麼什麼時候算是'''血月該出現了'''呢? |
|
| |
|
| If the player has left the Great Plateau and if the Blood Moon timer is > 2520.0 (7 in-game days):
| | 簡單來說就是玩家離開了初始台地,而且血月計時器超過 2520.0 了(七個遊戲天)。 |
|
| |
|
| * The WM_BloodyDay flag is set to true, which means that a Blood Moon is scheduled for the next night. | | * 這時,WM_BloodyDay flag 會被設成 true,代表下個子夜理論上就會有血月出現。 |
| * 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. | | 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.) | | * BloodyMoonProhibition 是 true,可能的理由是你在過場動畫裡或是在小遊戲裡。 |
| * Vah Medoh battle | | * 在射瓦‧梅德防護罩 |
| * Vah Naboris battle | | * 在射瓦‧娜波力斯的腳 |
| * Vah Ruta battle | | * 在射瓦‧露塔的肩膀 |
| * Some condition involving the Sky Manager | | * 某個跟 Sky Manager 有關的條件 |
|
| |
|
| However, these do not prevent the Blood Moon timer from advancing, or the WM_BloodyDay flag from being set.
| | 請注意:即使血月被阻止,血月計時器也不會歸零,還是會繼續增加。這些理由也不能阻止 WM_BloodyDay 被設成 true。 |
|
| |
|
| 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.
| | 注意二:瓦‧魯達尼亞看似沒有在這個表裡,但是瓦‧魯達尼亞會去設 BloodyMoonProhibition,所以血月還是不會出現。 |
|
| |
|
| === 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<ref>[https://eventviewer.zeldamods.org/viewer.html?data=/d/Demo007_1.json¶ms=1&node=Event53 Demo007_1]</ref> if a Blood Moon was scheduled to happen and triggers the cutscene if needed.
| | 如果你的睡覺是有過夜的,那麼遊戲會呼叫 "handle new day" 新的一天函數。這個函數會檢查你是不是睡過某個血月了,是的話,它會補給你林克林克你要小心。 |
|
| |
|
| === Moon type === | | === 月相 === |
|
| |
|
| The moon type is calculated based on the number of in-game days (WM_NumberOfDays). The exact formula is <code>(numberOfDays + x + 1) % 8</code><ref>{{addr|a=0x71010E8200|ver=nx-1.5.0}}</ref>, where x is equal to 1 if the current time is > 180.0 (noon) and % is the modulo operator.
| | 月相取決於你在遊戲裡活了幾天 (WM_NumberOfDays)。精確的式子是 <code>(numberOfDays + x + 1) % 8</code><ref>0x71010E8200</ref>,這裡的 x 在下午的時候是 1,上午的時候是 0。 百分號是模運算(除以八的餘數)。 也就是說,每過一次正午月相就前進一格。 |
|
| |
|
| 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.
| | 月相也可以直接用遊戲底層的函數指定(例如這個函數 [[AIDef:Action/EventSetMoonType]]),不過我們沒看到任何可以強制指定月相的例子。(通常就是一路睡到想要的月相。) |
|
| |
|
| 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 | | * 0: Full Moon or Blood Moon or on a Bloody Day after 04:00 滿月 |
| * 1: Waning gibbous | | * 1: Waning gibbous 十六夜 |
| * 2: Third quarter | | * 2: Third quarter 下弦月 |
| * 3: "26th-day" | | * 3: "26th-day" 殘月 |
| * 4: New moon | | * 4: New moon 新月 |
| * 5: Waxing crescent | | * 5: Waxing crescent 眉月 |
| * 6: "Seven-day" | | * 6: "Seven-day" 上弦月 |
| * 7: "13-day" | | * 7: "13-day" 十三夜 |
|
| |
|
| == References == | | == References == |