小動物生成合集(1.4.0.5)|泰拉瑞亞


3樓貓 發佈時間:2022-03-09 07:50:20 作者:claraia Language

0.背景
為補全npc生成機制(地表敵怪→地下敵怪→其他npc),最後來到了小動物這一部分。同時也是為了減少重複工作,在此記錄,方便以後使用(更新版本之前)。
1.小動物生成總覽(使用表格)

說明一個npc的生成機制,可以說什麼條件下生成什麼,也可以說什麼npc在一定條件下生成。在這裡我們圍繞[生成物塊]來說明小動物的生成機制。

小動物生成合集(1.4.0.5)|泰拉瑞亞 - 第1張表1 普通草皮部分
小動物生成合集(1.4.0.5)|泰拉瑞亞 - 第2張表2 類普通草皮部分(神聖草皮和普通草皮的區別僅在於螢火蟲/熒光蟲、龜,其他一樣,表中為節省空間只有列舉了該物塊的特別生成)
小動物生成合集(1.4.0.5)|泰拉瑞亞 - 第3張表3 一般生成類(主要為非地表部分)
小動物生成合集(1.4.0.5)|泰拉瑞亞 - 第4張表4 其他

2.表中部分名詞的解釋

①"僅側向生成"
這是一條針對於部分液體類npc(各種鴨、龜、水黽、液體生成的海鷗、鱂魚)的生成條件,它的意思是使這個npc只能在玩家兩側生成:小動物生成合集(1.4.0.5)|泰拉瑞亞 - 第5張
其中,白框是安全區域,綠框是生成區域。
當時測到這個機制的時候,我並不理解為什麼會這樣,但是也沒想太多,直到[鱂魚]這個特例的出現:小動物生成合集(1.4.0.5)|泰拉瑞亞 - 第6張
可以看到,它似乎能夠直接在屏幕內生成。
但實際上,這是由於它的實際生成位置有概率移動到生成點上方最高水面處,導致水體足夠深時,甚至能夠直接生成到玩家臉上。小動物生成合集(1.4.0.5)|泰拉瑞亞 - 第7張
實際生成點在下方沙塊上。

因此,本著刷怪過程儘量不被玩家看到的原則,這類能直接刷在水面上的npc就只能在兩側(較遠)處生成。[設計成在水面生成是為了效果真實,礙於刷怪區域的形狀,大概只能這樣做]
所以說鱂魚生成的這個特例(或許是漏洞)幫助理解了為什麼它會這樣設計,是很有意義的。

②"不在海洋"
表中的海洋指的是狹義的海洋,即地圖左右邊界各向中心延伸380格,且座標≥0 地表的矩形區域小動物生成合集(1.4.0.5)|泰拉瑞亞 - 第8張


③"氣象"、"穩定氣象"、"流星雨"(為了"附魔夜行者"的生成所必要的條件)
流星雨:所謂的流星雨,是指某個落星頻率顯著增加的夜晚。
由於這個"事件"目前在遊戲中沒有諸如"正在發生流星雨!"這樣醒目的提示(不知道會不會加入),所以無法以常規方法得知它是否發生,只能十分粗略地根據背景流星頻率來判斷?
[注意!這個想法沒有任何根據,只是一個假設,絕對不能使用]小動物生成合集(1.4.0.5)|泰拉瑞亞 - 第9張
圖中為一個流星雨夜

氣象:可能表中"氣象"的說法並不嚴謹,只是一個代表性詞彙,實際上想表達的是遊戲中[天氣收音機]對於[雲量]的描述:即清除、少雲(局部多雲)、多雲、大部多雲和陰天。
遊戲中的氣象系統是一個不斷運作的系統(凍結時間也會運作),受時間流速影響,一般來說,一個氣象不是處於真穩定期(可以理解為氣象函數此時變化率為0),就是在向其他氣象過渡(假穩定期,實際上變化率不為0)。
雖然對於天氣收音機來說,這兩種情況顯示為同種氣象,但在內部它們是絕對不同的。[可以認為是兩者函數值都為正,只不過一者導數為0,一者不為0,而我們只能得知函數值為正這一信息,卻不能得知它是否在變化]
這也就是說,我們沒有辦法得知當前氣象是否穩定,只能在條件大體上合格時去嘗試。

