Whee more shuffling!
I just realised how simple it was to do an incompetant shuffle, or shuffle things so that the array maintains its basic order of the highest values being at the top and the lowest at the bottom while still having a random order. It's great if your game requires an array to be semi-ordered but still organic.
Let me know if there's any way to massively improve efficiency - it's just a first draft, and stuff's getting looped through a lot so efficiency is important.
const mrandom:Function = Math.random;
const ceil:Function = Math.ceil;
function semiShuffle(array:Array, strength:Number = 100){
if(array.length > strength){
for(i = strength; i < array.length; i++){
array.splice(i - ceil(mrandom() * strength), 0, array.splice(i, 1)[0]);
};
};
};