I don't think this expression does what you think it does:
angle(monster.X, monster.Y, random(360), random(360))[/code:edvl1pbf]
This is getting the angle between your monster position and a random point with X and Y coordinates not exceeding 360. All parameters for the angle() expression represent coordinates, not angles.
Replace the previous expression with this expression and you should have pieces properly flying in random directions: