I've been staring at the codes and trying to fix anything but it seems to leak handle that causes lag about after 30 minutes of spamming this ability. I'm suspecting that something leaks in "static method end." Don't mind about the custom damage function I made since I somehow checked it and...
First of all, player does not leak. Second, anything that a function takes is nulled or destroyed through the function that called it. For example, function A is the parent function calling function a as a child function. If function a takes location aka call a( myloc ), myloc will be a variable...
The former executes faster than the latter because it doesn't call other functions. The former wasn't through Jass. It was preset upon converting GUI into custom text.