查看: 1995|回复: 2

[已经解决] 【请教】请问怪物攻击主角的命中率是怎么计算的?

[复制链接]
梦石
0
星屑
50
在线时间
33 小时
注册时间
2012-10-2
回帖
36
发表于 2012-10-7 13:39:36 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 lqx50 于 2012-10-7 17:53 编辑 0 o. K* N' f. E# M! [  k. B+ G" a2 T% h

0 N1 T& y+ t( H; t什么因素会决定怪物攻击主角的命中率?为什么主角升了几级后怪物攻击就从来未命中过主角?
梦石
0
星屑
672
在线时间
2184 小时
注册时间
2009-12-6
回帖
571

开拓者

发表于 2012-10-7 16:09:12 | 显示全部楼层
本帖最后由 ML4455739 于 2012-10-7 16:10 编辑 / B2 L% v4 E# m$ ?% F( |$ C: J

; r4 b3 M) n. q# q( N先放个参照表备忘。0 y% t0 I. ^8 p' v4 K
str 力量3 p3 n3 s2 K8 k* Q
dex 灵巧( Y2 W+ s/ v/ W7 ~* P1 |
agi 速度& \  X1 h& r$ _8 `0 _
int 魔力: c  C: O( p  n, e( d. d5 p$ X
atk 攻击力/ o6 x; E  S( n3 ^2 X' ]
pdef 物理防御
; A! W$ h2 e6 k$ A0 x: dmdef 魔法防御- C0 [( j  b" O! \. I: I9 e
eva 回避修正
在XAS 3.82里XAS - Damage找到的伤害计算公式,其中回避部分的计算式是如下:
  1.       eva = 8 * self.agi / attacker.dex + self.eva: Z# D; J: O; l# }" `# }. X
  2.       hit = self.damage < 0 ? 100 : 100 - eva# j3 {, [( Z: o7 W5 L$ X# L" I5 j
  3.       hit = self.cant_evade? ? 100 : hit
    / ?  D! Z  B# N5 h( e8 w. y$ Q
  4.       hit_result = (rand(100) < hit)
    , Z, x! ~& c* K: w+ g
复制代码
对照的中文翻译是:8 S0 H$ {" n5 R( u
闪避率 = 8 × 速度值 / 灵巧值 + 回避修正值" R% s; {2 I& c: W/ G" n# q
命中率 = 伤害小于零吗 ? 如果小于零则命中率为100;反之命中率为100 - 闪避率
# F$ R" }) J9 @$ e( O, k  t1 Z命中率 = 无法闪避的场合吗? 如果无法闪避命中率为100;反之命中率不变; m$ j* R" r- `0 {6 T
是否击中 = ((随机数0~100) 是否小于命中率), T% |' b$ o2 a5 B" j

. p6 J  e6 [3 v, b$ \, B' s说明:7 p: z5 k% K! W2 I. ], p; R: X5 Z4 D
无法闪避的场合可能是由于状态,数据库-状态的“不可回避攻击”那一栏有此设定。
+ }$ C) V8 P5 U是否击中的概念是一个布尔型(即true/false 真或伪),, K# C% U- z8 s( ]
XAS - Damage的53行左右有一个if hit_result == true就是对是否命中的分歧,
5 I, F- E* {0 M是否命中这个判定结果为真则进行伤害相关,如果为伪,会执行126行左右的:
  1.       self.damage = "Miss". C- V6 W9 m+ y8 i
  2.       self.critical = false
    0 N! @. m1 T0 T
复制代码
即设定伤害为miss,同时取消会心一击标志。
: }: p3 E- S' }6 \2 F1 l
+ V  l" K) K5 y6 r) c) N7 ]8 e4 F, F) j1 W, R# U
总的来说,. m2 _1 ~& F& g/ u' |6 O( l
可能是您的游戏中数据库-角色栏对某个角色的能力值成长曲线设置不平衡导致,
8 Z% J' c* r4 \! o6 N1 S" e需要修改灵巧(青色的成长曲线)以及速度(绿色的成长曲线)。2 B: w$ ~0 H1 C" ]+ ?  ^
往事简直不堪回首,稍微做点想做的事吧
回复

使用道具 举报

梦石
0
星屑
50
在线时间
33 小时
注册时间
2012-10-2
回帖
36
 楼主| 发表于 2012-10-7 16:26:29 | 显示全部楼层
ML4455739 发表于 2012-10-7 16:09
9 [$ z0 a( G$ O; i9 R" E( \先放个参照表备忘。
; j/ k; {3 F. n; V/ p) s, Y在XAS 3.82里XAS - Damage找到的伤害计算公式,其中回避部分的计算式是如下:对照的中 ...

( w- W* r2 Q- I5 Y" t* k原来如此,我之前好像也翻到这些脚本了,就是没看懂= =现在应该可以看懂了,谢谢
回复

使用道具 举报

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本发帖返回顶部