Moved a lot of Shot functions to C#