赞 | 0 |
VIP | 15 |
好人卡 | 21 |
积分 | 7 |
经验 | 24727 |
最后登录 | 2021-10-29 |
在线时间 | 2184 小时 |
- 梦石
- 0
- 星屑
- 672
- 在线时间
- 2184 小时
- 注册时间
- 2009-12-6
- 帖子
- 607

|
本帖最后由 ML4455739 于 2012-10-7 16:10 编辑
$ f. f( l7 z* i/ a. E; K }1 E
5 u! i8 v. [) Y: c4 a6 z, H先放个参照表备忘。5 W5 Z) {! f/ { N
str 力量
- V5 \1 l( M" zdex 灵巧
& c$ F1 y! l+ Jagi 速度
! E8 k) N. Z) m3 ^( _5 R sint 魔力 m& p! m' d: P4 M& e, _
atk 攻击力
; { K2 ]" k4 X8 }pdef 物理防御
, ]5 D! F. p. m# n Smdef 魔法防御, m7 ^4 b* g1 o( N/ f
eva 回避修正 在XAS 3.82里XAS - Damage找到的伤害计算公式,其中回避部分的计算式是如下:- eva = 8 * self.agi / attacker.dex + self.eva& F" m: z' X" c' X
- hit = self.damage < 0 ? 100 : 100 - eva
! ^2 z; ?1 B8 L, S. r$ X" z7 t - hit = self.cant_evade? ? 100 : hit) T3 W' D2 [* |9 W
- hit_result = (rand(100) < hit)
7 R8 T% n8 X$ {. q6 T" t
复制代码 对照的中文翻译是:
- ?( B0 a) F% B闪避率 = 8 × 速度值 / 灵巧值 + 回避修正值
J+ q `" P y- u命中率 = 伤害小于零吗 ? 如果小于零则命中率为100;反之命中率为100 - 闪避率
/ s: J3 Z& ~3 [' _1 o2 @' M命中率 = 无法闪避的场合吗? 如果无法闪避命中率为100;反之命中率不变
/ W8 h/ D2 [: N3 l6 [是否击中 = ((随机数0~100) 是否小于命中率)3 X5 `9 a q9 a# s5 h
$ }' [- T+ d$ `" N7 b4 {% n# l \
说明:7 o- I" e6 f/ b: L# ]6 L5 H
无法闪避的场合可能是由于状态,数据库-状态的“不可回避攻击”那一栏有此设定。
) o. P3 D3 G0 s$ F是否击中的概念是一个布尔型(即true/false 真或伪),
" I+ ^) g3 z( V5 QXAS - Damage的53行左右有一个if hit_result == true就是对是否命中的分歧,2 d( Z6 C5 K2 c. M" V% w
是否命中这个判定结果为真则进行伤害相关,如果为伪,会执行126行左右的:- self.damage = "Miss"
- d! u M; g1 X9 W% K - self.critical = false7 K+ Q8 M7 y9 T; M
复制代码 即设定伤害为miss,同时取消会心一击标志。
. b7 |9 ]4 |1 t0 d$ e- k6 O2 e/ R# G* W4 }) [. x
6 R4 \5 K6 E0 X& D0 L+ n0 K
总的来说,
" e* }) x" J# w, f( J% n$ H% @可能是您的游戏中数据库-角色栏对某个角色的能力值成长曲线设置不平衡导致,
l) ?- M) P7 B; ?8 ^ E$ l需要修改灵巧(青色的成长曲线)以及速度(绿色的成长曲线)。: [7 E% K8 o( n& P8 g9 t: t k
|
|