作者edwar (海边的野孩子)
看板DIABLO
标题Re: 一些毒符的整理
时间Mon May 22 23:28:34 2006
我补充一下怎麽从 MagicPrefix.txt 和 MagicSuffix.txt 算出小毒符的
毒伤好了...
这篇文章可自由转载, 但请保留出处(ptt.cc diablo 板)及作者(edwar).
先列出计算结果:
> ---------------------------------------------------------------
1.09b 版:
[字尾] 光明 毒素 瘟疫 炭疽
0 75 100 125 150 - 时间(frame)
0 21 39 52 86 - dmg/256frame
[字首] +----------------------------------------
0 0 | 0/0 6/3 15/4 25/5 50/6
腐败 75 52 | 15/3 43/6 62/7 81/8 121/9
腐烂 100 128 | 50/4 102/7 130/8 158/9 209/10
剧毒 125 205 | 100/5 177/8 214/9 251/10 290/10.2
瘟疫 150 299 | 175/6 281/9 330/10 350/10.2 383/10.2
| └dmg/256frame
时间(frame)
* 以上的表示方法 xxx/ttt, xxx 是伤害, ttt 是时间(秒)
* 有三个 10.2 秒, 在游戏里显示是 10 秒, 实际作用时间还是 10.2 秒.
* 暂时没有图, 手上没有 1.09b 的备份档.
> ---------------------------------------------------------------
1.11b 版:
[字尾] 光明 毒素 瘟疫 炭疽
0 75 100 125 150 - 时间(frame)
0 21 39 52 86 - dmg/256frame
[字首] +----------------------------------------
0 0 | 0/0 6/3 15/4 25/5 50/6
腐败 75 52 | 15/3 43/6 62/7 81/8 121/9
腐烂 100 128 | 50/4 102/7 130/8 158/9 209/10
剧毒 125 205 | 100/5 177/8 214/9 251/10 313/11
瘟疫 150 299 | 175/6 281/9 330/10 377/11 451/12
| └dmg/256frame
时间(frame)
图:
http://home.pchome.com.tw/world/rawde/d2exp/image/PDSC-1_11b.png
> ---------------------------------------------------------------
字首可以在 MagicPrefix.txt 找到, itype1 栏位用 scha,
mod1code 栏位选 dmg-pois. 字尾可以 MagicSuffix.txt 找到,
栏位设定同字首.
每个字首尾有三栏参数: mod1param, mod1min, mod1max.
其中 mod1param 是毒伤持续时间(t), 单位是 frame (1秒=25frames).
mod1min 是毒伤持续 256 frames 的话会造成的伤害(X).
mod1max 和 mod1min 相同, 所以同样属性的毒符伤害不会变动.
只有字首或字尾时, 伤害 dmg=(X dmg/256frame)*(t frame)=t*X/256
然後[四舍五入].
例如字首-瘟疫: t=150, X=299, dmg=t*X/256=175.195...
四舍五入=>175
持续时间 t=150 frames = 6s
同时有字首及字尾时, 标准算法:
dmg=(X1+X2)*(t1+t2)/256
t = t1+t2 (frames)
例如瘟疫之炭疽: X=X1+X2=299+86=385, t=t1+t2=300,
dmg = t*X/256 = 451.17... 四舍五入=>451
t = 300 frames = 12s
标准算法就是大家一直在说的 1.08 算法.
但是在 1.09 时, 小毒符毒伤持续时间最大只能记录到 255, 恰好是
一个位元组(byte, 1byte=8bits)能表示的最大无号数. 所以伤害的
公式变成:
dmg = X*t/256 =(X1+X2)*min(t1+t2,255)/256
t = min(t1+t2,255)
--
再取四舍五入. min(a,255) 会取 a 和 255 两者较小的值.
所以 1.09 瘟疫之炭疽: X=X1+X2=385, t=min(t1+t2,255)=255
dmg = 385*255/256 = 383.496... 四舍五入=> 383
t = 255 frames = 10.2s
这就是 383 小毒符(pdsc). 有三个小毒符的时间是 10.2 秒, 计算後
跟 1.08 不一样, 分别是剧毒之炭疽(290/10.2s), 瘟疫之瘟疫(350/10.2s),
瘟疫之炭疽(383/10.2s).
不过前面的文章有提到持续时间为帐面的1/2: [(Y+y)]/2 秒, 我用一个
451/12s 打普通级的小墨, 持续时间的确是 12s, 还试了一个 330/10s.
我在想会不会这个1/2是在其他难度下试的?
--
1.09 小毒符算法我曾经贴在暗黑站, 但是暗黑站的站长当兵关站就没了 XD
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.168.223.145
※ 编辑: edwar 来自: 218.168.223.145 (05/22 23:29)
※ 编辑: edwar 来自: 218.168.223.145 (05/22 23:32)
1F:→ BadGame:转回巴哈吧 最近都没好文章.... orz 05/23 00:24
※ 编辑: edwar 来自: 218.168.223.145 (05/23 00:40)
2F:→ edwar:我在巴哈的帐号早就被砍了 XD 05/23 00:40
3F:→ BadGame:.......... 囧rz 05/23 00:54
4F:→ edwar:我在一开始加了一段声明, 可以自由转载 :) 05/23 07:19
5F:推 ginglemisa:妈啊....edwar竟然还有在玩....... 05/30 03:22