My code
for each role define parts percent in the body and cost. totalPercent is the max amount of a room energy it will use
parts: {
pieces:[
{typeName:WORK, percent:0.5, cost:100},
{typeName:CARRY, percent:0.25, cost:50},
{typeName:MOVE, percent:0.25, cost:50}
],
totalPercent:0.67
},
then you just have to go through parts.pieces the amount of each part is percent * energyRoom * totalpercent /cost
And then loop pushing each typeName in an array