Time/zh: Difference between revisions

no edit summary
(Created page with "請注意:即使血月被阻止,血月計時器也不會歸零,還是會繼續增加。這些理由也不能阻止 WM_BloodyDay 被設成 true。")
No edit summary
 
(15 intermediate revisions by the same user not shown)
Line 12: Line 12:


* 如果林克不是用正常方法走出復甦神廟的,那時鐘就會永遠固定在早上 05:15。
* 如果林克不是用正常方法走出復甦神廟的,那時鐘就會永遠固定在早上 05:15。
* 如果林克正常走出復甦神廟,但是沒去開初始之塔(但是不開塔居然可以拿到滑翔傘之類的),那時鐘就會固定在早上 11:00  
* 如果林克正常走出復甦神廟,但是沒接到「封鎖的台地」任務(但是這樣居然可以拿到滑翔傘之類的),那時鐘就會固定在早上 11:00  


=== 關於定期血月 ===
=== 關於定期血月 ===
Line 37: Line 37:


* 時鐘往前撥 0.0083333 × 幀數。本遊戲一秒 30 幀,所以現實生活中的 24 分鐘 = 24 × 60 × 30 幀 = 時鐘往前撥 0.0083333 × 24 × 60 × 30 = 時鐘往前撥 360 = 遊戲內一天。
* 時鐘往前撥 0.0083333 × 幀數。本遊戲一秒 30 幀,所以現實生活中的 24 分鐘 = 24 × 60 × 30 幀 = 時鐘往前撥 0.0083333 × 24 × 60 × 30 = 時鐘往前撥 360 = 遊戲內一天。
* 如果林克還沒從初始之塔爬下來,而且時鐘凹過 165.0 (早上 11:00),那時鐘會被重置成 165.0。
* 如果林克還沒從初始之塔爬下來,而且時鐘超過 165.0 (早上 11:00),那時鐘會被重置成 165.0。
* 如果時鐘走到 360.0,遊戲會做一些子夜檢查,下面會講到。
* 如果時鐘走到 360.0,遊戲會做一些子夜檢查,下面會講到。
* '''血月計時器''' 往前流動 0.0083333 × 幀數。.
* '''血月計時器''' 往前流動 0.0083333 × 幀數。.
Line 68: Line 68:
* 林克在草原上對戰魔獸加儂
* 林克在草原上對戰魔獸加儂
* BloodyMoonProhibition 是 true,可能的理由是你在過場動畫裡或是在小遊戲裡。
* BloodyMoonProhibition 是 true,可能的理由是你在過場動畫裡或是在小遊戲裡。
* 在瓦‧梅德裡跟風咒加儂打架
* 在射瓦‧梅德防護罩
* 在瓦‧娜波力斯裡跟雷咒加儂打架
* 在射瓦‧娜波力斯的腳
* 在打瓦‧露塔裡跟水咒加儂打架
* 在射瓦‧露塔的肩膀
* 某個跟 Sky Manager 有關的條件
* 某個跟 Sky Manager 有關的條件


請注意:即使血月被阻止,血月計時器也不會歸零,還是會繼續增加。這些理由也不能阻止 WM_BloodyDay 被設成 true。
請注意:即使血月被阻止,血月計時器也不會歸零,還是會繼續增加。這些理由也不能阻止 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&params=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 ==
translator
745

edits