然而,燈籠夜是個例外。這是一個整晚鎖天氣鎖氣象的強硬事件
小動物生成合集(1.4.0.5)|泰拉瑞亞 - 第10張

如果它和流星雨同時發生,那麼結果是一整晚生成[附魔夜行者](參考表1的條件需求);
否則,就只能在一般的夜晚碰運氣。

④"地獄高度"、"蒂姆生成高度"
這些高度與之前發的"太空怪生成高度"一樣,都是可以準確算得的。
地獄高度:有兩種方法,刷怪時可採用定性方法:小動物生成合集(1.4.0.5)|泰拉瑞亞 - 第11張

有深度計之後,可採取定量方法:小動物生成合集(1.4.0.5)|泰拉瑞亞 - 第12張

與確定太空刷怪層位的方法類似,獲取可到達最底部座標後+86[本質上就是加上"黑框"的長度],得到真底部座標;與海洋類似,地獄跨度也是380(190格),所以4016+86-380=3722,這個就是這張地圖的地獄怪生成起始高度。
[對應前面圖中的綠線]。

蒂姆生成高度:有關這個高度的npc不多,但是恰好涉及了蝸牛這種小動物,因此還是有必要提一下的。(下圖wiki給出了計算方法)小動物生成合集(1.4.0.5)|泰拉瑞亞 - 第13張
回到地圖中,找到地下層底部深度,為260 地下:小動物生成合集(1.4.0.5)|泰拉瑞亞 - 第14張

現在計算蒂姆生成高度:
(4016+86+260)/2=2181;
顯然,圖格邊界都是偶數,同之前太空怪高度計算的處理方法,這個值應該向下舍入到最近的偶數,即2180 洞穴,即蒂姆在上表面高度低於或等於2180 洞穴的圖格上生成。
所以,根據表3中對於蝸牛的生成描述,蝸牛最深可在上表面為2178 洞穴的圖格上生成。

3.表中部分具有多變/複雜生成條件/生成條件寬泛的小動物歸納

①兔兔:
如果≥0 地表 則{普通草皮/神聖草皮+不下雨+不在邪惡/隕石環境+不在海洋+非液體刷怪+不在墓地環境};

如果2 地下~洞穴頂部 則{任意非叢林草皮物塊+不下雨+不下雨+不在邪惡/隕石環境+非液體刷怪+不在墓地環境};

②金魚(非行走金魚/雨天金魚):
如果不在下雨 則{液體刷怪條件+非沙塊[指海洋內的沙塊](1.4.0.5)+任意物塊+任意高度[包括地獄;太空則需要npc壓制敵怪生成,否則基本不生成]};

③瓢蟲:
如果≥0 地表 則{風速≥20+普通草皮/神聖草皮+白天+[某日能生成蝴蝶]+不下雨+不在邪惡/隕石環境+不在墓地環境};

④海鷗:
如果非液體刷怪條件 則{在海洋+任意物塊};

如果液體刷怪條件 則{在海洋+任意物塊+僅側向刷怪};

4.總結

①在地表,小動物刷怪依賴特定的物塊,而非某種環境;
②液體刷怪優先級非常高;
③區分地層要看小地圖,而不是畫面,且即便是小地圖,在說明刷怪問題時,還是要動手去測具體高度,而不能完全相信它給出的(高度)。
5.補充信息

①玩家在地獄範圍內時,npc對敵怪生成的抑制會失效,但同時又不影響對小動物生成的促進;

②刷地獄小動物/地獄怪時,如果想要高效率/生成速度,那麼玩家一定要處於洞穴層底部,而不是在地獄範圍內;

*本篇篇幅有限,且測試時間較短,缺乏完備的驗證。所以出現錯誤、紕漏也是不可避免的,因此內容僅供參考,至於到底對不對還是要上手去測去驗證。

最後,這是我所認知/理解到的刷怪範圍的最終版本:小動物生成合集(1.4.0.5)|泰拉瑞亞 - 第15張
可以有效理解刷怪範圍的邊界問題。

沒了,就這麼多。


© 2022 3樓貓 下載APP 站點地圖 廣告合作:asmrly666@gmail.com