#!/usr/bin/lua --[[ local t={ {minpercent=4,maxpercent=6,minpay=0,maxpay=0,hours=1,description="No work"}, {minpercent=10,maxpercent=90,minpay=6,maxpay=6,hours=12,description="House work"}, {minpercent=10,maxpercent=90,minpay=12,maxpay=12,hours=12,biggest=true,description="Doctor/Apothecary"}, {minpercent=10,maxpercent=90,minpay=4,maxpay=4,hours=4,description="Teaching"}, } --]] --[[ local t={ {minpercent=1,maxpercent=10,minpay=0,maxpay=0,hours=1,description="No work"}, {minpercent=40,maxpercent=60,minpay=6,maxpay=6,hours=12,biggest=true,description="Field work / house work"}, {minpercent=20,maxpercent=33,minpay=12,maxpay=12,hours=12,description="Guard duty"}, {minpercent=5,maxpercent=10,minpay=8,maxpay=8,hours=8,description="Teaching / acting / preaching"}, {minpercent=1,maxpercent=10,minpay=60,maxpay=80,hours=6,smallest=true,description="Excorcism"}, } --]] --[[ local t={ {minpercent=3,maxpercent=9,minpay=0,maxpay=0,hours=1,description="No work"}, {minpercent=10,maxpercent=40,minpay=12,maxpay=12,hours=12,biggest=true,description="Blacksmithing"}, {minpercent=10,maxpercent=40,minpay=6,maxpay=6,hours=12,description="Hunting"}, {minpercent=5,maxpercent=10,minpay=12,maxpay=12,hours=12,description="Teaching martial arts"}, {minpercent=10,maxpercent=40,minpay=12,maxpay=12,hours=12,description="Guard duty"}, {minpercent=1,maxpercent=10,minpay=50,maxpay=70,hours=3,smallest=true,description="Debt collection"}, {minpercent=10,maxpercent=40,minpay=12,maxpay=12,hours=6,description="Fortune telling"}, } --]] --[[ local t={ {minpercent=1,maxpercent=2,minpay=0,maxpay=0,hours=1,smallest=true,description="No work"}, {minpercent=10,maxpercent=40,minpay=0,maxpay=0,hours=12,biggest=true,description="Sold and bought trinkets"}, {minpercent=10,maxpercent=40,minpay=10,maxpay=10,hours=12,description="Sold and bought trinkets"}, {minpercent=10,maxpercent=40,minpay=20,maxpay=20,hours=12,description="Sold and bought trinkets"}, {minpercent=10,maxpercent=15,minpay=40,maxpay=40,hours=12,description="Sold and bought trinkets"}, } --]] local t={ {minpercent=1,maxpercent=10,minpay=0,maxpay=0,hours=0,smallest=false,description="No work"}, {minpercent=60,maxpercent=80,minpay=10,maxpay=10,hours=12,biggest=false,description="Housework/fieldwork"}, {minpercent=10,maxpercent=30,minpay=20,maxpay=40,hours=4,description="Item appraisal"}, } local wanted=10 local wantedhours=10 local bestavg=math.huge local random=true math.randomseed(os.time()) for i,v in pairs(t) do v.percent,v.winpercent=v.minpercent,v.minpercent v.pay,v.winpay=v.minpay,v.minpay end function average(t) local avg=0 for i,v in pairs(t) do avg=avg+v.pay*v.percent end return avg/100 end function averagehourswinning(t) local avg=0 for i,v in pairs(t) do avg=avg+v.hours*v.winpercent end return avg/100 end function valid(t) local total=0 local wmini,wmaxi local minv,maxv=math.huge,-math.huge for i,v in pairs(t) do total=total+v.percent if v.biggest then wmaxi=i end if v.smallest then wmini=i end if minv>v.percent then minv=v.percent end if maxv