i think it doesn't have any fast solutions. it looks you have to design it step by step.
Steps in my mind: (I always begin from the most sub part)
- Modify your bullet as a global usable entity if it is not. Or copy and modify your bullet for your 1st support instead of the player entity.
- Design the bomb class. (Start from the last, so, start from the explosion effect then add it into the bomb class that you gonna design)
- Design a movement & action controller class that records player's movement changes & actions then orders any other entities by the records (just make them move like the player and shoot like the player in the beginning, that's gonna be an easy start)
- Design 1st support and connect with the bullet class and add a function that takes movement orders and another function that takes fire orders.
- Complete the 1st support .Then go to your movement & action controller and connect the 1st support and add some "delay" for "movement" but "firing".
- Then duplicate the 1st support as 2nd support. Deconnect the bullet class and connect the bomb class.
- Complete the 2nd support. And connect with movement & action controller class.