Those extra edge loops don't define a silhouette really. You can easily take these out and lessen the polycount. There's no reason to have them in there at the moment.
If you store a morph target then use the layer brush, all strokes will stop at a maximum height defined by the brush strength. See if that's what you're after.
Additionally, you may want to define the space between the barrel and the slide, as right now it looks like the slide's geometry is intersecting with the barrel. Reference attached:
This is for my portfolio (for applications to university courses) so it will definately be classed as a 'hero' prop What do you think of my last update so far?
Are you sure you set the correct rotation point? Select your Rotator and define the place you need it to be, as of default, it's set to 0.5,0.5, which is in the center.