instead of using traditional OOP for items in my game, ive been using composition. A gun will have components for aiming, firing, reload etc. Sounds overengineered until u start adding in building tools, binoculars, ammo bags, etc. Made everything 1000x easier