首页 暗黑9战网注册表:点击下载

暗黑9战网论坛 >> 新手必看|游戏介绍 >> 浏览: 打击恢复动作(Hit Recovery)的判断机理
权威资料,海量数据
极品馆藏』 『暗黑破坏神 III 资料区
发新帖子  回复贴子  发起投票 版主:mam84, 一叶枫桦

页次: 转到第 [ 1 ] 页 加入收藏
打击恢复动作(Hit Recovery)的判断机理
此人是女性 悄然花开 离线
超版勋章 : IMPK战网BBS超版专用勋章


花开花落 云卷云舒
等级:世界之石大殿
积分:53479
金币:70176
发贴:35423
信用:*
注册时间:2007-05-18
IP:123.178.*.*
         第(0)楼,发贴时间:08-08-12 21:20

打击恢复动作(Hit Recovery)的判断机理

代码解析:Nefarius,Myrdinn
原帖链接:http://phrozenkeep.planetdiablo.gamespy.com/forum/viewtopic.php?t=47619
          http://www.theamazonbasin.com/d2/forums/index.php?showtopic=77949
    翻译:virgol,GoodLuck
    测试:virgol
相关链接:http://www.ttbn.cc/bbs/viewthread.php?tid=558366&extra=page%3D1
          http://www.ttbn.cc/bbs/viewthread.php?tid=558682&extra=page%3D1
          http://til.sggo.cn/showthread.php?t=30248

遭受攻击时HR动作判断的流程
1. 打击恢复动作(以下简称HR动作)只有在攻击动作的resultflag参数=4时才会产生。
2. 检测受攻击目标是否处于眩晕状态(stun)。如果是,直接进入HR状态。
3. 检测受攻击目标是否处于冻结状态(frozen)。如果是,判断结束,不产生HR动作。
4. 检测本次攻击是否包含毒素伤害。
   4.1 如果是纯毒素伤害,判断结束,不产生HR动作。
   4.2 同时包含毒伤害和其他类型的伤害。若受攻击目标受到的总伤害小于1,判断结束,不产生HR动作。反之转入步骤5
   4.3 不包含毒素伤害。检测受攻击目标受到的总伤害是否大于等于1。是则转入步骤5,否则判断结束,不产生HR动作。
5. HR动作判断开始
   5.1 获取受攻击目标最大生命值MaxHP。根据攻击类别(Hit Class)获取参数divisor,具体分类详见下文。
   5.2 若目标受到本次攻击的伤害DAM<MaxHP/divisor,退出判定,不产生HR动作。反之转入步骤5.3。
   5.3 若DAM≥MaxHP/(divisor/2),本行判断结束,转到步骤5.4。否则系统将取随机数0和1,若为0则不产生HR动作,退出判定;为1则转到步骤5.4。
   5.4 若DAM≥MaxHP/(divisor/4),转入步骤5.5。反之系统取随机数0-3,若为0则不产生HR动作,退出判定;取其他数则转到步骤5.5。
   5.5 系统检测受攻击目标是否允许产生HR动作。若判断允许,则产生HR动作,反之不产生。判断结束。


简单来说判断标准如下
纯毒素伤害不会造成HR动作。
非纯毒素伤害的情况下,记本次攻击所造成的伤害值为DAM,受攻击目标的最大生命值为MaxHP,相关参数为divisor,则
若DAM<MaxHP/divisor,则不产生HR动作;
若MaxHP/divisor≤DAM<2*MaxHP/divisor,则有3/8的几率产生HR动作;
若2*MaxHP/divisor≤DAM<4*MaxHP/divisor,则有3/4的几率产生HR动作;
若4*MaxHP/divisor≤DAM,则100%产生HR动作。


管理: 禁言操作 最新发表的主题 | 最新参与的主题 汇报违规贴  
此人是女性 悄然花开 离线
超版勋章 : IMPK战网BBS超版专用勋章


花开花落 云卷云舒
等级:世界之石大殿
积分:53479
金币:70176
发贴:35423
信用:*
注册时间:2007-05-18
IP:222.171.*.*
         第(1)楼,发贴时间:08-08-12 21:20

divisor参数的取值
Hit Class = 2, 6, 10, 11 : divisor = 8
Hit Class = 5            : divisor = 64
Hit Class = 4 , 8        : divisor = 32
Hit Class = 其他         : divisor = 16

Hit Class取值的判断
1. 所有怪物(包括雇佣兵)的普通攻击对应的Hit Class均存放于Monstats2.txt,分别为1, 3, 12三个值,对应divisor均为16。
2. 角色的普通攻击对应的Hit Class取决于使用的武器,详见2楼。
3. 技能的Hit Class
  3.1 对于Melee技能,Hit Class取决于角色使用的武器,同普通攻击。若该技能已经被赋予其他特殊效果则除外,例如Bar的Bash技能附带击退效果。
  3.2 对于Missile技能,Hit Class存放于Missiles.txt。
  3.3 其他技能的Hit Class对应Skills.txt的Hit Class列,无一例外均对应divisor=16.


