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