Animation/parenting bug? Please help

My goal is to have the animation I have set up play which is triggered by a collision with the players body to a sensor, in which the body gets deleted, the camera and gun switch parents to a helicopter, and then play their 1300 frame actions.When I do this, the gun and camera return to the origin yet still play their respective actions alongside some relative changes due to distance from parent. I do not understand how to fix this and make the animation look as it does in the preview/timeline view.
I have attached the file from my game with all the relevant information, if you can get this animation to play correctly and identify the problem I would greatly appreciate it, been stuck on this for a while now.

To view the goal animation, look through the camera view and play the from 120-1500 on timeline which is already in place upon opening file. You will see this does not play the same upon starting the actual engine, as the camera and gun are made to stare at the ceiling.

That’s one intimidating file.

-Everything looks flat: Delete scale keyframes from the helicopter and apply scale (control + A with helicopter selected)
-Staring at the ceiling: Delete rotation keyframes from the helicopter, rotate the helicopter a little so Y = forward, apply rotation, then re-do rotation keyframes.

Having non-uniform object scale often screws things up, so make sure to apply scale whenever you resize something. Similar thing with rotation. It’s good practice to apply rotation when the object is at rest with Y = forward. Keeps things consistent.

I’d upload the fix but my upload speed is terrible.

the gun and camera return to the origin yet still play their respective actions alongside some relative changes due to distance from parent

Works good here unless I misread. For me the camera stays in the helicopter.