查看: 1994|回复: 2

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

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

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

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

×
本帖最后由 lqx50 于 2012-10-7 17:53 编辑
, p" I7 k2 N- F- @! X% |' Y
' Z9 G# O( y  N8 X' P: y7 n什么因素会决定怪物攻击主角的命中率?为什么主角升了几级后怪物攻击就从来未命中过主角?
梦石
0
星屑
672
在线时间
2184 小时
注册时间
2009-12-6
回帖
571

开拓者

发表于 2012-10-7 16:09:12 | 显示全部楼层
本帖最后由 ML4455739 于 2012-10-7 16:10 编辑
/ x& M5 J* v% i# j5 r. L
2 S8 t' Z3 Z2 {先放个参照表备忘。# d- O/ Y2 @. q5 Y
str 力量
' g2 k0 X+ h2 [/ y: Z/ Z( |/ Ydex 灵巧
7 t$ S" ?7 U( R; dagi 速度0 \, a5 O7 V0 x2 f; s) z
int 魔力% O  g5 s5 r1 G! {
atk 攻击力
# [' Y: f- k# A  A5 U. ~pdef 物理防御
9 U/ O& O  n: S" D- R; H2 Lmdef 魔法防御. \+ D1 H+ N- f* G3 K  M
eva 回避修正
在XAS 3.82里XAS - Damage找到的伤害计算公式,其中回避部分的计算式是如下:
  1.       eva = 8 * self.agi / attacker.dex + self.eva% o  u, c! z# k6 u0 ?
  2.       hit = self.damage < 0 ? 100 : 100 - eva3 ~: L6 F* b# |- s
  3.       hit = self.cant_evade? ? 100 : hit
    + L* \3 x! q. X& d  Q
  4.       hit_result = (rand(100) < hit)
    6 ?* A. i5 \) t/ b
复制代码
对照的中文翻译是:4 s2 `2 l2 a6 C+ G% h' G
闪避率 = 8 × 速度值 / 灵巧值 + 回避修正值
5 x# i/ k. {3 @, e! g; T命中率 = 伤害小于零吗 ? 如果小于零则命中率为100;反之命中率为100 - 闪避率% g# X  P7 H( u( F
命中率 = 无法闪避的场合吗? 如果无法闪避命中率为100;反之命中率不变0 }/ i4 [$ Z+ f! b
是否击中 = ((随机数0~100) 是否小于命中率)
5 M* W" R- N' [
) M; Z' u: d2 }" M+ B) c) w说明:
' A' y7 {& ]3 |* i, |' w无法闪避的场合可能是由于状态,数据库-状态的“不可回避攻击”那一栏有此设定。8 x3 V  @: u: Z8 i) [, [9 J
是否击中的概念是一个布尔型(即true/false 真或伪),
: u- c$ E" _% _* R! AXAS - Damage的53行左右有一个if hit_result == true就是对是否命中的分歧,/ ?1 I6 F) J( f  a+ T4 A) P* T
是否命中这个判定结果为真则进行伤害相关,如果为伪,会执行126行左右的:
  1.       self.damage = "Miss". G* o: h8 M. E6 E$ u& t
  2.       self.critical = false
    - k3 P/ Y% G- D9 d
复制代码
即设定伤害为miss,同时取消会心一击标志。" x2 Y1 V8 n( @3 L# k
& Y) ]0 {! c0 n7 ?: b, M  L
6 V2 ]1 `. W! ~" K/ t1 `0 N
总的来说,5 y# z2 V9 l% T" O9 O9 f* f
可能是您的游戏中数据库-角色栏对某个角色的能力值成长曲线设置不平衡导致,
* `& [& d% ^# c# L需要修改灵巧(青色的成长曲线)以及速度(绿色的成长曲线)。8 n0 d; W( g/ M: P
往事简直不堪回首,稍微做点想做的事吧
回复

使用道具 举报

梦石
0
星屑
50
在线时间
33 小时
注册时间
2012-10-2
回帖
36
 楼主| 发表于 2012-10-7 16:26:29 | 显示全部楼层
ML4455739 发表于 2012-10-7 16:09
$ O3 M$ u1 g2 N" M3 t6 S7 B先放个参照表备忘。
% {) z2 R/ ?$ N  G+ S8 D0 Z在XAS 3.82里XAS - Damage找到的伤害计算公式,其中回避部分的计算式是如下:对照的中 ...
3 @8 D+ n5 Y) _! x
原来如此,我之前好像也翻到这些脚本了,就是没看懂= =现在应该可以看懂了,谢谢
回复

使用道具 举报

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

在本发帖返回顶部