赞 | 0 |
VIP | 15 |
好人卡 | 21 |
积分 | 7 |
经验 | 24727 |
最后登录 | 2021-10-29 |
在线时间 | 2184 小时 |
- 梦石
- 0
- 星屑
- 672
- 在线时间
- 2184 小时
- 注册时间
- 2009-12-6
- 帖子
- 607
|
本帖最后由 ML4455739 于 2012-10-7 16:10 编辑
( v; G/ i) B1 O0 t/ G. `2 k7 T+ v* R/ f& a. p! A9 U
先放个参照表备忘。
, `3 o7 h3 K9 z& G" S# ^2 T8 ?0 ^str 力量0 W" d: [+ b; G
dex 灵巧% `( W6 v# V( `! _
agi 速度8 |9 X3 |7 U3 b
int 魔力, U; [$ [. y2 S7 E% j) G
atk 攻击力
6 z& W- J6 r! T" g: L u+ Rpdef 物理防御% Z2 W& e) d- o0 c9 d
mdef 魔法防御" j* I/ ~! C5 U( D1 i' n
eva 回避修正 在XAS 3.82里XAS - Damage找到的伤害计算公式,其中回避部分的计算式是如下:- eva = 8 * self.agi / attacker.dex + self.eva
& N; A$ A5 Y- h T; q7 @ - hit = self.damage < 0 ? 100 : 100 - eva( U5 O8 Z; a$ f( G
- hit = self.cant_evade? ? 100 : hit' C4 a* }9 q3 Y% t; y: W
- hit_result = (rand(100) < hit)
6 K/ T, W8 J$ S6 u
复制代码 对照的中文翻译是:
& N# t$ F# S/ o8 ~$ h; C闪避率 = 8 × 速度值 / 灵巧值 + 回避修正值8 }* z" R' s* H; r0 l. C4 A
命中率 = 伤害小于零吗 ? 如果小于零则命中率为100;反之命中率为100 - 闪避率
$ T# ^5 z p. X) s1 ^命中率 = 无法闪避的场合吗? 如果无法闪避命中率为100;反之命中率不变3 y/ G$ v7 Z- V0 y4 j/ O5 T1 ?
是否击中 = ((随机数0~100) 是否小于命中率)
0 K' Y. r, {1 v; t: W2 A3 |2 v* m) b* O9 S! L+ |8 u
说明:$ \9 B4 A- T( }$ _; p
无法闪避的场合可能是由于状态,数据库-状态的“不可回避攻击”那一栏有此设定。
% v; B5 O" k! \: X0 k是否击中的概念是一个布尔型(即true/false 真或伪),
5 n4 K& S6 S( g9 j$ l2 aXAS - Damage的53行左右有一个if hit_result == true就是对是否命中的分歧,# s. ]6 u% T$ |/ Q# o1 r# O
是否命中这个判定结果为真则进行伤害相关,如果为伪,会执行126行左右的:- self.damage = "Miss"8 O& R" U; X& I# a- `
- self.critical = false
" X; c4 Y$ {* c% X' ~7 @
复制代码 即设定伤害为miss,同时取消会心一击标志。; E& W% {0 C! k% [
( {% x% ?9 |1 w, w
$ u# _& i5 W& R$ d# b, U) N总的来说,1 d6 Q3 s. {5 K. g1 X( S
可能是您的游戏中数据库-角色栏对某个角色的能力值成长曲线设置不平衡导致,
, U7 s0 L: [ V _需要修改灵巧(青色的成长曲线)以及速度(绿色的成长曲线)。
0 \4 F- ^0 ~# m. E3 u" S |
|