管理: 禁言操作 最新发表的主题 | 最新参与的主题 汇报违规贴  
此人是女性 悄然花开 离线
超版勋章 : IMPK战网BBS超版专用勋章


花开花落 云卷云舒
等级:世界之石大殿
积分:53479
金币:70176
发贴:35423
信用:*
注册时间:2007-05-18
IP:222.171.*.*
         第(2)楼,发贴时间:08-08-12 21:21

武器分类相关
================================================
Hit Class   Code       Meaning
────────────────────────
1           None
2           hth        Hand To Hand
3           1hss       One Hand Swing vs. Small
4           1hsl       One Hand Swing vs. Large
5           2hss       Two Hand Swing vs. Small
6           2hsl       Two Hand Swing vs. Large
7           1ht        One Hand Thrust
8           2ht        Two Hand Thrust
9           club       Club
10          staf       Staf
11          bow        Bow
12          xbow       Crossbow
13          claw       Claw
14          over       Overlay
================================================
解释:
  hth : 空手。另外还包括各种攻击性的投掷药剂。
  1hss: 包括死灵法师单手杖和法师专用法珠。
  1hsl: 包括单手斧类、狼牙棒以及其对应的扩展/精华级类型、钉锤类、单手锤类、单手剑类、飞斧类。
  2hss: 所有的双手剑类。
  2hsl: 包括双手斧类、双手锤类、长柄类。
  1ht : 包括匕首类、飞刀类、标枪类(含亚马逊专用标枪)。
  2ht : 长矛类(含亚马逊专用长矛类)。
  club: 包括木棒以及其对应的扩展/精华级类型、圣骑士权杖类、短棍以及其对应的扩展/精华类型。
  staf: 除短棍、乔木棒、手杖之外的所有双手法杖类。
  bow : 所有弓类(含亚马逊专用弓)。
  xbow: 所有十字弓类。
  claw: 刺客专用爪类。

[ 本贴由 悄然花开 在 08-13 17:40 编辑过. ]


管理: 禁言操作 最新发表的主题 | 最新参与的主题 汇报违规贴  
此人是女性 悄然花开 离线
超版勋章 : IMPK战网BBS超版专用勋章


花开花落 云卷云舒
等级:世界之石大殿
积分:53479
金币:70176
发贴:35423
信用:*
注册时间:2007-05-18
IP:222.171.*.*
         第(3)楼,发贴时间:08-08-12 21:22

常见Missile技能的Hit Class(如查询不到则均对应为0)

Missile                      HitClass
───────────────────
arrow                              10
javelin                             6
magicarrow                         10
bolt                               10
throwaxe                            2
throwknife                          6
glaive                              6
poisonjav                           6
poisonjavcloud                      6
plaguejavelin                       6
chargedbolt                        64
infernoflame1                      32
infernoflame2                      32
blaze                              32
firewall                           32
immolationarrow                    10
guidedarrow                        10
nova                               64
chainlightning                     64
lightningbolt                      64
lightninghit                       64
poisonnova                         80
frostnova                          48
rogue1                             10
rogue2                             10
rogue3                             10
vampirefirewallmaker               32
vampirefirewall                    32
raven1                             10
raven2                             10
diabfire                           32
bonespear                           6
lightningjavelin                   64
lightningfury                      64
multipleshotarrow                  10
multipleshotbolt                   10
immolationfire                     32
furylightning                      64
lightningstrike                    64
meteorfire                         32
trap spike right                   10
trap spike left                    10
trap cursed skull right            10
trap cursed skull left             10
trap poison ball right             10
trap poison ball left              10
pilum                               6
firestorm                          32
arcticblast1                       32
arcticblast2                       32
twister                            32
tornado                            32
volcano small fire                 32
frozenhorror arcticblast1          32
sentrychargedbolt                  64
bladefury1                         10
bladefragment1                     10
bladefury2                         10
bladefragment2                     10
bladefury3                         10
bladefragment3                     10
shockwave                          64
phoenixtrail                       32
wake of destruction                32
tigerfurytrail                     32
inferno sentry 1                   32
ancient throwing axe                2
sentrylightningbolt                64
sentrylightninghit                 64
lightning charge up nova           64
chainlightningcharge up            64
baal taunt lightning               64
baal taunt lightning trail         64
fistsoffirefirewall                32
clawsofthunderbolt                 64
clawsofthundernova                 64
royalstrikemeteorfire              32
royalstrikechainlightning          64
armageddonfire                     32
lightningtowernova                 64
willowisplightningbolt2            64
goospitex                         176
diablogeddonfire                   32
megademoninferno                   32
trappoisonjavcloud                  6
trapnova                           64
mephfrostnova                      48
strafearrow                        10
strafebolt                         10


[ 本贴由 悄然花开 在 08-13 17:41 编辑过. ]


管理: 禁言操作 最新发表的主题 | 最新参与的主题 汇报违规贴  
页次: 转到第 [ 1 ] 页 加入收藏

系统时间:10-27 20:49,页面执行时间:0.0701s
暗黑2 1.13C战网
FBB Beta 0.7.29, build1023
, 2002-2003