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

|
本帖最后由 ML4455739 于 2012-10-7 16:10 编辑
. o3 V$ r$ e7 g+ B P9 k0 B
0 J0 ^/ C/ ?9 O; P先放个参照表备忘。7 X+ d# O# Y; |9 u
str 力量% L7 e7 Z' Y0 F, [6 N
dex 灵巧- u( @1 {* v( I, `1 U4 }. M+ u
agi 速度
2 N5 }4 A. \1 D/ H+ f/ H& P5 vint 魔力
/ u. G; X) N* y4 I ]* F- batk 攻击力
2 i5 T5 n7 M0 D. v. G7 Lpdef 物理防御% t$ K' Q2 U+ O0 m
mdef 魔法防御
! `, k# ^6 u7 q" y! E jeva 回避修正 在XAS 3.82里XAS - Damage找到的伤害计算公式,其中回避部分的计算式是如下:- eva = 8 * self.agi / attacker.dex + self.eva
* p* U0 q' E3 l: r - hit = self.damage < 0 ? 100 : 100 - eva
2 j7 w0 A$ W- O* V - hit = self.cant_evade? ? 100 : hit
; A) I4 l$ D( M - hit_result = (rand(100) < hit)
5 x$ b) ?9 N( {: z" U
复制代码 对照的中文翻译是:
7 X2 \1 E, G: ^! T* b闪避率 = 8 × 速度值 / 灵巧值 + 回避修正值6 w2 ~0 Y" h* k0 q" h
命中率 = 伤害小于零吗 ? 如果小于零则命中率为100;反之命中率为100 - 闪避率
( F* P7 ^& m6 S3 P( s命中率 = 无法闪避的场合吗? 如果无法闪避命中率为100;反之命中率不变
$ q o$ o7 D1 K8 E, o是否击中 = ((随机数0~100) 是否小于命中率)
& n( F* K- S& ~; |+ A2 K; n1 @) i* u1 l% g; K* A
说明:; u) P8 z1 n Q& {9 O
无法闪避的场合可能是由于状态,数据库-状态的“不可回避攻击”那一栏有此设定。/ D$ k5 {" q- }, e" b3 O6 o1 s2 h
是否击中的概念是一个布尔型(即true/false 真或伪),
# E$ y, y1 G' p& w& @( fXAS - Damage的53行左右有一个if hit_result == true就是对是否命中的分歧," `2 S& t5 J' [& N
是否命中这个判定结果为真则进行伤害相关,如果为伪,会执行126行左右的:- self.damage = "Miss"
8 T9 S5 ~# J1 y$ l! [, G7 \; } - self.critical = false
+ D) `0 u- r* K3 i
复制代码 即设定伤害为miss,同时取消会心一击标志。
+ j. U+ K; F$ T/ \
+ A4 H7 q' @7 L; L. c) k6 K+ C: J3 m: D1 T6 }
总的来说,8 c" }( h$ B0 u' Y# I
可能是您的游戏中数据库-角色栏对某个角色的能力值成长曲线设置不平衡导致,1 z! \; d% D8 f0 s) M/ x
需要修改灵巧(青色的成长曲线)以及速度(绿色的成长曲线)。2 ]( l0 c9 b* W* d
|
|