魔兽争霸这些技能做法
发布网友
发布时间:2022-05-02 12:03
我来回答
共1个回答
热心网友
时间:2022-06-20 00:05
火鸟上天是创建三个火鸟马甲,然后马甲冲锋的同时再持续创建带有减速光环的火马甲,伤害用计时器。
太极就是画太极麻烦,龙卷风都是马甲冲锋,太极就是画一个大圆,大圆里是两个自己半径一半的小半圆,两点是其圆心。
然后魔炮就是简单的判断单位是否在直线上,也可以用一些马甲技能什么的让魔炮移动。
直线判断:
//TESH.scrollpos=0
//TESH.alwaysfold=0
function
DistanceBetweenUnitXY
takes
unit
u,real
x,real
y
returns
real
return
SquareRoot(Pow((GetUnitX(u)
-x),2)
+
Pow((GetUnitY(u)
-
y),2))
endfunction
//==========================================================================
function
IsUnitNearByLine
takes
unit
whichUnit,location
startLoc,location
endLoc,real
distance
returns
boolean
local
real
ax
=
GetLocationX(startLoc)
+
GetLocationX(endLoc)
local
real
ay
=
GetLocationY(startLoc)
+
GetLocationY(endLoc)
local
real
dx
=
GetLocationX(startLoc)
-
GetLocationX(endLoc)
local
real
dy
=
GetLocationY(startLoc)
-
GetLocationY(endLoc)
local
real
sqrt
=
SquareRoot(Pow(dx,2)
+
Pow(dy,2))
if
(DistanceBetweenUnitXY(whichUnit,ax/2,ay/2)
<=
SquareRoot((Pow(dx,2)
+
Pow(dy,2))
/
4
+
Pow(distance,2)))
then
if(RAbsBJ(dy
*
(GetUnitX(whichUnit)
-
GetLocationX(startLoc))
-
dx
*
(GetUnitY(whichUnit)
-
GetLocationY(startLoc)))
<=
distance
*
sqrt)
then
return
true
else
return
false
endif
else
return
false
endif
endfunction