设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1713|回复: 2
打印 上一主题 下一主题

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

[复制链接]
梦石
0
星屑
50
在线时间
33 小时
注册时间
2012-10-2
帖子
42
跳转到指定楼层
1
发表于 2012-10-7 13:39:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 lqx50 于 2012-10-7 17:53 编辑 . v1 x( m  G; M9 N& Y
$ y. M1 G: w- ^6 Z: o5 A
什么因素会决定怪物攻击主角的命中率?为什么主角升了几级后怪物攻击就从来未命中过主角?
梦石
0
星屑
672
在线时间
2184 小时
注册时间
2009-12-6
帖子
607

开拓者

2
发表于 2012-10-7 16:09:12 | 只看该作者
本帖最后由 ML4455739 于 2012-10-7 16:10 编辑 0 q" I9 h; P9 {" G: D+ a

! _, ]  K9 o6 {; w先放个参照表备忘。
+ N$ k3 F9 G8 d+ p- F
str 力量$ _' g+ V4 f7 A1 E# ^
dex 灵巧
$ j7 ]9 T. V! wagi 速度
" G- |8 T5 P( f- E: ~int 魔力
" W5 n* o3 g3 z$ `4 fatk 攻击力
* S+ i) ^1 e' F& K% npdef 物理防御
# d& v) b5 {' ?) i6 N9 t9 dmdef 魔法防御
; Y" A! O+ t1 b3 X  m" zeva 回避修正
在XAS 3.82里XAS - Damage找到的伤害计算公式,其中回避部分的计算式是如下:
  1.       eva = 8 * self.agi / attacker.dex + self.eva/ q0 L9 ?! e$ t' w" Z8 M/ g
  2.       hit = self.damage < 0 ? 100 : 100 - eva/ b& m7 i8 x, y5 F9 w
  3.       hit = self.cant_evade? ? 100 : hit
    4 H' x& H' i. J, [
  4.       hit_result = (rand(100) < hit)
    " v3 v2 U0 g3 y$ Z0 m6 r
复制代码
对照的中文翻译是:+ l- e- B. z4 W, p$ h' O
闪避率 = 8 × 速度值 / 灵巧值 + 回避修正值
; w6 V" B: E4 R4 C命中率 = 伤害小于零吗 ? 如果小于零则命中率为100;反之命中率为100 - 闪避率
' b2 z- d' \* {  X* _6 c: H命中率 = 无法闪避的场合吗? 如果无法闪避命中率为100;反之命中率不变
' p& U, c$ h$ p9 v( ^+ S是否击中 = ((随机数0~100) 是否小于命中率)/ Q. u- E0 e& d

$ T8 V% [  I- O2 }- Z# ~7 u! p说明:
+ n' w; s0 T7 z' y无法闪避的场合可能是由于状态,数据库-状态的“不可回避攻击”那一栏有此设定。
& S( [" |0 v2 c! j+ V0 O: W$ F+ x- Y9 u是否击中的概念是一个布尔型(即true/false 真或伪),+ O' l/ H4 V  Q7 G3 |' E* k
XAS - Damage的53行左右有一个if hit_result == true就是对是否命中的分歧,' z% B6 g+ p/ H+ O% t6 S% A
是否命中这个判定结果为真则进行伤害相关,如果为伪,会执行126行左右的:
  1.       self.damage = "Miss"( K5 E' z! @4 A1 l+ A
  2.       self.critical = false
    ' a+ K; z8 `4 l1 n9 \. h" U$ e8 ?. z
复制代码
即设定伤害为miss,同时取消会心一击标志。$ [, N1 v$ [* F5 ]& y* S7 E

1 N2 H1 j6 K. F& F6 A
5 @( O8 p% c7 B) l0 K0 J总的来说," U6 a( @4 J  Z
可能是您的游戏中数据库-角色栏对某个角色的能力值成长曲线设置不平衡导致,$ K1 E  h# @; }) o- N% D1 L
需要修改灵巧(青色的成长曲线)以及速度(绿色的成长曲线)。
% t" L! p, m7 u' C" W
往事简直不堪回首,稍微做点想做的事吧
回复 支持 反对

使用道具 举报

梦石
0
星屑
50
在线时间
33 小时
注册时间
2012-10-2
帖子
42
3
 楼主| 发表于 2012-10-7 16:26:29 | 只看该作者
ML4455739 发表于 2012-10-7 16:09 2 ?4 u2 ~* L, N) Y; u0 R( G
先放个参照表备忘。
2 m# b8 h! i4 P1 D0 H3 j在XAS 3.82里XAS - Damage找到的伤害计算公式,其中回避部分的计算式是如下:对照的中 ...
2 N' c$ w# v: H* O
原来如此,我之前好像也翻到这些脚本了,就是没看懂= =现在应该可以看懂了,谢谢
回复 支持 反对

使用道具 举报

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-14 15:01

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表