请选择 进入手机版 | 继续访问电脑版

 找回密码
 点一下
查看: 5455|回复: 12

关于致命一击、闪避的判定时刻及其他乱七八糟

[复制链接]
发表于 2009-7-6 10:14:20 | 显示全部楼层 |阅读模式
最近正在调试自己的攻击系统,结果发现貌似有个Bug,略微研究了一下,发现了致命一击和闪避的判定时刻…………
出Bug的情形是这样的:
单位被攻击,攻击单位首先删除一个致命一击技能,再添加一个致命一击技能(100%几率)。但怎么弄单位就不飘红字……让我郁闷了老半天o(╯□╰)o
检查了好几遍代码,仍然没有发现问题……直觉告诉我这是war3的问题。于是弄了张地图测试了一下。终于发现了问题。(测试中致命一击全部100%几率)
首先是向地图中做的那样,先删除再添加致命一击,果然不飘红字。
接下来将删除的动作无效,只添加致命一击,发现单位攻击时只有第一次没飘红字(但此时单位面板已显示致命一击技能的图标),以后就全飘了。
不用触发,直接给单位设置致命一击,全部飘红字。
于是作以下猜想:
虽然致命一击的飘字是在投射物确实打到了目标之后才出现的,但致命一击的判定是在触发【单位被攻击】事件以前就完成了。
再做了一个测试,这次是单位已经有了等级1的致命一击(100%1.01倍伤害),在单位被攻击时设置为等级2(100%10.00倍伤害)。
再次测试,第一击就是10倍伤害!
得出结论(…………大概是猜想吧),有没有致命一击的判定在【单位被攻击】事件之前,决定在单位被攻击事件后是否增加致命一击的伤害。
然后再深一步研究,单位有一个100%1.01的致命一击。【单位被攻击】时单位添加一个100%3.00的致命一击。
测试结果是第一次1.01倍伤害,以后都是3.00倍的致命一击(【貌似】在单位有多个致命一击的情况下,分别计算概率,然后取其中可生效的最后伤害最高的一个为真实伤害,不是叠加的效果)。
修改以上的结论:
对于每个致命一击技能来说,有没有致命一击的判定在【单位被攻击】事件之前,决定在单位被攻击事件后是否增加致命一击的伤害。
跑偏了的猜想:魔兽给单位添加技能时,就像是给单位添加了一个端口或模块。据个例子,就像是电脑可以插U盘什么的(不怎么像)。这些端口或模块会被单位在正确的时候被访问(个人倾向于此)/在正确的时候访问单位,起到正确的作用。
这就纯粹是猜想了,没有任何证据证明这是真的。
然后我又试了一下闪避(测试中还是100%几率)的判定时刻,是否与致命一击一样。
结果测试时没有任何问题…………蓝色的农民理都不理我的步兵和火枪手…………
经验告诉我,闪避的判定一定在致命一击的判定之前………………
但是它能在单位被攻击事件中添加并立即有效…………
大约搞明白了判定的时刻。
为了帮大家理清关系,写了个时间轴:

有没有致命一击—(………………)—》单位被攻击事件—(………………)—》闪避判定—(………………)—》普攻判定—(………………)—》致命一击判定—(………………)—》对目标造成伤害。

好吧…………无聊的研究……无视好了~~~

评分

参与人数 1威望 +3 收起 理由
kook + 3 我觉得结论还需要进一步整理一下才看得明白..

查看全部评分

发表于 2009-7-6 10:39:34 | 显示全部楼层
你可以详细测试一下闪避的具体触发时间,是在攻击事件--》攻击前摇结束瞬间之前还是之后
回复

使用道具 举报

 楼主| 发表于 2009-7-6 10:54:31 | 显示全部楼层
怎么测试?
回复

使用道具 举报

发表于 2009-7-6 11:02:17 | 显示全部楼层
我们可以看到投射物到达的时候出现丢失字样的……
回复

使用道具 举报

发表于 2009-7-6 13:28:37 | 显示全部楼层
所有和攻击有关的被动技能(致命一击、艾尼路之优雅)都是在获得攻击目标之后、目标被攻击之前生效,所以在被攻击事件里面添加被动技能是无效的,但在获得攻击目标事件里面添加有效
回复

使用道具 举报

 楼主| 发表于 2009-7-7 10:37:15 | 显示全部楼层
回LS,“目标被攻击之前生效”应该是指判定有没有这种技能吧。技能真正的效果计算应该是在攻击之后计算吧。
回复

使用道具 举报

发表于 2009-7-7 12:47:47 | 显示全部楼层
测试致命一击这类被动技能的删改允许时间
在目标获得攻击目标之后~攻击抬手动作完成之间(cast point)
具体说来就是你可以在目标获得攻击目标时添加技能,在之后的这段时间里修改等级或删除它,得出结果的时刻是单位作出攻击动作的时刻,当然如果是删除掉再添加回来是没结果的,因为一个技能可以认为是如单位一样独立的一个实例,虽然本地函数里返回技能handle的只有一个基本不会用到的GetSpellAbility,但也反映出了这点。
致命一击这个被动技能在一次攻击动作完成后删掉也不影响本次攻击,大概就这些了
回复

使用道具 举报

 楼主| 发表于 2009-7-7 12:52:04 | 显示全部楼层
kook大人正解啊~~~
回复

使用道具 举报

发表于 2009-7-31 17:02:35 | 显示全部楼层
记得以前有相当详细的所有被动技能详解,不过不是在GA看到的,那人似乎测试了相当多的东西
回复

使用道具 举报

发表于 2010-4-11 12:24:58 | 显示全部楼层
记得以前有相当详细的所有被动技能详解,不过不是在GA看到的,那人似乎测试了相当多的东西
回复

使用道具 举报

发表于 2013-5-22 16:19:41 | 显示全部楼层
应该是单位获取攻击目标的时候判定的

点评

请勿挖坟。  发表于 2013-5-22 16:44
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-3-29 20:46 , Processed in 0.204105 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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