这次我们要做的技能是Dota里变体精灵的波浪形态,这是一个冲锋技能,技能如下:
工具/原料
YDWE魔兽地图编辑器(含冲锋技能的版本)
冲锋技能的小瑕疵
1、有的同学可能会说,直接用YDWE里的冲锋技能就好了,简单方便。于是我们可以用这个冲锋技能写出下面这个简单的触发(设置伤害值为100)。
2、经过测试后,细心的同学们应该会发现,单位受到的技能伤害不止我们设置的100这个值。比如一个生命值2500点的步兵受到一次伤害,居然失去了近400点生命值。这是为啥?
3、这是YDWE里冲锋技熹栳缂靖能的一个小瑕疵。我们先来了解一下冲锋技能的原理:每过很短的一段时间(比如0.03秒),判断单位前方是否是可通行的地形,若是,则立刻改变单位的坐标,也就是让他瞬移到下一位就女蒿鸳置,同时选取其圆周范围内的敌人,对选取的这些敌人造成伤害。我们观察冲锋这个技能时可以注意到,里面有一个参数叫刷新周期,就是上面的0.03秒这个短暂的时间,也就是说冲锋的单位每过0.03秒就将对周围单位造成一次范围伤害,那么就有可能在经过一个单位身边时对这个单位造成多次伤害(比如经过时间为0.12秒,就伤害4次),那么当然就不止我们上面设置的100这个伤害值了。这对我们的敌人真是大大的不公平!那么如何避免这种情况,让敌人每次只受到100点伤害呢?
保护单位组的利用
1、有一定基础的同学可以自行制作冲锋技能,对于喜欢从简的垠捎吨稍同学也有个方便的办法,在保留YDWE冲锋技能的同时,进行一点小修改。这词礅湛锿里需要用到单位组和上一篇中逆天计时器的一些知识。由于冲锋技能的伤害有缺陷,我们就自己来制作冲锋的伤害:先将被伤害过一次的敌人加入一个单位组中(这个称为保护单位组),在命令冲锋单位造成下一次伤害前,判断敌人是否在保护单位组中,若是,则不做任何伤害动作,若不是,则命令冲锋单位伤害他们,并将他们加入单位组中,防止二次伤害,不断循环至技能结束。当然,技能结束后要清空这个单位组里的所有单位,不然下一次冲锋就无法伤害他们了。
2、有了上面的思路,那么我们可以在保留冲锋技能的同时(伤害设置成0),写出以下改良的波浪形态。也就是在发动波浪形态时命令变体精灵做冲锋,同时开启周期0.03秒循环的逆天计时器,计时器每到期一次就命令变体精灵伤害周围没有在保护单位组内的敌人,并将他们添加进单位组中,这里的全局变量dwz就是我们设置的保护单位组。
3、要注意的是,在逆天计时器里,我们用到了下面这个条件,它的作用是判断变体精灵是否到达波浪形态的技能施放点,若到达,则关闭计时器,不再造成伤害,否则就继续伤害周围单位。
4、这样再进行测试,步兵就只受到一次波浪的伤害了。这样一个改良版的波浪形态就完成了。
测试图共享地址
1、最后是测试图的下载地址:http://pan.baidu.com/share/link?shareid=4143140605&uk=1728454555本篇中的技能并未严格按照Dota原版技能的参数制作,仅提供制作思路。