Riot's Approach to Anti-Cheat

Except script skillshots are not aimed at the center of your movement (excluding situations when your champion is cc'ed or you are not pathing). Almost all prediction algorithms for the most part assume that you will continue on your current path. The predicted position is calculated by multiplying your current movespeed with the time it takes to reach your position (for skillshots with infinite speed like Karthus Q and most circular skillshots, this is just the delay while for skillshots with speed such as Ezreal Q, the calculation is a little more complex). However, the actual cast position is not at the predicted position but rather at the closer edge (spell's radius/width from the predicted position). This is because most people dodge skillshots by moving in the opposite direction, so casting the skillshots at the predicted position means that the area from the predicted position to the farther edge is generally not used.

/r/leagueoflegends Thread Parent Link - engineering.riotgames.com