@GlobalAnomaly: I think you posted your example in a hurry that you forgot to space the /while %x and <= 5, without it, you'll get an error. And you should add a timer delay to it, so that they won't come out at the same time in a flooding fashion:
alias mshoot {
var %x = 1, %y = $!nick(#,$r(1,$nick(#,0)))
while (%x <= 5) {
.timer 1 $calc(%x * 2) describe $!chan shoots %y dealing $r(1,1000) damage!
inc %x
}
}