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

|
本帖最后由 ML4455739 于 2012-10-7 16:10 编辑 6 ~1 g- a3 a' M& |
, M' a' Y/ f7 r5 @; v. @5 c先放个参照表备忘。
2 U. L6 ~0 C" e! J# z$ ostr 力量
8 n5 Z) }6 C5 ?; U- @dex 灵巧
2 ]2 |: Q( g( dagi 速度
1 D& v, k6 b& [6 X6 t2 mint 魔力4 ~1 U: @$ g+ {8 {' Y- a9 m7 E
atk 攻击力& W% B' n) j' V! L
pdef 物理防御
/ e+ D" ]* z* bmdef 魔法防御3 A% L j" B/ a4 E1 m
eva 回避修正 在XAS 3.82里XAS - Damage找到的伤害计算公式,其中回避部分的计算式是如下:- eva = 8 * self.agi / attacker.dex + self.eva( w: f2 N |7 ~* C& U$ Q' S
- hit = self.damage < 0 ? 100 : 100 - eva
' |* v' M% k6 y" L5 ` - hit = self.cant_evade? ? 100 : hit
# y5 U" A, F; b: v3 K - hit_result = (rand(100) < hit)( N6 a: v Y3 Y) ^& `# H
复制代码 对照的中文翻译是:3 j9 D. i8 h6 X$ A& _
闪避率 = 8 × 速度值 / 灵巧值 + 回避修正值
& h- [/ O& ]+ X3 F8 g命中率 = 伤害小于零吗 ? 如果小于零则命中率为100;反之命中率为100 - 闪避率/ U5 P) ^9 }7 O4 G' T
命中率 = 无法闪避的场合吗? 如果无法闪避命中率为100;反之命中率不变
- m1 m: Y' p7 z e0 `% R0 q% O是否击中 = ((随机数0~100) 是否小于命中率)2 T+ D# s6 }" E% t$ q
, S" t+ d6 n, W2 O
说明:9 k( s- b; t5 k4 u
无法闪避的场合可能是由于状态,数据库-状态的“不可回避攻击”那一栏有此设定。6 G/ O, |+ b$ A8 m; D) t: c
是否击中的概念是一个布尔型(即true/false 真或伪),
( G' k! p% K2 Z1 R) cXAS - Damage的53行左右有一个if hit_result == true就是对是否命中的分歧,% S0 Y9 S. _) o+ _/ D/ ]& \5 U
是否命中这个判定结果为真则进行伤害相关,如果为伪,会执行126行左右的:- self.damage = "Miss"9 t) z$ [4 J4 Q' I! l$ `- [
- self.critical = false
, j* _. |/ t+ m% q- H5 |% a
复制代码 即设定伤害为miss,同时取消会心一击标志。
) w6 o+ N! m" b9 i. E" h: F& S; l' j0 T+ W) p/ I, H
' v" D0 C& R# [7 Z& `. R3 P总的来说,! A" R8 d# ?* @/ F$ B4 X
可能是您的游戏中数据库-角色栏对某个角色的能力值成长曲线设置不平衡导致,
2 m2 I8 z$ Q: H- p8 Y需要修改灵巧(青色的成长曲线)以及速度(绿色的成长曲线)。
/ Z) S6 X5 ?- \/ L |
|