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

|
本帖最后由 ML4455739 于 2012-10-7 16:10 编辑
& g" \) y2 p w! t4 z: i) c
o. i4 o0 \; y2 m5 b先放个参照表备忘。
( I0 L9 O/ u8 v3 I! _str 力量' `' O; p9 p7 _: I$ b# c
dex 灵巧2 W3 r5 @! `7 N: C" x8 u
agi 速度: d M0 Q3 t5 k% x
int 魔力8 f# _3 n5 [$ i2 w: S
atk 攻击力* ?6 S, L5 H3 Z% l! m+ Z; e
pdef 物理防御* n* y+ v" K5 _
mdef 魔法防御0 c0 E" V" a2 n, x0 x- A2 P3 f
eva 回避修正 在XAS 3.82里XAS - Damage找到的伤害计算公式,其中回避部分的计算式是如下:- eva = 8 * self.agi / attacker.dex + self.eva
$ I5 u. a7 z4 {+ j! z4 R& P0 M - hit = self.damage < 0 ? 100 : 100 - eva1 R9 Z/ J, g" a) g/ H
- hit = self.cant_evade? ? 100 : hit
4 n* P* u7 p5 s8 \ - hit_result = (rand(100) < hit)! e9 d7 @5 q a' j8 E# Q2 Q/ d) c
复制代码 对照的中文翻译是:9 C" R* l3 H( f$ d* n( _6 n
闪避率 = 8 × 速度值 / 灵巧值 + 回避修正值
2 W. N# L/ x) s" j# ^/ U命中率 = 伤害小于零吗 ? 如果小于零则命中率为100;反之命中率为100 - 闪避率 G1 n: z& I y$ C2 C0 A
命中率 = 无法闪避的场合吗? 如果无法闪避命中率为100;反之命中率不变
8 b1 [. b) ^3 N是否击中 = ((随机数0~100) 是否小于命中率)
( K* b9 I- H: h' k' a9 Z$ I, L" v4 F. a# y I
说明:
, S6 O) @& I9 V+ P* s% l4 b无法闪避的场合可能是由于状态,数据库-状态的“不可回避攻击”那一栏有此设定。8 `- j2 s* w ^
是否击中的概念是一个布尔型(即true/false 真或伪),8 ]. W! d$ k" g/ p, l
XAS - Damage的53行左右有一个if hit_result == true就是对是否命中的分歧,
* H* S6 _9 Q- {6 ]是否命中这个判定结果为真则进行伤害相关,如果为伪,会执行126行左右的:- self.damage = "Miss"
& N) f$ V, @7 H b* N4 _. h - self.critical = false
& R8 d+ W: }: C/ m+ ^ n" z$ _
复制代码 即设定伤害为miss,同时取消会心一击标志。
* A) J7 p3 F3 }# S% b
( x3 Z9 E) d9 R( U/ c J
3 Z0 p$ Q1 q+ W( r2 b# Y总的来说,
1 Z4 H2 [6 }# T8 g e) w, V4 I可能是您的游戏中数据库-角色栏对某个角色的能力值成长曲线设置不平衡导致,
. R& D/ j4 h! L- T! D" N需要修改灵巧(青色的成长曲线)以及速度(绿色的成长曲线)。1 ]! f9 b; L7 x
|
|