Re: [心得] Channeled技能的傷害顯示
我發現,導引技(channeled skills)遠比我想像的複雜,先來基礎教學:
https://us.battle.net/d3/en/forum/topic/8770117237#5
DoT/導引技分兩類:
1. 每tick傷害都獨立顯示:秘法奔流、電殛
2. 每0.8秒加總傷害做顯示:裂光波、冰霜射線
以裂光波為例:每0.8秒顯傷一次、但實際tick更頻繁、攻速改變每tick傷害,不改變
tick的頻率(因此,不存在攻速門檻)
再舉冰霜射線為例:
攻速1下,tick為每秒2次;則表示每次tick花費8秘能,若攻速變2.4,變成每秒tick 5次
,則每秒花費秘能變40
另外,順便提減耗與導引技的關係,若以冰霜射線為例,秘能為16/s (8/0.5s),
假設減耗為20%,則計算為16*0.8=12.8,接著無條件捨去變12,算完1整秒的值,
再除以2去算每tick的耗秘 (如果又除不盡,就再無條件捨去)。
因為最多可能有連續2次的無條件捨去,因此實際減耗的數值會大過理論計算的數值。
接下來,複雜的開始了,tick計算:
以裂光波及冰霜射線為例,他們的傷害計算為每秒5次(12 frames)以上起跳,
傷害為 攻速x技能秒傷/5
這些ticks可以爆擊,但爆擊計算卻是根據不同的breakpoint來加總
以裂光波(攻速係數=3)為例,在攻速=1下,每20 frames會骰一次爆傷,如果骰到爆傷,
則此frame以及接下來19 frames的傷害都會爆擊。
如此攻速變2,則變成每10 frames骰一次爆傷,若骰到爆傷,則此frame及接下來9個
frames都會爆擊。
因此,攻速改變的是tick群組的大小,但卻不影響tick的頻率!
聰明如你,已經發現到,若傷害計算固定為每秒5次起跳,那如何每秒爆擊3次或6次呢?
原因就在tick rate會浮動。
比如,裂光波在攻速=1下,傷害計算的時間點(frame)為:
8, 12, 12, 8, 4, 12, 4 做循環,
(加起來=60 frames,0及60 frame不算的話,每秒計傷5次)
在此攻速下,爆擊判定以20 frames為單位,
因此,共有以下群組:8+12, 12+8, 4+12+4,
這三個群組,彼此獨立做爆傷判定。
而若看冰霜射線,則較複雜一點,攻速1下,擊中判定為每30 frames一次,
傷害計算的間隔,是以5, 6, 7, 11, 12及13 frames的數字在排列,排列的順序沒有
規則,但每組爆擊判定(或擊回判定)都是以30 frames為單位,
比如:13+12+5, 12+7+11, 11+12+7, 5+6+7+12...
總之,一般的原則如下:
導引技分兩種:
第一種是傷害固定不變,攻速改變頻率,這類的技能有攻速門檻;
第二種則是傷害頻率不變,攻速改變傷害,這類技能無攻速門檻,但卻有擊中判定門檻:
關於第二種技能,又有更細緻的規則如下:
1. 基礎擊中判定為每秒5次或以上
2. 擊中判定的頻率會受攻速改變(攻速越快,骰爆傷或擊回的次數就越多)
3. 傷害判定的頻率則不會改變
-----------------------------------------------------------------------
以上,大致可以解釋我前一篇文章內許多的疑點了。
剛才,我實際錄影去看法力的變化,發現攻速=1,無符文火蝙蝠的法力變化如下:
Frame數 法力變化
---------------------------
0 -150
1 -38
32 -37
61 -38
92 -38
---------------------------
由此可發現,攻速係數為2.0,以30 frame (31與29交替)做為擊中判定的單位;
而當攻速變1.2後,法力變化如下:
Frame數 法力變化
---------------------------
0 -150
1 -38
29 -37
55 -38
82 -38
---------------------------
擊中判定變以27 frames為單位 (28與26交替),
而從30變27,也符合攻速1.0至1.1的變化。
因此,不管如何,若只看傷害顯示去推斷,會不準。因為光是可能的lag,就會讓系統計
算產生錯誤。這也是因此,文章也有提到,測試技能的判定,最好去算資源耗損。
而傷害判定則不能只看跳傷,最好要去計算怪物血條的變化,才比較準。
================================================
以上,我會再思考一下,如何修正計算器
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.34.118.139
※ 文章網址: http://www.ptt.cc/bbs/DIABLO/M.1400916566.A.3D7.html
突然發現,太多字了,end直接講重點:
1. 攻速越快,擊中判定越快(在過去,越快召小鬼),此擊中判定有門檻效應
2. 但傷害的計算,卻是用 DPH x 攻速 來計算,因此傷害無門檻效應
→
05/24 15:32, , 1F
05/24 15:32, 1F
→
05/24 15:35, , 2F
05/24 15:35, 2F
→
05/24 15:37, , 3F
05/24 15:37, 3F
→
05/24 15:37, , 4F
05/24 15:37, 4F
我再來畫圖解釋好了,一樣用火蝙蝠為例:
攻速=1
系統加總0,5,11,18,30,43傷害,
一次顯示(每48f)
┌────────────────┐
↓ ↓
Frame--0--5---11---18------30------43------55-----60
↑ ↑ ↑
擲骰決定觸發 擲骰決定觸發 擲骰決定觸發
(A) (B) (C)
若A擲骰為有爆擊,則0,5,11,18的傷害判定都有會爆擊
(這些frames的數字,是隨便寫的)
(所謂的擲骰,是決定爆擊以及特效之判定)
當攻速=2,則擲骰頻率變為2倍:
系統加總0,5,11,18,30,43傷害,
一次顯示(每48f)
┌────────────────┐
↓ ↓
Frame--0--5---11---18------30------43------55-----60
↑ ↑ ↑ ↑ ↑
(A) │ (C) │ (E)
(B) (D)
但傷害顯示及傷害計算頻率不會改變,不同的是,每擊傷害變成2倍。
→
05/24 15:43, , 5F
05/24 15:43, 5F
→
05/24 16:05, , 6F
05/24 16:05, 6F
→
05/24 16:05, , 7F
05/24 16:05, 7F
推
05/24 16:12, , 8F
05/24 16:12, 8F
推
05/24 16:24, , 9F
05/24 16:24, 9F
攻速不改變傷害計算的頻率,但會改變擊中判定的頻率。
擊中判定的事件,包含了:爆擊與否、資源扣損、擊回判定、特效判定
※ 編輯: Dialysis (114.34.118.139), 05/24/2014 16:27:50
→
05/24 16:32, , 10F
05/24 16:32, 10F
推
05/24 20:36, , 11F
05/24 20:36, 11F
推
05/24 21:39, , 12F
05/24 21:39, 12F
→
05/24 21:39, , 13F
05/24 21:39, 13F