What you could do is instead, keep an array of the multipliers, along with an array of the necessary level.
Code:
if( Lvl[id] >= WeapLvl[weapon] )
damage *= WeapMult[weapon];
Which could possibly remove the entire switch statement. (Though a couple weapons seem to have something else, so you could branch them off separately)