|
大家都知道:1.1.0里有个bug,雷兽打大型建筑的时候厉害过头了,因为它的溅射范围变成以目标单位外缘为基础,向外延伸固定额外半径的圆环。这样建筑本身的半径就相当于这个圆环的内径,内径和外径的差是固定的,这样内径越大,外径也就越大,溅射范围也就变得越大。 打越大的建筑物,它的溅射范围也就越夸张。
这个问题其实应该是伤害AOE效果KaiserBladesDamage的flag勾错所致。在1.1.0版本中,设计师为了提高雷兽帝王之刃的执行效率,将以往的搜索指定区域内单位+逐一伤害的效果改成了一个单一AOE伤害效果。于是显然要做一些较大改动。但在修改过程中。显然是照抄了原本搜索区域效果的一些参数。
原有的区域搜索效果中有一个flag叫Extend By Unit Radius, 即以单位半径为基础进行外延搜索。那为什么以前没有问题呢?
这里的关键其实在于。其实前后两个效果搜索的基准并不一样。1.1.0版之前,搜索基准是源单位,也是以雷兽自己的位置为偏移基础的。雷兽自己的体积是固定的,所以溅射范围自然也就是固定的。但是改成AOE效果后,势必要以主目标为计算基准来进行溅射。所以照抄原有的区域搜索效果就会出现问题。 主目标越大,溅射范围就越大。
所以其实应该把这个flag给去掉,换成Offset By Unit Radiu,进行绝对偏移,才是正常的溅射效果。1.1.1已经修正了这个问题。
那么1.1.1为什么又出来一个新问题:凤凰战机重力牵引光束在目标死亡后还会继续引导,直到引导完毕或者你强制结束。
其实这个原因在于,1.1.1修正了以前一个问题,这个问题是当凤凰战机拥有的能量正好为50点(发动牵引光束技能所需的能量)时,牵引光束会在使用后立刻取消。
这两个问题有什么关联呢。其实在于一个验证器。
Caster has energy and Not Dead
字面意思是,施法者还有能量而且未死。
为什么以前版本的牵引光束会需要这么个验证器呢?这应该和以前的重力牵引光束的设计思路有关,显然这个技能以前必然是设计成在引导过程中还会不断消耗能量,直到能量空掉后就会强制结束。现在的牵引光束引导中不再消耗能量。因此施法者还有能量这个验证器其实是不需要的。这个验证器的存在导致了最初的问题:当凤凰战机的能量正好为50时,用掉这50点能量刚好能施展牵引光束,但是接下来它的能量就用完了,正好不满足施法者还有能量这个验证器,于是引导强制结束。
而1.1.1里,直接删除了这个验证器,修复了这个问题。但是为什么会出来一个新的问题呢?
其实,说穿了是这个验证器一开始的名字就起得不好。这个验证器本身是一个联合验证器,是由两个验证器组成的。一个是施法者还有能量,另一个是未死。两者之间是和关系,必须都符合,这个技能才能继续引导。问题在于,一般人看这个验证器的名字,都会认为这个验证器是说,施法者必须活着,而且必须有能量吧?
但实际上不是,组成这个验证器本身的两个子验证器的实际作用其实是:“施法者还有能量,目标还活着”……也就是说,这个验证器同时要求目标还活着,如果目标死亡就中断施法。
很显然,设计者在修复这个技能的bug的时候着了这个验证器的名字的道。以为这个验证器是用来判断施法者自己有能量而且还活着的。于是他就想了:有能量这个验证器没用,活着这个验证器更没用,引导技能在施法者死后当然就自动中断了,没必要在这里浪费一个验证器。直接把整个联合验证器删了得了,方便快捷,只需要按一下删除和确定。
于是问题就出现了。所以大家以后要吸取教训,千万不要把验证器起些乱七八糟的名字,自己都看不懂,等以后要维护和升级你的地图的时候就会出现各种杯具了。 |
|