/proc/getAssignedBlock(name, list/blocksLeft, activity_bounds=DNA_DEFAULT_BOUNDS, 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) GLOB.good_blocks += assigned else GLOB.bad_blocks += assigned GLOB.assigned_blocks[assigned]=name GLOB.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)) GLOB.blockadd = rand(-300,300) if(prob(75)) GLOB.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