级别: 小圈圈
UID: 121419
精华:
0
发帖: 242
饼干: 33 片
威望: 0 哟
贡献: 0 点
糖果: 0 颗
好评度: 0 点
在线时间: 11(时)
注册时间: 2010-06-19
最后登录: 2010-07-09
|
涡轮助推钩——弹射法杖引发的屠夫钩子革命
管理提醒:
本帖被 rayray. 执行锁定操作(2010-12-08)
究竟是怎么实现的呢,下面是钩子技能的原理(可以跳过)
技能开始释放的时候,"Hero","Level"(等级),"Angle"(出钩角度),"LinkNumber"(钩链数,就是屠夫钩子的一节,屠夫的钩子是以很多个三角形的小单位组成的,初始为0) 和 "RetractTrigger" (一个空的触发器)。这4个参数被存入缓存。然后建立一个新的触发器每0.03秒执行一次(每0.03秒生成一个钩链。)
这个触发器从缓存中读取"LinkNumber", "Level", "Angle", "Hero", "RetractTrigger" 这些参数。
当"LinkNumber"小于(5+6 X "Level")的时候。就将"LinkNumber"+1存入缓存。并创建一个新的单位,名字叫LinkX(X就是 LinkNumber的值。)这个新单位的位置在"Angle" 角度方向上距离上一个LinkX 40单位远的位置。
1级钩子是5+6*1=11个Link ,Link1,Link2...Link11。所以是40*(11-1)=400码的距离。(第一个link和屠夫重合)。4级钩子是5+6*4=29个link所以是40*28=1120码。比技能说明的1000码远一点。
每创建一个新的钩链(LinkX)就会检查125AoE范围内的非远古(精灵熊除外),非建筑,非攻城车,非飓风非dummy(是模型创建的单位,后面会提及)单位。去掉屠夫并随机选择其中的一个单位。(这就是为什么有人贴着你,并列贴着后与钩子方向相反,你也出不了钩,检查范围是圆形的)。 如果有一个单位被选中了。就去除这个触发器。建立一个新的触发器0.03每秒执行一次。并保存"LinkNumber", "FoundTarget" (true), "Target" (被钩中的目标)。 如果选中的单位是敌人,就建立一个单位dummy,给它一个基于风暴之锤的技能并释放到目标身上。造成100*Level的英雄攻击普通伤害并哗哗冒血。
钩到人后,新的触发器读取"LinkNumber", "FoundTarget" and "LinkX" 三个参数,如果"FoundTarget"=true。便读取"Target",并将"Target"的位置设为LinkX当前的坐标位置。然后去掉LinkX这个单位,并将X-1。执行下一个循环....直到X=0。去除这个触发器。
如果没钩到,当 LinkNumber<5+6*Level为false的时候(既钩链数不小于最大钩链数的时候,钩子伸到最长)也执行上面的触发器,只是FoundTarget=false,不会有设置目标位置的动作。
所以屠夫的钩子是一串Dummy unit。然后通过一次一次检查125AOE范围中的单位和重设目标位置来钩人的。就算屠夫走了,人还是钩到原来的地点。
说的详细了比较复杂,归纳起来重点有3个:
肉钩是一连串小节单独的生成过程 每一个小节都有125的AOE范围 肉钩会回到出手的位置
第二点就是所谓吸钩和加长钩的原理,每个小节都有125的AOE范围,理论上讲肉钩的最长距离:1120+125=1245
另外补充一点,生成小节的位置是在以屠夫位置为原点,肉钩出手方向为方向的射线上的,肉钩出手之后每个小节生成时都以这个原则确定位置,这也就是为什么屠夫钩子出手后再移动钩子会拐弯(弯钩)的道理。根据弯钩理论,屠夫可以利用自己的移动来改变钩子的位置,位置的改变完全和屠夫的位移(矢量)相同,于是瞬间移动可以大幅改变钩子的位置,比如广为流传的光法屠夫拉人回泉水,但这毕竟不是很实用,最实用的单兵方法还是跳刀。可惜为了防止封人进树林的问题,IF早就堵上了这条路,这也一度使得甩钩没有进一步发展。然而,随着版本的更新,推推棒(弹射法杖)出现了,虽然被其他英雄包括同样不能携带跳刀的VS,视为鸡肋和娱乐专署,以至于IF在新版本中再次加强弹射法杖。但对于屠夫,这无疑引起了一场革命。
同样,根据弯钩理论,只要在钩子走过一半射程后使用弹射法杖,钩子就能及其明显的改变方向/速度,但由于魔兽的反应时间原因,钩子出手后再点击最多改变钩子后1/3的部分,而弹射法杖由于需要主动释放,影响会更大,故十分不可取。但shift连接可以有效地解决这一问题(具体参照甩钩贴),使用shift将移动、出钩、调向、弹射甚至腐烂和肢解连在一起,就可以甩出各种可怕的神钩。
|