二.补刀时间理论
攻击可能需要经过的过程:
下达攻击指令
1.网络延迟
2.系统攻击延迟
3.原地转身
4.攻击出手动作
5.子弹飞行
造成伤害
1.网络延迟
必须不解释,万恶的LAG。。。=。=
2.系统攻击延迟
这个延迟只影响到普通攻击,不影响移动或者施法(主动法球算施法),这个值是0.25秒(可以在游戏平衡性常数里修改),但并不是说你每次攻击下达都要等0.25秒,其实,0~0.25之间都是有可能的,这样说吧,系统每0.25秒允许一次攻击指令,你发送攻击指令给系统(即使敌人原在天边),系统会让你傻站着,然后等这个世界时种跳到下一个0.25秒后,开始允许你攻击,然后你会跑过去,也许还要再转个身什么的,然后开始攻击。。。
而这个世界时种是自顾自刷新的。。。不管有没有人在攻击
3.原地转身
有2个属性,一个叫转身速度,另外一个叫转向角度,就是这2个属性,决定了你的转身时间。
转身速度:
转身速度是一个比例系数,很好理解,转身速度如果是1的话,那么你的单位每秒转1800度,如果是0.1的话,每秒180度,DOTA里大部分英雄的转身速度都是0.4~0.6不过也有特别的,比如影魔是1,小狗是2.1。
转向角度:
转向角度是和攻击无关的(当然,和母鸡也无关),它只影响到移动,当你移动需要转过的角度大于转向角度时,你的单位会原地转身,当小于这个角度时,单位会边转边前进,前进方向是面朝方向(也即是说,单位打着转前进),而前进速度是正常移动速度,转动角速度和原地转动的角速度一样。
另外值得注意的是,如果你要攻击背后180度的目标,你并不需要转过180度,实际上你只需要转170度,另外10度你可以理解为攻击角度缓冲。。。同理,如果你差了20度,那么你只要转10度就能攻击了。
关于转身还有个有趣的现象,那就是,虽然转身花费时间和产生效果完全如上文所说,但是转身的动画却和上文描述不完全一致,实际上,转身的动画总是有那么一小段时间的延迟,我不知道为什么会有这个延迟,不过这个延迟只是动画上的,就像我们经常可以看到双头龙边转边打,或者某英雄明明已经开始直线移动了,动画上的转身却还未完成,在边转边走(漂移??=。=)
测试了下,影魔的影压,卡尔的冰墙,白虎的跳,都不受这个动画延迟影响,完全按照转身速度的公式。
4.攻击出手动作
普通攻击:
当目标在“普通攻击范围”,“攻击角度”内,你的攻击完成冷却时,你将被允许开始攻击。
先做一个攻击出手动作,过了一个出手时间后, 攻击出手动作完成,如果这时目标没有离开 [攻击范围]+[攻击缓冲范围] ,那么你这一次攻击就能成功完成了。。。如果超出距离,则MISS。
主动法球:
如果是用主动法球进行攻击的话,当目标在“魔法攻击范围”,“攻击角度”内,即使普通攻击未完成冷却也能开始攻击,不过不会立刻开始出手动作,而是原地不动,等待攻击CD冷却后开始出手动作,如果出手完成,对手仍未离开你的 [魔法攻击范围]+[魔法攻击缓冲范围] 的话,那么你这一次攻击就能成功完成了。。。如果超出距离,则MISS。
大多数主动法球的魔法攻击范围=普通攻击范围,听说亚龙的法球是600,普通攻击是575 。 大多数攻击缓冲都是250,女王是700,所有单位的魔法攻击缓冲范围都是300(是的,无一例外)。
其实无论是魔法攻击范围,还是普通攻击范围,都因该多加上敌方的碰撞体积+自身的碰撞体积,DOTA中所有英雄都是24,近战小兵是16,远程小兵是8,攻城车是16 。攻击出手时间和攻击冷却时间一样,同比受到攻击速度加成的影响。
5.子弹飞行时间
远程英雄才需要考虑的东西。“子弹需要飞行的时间”=“子弹需要飞行的距离”/“子弹飞行速度”。 DOTA中大多数英雄的子弹飞行速度都是900,不过也有不少是大于900的。