Yeah, good catch actually here is what you need to change
old
	Code:
	my $RampDamageVar = (int(rand($DamageVar ))) + $ShieldMinDam;
 New
	Code:
	my $RampDamageVar = (int(rand($DamageVar ))) + (int($ShieldMinDam));
 Using int will remove decimals. 
I'll apply this to my code too, I didn't catch it when I was testing cause prob was using easily divisable numbers