// Function shamelessly extracted from wurst math lib
// Credits to BlinkyBoy, I guess?
function SlopeAngle takes real z1, real z2, real dist returns real
return Atan2(z2 - z1, dist)
endfunction
function SetEffectAngle takes effect whichEffect, real angle, real slope returns nothing
// Yaw, Pitch, Roll
call BlzSetSpecialEffectOrientation(whichEffect, Sin(angle) * slope, -Cos(angle) * slope, angle)
endfunction