you can use
distance(0,0,player_ship.Physics.VelocityX,player_ship.Physics.VelocityY)
it's the same (well ok there's no much gain in term of place on that one)
For your bullet if it's a bullet behavior you have to give the angle of movement and the speed if I remember so it would be
angle of the object = angle of the ship
bullet.movingangle = angle(vector Velocity of the bullet + vector velocity of the ship)
bullet.speed = magnitude(vector Velocity of the bullet + vector Velocity of the ship)
In short you have to add the two vector and then retrieve the angle and speed of the solution
To add the two vector do it this way :
Global number bulletSpeed = 500 //put what you want
+On shot
Local number bVx = 0 //bullet X component of default velocity vector
Local number bVy = 0 //bullet Y component of default velocity vector
Local number sVx = 0 //ship X component of velocity vector
Local number sVy = 0 //ship Y component of velocity vector
Local number rVx = 0 //result X component of velocity vector
Local number rVy = 0 //result Y component of velocity vector
player_ship: Spawn projectile
System: set bVx to cos(player_ship.angle)*bulletSpeed
System: set bVy to sin(player_ship.angle)*bulletSpeed
System: set sVx to player_ship.Physics.VelocityX
System: set sVy to player_ship.Physics.VelocityY
System: set rVx to bVx + sVx
System: set rVy to bVx + sVy
Projectile: set angle to player_ship.angle
// if your bullet is just a physic object you can set it's velocity X and Y to rVx and rVy... For bullet behavior you need two more steps
Projectile: Bullet set moving Angle to angle(0,0,rVx,rVy)
Projectile: Bullet set speed to distance(0,0,rVx,rVy)
Tell me if it worked, not sure.