diff --git a/beach.yml b/beach.yml new file mode 100644 index 0000000..a8a8b7b --- /dev/null +++ b/beach.yml @@ -0,0 +1,873 @@ +--- +- BeachBlock: + :x: 64.0 + :y: 672.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 208.0 + :y: 672.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 320.0 + :y: 672.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 2272.0 + :y: 672.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 208.0 + :y: 816.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 64.0 + :y: 816.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 320.0 + :y: 816.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 400.0 + :y: 816.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 2400.0 + :y: 816.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 400.0 + :y: 672.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 2368.0 + :y: 672.0 + :angle: 0 + :zorder: 98 + :factor_x: 0.586666666666666 + :factor_y: 0.586666666666666 + :color: 4294967295 +- BeachBlock: + :x: 2704.0 + :y: 656.0 + :angle: 0 + :zorder: 99 + :factor_x: 0.693333333333333 + :factor_y: 0.693333333333333 + :color: 4294967295 +- BeachBlock: + :x: 544.0 + :y: 672.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 544.0 + :y: 816.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 688.0 + :y: 672.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 688.0 + :y: 816.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 832.0 + :y: 672.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 832.0 + :y: 816.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 976.0 + :y: 672.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 976.0 + :y: 816.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 1120.0 + :y: 672.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- Cloud: + :x: -1502.94849465445 + :y: 160.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.003300330033 + :factor_y: 1.10344827586207 + :color: 2399141887 +- Cloud: + :x: 161.879160224283 + :y: 176.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.21452145214521 + :factor_y: 2.20689655172414 + :color: 2399141887 +- Cloud: + :x: 1058.84091580199 + :y: 256.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.95049504950495 + :factor_y: 0.827586206896552 + :color: 2399141887 +- Cloud: + :x: 602.867496120292 + :y: 96.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.21452145214521 + :factor_y: 2.20689655172414 + :color: 2399141887 +- Cloud: + :x: 2977.73848694696 + :y: 112.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.21452145214521 + :factor_y: 2.20689655172414 + :color: 2399141887 +- Cloud: + :x: 3635.94466529905 + :y: 224.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.95049504950495 + :factor_y: 0.827586206896552 + :color: 2399141887 +- Cloud: + :x: 2762.43081416314 + :y: 96.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.21452145214521 + :factor_y: 2.20689655172414 + :color: 2399141887 +- Cloud: + :x: 6731.42424164213 + :y: 96.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.21452145214521 + :factor_y: 2.20689655172414 + :color: 2399141887 +- Cloud: + :x: 7242.6236064415 + :y: 240.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.003300330033 + :factor_y: 1.10344827586207 + :color: 2399141887 +- Cloud: + :x: 5480.54746763176 + :y: 160.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.003300330033 + :factor_y: 1.10344827586207 + :color: 2399141887 +- Cloud: + :x: 2685.38285619596 + :y: 208.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.21452145214521 + :factor_y: 2.20689655172414 + :color: 2399141887 +- Cloud: + :x: 4629.58991565926 + :y: 64.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.21452145214521 + :factor_y: 2.20689655172414 + :color: 2399141887 +- Cloud: + :x: 8729.70449248185 + :y: 224.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.21452145214521 + :factor_y: 2.20689655172414 + :color: 2399141887 +- Cloud: + :x: 5536.56321965066 + :y: 128.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.05610561056106 + :factor_y: 1.37931034482759 + :color: 2399141887 +- BeachBlock: + :x: 1072.0 + :y: 576.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.16 + :factor_y: 0.16 + :color: 4294967295 +- BeachBlock: + :x: 1120.0 + :y: 576.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.16 + :factor_y: 0.16 + :color: 4294967295 +- BeachBlock: + :x: 1120.0 + :y: 528.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.16 + :factor_y: 0.16 + :color: 4294967295 +- BeachBlock: + :x: 1264.0 + :y: 576.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.16 + :factor_y: 0.16 + :color: 4294967295 +- BeachBlock: + :x: 1216.0 + :y: 528.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.16 + :factor_y: 0.16 + :color: 4294967295 +- BeachBlock: + :x: 1168.0 + :y: 576.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.16 + :factor_y: 0.16 + :color: 4294967295 +- BeachBlock: + :x: 1264.0 + :y: 672.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 1408.0 + :y: 672.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 1216.0 + :y: 576.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.16 + :factor_y: 0.16 + :color: 4294967295 +- BeachBlock: + :x: 1168.0 + :y: 528.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.16 + :factor_y: 0.16 + :color: 4294967295 +- BeachBlock: + :x: 1216.0 + :y: 480.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.16 + :factor_y: 0.16 + :color: 4294967295 +- BeachBlock: + :x: 1120.0 + :y: 480.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.16 + :factor_y: 0.16 + :color: 4294967295 +- BeachBlock: + :x: 1120.0 + :y: 816.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 1264.0 + :y: 816.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 1408.0 + :y: 816.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 1552.0 + :y: 672.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 1552.0 + :y: 816.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 1696.0 + :y: 672.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 1696.0 + :y: 816.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 1216.0 + :y: 432.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.16 + :factor_y: 0.16 + :color: 4294967295 +- BeachBlock: + :x: 1216.0 + :y: 384.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.16 + :factor_y: 0.16 + :color: 4294967295 +- BeachBlock: + :x: 1312.0 + :y: 576.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.16 + :factor_y: 0.16 + :color: 4294967295 +- BeachBlock: + :x: 1312.0 + :y: 528.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.16 + :factor_y: 0.16 + :color: 4294967295 +- BeachBlock: + :x: 1312.0 + :y: 480.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.16 + :factor_y: 0.16 + :color: 4294967295 +- BeachBlock: + :x: 1840.0 + :y: 672.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 1840.0 + :y: 816.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 1984.0 + :y: 672.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 1984.0 + :y: 816.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 2128.0 + :y: 672.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 2480.0 + :y: 640.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.586666666666666 + :factor_y: 0.586666666666666 + :color: 4294967295 +- BeachBlock: + :x: 2560.0 + :y: 624.0 + :angle: 0 + :zorder: 96 + :factor_x: 0.586666666666666 + :factor_y: 0.586666666666666 + :color: 4294967295 +- BeachBlock: + :x: 2128.0 + :y: 816.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 2256.0 + :y: 816.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 2544.0 + :y: 816.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 2512.0 + :y: 752.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.853333333333333 + :factor_y: 0.853333333333333 + :color: 4294967295 +- BeachBlock: + :x: 2688.0 + :y: 816.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 2848.0 + :y: 672.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 2976.0 + :y: 672.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 2832.0 + :y: 816.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 2976.0 + :y: 816.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 3120.0 + :y: 672.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 3120.0 + :y: 816.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 3264.0 + :y: 672.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 3264.0 + :y: 816.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 3408.0 + :y: 672.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- BeachBlock: + :x: 3408.0 + :y: 816.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.48 + :factor_y: 0.48 + :color: 4294967295 +- Battery: + :x: 512.0 + :y: 384.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.00900900900901 + :factor_y: 1.11304347826087 + :color: 4294967295 +- Drink: + :x: 1072.0 + :y: 528.0 + :angle: 0 + :zorder: 100 + :factor_x: 9.6 + :factor_y: 5.33333333333333 + :color: 4294967295 +- Drink: + :x: 1872.0 + :y: 512.0 + :angle: 0 + :zorder: 100 + :factor_x: 9.6 + :factor_y: 5.33333333333333 + :color: 4294967295 +- BeachBlock: + :x: 2016.0 + :y: 560.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.0533333333333333 + :factor_y: 0.0533333333333333 + :color: 4294967295 +- BeachBlock: + :x: 1872.0 + :y: 592.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.0533333333333333 + :factor_y: 0.0533333333333333 + :color: 4294967295 +- BeachBlock: + :x: 1872.0 + :y: 576.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.0533333333333333 + :factor_y: 0.0533333333333333 + :color: 4294967295 +- BeachBlock: + :x: 1872.0 + :y: 560.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.0533333333333333 + :factor_y: 0.0533333333333333 + :color: 4294967295 +- BeachBlock: + :x: 2016.0 + :y: 576.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.0533333333333333 + :factor_y: 0.0533333333333333 + :color: 4294967295 +- BeachBlock: + :x: 2016.0 + :y: 592.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.0533333333333333 + :factor_y: 0.0533333333333333 + :color: 4294967295 +- BeachBlock: + :x: 1984.0 + :y: 544.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.0533333333333333 + :factor_y: 0.0533333333333333 + :color: 4294967295 +- BeachBlock: + :x: 2000.0 + :y: 544.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.0533333333333333 + :factor_y: 0.0533333333333333 + :color: 4294967295 +- BeachBlock: + :x: 2016.0 + :y: 544.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.0533333333333333 + :factor_y: 0.0533333333333333 + :color: 4294967295 +- BeachBlock: + :x: 2032.0 + :y: 544.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.0533333333333333 + :factor_y: 0.0533333333333333 + :color: 4294967295 +- BeachBlock: + :x: 2048.0 + :y: 544.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.0533333333333333 + :factor_y: 0.0533333333333333 + :color: 4294967295 +- BeachBlock: + :x: 1856.0 + :y: 544.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.0533333333333333 + :factor_y: 0.0533333333333333 + :color: 4294967295 +- BeachBlock: + :x: 1840.0 + :y: 544.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.0533333333333333 + :factor_y: 0.0533333333333333 + :color: 4294967295 +- BeachBlock: + :x: 1840.0 + :y: 544.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.0533333333333333 + :factor_y: 0.0533333333333333 + :color: 4294967295 +- BeachBlock: + :x: 1872.0 + :y: 544.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.0533333333333333 + :factor_y: 0.0533333333333333 + :color: 4294967295 +- BeachBlock: + :x: 1872.0 + :y: 544.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.0533333333333333 + :factor_y: 0.0533333333333333 + :color: 4294967295 +- BeachBlock: + :x: 1888.0 + :y: 544.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.0533333333333333 + :factor_y: 0.0533333333333333 + :color: 4294967295 +- BeachBlock: + :x: 1904.0 + :y: 544.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.0533333333333333 + :factor_y: 0.0533333333333333 + :color: 4294967295 +- Drink: + :x: 1984.0 + :y: 512.0 + :angle: 0 + :zorder: 100 + :factor_x: 9.6 + :factor_y: 5.33333333333333 + :color: 4294967295 +- Drink: + :x: 2048.0 + :y: 512.0 + :angle: 0 + :zorder: 100 + :factor_x: 9.6 + :factor_y: 5.33333333333333 + :color: 4294967295 +- BeachBlock: + :x: 2064.0 + :y: 544.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.0533333333333333 + :factor_y: 0.0533333333333333 + :color: 4294967295 +- BeachBlock: + :x: 1968.0 + :y: 544.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.0533333333333333 + :factor_y: 0.0533333333333333 + :color: 4294967295 +- BeachBlock: + :x: 1904.0 + :y: 544.0 + :angle: 0 + :zorder: 97 + :factor_x: 0.0533333333333333 + :factor_y: 0.0533333333333333 + :color: 4294967295 +- Ball: + :x: 1216.0 + :y: 176.0 + :angle: 0 + :zorder: 100 + :factor_x: 2.96296296296296 + :factor_y: 3.07692307692308 + :color: 4294967295 +- Ball: + :x: 2016.0 + :y: 192.0 + :angle: 0 + :zorder: 100 + :factor_x: 2.96296296296296 + :factor_y: 3.07692307692308 + :color: 4294967295 diff --git a/factory.yml b/factory.yml new file mode 100644 index 0000000..ab6377c --- /dev/null +++ b/factory.yml @@ -0,0 +1,2145 @@ +--- +- CogWheel: + :x: 1088.0 + :y: 352.0 + :angle: 261.503276348003 + :zorder: 95 + :factor_x: 1.68525252525252 + :factor_y: 1.68525252525252 + :color: 1459617791 +- CogWheel: + :x: 448.0 + :y: 416.0 + :angle: 213.943880498079 + :zorder: 88 + :factor_x: 1.68525252525252 + :factor_y: 1.68525252525252 + :color: 1644167167 +- Block: + :x: 64.0 + :y: 480.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.286995515695065 + :factor_y: 0.286995515695065 + :color: 4294967295 +- Block: + :x: 576.0 + :y: 480.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.286995515695065 + :factor_y: 0.286995515695065 + :color: 4294967295 +- Block: + :x: 1042.0 + :y: 544.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.358744394618834 + :factor_y: 0.358744394618834 + :color: 4294967295 +- Block: + :x: 1042.0 + :y: 704.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.358744394618834 + :factor_y: 0.358744394618834 + :color: 4294967295 +- Block: + :x: 1202.0 + :y: 544.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.358744394618834 + :factor_y: 0.358744394618834 + :color: 4294967295 +- Block: + :x: 1202.0 + :y: 704.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.358744394618834 + :factor_y: 0.358744394618834 + :color: 4294967295 +- Block: + :x: 1362.0 + :y: 576.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.358744394618834 + :factor_y: 0.358744394618834 + :color: 4294967295 +- Block: + :x: 1010.0 + :y: 416.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 1472.0 + :y: 448.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 1152.0 + :y: 448.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1248.0 + :y: 448.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1266.0 + :y: 416.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1266.0 + :y: 384.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1266.0 + :y: 352.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1170.0 + :y: 416.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1074.0 + :y: 448.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 128.0 + :y: 384.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 +- Block: + :x: 160.0 + :y: 384.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 192.0 + :y: 384.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1664.0 + :y: 448.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 1952.0 + :y: 448.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 1760.0 + :y: 448.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 1856.0 + :y: 448.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 1568.0 + :y: 448.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Tube: + :x: 1920.0 + :y: 96.0 + :angle: 5 + :zorder: 99 + :factor_x: 0.89261744966443 + :factor_y: 0.89261744966443 + :color: 4294967295 +- Tube: + :x: 2016.0 + :y: 0.0 + :angle: 355 + :zorder: 98 + :factor_x: 1.29409275046859 + :factor_y: 1.29409275046859 + :color: 4294967295 +- Block: + :x: 2048.0 + :y: 480.0 + :angle: 0 + :zorder: 109 + :factor_x: 0.210762331838565 + :factor_y: 0.210762331838565 + :color: 4294967295 +- Block: + :x: 2144.0 + :y: 480.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 2240.0 + :y: 480.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 2336.0 + :y: 448.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 2432.0 + :y: 416.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 2528.0 + :y: 352.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 2624.0 + :y: 320.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 2720.0 + :y: 352.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 2816.0 + :y: 384.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 2912.0 + :y: 416.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 2912.0 + :y: 512.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 2912.0 + :y: 607.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 3232.0 + :y: 416.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 3232.0 + :y: 512.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 3232.0 + :y: 608.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 3232.0 + :y: 704.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 3136.0 + :y: 704.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 2912.0 + :y: 704.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 2912.0 + :y: 800.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 2912.0 + :y: 896.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 3008.0 + :y: 896.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 2912.0 + :y: 992.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 3232.0 + :y: 800.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 3232.0 + :y: 896.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 3232.0 + :y: 960.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 3232.0 + :y: 320.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 3232.0 + :y: 224.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 3232.0 + :y: 128.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 3232.0 + :y: 32.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 3232.0 + :y: 1056.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 3232.0 + :y: 1152.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 3232.0 + :y: 1248.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 3136.0 + :y: 1248.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 3040.0 + :y: 1248.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 2944.0 + :y: 1248.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 2848.0 + :y: 1312.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 2752.0 + :y: 1376.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 2656.0 + :y: 1440.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 2560.0 + :y: 1504.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 2464.0 + :y: 1568.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 2368.0 + :y: 1632.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 2272.0 + :y: 1632.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 2176.0 + :y: 1632.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 2080.0 + :y: 1632.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 32.0 + :y: 384.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 32.0 + :y: 352.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 32.0 + :y: 288.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 +- Block: + :x: 32.0 + :y: 320.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 +- Block: + :x: 32.0 + :y: 256.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 +- Block: + :x: 32.0 + :y: 224.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 +- Block: + :x: 32.0 + :y: 192.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 +- Block: + :x: 32.0 + :y: 160.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 +- Block: + :x: 32.0 + :y: 128.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 +- Block: + :x: 1984.0 + :y: 1632.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 1888.0 + :y: 1632.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 1792.0 + :y: 1632.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 1696.0 + :y: 1632.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 1600.0 + :y: 1632.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 1504.0 + :y: 1632.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Tube: + :x: 992.0 + :y: 0.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.15315315315315 + :factor_y: 1.0738255033557 + :color: 4294967295 +- Tube: + :x: 1792.0 + :y: 32.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.15315315315315 + :factor_y: 1.0738255033557 + :color: 4294967295 +- Block: + :x: 1408.0 + :y: 1632.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 1312.0 + :y: 1632.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 1216.0 + :y: 1632.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 1120.0 + :y: 1632.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 1024.0 + :y: 1632.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 928.0 + :y: 1632.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 832.0 + :y: 1600.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 736.0 + :y: 1568.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 640.0 + :y: 1568.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 544.0 + :y: 1536.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 448.0 + :y: 1472.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 352.0 + :y: 1440.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 256.0 + :y: 1440.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 160.0 + :y: 1440.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 64.0 + :y: 1440.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 64.0 + :y: 1344.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 64.0 + :y: 1248.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 64.0 + :y: 1152.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 256.0 + :y: 1088.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 352.0 + :y: 1120.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 160.0 + :y: 1120.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 192.0 + :y: 1376.0 + :angle: 0 + :zorder: 100 + :factor_x: -0.0717488789237673 + :factor_y: -0.0717488789237673 + :color: 4294967295 +- Block: + :x: 192.0 + :y: 1344.0 + :angle: 0 + :zorder: 100 + :factor_x: -0.0717488789237673 + :factor_y: -0.0717488789237673 + :color: 4294967295 +- Block: + :x: 224.0 + :y: 1344.0 + :angle: 0 + :zorder: 100 + :factor_x: -0.0717488789237673 + :factor_y: -0.0717488789237673 + :color: 4294967295 +- Block: + :x: 256.0 + :y: 1344.0 + :angle: 0 + :zorder: 100 + :factor_x: -0.0717488789237673 + :factor_y: -0.0717488789237673 + :color: 4294967295 +- Block: + :x: 288.0 + :y: 1344.0 + :angle: 0 + :zorder: 100 + :factor_x: -0.0717488789237673 + :factor_y: -0.0717488789237673 + :color: 4294967295 +- Block: + :x: 288.0 + :y: 1376.0 + :angle: 0 + :zorder: 100 + :factor_x: -0.0717488789237673 + :factor_y: -0.0717488789237673 + :color: 4294967295 +- Tube: + :x: 672.0 + :y: 64.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.15315315315315 + :factor_y: 1.51496462905859 + :color: 4294967295 +- CogWheel: + :x: 1792.0 + :y: 320.0 + :angle: 182.497282580259 + :zorder: 95 + :factor_x: 1.68525252525252 + :factor_y: 1.68525252525252 + :color: 1526726655 +- Battery: + :x: 240.0 + :y: 1299.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.484848484848485 + :factor_y: 0.484848484848485 + :color: 4294967295 +- CogWheel: + :x: 2464.0 + :y: 288.0 + :angle: 14.156596894522 + :zorder: 95 + :factor_x: 1.68525252525252 + :factor_y: 1.68525252525252 + :color: 1526726655 +- CogWheel: + :x: 2460.0 + :y: 960.0 + :angle: 184.497282580259 + :zorder: 95 + :factor_x: 1.68525252525252 + :factor_y: 1.68525252525252 + :color: 1526726655 +- Tube: + :x: 2400.0 + :y: 0.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.15315315315315 + :factor_y: 1.0738255033557 + :color: 4294967295 +- Tube: + :x: 2560.0 + :y: 0.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.15315315315315 + :factor_y: 1.0738255033557 + :color: 4294967295 +- Tube: + :x: 2816.0 + :y: 32.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.15315315315315 + :factor_y: 1.0738255033557 + :color: 4294967295 +- Tube: + :x: 2208.0 + :y: 64.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.15315315315315 + :factor_y: 1.0738255033557 + :color: 4294967295 +- Block: + :x: 96.0 + :y: 384.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 +- Block: + :x: 64.0 + :y: 384.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 +- Block: + :x: 320.0 + :y: 480.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.286995515695065 + :factor_y: 0.286995515695065 + :color: 4294967295 +- Block: + :x: 192.0 + :y: 480.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.286995515695067 + :factor_y: 0.286995515695067 + :color: 4294967295 +- Block: + :x: 448.0 + :y: 480.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.286995515695065 + :factor_y: 0.286995515695065 + :color: 4294967295 +- Block: + :x: 704.0 + :y: 480.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.286995515695065 + :factor_y: 0.286995515695065 + :color: 4294967295 +- Block: + :x: 832.0 + :y: 480.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.286995515695065 + :factor_y: 0.286995515695065 + :color: 4294967295 +- Block: + :x: 929.0 + :y: 433.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.143497757847531 + :factor_y: 0.143497757847531 + :color: 4294967295 +- Block: + :x: 929.0 + :y: 497.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.143497757847531 + :factor_y: 0.143497757847531 + :color: 4294967295 +- Saw: + :x: 2304.0 + :y: 42973.9722397467 + :angle: 148.973186119936 + :zorder: 100 + :factor_x: 0.317794486215539 + :factor_y: 0.320401002506266 + :color: 4294967295 +- Saw: + :x: 2016.0 + :y: 32173.9806240522 + :angle: 341.066180171485 + :zorder: 100 + :factor_x: 0.398395989974937 + :factor_y: 0.401002506265664 + :color: 4294967295 +- Saw: + :x: 1696.0 + :y: 14500.9946086338 + :angle: 51.8801650144799 + :zorder: 100 + :factor_x: 0.958395989974934 + :factor_y: 0.961002506265664 + :color: 4294967295 +- Saw: + :x: 1056.0 + :y: 24036.9954416873 + :angle: 324.855862936146 + :zorder: 100 + :factor_x: 0.637794486215539 + :factor_y: 0.640401002506266 + :color: 4294967295 +- Saw: + :x: 1344.0 + :y: 24036.9954416873 + :angle: 327.855862936147 + :zorder: 100 + :factor_x: 0.637794486215539 + :factor_y: 0.640401002506266 + :color: 4294967295 +- Block: + :x: 2048.0 + :y: 1056.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 2144.0 + :y: 1056.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 2240.0 + :y: 1056.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 2528.0 + :y: 1056.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 2336.0 + :y: 1056.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 2432.0 + :y: 1056.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 2624.0 + :y: 1024.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 2720.0 + :y: 1024.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 2816.0 + :y: 1024.0 + :angle: 0 + :zorder: 99 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 1952.0 + :y: 1056.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 1856.0 + :y: 1088.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 1760.0 + :y: 1088.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 1664.0 + :y: 1088.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 1568.0 + :y: 1088.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 1472.0 + :y: 1088.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 1376.0 + :y: 1088.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 1280.0 + :y: 1120.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 1184.0 + :y: 1120.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 832.0 + :y: 1152.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 448.0 + :y: 1152.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 544.0 + :y: 1152.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 640.0 + :y: 1152.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 736.0 + :y: 1152.0 + :angle: 0 + :zorder: 99 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 928.0 + :y: 1120.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 1024.0 + :y: 1120.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 1120.0 + :y: 1120.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.2152466367713 + :factor_y: 0.2152466367713 + :color: 4294967295 +- Block: + :x: 896.0 + :y: 1184.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237663 + :factor_y: 0.0717488789237663 + :color: 4294967295 +- Block: + :x: 1344.0 + :y: 1152.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237663 + :factor_y: 0.0717488789237663 + :color: 4294967295 +- Block: + :x: 1920.0 + :y: 1120.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237663 + :factor_y: 0.0717488789237663 + :color: 4294967295 +- Block: + :x: 2592.0 + :y: 1088.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237663 + :factor_y: 0.0717488789237663 + :color: 4294967295 +- Block: + :x: 2880.0 + :y: 1056.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237663 + :factor_y: 0.0717488789237663 + :color: 4294967295 +- Saw: + :x: 2176.0 + :y: 42813.9722397467 + :angle: 151.973186119936 + :zorder: 100 + :factor_x: 0.317794486215539 + :factor_y: 0.320401002506266 + :color: 4294967295 +- Saw: + :x: 1280.0 + :y: 30824.098278027 + :angle: 268.052196057188 + :zorder: 100 + :factor_x: 0.47739348370927 + :factor_y: 0.48 + :color: 4294967295 +- Saw: + :x: 1055.0 + :y: 91481.6743590043 + :angle: 19.6523317612529 + :zorder: 100 + :factor_x: 0.156390977443606 + :factor_y: 0.158997493734336 + :color: 4294967295 +- Saw: + :x: 960.0 + :y: 91545.6743590044 + :angle: 22.6523317612509 + :zorder: 100 + :factor_x: 0.156390977443606 + :factor_y: 0.158997493734336 + :color: 4294967295 +- Saw: + :x: 1120.0 + :y: 91545.6743590044 + :angle: 22.6523317612509 + :zorder: 100 + :factor_x: 0.156390977443606 + :factor_y: 0.158997493734336 + :color: 4294967295 +- Saw: + :x: 864.0 + :y: 91481.6743590043 + :angle: 25.6523317612509 + :zorder: 100 + :factor_x: 0.156390977443606 + :factor_y: 0.158997493734336 + :color: 4294967295 +- Saw: + :x: 1247.0 + :y: 27755.9489495749 + :angle: 283.946457785343 + :zorder: 100 + :factor_x: 0.477192982456137 + :factor_y: 0.479799498746867 + :color: 4294967295 +- Saw: + :x: 1088.0 + :y: 54674.3885593251 + :angle: 243.763506646168 + :zorder: 100 + :factor_x: 0.236591478696738 + :factor_y: 0.239197994987469 + :color: 4294967295 +- Saw: + :x: 960.0 + :y: 54674.3885593251 + :angle: 246.763506646169 + :zorder: 100 + :factor_x: 0.236591478696738 + :factor_y: 0.239197994987469 + :color: 4294967295 +- Block: + :x: 416.0 + :y: 96.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 +- Block: + :x: 384.0 + :y: 64.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 +- Block: + :x: 384.0 + :y: 96.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 +- Block: + :x: 416.0 + :y: 128.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 +- Block: + :x: 416.0 + :y: 160.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 +- Block: + :x: 320.0 + :y: 128.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 +- Block: + :x: 192.0 + :y: 128.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 +- Block: + :x: 288.0 + :y: 128.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 +- Block: + :x: 256.0 + :y: 128.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 +- Block: + :x: 352.0 + :y: 128.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 +- Block: + :x: 384.0 + :y: 128.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 +- Block: + :x: 384.0 + :y: 160.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 +- Block: + :x: 384.0 + :y: 192.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 +- Block: + :x: 224.0 + :y: 128.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 +- Saw: + :x: 2272.0 + :y: 1545.89456467036 + :angle: 146.639909411433 + :zorder: 100 + :factor_x: 0.398395989974937 + :factor_y: 0.401002506265664 + :color: 4294967295 +- Saw: + :x: 1792.0 + :y: 1492.18378106955 + :angle: 352.539543057765 + :zorder: 100 + :factor_x: 0.79859649122807 + :factor_y: 0.801203007518797 + :color: 4294967295 +- Saw: + :x: 2112.0 + :y: 1472.55311973017 + :angle: 50.5639527921968 + :zorder: 100 + :factor_x: 0.237794486215539 + :factor_y: 0.240401002506266 + :color: 4294967295 +- Saw: + :x: 1504.0 + :y: 1475.21132713439 + :angle: 4.15384615445959 + :zorder: 100 + :factor_x: 0.23719298245614 + :factor_y: 0.239799498746867 + :color: 4294967295 +- Saw: + :x: 1344.0 + :y: 1470.10650887575 + :angle: 7.15384615446169 + :zorder: 100 + :factor_x: 0.23719298245614 + :factor_y: 0.239799498746867 + :color: 4294967295 +- Saw: + :x: 1152.0 + :y: 1442.5380388842 + :angle: 10.1538461544596 + :zorder: 100 + :factor_x: 0.23719298245614 + :factor_y: 0.239799498746867 + :color: 4294967295 +- Saw: + :x: 992.0 + :y: 1484.67432950191 + :angle: 30.4853091222945 + :zorder: 100 + :factor_x: 0.156992481203007 + :factor_y: 0.159598997493734 + :color: 4294967295 +- Saw: + :x: 800.0 + :y: 1484.67432950191 + :angle: 33.4853091222945 + :zorder: 100 + :factor_x: 0.156992481203007 + :factor_y: 0.159598997493734 + :color: 4294967295 +- Saw: + :x: 1248.0 + :y: 1538.26656151419 + :angle: 184.999590383916 + :zorder: 100 + :factor_x: 0.317794486215539 + :factor_y: 0.320401002506266 + :color: 4294967295 +- Saw: + :x: 928.0 + :y: 1516.67432950192 + :angle: 36.4853091222945 + :zorder: 100 + :factor_x: 0.156992481203007 + :factor_y: 0.159598997493734 + :color: 4294967295 +- Saw: + :x: 672.0 + :y: 1454.14495530015 + :angle: 33.4853091222945 + :zorder: 100 + :factor_x: 0.156992481203007 + :factor_y: 0.159598997493734 + :color: 4294967295 +- Block: + :x: 1120.0 + :y: 64.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1120.0 + :y: 96.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1120.0 + :y: 128.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1120.0 + :y: 160.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1120.0 + :y: 192.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1152.0 + :y: 192.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1184.0 + :y: 192.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1216.0 + :y: 192.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1440.0 + :y: 192.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1152.0 + :y: 64.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1216.0 + :y: 160.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1184.0 + :y: 128.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1216.0 + :y: 128.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1280.0 + :y: 192.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1280.0 + :y: 160.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1312.0 + :y: 192.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1344.0 + :y: 192.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1376.0 + :y: 192.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1376.0 + :y: 160.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1376.0 + :y: 128.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1376.0 + :y: 96.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1280.0 + :y: 128.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1280.0 + :y: 64.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1280.0 + :y: 96.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1312.0 + :y: 64.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1344.0 + :y: 64.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1376.0 + :y: 64.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1472.0 + :y: 192.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1472.0 + :y: 64.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1504.0 + :y: 64.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1440.0 + :y: 64.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1440.0 + :y: 96.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1440.0 + :y: 128.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1472.0 + :y: 128.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1504.0 + :y: 128.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1504.0 + :y: 192.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1504.0 + :y: 160.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1184.0 + :y: 64.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1216.0 + :y: 64.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1568.0 + :y: 192.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1600.0 + :y: 192.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1632.0 + :y: 192.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1664.0 + :y: 192.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1664.0 + :y: 160.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1664.0 + :y: 64.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1664.0 + :y: 128.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1568.0 + :y: 64.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1568.0 + :y: 96.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1568.0 + :y: 128.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1568.0 + :y: 160.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 1664.0 + :y: 96.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 448.0 + :y: 128.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 +- Block: + :x: 160.0 + :y: 128.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 +- Block: + :x: 64.0 + :y: 320.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 +- Block: + :x: 32.0 + :y: 96.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 +- Block: + :x: 32.0 + :y: 64.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 +- Block: + :x: 96.0 + :y: 224.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 128.0 + :y: 224.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.0717488789237668 + :factor_y: 0.0717488789237668 + :color: 4294967295 +- Block: + :x: 608.0 + :y: 128.0 + :angle: 0 + :zorder: 99 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 +- Block: + :x: 768.0 + :y: 128.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 +- Block: + :x: 864.0 + :y: 128.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 +- Block: + :x: 576.0 + :y: 128.0 + :angle: 0 + :zorder: 93 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 +- Block: + :x: 736.0 + :y: 128.0 + :angle: 0 + :zorder: 92 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 +- Block: + :x: 896.0 + :y: 128.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.071748878923767 + :factor_y: 0.071748878923767 + :color: 4294967295 diff --git a/gfx.svg b/gfx.svg new file mode 100644 index 0000000..46caaff --- /dev/null +++ b/gfx.svg @@ -0,0 +1,1364 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/intro.yml b/intro.yml new file mode 100644 index 0000000..63b69c8 --- /dev/null +++ b/intro.yml @@ -0,0 +1,2 @@ +--- [] + diff --git a/media/ball.bmp b/media/ball.bmp new file mode 100644 index 0000000..471a16a Binary files /dev/null and b/media/ball.bmp differ diff --git a/media/battery.png b/media/battery.png new file mode 100644 index 0000000..83957d1 Binary files /dev/null and b/media/battery.png differ diff --git a/media/beach.bmp b/media/beach.bmp new file mode 100644 index 0000000..b0b0260 Binary files /dev/null and b/media/beach.bmp differ diff --git a/media/beach_block.png b/media/beach_block.png new file mode 100644 index 0000000..8592458 Binary files /dev/null and b/media/beach_block.png differ diff --git a/media/beach_droid.bmp b/media/beach_droid.bmp new file mode 100644 index 0000000..7c40346 Binary files /dev/null and b/media/beach_droid.bmp differ diff --git a/media/beach_droid.gal b/media/beach_droid.gal new file mode 100644 index 0000000..03d8a73 Binary files /dev/null and b/media/beach_droid.gal differ diff --git a/media/black_block.png b/media/black_block.png new file mode 100644 index 0000000..c8853c5 Binary files /dev/null and b/media/black_block.png differ diff --git a/media/bubble.png b/media/bubble.png new file mode 100644 index 0000000..600428e Binary files /dev/null and b/media/bubble.png differ diff --git a/media/circle.png b/media/circle.png new file mode 100644 index 0000000..4eb8ece Binary files /dev/null and b/media/circle.png differ diff --git a/media/cloud.png b/media/cloud.png new file mode 100644 index 0000000..ef366d1 Binary files /dev/null and b/media/cloud.png differ diff --git a/media/cog_wheel.png b/media/cog_wheel.png new file mode 100644 index 0000000..c69d164 Binary files /dev/null and b/media/cog_wheel.png differ diff --git a/media/dirt.png b/media/dirt.png new file mode 100644 index 0000000..b448243 Binary files /dev/null and b/media/dirt.png differ diff --git a/media/drink.bmp b/media/drink.bmp new file mode 100644 index 0000000..de205c8 Binary files /dev/null and b/media/drink.bmp differ diff --git a/media/drink.gal b/media/drink.gal new file mode 100644 index 0000000..1eac23e Binary files /dev/null and b/media/drink.gal differ diff --git a/media/drink_droid.bmp b/media/drink_droid.bmp new file mode 100644 index 0000000..ca3c818 Binary files /dev/null and b/media/drink_droid.bmp differ diff --git a/media/drink_droid.gal b/media/drink_droid.gal new file mode 100644 index 0000000..93cab03 Binary files /dev/null and b/media/drink_droid.gal differ diff --git a/media/droid.gal b/media/droid.gal new file mode 100644 index 0000000..f4a0c82 Binary files /dev/null and b/media/droid.gal differ diff --git a/media/droid_11x15.bmp b/media/droid_11x15.bmp new file mode 100644 index 0000000..9114a9b Binary files /dev/null and b/media/droid_11x15.bmp differ diff --git a/media/fireball.png b/media/fireball.png new file mode 100644 index 0000000..72948f6 Binary files /dev/null and b/media/fireball.png differ diff --git a/media/pause_droid.gal b/media/pause_droid.gal new file mode 100644 index 0000000..5bec3a1 Binary files /dev/null and b/media/pause_droid.gal differ diff --git a/media/saw.png b/media/saw.png new file mode 100644 index 0000000..9b19d98 Binary files /dev/null and b/media/saw.png differ diff --git a/media/star.png b/media/star.png new file mode 100644 index 0000000..8d0a493 Binary files /dev/null and b/media/star.png differ diff --git a/media/talk_bubble.png b/media/talk_bubble.png new file mode 100644 index 0000000..5a623c0 Binary files /dev/null and b/media/talk_bubble.png differ diff --git a/media/tube.png b/media/tube.png new file mode 100644 index 0000000..4a34155 Binary files /dev/null and b/media/tube.png differ diff --git a/outdoor.yml b/outdoor.yml new file mode 100644 index 0000000..d9986fb --- /dev/null +++ b/outdoor.yml @@ -0,0 +1,209 @@ +--- +- Cloud: + :x: 510.488207045311 + :y: 304.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.05610561056105 + :factor_y: 1.37931034482759 + :color: 3506438143 +- Cloud: + :x: 874.473141318021 + :y: 176.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.58415841584158 + :factor_y: 1.68430636167065 + :color: 2969567231 +- Cloud: + :x: 1123.49897643112 + :y: 64.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.58415841584158 + :factor_y: 1.68430636167065 + :color: 2969567231 +- Cloud: + :x: 1427.70118298527 + :y: 256.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.003300330033 + :factor_y: 1.10344827586207 + :color: 3506438143 +- Cloud: + :x: -994.714383187335 + :y: 112.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.003300330033 + :factor_y: 1.10344827586207 + :color: 3506438143 +- Cloud: + :x: 264.98037562447 + :y: 160.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.58415841584158 + :factor_y: 1.68430636167065 + :color: 2969567231 +- Cloud: + :x: 1439.42253863218 + :y: 48.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.003300330033 + :factor_y: 1.10344827586207 + :color: 3506438143 +- Cloud: + :x: 1325.63449779569 + :y: 272.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.58415841584158 + :factor_y: 1.68430636167065 + :color: 2969567231 +- Cloud: + :x: 1276.53433382172 + :y: 112.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.003300330033 + :factor_y: 1.10344827586207 + :color: 3506438143 +- Cloud: + :x: 1756.33210777323 + :y: 208.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.58415841584158 + :factor_y: 1.68430636167065 + :color: 2667577343 +- Cloud: + :x: 3253.69578022453 + :y: 64.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.58415841584158 + :factor_y: 1.68430636167065 + :color: 2969567231 +- Cloud: + :x: 2634.65231360351 + :y: 256.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.844884488448845 + :factor_y: 0.856720154774098 + :color: 3305111551 +- Cloud: + :x: 3454.73597261713 + :y: 192.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.844884488448845 + :factor_y: 0.856720154774098 + :color: 3305111551 +- Cloud: + :x: 1777.14538918184 + :y: 96.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.58415841584158 + :factor_y: 1.68430636167065 + :color: 2969567231 +- Cloud: + :x: 3693.67851595294 + :y: 224.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.844884488448845 + :factor_y: 0.856720154774098 + :color: 3305111551 +- Cloud: + :x: 3179.26322010255 + :y: 96.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.58415841584158 + :factor_y: 1.68430636167065 + :color: 2969567231 +- Cloud: + :x: 3074.74891165806 + :y: 224.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.58415841584158 + :factor_y: 1.68430636167065 + :color: 2969567231 +- Dirt: + :x: 192.0 + :y: 848.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.00502512562814 + :factor_y: 1.02673796791444 + :color: 4294967295 +- Dirt: + :x: 592.0 + :y: 848.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.00502512562814 + :factor_y: 1.02673796791444 + :color: 4294967295 +- Battery: + :x: 832.0 + :y: 384.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.00900900900901 + :factor_y: 1.11304347826087 + :color: 4294967295 +- Battery: + :x: 496.0 + :y: 400.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.00900900900901 + :factor_y: 1.11304347826087 + :color: 4294967295 +- Dirt: + :x: 992.0 + :y: 848.0 + :angle: 0 + :zorder: 100 + :factor_x: 1.00502512562814 + :factor_y: 1.02673796791444 + :color: 4294967295 +- Dirt: + :x: 64.0 + :y: 592.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.36180904522613 + :factor_y: 0.342245989304813 + :color: 4294967295 +- Dirt: + :x: 208.0 + :y: 592.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.36180904522613 + :factor_y: 0.342245989304813 + :color: 4294967295 +- Dirt: + :x: 352.0 + :y: 592.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.36180904522613 + :factor_y: 0.342245989304813 + :color: 4294967295 +- Dirt: + :x: 512.0 + :y: 576.0 + :angle: 0 + :zorder: 100 + :factor_x: 0.36180904522613 + :factor_y: 0.342245989304813 + :color: 4294967295 diff --git a/src/collectables.rb b/src/collectables.rb new file mode 100644 index 0000000..43d6fa6 --- /dev/null +++ b/src/collectables.rb @@ -0,0 +1,45 @@ +class Collectable < GameObject + traits :timer, :effect, :velocity + trait :bounding_box, :debug => false + + attr_reader :title, :score + + def die + puff_effect + end + + def puff_effect + self.collidable = false # Stops further collisiondetection + self.rotation_rate = 5 + self.scale_rate = 0.02 + self.fade_rate = -5 + self.velocity_y = -2 + after(1000) { destroy } + end +end + +# +# BATTERY +# +class Battery < Collectable + def setup + @image = Image["battery.png"] + @title = "sparkling fresh battery acid" + @score = 1000 + cache_bounding_box + end +end + +class Drink < Collectable + def setup + @animation = Animation.new(:file => "drink.bmp", :size => [5,9]) + @image = @animation.first + @title = "frozen margarita" + @score = 100 + cache_bounding_box + end + + def update + @image = @animation.next + end +end \ No newline at end of file diff --git a/src/decoration.rb b/src/decoration.rb new file mode 100644 index 0000000..6180251 --- /dev/null +++ b/src/decoration.rb @@ -0,0 +1,20 @@ +class PuffText < Text + traits :timer, :effect, :velocity + + def initialize(text, options = {}) + super(text, :height => 40, :rotation_center => :center, :x => options[:from].x, :y => 400) + puff_effect + end + + #def setup + # self.height = 40 + # puff_effect + #end + + def puff_effect + self.scale_rate = 0.005 + self.fade_rate = -1 + self.velocity_y = -1 + after(2000) { destroy } + end +end diff --git a/src/effects.rb b/src/effects.rb new file mode 100644 index 0000000..c72a000 --- /dev/null +++ b/src/effects.rb @@ -0,0 +1,30 @@ +class Effect < GameObject + traits :effect, :velocity + + def initialize(options = {}) + super + @amount = (options[:amount] || 5).to_i - 1 + @child = options[:child] + self.size = options[:size] || [50, 50] + + @amount.times { self.class.create(options.merge(:child => true)) } unless @child + end + +end + + +class SmokePuff < Effect + def setup + @image = Image["circle.png"] + self.scale_rate = rand/100 + self.alpha = 70 + self.fade_rate = -4 + self.velocity = rand-0.5, rand-0.5 + end + + def update + destroy if self.alpha == 0 + end +end + + diff --git a/src/enemy.rb b/src/enemy.rb new file mode 100644 index 0000000..a3185c8 --- /dev/null +++ b/src/enemy.rb @@ -0,0 +1,58 @@ +# +# A FIREBALL +# +class FireBall < GameObject + traits :velocity, :collision_detection + trait :bounding_circle, :scale => 0.7 + + def setup + @animation = Animation.new(:file => "fireball.png", :size => [32,32], :delay => 20) + @image = @animation.first + self.mode = :additive + self.factor = 3 + self.velocity_y = 1 + self.zorder = 200 + self.rotation_center = :center + end + + def update + @image = @animation.next + @angle += 2 + end +end + +# +# COG WHEEL +# +class CogWheel < GameObject + traits :bounding_circle, :collision_detection, :timer + attr_accessor :angle_velocity + + def setup + @image = Image["cog_wheel.png"] + @angle_velocity = 1 / self.factor_x + end + + def update + self.angle += @angle_velocity + end +end + +# +# SAW +# +class Saw < GameObject + traits :bounding_circle, :collision_detection, :timer, :velocity + attr_accessor :angle_velocity + + def setup + @image = Image["saw.png"] + @angle_velocity = 3.0 / self.factor_x.to_f + self.velocity_y = 1.0 / self.factor_x.to_f + end + + def update + self.angle += @angle_velocity + end +end + diff --git a/src/intro.rb b/src/intro.rb new file mode 100644 index 0000000..8f2a9ab --- /dev/null +++ b/src/intro.rb @@ -0,0 +1,44 @@ +class Intro < GameState + trait :timer + + def setup + pop_game_state + + self.input = { [:space, :esc] => :exit } + @strings = [ + "At last... some peace and quiet after 10 years without a vacation.", # 0 + "Just kick back, relax and work on my tan. I've really deserved this.", # 4 + "* BOOM BOOM BOOM BOOM *", # 8 + "Hey, keep that music down will ya?", # 12 + "* CAW CAAA-CAAA CAAAW * ", # 16 + "...God loved the birds and invented trees. Robot loved the birds and built cages.", # 20 + "Mmm, this drink is really tasty", # 24 + "", # 28 + "..." # 32 + ] + + GameObject.create(:image => "beach.bmp", :x => 0, :y => $window.height, :rotation_center => :bottom_left, :scale => 5) + + anim = Animation.new(:file => "beach_droid.bmp", :size => [11,18]) + @droid = GameObject.create(:x => 402, :y => $window.height-200, :animation => anim, :image => anim.first, :scale => 15) + @drink = Drink.create(:x => 400, :y => $window.height-200, :scale => 15) + + @story = Text.create(@strings.shift, :x => 100, :y => 30, :size => 40, :max_width => 400, :color => Color::WHITE) + every(4000) { @story.text = @strings.shift } + after(7 * 4000) { Ball.create(:x => $window.width, :y => 300, :velocity_x => -6, :scale => 5)} + end + + def update + fill_gradient(:from => Color::CYAN, :to => Color::BLUE) + + if Ball.all.first && Ball.all.first.x < @drink.x # Ball hits the drink, robot gets crazy up in this mtfckr. + if @droid.angle == 0 + @droid.image = @droid.options[:animation].next + @droid.angle = -90 + after(4000) { @droid.image = @droid.options[:animation].next; } + end + end + + super + end +end diff --git a/src/items.rb b/src/items.rb new file mode 100644 index 0000000..1823546 --- /dev/null +++ b/src/items.rb @@ -0,0 +1,94 @@ + +# +# TUBE +# +class Tube < GameObject + traits :bounding_box, :timer + def setup + @image = Image["tube.png"] + every(3000) { fire } + cache_bounding_box + end + + def fire + return if game_state.viewport.outside?(self.bb.centerx, self.bb.bottom) + FireBall.create(:x => self.bb.centerx - rand(10), :y => self.bb.bottom - rand(10)) + end +end + + +# +# CLOUD +# +class Cloud < GameObject + traits :bounding_box, :velocity + def setup + @image = Image["cloud.png"] + cache_bounding_box + self.velocity_x = rand - 0.5 + end +end + + +class MovingObject < GameObject + traits :velocity, :bounding_box, :collision_detection + + def initialize(options = {}) + super + + @image = Image["#{self.filename}.bmp"] + self.acceleration_y = 0.5 + pause! + end + + def self.solid + all.select { |block| block.alpha == 255 } + end + + def self.inside_viewport + all.select { |block| block.game_state.viewport.inside?(block) } + end + + def title + "-new title needed-" + end +end + + +class Ball < MovingObject + + def setup + self.velocity_x = -4 + end + + def bounce + self.velocity_y = -self.velocity_y + end + + def title + "an annoying beachball" + end +end + +# +# BLOCK, our basic level building block +# +class Block < GameObject + traits :bounding_box, :collision_detection + + def setup + @image = Image["#{self.filename}.png"] + end + + def self.solid + all.select { |block| block.alpha == 255 } + end + + def self.inside_viewport + all.select { |block| block.game_state.viewport.inside?(block) } + end +end + +class BeachBlock < Block; end +class BlackBlock < Block; end +class Dirt < Block; end \ No newline at end of file diff --git a/src/level.rb b/src/level.rb new file mode 100644 index 0000000..a52cb81 --- /dev/null +++ b/src/level.rb @@ -0,0 +1,132 @@ +class Level < GameState + traits :viewport, :timer + + def initialize(options = {}) + super + + self.input = { :escape => :exit, :e => :edit } + self.viewport.game_area = [0, 0, 6000, 1000] + load_game_objects(:debug => DEBUG) + + @droid = Droid.create(:x => 100, :y => 500) + + self.viewport.lag = 0.95 + + @saved_x, @saved_y = [100, 300] + every(5000) { save_player_position } + end + + def edit + push_game_state GameStates::Edit.new(:grid => [16,16], :except => [Droid], :debug => true) + end + + def restore_player_position + @droid.x, @droid.y = @saved_x, @saved_y + end + + def save_player_position + @saved_x, @saved_y = @droid.x, @droid.y if @droid.collidable && !@jumping + end + + def update + off = (@droid.last_direction == :right) ? 200 : -200 + self.viewport.x_target = @droid.x - $window.width/2 + off + self.viewport.y_target = @droid.y - $window.height/2 - 200 + + @droid.each_collision(Battery) do |player, collectable| + player.level_up + collectable.die + PuffText.create("#{collectable.title} +#{collectable.score}", :from => collectable) + end + + @droid.each_collision(Drink) do |player, collectable| + collectable.die + PuffText.create("#{collectable.title} +#{collectable.score}", :from => collectable) + end + + $window.caption = "#{@droid.x.to_i}/#{@droid.y.to_i} - viewport x/y: #{self.viewport.x.to_i}/#{self.viewport.y.to_i} - FPS: #{$window.fps}" + super + end + + def first_terrain_collision(object) + object.each_collision(@terrain_class.all) do |me, block| + return block + end + nil + end +end + + +# +# AT THE BEACH +# +class Beach < Level + def setup + @terrain_class = BeachBlock + end + + def draw + fill_gradient(:from => Color::BLUE, :to => Color::CYAN) + super + end + + def update + super + + Ball.inside_viewport.each do |ball| + ball.unpause! + if block = first_terrain_collision(ball) + ball.velocity_y = -ball.velocity_y + ball.y += ball.velocity_y + end + end + + end + +end + + +# +# THE GREAT OUTDOORS +# +class Outdoor < Level + def setup + @terrain_class = Dirt + end +end + +# +# THE FACTORY +# +class Factory < Level + def setup + @terrain_class = BlackBlock + + # Reverse the cog wheels in relation to eachother + CogWheel.each_collision(CogWheel) do |cog_wheel, cog_wheel_2| + cog_wheel_2.angle_velocity = -cog_wheel.angle_velocity + end + end + + def update + super + + FireBall.each_collision(@terrain_blocks) do |fire_ball, block| + fire_ball.destroy + end + + # Makes all saw pendle up and down between Y-coordinate 1000 - 1500 + # TODO: Not a very flexible sollution, how about setting out circle,rects,lines in editor.. + # .. when then can be used for this kind of stuff? + + Saw.all.select {|saw| saw.y < 1300 || saw.y > 1550 }.each do |saw| + saw.velocity_y = -saw.velocity_y + saw.y += saw.velocity_y * saw.factor_y + end + + @droid.each_collision(FireBall, Saw) do |player, evil_object| + player.die + end + + end +end diff --git a/src/player.rb b/src/player.rb new file mode 100644 index 0000000..4635d0b --- /dev/null +++ b/src/player.rb @@ -0,0 +1,104 @@ +# +# DROID +# +class Droid < Chingu::GameObject + trait :bounding_box, :scale => 0.8, :debug => false + traits :timer, :collision_detection , :timer, :velocity + attr_reader :last_direction + + def setup + self.input = { [:holding_left, :holding_a] => :holding_left, + [:holding_right, :holding_d] => :holding_right, + [:down, :s] => :down, + [:up, :w] => :jump, + } + + # Load the full animation from tile-file media/droid.bmp + @animations = Chingu::Animation.new(:file => "droid_11x15.bmp") + @animations.frame_names = { :scan => 0..5, :up => 6..7, :down => 8..9, :left => 10..11, :right => 12..13 } + + @last_direction = :right + @animation = @animations[:scan] + @image = @animation.first + @speed = 4 + @jumps = 0 + + self.factor = 4 + self.zorder = 1000 + self.acceleration_y = 0.5 + self.max_velocity = 20 + self.rotation_center = :bottom_center + end + + def level_up + new_factor = self.factor + 3 + between(1,500) { self.factor += 0.1 }.then { self.factor = new_factor } + end + + def jumping + @jumps > 0 + end + + def die + self.collidable = false + @color = Color::RED + between(1,600) { self.velocity_y = 0; self.scale += 0.2; self.alpha -= 5; }.then { resurrect } + end + + def resurrect + self.alpha = 255 + self.factor = 3 + self.collidable = true + @color = Color::WHITE + game_state.restore_player_position + end + + def holding_left + move(-@speed, 0) + @animation = @animations[:left] + end + + def holding_right + move(@speed, 0) + @animation = @animations[:right] + end + + def down + self.velocity_y = 20 if @jumps > 0 + self.velocity_y = 30 if @jumps > 1 + @animation = @animations[:down] + end + + def jump + return if @jumps == 2 + SmokePuff.create(:x => self.x, :size => [self.factor*10, self.factor*10], :y => self.y, :amount => 2) if @jumps == 1 + + @jumps += 1 + self.velocity_y = -13 + @animation = @animations[:up] + end + + def move(x,y) + @last_direction = x > 0 ? :right : :left + @x += x + @x = previous_x if game_state.first_terrain_collision(self) + end + + def update + @image = @animation.next + + if block = game_state.first_terrain_collision(self) + if self.velocity_y < 0 + self.y = block.bb.bottom + self.height + else + SmokePuff.create(:x => self.x, :y => self.y, :size => [self.factor*10, self.factor*10],:amount => self.velocity_y/5) if self.velocity_y > 15 + @jumps = 0 + self.y = block.bb.top-1 + end + self.velocity_y = 0 + end + + # puts "#{@x} != #{@previous_x} || #{@y} != #{@previous_y}" + @animation = @animations[:scan] unless @x != @previous_x + end +end diff --git a/start_game.rb b/start_game.rb new file mode 100644 index 0000000..330d27d --- /dev/null +++ b/start_game.rb @@ -0,0 +1,30 @@ +#!/usr/bin/env ruby +require 'rubygems' +require File.join(File.dirname($0), "../", "chingu", "lib", "chingu") +#require 'chingu' +include Gosu +include Chingu + +require_rel 'src/*' +DEBUG = false + +class Game < Chingu::Window + def initialize + super(1000,800) + p Gosu::VERSION + end + + def setup + retrofy + + self.factor = 1 + + #push_game_state(Outdoor) + + push_game_state(Beach.new) + #push_game_state(Intro) + #push_game_state(Factory) + end +end + +Game.new.show \ No newline at end of file