登录注册
社区应用 最新帖子 精华区 社区服务 会员列表 统计排行 每日签到
主题 : 涡轮助推钩——弹射法杖引发的屠夫钩子革命
hersheyb 离线
级别: 小圈圈
UID: 121419
精华: 0
发帖: 242
饼干: 33 片
威望: 0 哟
贡献: 0 点
糖果: 0 颗
好评度: 0 点
在线时间: 11(时)
注册时间: 2010-06-19
最后登录: 2010-07-09
楼主  发表于: 2010-06-23   
来源于 技术交流 分类

涡轮助推钩——弹射法杖引发的屠夫钩子革命

管理提醒: 本帖被 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将移动、出钩、调向、弹射甚至腐烂和肢解连在一起,就可以甩出各种可怕的神钩。

级别: 可爱圈圈

UID: 3657
精华: 0
发帖: 1152
饼干: 336 片
威望: 50 哟
贡献: 1 点
糖果: 0 颗
好评度: 0 点
在线时间: 184(时)
注册时间: 2009-10-06
最后登录: 2019-01-22
沙发  发表于: 2010-06-23   
很专业 的帖子
122176758 离线
级别: 永久会员
UID: 121242
精华: 0
发帖: 199
饼干: 771 片
威望: 57 哟
贡献: 0 点
糖果: 0 颗
好评度: 17 点
在线时间: 61(时)
注册时间: 2010-06-19
最后登录: 2023-12-30
板凳  发表于: 2010-06-23   
太高深了 有个这样的视屏看你应该结合一下
我是sbNo1 离线
级别: 闪电圈圈

UID: 89073
精华: 0
发帖: 6178
饼干: 70 片
威望: 31 哟
贡献: 9 点
糖果: 0 颗
好评度: 112 点
在线时间: 292(时)
注册时间: 2010-04-01
最后登录: 2015-10-30
地板  发表于: 2010-06-23   
这也叫专业
经常打杀猪男的人都知道
340194374 离线
级别: 彩虹圈圈

UID: 116253
精华: 0
发帖: 1915
饼干: 573 片
威望: 36 哟
贡献: 16 点
糖果: 0 颗
好评度: 0 点
在线时间: 77(时)
注册时间: 2010-06-06
最后登录: 2015-01-30
4楼  发表于: 2010-06-23   
不明白!看不懂
dakenesszq0 离线
级别: 闪电圈圈

UID: 121062
精华: 0
发帖: 2747
饼干: 44 片
威望: 25 哟
贡献: 1 点
糖果: 0 颗
好评度: 0 点
在线时间: 86(时)
注册时间: 2010-06-18
最后登录: 2013-06-11
5楼  发表于: 2010-06-23   
很专业啊!不好用就是
大树树 离线
级别: 可爱圈圈

UID: 3068
精华: 0
发帖: 760
饼干: 429 片
威望: 83 哟
贡献: 6 点
糖果: 0 颗
好评度: 0 点
在线时间: 95(时)
注册时间: 2009-10-01
最后登录: 2013-07-19
6楼  发表于: 2010-06-23   
技术啊。看不懂哇。。。!!
aa694330876 离线
级别: 永久会员

UID: 115841
精华: 0
发帖: 3323
饼干: 175 片
威望: 118 哟
贡献: 5 点
糖果: 0 颗
好评度: 0 点
在线时间: 398(时)
注册时间: 2010-06-05
最后登录: 2024-09-26
7楼  发表于: 2010-06-23   
不会玩屠夫
朗格悲剧奈,眼花了,竟然回错贴
q645991022 离线
级别: *饼干党*
UID: 122856
精华: 0
发帖: 52
饼干: -14 片
威望: 0 哟
贡献: 0 点
糖果: 0 颗
好评度: 0 点
在线时间: 27(时)
注册时间: 2010-06-23
最后登录: 2014-05-05
8楼  发表于: 2010-06-23   
用户被禁言,该主题自动屏蔽!
kill0210333 离线
级别: 小圈圈
UID: 102187
精华: 0
发帖: 38
饼干: 57 片
威望: 0 哟
贡献: 0 点
糖果: 0 颗
好评度: 0 点
在线时间: 1(时)
注册时间: 2010-04-30
最后登录: 2010-11-07
9楼  发表于: 2010-06-23   
高深,不懂。。