vecA, vecB, and vecC all use values that are tied to other variables. They should be removed completely (and replaced with the variables that match them)

If you don't want to do this for readability reasons then at least change vecC to use vecCurrentPosition instead of core.unitSelf:GetPosition()