国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

MC的暴擊,并不等于跳劈

2023-02-07 13:31 作者:道家深湖  | 我要投稿

“暴擊”,或者“會心”,指的都是同一件事,用英文說就是Critical。之后我們統(tǒng)一用暴擊來稱呼。

mcwiki上的Damage詞條,里面的暴擊章節(jié)

https://minecraft.fandom.com/zh/wiki/%E8%BF%91%E6%88%98%E6%94%BB%E5%87%BB

中文的wiki不在傷害詞條里,在單獨的近戰(zhàn)攻擊詞條里。如下:

mcwiki,中文版的解釋

我們截取一下1.12.2Forge版,EntityPlayer的相關(guān)源碼:

其中,

也就是說,暴擊是僅通過以下邏輯決定的,不含隨機要素:

  1. 攻擊蓄力90%以上。tick的計數(shù)按照+0.5tick計算;

  2. 下落距離>0;

  3. 不在地面上;

  4. 并非正在爬梯子;

  5. 并不在水體里(但下雨淋濕無所謂);

  6. 沒有獲得致盲效果;

  7. 并未處在騎乘狀態(tài);

  8. 目標必須是LivingBase,即對彈射物等的攻擊不會暴擊,但對船、盔甲架可以;

  9. 不能處于沖刺狀態(tài);

  10. 傷害必須大于0(在省略的代碼部分里);

  11. Forge所發(fā)布的事件未取消暴擊。

“跳劈”是個很不精確的描述。在跳起來后,上升的過程中是不會暴擊的,下落的過程中會——但某些模組通過持續(xù)清空下落距離來實現(xiàn)免疫摔落傷害,這樣就會導(dǎo)致不會暴擊,且《原神12》的下落攻擊也無法觸發(fā)。(正確的免疫摔落傷害應(yīng)該在摔落事件里處理傷害系數(shù),不應(yīng)該處理下落高度)。

即使如此,上升過程中不暴擊,下落過程中會。但,如果在下落的過程中,因為獲得失重DEBUFF,或者因為二段跳等原因又開始上升,那么這時候它還是可以暴擊的。因為,上升的過程并不會減少或清空下落高度,觸地才會。

Forge知道玩家想改變這個邏輯,做什么暴擊率之類的東西,所以給了個事件,CriticalHitEvent。你可以在這里手動覆蓋暴擊邏輯,自行判斷決定是否需要暴擊(通過修改Result),還可以修改暴擊后的傷害系數(shù)。從前面可以看到,暴擊傷害默認為1.5倍。


但既然這玩意都寫在EntityPlayer了,各位也就明白了,怪物是不會走這套暴擊邏輯的。跳起來也一樣。

還有一件事容易忽略,那就是這個是attackTargetEntityWithCurrentItem,他只在普通近戰(zhàn)攻擊里才會調(diào)用。箭矢等彈射物暴擊不吃這套。

箭矢確實有個Critical字段,但那主要決定是否有暴擊粒子,并不會走這個事件。箭矢的那個critical數(shù)據(jù)為true的時候,傷害會如下方式進行增加:

也就是約莫會增加0~50%的傷害。這個過程不受CriticalEvent的控制,且怪物和玩家的箭矢都受到影響。

如果你想把暴擊系統(tǒng)補全的完善一點,還是相當麻煩的。你得設(shè)法抵消原版的箭矢暴擊,給玩家的非近戰(zhàn)補上暴擊,還要給怪物的全都來一遍。原神12基于CrticalEvent引入了暴擊率、暴擊傷害系統(tǒng),但那沒有正確地處理玩家箭矢的問題。

另一個尷尬的問題在于,假如你實現(xiàn)了“暴擊率”系統(tǒng),通過你的暴擊率來重新進行隨機判定是否暴擊,那你只能覆蓋原有的結(jié)果。如果其他mod也引入了一共暴擊率系統(tǒng),那你們就會各自為戰(zhàn),很可能干擾對方的“是否暴擊”,然后還把暴擊傷害倍率給搞的亂七八糟。這點沒什么特別好的辦法,只能隨緣。畢竟,你寫的再規(guī)范也架不住對方直接給覆蓋了。

MC的暴擊,并不等于跳劈的評論 (共 條)

分享到微博請遵守國家法律
涟水县| 北川| 天等县| 璧山县| 新化县| 清涧县| 宝坻区| 梅河口市| 德钦县| 南开区| 日照市| 武穴市| 鄂尔多斯市| 密云县| 曲阜市| 陕西省| 阿合奇县| 绵阳市| 措勤县| 农安县| 保山市| 东兴市| 鹤岗市| 闽侯县| 布拖县| 威信县| 钟山县| 平乐县| 长丰县| 青龙| 马关县| 鄢陵县| 嘉祥县| 乡城县| 崇明县| 涿州市| 合作市| 邯郸县| 肇庆市| 开鲁县| 襄樊市|