Total waste, you could do this:
local real x2 = GetLocationX(GetSpellTargetLoc())
local real y2 = GetLocationY(GetSpellTargetLoc())
With this you don't have to declare another variable and handle the location.
I'm not sure it'll work I think you need to check if the ability level is 0.
If you check if the ability level is 1, then it means the hero learns it the second time, not the first time.
Change your condition function to:
private function Conditions takes nothing returns boolean
return (GetLearnedSkill() == 'A036' and GetUnitAbilityLevel(GetTriggerUnit(), 'A036') == 0)
endfunction
Meh sorry I'm just with NewGen closed.
Well PUI will be the answer of course.
I'm not sure but I think there is a none-vJass version of PUI.
Anyway, PUI is a system that assigns a unit with a unique id.
So you make a unit array and assigns unit to the array member of the unit you want to attach to.
Why change the name when it has already, Meat Hook.
It's the same as in DotA I don't see any need for a change just write "I made my version of Meat Hook from DotA".
You didn't get me.
TT is using 1 timer for few instances, not only 1 instance.
The meaning of a constant function is that it returns a constant value, hence the real you will get after the calculations will be constant.
TT is the fastest attachment system for short interval timers (<0.04 or something), and the fact is using 1 timer for all is just great.
Another thing, make your Damage and Range functions constant, it's slightly faster.
I see no reason why this should be approved, sorry.
There is...