Launched in the direction they are looking?
Well, in YourWeapon::onFire(%this, %obj, %slot) you're going to want to add in a change of velocity to the player. To get the direction they're pointing the gun, you get the player's muzzleVector with getMuzzleVector( slot ). So, something like this would launch your player in the direction the weapon in slot 0 (primary equipped) is pointed: %obj.addVelocity(%obj.getMuzzleVector(0));
However, you may want to scale that up by some factor with vectorScale( vector, # ). I'd recommend playing around with five or so for a good push, more than that will be a solid slingshot and less than that will be a nudge.