Project1

标题: 【请教】请问怪物攻击主角的命中率是怎么计算的? [打印本页]

作者: lqx50    时间: 2012-10-7 13:39
标题: 【请教】请问怪物攻击主角的命中率是怎么计算的?
本帖最后由 lqx50 于 2012-10-7 17:53 编辑
+ `) \" \( h2 c2 V6 q
7 K9 u8 ~- B4 d2 I什么因素会决定怪物攻击主角的命中率?为什么主角升了几级后怪物攻击就从来未命中过主角?
作者: ML4455739    时间: 2012-10-7 16:09
本帖最后由 ML4455739 于 2012-10-7 16:10 编辑 8 {3 [" t% ]" Y" S( @1 Y# M9 I2 ?
. _, x, s7 P7 [% Q
先放个参照表备忘。
& n4 l4 J6 L! x2 y  H$ z6 k
str 力量1 _3 w6 B+ W3 W1 i' O
dex 灵巧" o! Y' c9 H8 P6 B8 ?' U* B* M# B
agi 速度& N4 f" G0 T( o* `; y8 N
int 魔力  i+ _( b# n; V, J- ~
atk 攻击力
- a. x! t0 q9 V8 s+ ]! ^( `; Tpdef 物理防御
. V2 F' M. n. X( W- F  q( Zmdef 魔法防御
1 s( z" u* _4 l; @4 Ueva 回避修正
在XAS 3.82里XAS - Damage找到的伤害计算公式,其中回避部分的计算式是如下:
  1.       eva = 8 * self.agi / attacker.dex + self.eva# P! o$ I' x1 x2 v3 ^; L0 B
  2.       hit = self.damage < 0 ? 100 : 100 - eva3 k4 ^# A- N7 s& O8 b
  3.       hit = self.cant_evade? ? 100 : hit
    ' j6 T2 K+ B9 D0 ]( n8 [7 K
  4.       hit_result = (rand(100) < hit)
    / n" _4 ?6 t1 v8 {/ m; P
复制代码
对照的中文翻译是:' _) |% x3 [% V5 ~& L- J; ]6 m
闪避率 = 8 × 速度值 / 灵巧值 + 回避修正值! M. W+ q& ]9 U0 A5 z
命中率 = 伤害小于零吗 ? 如果小于零则命中率为100;反之命中率为100 - 闪避率
2 X* R. j2 H' n1 l7 |( Y0 e6 G命中率 = 无法闪避的场合吗? 如果无法闪避命中率为100;反之命中率不变8 K6 }* q9 ^3 |. V! T7 Z
是否击中 = ((随机数0~100) 是否小于命中率)( S4 C# x6 I) U! \8 ]+ ?  S" M% T
0 q4 P: E. C4 F6 c
说明:
0 g3 U# G7 I& m7 f; `8 A无法闪避的场合可能是由于状态,数据库-状态的“不可回避攻击”那一栏有此设定。
8 H3 _1 Y5 K" f: i! b2 g! R1 \是否击中的概念是一个布尔型(即true/false 真或伪),3 w, _5 H6 \; H! ?9 X
XAS - Damage的53行左右有一个if hit_result == true就是对是否命中的分歧,
& _3 r8 V; C' j; b是否命中这个判定结果为真则进行伤害相关,如果为伪,会执行126行左右的:
  1.       self.damage = "Miss"* ~1 @( ^6 s$ w
  2.       self.critical = false5 ~1 V) B# d  [2 j
复制代码
即设定伤害为miss,同时取消会心一击标志。
, \! h1 |+ k) E* C1 Z* ?. C7 L2 i: D3 H& z2 d

. G7 z, N0 b- T! w9 R7 w( @2 h+ F1 G总的来说," V) n$ |1 h3 L' l
可能是您的游戏中数据库-角色栏对某个角色的能力值成长曲线设置不平衡导致,
; r1 s$ D1 H  i9 I需要修改灵巧(青色的成长曲线)以及速度(绿色的成长曲线)。
# _0 v; _/ h; t/ k1 p
作者: lqx50    时间: 2012-10-7 16:26
ML4455739 发表于 2012-10-7 16:09 4 I  N7 m% P. B: u" ^3 g- O
先放个参照表备忘。* x8 K" K7 o6 I) W: {/ D
在XAS 3.82里XAS - Damage找到的伤害计算公式,其中回避部分的计算式是如下:对照的中 ...
4 R( B# [& n5 V" K
原来如此,我之前好像也翻到这些脚本了,就是没看懂= =现在应该可以看懂了,谢谢




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1