Well,spider web is too good but it pauses the hero and thats a preety big minus ( - )
a good spellmaker should know how to channel a spell,and you better make this a channel one and quit
the lame pause.
Coding [ 7/10 ]
SetUnitTimeScalePercent is soooo goddamn bad,it just miltiplies your parameter with 0.01 , or in another way divides it with 100
so if you say
call SetUnitTimeScalePercent( u , 200 )
would be the same as
call SetUnitTimeScale(whichUnit, 2 ) ... but this is so much better,that bj function lacks speed.
and PauseUnitBJ ???? whats the point of all this? such dumb actions make actually your spell suck.
....
locations . . . i still dont belive ppl use those badass variable types. Blah
they are our worst enemy.leaks,even after their removal,coordinates ( reals x/y ) are soooo much better.
UnitAddAbilityBJ again the same,get rid of these bj , it makes me mad when i see them. and those make your spell worse.
and again SetUnitFlyHeightBJ is another dumb bj... which actually does nothing.
************************************
DistanceBetweenPoints
************************************
be very careful with this func,since calls a native which is slow.
so you'd better add some more locals
local real dx = GetLocationX(locB) - GetLocationX(locA)
local real dy = GetLocationY(locB) - GetLocationY(locA)
local distance = SquareRoot(dx * dx + dy * dy)
will make things better.
again i see bj func. . .
***********************************
GetUnitsInRangeOfLocAll
***********************************
is a LAME! function.
why ? it calls GetUnitsInRangeOfLocMatching which calls the native GroupEnumUnitsInRangeOfLoc which means
3 useless function calls,where you could have called the native.not that since takes location type agrument.
but
***************************************
call GroupEnumUnitsInRange ( group whichGroup, real x, real y, real radius, boolexpr Filter )
***************************************
Filter can be null if you want to pick up everything.
*****************************************
PolarProjectionBJ
*****************************************
from the most badass functions
better use these locals , to skip the use of location
PolarProjection ******
local real x = sourcex + dist * Cos(angle * bj_DEGTORAD)
local real y = sourcey + dist * Sin(angle * bj_DEGTORAD)
that bj_DEGTORAD can be skipped in case angle is in radians,bj_DEGTORAD is needed for the conversion since Cos and Sin take radians
so since i wrote a 100 line post i am not gonna say more, but, things you need fixed
***********************************************
- No more badass bj
- Leave locations and use coordinates.
***********************************************