So players should be able to select a build/class at launch and then have different guns, right?
You can make a menu or something where players select their build and store the selection in a global variable. Like a build name. Or add it as instance variable to the player sprite.
And then just add a condition where the variable is compared to the attack actions. like:
Build = "Bouncy Bullet" AND Fire button is pressed > Spawn bullet with bounce
Build = "Shotty" AND Fire button is pressed > Spawn multiple small bullets for Shotgun
Build = "Bomb" AND Fire Button is pressed > spawn a bomb
etc.
Or "On Attack Button Pressed" add sub conditions for every possible build
On Attack Pressed
Build = "Bouncy" | Do this
Build = "Shotgun" | Do this