Sub BuildRainbucket(rain As Double,width As Int,height As Int,id As String) As ABMCanvasObject
Dim bucket As ABMCanvasObject
Dim const stb=height-30 As Int
Dim const stt=30 As Int
Dim const tg=0.27 As Double 'precaluculated 15 deg tan
Dim level=rain*40 As Int
Dim y=Sqrt(1/tg*4000) As Double 'x1 displacement
Dim x=y*tg/2 As Double
Dim x2=width/8 As Int
Dim top=y As Int
If rain>200 Then rain=200 ''limit amount of rain just to prevent skyhigh filled bucket
bucket.beginPath
bucket.moveTo(width/2-x2,stb)
bucket.lineTo(width/2-x-x2,stb-y)
bucket.lineTo(width/2+x+x2,stb-y)
bucket.lineTo(width/2+x2,stb)
bucket.lineTo(width/2-x2,stb)
bucket.fillStyleColor("#d3d3d3")
bucket.fill
y=Sqrt(1/tg*level)
x=y*tg/2
bucket.beginPath
bucket.moveTo(width/2-x2,stb)
bucket.lineTo(width/2-x-x2,stb-y)
bucket.lineTo(width/2+x+x2,stb-y)
bucket.lineTo(width/2+x2,stb)
bucket.lineTo(width/2-x2,stb)
bucket.fillStyleColor("#0000ff")
bucket.fill