魔咒是如何選擇出來的
“魔咒等級”是某一魔咒所需的經(jīng)驗級別(在按鈕上的綠色數(shù)字)。
“魔咒威力”是某一特定魔咒的力量。例如,“鋒利IV”有4點威力。
魔咒的挑選有三個步驟。
第一步-對附魔等級加入調(diào)節(jié)值
首先游戲會把兩個調(diào)節(jié)值加入到被選的附魔等級中。每個調(diào)節(jié)值會被限制在一定的范圍內(nèi),數(shù)字接近范圍中央的會比靠近兩端的更常見。
第一調(diào)節(jié)值是基于附魔對象的“附魔能力”,這取決于該物品的材料和類型(見下表)。游戲會在0至附魔能力的一半(實際上,游戲會先將附魔能力除以4,四舍五入為整數(shù)后再乘以2)之間隨機(jī)挑選一個數(shù)字,然后將這個數(shù)字和1加到附魔等級里。此時,弓的附魔能力是1。然后,這個隨機(jī)數(shù)會經(jīng)過三角形分布處理,使得最終結(jié)果靠近附魔能力一半的幾率遠(yuǎn)大于靠近極值的幾率。
修改后的附魔等級= 附魔等級+ 隨機(jī)值(0, 附魔能力/ 4 * 2) + 1
(每步計算完畢后四舍五入)
材料 | 對應(yīng)盔甲的附魔能力 | 對應(yīng)劍/工具的附魔能力 |
木 | 不可用 | 15 |
皮革 | 15 | 不可用 |
石 | 不可用 | 5 |
鐵 | 9 | 14 |
鏈(鏈甲) | 12 | 不可用 |
鉆石 | 10 | 10 |
金 | 25 | 22 |
接著,Minecraft會在0.85和1.15之間挑選一個值,并再次經(jīng)過三角形分布處理。修改后的附魔等級會乘以這個值(因此它可以增加或減少最多15%),然后四舍五入至整數(shù),得到最終的等級調(diào)節(jié)值。
偽代碼
// 返回一個區(qū)間為[0,n-1)的隨機(jī)整數(shù)
function randomInt(n);
// 返回一個區(qū)間為[0,1)的一個隨機(jī)實數(shù)
function randomFloat();
// 利用三角隨機(jī)分布,生成一個區(qū)間為[1,1+(附魔能力/2))的隨機(jī)數(shù)
enchantability_2 = enchantability / 2;
int rand_enchantability = 1 + randomInt(enchantability_2 / 2 + 1) + randomInt(enchantability_2 / 2 + 1);
// 選擇附魔能級
int k = chosen_enchantment_level + rand_enchantability;
// 0.85至1.15之間的附魔獎勵
float rand_bonus_percent = (randomFloat() + randomFloat() - 1) * 0.15 + 1;
// 最終計算得到等級
int final_level = (int)(k * (1 + rand_bonus_percent) + 0.5);
第二步-尋找可能的魔咒
現(xiàn)在,以等級調(diào)節(jié)值為基礎(chǔ),游戲會先列出所有可應(yīng)用于目標(biāo)物品的附魔類型及其威力(候選表),以便之后的挑選。
魔咒等級表中列出了每一種魔咒類型的可用等級及其威力。對于每一級威力的每種魔咒,都有與其規(guī)定的等級調(diào)節(jié)值范圍。當(dāng)?shù)燃壵{(diào)節(jié)值符合某級威力某個魔咒的等級調(diào)節(jié)值范圍時,這個魔咒進(jìn)入候選表;如果等級調(diào)節(jié)值同時包含于同一個魔咒不同級別威力的等級調(diào)節(jié)值范圍內(nèi)時,較高等級的魔咒進(jìn)入候選表。例如,劍的“鋒利I”和“鋒利II”魔咒的等級調(diào)節(jié)值范圍分別為1 - 21 和12 - 32 ,則當(dāng)?shù)燃壵{(diào)節(jié)值為10時,“鋒利I”進(jìn)入候選列表;當(dāng)?shù)燃壵{(diào)節(jié)值為15時,“鋒利II”則會進(jìn)入候選列表。Enchantview Mod 可以查看將要附魔的物品能附上什么魔咒。
一把附有幾個魔咒的劍。(在正式版1.3 后,鋒利V 無法附到鉆石劍上。)
第三步-從候選表中選擇魔咒
現(xiàn)在它有了該物品的附魔候選表,游戲會從它們之中選擇一些會最后應(yīng)用到的附魔。
最終附上的魔咒至少會有一個,第一個魔咒會從“權(quán)重”名單中被挑選出來——權(quán)重越高的魔咒,選中的機(jī)會越高。
P(魔咒)=(魔咒權(quán)重)/(∑i=1可能的魔咒的數(shù)量〖魔咒權(quán)重i〗)
盔甲魔咒 | 權(quán)重 |
保護(hù) | 10 |
火焰保護(hù) | 5 |
摔落保護(hù) | 5 |
爆炸保護(hù) | 2 |
彈射物保護(hù) | 5 |
水下呼吸 | 2 |
水下速掘 | 2 |
劍魔咒 | 權(quán)重 |
鋒利 | 10 |
亡靈殺手 | 5 |
節(jié)肢殺手 | 5 |
擊退 | 5 |
火焰附加 | 2 |
搶奪 | 2 |
工具魔咒 | 權(quán)重 |
效率 | 10 |
精準(zhǔn)采集 | 1 |
耐久 | 5 |
時運 | 2 |
弓魔咒 | 權(quán)重 |
力量 | 10 |
擊退 | 2 |
火矢 | 2 |
無限 | 1 |
第一個魔咒被選中后,根據(jù)以下算法來判斷是否得到更多魔咒:
1、將等級調(diào)節(jié)值除以2,并四舍五入。(這不影響魔咒候選表,因為候選表在第二步已經(jīng)確定。)
2、以P=(修改后的等級調(diào)節(jié)值+1)/50 的幾率決定是否選擇額外的魔咒。
3、選擇額外的魔咒后,刪除表中任何與先前選擇附魔相沖的魔咒。
4、從剩下的魔咒候選表中挑選一個魔咒(像之前一樣,以權(quán)重為基準(zhǔn))并將其加入到該物品。
5、重復(fù)第一步。
相沖的魔咒
一些魔咒會與其他魔咒相沖,因此不能附到同一物品上,有效地減低玩家擁有過強武器/盔甲的可能性。
魔咒相沖的規(guī)則是:
每個魔咒與本身相沖。(所以你不能得到有兩個相同魔咒的的工具。)
所有保護(hù)類魔咒相互沖突,所以一個物品只能有一個。(在程序代碼中,摔落保護(hù)是一種保護(hù)類魔咒,但它不與其他保護(hù)類魔咒發(fā)生沖突。)
所有傷害類魔咒(鋒利、亡靈殺手和節(jié)肢殺手)相互沖突。
“精準(zhǔn)采集”和“時運”也會互相沖突。(在通過使用物品修改器得到的同時擁有“時運”與“精準(zhǔn)采集”魔咒的鎬中,“時運”會失效,因為“精準(zhǔn)采集”的存在導(dǎo)致根本就不能采到方塊的掉落資源,只能夠得到方塊本身。)
以鉆石鎬30級的附魔為例
第一步
首先計算附魔調(diào)節(jié)值,鉆石無論劍/工具/盔甲的附魔能力都為10,則10/4=2.5,四舍五入得3,再3*2=6,則系統(tǒng)會在0~6范圍內(nèi)隨機(jī)取一個值,再+1,即為修改后的附魔等級,范圍在31~37
接著乘以0.85~1.15間的一個隨機(jī)值,得到最終的等級調(diào)節(jié)值,范圍為26.35~42.55,四舍五入得26~43,
而你得到的等級調(diào)節(jié)值是范圍內(nèi)的一個值(由于兩次三角算法所以靠近中間值35的概率比靠近極值大),這個值將會影響魔咒候選表和是否獲得更多魔咒。
第二步
工具魔咒 | 修改后的附魔等級 | ||||
I | II | III | IV | V | |
效率 | 1–51 | 11–61 | 21–71 | 31–81 | 41–91 |
精準(zhǔn)采集 | 15–65 | — | — | — | — |
耐久 | 5–55 | 13–63 | 21–71 | — | — |
時運 | 15–65 | 24–74 | 33–83 | — | — |
以此為基準(zhǔn)通過魔咒等級表來選擇入選魔咒
從表中查出有可能的魔咒(括號內(nèi)為對應(yīng)魔咒等級范圍)為:效率III(21-71),效率IV(31-81),效率V(41-91),精準(zhǔn)采集(15-65),耐久III(21-71),時運II(24-74),時運III(33-83)
即附魔等級調(diào)節(jié)值與對應(yīng)出現(xiàn)在候選表中的魔咒為(特別的,鋒利V是30級鉆石附魔唯一無法得到的魔咒,因為其最低等級需要45)
附魔等級調(diào)節(jié)值 | 26-30 | 31-32 | 33-40 | 41-43 |
效率 | III | IV | IV | V |
時運 | II | II | III | III |
耐久 | III | III | III | III |
精準(zhǔn)采集 | I | I | I | I |
第三步
決定在候選表的四個魔咒中具體附魔哪一個,就需要計算各魔咒權(quán)重,查表知效率為10,精準(zhǔn)采集為1,耐久為5,時運為2 則各個附魔(與威力無關(guān))的概率為,效率10/(10+1+5+2)=5/9,精準(zhǔn)采集1/18,耐久5/18,時運1/9
如此便得到了第一個附魔
判斷是否得到更多魔咒
等級調(diào)節(jié)值除以2,得到值范圍13~21.5,四舍五入得13~22
注意候選表已經(jīng)不再受等級調(diào)節(jié)值影響,即如有第二個魔咒為耐久則依舊必然為耐久III。
獲得第二個魔咒的概率為P=(修改后的等級調(diào)節(jié)值+1)/50,概率范圍為28%~46%。
接下來候選表中刪掉已獲得附魔和沖突的——工具中只有精準(zhǔn)采集和時運沖突,再次通過權(quán)重計算接下來獲得的魔咒概率,并得到第二個魔咒。
等級調(diào)節(jié)值再次除以2,得到值范圍6.5~11,四舍五入得7~11 獲得第三個魔咒的概率范圍為16%~24%。
再重復(fù)刪掉候選表中已有和沖突的附魔,如此時候選表只剩時運和精準(zhǔn)采集,則獲得時運的概率為2/3,精準(zhǔn)采集概率為1/3,其他情況則只剩下一個候選魔咒,必然獲得該魔咒。而因此鎬最多獲得三個魔咒,之后即使得到第四個附魔機(jī)會,也會因候選表中沒有魔咒而無效(而劍是有可能獲得五個魔咒的,雖然概率極低)。
如此便得到了最終的附魔鉆石鎬。
附魔可能性圖表
鉆石工具所有可能附魔列表。
瀏覽量:72022-07-19
瀏覽量:12021-05-31
瀏覽量:02021-05-29
瀏覽量:02021-05-17
瀏覽量:02021-04-23
瀏覽量:02019-10-13