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

|
本帖最后由 ML4455739 于 2012-10-7 16:10 编辑 ( ]" n# y) F1 y, `0 w6 u7 ?( R& `
/ O" ^8 Q* [ v8 D, w先放个参照表备忘。
! Z, r; l/ |4 M8 s4 e2 \: Wstr 力量! b# P, J: f0 {, c! K& t
dex 灵巧* y/ R: w. m& _8 t/ G, y
agi 速度: l$ n9 W# T6 R) M) K# \
int 魔力
4 ~3 x Q3 c; _2 @( Latk 攻击力! B+ y; z3 y5 H- w% Q6 _
pdef 物理防御/ Q/ j( N% q8 ~" Z( c( c
mdef 魔法防御$ L8 y) ~; A9 A' w
eva 回避修正 在XAS 3.82里XAS - Damage找到的伤害计算公式,其中回避部分的计算式是如下:- eva = 8 * self.agi / attacker.dex + self.eva; J& q4 I" M$ B* [
- hit = self.damage < 0 ? 100 : 100 - eva
. n" K, Y% y/ @ l. h - hit = self.cant_evade? ? 100 : hit
" w+ T! I$ X- u3 Q% C/ b# U, |8 l5 @ - hit_result = (rand(100) < hit)
/ f& D' ^5 d- F# P
复制代码 对照的中文翻译是:
2 X8 T6 O! B. N闪避率 = 8 × 速度值 / 灵巧值 + 回避修正值9 v5 ]0 i9 G, `/ k7 ^' i
命中率 = 伤害小于零吗 ? 如果小于零则命中率为100;反之命中率为100 - 闪避率5 n2 V$ S2 H+ s9 x1 z( ]
命中率 = 无法闪避的场合吗? 如果无法闪避命中率为100;反之命中率不变& k- Q% i& m' C. v5 ^2 r
是否击中 = ((随机数0~100) 是否小于命中率)
. B9 {0 }$ y \* `; g3 F. M0 i- Q: l4 P
1 P% V2 r5 ~1 c7 Z说明:& Y& b! H/ J3 D- Z
无法闪避的场合可能是由于状态,数据库-状态的“不可回避攻击”那一栏有此设定。
; s* \& y/ [8 y+ s/ o9 U. \+ D是否击中的概念是一个布尔型(即true/false 真或伪),6 D$ o: d- @( c4 v4 p0 b }
XAS - Damage的53行左右有一个if hit_result == true就是对是否命中的分歧,6 f0 w7 u2 H; y) k- Q
是否命中这个判定结果为真则进行伤害相关,如果为伪,会执行126行左右的:- self.damage = "Miss"
( S3 T/ M4 N% z8 @! p7 W/ U7 i! S - self.critical = false9 Y. @( s) ~& g R3 M9 f. Z4 V
复制代码 即设定伤害为miss,同时取消会心一击标志。, T4 R" \1 Y4 u B7 A! l0 q8 S+ \
- W' J2 E- d! N9 }/ J- h8 d
1 }) M' J1 X0 F! p( Y总的来说,
# e. R# V7 Y! U7 S; {可能是您的游戏中数据库-角色栏对某个角色的能力值成长曲线设置不平衡导致,
; d4 T5 d4 x( \6 Y9 A. S" G需要修改灵巧(青色的成长曲线)以及速度(绿色的成长曲线)。
6 k* g0 x# I, F9 z* Y |
|