Samer error actually; self.rotation is a single number, in radians. It’s unlikely you mean to assign position to the radian value of your rotation, you probably ment to use b.rotation = self.rotation
Your bullet probably doesn’t move because you add to the x position only once, when the bullet is spawned, you would need another script on your bullet with a _process function to run every frame.
extends Node2D
func _process(delta: float) -> void:
# moves forward at 200 pixels per second
position += transform.x * 200 * delta
It might be a good idea to get familiar with GDScript
Make sure to paste scripts instead of screen shots