/proc/getAssignedBlock(var/name,var/list/blocksLeft, var/activity_bounds=DNA_DEFAULT_BOUNDS, var/good=0) if(blocksLeft.len==0) warning("[name]: No more blocks left to assign!") return 0 var/assigned = pick(blocksLeft) blocksLeft.Remove(assigned) if(good) good_blocks += assigned else bad_blocks += assigned assigned_blocks[assigned]=name dna_activity_bounds[assigned]=activity_bounds //Debug message_admins("[name] assigned to block #[assigned].") // testing("[name] assigned to block #[assigned].") return assigned /proc/setupgenetics() if(prob(50)) BLOCKADD = rand(-300,300) if(prob(75)) DIFFMUT = rand(0,20) //Thanks to nexis for the fancy code // BITCH I AIN'T DONE YET // SE blocks to assign. var/list/numsToAssign=new() for(var/i=1;i