You don't need to pass both `cPlayer` and `cClientHandle`, they each have a pointer to the other one. I think you should keep only `cPlayer` and use its `GetClientHandle()` (check if it returns a non-NULL value, to make it future-proof for AI `cPlayer` descendants)