{"pack_index":1,"count":202,"packs":[{"pack":1,"id":"c4c:beh:angry","type":"behaviour","version":"1.0.0","name":"Angry shake","description":"Hard shaking with fast claw snaps.","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[{"id":"tween:studio/behaviors.py","version":"2026-06-08","note":"pose(\"angry\")"}],"preview":{"moves":["angry"],"seconds":4},"content_hash":"sha256:eb0b1b38e4b89d054b464c9d8380a569459c2e692d13b37249564acb3d8e2f6c","content":{"v":1,"kind":"behaviour","scripts":[{"hat":{"on":"start"},"body":[{"op":"wave","ch":"dx","shape":"sin","w":34,"amp":11},{"op":"wave","ch":"dy","shape":"sin","w":41,"amp":8},{"op":"wave","ch":"sx","shape":"sin","w":30,"amp":0.04,"offset":1.05},{"op":"wave","ch":"sy","shape":"sin","w":30,"amp":0.03,"offset":0.97},{"op":"wave","ch":"rot","shape":"sin","w":27,"amp":4},{"op":"wave","ch":"part:claw:-1","shape":"sin","w":15,"amp":11},{"op":"wave","ch":"part:claw:1","shape":"sin","w":15,"amp":-11,"phase":0.3}]}],"name":"angry"},"file":"behaviours/angry.json"},{"pack":1,"id":"c4c:beh:annoyed","type":"behaviour","version":"1.0.0","name":"Annoyed","description":"Huffy little bounces and twitchy claws.","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[{"id":"tween:studio/behaviors.py","version":"2026-06-08","note":"pose(\"annoyed\")"}],"preview":{"moves":["annoyed"],"seconds":4},"content_hash":"sha256:924ff5d4c651cebc33f05da65ffc8e58415adf325e322098f0ebdf797af763cf","content":{"v":1,"kind":"behaviour","scripts":[{"hat":{"on":"start"},"body":[{"op":"wave","ch":"dy","shape":"abssin","w":2.4,"amp":-8},{"op":"wave","ch":"dx","shape":"sin","w":5,"amp":3},{"op":"wave","ch":"rot","shape":"sin","w":1.6,"amp":3.5},{"op":"wave","ch":"part:claw:-1","shape":"sin","w":4,"amp":6,"offset":5},{"op":"wave","ch":"part:claw:1","shape":"sin","w":4,"amp":-6,"offset":-5,"phase":0.5}]}],"name":"annoyed"},"file":"behaviours/annoyed.json"},{"pack":1,"id":"c4c:beh:ascend","type":"behaviour","version":"1.0.0","name":"Rise up","description":"Rises with arms lifting, then bobs proudly.","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[{"id":"tween:studio/behaviors.py","version":"2026-06-08","note":"pose(\"ascend\")"}],"preview":{"moves":["ascend"],"seconds":4},"content_hash":"sha256:1fc1b26db7097aa6ecb586101ca7bc8a577ad3025fbf340a1ed833b7404cb98a","content":{"v":1,"kind":"behaviour","scripts":[{"hat":{"on":"start"},"body":[{"op":"together","branches":[[{"op":"ramp","to":{"dy":-40},"over":0.8,"ease":"out"}],[{"op":"ramp","to":{"part:arm:-1":16,"part:arm:1":-16},"over":0.8,"ease":"linear"}]]},{"op":"set","to":{"dy":0,"sx":1.03,"sy":1.03}},{"op":"wave","ch":"dy","shape":"abssin","w":2,"amp":-6},{"op":"wave","ch":"dy","shape":"dampsin","w":6,"amp":-4,"decay":2,"clip":"pos"}]}],"name":"ascend"},"file":"behaviours/ascend.json"},{"pack":1,"id":"c4c:beh:bird_idle","type":"behaviour","version":"1.0.0","name":"Peck","description":"Small pecking bobs and shuffles.","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[{"id":"tween:studio/behaviors.py","version":"2026-06-08","note":"pose(\"bird_idle\")"}],"preview":{"moves":["bird_idle"],"seconds":4},"content_hash":"sha256:3a3191760ef5b20363912b160cc63c102b855d0633198d2e8ed0803ac92e6264","content":{"v":1,"kind":"behaviour","scripts":[{"hat":{"on":"start"},"body":[{"op":"wave","ch":"dy","shape":"abssin","w":2.2,"amp":-5},{"op":"wave","ch":"dx","shape":"sin","w":2.2,"amp":3}]}],"name":"bird_idle"},"file":"behaviours/bird_idle.json"},{"pack":1,"id":"c4c:beh:block","type":"behaviour","version":"1.0.0","name":"Block","description":"Both arms up in front, and it stays up. ⚑ Block is when the arms are up.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["block"],"seconds":3},"content_hash":"sha256:c3d67335c900b47c9b9f937f8db039f454c2310e2e5a50c511f2bdcc10f0e7cb","content":{"v":1,"kind":"behaviour","name":"block","scripts":[{"body":[{"op":"ramp","to":{"part:arm:1":104,"part:forearm:1":66,"part:arm:-1":86,"part:forearm:-1":74,"rot":6,"dx":-6,"dy":5,"part:leg:1":6,"part:shin:1":8,"part:leg:-1":-16,"part:shin:-1":10,"part:head":-5},"over":0.2,"ease":"out"},{"op":"setVar","var":"flag_block","value":"=tau"}]}]},"file":"behaviours/moves7/block.json"},{"pack":1,"id":"c4c:beh:bop","type":"behaviour","version":"1.0.0","name":"Bop","description":"A quick soft bop, just in front. ⚑ Hit! is where it lands.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["bop"],"seconds":3},"content_hash":"sha256:fc0b96b86047510a810520b71bc70a235467c5cae453b7156e7979fe1ae8acd3","content":{"v":1,"kind":"behaviour","name":"bop","scripts":[{"body":[{"op":"ramp","to":{"part:arm:1":92,"part:forearm:1":-2,"part:arm:-1":10,"part:forearm:-1":30,"rot":-7,"dx":16,"dy":6,"part:leg:1":22,"part:shin:1":14,"part:leg:-1":-16,"part:shin:-1":6},"over":0.26,"ease":"out"},{"op":"setVar","var":"flag_hit","value":"=tau"},{"op":"wait","s":0.26},{"op":"ramp","to":{"part:arm:1":0,"part:forearm:1":0,"part:arm:-1":0,"part:forearm:-1":0,"part:leg:1":0,"part:shin:1":0,"part:leg:-1":0,"part:shin:-1":0,"rot":0,"dx":0,"dy":0,"part:head":0},"over":0.28}]}]},"file":"behaviours/moves7/bop.json"},{"pack":1,"id":"c4c:beh:bounce","type":"behaviour","version":"1.0.0","name":"Bounce","description":"Big springy hops with arms flying up at the top.","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[{"id":"tween:studio/behaviors.py","version":"2026-06-08","note":"pose(\"bounce\")"}],"preview":{"moves":["bounce"],"seconds":4},"content_hash":"sha256:8ee96322f2537296aa00195f25ddb18a114ed26490af62871ee40c95a69c1233","content":{"v":1,"kind":"behaviour","scripts":[{"hat":{"on":"start"},"body":[{"op":"hop","amp":95,"hz":1.7},{"op":"wave","ch":"rot","shape":"sin","w":"=0.9*pi","amp":3},{"op":"drive","ch":"part:arm:-1","value":"=-(8 + hopair(mod(tau*1.7, 1))*20)"},{"op":"drive","ch":"part:arm:1","value":"=8 + hopair(mod(tau*1.7, 1))*20"}]}],"name":"bounce"},"file":"behaviours/bounce.json"},{"pack":1,"id":"c4c:beh:bow","type":"behaviour","version":"1.2.0","name":"Bow","description":"A polite bow: turns to the side, the spine bends forward (easing in and out) and back up while the head, hair and ears lag behind it (follow-through), then turns back to the front. A dog or a cat bows as in play (chest down, rear up, its feet planted); the bird, which has no side view, bows toward you. Written with the skeleton's friendly blocks (spec v0.4 §8).","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[],"preview":{"moves":["bow"],"seconds":3},"content_hash":"sha256:e25982b428900f1a00099b97dd76c885a42c92ff5a1e8d261e1907b9ac45d6ad","content":{"v":1,"kind":"behaviour","name":"bow","scripts":[{"body":[{"op":"turnView","to":"side"},{"op":"letFollow","part":"head","after":"body","amount":0.6},{"op":"letFollow","part":"hair","after":"body","amount":1},{"op":"letFollow","part":"ears","after":"body","amount":1},{"op":"wait","s":0.3},{"op":"bow","deg":40,"over":0.6},{"op":"wait","s":0.8},{"op":"bow","deg":0,"over":0.5},{"op":"turnView","to":"front"}]}]},"file":"skeleton/bow.json"},{"pack":1,"id":"c4c:beh:cameo","type":"behaviour","version":"1.0.0","name":"Walk on and off","description":"Waddles on from a side, announces, waddles off the same way.","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[{"id":"tween:studio/behaviors.py","version":"2026-06-08","note":"pose(\"cameo\")"}],"preview":{"moves":["cameo"],"seconds":6},"content_hash":"sha256:8b6484029cad7ddf39877f311dbc5e10f30fc3406231ea5c09a7a96c2d9e6017","content":{"v":1,"kind":"behaviour","params":{"side":-1,"t_in":1.5,"t_out":1.5},"scripts":[{"hat":{"on":"start"},"body":[{"op":"set","to":{"dx":"=860*side"}},{"op":"together","branches":[[{"op":"ramp","to":{"dx":0},"over":"=max(t_in, 0.1)","ease":"smooth"}],[{"op":"for","s":"=t_in","body":[{"op":"wave","ch":"part:leg:-1","shape":"sin","every":0.42,"amp":10,"sync":"start"},{"op":"wave","ch":"part:leg:1","shape":"sin","every":0.42,"amp":-10,"sync":"start"},{"op":"wave","ch":"dy","shape":"abssin","every":0.84,"amp":-5,"sync":"start"},{"op":"wave","ch":"rot","shape":"sin","every":0.42,"amp":3,"sync":"start"}]}]]},{"op":"set","to":{"rot":1.5}},{"op":"for","until":"=dur - t_out","body":[{"op":"wave","ch":"dy","shape":"abssin","w":1.6,"amp":-4,"sync":"start"}]},{"op":"set","to":{"rot":0}},{"op":"together","branches":[[{"op":"ramp","to":{"dx":"=860*side"},"over":"=max(t_out, 0.1)","ease":"smooth"}],[{"op":"wave","ch":"part:leg:-1","shape":"sin","every":0.42,"amp":10,"sync":"start"},{"op":"wave","ch":"part:leg:1","shape":"sin","every":0.42,"amp":-10,"sync":"start"},{"op":"wave","ch":"dy","shape":"abssin","every":0.84,"amp":-5,"sync":"start"},{"op":"wave","ch":"rot","shape":"sin","every":0.42,"amp":3,"sync":"start"}]]}]}],"name":"cameo"},"file":"behaviours/cameo.json"},{"pack":1,"id":"c4c:beh:catch","type":"behaviour","version":"1.0.0","name":"Catch","description":"Holds both hands out, then catches. ⚑ Catch is where the ball lands in the hands.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["catch"],"seconds":3},"content_hash":"sha256:0779e26702319f6eb466932f06244e0c8b052dda7f0bdc6ef2fb0cc92e865041","content":{"v":1,"kind":"behaviour","name":"catch","scripts":[{"body":[{"op":"ramp","to":{"part:arm:1":80,"part:forearm:1":30,"part:arm:-1":80,"part:forearm:-1":30,"rot":-2,"dy":4,"part:leg:1":8,"part:shin:1":10,"part:leg:-1":-8,"part:shin:-1":10},"over":0.3,"ease":"out"},{"op":"wait","s":0.2},{"op":"setVar","var":"flag_catch","value":"=tau"},{"op":"ramp","to":{"part:arm:1":70,"part:forearm:1":56,"part:arm:-1":70,"part:forearm:-1":56,"dy":8,"rot":3},"over":0.12,"ease":"out"},{"op":"wait","s":0.3},{"op":"ramp","to":{"part:arm:1":0,"part:forearm:1":0,"part:arm:-1":0,"part:forearm:-1":0,"rot":0,"dy":0,"part:leg:1":0,"part:shin:1":0,"part:leg:-1":0,"part:shin:-1":0},"over":0.3}]}]},"file":"behaviours/moves7/catch.json"},{"pack":1,"id":"c4c:beh:clap","type":"behaviour","version":"1.0.0","name":"Clap","description":"Claps the hands together, one clap a beat.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["clap"],"seconds":3},"content_hash":"sha256:3ee7634b0b8ede52e833e566c6d357797ffa2c3a32db3a83ff7233f5a5335787","content":{"v":1,"kind":"behaviour","name":"clap","scripts":[{"body":[{"op":"ramp","to":{"part:arm:1":30,"part:forearm:1":60,"part:arm:-1":-30,"part:forearm:-1":-60},"over":0.2,"ease":"out"},{"op":"forever","body":[{"op":"reach","part":"hands","at":"chest","dy":0.05,"over":0.22},{"op":"release","part":"hands","over":0.28}]}]}]},"file":"behaviours/moves7/clap.json"},{"pack":1,"id":"c4c:beh:cower","type":"behaviour","version":"1.0.0","name":"Cower","description":"Shrinks down trembling with arms up shielding.","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[{"id":"tween:studio/behaviors.py","version":"2026-06-08","note":"pose(\"cower\")"}],"preview":{"moves":["cower"],"seconds":4},"content_hash":"sha256:75b65c50b07becbf6cbfcfc3723cc7f0b27517ae9f0d525fd21de1abc0763313","content":{"v":1,"kind":"behaviour","scripts":[{"hat":{"on":"start"},"body":[{"op":"wave","ch":"dx","shape":"sin","w":22,"amp":5},{"op":"wave","ch":"dy","shape":"abssin","w":3,"amp":-6},{"op":"set","to":{"sy":0.96}},{"op":"wave","ch":"rot","shape":"sin","w":22,"amp":2},{"op":"wave","ch":"part:arm:-1","shape":"sin","w":22,"amp":4,"offset":-46},{"op":"wave","ch":"part:arm:1","shape":"sin","w":22,"amp":-4,"offset":46}]}],"name":"cower"},"file":"behaviours/cower.json"},{"pack":1,"id":"c4c:beh:crawl_in","type":"behaviour","version":"1.0.0","name":"Crawl in","description":"Hunkers down into something, knees folding, then rests.","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[{"id":"tween:studio/behaviors.py","version":"2026-06-08","note":"pose(\"crawl_in\")"}],"preview":{"moves":["crawl_in"],"seconds":4},"content_hash":"sha256:f8eb84a8efede41dd7c84c1224deb2a40d4c7fb62e0432f8b916b9c29658a914","content":{"v":1,"kind":"behaviour","params":{"t_in":"=min(dur*0.6, 2.0)"},"scripts":[{"hat":{"on":"start"},"body":[{"op":"ramp","to":{"dy":78,"sy":0.94,"part:shin:-1":32,"part:shin:1":32,"part:leg:-1":-8,"part:leg:1":8},"over":"=max(t_in, 0.1)","ease":"smooth"},{"op":"wave","ch":"dy","shape":"abssin","w":1.5,"amp":-3,"sync":"start"}]}],"name":"crawl_in"},"file":"behaviours/crawl_in.json"},{"pack":1,"id":"c4c:beh:cry","type":"behaviour","version":"1.0.0","name":"Cry","description":"Cries into the hands, with big sobs.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cry"],"seconds":3},"content_hash":"sha256:966dc433fcb673eeb1ee09386558a44f20ebc78176fea802847c2117db233923","content":{"v":1,"kind":"behaviour","name":"cry","scripts":[{"body":[{"op":"ramp","to":{"part:head":10},"over":0.3,"ease":"out"},{"op":"reach","part":"hands","at":"mouth","dy":0.09,"over":0.3},{"op":"forever","body":[{"op":"ramp","to":{"dy":3,"lift:head":-3,"sy":0.97},"over":0.35,"ease":"in"},{"op":"ramp","to":{"dy":0,"lift:head":0,"sy":1},"over":0.45,"ease":"out"}]}]}]},"file":"behaviours/moves7/cry.json"},{"pack":1,"id":"c4c:beh:cycle_climb","type":"behaviour","version":"1.0.0","name":"Climb","description":"Climbs hand over hand, the arms reaching up in turn and the legs stepping up: the climb of the game cycles. It loops every second.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_climb"],"seconds":2},"content_hash":"sha256:501f801f4fe20ba4cb4788c08c15392b199ecf4972976336aad564af57fc7d83","content":{"v":1,"kind":"behaviour","name":"cycle_climb","params":{"h":540,"leg":0.24},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"side"},{"op":"set","to":{"part:arm:-1":130,"part:arm:1":130,"part:forearm:-1":40,"part:forearm:1":40,"part:leg:-1":38,"part:leg:1":38,"part:shin:-1":70,"part:shin:1":70,"part:foot:-1":32,"part:foot:1":32,"part:torso":-3,"part:head":9}},{"op":"wave","ch":"part:arm:-1","shape":"sin","every":1,"amp":24},{"op":"wave","ch":"part:arm:1","shape":"sin","every":1,"amp":24,"phase":3.141592653589793},{"op":"wave","ch":"part:forearm:-1","shape":"sin","every":1,"amp":26,"phase":1.5707963267948966},{"op":"wave","ch":"part:forearm:1","shape":"sin","every":1,"amp":26,"phase":4.71238898038469},{"op":"wave","ch":"part:leg:-1","shape":"sin","every":1,"amp":22,"phase":3.141592653589793},{"op":"wave","ch":"part:leg:1","shape":"sin","every":1,"amp":22},{"op":"wave","ch":"part:shin:-1","shape":"sin","every":1,"amp":22,"phase":3.141592653589793},{"op":"wave","ch":"part:shin:1","shape":"sin","every":1,"amp":22},{"op":"wave","ch":"dy","shape":"sin","every":0.5,"amp":-3}]}]},"file":"behaviours/cycles/cycle_climb.json"},{"pack":1,"id":"c4c:beh:cycle_climb_bird","type":"behaviour","version":"1.0.0","name":"Climb (bird)","description":"A bird climbs, beating its wings hard and gripping with its feet in turn, its body tipped up: the climb of the game cycles for birds. It loops every 0.8 seconds.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_climb_bird"],"seconds":2.4000000000000004},"content_hash":"sha256:00e3db44ae98a79259cae4d90a987d02b131bd05e8cd72e07e25d066d76915fd","content":{"v":1,"kind":"behaviour","name":"cycle_climb_bird","params":{"h":540,"leg":0.05},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"side"},{"op":"set","to":{"part:arm:-1":-110,"part:arm:1":110,"part:torso":10,"part:head":10,"part:leg:-1":18,"part:leg:1":18,"part:foot:-1":-18,"part:foot:1":-18,"dy":"=-0.04*h"}},{"op":"wave","ch":"part:arm:-1","shape":"sin","every":0.4,"amp":-36},{"op":"wave","ch":"part:arm:1","shape":"sin","every":0.4,"amp":36},{"op":"wave","ch":"part:leg:-1","shape":"sin","every":0.8,"amp":18},{"op":"wave","ch":"part:leg:1","shape":"sin","every":0.8,"amp":18,"phase":3.141592653589793},{"op":"wave","ch":"part:tail","shape":"sin","every":0.4,"amp":8}]}]},"file":"behaviours/cycles/cycle_climb_bird.json"},{"pack":1,"id":"c4c:beh:cycle_climb_fours","type":"behaviour","version":"1.0.0","name":"Climb (four legs)","description":"An animal on four legs climbs, reaching up with its front legs in turn and pushing with its back legs, its body tipped up: the climb of the game cycles for four legs. It loops every 0.8 seconds.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_climb_fours"],"seconds":2.4000000000000004},"content_hash":"sha256:fd323e8a92069ce4e89d025a4722f21be90859bac4ec09256c5d35c96bfa361c","content":{"v":1,"kind":"behaviour","name":"cycle_climb_fours","params":{"h":540,"leg":0.33},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"side"},{"op":"set","to":{"part:torso":12,"part:leg#0":10,"part:shin#0":-10,"part:foot#0":0,"part:leg#1":10,"part:shin#1":-10,"part:foot#1":0,"part:leg#2":50,"part:shin#2":30,"part:foot#2":0,"part:leg#3":50,"part:shin#3":30,"part:foot#3":0,"part:head":6}},{"op":"wave","ch":"part:leg#2","shape":"sin","every":0.8,"amp":26},{"op":"wave","ch":"part:leg#3","shape":"sin","every":0.8,"amp":26,"phase":3.141592653589793},{"op":"wave","ch":"part:shin#2","shape":"sin","every":0.8,"amp":20,"phase":1.5707963267948966},{"op":"wave","ch":"part:shin#3","shape":"sin","every":0.8,"amp":20,"phase":4.71238898038469},{"op":"wave","ch":"part:leg#0","shape":"sin","every":0.8,"amp":10,"phase":3.141592653589793},{"op":"wave","ch":"part:leg#1","shape":"sin","every":0.8,"amp":10},{"op":"wave","ch":"part:tail","shape":"sin","every":0.8,"amp":8}]}]},"file":"behaviours/cycles/cycle_climb_fours.json"},{"pack":1,"id":"c4c:beh:cycle_climb_many","type":"behaviour","version":"1.0.0","name":"Climb (many legs)","description":"A crab climbs, reaching up with its claws in turn and pulling its legs up in alternating sets: the climb of the game cycles for many legs. It loops every 0.8 seconds.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_climb_many"],"seconds":2.4000000000000004},"content_hash":"sha256:62e1077dfb13b13078e0cd47f37d3bfddfb4cbe82911d26ffba2b5db227653a2","content":{"v":1,"kind":"behaviour","name":"cycle_climb_many","params":{"h":540,"leg":0.1},"scripts":[{"hat":{"on":"start"},"body":[{"op":"set","to":{"part:arm:-1":-20,"part:arm:1":20,"lift:arm:-1":"=0.07*h","lift:arm:1":"=0.07*h"}},{"op":"wave","ch":"part:arm:-1","shape":"sin","every":0.8,"amp":-26},{"op":"wave","ch":"part:arm:1","shape":"sin","every":0.8,"amp":26,"phase":3.141592653589793},{"op":"gait","every":0.8,"stride":12,"give":4,"bend":20,"armSwing":0,"bob":null,"roll":0},{"op":"drive","ch":"lift:leg:-1","value":"=0.02*h*max(0, -sin(2*pi*(local/(0.8) + 0)))"},{"op":"drive","ch":"lift:leg:1","value":"=0.02*h*max(0, -sin(2*pi*(local/(0.8) + 0.5)))"},{"op":"set","to":{"dy":"=-0.016*h"}},{"op":"wave","ch":"dy","shape":"sin","every":0.4,"amp":"=-0.006*h"}]}]},"file":"behaviours/cycles/cycle_climb_many.json"},{"pack":1,"id":"c4c:beh:cycle_fall","type":"behaviour","version":"1.0.0","name":"Fall","description":"Falls with the arms up and out and the legs reaching down, kicking: the fall of the game cycles. It loops every 0.8 seconds.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_fall"],"seconds":2.4000000000000004},"content_hash":"sha256:d3d062e898555fb3860ff9debea626ff192ae820e01bcf2581e2df49a2a7c1d2","content":{"v":1,"kind":"behaviour","name":"cycle_fall","params":{"h":540,"leg":0.24},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"side"},{"op":"mood","mood":"scared"},{"op":"set","to":{"part:arm:1":108,"part:arm:-1":126,"part:forearm:-1":22,"part:forearm:1":22,"part:leg:-1":20,"part:leg:1":20,"part:shin:-1":44,"part:shin:1":44,"part:foot:-1":18,"part:foot:1":18,"part:head":-3,"mouth":0.35,"dy":"=-0.02*h"}},{"op":"wave","ch":"part:arm:-1","shape":"sin","every":0.8,"amp":10},{"op":"wave","ch":"part:arm:1","shape":"sin","every":0.8,"amp":10,"phase":3.141592653589793},{"op":"wave","ch":"part:leg:-1","shape":"sin","every":0.8,"amp":10,"phase":3.141592653589793},{"op":"wave","ch":"part:leg:1","shape":"sin","every":0.8,"amp":10},{"op":"wave","ch":"part:shin:-1","shape":"sin","every":0.8,"amp":10,"phase":1.5707963267948966},{"op":"wave","ch":"part:shin:1","shape":"sin","every":0.8,"amp":10,"phase":4.71238898038469},{"op":"wave","ch":"part:tail","shape":"sin","every":0.4,"amp":10}]}]},"file":"behaviours/cycles/cycle_fall.json"},{"pack":1,"id":"c4c:beh:cycle_fall_bird","type":"behaviour","version":"1.0.0","name":"Fall (bird)","description":"A bird falls flapping its wings hard, its legs dangling and its beak open: the fall of the game cycles for birds. It loops every half second.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_fall_bird"],"seconds":2},"content_hash":"sha256:092315dda00bb8a07b848382c5482b169507b2ef6677f55a9df2a5b976db587e","content":{"v":1,"kind":"behaviour","name":"cycle_fall_bird","params":{"h":540,"leg":0.05},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"side"},{"op":"mood","mood":"scared"},{"op":"set","to":{"part:arm:-1":-100,"part:arm:1":100,"part:leg:-1":16,"part:leg:1":16,"part:foot:-1":6,"part:foot:1":6,"part:head":6,"mouth":0.4,"dy":"=-0.02*h"}},{"op":"wave","ch":"part:arm:-1","shape":"sin","every":0.25,"amp":-34},{"op":"wave","ch":"part:arm:1","shape":"sin","every":0.25,"amp":34},{"op":"wave","ch":"part:leg:-1","shape":"sin","every":0.5,"amp":8},{"op":"wave","ch":"part:leg:1","shape":"sin","every":0.5,"amp":8,"phase":3.141592653589793},{"op":"wave","ch":"part:tail","shape":"sin","every":0.25,"amp":10}]}]},"file":"behaviours/cycles/cycle_fall_bird.json"},{"pack":1,"id":"c4c:beh:cycle_fall_fours","type":"behaviour","version":"1.0.0","name":"Fall (four legs)","description":"An animal on four legs falls with its legs spread and paddling, its ears and tail up: the fall of the game cycles for four legs. It loops every 0.6 seconds.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_fall_fours"],"seconds":2.4},"content_hash":"sha256:f5a8bf6cac4b71b0ca51869e5ffe6aa9be1d9e2fa3859d46845bb5a5a9141335","content":{"v":1,"kind":"behaviour","name":"cycle_fall_fours","params":{"h":540,"leg":0.33},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"side"},{"op":"mood","mood":"scared"},{"op":"set","to":{"part:leg#0":-18,"part:shin#0":20,"part:foot#0":0,"part:leg#1":-18,"part:shin#1":20,"part:foot#1":0,"part:leg#2":26,"part:shin#2":16,"part:foot#2":0,"part:leg#3":26,"part:shin#3":16,"part:foot#3":0,"dy":"=-0.03*h","part:head":8,"part:tail":30,"part:ear":-10,"mouth":0.3}},{"op":"wave","ch":"part:leg#0","shape":"sin","every":0.6,"amp":10},{"op":"wave","ch":"part:leg#1","shape":"sin","every":0.6,"amp":10,"phase":3.141592653589793},{"op":"wave","ch":"part:leg#2","shape":"sin","every":0.6,"amp":10},{"op":"wave","ch":"part:leg#3","shape":"sin","every":0.6,"amp":10,"phase":3.141592653589793},{"op":"wave","ch":"part:tail","shape":"sin","every":0.3,"amp":12}]}]},"file":"behaviours/cycles/cycle_fall_fours.json"},{"pack":1,"id":"c4c:beh:cycle_fall_many","type":"behaviour","version":"1.0.0","name":"Fall (many legs)","description":"A crab falls with its legs flailing and its claws up and waving: the fall of the game cycles for many legs. It loops every half second.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_fall_many"],"seconds":2},"content_hash":"sha256:471a3732a2cc8b35f9335a880db5096b960a7d92a769d68367eb056d6723b555","content":{"v":1,"kind":"behaviour","name":"cycle_fall_many","params":{"h":540,"leg":0.1},"scripts":[{"hat":{"on":"start"},"body":[{"op":"mood","mood":"scared"},{"op":"set","to":{"part:arm:-1":-18,"part:arm:1":18,"lift:arm:-1":"=0.066*h","lift:arm:1":"=0.066*h","dy":"=-0.03*h","mouth":0.4}},{"op":"wave","ch":"part:leg:-1","shape":"sin","every":0.25,"amp":14},{"op":"wave","ch":"part:leg:1","shape":"sin","every":0.25,"amp":14,"phase":3.141592653589793},{"op":"wave","ch":"part:arm:-1","shape":"sin","every":0.5,"amp":-10},{"op":"wave","ch":"part:arm:1","shape":"sin","every":0.5,"amp":10}]}]},"file":"behaviours/cycles/cycle_fall_many.json"},{"pack":1,"id":"c4c:beh:cycle_hurt","type":"behaviour","version":"1.0.0","name":"Flinch (hurt)","description":"Flinches back from a hit, eyes shut and arms up, then stands again: the hurt of the game cycles, 0.4 seconds.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_hurt"],"seconds":3},"content_hash":"sha256:d58b6ac289136a66accc7e6e3b1fd862a3a1e0e06198a5a394fa5af70bd219dc","content":{"v":1,"kind":"behaviour","name":"cycle_hurt","params":{"h":540,"leg":0.24},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"side"},{"op":"mood","mood":"surprised"},{"op":"together","branches":[[{"op":"ramp","to":{"part:hips":0,"part:leg:-1":12,"part:leg:1":12,"part:shin:-1":24,"part:shin:1":24,"part:foot:-1":12,"part:foot:1":12,"part:head":8,"part:torso":5,"part:arm:-1":34,"part:arm:1":34,"part:forearm:-1":100,"part:forearm:1":100,"blink":1},"over":0.08,"ease":"out"}],[{"op":"set","to":{"dx":0,"dy":0}},{"op":"for","s":0.08,"body":[{"op":"drive","ch":"dy","value":"=h*leg/2*(2 - cos(((0 + 12*sin((min(local/0.08, 1))*pi/2)))*pi/180) - cos((((0 + 12*sin((min(local/0.08, 1))*pi/2))) - ((0 + 24*sin((min(local/0.08, 1))*pi/2))))*pi/180))"},{"op":"drive","ch":"dx","value":"=-h*leg/2*(sin(((0 + 12*sin((min(local/0.08, 1))*pi/2)))*pi/180) + sin((((0 + 12*sin((min(local/0.08, 1))*pi/2))) - ((0 + 24*sin((min(local/0.08, 1))*pi/2))))*pi/180))"}]}]]},{"op":"set","to":{"dx":"=-h*leg/2*(sin((12)*pi/180) + sin(((12) - (24))*pi/180))","dy":"=h*leg/2*(2 - cos((12)*pi/180) - cos(((12) - (24))*pi/180))"}},{"op":"together","branches":[[{"op":"ramp","to":{"part:hips":0,"part:leg:-1":0,"part:leg:1":0,"part:shin:-1":0,"part:shin:1":0,"part:foot:-1":0,"part:foot:1":0,"part:head":0,"part:torso":0,"part:arm:-1":0,"part:arm:1":0,"part:forearm:-1":0,"part:forearm:1":0,"blink":0},"over":0.32,"ease":"smooth"}],[{"op":"set","to":{"dx":0,"dy":0}},{"op":"for","s":0.32,"body":[{"op":"drive","ch":"dy","value":"=h*leg/2*(2 - cos(((12 + -12*smoothstep(min(local/0.32, 1))))*pi/180) - cos((((12 + -12*smoothstep(min(local/0.32, 1)))) - ((24 + -24*smoothstep(min(local/0.32, 1)))))*pi/180))"},{"op":"drive","ch":"dx","value":"=-h*leg/2*(sin(((12 + -12*smoothstep(min(local/0.32, 1))))*pi/180) + sin((((12 + -12*smoothstep(min(local/0.32, 1)))) - ((24 + -24*smoothstep(min(local/0.32, 1)))))*pi/180))"}]}]]},{"op":"set","to":{"dx":"=-h*leg/2*(sin((0)*pi/180) + sin(((0) - (0))*pi/180))","dy":"=h*leg/2*(2 - cos((0)*pi/180) - cos(((0) - (0))*pi/180))"}},{"op":"mood","mood":"normal"}]}]},"file":"behaviours/cycles/cycle_hurt.json"},{"pack":1,"id":"c4c:beh:cycle_hurt_bird","type":"behaviour","version":"1.0.0","name":"Flinch (bird, hurt)","description":"A bird flinches back from a hit, wings up and eyes shut, then stands again: the hurt of the game cycles for birds, 0.4 seconds.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_hurt_bird"],"seconds":3},"content_hash":"sha256:bfde3d0fa6b63b4221207c6bc7750e9a3b17dee8d60f611fe0a7617fcc77fcbf","content":{"v":1,"kind":"behaviour","name":"cycle_hurt_bird","params":{"h":540,"leg":0.05},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"side"},{"op":"mood","mood":"surprised"},{"op":"together","branches":[[{"op":"ramp","to":{"part:leg:-1":12,"part:leg:1":12,"part:foot:-1":-12,"part:foot:1":-12,"part:torso":3,"part:head":16,"part:tail":-12,"part:arm:-1":-70,"part:arm:1":70,"blink":1},"over":0.08,"ease":"out"}],[{"op":"set","to":{"dx":0,"dy":0}},{"op":"for","s":0.08,"body":[{"op":"drive","ch":"dy","value":"=h*leg*(1 - cos(((0 + 12*sin((min(local/0.08, 1))*pi/2)))*pi/180))"},{"op":"drive","ch":"dx","value":"=-h*leg*sin(((0 + 12*sin((min(local/0.08, 1))*pi/2)))*pi/180)"}]}]]},{"op":"set","to":{"dx":"=-h*leg*sin((12)*pi/180)","dy":"=h*leg*(1 - cos((12)*pi/180))"}},{"op":"together","branches":[[{"op":"ramp","to":{"part:leg:-1":0,"part:leg:1":0,"part:foot:-1":0,"part:foot:1":0,"part:torso":0,"part:head":0,"part:tail":0,"part:arm:-1":0,"part:arm:1":0,"blink":0},"over":0.32,"ease":"smooth"}],[{"op":"set","to":{"dx":0,"dy":0}},{"op":"for","s":0.32,"body":[{"op":"drive","ch":"dy","value":"=h*leg*(1 - cos(((12 + -12*smoothstep(min(local/0.32, 1))))*pi/180))"},{"op":"drive","ch":"dx","value":"=-h*leg*sin(((12 + -12*smoothstep(min(local/0.32, 1))))*pi/180)"}]}]]},{"op":"set","to":{"dx":"=-h*leg*sin((0)*pi/180)","dy":"=h*leg*(1 - cos((0)*pi/180))"}},{"op":"mood","mood":"normal"}]}]},"file":"behaviours/cycles/cycle_hurt_bird.json"},{"pack":1,"id":"c4c:beh:cycle_hurt_fours","type":"behaviour","version":"1.0.0","name":"Flinch (four legs, hurt)","description":"An animal on four legs flinches, ducking its head and dropping its rear with its tail tucked, then stands again: the hurt of the game cycles for four legs, 0.4 seconds.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_hurt_fours"],"seconds":3},"content_hash":"sha256:d97fa4efc8cdeb5e32c63acbce2ac23f9f3005b67301d8f09a83c71cd3af2203","content":{"v":1,"kind":"behaviour","name":"cycle_hurt_fours","params":{"h":540,"leg":0.33},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"side"},{"op":"mood","mood":"surprised"},{"op":"ramp","to":{"part:torso":10,"part:head":-14,"part:tail":-30,"part:ear":14,"blink":1},"over":0.08,"ease":"out"},{"op":"ramp","to":{"part:torso":0,"part:head":0,"part:tail":0,"part:ear":0,"blink":0},"over":0.32,"ease":"smooth"},{"op":"mood","mood":"normal"}]}]},"file":"behaviours/cycles/cycle_hurt_fours.json"},{"pack":1,"id":"c4c:beh:cycle_hurt_many","type":"behaviour","version":"1.0.0","name":"Flinch (many legs, hurt)","description":"A crab flinches, ducking low on spread legs with its claws pulled in and its eyes shut, then stands again: the hurt of the game cycles for many legs, 0.4 seconds.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_hurt_many"],"seconds":3},"content_hash":"sha256:452e90ae9fd57c8110ee2fc3ffe04bf27b5153069c50221f0a3ebc1e17611932","content":{"v":1,"kind":"behaviour","name":"cycle_hurt_many","params":{"h":540,"leg":0.1},"scripts":[{"hat":{"on":"start"},"body":[{"op":"mood","mood":"surprised"},{"op":"ramp","to":{"part:leg#0":10,"part:leg#1":10,"part:leg#2":10,"part:leg#3":10,"part:leg#4":10,"part:leg#5":10,"part:leg#6":10,"part:leg#7":10,"part:leg#8":10,"part:leg#9":10,"part:leg#10":10,"part:leg#11":10,"part:leg#12":10,"part:leg#13":10,"part:leg#14":10,"part:leg#15":10,"part:shin:-1":0,"part:shin:1":0,"dy":"=0.01*h","part:arm:-1":7,"part:arm:1":-7,"lift:arm:-1":"=0.016*h","lift:arm:1":"=0.016*h","blink":1},"over":0.08,"ease":"out"},{"op":"ramp","to":{"part:leg#0":0,"part:leg#1":0,"part:leg#2":0,"part:leg#3":0,"part:leg#4":0,"part:leg#5":0,"part:leg#6":0,"part:leg#7":0,"part:leg#8":0,"part:leg#9":0,"part:leg#10":0,"part:leg#11":0,"part:leg#12":0,"part:leg#13":0,"part:leg#14":0,"part:leg#15":0,"part:shin:-1":0,"part:shin:1":0,"dy":0,"part:arm:-1":0,"part:arm:1":0,"lift:arm:-1":"=0.03*h","lift:arm:1":"=0.03*h","blink":0},"over":0.32,"ease":"smooth"},{"op":"mood","mood":"normal"}]}]},"file":"behaviours/cycles/cycle_hurt_many.json"},{"pack":1,"id":"c4c:beh:cycle_idle","type":"behaviour","version":"1.0.0","name":"Stand and breathe","description":"Stands in place, breathing, with a blink: the idle of the game cycles. It loops every 4 seconds.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_idle"],"seconds":4},"content_hash":"sha256:11a8e33a160d73a56eb6f766527ed91b86ab80d63ccb36010b9aac6b884d7a1d","content":{"v":1,"kind":"behaviour","name":"cycle_idle","params":{"h":540,"leg":0.24},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"side"},{"op":"set","to":{"part:forearm:-1":8,"part:forearm:1":8,"part:torso":-1}},{"op":"wave","ch":"sy","shape":"sin","every":4,"amp":0.012},{"op":"wave","ch":"sx","shape":"sin","every":4,"amp":-0.006},{"op":"wave","ch":"part:torso","shape":"sin","every":4,"amp":-0.8,"phase":0.6},{"op":"wave","ch":"part:head","shape":"sin","every":4,"amp":1.4,"phase":1.4},{"op":"wave","ch":"part:arm:-1","shape":"sin","every":4,"amp":1.6,"phase":0.4},{"op":"wave","ch":"part:arm:1","shape":"sin","every":4,"amp":1.6,"phase":1},{"op":"wave","ch":"part:tail","shape":"sin","every":2,"amp":5},{"op":"wave","ch":"blink","shape":"possin","every":4,"amp":1,"pow":40,"phase":1.2}]}]},"file":"behaviours/cycles/cycle_idle.json"},{"pack":1,"id":"c4c:beh:cycle_idle_bird","type":"behaviour","version":"1.0.0","name":"Stand and look about (bird)","description":"A bird stands breathing, blinking and bobbing its head, its wings settled: the idle of the game cycles for birds. It loops every 4 seconds.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_idle_bird"],"seconds":4},"content_hash":"sha256:6e1e3b52baf56762e7ed3fa9dcaf2d8c945bc9318cdfb51289a18bf9f33edd0d","content":{"v":1,"kind":"behaviour","name":"cycle_idle_bird","params":{"h":540,"leg":0.05},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"side"},{"op":"wave","ch":"sy","shape":"sin","every":4,"amp":0.012},{"op":"wave","ch":"sx","shape":"sin","every":4,"amp":-0.006},{"op":"wave","ch":"part:head","shape":"tri","every":1,"amp":-5},{"op":"wave","ch":"part:head","shape":"sin","every":4,"amp":3,"phase":0.8},{"op":"wave","ch":"part:arm:-1","shape":"sin","every":4,"amp":-2,"phase":0.4},{"op":"wave","ch":"part:arm:1","shape":"sin","every":4,"amp":2,"phase":1},{"op":"wave","ch":"part:tail","shape":"sin","every":2,"amp":6},{"op":"wave","ch":"blink","shape":"possin","every":4,"amp":1,"pow":40,"phase":1.2}]}]},"file":"behaviours/cycles/cycle_idle_bird.json"},{"pack":1,"id":"c4c:beh:cycle_idle_many","type":"behaviour","version":"1.0.0","name":"Stand and breathe (many legs)","description":"A crab or another many-legged body stands breathing, its claws held up and opening a little, its legs shifting: the idle of the game cycles for many legs. It loops every 4 seconds.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_idle_many"],"seconds":4},"content_hash":"sha256:ecb1bc54d678387289daa07bfdb431d1c1fb35b14770e099410a8046264565f6","content":{"v":1,"kind":"behaviour","name":"cycle_idle_many","params":{"h":540,"leg":0.1},"scripts":[{"hat":{"on":"start"},"body":[{"op":"set","to":{"part:arm:-1":-7,"part:arm:1":7,"lift:arm:-1":"=0.044*h","lift:arm:1":"=0.044*h"}},{"op":"wave","ch":"sy","shape":"sin","every":4,"amp":0.014},{"op":"wave","ch":"sx","shape":"sin","every":4,"amp":-0.007},{"op":"wave","ch":"part:arm:-1","shape":"sin","every":4,"amp":-4,"phase":0.5},{"op":"wave","ch":"part:arm:1","shape":"sin","every":4,"amp":4,"phase":0.5},{"op":"wave","ch":"part:claw:-1","shape":"sin","every":2,"amp":6},{"op":"wave","ch":"part:claw:1","shape":"sin","every":2,"amp":-6,"phase":0.7},{"op":"wave","ch":"part:leg#1","shape":"sin","every":2,"amp":4,"phase":1},{"op":"wave","ch":"part:leg#6","shape":"sin","every":2,"amp":4,"phase":6},{"op":"wave","ch":"blink","shape":"possin","every":4,"amp":1,"pow":40,"phase":1.2}]}]},"file":"behaviours/cycles/cycle_idle_many.json"},{"pack":1,"id":"c4c:beh:cycle_jump","type":"behaviour","version":"1.0.0","name":"Jump (in place)","description":"Crouches with bent knees, springs up with the arms high, tucks, reaches down and lands in a crouch: the jump of the game cycles, in marked phases a game can hold.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_jump"],"seconds":3},"content_hash":"sha256:3b36e7bb612a2909d6b56e82bf4c51c27f104e60326264b5545ba9699a56be51","content":{"v":1,"kind":"behaviour","name":"cycle_jump","params":{"h":540,"leg":0.24,"hold":0,"from":0},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"side"},{"op":"if","cond":"=from <= 0","body":[{"op":"together","branches":[[{"op":"ramp","to":{"part:hips":0,"part:leg:-1":32,"part:leg:1":32,"part:shin:-1":64,"part:shin:1":64,"part:foot:-1":32,"part:foot:1":32,"part:torso":-10,"part:arm:-1":-45,"part:arm:1":-45,"part:forearm:-1":10,"part:forearm:1":10,"part:head":6},"over":0.14,"ease":"out"}],[{"op":"set","to":{"dx":0,"dy":0}},{"op":"for","s":0.14,"body":[{"op":"drive","ch":"dy","value":"=h*leg/2*(2 - cos(((0 + 32*sin((min(local/0.14, 1))*pi/2)))*pi/180) - cos((((0 + 32*sin((min(local/0.14, 1))*pi/2))) - ((0 + 64*sin((min(local/0.14, 1))*pi/2))))*pi/180))"},{"op":"drive","ch":"dx","value":"=-h*leg/2*(sin(((0 + 32*sin((min(local/0.14, 1))*pi/2)))*pi/180) + sin((((0 + 32*sin((min(local/0.14, 1))*pi/2))) - ((0 + 64*sin((min(local/0.14, 1))*pi/2))))*pi/180))"}]}]]},{"op":"set","to":{"dx":"=-h*leg/2*(sin((32)*pi/180) + sin(((32) - (64))*pi/180))","dy":"=h*leg/2*(2 - cos((32)*pi/180) - cos(((32) - (64))*pi/180))"}}]},{"op":"if","cond":"=from <= 1","body":[{"op":"together","branches":[[{"op":"ramp","to":{"part:hips":0,"part:leg:-1":0,"part:leg:1":0,"part:shin:-1":0,"part:shin:1":0,"part:foot:-1":0,"part:foot:1":0,"part:torso":-2,"part:arm:-1":70,"part:arm:1":70,"part:forearm:-1":12,"part:forearm:1":12,"sx":0.97,"sy":1.03},"over":0.08,"ease":"in"}],[{"op":"set","to":{"dx":0,"dy":0}},{"op":"for","s":0.08,"body":[{"op":"drive","ch":"dy","value":"=h*leg/2*(2 - cos(((32 + -32*pow(min(local/0.08, 1), 2)))*pi/180) - cos((((32 + -32*pow(min(local/0.08, 1), 2))) - ((64 + -64*pow(min(local/0.08, 1), 2))))*pi/180))"},{"op":"drive","ch":"dx","value":"=-h*leg/2*(sin(((32 + -32*pow(min(local/0.08, 1), 2)))*pi/180) + sin((((32 + -32*pow(min(local/0.08, 1), 2))) - ((64 + -64*pow(min(local/0.08, 1), 2))))*pi/180))"}]}]]},{"op":"set","to":{"dx":"=-h*leg/2*(sin((0)*pi/180) + sin(((0) - (0))*pi/180))","dy":"=h*leg/2*(2 - cos((0)*pi/180) - cos(((0) - (0))*pi/180))"}},{"op":"ramp","to":{"part:leg:-1":22,"part:leg:1":22,"part:shin:-1":50,"part:shin:1":50,"part:foot:-1":24,"part:foot:1":24,"part:hips":0,"part:torso":0,"part:arm:1":125,"part:arm:-1":145,"part:forearm:-1":14,"part:forearm:1":14,"part:head":4,"sx":0.962,"sy":1.04},"over":0.12,"ease":"out"}]},{"op":"if","cond":"=from <= 2","body":[{"op":"ramp","to":{"part:leg:-1":34,"part:leg:1":34,"part:shin:-1":78,"part:shin:1":78,"part:foot:-1":36,"part:foot:1":36,"part:arm:1":122,"part:arm:-1":140,"part:forearm:-1":20,"part:forearm:1":20,"part:head":0,"sx":1,"sy":1},"over":0.18,"ease":"smooth"}]},{"op":"if","cond":"=hold == 1","body":[{"op":"wave","ch":"part:arm:-1","shape":"sin","every":0.6,"amp":4},{"op":"wave","ch":"part:arm:1","shape":"sin","every":0.6,"amp":4,"phase":3.141592653589793},{"op":"wave","ch":"part:leg:-1","shape":"sin","every":0.6,"amp":3,"phase":3.141592653589793},{"op":"wave","ch":"part:leg:1","shape":"sin","every":0.6,"amp":3}],"else":[{"op":"if","cond":"=from <= 3","body":[{"op":"ramp","to":{"part:leg:-1":12,"part:leg:1":12,"part:shin:-1":30,"part:shin:1":30,"part:foot:-1":12,"part:foot:1":12,"part:arm:-1":110,"part:arm:1":110,"part:forearm:-1":26,"part:forearm:1":26,"part:head":-4,"part:torso":0,"sx":1,"sy":1},"over":0.22,"ease":"in"}]},{"op":"if","cond":"=hold == 2","body":[{"op":"wave","ch":"part:arm:-1","shape":"sin","every":0.5,"amp":6},{"op":"wave","ch":"part:arm:1","shape":"sin","every":0.5,"amp":6,"phase":3.141592653589793},{"op":"wave","ch":"part:leg:-1","shape":"sin","every":0.5,"amp":5,"phase":3.141592653589793},{"op":"wave","ch":"part:leg:1","shape":"sin","every":0.5,"amp":5}],"else":[{"op":"ramp","to":{"part:hips":0,"part:leg:-1":0,"part:leg:1":0,"part:shin:-1":0,"part:shin:1":0,"part:foot:-1":0,"part:foot:1":0,"part:arm:-1":70,"part:arm:1":70,"part:forearm:-1":20,"part:forearm:1":20},"over":0.06,"ease":"in"},{"op":"together","branches":[[{"op":"ramp","to":{"part:hips":0,"part:leg:-1":28,"part:leg:1":28,"part:shin:-1":56,"part:shin:1":56,"part:foot:-1":28,"part:foot:1":28,"part:torso":-8,"part:arm:-1":40,"part:arm:1":40,"part:forearm:-1":18,"part:forearm:1":18,"part:head":2,"sx":1.03,"sy":0.97},"over":0.12,"ease":"out"}],[{"op":"set","to":{"dx":0,"dy":0}},{"op":"for","s":0.12,"body":[{"op":"drive","ch":"dy","value":"=h*leg/2*(2 - cos(((0 + 28*sin((min(local/0.12, 1))*pi/2)))*pi/180) - cos((((0 + 28*sin((min(local/0.12, 1))*pi/2))) - ((0 + 56*sin((min(local/0.12, 1))*pi/2))))*pi/180))"},{"op":"drive","ch":"dx","value":"=-h*leg/2*(sin(((0 + 28*sin((min(local/0.12, 1))*pi/2)))*pi/180) + sin((((0 + 28*sin((min(local/0.12, 1))*pi/2))) - ((0 + 56*sin((min(local/0.12, 1))*pi/2))))*pi/180))"}]}]]},{"op":"set","to":{"dx":"=-h*leg/2*(sin((28)*pi/180) + sin(((28) - (56))*pi/180))","dy":"=h*leg/2*(2 - cos((28)*pi/180) - cos(((28) - (56))*pi/180))"}},{"op":"together","branches":[[{"op":"ramp","to":{"part:hips":0,"part:leg:-1":0,"part:leg:1":0,"part:shin:-1":0,"part:shin:1":0,"part:foot:-1":0,"part:foot:1":0,"part:torso":0,"part:arm:-1":0,"part:arm:1":0,"part:forearm:-1":0,"part:forearm:1":0,"part:head":0,"sx":1,"sy":1},"over":0.16,"ease":"smooth"}],[{"op":"set","to":{"dx":0,"dy":0}},{"op":"for","s":0.16,"body":[{"op":"drive","ch":"dy","value":"=h*leg/2*(2 - cos(((28 + -28*smoothstep(min(local/0.16, 1))))*pi/180) - cos((((28 + -28*smoothstep(min(local/0.16, 1)))) - ((56 + -56*smoothstep(min(local/0.16, 1)))))*pi/180))"},{"op":"drive","ch":"dx","value":"=-h*leg/2*(sin(((28 + -28*smoothstep(min(local/0.16, 1))))*pi/180) + sin((((28 + -28*smoothstep(min(local/0.16, 1)))) - ((56 + -56*smoothstep(min(local/0.16, 1)))))*pi/180))"}]}]]},{"op":"set","to":{"dx":"=-h*leg/2*(sin((0)*pi/180) + sin(((0) - (0))*pi/180))","dy":"=h*leg/2*(2 - cos((0)*pi/180) - cos(((0) - (0))*pi/180))"}}]}]}]}]},"file":"behaviours/cycles/cycle_jump.json"},{"pack":1,"id":"c4c:beh:cycle_jump_bird","type":"behaviour","version":"1.0.0","name":"Jump (bird, in place)","description":"A bird crouches, springs up with a beat of its wings, spreads them at the top, flaps as it comes down and lands with its legs bent: the jump of the game cycles for birds, in marked phases a game can hold.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_jump_bird"],"seconds":3},"content_hash":"sha256:cba6f5bd9cd4e6e4513dbe5cbc165dd3214e7a91ac56888e5b115317a105e663","content":{"v":1,"kind":"behaviour","name":"cycle_jump_bird","params":{"h":540,"leg":0.05,"hold":0,"from":0},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"side"},{"op":"if","cond":"=from <= 0","body":[{"op":"together","branches":[[{"op":"ramp","to":{"part:leg:-1":30,"part:leg:1":30,"part:foot:-1":-30,"part:foot:1":-30,"part:arm:-1":-100,"part:arm:1":100,"part:torso":-8,"part:head":6},"over":0.14,"ease":"out"}],[{"op":"set","to":{"dx":0,"dy":0}},{"op":"for","s":0.14,"body":[{"op":"drive","ch":"dy","value":"=h*leg*(1 - cos(((0 + 30*sin((min(local/0.14, 1))*pi/2)))*pi/180))"},{"op":"drive","ch":"dx","value":"=-h*leg*sin(((0 + 30*sin((min(local/0.14, 1))*pi/2)))*pi/180)"}]}]]},{"op":"set","to":{"dx":"=-h*leg*sin((30)*pi/180)","dy":"=h*leg*(1 - cos((30)*pi/180))"}}]},{"op":"if","cond":"=from <= 1","body":[{"op":"together","branches":[[{"op":"ramp","to":{"part:leg:-1":0,"part:leg:1":0,"part:foot:-1":0,"part:foot:1":0,"part:arm:-1":10,"part:arm:1":-10,"sx":0.97,"sy":1.03},"over":0.08,"ease":"in"}],[{"op":"set","to":{"dx":0,"dy":0}},{"op":"for","s":0.08,"body":[{"op":"drive","ch":"dy","value":"=h*leg*(1 - cos(((30 + -30*pow(min(local/0.08, 1), 2)))*pi/180))"},{"op":"drive","ch":"dx","value":"=-h*leg*sin(((30 + -30*pow(min(local/0.08, 1), 2)))*pi/180)"}]}]]},{"op":"set","to":{"dx":"=-h*leg*sin((0)*pi/180)","dy":"=h*leg*(1 - cos((0)*pi/180))"}},{"op":"ramp","to":{"part:leg:-1":30,"part:leg:1":30,"part:foot:-1":-30,"part:foot:1":-30,"part:arm:-1":-140,"part:arm:1":140,"part:torso":0,"sx":1,"sy":1},"over":0.12,"ease":"out"}]},{"op":"if","cond":"=from <= 2","body":[{"op":"ramp","to":{"part:leg:-1":40,"part:leg:1":40,"part:foot:-1":-40,"part:foot:1":-40,"part:arm:-1":-100,"part:arm:1":100,"part:head":0},"over":0.18,"ease":"smooth"}]},{"op":"if","cond":"=hold == 1","body":[{"op":"wave","ch":"part:arm:-1","shape":"sin","every":0.5,"amp":-8},{"op":"wave","ch":"part:arm:1","shape":"sin","every":0.5,"amp":8}],"else":[{"op":"if","cond":"=from <= 3","body":[{"op":"ramp","to":{"part:leg:-1":14,"part:leg:1":14,"part:foot:-1":-14,"part:foot:1":-14,"part:arm:-1":-120,"part:arm:1":120},"over":0.22,"ease":"in"}]},{"op":"if","cond":"=hold == 2","body":[{"op":"wave","ch":"part:arm:-1","shape":"sin","every":0.25,"amp":-30},{"op":"wave","ch":"part:arm:1","shape":"sin","every":0.25,"amp":30}],"else":[{"op":"ramp","to":{"part:leg:-1":0,"part:leg:1":0,"part:foot:-1":0,"part:foot:1":0,"part:arm:-1":-70,"part:arm:1":70},"over":0.06,"ease":"in"},{"op":"together","branches":[[{"op":"ramp","to":{"part:leg:-1":26,"part:leg:1":26,"part:foot:-1":-26,"part:foot:1":-26,"part:arm:-1":-60,"part:arm:1":60,"part:torso":-6,"sx":1.03,"sy":0.97},"over":0.12,"ease":"out"}],[{"op":"set","to":{"dx":0,"dy":0}},{"op":"for","s":0.12,"body":[{"op":"drive","ch":"dy","value":"=h*leg*(1 - cos(((0 + 26*sin((min(local/0.12, 1))*pi/2)))*pi/180))"},{"op":"drive","ch":"dx","value":"=-h*leg*sin(((0 + 26*sin((min(local/0.12, 1))*pi/2)))*pi/180)"}]}]]},{"op":"set","to":{"dx":"=-h*leg*sin((26)*pi/180)","dy":"=h*leg*(1 - cos((26)*pi/180))"}},{"op":"together","branches":[[{"op":"ramp","to":{"part:leg:-1":0,"part:leg:1":0,"part:foot:-1":0,"part:foot:1":0,"part:arm:-1":0,"part:arm:1":0,"part:torso":0,"part:head":0,"sx":1,"sy":1},"over":0.16,"ease":"smooth"}],[{"op":"set","to":{"dx":0,"dy":0}},{"op":"for","s":0.16,"body":[{"op":"drive","ch":"dy","value":"=h*leg*(1 - cos(((26 + -26*smoothstep(min(local/0.16, 1))))*pi/180))"},{"op":"drive","ch":"dx","value":"=-h*leg*sin(((26 + -26*smoothstep(min(local/0.16, 1))))*pi/180)"}]}]]},{"op":"set","to":{"dx":"=-h*leg*sin((0)*pi/180)","dy":"=h*leg*(1 - cos((0)*pi/180))"}}]}]}]}]},"file":"behaviours/cycles/cycle_jump_bird.json"},{"pack":1,"id":"c4c:beh:cycle_jump_fours","type":"behaviour","version":"1.0.0","name":"Jump (four legs, in place)","description":"An animal on four legs crouches, springs with its front legs reaching, stretches out in the air, tucks and lands on bent legs: the jump of the game cycles for four legs, in marked phases a game can hold.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_jump_fours"],"seconds":3},"content_hash":"sha256:3c398248c4d2de9b7112b01a1b6e24763368c6305bb96c5bf242febc129ecc95","content":{"v":1,"kind":"behaviour","name":"cycle_jump_fours","params":{"h":540,"leg":0.33,"hold":0,"from":0},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"side"},{"op":"if","cond":"=from <= 0","body":[{"op":"ramp","to":{"part:leg#0":10,"part:shin#0":-20,"part:foot#0":10,"part:leg#1":10,"part:shin#1":-20,"part:foot#1":10,"part:leg#2":-10,"part:shin#2":20,"part:foot#2":-10,"part:leg#3":-10,"part:shin#3":20,"part:foot#3":-10,"dy":"=h*leg*(1 - cos(10*pi/180))","part:head":-6,"part:tail":10},"over":0.16,"ease":"out"}]},{"op":"if","cond":"=from <= 1","body":[{"op":"ramp","to":{"part:leg#0":-30,"part:shin#0":10,"part:foot#0":20,"part:leg#1":-30,"part:shin#1":10,"part:foot#1":20,"part:leg#2":40,"part:shin#2":20,"part:foot#2":0,"part:leg#3":40,"part:shin#3":20,"part:foot#3":0,"dy":0,"part:torso":6,"part:head":8,"part:tail":20},"over":0.18,"ease":"out"}]},{"op":"if","cond":"=from <= 2","body":[{"op":"ramp","to":{"part:leg#0":-24,"part:shin#0":30,"part:foot#0":10,"part:leg#1":-24,"part:shin#1":30,"part:foot#1":10,"part:leg#2":30,"part:shin#2":40,"part:foot#2":-10,"part:leg#3":30,"part:shin#3":40,"part:foot#3":-10,"part:torso":0,"part:head":4},"over":0.18,"ease":"smooth"}]},{"op":"if","cond":"=hold == 1","body":[{"op":"wave","ch":"part:tail","shape":"sin","every":0.5,"amp":10}],"else":[{"op":"if","cond":"=from <= 3","body":[{"op":"ramp","to":{"part:leg#0":16,"part:shin#0":10,"part:foot#0":0,"part:leg#1":16,"part:shin#1":10,"part:foot#1":0,"part:leg#2":20,"part:shin#2":10,"part:foot#2":-10,"part:leg#3":20,"part:shin#3":10,"part:foot#3":-10,"part:torso":-6,"part:head":-6},"over":0.22,"ease":"in"}]},{"op":"if","cond":"=hold == 2","body":[{"op":"wave","ch":"part:tail","shape":"sin","every":0.4,"amp":14}],"else":[{"op":"ramp","to":{"part:leg#0":0,"part:shin#0":0,"part:foot#0":0,"part:leg#1":0,"part:shin#1":0,"part:foot#1":0,"part:leg#2":0,"part:shin#2":0,"part:foot#2":0,"part:leg#3":0,"part:shin#3":0,"part:foot#3":0,"part:torso":0},"over":0.06,"ease":"in"},{"op":"ramp","to":{"part:leg#0":10,"part:shin#0":-20,"part:foot#0":10,"part:leg#1":10,"part:shin#1":-20,"part:foot#1":10,"part:leg#2":-10,"part:shin#2":20,"part:foot#2":-10,"part:leg#3":-10,"part:shin#3":20,"part:foot#3":-10,"dy":"=h*leg*(1 - cos(10*pi/180))","part:head":-4},"over":0.1,"ease":"out"},{"op":"ramp","to":{"part:leg#0":0,"part:shin#0":0,"part:foot#0":0,"part:leg#1":0,"part:shin#1":0,"part:foot#1":0,"part:leg#2":0,"part:shin#2":0,"part:foot#2":0,"part:leg#3":0,"part:shin#3":0,"part:foot#3":0,"dy":0,"part:head":0,"part:tail":0},"over":0.16,"ease":"smooth"}]}]}]}]},"file":"behaviours/cycles/cycle_jump_fours.json"},{"pack":1,"id":"c4c:beh:cycle_jump_many","type":"behaviour","version":"1.0.0","name":"Jump (many legs, in place)","description":"A crab crouches low on spread legs, springs with its claws up, tucks its legs in at the top and lands spread out: the jump of the game cycles for many legs, in marked phases a game can hold.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_jump_many"],"seconds":3},"content_hash":"sha256:2e9fd30ee1e467e58305024c6b1fbaee07ec9cad9e95623d6172825ce95b84a4","content":{"v":1,"kind":"behaviour","name":"cycle_jump_many","params":{"h":540,"leg":0.1,"hold":0,"from":0},"scripts":[{"hat":{"on":"start"},"body":[{"op":"if","cond":"=from <= 0","body":[{"op":"ramp","to":{"part:leg#0":14,"part:leg#1":14,"part:leg#2":14,"part:leg#3":14,"part:leg#4":14,"part:leg#5":14,"part:leg#6":14,"part:leg#7":14,"part:leg#8":14,"part:leg#9":14,"part:leg#10":14,"part:leg#11":14,"part:leg#12":14,"part:leg#13":14,"part:leg#14":14,"part:leg#15":14,"part:shin:-1":0,"part:shin:1":0,"dy":"=0.012*h","part:arm:-1":-2,"part:arm:1":2,"lift:arm:-1":"=0.034*h","lift:arm:1":"=0.034*h"},"over":0.14,"ease":"out"}]},{"op":"if","cond":"=from <= 1","body":[{"op":"ramp","to":{"part:leg#0":-8,"part:leg#1":-8,"part:leg#2":-8,"part:leg#3":-8,"part:leg#4":-8,"part:leg#5":-8,"part:leg#6":-8,"part:leg#7":-8,"part:leg#8":-8,"part:leg#9":-8,"part:leg#10":-8,"part:leg#11":-8,"part:leg#12":-8,"part:leg#13":-8,"part:leg#14":-8,"part:leg#15":-8,"part:shin:-1":0,"part:shin:1":0,"dy":0,"part:arm:-1":-20,"part:arm:1":20,"lift:arm:-1":"=0.07*h","lift:arm:1":"=0.07*h","sx":0.97,"sy":1.03},"over":0.18,"ease":"out"}]},{"op":"if","cond":"=from <= 2","body":[{"op":"ramp","to":{"part:leg#0":-14,"part:leg#1":-14,"part:leg#2":-14,"part:leg#3":-14,"part:leg#4":-14,"part:leg#5":-14,"part:leg#6":-14,"part:leg#7":-14,"part:leg#8":-14,"part:leg#9":-14,"part:leg#10":-14,"part:leg#11":-14,"part:leg#12":-14,"part:leg#13":-14,"part:leg#14":-14,"part:leg#15":-14,"part:shin:-1":0,"part:shin:1":0,"part:arm:-1":-17,"part:arm:1":17,"lift:arm:-1":"=0.064*h","lift:arm:1":"=0.064*h","sx":1,"sy":1},"over":0.18,"ease":"smooth"}]},{"op":"if","cond":"=hold == 1","body":[{"op":"wave","ch":"part:leg:-1","shape":"sin","every":0.4,"amp":4},{"op":"wave","ch":"part:leg:1","shape":"sin","every":0.4,"amp":4,"phase":3.141592653589793}],"else":[{"op":"if","cond":"=from <= 3","body":[{"op":"ramp","to":{"part:leg#0":10,"part:leg#1":10,"part:leg#2":10,"part:leg#3":10,"part:leg#4":10,"part:leg#5":10,"part:leg#6":10,"part:leg#7":10,"part:leg#8":10,"part:leg#9":10,"part:leg#10":10,"part:leg#11":10,"part:leg#12":10,"part:leg#13":10,"part:leg#14":10,"part:leg#15":10,"part:shin:-1":0,"part:shin:1":0,"part:arm:-1":-15,"part:arm:1":15,"lift:arm:-1":"=0.06*h","lift:arm:1":"=0.06*h"},"over":0.22,"ease":"in"}]},{"op":"if","cond":"=hold == 2","body":[{"op":"wave","ch":"part:leg:-1","shape":"sin","every":0.3,"amp":8},{"op":"wave","ch":"part:leg:1","shape":"sin","every":0.3,"amp":8,"phase":3.141592653589793}],"else":[{"op":"ramp","to":{"part:leg#0":14,"part:leg#1":14,"part:leg#2":14,"part:leg#3":14,"part:leg#4":14,"part:leg#5":14,"part:leg#6":14,"part:leg#7":14,"part:leg#8":14,"part:leg#9":14,"part:leg#10":14,"part:leg#11":14,"part:leg#12":14,"part:leg#13":14,"part:leg#14":14,"part:leg#15":14,"part:shin:-1":0,"part:shin:1":0,"dy":"=0.012*h","part:arm:-1":-5,"part:arm:1":5,"lift:arm:-1":"=0.04*h","lift:arm:1":"=0.04*h"},"over":0.16,"ease":"out"},{"op":"ramp","to":{"part:leg#0":0,"part:leg#1":0,"part:leg#2":0,"part:leg#3":0,"part:leg#4":0,"part:leg#5":0,"part:leg#6":0,"part:leg#7":0,"part:leg#8":0,"part:leg#9":0,"part:leg#10":0,"part:leg#11":0,"part:leg#12":0,"part:leg#13":0,"part:leg#14":0,"part:leg#15":0,"part:shin:-1":0,"part:shin:1":0,"dy":0,"part:arm:-1":0,"part:arm:1":0,"lift:arm:-1":"=0.03*h","lift:arm:1":"=0.03*h"},"over":0.16,"ease":"smooth"}]}]}]}]},"file":"behaviours/cycles/cycle_jump_many.json"},{"pack":1,"id":"c4c:beh:cycle_run","type":"behaviour","version":"1.0.0","name":"Run (in place)","description":"Runs in place with a forward lean, a long stride and bent arms, the stride fitted to the speed: the run of the game cycles.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_run"],"seconds":3},"content_hash":"sha256:4d8ffd2351045e7e91777833dc1e1708805a34eca056eecf0c52dfcac7a5ec71","content":{"v":1,"kind":"behaviour","name":"cycle_run","params":{"speed":1.5,"h":540,"leg":0.24,"every":"=clamp(0.6 - 0.15*speed, 0.28, 0.5)","stride":"=57.29578*((clamp(speed*every/(4*leg), 0, 0.7)) + pow(clamp(speed*every/(4*leg), 0, 0.7), 3)/6 + 3*pow(clamp(speed*every/(4*leg), 0, 0.7), 5)/40)","give":0,"bend":"=clamp(70 + 10*speed, 70, 100)","feet":0.6},"scripts":[{"hat":{"on":"start"},"body":[{"op":"set","to":{"part:forearm:-1":60,"part:forearm:1":60,"part:head":7,"part:torso":-10}},{"op":"view","to":"side"},{"op":"drive","ch":"part:leg:-1","value":"=((1 - step(0.5, mod(local/every + 0, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 5)/40) + step(0.5, mod(local/every + 0, 1))*stride*(4*mod(local/every + 0, 1) - 3))"},{"op":"drive","ch":"part:leg:1","value":"=((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3))"},{"op":"drive","ch":"part:shin:-1","value":"=(give*(1 - step(0.5, mod(local/every + 0, 1))) + bend*step(0.5, mod(local/every + 0, 1)))*sin(pi*(2*mod(local/every + 0, 1) - step(0.5, mod(local/every + 0, 1))))"},{"op":"drive","ch":"part:shin:1","value":"=(give*(1 - step(0.5, mod(local/every + 0.5, 1))) + bend*step(0.5, mod(local/every + 0.5, 1)))*sin(pi*(2*mod(local/every + 0.5, 1) - step(0.5, mod(local/every + 0.5, 1))))"},{"op":"drive","ch":"part:arm:-1","value":"=-0.95*((1 - step(0.5, mod(local/every + 0, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 5)/40) + step(0.5, mod(local/every + 0, 1))*stride*(4*mod(local/every + 0, 1) - 3))"},{"op":"drive","ch":"part:arm:1","value":"=-0.95*((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3))"},{"op":"wave","ch":"rot","shape":"sin","every":"=every","amp":1.5},{"op":"drive","ch":"part:foot:-1","value":"=feet*((give*(1 - step(0.5, mod(local/every + 0, 1))) + bend*step(0.5, mod(local/every + 0, 1)))*sin(pi*(2*mod(local/every + 0, 1) - step(0.5, mod(local/every + 0, 1)))) - ((1 - step(0.5, mod(local/every + 0, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 5)/40) + step(0.5, mod(local/every + 0, 1))*stride*(4*mod(local/every + 0, 1) - 3)))"},{"op":"drive","ch":"part:foot:1","value":"=feet*((give*(1 - step(0.5, mod(local/every + 0.5, 1))) + bend*step(0.5, mod(local/every + 0.5, 1)))*sin(pi*(2*mod(local/every + 0.5, 1) - step(0.5, mod(local/every + 0.5, 1)))) - ((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3)))"},{"op":"drive","ch":"lift:leg:-1","value":"=step(0.5, mod(local/every + 0, 1))*max(0, h*leg/2*((cos((((1 - step(0.5, mod(local/every + 0, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 5)/40) + step(0.5, mod(local/every + 0, 1))*stride*(4*mod(local/every + 0, 1) - 3)))*pi/180) + cos(((((1 - step(0.5, mod(local/every + 0, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 5)/40) + step(0.5, mod(local/every + 0, 1))*stride*(4*mod(local/every + 0, 1) - 3))) - ((give*(1 - step(0.5, mod(local/every + 0, 1))) + bend*step(0.5, mod(local/every + 0, 1)))*sin(pi*(2*mod(local/every + 0, 1) - step(0.5, mod(local/every + 0, 1))))))*pi/180)) - (cos((((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3)))*pi/180) + cos(((((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3))) - ((give*(1 - step(0.5, mod(local/every + 0.5, 1))) + bend*step(0.5, mod(local/every + 0.5, 1)))*sin(pi*(2*mod(local/every + 0.5, 1) - step(0.5, mod(local/every + 0.5, 1))))))*pi/180))))"},{"op":"drive","ch":"lift:leg:1","value":"=step(0.5, mod(local/every + 0.5, 1))*max(0, h*leg/2*((cos((((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3)))*pi/180) + cos(((((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3))) - ((give*(1 - step(0.5, mod(local/every + 0.5, 1))) + bend*step(0.5, mod(local/every + 0.5, 1)))*sin(pi*(2*mod(local/every + 0.5, 1) - step(0.5, mod(local/every + 0.5, 1))))))*pi/180)) - (cos((((1 - step(0.5, mod(local/every + 1, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 1, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 1, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 1, 1)), 5)/40) + step(0.5, mod(local/every + 1, 1))*stride*(4*mod(local/every + 1, 1) - 3)))*pi/180) + cos(((((1 - step(0.5, mod(local/every + 1, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 1, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 1, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 1, 1)), 5)/40) + step(0.5, mod(local/every + 1, 1))*stride*(4*mod(local/every + 1, 1) - 3))) - ((give*(1 - step(0.5, mod(local/every + 1, 1))) + bend*step(0.5, mod(local/every + 1, 1)))*sin(pi*(2*mod(local/every + 1, 1) - step(0.5, mod(local/every + 1, 1))))))*pi/180))))"},{"op":"drive","ch":"dy","value":"=h*leg/2*min((2 - (1 - step(0.5, mod(local/every, 1)))*(cos((((1 - step(0.5, mod(local/every + 0, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 5)/40) + step(0.5, mod(local/every + 0, 1))*stride*(4*mod(local/every + 0, 1) - 3)))*pi/180) + cos(((((1 - step(0.5, mod(local/every + 0, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 5)/40) + step(0.5, mod(local/every + 0, 1))*stride*(4*mod(local/every + 0, 1) - 3))) - ((give*(1 - step(0.5, mod(local/every + 0, 1))) + bend*step(0.5, mod(local/every + 0, 1)))*sin(pi*(2*mod(local/every + 0, 1) - step(0.5, mod(local/every + 0, 1))))))*pi/180)) - step(0.5, mod(local/every, 1))*(cos((((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3)))*pi/180) + cos(((((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3))) - ((give*(1 - step(0.5, mod(local/every + 0.5, 1))) + bend*step(0.5, mod(local/every + 0.5, 1)))*sin(pi*(2*mod(local/every + 0.5, 1) - step(0.5, mod(local/every + 0.5, 1))))))*pi/180))), (2 - (1 - step(0.5, mod(local/every, 1)))*(cos((((1 - step(0.5, mod(local/every + 0, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 5)/40) + step(0.5, mod(local/every + 0, 1))*stride*(4*mod(local/every + 0, 1) - 3)))*pi/180) + cos(((give*(1 - step(0.5, mod(local/every + 0, 1))) + bend*step(0.5, mod(local/every + 0, 1)))*sin(pi*(2*mod(local/every + 0, 1) - step(0.5, mod(local/every + 0, 1)))))*pi/180) - 0.55*sin(((give*(1 - step(0.5, mod(local/every + 0, 1))) + bend*step(0.5, mod(local/every + 0, 1)))*sin(pi*(2*mod(local/every + 0, 1) - step(0.5, mod(local/every + 0, 1)))))*pi/180)) - step(0.5, mod(local/every, 1))*(cos((((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3)))*pi/180) + cos(((give*(1 - step(0.5, mod(local/every + 0.5, 1))) + bend*step(0.5, mod(local/every + 0.5, 1)))*sin(pi*(2*mod(local/every + 0.5, 1) - step(0.5, mod(local/every + 0.5, 1)))))*pi/180) - 0.55*sin(((give*(1 - step(0.5, mod(local/every + 0.5, 1))) + bend*step(0.5, mod(local/every + 0.5, 1)))*sin(pi*(2*mod(local/every + 0.5, 1) - step(0.5, mod(local/every + 0.5, 1)))))*pi/180)))) - 0.005*h - 0.009*h*abs(sin(2*pi*mod(local/every, 1))) - 0.035*h*pow(cos(2*pi*mod(local/every, 1)), 2)"},{"op":"wave","ch":"part:tail","shape":"sin","every":"=every","amp":12,"phase":1.6}]}]},"file":"behaviours/cycles/cycle_run.json"},{"pack":1,"id":"c4c:beh:cycle_run_bird","type":"behaviour","version":"1.0.0","name":"Run (bird, in place)","description":"A bird runs in place, leaning forward with its wings half open and flapping and its head thrust out: the run of the game cycles for birds.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_run_bird"],"seconds":3},"content_hash":"sha256:9fa8fdf2783a978ae442d12174706d7d355fa511c6a552feb83a6a8022ca77d6","content":{"v":1,"kind":"behaviour","name":"cycle_run_bird","params":{"speed":1.5,"h":540,"leg":0.05,"every":"=clamp(0.34 - 0.04*speed, 0.2, 0.3)","stride":"=clamp(12 + 6*speed, 16, 26)","feet":1},"scripts":[{"hat":{"on":"start"},"body":[{"op":"set","to":{"part:arm:-1":-55,"part:arm:1":55,"part:torso":-6,"part:head":-4}},{"op":"gait","every":"=every","stride":"=stride","give":0,"bend":0,"armSwing":0,"bob":null,"roll":3,"view":"side"},{"op":"drive","ch":"part:foot:-1","value":"=-feet*(stride*((1 - 4*mod(local/every + 0, 1))*(1 - step(0.5, mod(local/every + 0, 1))) + (4*mod(local/every + 0, 1) - 3)*step(0.5, mod(local/every + 0, 1))))"},{"op":"drive","ch":"part:foot:1","value":"=-feet*(stride*((1 - 4*mod(local/every + 0.5, 1))*(1 - step(0.5, mod(local/every + 0.5, 1))) + (4*mod(local/every + 0.5, 1) - 3)*step(0.5, mod(local/every + 0.5, 1))))"},{"op":"drive","ch":"lift:leg:-1","value":"=0.025*h*max(0, -sin(2*pi*(local/every + 0)))"},{"op":"drive","ch":"lift:leg:1","value":"=0.025*h*max(0, -sin(2*pi*(local/every + 0.5)))"},{"op":"drive","ch":"dy","value":"=h*leg*(1 - (1 - step(0.5, mod(local/every, 1)))*cos((stride*((1 - 4*mod(local/every + 0, 1))*(1 - step(0.5, mod(local/every + 0, 1))) + (4*mod(local/every + 0, 1) - 3)*step(0.5, mod(local/every + 0, 1))))*pi/180) - step(0.5, mod(local/every, 1))*cos((stride*((1 - 4*mod(local/every + 0.5, 1))*(1 - step(0.5, mod(local/every + 0.5, 1))) + (4*mod(local/every + 0.5, 1) - 3)*step(0.5, mod(local/every + 0.5, 1))))*pi/180)) - 0.012*h - 0.03*h*abs(sin(2*pi*mod(local/every, 1)))"},{"op":"wave","ch":"part:arm:-1","shape":"sin","every":"=every/2","amp":-28},{"op":"wave","ch":"part:arm:1","shape":"sin","every":"=every/2","amp":28},{"op":"wave","ch":"part:tail","shape":"sin","every":"=every","amp":10}]}]},"file":"behaviours/cycles/cycle_run_bird.json"},{"pack":1,"id":"c4c:beh:cycle_run_fours","type":"behaviour","version":"1.0.0","name":"Run (four legs, in place)","description":"An animal on four legs runs in place in a bounding trot, its legs in diagonal pairs reaching far, its body rocking and its tail streaming: the run of the game cycles for four legs. The stride fits the speed.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_run_fours"],"seconds":3},"content_hash":"sha256:7147479bff561f666e11f4ac9350d1d29182b212fedb897684b622bcb3a0ff21","content":{"v":1,"kind":"behaviour","name":"cycle_run_fours","params":{"speed":1.5,"h":540,"leg":0.33,"every":"=clamp(0.52 - 0.08*speed, 0.3, 0.46)","stride":"=57.29578*((clamp(speed*every/(4*leg), 0, 0.7)) + pow(clamp(speed*every/(4*leg), 0, 0.7), 3)/6 + 3*pow(clamp(speed*every/(4*leg), 0, 0.7), 5)/40)","give":12,"bend":60,"feet":0.4},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"side"},{"op":"set","to":{"part:head":-6,"part:tail":20}},{"op":"gait","every":"=every","stride":"=stride","give":"=give","bend":"=bend","armSwing":0,"bob":null,"roll":0,"view":"side"},{"op":"drive","ch":"part:foot#0","value":"=-feet*(stride*((1 - 4*mod(local/every + 0, 1))*(1 - step(0.5, mod(local/every + 0, 1))) + (4*mod(local/every + 0, 1) - 3)*step(0.5, mod(local/every + 0, 1))) + (give*(1 - step(0.5, mod(local/every + 0, 1))) + bend*step(0.5, mod(local/every + 0, 1)))*sin(pi*(2*mod(local/every + 0, 1) - step(0.5, mod(local/every + 0, 1)))))"},{"op":"drive","ch":"part:foot#1","value":"=-feet*(stride*((1 - 4*mod(local/every + 0.5, 1))*(1 - step(0.5, mod(local/every + 0.5, 1))) + (4*mod(local/every + 0.5, 1) - 3)*step(0.5, mod(local/every + 0.5, 1))) + (give*(1 - step(0.5, mod(local/every + 0.5, 1))) + bend*step(0.5, mod(local/every + 0.5, 1)))*sin(pi*(2*mod(local/every + 0.5, 1) - step(0.5, mod(local/every + 0.5, 1)))))"},{"op":"drive","ch":"part:foot#2","value":"=-feet*(stride*((1 - 4*mod(local/every + 0.5, 1))*(1 - step(0.5, mod(local/every + 0.5, 1))) + (4*mod(local/every + 0.5, 1) - 3)*step(0.5, mod(local/every + 0.5, 1))) + (give*(1 - step(0.5, mod(local/every + 0.5, 1))) + bend*step(0.5, mod(local/every + 0.5, 1)))*sin(pi*(2*mod(local/every + 0.5, 1) - step(0.5, mod(local/every + 0.5, 1)))))"},{"op":"drive","ch":"part:foot#3","value":"=-feet*(stride*((1 - 4*mod(local/every + 0, 1))*(1 - step(0.5, mod(local/every + 0, 1))) + (4*mod(local/every + 0, 1) - 3)*step(0.5, mod(local/every + 0, 1))) + (give*(1 - step(0.5, mod(local/every + 0, 1))) + bend*step(0.5, mod(local/every + 0, 1)))*sin(pi*(2*mod(local/every + 0, 1) - step(0.5, mod(local/every + 0, 1)))))"},{"op":"drive","ch":"dy","value":"=h*leg/2*(2 - (1 - step(0.5, mod(local/every, 1)))*(cos((stride*((1 - 4*mod(local/every + 0, 1))*(1 - step(0.5, mod(local/every + 0, 1))) + (4*mod(local/every + 0, 1) - 3)*step(0.5, mod(local/every + 0, 1))))*pi/180) + cos(((stride*((1 - 4*mod(local/every + 0, 1))*(1 - step(0.5, mod(local/every + 0, 1))) + (4*mod(local/every + 0, 1) - 3)*step(0.5, mod(local/every + 0, 1)))) + ((give*(1 - step(0.5, mod(local/every + 0, 1))) + bend*step(0.5, mod(local/every + 0, 1)))*sin(pi*(2*mod(local/every + 0, 1) - step(0.5, mod(local/every + 0, 1))))))*pi/180)) - step(0.5, mod(local/every, 1))*(cos((stride*((1 - 4*mod(local/every + 0.5, 1))*(1 - step(0.5, mod(local/every + 0.5, 1))) + (4*mod(local/every + 0.5, 1) - 3)*step(0.5, mod(local/every + 0.5, 1))))*pi/180) + cos(((stride*((1 - 4*mod(local/every + 0.5, 1))*(1 - step(0.5, mod(local/every + 0.5, 1))) + (4*mod(local/every + 0.5, 1) - 3)*step(0.5, mod(local/every + 0.5, 1)))) + ((give*(1 - step(0.5, mod(local/every + 0.5, 1))) + bend*step(0.5, mod(local/every + 0.5, 1)))*sin(pi*(2*mod(local/every + 0.5, 1) - step(0.5, mod(local/every + 0.5, 1))))))*pi/180))) - 0.03*h*pow(cos(2*pi*mod(local/every, 1)), 2)"},{"op":"wave","ch":"part:torso","shape":"sin","every":"=every/2","amp":3},{"op":"wave","ch":"part:tail","shape":"sin","every":"=every/2","amp":12,"phase":1.2}]}]},"file":"behaviours/cycles/cycle_run_fours.json"},{"pack":1,"id":"c4c:beh:cycle_run_hop","type":"behaviour","version":"1.0.0","name":"Hop-run (in place)","description":"Runs in place in quick bounding hops with a forward lean, the tail out behind to balance: the run of the game cycles for short legs.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_run_hop"],"seconds":3},"content_hash":"sha256:c37daca6eef567607e8cea20a850d950ee2cfe76734182928baf8be581d04d37","content":{"v":1,"kind":"behaviour","name":"cycle_run_hop","params":{"speed":1.5,"h":540,"leg":0.09,"every":"=clamp(0.48 - 0.08*speed, 0.3, 0.44)","stride":"=clamp(34 + 10*speed, 40, 58)","give":6,"bend":60,"feet":0.6},"scripts":[{"hat":{"on":"start"},"body":[{"op":"set","to":{"part:forearm:-1":70,"part:forearm:1":70,"part:head":7,"part:torso":-10,"part:tail":14}},{"op":"view","to":"side"},{"op":"drive","ch":"part:leg:-1","value":"=((1 - step(0.5, mod(local/every + 0, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 5)/40) + step(0.5, mod(local/every + 0, 1))*stride*(4*mod(local/every + 0, 1) - 3))"},{"op":"drive","ch":"part:leg:1","value":"=((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3))"},{"op":"drive","ch":"part:shin:-1","value":"=(give*(1 - step(0.5, mod(local/every + 0, 1))) + bend*step(0.5, mod(local/every + 0, 1)))*sin(pi*(2*mod(local/every + 0, 1) - step(0.5, mod(local/every + 0, 1))))"},{"op":"drive","ch":"part:shin:1","value":"=(give*(1 - step(0.5, mod(local/every + 0.5, 1))) + bend*step(0.5, mod(local/every + 0.5, 1)))*sin(pi*(2*mod(local/every + 0.5, 1) - step(0.5, mod(local/every + 0.5, 1))))"},{"op":"drive","ch":"part:arm:-1","value":"=-0.9*((1 - step(0.5, mod(local/every + 0, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 5)/40) + step(0.5, mod(local/every + 0, 1))*stride*(4*mod(local/every + 0, 1) - 3))"},{"op":"drive","ch":"part:arm:1","value":"=-0.9*((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3))"},{"op":"wave","ch":"rot","shape":"sin","every":"=every","amp":2},{"op":"drive","ch":"part:foot:-1","value":"=feet*((give*(1 - step(0.5, mod(local/every + 0, 1))) + bend*step(0.5, mod(local/every + 0, 1)))*sin(pi*(2*mod(local/every + 0, 1) - step(0.5, mod(local/every + 0, 1)))) - ((1 - step(0.5, mod(local/every + 0, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 5)/40) + step(0.5, mod(local/every + 0, 1))*stride*(4*mod(local/every + 0, 1) - 3)))"},{"op":"drive","ch":"part:foot:1","value":"=feet*((give*(1 - step(0.5, mod(local/every + 0.5, 1))) + bend*step(0.5, mod(local/every + 0.5, 1)))*sin(pi*(2*mod(local/every + 0.5, 1) - step(0.5, mod(local/every + 0.5, 1)))) - ((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3)))"},{"op":"drive","ch":"lift:leg:-1","value":"=step(0.5, mod(local/every + 0, 1))*max(0, h*leg/2*((cos((((1 - step(0.5, mod(local/every + 0, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 5)/40) + step(0.5, mod(local/every + 0, 1))*stride*(4*mod(local/every + 0, 1) - 3)))*pi/180) + cos(((((1 - step(0.5, mod(local/every + 0, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 5)/40) + step(0.5, mod(local/every + 0, 1))*stride*(4*mod(local/every + 0, 1) - 3))) - ((give*(1 - step(0.5, mod(local/every + 0, 1))) + bend*step(0.5, mod(local/every + 0, 1)))*sin(pi*(2*mod(local/every + 0, 1) - step(0.5, mod(local/every + 0, 1))))))*pi/180)) - (cos((((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3)))*pi/180) + cos(((((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3))) - ((give*(1 - step(0.5, mod(local/every + 0.5, 1))) + bend*step(0.5, mod(local/every + 0.5, 1)))*sin(pi*(2*mod(local/every + 0.5, 1) - step(0.5, mod(local/every + 0.5, 1))))))*pi/180))))"},{"op":"drive","ch":"lift:leg:1","value":"=step(0.5, mod(local/every + 0.5, 1))*max(0, h*leg/2*((cos((((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3)))*pi/180) + cos(((((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3))) - ((give*(1 - step(0.5, mod(local/every + 0.5, 1))) + bend*step(0.5, mod(local/every + 0.5, 1)))*sin(pi*(2*mod(local/every + 0.5, 1) - step(0.5, mod(local/every + 0.5, 1))))))*pi/180)) - (cos((((1 - step(0.5, mod(local/every + 1, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 1, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 1, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 1, 1)), 5)/40) + step(0.5, mod(local/every + 1, 1))*stride*(4*mod(local/every + 1, 1) - 3)))*pi/180) + cos(((((1 - step(0.5, mod(local/every + 1, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 1, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 1, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 1, 1)), 5)/40) + step(0.5, mod(local/every + 1, 1))*stride*(4*mod(local/every + 1, 1) - 3))) - ((give*(1 - step(0.5, mod(local/every + 1, 1))) + bend*step(0.5, mod(local/every + 1, 1)))*sin(pi*(2*mod(local/every + 1, 1) - step(0.5, mod(local/every + 1, 1))))))*pi/180))))"},{"op":"drive","ch":"dy","value":"=h*leg/2*min((2 - (1 - step(0.5, mod(local/every, 1)))*(cos((((1 - step(0.5, mod(local/every + 0, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 5)/40) + step(0.5, mod(local/every + 0, 1))*stride*(4*mod(local/every + 0, 1) - 3)))*pi/180) + cos(((((1 - step(0.5, mod(local/every + 0, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 5)/40) + step(0.5, mod(local/every + 0, 1))*stride*(4*mod(local/every + 0, 1) - 3))) - ((give*(1 - step(0.5, mod(local/every + 0, 1))) + bend*step(0.5, mod(local/every + 0, 1)))*sin(pi*(2*mod(local/every + 0, 1) - step(0.5, mod(local/every + 0, 1))))))*pi/180)) - step(0.5, mod(local/every, 1))*(cos((((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3)))*pi/180) + cos(((((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3))) - ((give*(1 - step(0.5, mod(local/every + 0.5, 1))) + bend*step(0.5, mod(local/every + 0.5, 1)))*sin(pi*(2*mod(local/every + 0.5, 1) - step(0.5, mod(local/every + 0.5, 1))))))*pi/180))), (2 - (1 - step(0.5, mod(local/every, 1)))*(cos((((1 - step(0.5, mod(local/every + 0, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 5)/40) + step(0.5, mod(local/every + 0, 1))*stride*(4*mod(local/every + 0, 1) - 3)))*pi/180) + cos(((give*(1 - step(0.5, mod(local/every + 0, 1))) + bend*step(0.5, mod(local/every + 0, 1)))*sin(pi*(2*mod(local/every + 0, 1) - step(0.5, mod(local/every + 0, 1)))))*pi/180) - 0.55*sin(((give*(1 - step(0.5, mod(local/every + 0, 1))) + bend*step(0.5, mod(local/every + 0, 1)))*sin(pi*(2*mod(local/every + 0, 1) - step(0.5, mod(local/every + 0, 1)))))*pi/180)) - step(0.5, mod(local/every, 1))*(cos((((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3)))*pi/180) + cos(((give*(1 - step(0.5, mod(local/every + 0.5, 1))) + bend*step(0.5, mod(local/every + 0.5, 1)))*sin(pi*(2*mod(local/every + 0.5, 1) - step(0.5, mod(local/every + 0.5, 1)))))*pi/180) - 0.55*sin(((give*(1 - step(0.5, mod(local/every + 0.5, 1))) + bend*step(0.5, mod(local/every + 0.5, 1)))*sin(pi*(2*mod(local/every + 0.5, 1) - step(0.5, mod(local/every + 0.5, 1)))))*pi/180)))) - 0.005*h - 0.009*h*abs(sin(2*pi*mod(local/every, 1))) - 0.055*h*pow(cos(2*pi*mod(local/every, 1)), 2)"},{"op":"wave","ch":"part:tail","shape":"sin","every":"=every","amp":18,"phase":3.141592653589793},{"op":"wave","ch":"part:ear","shape":"sin","every":"=every/2","amp":10,"phase":1.2}]}]},"file":"behaviours/cycles/cycle_run_hop.json"},{"pack":1,"id":"c4c:beh:cycle_run_many","type":"behaviour","version":"1.0.0","name":"Run (many legs, in place)","description":"A crab runs sideways in place, its legs a blur of alternating sets, its claws up and back: the run of the game cycles for many legs. The stride fits the speed.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_run_many"],"seconds":3},"content_hash":"sha256:2bfde0eb2aae331e2a09c7cc5af290df07b89bb5f1f665becf2d6ffc119c7a4a","content":{"v":1,"kind":"behaviour","name":"cycle_run_many","params":{"speed":1.5,"h":540,"leg":0.1,"every":"=clamp(0.3 - 0.04*speed, 0.16, 0.26)","stride":"=clamp(20 + 8*speed, 24, 40)"},"scripts":[{"hat":{"on":"start"},"body":[{"op":"set","to":{"part:arm:-1":-14,"part:arm:1":14,"lift:arm:-1":"=0.058*h","lift:arm:1":"=0.058*h"}},{"op":"gait","every":"=every","stride":"=stride","give":4,"bend":20,"armSwing":0,"bob":null,"roll":0},{"op":"drive","ch":"lift:leg:-1","value":"=0.04*h*max(0, -sin(2*pi*(local/(every) + 0)))"},{"op":"drive","ch":"part:shin:-1","value":"=20*max(0, -sin(2*pi*(local/(every) + 0)))"},{"op":"drive","ch":"lift:leg:1","value":"=0.04*h*max(0, -sin(2*pi*(local/(every) + 0.5)))"},{"op":"drive","ch":"part:shin:1","value":"=20*max(0, -sin(2*pi*(local/(every) + 0.5)))"},{"op":"wave","ch":"dx","shape":"sin","every":"=every","amp":"=0.014*h"},{"op":"wave","ch":"rot","shape":"sin","every":"=every","amp":4},{"op":"wave","ch":"dy","shape":"abssin","every":"=every","amp":"=-0.012*h","offset":"=-0.014*h"}]}]},"file":"behaviours/cycles/cycle_run_many.json"},{"pack":1,"id":"c4c:beh:cycle_swim","type":"behaviour","version":"1.0.0","name":"Swim","description":"Swims in place, paddling with the arms in turn and kicking the legs, the head held up: the swim of the game cycles. It loops every 1.2 seconds.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_swim"],"seconds":2.4},"content_hash":"sha256:85337fd41cd3201999f75a316f8b9a8cb67aec35822acaa753a9ac725df4763b","content":{"v":1,"kind":"behaviour","name":"cycle_swim","params":{"h":540,"leg":0.24},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"side"},{"op":"set","to":{"dy":"=-0.05*h","part:torso":-6,"part:arm:-1":52,"part:arm:1":52,"part:forearm:-1":44,"part:forearm:1":44,"part:leg:-1":16,"part:leg:1":16,"part:shin:-1":26,"part:shin:1":26,"part:foot:-1":-10,"part:foot:1":-10,"part:head":14}},{"op":"wave","ch":"part:arm:-1","shape":"sin","every":1.2,"amp":24},{"op":"wave","ch":"part:arm:1","shape":"sin","every":1.2,"amp":24,"phase":3.141592653589793},{"op":"wave","ch":"part:forearm:-1","shape":"sin","every":1.2,"amp":30,"phase":1.5707963267948966},{"op":"wave","ch":"part:forearm:1","shape":"sin","every":1.2,"amp":30,"phase":4.71238898038469},{"op":"wave","ch":"part:leg:-1","shape":"sin","every":0.6,"amp":16},{"op":"wave","ch":"part:leg:1","shape":"sin","every":0.6,"amp":16,"phase":3.141592653589793},{"op":"wave","ch":"part:shin:-1","shape":"sin","every":0.6,"amp":12,"phase":1.2},{"op":"wave","ch":"part:shin:1","shape":"sin","every":0.6,"amp":12,"phase":4.341592653589793},{"op":"wave","ch":"dy","shape":"sin","every":0.6,"amp":4},{"op":"wave","ch":"part:tail","shape":"sin","every":0.6,"amp":14}]}]},"file":"behaviours/cycles/cycle_swim.json"},{"pack":1,"id":"c4c:beh:cycle_swim_bird","type":"behaviour","version":"1.0.0","name":"Swim (bird)","description":"A bird floats and swims, paddling its feet in turn under it with its wings folded and its head bobbing: the swim of the game cycles for birds. It loops every 1.2 seconds.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_swim_bird"],"seconds":2.4},"content_hash":"sha256:248f7a69cdfeb44dedef6cf6ad2e9cd0711421a608c64b3a44bf696220cf98cf","content":{"v":1,"kind":"behaviour","name":"cycle_swim_bird","params":{"h":540,"leg":0.05},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"side"},{"op":"set","to":{"part:arm:-1":-4,"part:arm:1":4,"part:torso":-3,"dy":"=-0.03*h","part:leg:-1":10,"part:leg:1":10,"part:foot:-1":10,"part:foot:1":10}},{"op":"wave","ch":"part:leg:-1","shape":"sin","every":0.6,"amp":26},{"op":"wave","ch":"part:leg:1","shape":"sin","every":0.6,"amp":26,"phase":3.141592653589793},{"op":"wave","ch":"part:foot:-1","shape":"sin","every":0.6,"amp":20,"phase":1.5707963267948966},{"op":"wave","ch":"part:foot:1","shape":"sin","every":0.6,"amp":20,"phase":4.71238898038469},{"op":"wave","ch":"dy","shape":"sin","every":1.2,"amp":3},{"op":"wave","ch":"part:head","shape":"sin","every":0.6,"amp":3},{"op":"wave","ch":"part:tail","shape":"sin","every":1.2,"amp":8}]}]},"file":"behaviours/cycles/cycle_swim_bird.json"},{"pack":1,"id":"c4c:beh:cycle_swim_fours","type":"behaviour","version":"1.0.0","name":"Swim (four legs)","description":"An animal on four legs swims in place, paddling with its front legs in turn and kicking with its back legs, its head held up: the swim of the game cycles for four legs. It loops every 0.8 seconds.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_swim_fours"],"seconds":2.4000000000000004},"content_hash":"sha256:a051fd4c400713b5f1071f71bd4df8c20e61c9bd7935209a860c8ca20bd9fecc","content":{"v":1,"kind":"behaviour","name":"cycle_swim_fours","params":{"h":540,"leg":0.33},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"side"},{"op":"set","to":{"dy":"=-0.05*h","part:torso":6,"part:head":10,"part:leg#0":-10,"part:shin#0":20,"part:foot#0":0,"part:leg#1":-10,"part:shin#1":20,"part:foot#1":0,"part:leg#2":30,"part:shin#2":30,"part:foot#2":0,"part:leg#3":30,"part:shin#3":30,"part:foot#3":0}},{"op":"wave","ch":"part:leg#2","shape":"sin","every":0.8,"amp":28},{"op":"wave","ch":"part:leg#3","shape":"sin","every":0.8,"amp":28,"phase":3.141592653589793},{"op":"wave","ch":"part:shin#2","shape":"sin","every":0.8,"amp":24,"phase":1.5707963267948966},{"op":"wave","ch":"part:shin#3","shape":"sin","every":0.8,"amp":24,"phase":4.71238898038469},{"op":"wave","ch":"part:leg#0","shape":"sin","every":0.4,"amp":16},{"op":"wave","ch":"part:leg#1","shape":"sin","every":0.4,"amp":16,"phase":3.141592653589793},{"op":"wave","ch":"dy","shape":"sin","every":0.8,"amp":3},{"op":"wave","ch":"part:tail","shape":"sin","every":0.4,"amp":14}]}]},"file":"behaviours/cycles/cycle_swim_fours.json"},{"pack":1,"id":"c4c:beh:cycle_swim_many","type":"behaviour","version":"1.0.0","name":"Swim (many legs)","description":"A crab swims, paddling its legs one after another from back to front with its claws held forward, bobbing: the swim of the game cycles for many legs. It loops every 0.8 seconds.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_swim_many"],"seconds":2.4000000000000004},"content_hash":"sha256:4f5a4abca1d98b20dd67f28dfec86eb4ea7255d239762b6b58fd4defddfe67d3","content":{"v":1,"kind":"behaviour","name":"cycle_swim_many","params":{"h":540,"leg":0.1},"scripts":[{"hat":{"on":"start"},"body":[{"op":"set","to":{"part:arm:-1":-10,"part:arm:1":10,"lift:arm:-1":"=0.05*h","lift:arm:1":"=0.05*h","dy":"=-0.03*h"}},{"op":"wave","ch":"part:leg:-1","shape":"sin","every":0.8,"amp":22},{"op":"wave","ch":"part:leg:1","shape":"sin","every":0.8,"amp":22,"phase":3.141592653589793},{"op":"wave","ch":"part:shin:-1","shape":"sin","every":0.8,"amp":16,"phase":1.5707963267948966},{"op":"wave","ch":"part:shin:1","shape":"sin","every":0.8,"amp":16,"phase":4.71238898038469},{"op":"wave","ch":"dy","shape":"sin","every":0.8,"amp":3}]}]},"file":"behaviours/cycles/cycle_swim_many.json"},{"pack":1,"id":"c4c:beh:cycle_walk","type":"behaviour","version":"1.0.0","name":"Walk (in place)","description":"Walks in place, the stride fitted to the speed so the feet do not slide: the walk of the game cycles. Played backwards it backs away.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_walk"],"seconds":3},"content_hash":"sha256:de4b62361bd0a34516494c6be14c4eaaa7bc77ecade84faadcca294fe6b5aec0","content":{"v":1,"kind":"behaviour","name":"cycle_walk","params":{"speed":0.75,"h":540,"leg":0.24,"every":"=clamp(0.95 - 0.45*speed, 0.45, 0.85)","stride":"=57.29578*((clamp(speed*every/(4*leg), 0, 0.6)) + pow(clamp(speed*every/(4*leg), 0, 0.6), 3)/6 + 3*pow(clamp(speed*every/(4*leg), 0, 0.6), 5)/40)","give":0,"bend":"=clamp(30 + 14*speed, 34, 50)","feet":0.5},"scripts":[{"hat":{"on":"start"},"body":[{"op":"set","to":{"part:forearm:-1":14,"part:forearm:1":14,"part:torso":-2}},{"op":"view","to":"side"},{"op":"drive","ch":"part:leg:-1","value":"=((1 - step(0.5, mod(local/every + 0, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 5)/40) + step(0.5, mod(local/every + 0, 1))*stride*(4*mod(local/every + 0, 1) - 3))"},{"op":"drive","ch":"part:leg:1","value":"=((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3))"},{"op":"drive","ch":"part:shin:-1","value":"=(give*(1 - step(0.5, mod(local/every + 0, 1))) + bend*step(0.5, mod(local/every + 0, 1)))*sin(pi*(2*mod(local/every + 0, 1) - step(0.5, mod(local/every + 0, 1))))"},{"op":"drive","ch":"part:shin:1","value":"=(give*(1 - step(0.5, mod(local/every + 0.5, 1))) + bend*step(0.5, mod(local/every + 0.5, 1)))*sin(pi*(2*mod(local/every + 0.5, 1) - step(0.5, mod(local/every + 0.5, 1))))"},{"op":"drive","ch":"part:arm:-1","value":"=-0.8*((1 - step(0.5, mod(local/every + 0, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 5)/40) + step(0.5, mod(local/every + 0, 1))*stride*(4*mod(local/every + 0, 1) - 3))"},{"op":"drive","ch":"part:arm:1","value":"=-0.8*((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3))"},{"op":"wave","ch":"rot","shape":"sin","every":"=every","amp":1},{"op":"drive","ch":"part:foot:-1","value":"=feet*((give*(1 - step(0.5, mod(local/every + 0, 1))) + bend*step(0.5, mod(local/every + 0, 1)))*sin(pi*(2*mod(local/every + 0, 1) - step(0.5, mod(local/every + 0, 1)))) - ((1 - step(0.5, mod(local/every + 0, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 5)/40) + step(0.5, mod(local/every + 0, 1))*stride*(4*mod(local/every + 0, 1) - 3)))"},{"op":"drive","ch":"part:foot:1","value":"=feet*((give*(1 - step(0.5, mod(local/every + 0.5, 1))) + bend*step(0.5, mod(local/every + 0.5, 1)))*sin(pi*(2*mod(local/every + 0.5, 1) - step(0.5, mod(local/every + 0.5, 1)))) - ((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3)))"},{"op":"drive","ch":"lift:leg:-1","value":"=step(0.5, mod(local/every + 0, 1))*max(0, h*leg/2*((cos((((1 - step(0.5, mod(local/every + 0, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 5)/40) + step(0.5, mod(local/every + 0, 1))*stride*(4*mod(local/every + 0, 1) - 3)))*pi/180) + cos(((((1 - step(0.5, mod(local/every + 0, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 5)/40) + step(0.5, mod(local/every + 0, 1))*stride*(4*mod(local/every + 0, 1) - 3))) - ((give*(1 - step(0.5, mod(local/every + 0, 1))) + bend*step(0.5, mod(local/every + 0, 1)))*sin(pi*(2*mod(local/every + 0, 1) - step(0.5, mod(local/every + 0, 1))))))*pi/180)) - (cos((((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3)))*pi/180) + cos(((((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3))) - ((give*(1 - step(0.5, mod(local/every + 0.5, 1))) + bend*step(0.5, mod(local/every + 0.5, 1)))*sin(pi*(2*mod(local/every + 0.5, 1) - step(0.5, mod(local/every + 0.5, 1))))))*pi/180))))"},{"op":"drive","ch":"lift:leg:1","value":"=step(0.5, mod(local/every + 0.5, 1))*max(0, h*leg/2*((cos((((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3)))*pi/180) + cos(((((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3))) - ((give*(1 - step(0.5, mod(local/every + 0.5, 1))) + bend*step(0.5, mod(local/every + 0.5, 1)))*sin(pi*(2*mod(local/every + 0.5, 1) - step(0.5, mod(local/every + 0.5, 1))))))*pi/180)) - (cos((((1 - step(0.5, mod(local/every + 1, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 1, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 1, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 1, 1)), 5)/40) + step(0.5, mod(local/every + 1, 1))*stride*(4*mod(local/every + 1, 1) - 3)))*pi/180) + cos(((((1 - step(0.5, mod(local/every + 1, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 1, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 1, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 1, 1)), 5)/40) + step(0.5, mod(local/every + 1, 1))*stride*(4*mod(local/every + 1, 1) - 3))) - ((give*(1 - step(0.5, mod(local/every + 1, 1))) + bend*step(0.5, mod(local/every + 1, 1)))*sin(pi*(2*mod(local/every + 1, 1) - step(0.5, mod(local/every + 1, 1))))))*pi/180))))"},{"op":"drive","ch":"dy","value":"=h*leg/2*min((2 - (1 - step(0.5, mod(local/every, 1)))*(cos((((1 - step(0.5, mod(local/every + 0, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 5)/40) + step(0.5, mod(local/every + 0, 1))*stride*(4*mod(local/every + 0, 1) - 3)))*pi/180) + cos(((((1 - step(0.5, mod(local/every + 0, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 5)/40) + step(0.5, mod(local/every + 0, 1))*stride*(4*mod(local/every + 0, 1) - 3))) - ((give*(1 - step(0.5, mod(local/every + 0, 1))) + bend*step(0.5, mod(local/every + 0, 1)))*sin(pi*(2*mod(local/every + 0, 1) - step(0.5, mod(local/every + 0, 1))))))*pi/180)) - step(0.5, mod(local/every, 1))*(cos((((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3)))*pi/180) + cos(((((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3))) - ((give*(1 - step(0.5, mod(local/every + 0.5, 1))) + bend*step(0.5, mod(local/every + 0.5, 1)))*sin(pi*(2*mod(local/every + 0.5, 1) - step(0.5, mod(local/every + 0.5, 1))))))*pi/180))), (2 - (1 - step(0.5, mod(local/every, 1)))*(cos((((1 - step(0.5, mod(local/every + 0, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 5)/40) + step(0.5, mod(local/every + 0, 1))*stride*(4*mod(local/every + 0, 1) - 3)))*pi/180) + cos(((give*(1 - step(0.5, mod(local/every + 0, 1))) + bend*step(0.5, mod(local/every + 0, 1)))*sin(pi*(2*mod(local/every + 0, 1) - step(0.5, mod(local/every + 0, 1)))))*pi/180) - 0.55*sin(((give*(1 - step(0.5, mod(local/every + 0, 1))) + bend*step(0.5, mod(local/every + 0, 1)))*sin(pi*(2*mod(local/every + 0, 1) - step(0.5, mod(local/every + 0, 1)))))*pi/180)) - step(0.5, mod(local/every, 1))*(cos((((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3)))*pi/180) + cos(((give*(1 - step(0.5, mod(local/every + 0.5, 1))) + bend*step(0.5, mod(local/every + 0.5, 1)))*sin(pi*(2*mod(local/every + 0.5, 1) - step(0.5, mod(local/every + 0.5, 1)))))*pi/180) - 0.55*sin(((give*(1 - step(0.5, mod(local/every + 0.5, 1))) + bend*step(0.5, mod(local/every + 0.5, 1)))*sin(pi*(2*mod(local/every + 0.5, 1) - step(0.5, mod(local/every + 0.5, 1)))))*pi/180)))) - 0.005*h - 0.009*h*abs(sin(2*pi*mod(local/every, 1)))"},{"op":"wave","ch":"part:head","shape":"sin","every":"=every/2","amp":1.5,"phase":0.8},{"op":"wave","ch":"part:tail","shape":"sin","every":"=every","amp":8,"phase":1.6}]}]},"file":"behaviours/cycles/cycle_walk.json"},{"pack":1,"id":"c4c:beh:cycle_walk_bird","type":"behaviour","version":"1.0.0","name":"Waddle (bird, in place)","description":"A bird walks in place with a quick waddle, its head bobbing sharply to each step and its wings held a little out: the walk of the game cycles for birds.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_walk_bird"],"seconds":3},"content_hash":"sha256:18e9e6c2cf511cec140b0b68f9412a272750953042c29bf115f882815078992c","content":{"v":1,"kind":"behaviour","name":"cycle_walk_bird","params":{"speed":0.75,"h":540,"leg":0.05,"every":"=clamp(0.5 - 0.12*speed, 0.26, 0.46)","stride":"=clamp(8 + 8*speed, 10, 24)","feet":1},"scripts":[{"hat":{"on":"start"},"body":[{"op":"set","to":{"part:arm:-1":-12,"part:arm:1":12,"part:torso":-4}},{"op":"gait","every":"=every","stride":"=stride","give":0,"bend":0,"armSwing":0,"bob":null,"roll":5,"view":"side"},{"op":"drive","ch":"part:foot:-1","value":"=-feet*(stride*((1 - 4*mod(local/every + 0, 1))*(1 - step(0.5, mod(local/every + 0, 1))) + (4*mod(local/every + 0, 1) - 3)*step(0.5, mod(local/every + 0, 1))))"},{"op":"drive","ch":"part:foot:1","value":"=-feet*(stride*((1 - 4*mod(local/every + 0.5, 1))*(1 - step(0.5, mod(local/every + 0.5, 1))) + (4*mod(local/every + 0.5, 1) - 3)*step(0.5, mod(local/every + 0.5, 1))))"},{"op":"drive","ch":"lift:leg:-1","value":"=0.025*h*max(0, -sin(2*pi*(local/every + 0)))"},{"op":"drive","ch":"lift:leg:1","value":"=0.025*h*max(0, -sin(2*pi*(local/every + 0.5)))"},{"op":"drive","ch":"dy","value":"=h*leg*(1 - (1 - step(0.5, mod(local/every, 1)))*cos((stride*((1 - 4*mod(local/every + 0, 1))*(1 - step(0.5, mod(local/every + 0, 1))) + (4*mod(local/every + 0, 1) - 3)*step(0.5, mod(local/every + 0, 1))))*pi/180) - step(0.5, mod(local/every, 1))*cos((stride*((1 - 4*mod(local/every + 0.5, 1))*(1 - step(0.5, mod(local/every + 0.5, 1))) + (4*mod(local/every + 0.5, 1) - 3)*step(0.5, mod(local/every + 0.5, 1))))*pi/180)) - 0.012*h - 0.02*h*abs(sin(2*pi*mod(local/every, 1)))"},{"op":"wave","ch":"part:head","shape":"tri","every":"=every/2","amp":-7},{"op":"wave","ch":"part:arm:-1","shape":"sin","every":"=every/2","amp":-6},{"op":"wave","ch":"part:arm:1","shape":"sin","every":"=every/2","amp":6},{"op":"wave","ch":"part:tail","shape":"sin","every":"=every","amp":8}]}]},"file":"behaviours/cycles/cycle_walk_bird.json"},{"pack":1,"id":"c4c:beh:cycle_walk_fours","type":"behaviour","version":"1.0.0","name":"Walk (four legs, in place)","description":"An animal on four legs walks in place, its legs stepping in diagonal pairs, its paws flat in stance and its head and tail swaying: the walk of the game cycles for four legs. The stride fits the speed.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_walk_fours"],"seconds":3},"content_hash":"sha256:ab21850a9e95a7d7bc20984030a1edb34edaf227eaba54a3013479fce140b441","content":{"v":1,"kind":"behaviour","name":"cycle_walk_fours","params":{"speed":0.75,"h":540,"leg":0.33,"every":"=clamp(0.9 - 0.3*speed, 0.45, 0.8)","stride":"=57.29578*((clamp(speed*every/(4*leg), 0, 0.6)) + pow(clamp(speed*every/(4*leg), 0, 0.6), 3)/6 + 3*pow(clamp(speed*every/(4*leg), 0, 0.6), 5)/40)","give":6,"bend":30,"feet":0.4},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"side"},{"op":"gait","every":"=every","stride":"=stride","give":"=give","bend":"=bend","armSwing":0,"bob":null,"roll":0.6,"view":"side"},{"op":"drive","ch":"part:foot#0","value":"=-feet*(stride*((1 - 4*mod(local/every + 0, 1))*(1 - step(0.5, mod(local/every + 0, 1))) + (4*mod(local/every + 0, 1) - 3)*step(0.5, mod(local/every + 0, 1))) + (give*(1 - step(0.5, mod(local/every + 0, 1))) + bend*step(0.5, mod(local/every + 0, 1)))*sin(pi*(2*mod(local/every + 0, 1) - step(0.5, mod(local/every + 0, 1)))))"},{"op":"drive","ch":"part:foot#1","value":"=-feet*(stride*((1 - 4*mod(local/every + 0.5, 1))*(1 - step(0.5, mod(local/every + 0.5, 1))) + (4*mod(local/every + 0.5, 1) - 3)*step(0.5, mod(local/every + 0.5, 1))) + (give*(1 - step(0.5, mod(local/every + 0.5, 1))) + bend*step(0.5, mod(local/every + 0.5, 1)))*sin(pi*(2*mod(local/every + 0.5, 1) - step(0.5, mod(local/every + 0.5, 1)))))"},{"op":"drive","ch":"part:foot#2","value":"=-feet*(stride*((1 - 4*mod(local/every + 0.5, 1))*(1 - step(0.5, mod(local/every + 0.5, 1))) + (4*mod(local/every + 0.5, 1) - 3)*step(0.5, mod(local/every + 0.5, 1))) + (give*(1 - step(0.5, mod(local/every + 0.5, 1))) + bend*step(0.5, mod(local/every + 0.5, 1)))*sin(pi*(2*mod(local/every + 0.5, 1) - step(0.5, mod(local/every + 0.5, 1)))))"},{"op":"drive","ch":"part:foot#3","value":"=-feet*(stride*((1 - 4*mod(local/every + 0, 1))*(1 - step(0.5, mod(local/every + 0, 1))) + (4*mod(local/every + 0, 1) - 3)*step(0.5, mod(local/every + 0, 1))) + (give*(1 - step(0.5, mod(local/every + 0, 1))) + bend*step(0.5, mod(local/every + 0, 1)))*sin(pi*(2*mod(local/every + 0, 1) - step(0.5, mod(local/every + 0, 1)))))"},{"op":"drive","ch":"dy","value":"=h*leg/2*(2 - (1 - step(0.5, mod(local/every, 1)))*(cos((stride*((1 - 4*mod(local/every + 0, 1))*(1 - step(0.5, mod(local/every + 0, 1))) + (4*mod(local/every + 0, 1) - 3)*step(0.5, mod(local/every + 0, 1))))*pi/180) + cos(((stride*((1 - 4*mod(local/every + 0, 1))*(1 - step(0.5, mod(local/every + 0, 1))) + (4*mod(local/every + 0, 1) - 3)*step(0.5, mod(local/every + 0, 1)))) + ((give*(1 - step(0.5, mod(local/every + 0, 1))) + bend*step(0.5, mod(local/every + 0, 1)))*sin(pi*(2*mod(local/every + 0, 1) - step(0.5, mod(local/every + 0, 1))))))*pi/180)) - step(0.5, mod(local/every, 1))*(cos((stride*((1 - 4*mod(local/every + 0.5, 1))*(1 - step(0.5, mod(local/every + 0.5, 1))) + (4*mod(local/every + 0.5, 1) - 3)*step(0.5, mod(local/every + 0.5, 1))))*pi/180) + cos(((stride*((1 - 4*mod(local/every + 0.5, 1))*(1 - step(0.5, mod(local/every + 0.5, 1))) + (4*mod(local/every + 0.5, 1) - 3)*step(0.5, mod(local/every + 0.5, 1)))) + ((give*(1 - step(0.5, mod(local/every + 0.5, 1))) + bend*step(0.5, mod(local/every + 0.5, 1)))*sin(pi*(2*mod(local/every + 0.5, 1) - step(0.5, mod(local/every + 0.5, 1))))))*pi/180))) - 0.01*h"},{"op":"wave","ch":"part:head","shape":"sin","every":"=every/2","amp":2,"phase":0.6},{"op":"wave","ch":"part:tail","shape":"sin","every":"=every","amp":10,"phase":1.2}]}]},"file":"behaviours/cycles/cycle_walk_fours.json"},{"pack":1,"id":"c4c:beh:cycle_walk_hop","type":"behaviour","version":"1.0.0","name":"Hop-walk (in place)","description":"Walks in place in little hops, a step a hop, the tail swinging to balance: the walk of the game cycles for short legs.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_walk_hop"],"seconds":3},"content_hash":"sha256:6bd3339346b520a4b846d14d48fa02bdf7a3db2e9d5ec6c4bc2acd43b9d1e992","content":{"v":1,"kind":"behaviour","name":"cycle_walk_hop","params":{"speed":1,"h":540,"leg":0.09,"every":"=clamp(0.62 - 0.12*speed, 0.36, 0.56)","stride":"=clamp(24 + 12*speed, 26, 46)","give":4,"bend":50,"feet":0.6},"scripts":[{"hat":{"on":"start"},"body":[{"op":"set","to":{"part:forearm:-1":30,"part:forearm:1":30,"part:torso":-3}},{"op":"view","to":"side"},{"op":"drive","ch":"part:leg:-1","value":"=((1 - step(0.5, mod(local/every + 0, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 5)/40) + step(0.5, mod(local/every + 0, 1))*stride*(4*mod(local/every + 0, 1) - 3))"},{"op":"drive","ch":"part:leg:1","value":"=((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3))"},{"op":"drive","ch":"part:shin:-1","value":"=(give*(1 - step(0.5, mod(local/every + 0, 1))) + bend*step(0.5, mod(local/every + 0, 1)))*sin(pi*(2*mod(local/every + 0, 1) - step(0.5, mod(local/every + 0, 1))))"},{"op":"drive","ch":"part:shin:1","value":"=(give*(1 - step(0.5, mod(local/every + 0.5, 1))) + bend*step(0.5, mod(local/every + 0.5, 1)))*sin(pi*(2*mod(local/every + 0.5, 1) - step(0.5, mod(local/every + 0.5, 1))))"},{"op":"drive","ch":"part:arm:-1","value":"=-0.6*((1 - step(0.5, mod(local/every + 0, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 5)/40) + step(0.5, mod(local/every + 0, 1))*stride*(4*mod(local/every + 0, 1) - 3))"},{"op":"drive","ch":"part:arm:1","value":"=-0.6*((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3))"},{"op":"wave","ch":"rot","shape":"sin","every":"=every","amp":2.5},{"op":"drive","ch":"part:foot:-1","value":"=feet*((give*(1 - step(0.5, mod(local/every + 0, 1))) + bend*step(0.5, mod(local/every + 0, 1)))*sin(pi*(2*mod(local/every + 0, 1) - step(0.5, mod(local/every + 0, 1)))) - ((1 - step(0.5, mod(local/every + 0, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 5)/40) + step(0.5, mod(local/every + 0, 1))*stride*(4*mod(local/every + 0, 1) - 3)))"},{"op":"drive","ch":"part:foot:1","value":"=feet*((give*(1 - step(0.5, mod(local/every + 0.5, 1))) + bend*step(0.5, mod(local/every + 0.5, 1)))*sin(pi*(2*mod(local/every + 0.5, 1) - step(0.5, mod(local/every + 0.5, 1)))) - ((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3)))"},{"op":"drive","ch":"lift:leg:-1","value":"=step(0.5, mod(local/every + 0, 1))*max(0, h*leg/2*((cos((((1 - step(0.5, mod(local/every + 0, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 5)/40) + step(0.5, mod(local/every + 0, 1))*stride*(4*mod(local/every + 0, 1) - 3)))*pi/180) + cos(((((1 - step(0.5, mod(local/every + 0, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 5)/40) + step(0.5, mod(local/every + 0, 1))*stride*(4*mod(local/every + 0, 1) - 3))) - ((give*(1 - step(0.5, mod(local/every + 0, 1))) + bend*step(0.5, mod(local/every + 0, 1)))*sin(pi*(2*mod(local/every + 0, 1) - step(0.5, mod(local/every + 0, 1))))))*pi/180)) - (cos((((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3)))*pi/180) + cos(((((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3))) - ((give*(1 - step(0.5, mod(local/every + 0.5, 1))) + bend*step(0.5, mod(local/every + 0.5, 1)))*sin(pi*(2*mod(local/every + 0.5, 1) - step(0.5, mod(local/every + 0.5, 1))))))*pi/180))))"},{"op":"drive","ch":"lift:leg:1","value":"=step(0.5, mod(local/every + 0.5, 1))*max(0, h*leg/2*((cos((((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3)))*pi/180) + cos(((((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3))) - ((give*(1 - step(0.5, mod(local/every + 0.5, 1))) + bend*step(0.5, mod(local/every + 0.5, 1)))*sin(pi*(2*mod(local/every + 0.5, 1) - step(0.5, mod(local/every + 0.5, 1))))))*pi/180)) - (cos((((1 - step(0.5, mod(local/every + 1, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 1, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 1, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 1, 1)), 5)/40) + step(0.5, mod(local/every + 1, 1))*stride*(4*mod(local/every + 1, 1) - 3)))*pi/180) + cos(((((1 - step(0.5, mod(local/every + 1, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 1, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 1, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 1, 1)), 5)/40) + step(0.5, mod(local/every + 1, 1))*stride*(4*mod(local/every + 1, 1) - 3))) - ((give*(1 - step(0.5, mod(local/every + 1, 1))) + bend*step(0.5, mod(local/every + 1, 1)))*sin(pi*(2*mod(local/every + 1, 1) - step(0.5, mod(local/every + 1, 1))))))*pi/180))))"},{"op":"drive","ch":"dy","value":"=h*leg/2*min((2 - (1 - step(0.5, mod(local/every, 1)))*(cos((((1 - step(0.5, mod(local/every + 0, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 5)/40) + step(0.5, mod(local/every + 0, 1))*stride*(4*mod(local/every + 0, 1) - 3)))*pi/180) + cos(((((1 - step(0.5, mod(local/every + 0, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 5)/40) + step(0.5, mod(local/every + 0, 1))*stride*(4*mod(local/every + 0, 1) - 3))) - ((give*(1 - step(0.5, mod(local/every + 0, 1))) + bend*step(0.5, mod(local/every + 0, 1)))*sin(pi*(2*mod(local/every + 0, 1) - step(0.5, mod(local/every + 0, 1))))))*pi/180)) - step(0.5, mod(local/every, 1))*(cos((((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3)))*pi/180) + cos(((((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3))) - ((give*(1 - step(0.5, mod(local/every + 0.5, 1))) + bend*step(0.5, mod(local/every + 0.5, 1)))*sin(pi*(2*mod(local/every + 0.5, 1) - step(0.5, mod(local/every + 0.5, 1))))))*pi/180))), (2 - (1 - step(0.5, mod(local/every, 1)))*(cos((((1 - step(0.5, mod(local/every + 0, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0, 1)), 5)/40) + step(0.5, mod(local/every + 0, 1))*stride*(4*mod(local/every + 0, 1) - 3)))*pi/180) + cos(((give*(1 - step(0.5, mod(local/every + 0, 1))) + bend*step(0.5, mod(local/every + 0, 1)))*sin(pi*(2*mod(local/every + 0, 1) - step(0.5, mod(local/every + 0, 1)))))*pi/180) - 0.55*sin(((give*(1 - step(0.5, mod(local/every + 0, 1))) + bend*step(0.5, mod(local/every + 0, 1)))*sin(pi*(2*mod(local/every + 0, 1) - step(0.5, mod(local/every + 0, 1)))))*pi/180)) - step(0.5, mod(local/every, 1))*(cos((((1 - step(0.5, mod(local/every + 0.5, 1)))*57.29578*((sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1))) + pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 3)/6 + 3*pow(sin(stride*pi/180)*(1 - 4*mod(local/every + 0.5, 1)), 5)/40) + step(0.5, mod(local/every + 0.5, 1))*stride*(4*mod(local/every + 0.5, 1) - 3)))*pi/180) + cos(((give*(1 - step(0.5, mod(local/every + 0.5, 1))) + bend*step(0.5, mod(local/every + 0.5, 1)))*sin(pi*(2*mod(local/every + 0.5, 1) - step(0.5, mod(local/every + 0.5, 1)))))*pi/180) - 0.55*sin(((give*(1 - step(0.5, mod(local/every + 0.5, 1))) + bend*step(0.5, mod(local/every + 0.5, 1)))*sin(pi*(2*mod(local/every + 0.5, 1) - step(0.5, mod(local/every + 0.5, 1)))))*pi/180)))) - 0.005*h - 0.009*h*abs(sin(2*pi*mod(local/every, 1))) - 0.04*h*pow(cos(2*pi*mod(local/every, 1)), 2)"},{"op":"wave","ch":"part:tail","shape":"sin","every":"=every","amp":14,"phase":3.141592653589793},{"op":"wave","ch":"part:head","shape":"sin","every":"=every/2","amp":2,"phase":0.6},{"op":"wave","ch":"part:ear","shape":"sin","every":"=every/2","amp":6,"phase":1.2}]}]},"file":"behaviours/cycles/cycle_walk_hop.json"},{"pack":1,"id":"c4c:beh:cycle_walk_many","type":"behaviour","version":"1.0.0","name":"Scuttle (many legs, in place)","description":"A crab scuttles sideways in place, its legs stepping in two alternating sets and its claws held up, swaying: the walk of the game cycles for many legs. The stride fits the speed.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_walk_many"],"seconds":3},"content_hash":"sha256:58ec7d3ecbea516da64ccd83394723feecc6c135354a079c7169c586fdde0eda","content":{"v":1,"kind":"behaviour","name":"cycle_walk_many","params":{"speed":0.75,"h":540,"leg":0.1,"every":"=clamp(0.5 - 0.1*speed, 0.26, 0.45)","stride":"=clamp(16 + 12*speed, 20, 36)"},"scripts":[{"hat":{"on":"start"},"body":[{"op":"set","to":{"part:arm:-1":-8,"part:arm:1":8,"lift:arm:-1":"=0.046*h","lift:arm:1":"=0.046*h"}},{"op":"gait","every":"=every","stride":"=stride","give":4,"bend":20,"armSwing":0,"bob":null,"roll":0},{"op":"drive","ch":"lift:leg:-1","value":"=0.035*h*max(0, -sin(2*pi*(local/(every) + 0)))"},{"op":"drive","ch":"part:shin:-1","value":"=16*max(0, -sin(2*pi*(local/(every) + 0)))"},{"op":"drive","ch":"lift:leg:1","value":"=0.035*h*max(0, -sin(2*pi*(local/(every) + 0.5)))"},{"op":"drive","ch":"part:shin:1","value":"=16*max(0, -sin(2*pi*(local/(every) + 0.5)))"},{"op":"wave","ch":"dx","shape":"sin","every":"=every","amp":"=0.012*h"},{"op":"wave","ch":"rot","shape":"sin","every":"=every","amp":3},{"op":"wave","ch":"dy","shape":"abssin","every":"=every","amp":"=-0.006*h","offset":"=-0.01*h"},{"op":"wave","ch":"part:arm:-1","shape":"sin","every":"=every","amp":-10},{"op":"wave","ch":"part:arm:1","shape":"sin","every":"=every","amp":10},{"op":"wave","ch":"part:claw:-1","shape":"sin","every":"=every/2","amp":8},{"op":"wave","ch":"part:claw:1","shape":"sin","every":"=every/2","amp":-8}]}]},"file":"behaviours/cycles/cycle_walk_many.json"},{"pack":1,"id":"c4c:beh:cycle_win","type":"behaviour","version":"1.0.0","name":"Cheer (win)","description":"Cheers: a little spring with both arms up, two pumps of the fists and a happy face, then stands again: the win of the game cycles, 1.2 seconds.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_win"],"seconds":3},"content_hash":"sha256:692d6df46483444b9c9679243e3909be263e2a557e4a33a913245dacdf6930d0","content":{"v":1,"kind":"behaviour","name":"cycle_win","params":{"h":540,"leg":0.24},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"side"},{"op":"mood","mood":"happy"},{"op":"together","branches":[[{"op":"ramp","to":{"part:hips":0,"part:leg:-1":18,"part:leg:1":18,"part:shin:-1":36,"part:shin:1":36,"part:foot:-1":18,"part:foot:1":18,"part:arm:-1":-20,"part:arm:1":-20,"part:forearm:-1":20,"part:forearm:1":20},"over":0.14,"ease":"out"}],[{"op":"set","to":{"dx":0,"dy":0}},{"op":"for","s":0.14,"body":[{"op":"drive","ch":"dy","value":"=h*leg/2*(2 - cos(((0 + 18*sin((min(local/0.14, 1))*pi/2)))*pi/180) - cos((((0 + 18*sin((min(local/0.14, 1))*pi/2))) - ((0 + 36*sin((min(local/0.14, 1))*pi/2))))*pi/180))"},{"op":"drive","ch":"dx","value":"=-h*leg/2*(sin(((0 + 18*sin((min(local/0.14, 1))*pi/2)))*pi/180) + sin((((0 + 18*sin((min(local/0.14, 1))*pi/2))) - ((0 + 36*sin((min(local/0.14, 1))*pi/2))))*pi/180))"}]}]]},{"op":"set","to":{"dx":"=-h*leg/2*(sin((18)*pi/180) + sin(((18) - (36))*pi/180))","dy":"=h*leg/2*(2 - cos((18)*pi/180) - cos(((18) - (36))*pi/180))"}},{"op":"together","branches":[[{"op":"ramp","to":{"part:hips":0,"part:leg:-1":0,"part:leg:1":0,"part:shin:-1":0,"part:shin:1":0,"part:foot:-1":0,"part:foot:1":0,"part:arm:1":90,"part:arm:-1":110,"part:forearm:-1":25,"part:forearm:1":25},"over":0.06,"ease":"in"}],[{"op":"set","to":{"dx":0,"dy":0}},{"op":"for","s":0.06,"body":[{"op":"drive","ch":"dy","value":"=h*leg/2*(2 - cos(((18 + -18*pow(min(local/0.06, 1), 2)))*pi/180) - cos((((18 + -18*pow(min(local/0.06, 1), 2))) - ((36 + -36*pow(min(local/0.06, 1), 2))))*pi/180))"},{"op":"drive","ch":"dx","value":"=-h*leg/2*(sin(((18 + -18*pow(min(local/0.06, 1), 2)))*pi/180) + sin((((18 + -18*pow(min(local/0.06, 1), 2))) - ((36 + -36*pow(min(local/0.06, 1), 2))))*pi/180))"}]}]]},{"op":"set","to":{"dx":"=-h*leg/2*(sin((0)*pi/180) + sin(((0) - (0))*pi/180))","dy":"=h*leg/2*(2 - cos((0)*pi/180) - cos(((0) - (0))*pi/180))"}},{"op":"ramp","to":{"dy":"=-0.045*h","part:foot:-1":-8,"part:foot:1":-8,"part:arm:1":132,"part:arm:-1":165,"mouth":0.6},"over":0.12,"ease":"out"},{"op":"ramp","to":{"dy":0,"part:foot:-1":0,"part:foot:1":0},"over":0.1,"ease":"in"},{"op":"together","branches":[[{"op":"ramp","to":{"part:hips":0,"part:leg:-1":12,"part:leg:1":12,"part:shin:-1":24,"part:shin:1":24,"part:foot:-1":12,"part:foot:1":12},"over":0.08,"ease":"out"}],[{"op":"set","to":{"dx":0,"dy":0}},{"op":"for","s":0.08,"body":[{"op":"drive","ch":"dy","value":"=h*leg/2*(2 - cos(((0 + 12*sin((min(local/0.08, 1))*pi/2)))*pi/180) - cos((((0 + 12*sin((min(local/0.08, 1))*pi/2))) - ((0 + 24*sin((min(local/0.08, 1))*pi/2))))*pi/180))"},{"op":"drive","ch":"dx","value":"=-h*leg/2*(sin(((0 + 12*sin((min(local/0.08, 1))*pi/2)))*pi/180) + sin((((0 + 12*sin((min(local/0.08, 1))*pi/2))) - ((0 + 24*sin((min(local/0.08, 1))*pi/2))))*pi/180))"}]}]]},{"op":"set","to":{"dx":"=-h*leg/2*(sin((12)*pi/180) + sin(((12) - (24))*pi/180))","dy":"=h*leg/2*(2 - cos((12)*pi/180) - cos(((12) - (24))*pi/180))"}},{"op":"for","s":0.5,"body":[{"op":"wave","ch":"part:arm:-1","shape":"sin","every":0.25,"amp":12},{"op":"wave","ch":"part:arm:1","shape":"sin","every":0.25,"amp":12},{"op":"wave","ch":"part:forearm","shape":"sin","every":0.25,"amp":22,"phase":1.5707963267948966}]},{"op":"together","branches":[[{"op":"ramp","to":{"part:hips":0,"part:leg:-1":0,"part:leg:1":0,"part:shin:-1":0,"part:shin:1":0,"part:foot:-1":0,"part:foot:1":0,"part:arm:-1":0,"part:arm:1":0,"part:forearm:-1":0,"part:forearm:1":0,"mouth":0},"over":0.2,"ease":"smooth"}],[{"op":"set","to":{"dx":0,"dy":0}},{"op":"for","s":0.2,"body":[{"op":"drive","ch":"dy","value":"=h*leg/2*(2 - cos(((12 + -12*smoothstep(min(local/0.2, 1))))*pi/180) - cos((((12 + -12*smoothstep(min(local/0.2, 1)))) - ((24 + -24*smoothstep(min(local/0.2, 1)))))*pi/180))"},{"op":"drive","ch":"dx","value":"=-h*leg/2*(sin(((12 + -12*smoothstep(min(local/0.2, 1))))*pi/180) + sin((((12 + -12*smoothstep(min(local/0.2, 1)))) - ((24 + -24*smoothstep(min(local/0.2, 1)))))*pi/180))"}]}]]},{"op":"set","to":{"dx":"=-h*leg/2*(sin((0)*pi/180) + sin(((0) - (0))*pi/180))","dy":"=h*leg/2*(2 - cos((0)*pi/180) - cos(((0) - (0))*pi/180))"}}]}]},"file":"behaviours/cycles/cycle_win.json"},{"pack":1,"id":"c4c:beh:cycle_win_bird","type":"behaviour","version":"1.0.0","name":"Cheer (bird, win)","description":"A bird cheers: a little hop with its wings up and flapping and its beak open in a happy cry, then stands again: the win of the game cycles for birds, 1.2 seconds.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_win_bird"],"seconds":3},"content_hash":"sha256:b5828655d5da0f75abf54d8bcc698ba47837dca7f1ff178a007d368feff1b1ee","content":{"v":1,"kind":"behaviour","name":"cycle_win_bird","params":{"h":540,"leg":0.05},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"side"},{"op":"mood","mood":"happy"},{"op":"together","branches":[[{"op":"ramp","to":{"part:leg:-1":20,"part:leg:1":20,"part:foot:-1":-20,"part:foot:1":-20,"part:arm:-1":-30,"part:arm:1":30},"over":0.14,"ease":"out"}],[{"op":"set","to":{"dx":0,"dy":0}},{"op":"for","s":0.14,"body":[{"op":"drive","ch":"dy","value":"=h*leg*(1 - cos(((0 + 20*sin((min(local/0.14, 1))*pi/2)))*pi/180))"},{"op":"drive","ch":"dx","value":"=-h*leg*sin(((0 + 20*sin((min(local/0.14, 1))*pi/2)))*pi/180)"}]}]]},{"op":"set","to":{"dx":"=-h*leg*sin((20)*pi/180)","dy":"=h*leg*(1 - cos((20)*pi/180))"}},{"op":"together","branches":[[{"op":"ramp","to":{"part:leg:-1":0,"part:leg:1":0,"part:foot:-1":0,"part:foot:1":0,"part:arm:-1":-110,"part:arm:1":110},"over":0.06,"ease":"in"}],[{"op":"set","to":{"dx":0,"dy":0}},{"op":"for","s":0.06,"body":[{"op":"drive","ch":"dy","value":"=h*leg*(1 - cos(((20 + -20*pow(min(local/0.06, 1), 2)))*pi/180))"},{"op":"drive","ch":"dx","value":"=-h*leg*sin(((20 + -20*pow(min(local/0.06, 1), 2)))*pi/180)"}]}]]},{"op":"set","to":{"dx":"=-h*leg*sin((0)*pi/180)","dy":"=h*leg*(1 - cos((0)*pi/180))"}},{"op":"ramp","to":{"dy":"=-0.05*h","part:arm:-1":-130,"part:arm:1":130,"part:leg:-1":10,"part:leg:1":10,"part:foot:-1":10,"part:foot:1":10,"mouth":0.6,"part:head":10},"over":0.14,"ease":"out"},{"op":"ramp","to":{"dy":0,"part:leg:-1":0,"part:leg:1":0,"part:foot:-1":0,"part:foot:1":0},"over":0.12,"ease":"in"},{"op":"for","s":0.54,"body":[{"op":"wave","ch":"part:arm:-1","shape":"sin","every":0.18,"amp":-26},{"op":"wave","ch":"part:arm:1","shape":"sin","every":0.18,"amp":26},{"op":"wave","ch":"part:head","shape":"sin","every":0.18,"amp":6,"phase":1.5707963267948966}]},{"op":"ramp","to":{"part:arm:-1":0,"part:arm:1":0,"mouth":0,"part:head":0},"over":0.2,"ease":"smooth"}]}]},"file":"behaviours/cycles/cycle_win_bird.json"},{"pack":1,"id":"c4c:beh:cycle_win_fours","type":"behaviour","version":"1.0.0","name":"Cheer (four legs, win)","description":"An animal on four legs cheers: a play bow, a bounce, its tail wagging hard and a happy face, then stands again: the win of the game cycles for four legs, 1.2 seconds.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_win_fours"],"seconds":3},"content_hash":"sha256:58a23ad31ff8df541d91273d12d55d68e12bd12bdb613d5cbeca6e2fb43dc047","content":{"v":1,"kind":"behaviour","name":"cycle_win_fours","params":{"h":540,"leg":0.33},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"side"},{"op":"mood","mood":"happy"},{"op":"ramp","to":{"part:torso":-16,"part:head":10,"part:tail":20},"over":0.2,"ease":"out"},{"op":"ramp","to":{"part:torso":0,"part:head":6},"over":0.15,"ease":"in"},{"op":"ramp","to":{"dy":"=-0.05*h","part:leg#0":-12,"part:shin#0":10,"part:foot#0":0,"part:leg#1":-12,"part:shin#1":10,"part:foot#1":0,"part:leg#2":16,"part:shin#2":10,"part:foot#2":0,"part:leg#3":16,"part:shin#3":10,"part:foot#3":0,"mouth":0.5},"over":0.15,"ease":"out"},{"op":"ramp","to":{"dy":0,"part:leg#0":0,"part:shin#0":0,"part:foot#0":0,"part:leg#1":0,"part:shin#1":0,"part:foot#1":0,"part:leg#2":0,"part:shin#2":0,"part:foot#2":0,"part:leg#3":0,"part:shin#3":0,"part:foot#3":0},"over":0.12,"ease":"in"},{"op":"for","s":0.4,"body":[{"op":"wave","ch":"part:tail","shape":"sin","every":0.16,"amp":24},{"op":"wave","ch":"part:head","shape":"sin","every":0.2,"amp":4}]},{"op":"ramp","to":{"part:head":0,"part:tail":0,"mouth":0},"over":0.18,"ease":"smooth"}]}]},"file":"behaviours/cycles/cycle_win_fours.json"},{"pack":1,"id":"c4c:beh:cycle_win_many","type":"behaviour","version":"1.0.0","name":"Cheer (many legs, win)","description":"A crab cheers: its claws up high and snapping, two little hops and a happy face, then stands again: the win of the game cycles for many legs, 1.2 seconds.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["cycle_win_many"],"seconds":3},"content_hash":"sha256:e0065bc99124ae45b34044ed3dec23e0d0d0792b579932976e4d6d23ac05e5aa","content":{"v":1,"kind":"behaviour","name":"cycle_win_many","params":{"h":540,"leg":0.1},"scripts":[{"hat":{"on":"start"},"body":[{"op":"mood","mood":"happy"},{"op":"ramp","to":{"part:arm:-1":-23,"part:arm:1":23,"lift:arm:-1":"=0.076*h","lift:arm:1":"=0.076*h","mouth":0.5},"over":0.2,"ease":"out"},{"op":"together","branches":[[{"op":"for","s":0.8,"body":[{"op":"wave","ch":"part:claw:-1","shape":"sin","every":0.16,"amp":14},{"op":"wave","ch":"part:claw:1","shape":"sin","every":0.16,"amp":-14},{"op":"wave","ch":"dy","shape":"abssin","every":0.8,"amp":"=-0.04*h"},{"op":"wave","ch":"part:arm:-1","shape":"sin","every":0.4,"amp":-8},{"op":"wave","ch":"part:arm:1","shape":"sin","every":0.4,"amp":8}]}]]},{"op":"ramp","to":{"part:arm:-1":0,"part:arm:1":0,"lift:arm:-1":"=0.03*h","lift:arm:1":"=0.03*h","mouth":0},"over":0.2,"ease":"smooth"}]}]},"file":"behaviours/cycles/cycle_win_many.json"},{"pack":1,"id":"c4c:beh:deflate","type":"behaviour","version":"1.0.0","name":"Slump","description":"Sinks and shrinks with a little tremble.","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[{"id":"tween:studio/behaviors.py","version":"2026-06-08","note":"pose(\"deflate\")"}],"preview":{"moves":["deflate"],"seconds":4},"content_hash":"sha256:87b5bf24bfdf5eab41e9a5f5ad7e97e7c45139b280f5c00ab71aa471066c59ed","content":{"v":1,"kind":"behaviour","scripts":[{"hat":{"on":"start"},"body":[{"op":"wave","ch":"dx","shape":"sin","w":9,"amp":2},{"op":"wave","ch":"rot","shape":"sin","w":9,"amp":2},{"op":"ramp","to":{"dy":26,"sx":0.94,"sy":0.9},"over":"=max(dur*0.4, 0.1)","ease":"linear"}]}],"name":"deflate"},"file":"behaviours/deflate.json"},{"pack":1,"id":"c4c:beh:dizzy","type":"behaviour","version":"1.0.0","name":"Dizzy","description":"Wobbles round and round, dizzy.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["dizzy"],"seconds":3},"content_hash":"sha256:d0ecfa1f4d3ac536c054baf284c4a805c048c32049868000479b76e64398baac","content":{"v":1,"kind":"behaviour","name":"dizzy","scripts":[{"body":[{"op":"ramp","to":{"part:arm:1":24,"part:forearm:1":12,"part:arm:-1":-24,"part:forearm:-1":-12},"over":0.3},{"op":"forever","body":[{"op":"ramp","to":{"part:head":12,"rot":5,"dx":6},"over":0.4,"ease":"inout"},{"op":"ramp","to":{"part:head":-12,"rot":-5,"dx":-6},"over":0.4,"ease":"inout"}]}]}]},"file":"behaviours/moves7/dizzy.json"},{"pack":1,"id":"c4c:beh:duck","type":"behaviour","version":"1.0.0","name":"Duck","description":"Ducks down low, then pops back up.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["duck"],"seconds":3},"content_hash":"sha256:e981769d9f96dcb0cf8027f0b1c4b1a5fc4b4c92f52d4c49cd3b7d99eb6cff09","content":{"v":1,"kind":"behaviour","name":"duck","scripts":[{"body":[{"op":"ramp","to":{"part:arm:1":30,"part:forearm:1":50,"part:arm:-1":20,"part:forearm:-1":50,"sy":0.72,"dy":2,"rot":4},"over":0.15,"ease":"out"},{"op":"wait","s":0.4},{"op":"ramp","to":{"part:arm:1":0,"part:forearm:1":0,"part:arm:-1":0,"part:forearm:-1":0,"sy":1,"dy":0,"rot":0},"over":0.2}]}]},"file":"behaviours/moves7/duck.json"},{"pack":1,"id":"c4c:beh:enter","type":"behaviour","version":"1.0.0","name":"Run in","description":"Hops in from the left with arms pumping, then keeps bouncing.","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[{"id":"tween:studio/behaviors.py","version":"2026-06-08","note":"pose(\"enter\")"}],"preview":{"moves":["enter"],"seconds":4},"content_hash":"sha256:4bb80180b8cca63b0adfab0930c41338e4c93038153a5ed35f6e45ed66ffc495","content":{"v":1,"kind":"behaviour","scripts":[{"hat":{"on":"start"},"body":[{"op":"set","to":{"dx":-1300}},{"op":"hop","amp":80,"hz":1.8},{"op":"wave","ch":"rot","shape":"sin","w":"=0.9*pi","amp":3},{"op":"wave","ch":"part:arm:-1","shape":"sin","w":12,"amp":24},{"op":"wave","ch":"part:arm:1","shape":"sin","w":12,"amp":-24},{"op":"ramp","to":{"dx":0},"over":2.2,"ease":"linear"}]}],"name":"enter"},"file":"behaviours/enter.json"},{"pack":1,"id":"c4c:beh:fall_get_up","type":"behaviour","version":"1.0.0","name":"Fall down and get up","description":"Wobbles, falls flat, then gets up again.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["fall_get_up"],"seconds":3},"content_hash":"sha256:d27c35da6626e136000e8d578ab7faa604225fc2b3509c522996574f4fb678ee","content":{"v":1,"kind":"behaviour","name":"fall_get_up","scripts":[{"body":[{"op":"ramp","to":{"rot":-10,"part:arm:1":70,"part:arm:-1":-70},"over":0.18,"ease":"out"},{"op":"ramp","to":{"rot":84,"dy":28,"part:arm:1":150,"part:arm:-1":-150,"part:leg:1":10,"part:leg:-1":-10},"over":0.32,"ease":"in"},{"op":"ramp","to":{"sy":0.92},"over":0.06},{"op":"ramp","to":{"sy":1},"over":0.08},{"op":"wait","s":0.6},{"op":"ramp","to":{"rot":30,"dy":16,"part:arm:1":60,"part:arm:-1":-60,"part:leg:1":30,"part:shin:1":40},"over":0.35,"ease":"out"},{"op":"ramp","to":{"rot":0,"dy":0,"part:arm:1":0,"part:arm:-1":0,"part:leg:1":0,"part:leg:-1":0,"part:shin:1":0},"over":0.35}]}]},"file":"behaviours/moves7/fall_get_up.json"},{"pack":1,"id":"c4c:beh:flap","type":"behaviour","version":"1.0.0","name":"Flap wings","description":"Flaps up and down with a little lift, on the beat.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["flap"],"seconds":3},"content_hash":"sha256:0c87cf5a9bb6b294626e1024144f92304c6fbd94787d9e9bb6c058cf8d78c6f3","content":{"v":1,"kind":"behaviour","name":"flap","scripts":[{"body":[{"op":"forever","body":[{"op":"ramp","to":{"part:arm:1":84,"part:arm:-1":-84,"part:forearm:1":-8,"part:forearm:-1":8,"dy":-6},"over":0.2,"ease":"out"},{"op":"ramp","to":{"part:arm:1":10,"part:arm:-1":-10,"part:forearm:1":0,"part:forearm:-1":0,"dy":0},"over":0.3,"ease":"in"}]}]}]},"file":"behaviours/moves7/flap.json"},{"pack":1,"id":"c4c:beh:flex","type":"behaviour","version":"1.0.0","name":"Proud","description":"Both arms up, chest puffed, knees giving a little.","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[{"id":"tween:studio/behaviors.py","version":"2026-06-08","note":"pose(\"flex\")"}],"preview":{"moves":["flex"],"seconds":4},"content_hash":"sha256:6ad9e3291acd6ede88452a16c911d741da18f0fce3c103ad509a98ccb458c259","content":{"v":1,"kind":"behaviour","scripts":[{"hat":{"on":"start"},"body":[{"op":"wave","ch":"dy","shape":"abssin","w":2,"amp":-4},{"op":"set","to":{"part:arm:-1":18,"part:arm:1":-18,"sx":1.04,"sy":1.03}},{"op":"wave","ch":["part:shin:-1","part:shin:1"],"shape":"abssin","w":2,"amp":4}]}],"name":"flex"},"file":"behaviours/flex.json"},{"pack":1,"id":"c4c:beh:floppy_hop","type":"behaviour","version":"1.0.0","name":"Floppy hop","description":"Hops on the spot while the ears, tail, hair and hands lag behind and flop after every landing (follow-through). Written with the skeleton's friendly blocks (spec v0.4 §8).","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[],"preview":{"moves":["floppy_hop"],"seconds":2.8},"content_hash":"sha256:ef8cd702f03e62016a70a03a8c6df9d65a6dbb322b4691ace6f31474923e5bf7","content":{"v":1,"kind":"behaviour","name":"floppy_hop","scripts":[{"body":[{"op":"mood","mood":"happy"},{"op":"letFollow","part":"ears","after":"body","amount":1.4},{"op":"letFollow","part":"tail","after":"body","amount":1.2},{"op":"letFollow","part":"hair","after":"body"},{"op":"letFollow","part":"hands","after":"body","amount":0.8},{"op":"hop","amp":50,"every":0.7}]}]},"file":"skeleton/floppy_hop.json"},{"pack":1,"id":"c4c:beh:fly_in","type":"behaviour","version":"1.0.0","name":"Fly in","description":"Flaps down from the sky and lands.","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[{"id":"tween:studio/behaviors.py","version":"2026-06-08","note":"pose(\"fly_in\")"}],"preview":{"moves":["fly_in"],"seconds":3},"content_hash":"sha256:d85edfc72ab3843ec09ae474f5c5cbc703c105280121c5a42cbda5fb3afcb6fb","content":{"v":1,"kind":"behaviour","params":{"from_dx":760,"from_dy":-460,"t_in":"=dur"},"scripts":[{"hat":{"on":"start"},"body":[{"op":"set","to":{"dx":"=from_dx","dy":"=from_dy"}},{"op":"wave","ch":"rot","shape":"sin","w":22,"amp":"=7*(1 - 0.6*smoothstep(min(tau/max(t_in, 0.1), 1)))","sync":"start"},{"op":"wave","ch":"sy","shape":"sin","w":22,"amp":0.05},{"op":"wave","ch":"sx","shape":"sin","w":22,"amp":-0.03},{"op":"ramp","to":{"dx":0,"dy":0},"over":"=max(t_in, 0.1)","ease":"smooth"}]}],"name":"fly_in"},"file":"behaviours/fly_in.json"},{"pack":1,"id":"c4c:beh:fly_out","type":"behaviour","version":"1.0.0","name":"Fly out","description":"Flaps up and away, speeding up.","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[{"id":"tween:studio/behaviors.py","version":"2026-06-08","note":"pose(\"fly_out\")"}],"preview":{"moves":["fly_out"],"seconds":3},"content_hash":"sha256:6b37de823d6086d52224d9d0a80c32ec2b41de93d2345d21cc2ce750f6402b09","content":{"v":1,"kind":"behaviour","params":{"to_dx":-840,"to_dy":-540,"t_out":"=dur"},"scripts":[{"hat":{"on":"start"},"body":[{"op":"wave","ch":"rot","shape":"sin","w":24,"amp":8},{"op":"wave","ch":"sy","shape":"sin","w":24,"amp":0.06},{"op":"wave","ch":"sx","shape":"sin","w":24,"amp":-0.03},{"op":"ramp","to":{"dx":"=to_dx","dy":"=to_dy"},"over":"=max(t_out, 0.1)","ease":"in"}]}],"name":"fly_out"},"file":"behaviours/fly_out.json"},{"pack":1,"id":"c4c:beh:hands_on_hips","type":"behaviour","version":"1.0.0","name":"Hands on hips","description":"Both hands go to the hips and stay there while the body sways and the head tilts one way, then the other. Written with the skeleton's reach block (spec v0.4 §8).","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[],"preview":{"moves":["hands_on_hips"],"seconds":3},"content_hash":"sha256:e6c2cd62efbb01d2b557637ecc3afb223596be6512affa44d80de013776ea2f8","content":{"v":1,"kind":"behaviour","name":"hands_on_hips","scripts":[{"body":[{"op":"reach","part":"hands","at":"hip","over":0.5,"ease":"out"},{"op":"sway","deg":2,"every":2},{"op":"forever","body":[{"op":"turnPart","part":"head","deg":8,"over":0.5},{"op":"wait","s":0.7},{"op":"turnPart","part":"head","deg":-8,"over":0.5},{"op":"wait","s":0.7}]}]}]},"file":"skeleton/hands_on_hips.json"},{"pack":1,"id":"c4c:beh:hands_up","type":"behaviour","version":"1.0.0","name":"Hands in the air","description":"Both hands up in the air, swaying on the beat.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["hands_up"],"seconds":3},"content_hash":"sha256:db008cff25d8c2fdfcaf86483374414e7365625b6a6f6a297a034db9ea7981b7","content":{"v":1,"kind":"behaviour","name":"hands_up","scripts":[{"body":[{"op":"ramp","to":{"part:arm:1":165,"part:forearm:1":8,"part:arm:-1":-165,"part:forearm:-1":-8},"over":0.25,"ease":"out"},{"op":"forever","body":[{"op":"ramp","to":{"part:arm:1":175,"part:arm:-1":-152,"dy":-6,"rot":2},"over":0.25,"ease":"out"},{"op":"ramp","to":{"part:arm:1":152,"part:arm:-1":-175,"dy":0,"rot":-2},"over":0.25,"ease":"in"}]}]}]},"file":"behaviours/moves7/hands_up.json"},{"pack":1,"id":"c4c:beh:happy","type":"behaviour","version":"1.0.0","name":"Hop","description":"Quick happy hops.","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[{"id":"tween:studio/behaviors.py","version":"2026-06-08","note":"pose(\"happy\")"}],"preview":{"moves":["happy"],"seconds":4},"content_hash":"sha256:53c729da3c25c69045dea78e294e3ca48fc0a692090e9a5a09f5e0d7606dda2c","content":{"v":1,"kind":"behaviour","scripts":[{"hat":{"on":"start"},"body":[{"op":"hop","amp":54,"hz":2},{"op":"wave","ch":"rot","shape":"sin","w":"=1.1*pi","amp":4}]}],"name":"happy"},"file":"behaviours/happy.json"},{"pack":1,"id":"c4c:beh:head_bob","type":"behaviour","version":"1.0.0","name":"Head bob","description":"Bobs the head to the music, one bob a beat.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["head_bob"],"seconds":3},"content_hash":"sha256:f1ad361cc6b4ac61a17d62cbad52d7f8f11ae1f79afc2a7b9ed0cf669808c487","content":{"v":1,"kind":"behaviour","name":"head_bob","scripts":[{"body":[{"op":"forever","body":[{"op":"ramp","to":{"part:head":14,"lift:head":-3,"dy":2},"over":0.12,"ease":"out"},{"op":"ramp","to":{"part:head":0,"lift:head":0,"dy":0},"over":0.38,"ease":"inout"}]}]}]},"file":"behaviours/moves7/head_bob.json"},{"pack":1,"id":"c4c:beh:high_five","type":"behaviour","version":"1.0.0","name":"High five","description":"Raises a hand and slaps it forward. ⚑ Touch is where two hands meet.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["high_five"],"seconds":3},"content_hash":"sha256:37a9192587a4eca7880c95c81be360d1c0164b90fc9afc611b1416392ed071b9","content":{"v":1,"kind":"behaviour","name":"high_five","scripts":[{"body":[{"op":"ramp","to":{"part:arm:1":150,"part:forearm:1":24,"rot":-2},"over":0.25,"ease":"out"},{"op":"ramp","to":{"part:arm:1":132,"part:forearm:1":4,"rot":-6,"dx":6},"over":0.1,"ease":"in"},{"op":"setVar","var":"flag_touch","value":"=tau"},{"op":"wait","s":0.2},{"op":"ramp","to":{"part:arm:1":0,"part:forearm:1":0,"rot":0,"dx":0},"over":0.3}]}]},"file":"behaviours/moves7/high_five.json"},{"pack":1,"id":"c4c:beh:hold","type":"behaviour","version":"1.0.0","name":"Sway","description":"Gentle breathing bob and sway, arms drifting.","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[{"id":"tween:studio/behaviors.py","version":"2026-06-08","note":"pose(\"hold\")"}],"preview":{"moves":["hold"],"seconds":4},"content_hash":"sha256:359a4e8825f64ee1082ae8442dad9b788146e0975099341f4cf124bb0f66bdaf","content":{"v":1,"kind":"behaviour","scripts":[{"hat":{"on":"start"},"body":[{"op":"wave","ch":"dy","shape":"abssin","w":2.2,"amp":-12},{"op":"wave","ch":"sx","shape":"sin","w":2.2,"amp":-0.012},{"op":"wave","ch":"sy","shape":"sin","w":2.2,"amp":0.018},{"op":"wave","ch":"rot","shape":"sin","w":1.2,"amp":1.4},{"op":"wave","ch":"part:arm:-1","shape":"sin","w":1.5,"amp":5,"offset":-6},{"op":"wave","ch":"part:arm:1","shape":"sin","w":1.5,"amp":-5,"offset":6}]}],"name":"hold"},"file":"behaviours/hold.json"},{"pack":1,"id":"c4c:beh:hug","type":"behaviour","version":"1.0.0","name":"Hug","description":"Opens the arms and wraps them round. ⚑ Touch is where the hug meets.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["hug"],"seconds":3},"content_hash":"sha256:b489941ce11feebc24906055a72d6cbdf93103405dd8f550d9bd4ddc645b07c0","content":{"v":1,"kind":"behaviour","name":"hug","scripts":[{"body":[{"op":"ramp","to":{"part:arm:1":100,"part:forearm:1":30,"part:arm:-1":100,"part:forearm:-1":30},"over":0.3,"ease":"out"},{"op":"ramp","to":{"part:arm:1":86,"part:forearm:1":82,"part:arm:-1":86,"part:forearm:-1":82,"rot":-6,"dx":8},"over":0.25,"ease":"in"},{"op":"setVar","var":"flag_touch","value":"=tau"},{"op":"ramp","to":{"sy":0.97},"over":0.2},{"op":"wait","s":0.4},{"op":"ramp","to":{"part:arm:1":0,"part:forearm:1":0,"part:arm:-1":0,"part:forearm:-1":0,"rot":0,"dx":0,"sy":1},"over":0.35}]}]},"file":"behaviours/moves7/hug.json"},{"pack":1,"id":"c4c:beh:idle","type":"behaviour","version":"1.0.0","name":"Breathe","description":"Calm breathing with a slow claw sway.","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[{"id":"tween:studio/behaviors.py","version":"2026-06-08","note":"pose(\"idle\")"}],"preview":{"moves":["idle"],"seconds":4},"content_hash":"sha256:17f29576ef1b8b7ec05b4829d3aad6df4ebe590ccf618850b863032ca53f9095","content":{"v":1,"kind":"behaviour","scripts":[{"hat":{"on":"start"},"body":[{"op":"wave","ch":"dy","shape":"abssin","w":2,"amp":-9},{"op":"wave","ch":"sx","shape":"sin","w":2,"amp":-0.012},{"op":"wave","ch":"sy","shape":"sin","w":2,"amp":0.02},{"op":"wave","ch":"rot","shape":"sin","w":1.1,"amp":1.2},{"op":"wave","ch":"part:claw:-1","shape":"sin","w":1.3,"amp":5},{"op":"wave","ch":"part:claw:1","shape":"sin","w":1.3,"amp":-5,"phase":0.6}]}],"name":"idle"},"file":"behaviours/idle.json"},{"pack":1,"id":"c4c:beh:inflate","type":"behaviour","version":"1.0.0","name":"Puff up","description":"Shakes with rage and puffs up a little bigger.","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[{"id":"tween:studio/behaviors.py","version":"2026-06-08","note":"pose(\"inflate\")"}],"preview":{"moves":["inflate"],"seconds":4},"content_hash":"sha256:4ebc6200c74c52074c02ad4a6cdb042b8f4ec135b85536fd43193129ef661383","content":{"v":1,"kind":"behaviour","scripts":[{"hat":{"on":"start"},"body":[{"op":"wave","ch":"dx","shape":"sin","w":32,"amp":13},{"op":"wave","ch":"dy","shape":"sin","w":39,"amp":9},{"op":"wave","ch":"sx","shape":"sin","w":28,"amp":0.04,"offset":1.04},{"op":"wave","ch":"sy","shape":"sin","w":28,"amp":0.04},{"op":"wave","ch":"rot","shape":"sin","w":24,"amp":4},{"op":"wave","ch":"part:claw:-1","shape":"sin","w":18,"amp":5,"offset":11},{"op":"wave","ch":"part:claw:1","shape":"sin","w":18,"amp":-5,"offset":-11},{"op":"ramp","to":{"sx":1.07,"sy":1.07},"over":"=max(dur*0.5, 0.1)","ease":"linear"}]}],"name":"inflate"},"file":"behaviours/inflate.json"},{"pack":1,"id":"c4c:beh:jump_for_joy","type":"behaviour","version":"1.0.0","name":"Jump for joy","description":"Crouch, spring up with arms high, land with a squish, again.","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[],"preview":{"moves":["jump_for_joy"],"seconds":6},"content_hash":"sha256:759fabeaa15a4be9907e4d6ff31b0af570707f24b5bffdeb41edeeb970d6ae9f","content":{"v":1,"kind":"behaviour","name":"jump_for_joy","scripts":[{"body":[{"op":"mood","mood":"happy"},{"op":"forever","body":[{"op":"squash","k":0.14,"over":0.14},{"op":"together","branches":[[{"op":"move","dy":-150,"over":0.3,"ease":"out"}],[{"op":"scaleTo","sx":0.9,"sy":1.12,"over":0.12}],[{"op":"setPart","part":"arms","deg":150,"over":0.22,"ease":"out"}]]},{"op":"together","branches":[[{"op":"move","dy":150,"over":0.3,"ease":"in"}],[{"op":"scaleTo","s":1,"over":0.3}],[{"op":"setPart","part":"arms","deg":15,"over":0.3}]]},{"op":"squash","k":0.1,"over":0.08},{"op":"scaleTo","s":1,"over":0.12},{"op":"wait","s":0.35}]}]}]},"file":"behaviours/jump_for_joy.json"},{"pack":1,"id":"c4c:beh:kick","type":"behaviour","version":"1.0.0","name":"Kick a ball","description":"Swings a leg back and kicks. ⚑ Kick! is where the foot meets the ball.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["kick"],"seconds":3},"content_hash":"sha256:4ec8d664d8195e50cc29a50f5865c1029b0050f0727d609f36443141c40d5059","content":{"v":1,"kind":"behaviour","name":"kick","scripts":[{"body":[{"op":"ramp","to":{"part:leg:1":-34,"part:shin:1":46,"part:arm:1":30,"part:arm:-1":-28,"rot":4},"over":0.25,"ease":"out"},{"op":"ramp","to":{"part:leg:1":56,"part:shin:1":0,"part:arm:1":-28,"part:arm:-1":36,"rot":-6},"over":0.13,"ease":"in"},{"op":"setVar","var":"flag_kick","value":"=tau"},{"op":"ramp","to":{"part:leg:1":64,"part:shin:1":-4,"part:arm:1":-32,"part:arm:-1":40,"rot":-8},"over":0.12},{"op":"ramp","to":{"part:leg:1":0,"part:shin:1":0,"part:arm:1":0,"part:arm:-1":0,"rot":0},"over":0.3}]}]},"file":"behaviours/moves7/kick.json"},{"pack":1,"id":"c4c:beh:laugh","type":"behaviour","version":"1.0.0","name":"Laugh","description":"Laughs, shaking all over with the hands on the tummy.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["laugh"],"seconds":3},"content_hash":"sha256:b1cc31550bec2a72750521ac177e9ab0e92787336c745227fd64bc606dd2ade7","content":{"v":1,"kind":"behaviour","name":"laugh","scripts":[{"body":[{"op":"reach","part":"hands","at":"chest","dy":-0.16,"over":0.2},{"op":"forever","body":[{"op":"ramp","to":{"part:head":-14,"dy":-5,"rot":2},"over":0.16,"ease":"out"},{"op":"ramp","to":{"part:head":-6,"dy":0,"rot":-2},"over":0.16,"ease":"in"}]}]}]},"file":"behaviours/moves7/laugh.json"},{"pack":1,"id":"c4c:beh:look_around","type":"behaviour","version":"1.0.0","name":"Look around","description":"Looks around by changing views: turns to the side, looks the other way and back, faces the front, turns its back, and faces the front again, over and over. Written with the skeleton's turn block (spec v0.4 §8).","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[],"preview":{"moves":["look_around"],"seconds":4.5},"content_hash":"sha256:571dece028dcbbec84e4eade01c8ecc398ec287b9e078447353caed0a925897d","content":{"v":1,"kind":"behaviour","name":"look_around","scripts":[{"body":[{"op":"forever","body":[{"op":"turnView","to":"side"},{"op":"wait","s":0.6},{"op":"scaleTo","sx":-1,"over":0.24},{"op":"wait","s":0.6},{"op":"scaleTo","sx":1,"over":0.24},{"op":"wait","s":0.3},{"op":"turnView","to":"front"},{"op":"wait","s":0.5},{"op":"turnView","to":"back"},{"op":"wait","s":0.5},{"op":"turnView","to":"front"},{"op":"wait","s":0.4}]}]}]},"file":"skeleton/look_around.json"},{"pack":1,"id":"c4c:beh:nod","type":"behaviour","version":"1.0.0","name":"Nod yes","description":"Nods twice: yes.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["nod"],"seconds":3},"content_hash":"sha256:bf75a5210aba7bf32fbc7dfe749a4c9aafd7c7e6667603edffae18211f158118","content":{"v":1,"kind":"behaviour","name":"nod","scripts":[{"body":[{"op":"repeat","n":2,"body":[{"op":"ramp","to":{"part:head":14,"lift:head":-4},"over":0.15,"ease":"out"},{"op":"ramp","to":{"part:head":0,"lift:head":0},"over":0.15,"ease":"in"}]}]}]},"file":"behaviours/moves7/nod.json"},{"pack":1,"id":"c4c:beh:offreturn","type":"behaviour","version":"1.0.0","name":"Run off and back","description":"Bounces off the left edge, disappears, then bounces back in.","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[{"id":"tween:studio/behaviors.py","version":"2026-06-08","note":"pose(\"offreturn\")"}],"preview":{"moves":["offreturn"],"seconds":4},"content_hash":"sha256:b1819635a47cdac2f2e69747e8fe14ab31881f75ed00413eb77d68374be339fe","content":{"v":1,"kind":"behaviour","scripts":[{"hat":{"on":"start"},"body":[{"op":"hop","amp":90,"hz":1.8},{"op":"wave","ch":"rot","shape":"sin","w":"=0.9*pi","amp":3},{"op":"wave","ch":"part:arm:-1","shape":"sin","w":13,"amp":26},{"op":"wave","ch":"part:arm:1","shape":"sin","w":13,"amp":-26},{"op":"ramp","to":{"dx":-1700},"over":"=0.32*max(dur, 0.1)","ease":"linear"},{"op":"wait","until":"=0.45*max(dur, 0.1)"},{"op":"ramp","to":{"dx":0},"over":"=0.55*max(dur, 0.1)","ease":"linear"}]}],"name":"offreturn"},"file":"behaviours/offreturn.json"},{"pack":1,"id":"c4c:beh:pace","type":"behaviour","version":"1.1.0","name":"Pace","description":"Slow, weary pacing back and forth.","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[{"id":"tween:studio/behaviors.py","version":"2026-06-08","note":"pose(\"pace\")"}],"preview":{"moves":["pace"],"seconds":4},"content_hash":"sha256:422939d2a8da27a76a50568c887b1eebdee5b2a8f04c1c958387fe7077ecae7b","content":{"v":1,"kind":"behaviour","params":{"drift":0.45},"scripts":[{"hat":{"on":"start"},"body":[{"op":"wave","ch":"dx","shape":"sin","w":"=drift","amp":170},{"op":"gait","every":0.78,"thighScale":0.8,"shinScale":0.7,"armSwing":0.3,"bob":[6,2],"roll":0,"view":"side"},{"op":"drive","ch":"sx","value":"=clamp(16*cos(drift*local), -1, 1)"},{"op":"set","to":{"sy":0.97}},{"op":"wave","ch":"rot","shape":"sin","w":"=drift","amp":2}]}],"name":"pace"},"file":"behaviours/pace.json"},{"pack":1,"id":"c4c:beh:patrol","type":"behaviour","version":"1.1.0","name":"Walk back and forth","description":"Walks across, turns around, walks back. Works for two legs or four.","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[],"preview":{"moves":["patrol"],"seconds":12},"content_hash":"sha256:60f5df5b5d85dec0ea6e1c2c0d0c74b5b8b57a73f3e6d87f9b0f727938be3cb8","content":{"v":1,"kind":"behaviour","name":"patrol","params":{"distance":420,"speed":160},"scripts":[{"body":[{"op":"together","branches":[[{"op":"forever","body":[{"op":"move","dx":"=distance","over":"=distance/speed","ease":"linear"},{"op":"scaleTo","sx":-1,"over":0.25},{"op":"move","dx":"=-distance","over":"=distance/speed","ease":"linear"},{"op":"scaleTo","sx":1,"over":0.25}]}],[{"op":"gait","every":0.62,"view":"side"}]]}]}]},"file":"behaviours/patrol.json"},{"pack":1,"id":"c4c:beh:point","type":"behaviour","version":"1.0.0","name":"Point","description":"Holds one arm out proudly.","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[{"id":"tween:studio/behaviors.py","version":"2026-06-08","note":"pose(\"point\")"}],"preview":{"moves":["point"],"seconds":4},"content_hash":"sha256:e8d21c3d59d8ed349ecea062c856f549fd7cd0c41ba616f8ca46d1caa24e43cf","content":{"v":1,"kind":"behaviour","scripts":[{"hat":{"on":"start"},"body":[{"op":"wave","ch":"dy","shape":"abssin","w":2.2,"amp":-3},{"op":"set","to":{"part:arm:1":-28,"part:arm:-1":6,"rot":-2,"sy":1.03}}]}],"name":"point"},"file":"behaviours/point.json"},{"pack":1,"id":"c4c:beh:pompom_shake","type":"behaviour","version":"1.0.0","name":"Cheer with pom-poms","description":"Cheers, shaking the hands high and low in turn, on the beat.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["pompom_shake"],"seconds":3},"content_hash":"sha256:3c63ee10bcdff8ed53539066798e87159f3097bb5c4dab518a175624890bdaac","content":{"v":1,"kind":"behaviour","name":"pompom_shake","scripts":[{"body":[{"op":"forever","body":[{"op":"ramp","to":{"part:arm:1":165,"part:forearm:1":20,"part:arm:-1":-110,"part:forearm:-1":-50,"dy":-4},"over":0.12,"ease":"out"},{"op":"ramp","to":{"part:arm:1":150,"part:forearm:1":-6,"part:arm:-1":-120,"part:forearm:-1":-70},"over":0.13},{"op":"ramp","to":{"part:arm:1":110,"part:forearm:1":50,"part:arm:-1":-165,"part:forearm:-1":-20,"dy":0},"over":0.12,"ease":"out"},{"op":"ramp","to":{"part:arm:1":120,"part:forearm:1":70,"part:arm:-1":-150,"part:forearm:-1":6},"over":0.13}]}]}]},"file":"behaviours/moves7/pompom_shake.json"},{"pack":1,"id":"c4c:beh:proclaim","type":"behaviour","version":"1.0.0","name":"Announce","description":"Still and dignified, leaning in a touch.","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[{"id":"tween:studio/behaviors.py","version":"2026-06-08","note":"pose(\"proclaim\")"}],"preview":{"moves":["proclaim"],"seconds":4},"content_hash":"sha256:2ed7e015b03a0f81f08bc86bb2a579520c1836e6ad2764e3d083aacf9100e0a7","content":{"v":1,"kind":"behaviour","scripts":[{"hat":{"on":"start"},"body":[{"op":"set","to":{"rot":1.5}},{"op":"wave","ch":"dy","shape":"abssin","w":1.6,"amp":-4}]}],"name":"proclaim"},"file":"behaviours/proclaim.json"},{"pack":1,"id":"c4c:beh:rap","type":"behaviour","version":"1.0.0","name":"Groove","description":"Grounded groove on a 96 BPM beat, hands gesturing on alternate beats.","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[{"id":"tween:studio/behaviors.py","version":"2026-06-08","note":"pose(\"rap\")"}],"preview":{"moves":["rap"],"seconds":4},"content_hash":"sha256:714ea71442e6abb81787737feb74489588fc866983708fe6b5b18143fe503a9f","content":{"v":1,"kind":"behaviour","scripts":[{"hat":{"on":"start"},"body":[{"op":"wave","ch":["part:shin:-1","part:shin:1"],"shape":"abssin","every":1.25,"amp":7},{"op":"wave","ch":"dy","shape":"abssin","every":1.25,"amp":4},{"op":"wave","ch":"sx","shape":"abssin","every":1.25,"amp":0.02},{"op":"wave","ch":"sy","shape":"abssin","every":1.25,"amp":-0.02},{"op":"forever","body":[{"op":"set","to":{"dx":6,"rot":1.5,"part:arm:1":-22,"part:arm:-1":6}},{"op":"wait","s":0.625},{"op":"set","to":{"dx":-6,"rot":-1.5,"part:arm:-1":22,"part:arm:1":-6}},{"op":"wait","s":0.625}]}]}],"name":"rap"},"file":"behaviours/rap.json"},{"pack":1,"id":"c4c:beh:react","type":"behaviour","version":"1.0.0","name":"Alarmed","description":"Leans back nervously, arms up, flinching now and then.","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[{"id":"tween:studio/behaviors.py","version":"2026-06-08","note":"pose(\"react\")"}],"preview":{"moves":["react"],"seconds":4},"content_hash":"sha256:016acbe4ca20098e66e56a7c1ebf59e2182b6b683c14c3a668a06f854e7eac8c","content":{"v":1,"kind":"behaviour","scripts":[{"hat":{"on":"start"},"body":[{"op":"wave","ch":"dy","shape":"abssin","w":2.5,"amp":-10},{"op":"wave","ch":"dy","shape":"possin","w":1.7,"amp":8,"pow":6},{"op":"wave","ch":"dx","shape":"sin","w":1.3,"amp":6,"offset":-20},{"op":"wave","ch":"rot","shape":"sin","w":1.1,"amp":2,"offset":-4},{"op":"wave","ch":"sx","shape":"sin","w":2.5,"amp":-0.01},{"op":"wave","ch":"sy","shape":"sin","w":2.5,"amp":0.015},{"op":"wave","ch":"sy","shape":"possin","w":1.7,"amp":-0.06,"pow":6},{"op":"wave","ch":"part:arm:-1","shape":"sin","w":4,"amp":6,"offset":-32},{"op":"wave","ch":"part:arm:1","shape":"sin","w":4,"amp":-6,"offset":32}]}],"name":"react"},"file":"behaviours/react.json"},{"pack":1,"id":"c4c:beh:ready_stance","type":"behaviour","version":"1.0.0","name":"Ready stance","description":"Feet apart, knees bent, hands up: ready for the duel. It stays ready.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["ready_stance"],"seconds":3},"content_hash":"sha256:c7409826207c5a45694aaf19c453f1ea1c75102c95cb15a7f39250f06b967373","content":{"v":1,"kind":"behaviour","name":"ready_stance","scripts":[{"body":[{"op":"ramp","to":{"part:arm:1":42,"part:forearm:1":64,"part:arm:-1":24,"part:forearm:-1":58,"rot":-3,"dy":6,"part:leg:1":16,"part:shin:1":12,"part:leg:-1":-14,"part:shin:-1":10},"over":0.3,"ease":"out"},{"op":"forever","body":[{"op":"ramp","to":{"dy":8},"over":0.6,"ease":"inout"},{"op":"ramp","to":{"dy":6},"over":0.6,"ease":"inout"}]}]}]},"file":"behaviours/moves7/ready_stance.json"},{"pack":1,"id":"c4c:beh:reveal","type":"behaviour","version":"1.0.0","name":"Slide in","description":"A prop slides in from a side and settles with a squish.","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[{"id":"tween:studio/behaviors.py","version":"2026-06-08","note":"pose(\"reveal\")"}],"preview":{"moves":["reveal"],"seconds":3},"content_hash":"sha256:adb157746138d3674f114a4495f0d46e838a8ce9ca927e0d1f4682c3775c3520","content":{"v":1,"kind":"behaviour","params":{"from_dx":460,"t_in":"=min(dur*0.6, 1.2)"},"scripts":[{"hat":{"on":"start"},"body":[{"op":"set","to":{"dx":"=from_dx"}},{"op":"together","branches":[[{"op":"ramp","to":{"dx":0},"over":"=max(t_in, 0.1)","ease":"smooth"}],[{"op":"for","s":"=max(t_in, 0.1)","body":[{"op":"wave","ch":"sx","shape":"sin","w":"=pi/max(t_in, 0.1)","amp":0.04},{"op":"wave","ch":"sy","shape":"sin","w":"=pi/max(t_in, 0.1)","amp":-0.04}]}]]}]}],"name":"reveal"},"file":"behaviours/reveal.json"},{"pack":1,"id":"c4c:beh:robot","type":"behaviour","version":"1.0.0","name":"Robot","description":"A robot dance: a new stiff pose on every beat.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["robot"],"seconds":3},"content_hash":"sha256:7c65106cfe07bdf16b694a2b4e4c9757768bebcabfe400494dfab86e990eb0a4","content":{"v":1,"kind":"behaviour","name":"robot","scripts":[{"body":[{"op":"forever","body":[{"op":"ramp","to":{"part:arm:1":90,"part:forearm:1":90,"part:arm:-1":-10,"part:forearm:-1":0,"part:head":8},"over":0.08,"ease":"snappy"},{"op":"wait","s":0.42},{"op":"ramp","to":{"part:arm:1":10,"part:forearm:1":0,"part:arm:-1":-90,"part:forearm:-1":-90,"part:head":-8},"over":0.08,"ease":"snappy"},{"op":"wait","s":0.42},{"op":"ramp","to":{"part:arm:1":90,"part:forearm:1":0,"part:arm:-1":-90,"part:forearm:-1":0,"part:head":0,"dy":4},"over":0.08,"ease":"snappy"},{"op":"wait","s":0.42},{"op":"ramp","to":{"part:arm:1":20,"part:forearm:1":90,"part:arm:-1":-20,"part:forearm:-1":-90,"dy":0},"over":0.08,"ease":"snappy"},{"op":"wait","s":0.42}]}]}]},"file":"behaviours/moves7/robot.json"},{"pack":1,"id":"c4c:beh:sadidle","type":"behaviour","version":"1.0.0","name":"Sad","description":"Slow, low, sighing sway.","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[{"id":"tween:studio/behaviors.py","version":"2026-06-08","note":"pose(\"sadidle\")"}],"preview":{"moves":["sadidle"],"seconds":4},"content_hash":"sha256:508250fb8103c308d140d91a80dea82dff5fce810d8f6ab059edb652c254a002","content":{"v":1,"kind":"behaviour","scripts":[{"hat":{"on":"start"},"body":[{"op":"wave","ch":"dy","shape":"abssin","w":1.4,"amp":4},{"op":"wave","ch":"sx","shape":"sin","w":1.4,"amp":-0.006},{"op":"wave","ch":"sy","shape":"sin","w":1.4,"amp":-0.01},{"op":"wave","ch":"rot","shape":"sin","w":0.9,"amp":1}]}],"name":"sadidle"},"file":"behaviours/sadidle.json"},{"pack":1,"id":"c4c:beh:shake_hands","type":"behaviour","version":"1.0.0","name":"Shake hands","description":"Holds out a hand and shakes. ⚑ Touch is where the hands meet.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["shake_hands"],"seconds":3},"content_hash":"sha256:c5218e552091a3f439d7d65c72d5847f52eadf595bbecf3d95fe2dc31c88fe4a","content":{"v":1,"kind":"behaviour","name":"shake_hands","scripts":[{"body":[{"op":"ramp","to":{"part:arm:1":56,"part:forearm:1":34,"rot":-2},"over":0.3,"ease":"out"},{"op":"setVar","var":"flag_touch","value":"=tau"},{"op":"repeat","n":3,"body":[{"op":"ramp","to":{"part:arm:1":64},"over":0.1},{"op":"ramp","to":{"part:arm:1":48},"over":0.1}]},{"op":"ramp","to":{"part:arm:1":0,"part:forearm:1":0,"rot":0},"over":0.3}]}]},"file":"behaviours/moves7/shake_hands.json"},{"pack":1,"id":"c4c:beh:shake_head","type":"behaviour","version":"1.0.0","name":"Shake head no","description":"Shakes the head from side to side: no.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["shake_head"],"seconds":3},"content_hash":"sha256:8ff6ca34a9b9c332e973d09b989c78bd7d522816f71e527c813752c21f2f0b00","content":{"v":1,"kind":"behaviour","name":"shake_head","scripts":[{"body":[{"op":"repeat","n":3,"body":[{"op":"ramp","to":{"part:head":11,"rot":1.5},"over":0.12},{"op":"ramp","to":{"part:head":-11,"rot":-1.5},"over":0.12}]},{"op":"ramp","to":{"part:head":0,"rot":0},"over":0.1}]}]},"file":"behaviours/moves7/shake_head.json"},{"pack":1,"id":"c4c:beh:shrug","type":"behaviour","version":"1.0.0","name":"Shrug","description":"Lifts the shoulders and opens the hands: who knows?","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["shrug"],"seconds":3},"content_hash":"sha256:661568ff0972134fb0bcf7c32db42457d444f93f2713845d798b017321b37df1","content":{"v":1,"kind":"behaviour","name":"shrug","scripts":[{"body":[{"op":"ramp","to":{"part:arm:1":30,"part:forearm:1":70,"part:arm:-1":-30,"part:forearm:-1":-70,"lift:head":-8,"part:head":6},"over":0.25,"ease":"out"},{"op":"wait","s":0.45},{"op":"ramp","to":{"part:arm:1":0,"part:forearm:1":0,"part:arm:-1":0,"part:forearm:-1":0,"lift:head":0,"part:head":0},"over":0.3}]}]},"file":"behaviours/moves7/shrug.json"},{"pack":1,"id":"c4c:beh:side_step","type":"behaviour","version":"1.0.0","name":"Side step","description":"Steps to one side and back, on the beat.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["side_step"],"seconds":3},"content_hash":"sha256:24a8de37fe0bedbf3b9f2485ded042dece0f0d32df5c9aa9abba891a58ed2a7d","content":{"v":1,"kind":"behaviour","name":"side_step","scripts":[{"body":[{"op":"forever","body":[{"op":"ramp","to":{"dx":24,"part:leg:1":16,"part:leg:-1":-6,"part:arm:1":30,"part:arm:-1":-12,"rot":2},"over":0.25,"ease":"out"},{"op":"ramp","to":{"dx":24,"part:leg:1":0,"part:leg:-1":0,"part:arm:1":14,"part:arm:-1":0,"rot":0},"over":0.25,"ease":"in"},{"op":"ramp","to":{"dx":-24,"part:leg:1":6,"part:leg:-1":-16,"part:arm:1":-12,"part:arm:-1":30,"rot":-2},"over":0.25,"ease":"out"},{"op":"ramp","to":{"dx":-24,"part:leg:1":0,"part:leg:-1":0,"part:arm:1":0,"part:arm:-1":14,"rot":0},"over":0.25,"ease":"in"}]}]}]},"file":"behaviours/moves7/side_step.json"},{"pack":1,"id":"c4c:beh:sidle","type":"behaviour","version":"1.0.0","name":"Hop across","description":"Little hops sideways across the stage.","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[{"id":"tween:studio/behaviors.py","version":"2026-06-08","note":"pose(\"sidle\")"}],"preview":{"moves":["sidle"],"seconds":4},"content_hash":"sha256:f935d91acbd9f13dd34afa29e54ad4d2ca606df9f6696a4b81305978c9c070fb","content":{"v":1,"kind":"behaviour","scripts":[{"hat":{"on":"start"},"body":[{"op":"wave","ch":"dy","shape":"abssin","w":"=2.6*pi","amp":-34},{"op":"wave","ch":"sx","shape":"abssin","w":"=2.6*pi","amp":0.1,"offset":0.96},{"op":"wave","ch":"sy","shape":"abssin","w":"=2.6*pi","amp":0.12,"offset":0.94},{"op":"wave","ch":"rot","shape":"sin","w":2,"amp":4},{"op":"ramp","to":{"dx":640},"over":"=max(dur*0.8, 0.1)","ease":"linear"}]}],"name":"sidle"},"file":"behaviours/sidle.json"},{"pack":1,"id":"c4c:beh:sit","type":"behaviour","version":"1.0.0","name":"Sit","description":"Sits and stays sitting, breathing and blinking: on the ground, on a chair or on a ledge (the on setting: 0, 1 or 2). It loops every 4 seconds.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["sit"],"seconds":4},"content_hash":"sha256:56460f53e91d6d85db79f8fe6b3e4e3f75d9841f103eb4bcf9f18fe0f0a3f0b7","content":{"v":1,"kind":"behaviour","name":"sit","params":{"h":540,"leg":0.24,"on":0},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"side"},{"op":"if","cond":"=on == 0","body":[{"op":"set","to":{"part:hips":20,"part:leg:-1":85,"part:leg:1":85,"part:shin:-1":75,"part:shin:1":75,"part:foot:-1":-30,"part:foot:1":-30,"dx":"=-h*leg/2*(sin((105)*pi/180) + sin(((105) - (75))*pi/180))","dy":"=h*leg/2*(2 - cos((105)*pi/180) - cos(((105) - (75))*pi/180))","part:torso":-14,"part:arm:-1":34,"part:arm:1":34,"part:forearm:-1":30,"part:forearm:1":30}}]},{"op":"if","cond":"=on == 1","body":[{"op":"set","to":{"part:hips":24,"part:leg:-1":64,"part:leg:1":64,"part:shin:-1":88,"part:shin:1":88,"part:foot:-1":0,"part:foot:1":0,"dx":"=-h*leg/2*(sin((88)*pi/180) + sin(((88) - (88))*pi/180))","dy":"=h*leg/2*(2 - cos((88)*pi/180) - cos(((88) - (88))*pi/180))","part:torso":-22,"part:arm:-1":30,"part:arm:1":30,"part:forearm:-1":40,"part:forearm:1":40}}]},{"op":"if","cond":"=on == 2","body":[{"op":"set","to":{"part:hips":24,"part:leg:-1":64,"part:leg:1":64,"part:shin:-1":88,"part:shin:1":88,"part:foot:-1":0,"part:foot:1":0,"dx":"=-h*leg/2*(sin((88)*pi/180) + sin(((88) - (88))*pi/180))","dy":0,"part:torso":-22,"part:arm:-1":22,"part:arm:1":22,"part:forearm:-1":30,"part:forearm:1":30}}]},{"op":"wave","ch":"sy","shape":"sin","every":4,"amp":0.01},{"op":"wave","ch":"sx","shape":"sin","every":4,"amp":-0.005},{"op":"wave","ch":"part:head","shape":"sin","every":4,"amp":1.4,"phase":1.4},{"op":"if","cond":"=on == 2","body":[{"op":"wave","ch":"part:shin:-1","shape":"sin","every":2,"amp":8},{"op":"wave","ch":"part:shin:1","shape":"sin","every":2,"amp":8,"phase":3.141592653589793}]},{"op":"wave","ch":"blink","shape":"possin","every":4,"amp":1,"pow":40,"phase":1.2}]}]},"file":"behaviours/cycles/sit.json"},{"pack":1,"id":"c4c:beh:sit_bird","type":"behaviour","version":"1.0.0","name":"Sit (bird)","description":"A bird sits settled on its folded legs, breathing, blinking and looking about: sitting for birds. It loops every 4 seconds.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["sit_bird"],"seconds":4},"content_hash":"sha256:34f793d561cdd6fc977d76b4495e0233aec3f5c546cfc4185bba4cf45ec0b5e9","content":{"v":1,"kind":"behaviour","name":"sit_bird","params":{"h":540,"leg":0.05,"on":0},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"side"},{"op":"set","to":{"part:leg:-1":45,"part:leg:1":45,"part:foot:-1":-45,"part:foot:1":-45,"dx":"=-h*leg*sin((45)*pi/180)","dy":"=h*leg*(1 - cos((45)*pi/180))","part:arm:-1":0,"part:arm:1":0,"part:head":-4,"part:tail":-14}},{"op":"wave","ch":"sy","shape":"sin","every":4,"amp":0.01},{"op":"wave","ch":"sx","shape":"sin","every":4,"amp":-0.005},{"op":"wave","ch":"part:head","shape":"sin","every":4,"amp":4,"phase":0.8},{"op":"wave","ch":"blink","shape":"possin","every":4,"amp":1,"pow":40,"phase":1.2}]}]},"file":"behaviours/cycles/sit_bird.json"},{"pack":1,"id":"c4c:beh:sit_down","type":"behaviour","version":"1.0.0","name":"Sit down","description":"Sits down, bending at the knees and hips with the arms out for balance, the feet where they stood: on the ground, on a chair or on a ledge (the on setting: 0, 1 or 2).","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["sit_down"],"seconds":3},"content_hash":"sha256:88a580f1a9a9cd0dd972ca876e55b60963b4406619032c46274a60f9464cf5bf","content":{"v":1,"kind":"behaviour","name":"sit_down","params":{"h":540,"leg":0.24,"on":0},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"side"},{"op":"together","branches":[[{"op":"ramp","to":{"part:hips":8,"part:leg:-1":16,"part:leg:1":16,"part:shin:-1":40,"part:shin:1":40,"part:foot:-1":16,"part:foot:1":16,"part:torso":-12,"part:arm:-1":50,"part:arm:1":50,"part:forearm:-1":10,"part:forearm:1":10},"over":0.3,"ease":"in"}],[{"op":"set","to":{"dx":0,"dy":0}},{"op":"for","s":0.3,"body":[{"op":"drive","ch":"dy","value":"=h*leg/2*(2 - cos(((0 + 24*pow(min(local/0.3, 1), 2)))*pi/180) - cos((((0 + 24*pow(min(local/0.3, 1), 2))) - ((0 + 40*pow(min(local/0.3, 1), 2))))*pi/180))"},{"op":"drive","ch":"dx","value":"=-h*leg/2*(sin(((0 + 24*pow(min(local/0.3, 1), 2)))*pi/180) + sin((((0 + 24*pow(min(local/0.3, 1), 2))) - ((0 + 40*pow(min(local/0.3, 1), 2))))*pi/180))"}]}]]},{"op":"set","to":{"dx":"=-h*leg/2*(sin((24)*pi/180) + sin(((24) - (40))*pi/180))","dy":"=h*leg/2*(2 - cos((24)*pi/180) - cos(((24) - (40))*pi/180))"}},{"op":"if","cond":"=on == 0","body":[{"op":"together","branches":[[{"op":"ramp","to":{"part:hips":20,"part:leg:-1":85,"part:leg:1":85,"part:shin:-1":75,"part:shin:1":75,"part:foot:-1":-30,"part:foot:1":-30,"part:torso":-14,"part:arm:-1":34,"part:arm:1":34,"part:forearm:-1":30,"part:forearm:1":30},"over":0.55,"ease":"smooth"}],[{"op":"set","to":{"dx":0,"dy":0}},{"op":"for","s":0.55,"body":[{"op":"drive","ch":"dy","value":"=h*leg/2*(2 - cos(((24 + 81*smoothstep(min(local/0.55, 1))))*pi/180) - cos((((24 + 81*smoothstep(min(local/0.55, 1)))) - ((40 + 35*smoothstep(min(local/0.55, 1)))))*pi/180))"},{"op":"drive","ch":"dx","value":"=-h*leg/2*(sin(((24 + 81*smoothstep(min(local/0.55, 1))))*pi/180) + sin((((24 + 81*smoothstep(min(local/0.55, 1)))) - ((40 + 35*smoothstep(min(local/0.55, 1)))))*pi/180))"}]}]]},{"op":"set","to":{"dx":"=-h*leg/2*(sin((105)*pi/180) + sin(((105) - (75))*pi/180))","dy":"=h*leg/2*(2 - cos((105)*pi/180) - cos(((105) - (75))*pi/180))"}}]},{"op":"if","cond":"=on == 1","body":[{"op":"together","branches":[[{"op":"ramp","to":{"part:hips":24,"part:leg:-1":64,"part:leg:1":64,"part:shin:-1":88,"part:shin:1":88,"part:foot:-1":0,"part:foot:1":0,"part:torso":-22,"part:arm:-1":30,"part:arm:1":30,"part:forearm:-1":40,"part:forearm:1":40},"over":0.55,"ease":"smooth"}],[{"op":"set","to":{"dx":0,"dy":0}},{"op":"for","s":0.55,"body":[{"op":"drive","ch":"dy","value":"=h*leg/2*(2 - cos(((24 + 64*smoothstep(min(local/0.55, 1))))*pi/180) - cos((((24 + 64*smoothstep(min(local/0.55, 1)))) - ((40 + 48*smoothstep(min(local/0.55, 1)))))*pi/180))"},{"op":"drive","ch":"dx","value":"=-h*leg/2*(sin(((24 + 64*smoothstep(min(local/0.55, 1))))*pi/180) + sin((((24 + 64*smoothstep(min(local/0.55, 1)))) - ((40 + 48*smoothstep(min(local/0.55, 1)))))*pi/180))"}]}]]},{"op":"set","to":{"dx":"=-h*leg/2*(sin((88)*pi/180) + sin(((88) - (88))*pi/180))","dy":"=h*leg/2*(2 - cos((88)*pi/180) - cos(((88) - (88))*pi/180))"}}]},{"op":"if","cond":"=on == 2","body":[{"op":"together","branches":[[{"op":"ramp","to":{"part:hips":24,"part:leg:-1":64,"part:leg:1":64,"part:shin:-1":88,"part:shin:1":88,"part:foot:-1":0,"part:foot:1":0,"part:torso":-22,"part:arm:-1":22,"part:arm:1":22,"part:forearm:-1":30,"part:forearm:1":30},"over":0.55,"ease":"smooth"}],[{"op":"set","to":{"dx":0,"dy":0}},{"op":"for","s":0.55,"body":[{"op":"drive","ch":"dx","value":"=-h*leg/2*(sin(((24 + 64*smoothstep(min(local/0.55, 1))))*pi/180) + sin((((24 + 64*smoothstep(min(local/0.55, 1)))) - ((40 + 48*smoothstep(min(local/0.55, 1)))))*pi/180))"}]}]]},{"op":"set","to":{"dx":"=-h*leg/2*(sin((88)*pi/180) + sin(((88) - (88))*pi/180))","dy":0}}]}]}]},"file":"behaviours/cycles/sit_down.json"},{"pack":1,"id":"c4c:beh:sit_down_bird","type":"behaviour","version":"1.0.0","name":"Settle down (bird)","description":"A bird settles down onto its folded legs, fluffing its wings: sitting for birds, the same on the ground, a perch or a ledge.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["sit_down_bird"],"seconds":3},"content_hash":"sha256:7277bc3e6736ba3ff243336ac0dd5e1a07ff189bb366506c2501db0496a397a3","content":{"v":1,"kind":"behaviour","name":"sit_down_bird","params":{"h":540,"leg":0.05,"on":0},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"side"},{"op":"together","branches":[[{"op":"ramp","to":{"part:leg:-1":45,"part:leg:1":45,"part:foot:-1":-45,"part:foot:1":-45,"part:arm:-1":-10,"part:arm:1":10,"part:head":-4,"part:tail":-14},"over":0.7,"ease":"smooth"}],[{"op":"set","to":{"dx":0,"dy":0}},{"op":"for","s":0.7,"body":[{"op":"drive","ch":"dy","value":"=h*leg*(1 - cos(((0 + 45*smoothstep(min(local/0.7, 1))))*pi/180))"},{"op":"drive","ch":"dx","value":"=-h*leg*sin(((0 + 45*smoothstep(min(local/0.7, 1))))*pi/180)"}]}]]},{"op":"set","to":{"dx":"=-h*leg*sin((45)*pi/180)","dy":"=h*leg*(1 - cos((45)*pi/180))"}},{"op":"ramp","to":{"part:arm:-1":0,"part:arm:1":0},"over":0.2,"ease":"smooth"}]}]},"file":"behaviours/cycles/sit_down_bird.json"},{"pack":1,"id":"c4c:beh:sit_down_fours","type":"behaviour","version":"1.0.0","name":"Sit down (four legs)","description":"An animal on four legs sits down, its rear coming down onto its folded back legs and its front staying up on straight legs, the paws where they stood.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["sit_down_fours"],"seconds":3},"content_hash":"sha256:ab1b255ce9f6f5d75161d0d3d613bcf99b6b9278e1f72dfe338be7ee2956f33d","content":{"v":1,"kind":"behaviour","name":"sit_down_fours","params":{"h":540,"leg":0.33,"on":0},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"side"},{"op":"ramp","to":{"part:torso":34,"part:head":-16,"part:tail":16,"dy":"=-0.01*h"},"over":0.7,"ease":"smooth"}]}]},"file":"behaviours/cycles/sit_down_fours.json"},{"pack":1,"id":"c4c:beh:sit_down_front","type":"behaviour","version":"1.0.0","name":"Sit down (seen from the front)","description":"Sits down facing you, the thighs coming toward you as the knees bend, the feet where they stood: on the ground, on a chair or on a ledge (the on setting: 0, 1 or 2).","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["sit_down_front"],"seconds":3},"content_hash":"sha256:000b521fb2445cb820f6d925da0548d25718e937838d49a69883e9facf6046ff","content":{"v":1,"kind":"behaviour","name":"sit_down_front","params":{"h":540,"leg":0.24,"on":0},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"front"},{"op":"together","branches":[[{"op":"ramp","to":{"part:leg:-1":30,"part:leg:1":30,"part:shin:-1":30,"part:shin:1":30,"part:foot:-1":0,"part:foot:1":0,"part:arm:-1":24,"part:arm:1":24},"over":0.3,"ease":"in"}],[{"op":"set","to":{"dy":0}},{"op":"for","s":0.3,"body":[{"op":"drive","ch":"dy","value":"=h*leg/2*(2 - cos(((0 + 30*pow(min(local/0.3, 1), 2)))*pi/180) - cos(((0 + 30*pow(min(local/0.3, 1), 2)))*pi/180) + 0.55*sin(((0 + 30*pow(min(local/0.3, 1), 2)))*pi/180))"}]}]]},{"op":"set","to":{"dy":"=h*leg/2*(2 - cos((30)*pi/180) - cos((30)*pi/180) + 0.55*sin((30)*pi/180))"}},{"op":"if","cond":"=on == 0","body":[{"op":"together","branches":[[{"op":"ramp","to":{"part:leg:-1":85,"part:leg:1":85,"part:shin:-1":0,"part:shin:1":0,"part:foot:-1":0,"part:foot:1":0,"part:arm:-1":16,"part:arm:1":16,"part:forearm:-1":20,"part:forearm:1":20},"over":0.55,"ease":"smooth"}],[{"op":"set","to":{"dy":0}},{"op":"for","s":0.55,"body":[{"op":"drive","ch":"dy","value":"=h*leg/2*(2 - cos(((30 + 55*smoothstep(min(local/0.55, 1))))*pi/180) - cos(((30 + -30*smoothstep(min(local/0.55, 1))))*pi/180) + 0.55*sin(((30 + -30*smoothstep(min(local/0.55, 1))))*pi/180))"}]}]]},{"op":"set","to":{"dy":"=h*leg/2*(2 - cos((85)*pi/180) - cos((0)*pi/180) + 0.55*sin((0)*pi/180))"}}]},{"op":"if","cond":"=on == 1","body":[{"op":"together","branches":[[{"op":"ramp","to":{"part:leg:-1":85,"part:leg:1":85,"part:shin:-1":0,"part:shin:1":0,"part:foot:-1":0,"part:foot:1":0,"part:arm:-1":16,"part:arm:1":16,"part:forearm:-1":20,"part:forearm:1":20},"over":0.55,"ease":"smooth"}],[{"op":"set","to":{"dy":0}},{"op":"for","s":0.55,"body":[{"op":"drive","ch":"dy","value":"=h*leg/2*(2 - cos(((30 + 55*smoothstep(min(local/0.55, 1))))*pi/180) - cos(((30 + -30*smoothstep(min(local/0.55, 1))))*pi/180) + 0.55*sin(((30 + -30*smoothstep(min(local/0.55, 1))))*pi/180))"}]}]]},{"op":"set","to":{"dy":"=h*leg/2*(2 - cos((85)*pi/180) - cos((0)*pi/180) + 0.55*sin((0)*pi/180))"}}]},{"op":"if","cond":"=on == 2","body":[{"op":"together","branches":[[{"op":"ramp","to":{"part:leg:-1":85,"part:leg:1":85,"part:shin:-1":0,"part:shin:1":0,"part:foot:-1":0,"part:foot:1":0,"part:arm:-1":16,"part:arm:1":16,"part:forearm:-1":20,"part:forearm:1":20},"over":0.55,"ease":"smooth"}],[{"op":"set","to":{"dy":0}},{"op":"for","s":0.55,"body":[{"op":"drive","ch":"dy","value":"=h*leg/2*(2 - cos(((30 + 55*smoothstep(min(local/0.55, 1))))*pi/180) - cos(((30 + -30*smoothstep(min(local/0.55, 1))))*pi/180) + 0.55*sin(((30 + -30*smoothstep(min(local/0.55, 1))))*pi/180))"}]}]]},{"op":"set","to":{"dy":"=h*leg/2*(2 - cos((85)*pi/180) - cos((0)*pi/180) + 0.55*sin((0)*pi/180))"}}]}]}]},"file":"behaviours/cycles/sit_down_front.json"},{"pack":1,"id":"c4c:beh:sit_down_hop","type":"behaviour","version":"1.0.0","name":"Sit down (short legs)","description":"Settles down onto its folded short legs, its tail out behind and its paws resting: sitting for the upright animal, the same on the ground, a chair or a ledge.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["sit_down_hop"],"seconds":3},"content_hash":"sha256:921fdb716add6520cf61b77bd60c465fe56ff339bfda064f59df0284f6d7a29d","content":{"v":1,"kind":"behaviour","name":"sit_down_hop","params":{"h":540,"leg":0.09,"on":0},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"side"},{"op":"together","branches":[[{"op":"ramp","to":{"part:hips":0,"part:leg:-1":46,"part:leg:1":46,"part:shin:-1":92,"part:shin:1":92,"part:foot:-1":46,"part:foot:1":46,"part:tail":-10,"part:torso":-4,"part:arm:-1":20,"part:arm:1":20,"part:forearm:-1":30,"part:forearm:1":30},"over":0.7,"ease":"smooth"}],[{"op":"set","to":{"dx":0,"dy":0}},{"op":"for","s":0.7,"body":[{"op":"drive","ch":"dy","value":"=h*leg/2*(2 - cos(((0 + 46*smoothstep(min(local/0.7, 1))))*pi/180) - cos((((0 + 46*smoothstep(min(local/0.7, 1)))) - ((0 + 92*smoothstep(min(local/0.7, 1)))))*pi/180))"},{"op":"drive","ch":"dx","value":"=-h*leg/2*(sin(((0 + 46*smoothstep(min(local/0.7, 1))))*pi/180) + sin((((0 + 46*smoothstep(min(local/0.7, 1)))) - ((0 + 92*smoothstep(min(local/0.7, 1)))))*pi/180))"}]}]]},{"op":"set","to":{"dx":"=-h*leg/2*(sin((46)*pi/180) + sin(((46) - (92))*pi/180))","dy":"=h*leg/2*(2 - cos((46)*pi/180) - cos(((46) - (92))*pi/180))"}}]}]},"file":"behaviours/cycles/sit_down_hop.json"},{"pack":1,"id":"c4c:beh:sit_down_many","type":"behaviour","version":"1.0.0","name":"Settle down (many legs)","description":"A crab settles its shell down onto the ground on spread legs, its claws resting: sitting for many legs.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["sit_down_many"],"seconds":3},"content_hash":"sha256:39cb310f2c77682e04e4e077ae57d6a798aaeb2134d9beb94700622611157405","content":{"v":1,"kind":"behaviour","name":"sit_down_many","params":{"h":540,"leg":0.1,"on":0},"scripts":[{"hat":{"on":"start"},"body":[{"op":"ramp","to":{"part:leg#0":34,"part:leg#1":34,"part:leg#2":34,"part:leg#3":34,"part:leg#4":34,"part:leg#5":34,"part:leg#6":34,"part:leg#7":34,"part:leg#8":34,"part:leg#9":34,"part:leg#10":34,"part:leg#11":34,"part:leg#12":34,"part:leg#13":34,"part:leg#14":34,"part:leg#15":34,"part:shin:-1":0,"part:shin:1":0,"dy":"=h*leg*0.1","part:arm:-1":-4,"part:arm:1":4,"lift:arm:-1":"=0.038*h","lift:arm:1":"=0.038*h"},"over":0.7,"ease":"smooth"}]}]},"file":"behaviours/cycles/sit_down_many.json"},{"pack":1,"id":"c4c:beh:sit_fours","type":"behaviour","version":"1.0.0","name":"Sit (four legs)","description":"An animal on four legs sits and stays sitting, breathing, blinking and wagging its tail now and then. It loops every 4 seconds.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["sit_fours"],"seconds":4},"content_hash":"sha256:dda63f880b92e7c95402c0b446c75e8168f6415c6452514dff1cce285c915c81","content":{"v":1,"kind":"behaviour","name":"sit_fours","params":{"h":540,"leg":0.33,"on":0},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"side"},{"op":"set","to":{"part:torso":34,"part:head":-16,"part:tail":16,"dy":"=-0.01*h"}},{"op":"wave","ch":"sy","shape":"sin","every":4,"amp":0.01},{"op":"wave","ch":"part:head","shape":"sin","every":4,"amp":3,"phase":0.8},{"op":"wave","ch":"part:tail","shape":"sin","every":1,"amp":10},{"op":"wave","ch":"blink","shape":"possin","every":4,"amp":1,"pow":40,"phase":1.2}]}]},"file":"behaviours/cycles/sit_fours.json"},{"pack":1,"id":"c4c:beh:sit_front","type":"behaviour","version":"1.0.0","name":"Sit (seen from the front)","description":"Sits facing you and stays sitting, breathing and blinking: on the ground, on a chair or on a ledge (the on setting: 0, 1 or 2). It loops every 4 seconds.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["sit_front"],"seconds":4},"content_hash":"sha256:357f66da9c731965e8a8cd7f10e7e858adefbbb97d3096f9d429a446cdcfcc1c","content":{"v":1,"kind":"behaviour","name":"sit_front","params":{"h":540,"leg":0.24,"on":0},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"front"},{"op":"if","cond":"=on == 0","body":[{"op":"set","to":{"part:leg:-1":85,"part:leg:1":85,"part:shin:-1":0,"part:shin:1":0,"part:foot:-1":0,"part:foot:1":0,"part:arm:-1":16,"part:arm:1":16,"part:forearm:-1":20,"part:forearm:1":20,"dy":"=h*leg/2*(2 - cos((85)*pi/180) - cos((0)*pi/180) + 0.55*sin((0)*pi/180))"}}]},{"op":"if","cond":"=on == 1","body":[{"op":"set","to":{"part:leg:-1":85,"part:leg:1":85,"part:shin:-1":0,"part:shin:1":0,"part:foot:-1":0,"part:foot:1":0,"part:arm:-1":16,"part:arm:1":16,"part:forearm:-1":20,"part:forearm:1":20,"dy":"=h*leg/2*(2 - cos((85)*pi/180) - cos((0)*pi/180) + 0.55*sin((0)*pi/180))"}}]},{"op":"if","cond":"=on == 2","body":[{"op":"set","to":{"part:leg:-1":85,"part:leg:1":85,"part:shin:-1":0,"part:shin:1":0,"part:foot:-1":0,"part:foot:1":0,"part:arm:-1":16,"part:arm:1":16,"part:forearm:-1":20,"part:forearm:1":20,"dy":"=h*leg/2*(2 - cos((85)*pi/180) - cos((0)*pi/180) + 0.55*sin((0)*pi/180))"}}]},{"op":"wave","ch":"sy","shape":"sin","every":4,"amp":0.01},{"op":"wave","ch":"sx","shape":"sin","every":4,"amp":-0.005},{"op":"wave","ch":"part:head","shape":"sin","every":4,"amp":1.4,"phase":1.4},{"op":"wave","ch":"blink","shape":"possin","every":4,"amp":1,"pow":40,"phase":1.2}]}]},"file":"behaviours/cycles/sit_front.json"},{"pack":1,"id":"c4c:beh:sit_hop","type":"behaviour","version":"1.0.0","name":"Sit (short legs)","description":"Sits settled on its folded short legs, breathing, blinking and twitching its ears: sitting for the upright animal. It loops every 4 seconds.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["sit_hop"],"seconds":4},"content_hash":"sha256:fd90721c794cb463339dc9397ab20d1f9f2f9bdb49d61e78fecb5041ec3ed878","content":{"v":1,"kind":"behaviour","name":"sit_hop","params":{"h":540,"leg":0.09,"on":0},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"side"},{"op":"set","to":{"part:hips":0,"part:leg:-1":46,"part:leg:1":46,"part:shin:-1":92,"part:shin:1":92,"part:foot:-1":46,"part:foot:1":46,"dx":"=-h*leg/2*(sin((46)*pi/180) + sin(((46) - (92))*pi/180))","dy":"=h*leg/2*(2 - cos((46)*pi/180) - cos(((46) - (92))*pi/180))","part:tail":-10,"part:torso":-4,"part:arm:-1":20,"part:arm:1":20,"part:forearm:-1":30,"part:forearm:1":30}},{"op":"wave","ch":"sy","shape":"sin","every":4,"amp":0.01},{"op":"wave","ch":"sx","shape":"sin","every":4,"amp":-0.005},{"op":"wave","ch":"part:head","shape":"sin","every":4,"amp":1.4,"phase":1.4},{"op":"wave","ch":"part:ear","shape":"sin","every":2,"amp":6},{"op":"wave","ch":"blink","shape":"possin","every":4,"amp":1,"pow":40,"phase":1.2}]}]},"file":"behaviours/cycles/sit_hop.json"},{"pack":1,"id":"c4c:beh:sit_many","type":"behaviour","version":"1.0.0","name":"Sit (many legs)","description":"A crab sits settled on its spread legs, breathing and blinking, a claw tapping now and then. It loops every 4 seconds.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["sit_many"],"seconds":4},"content_hash":"sha256:28baa8f125e2cc42aa8f66f2db098c3e1ce74aa36c6bca90fe7b244d56c22374","content":{"v":1,"kind":"behaviour","name":"sit_many","params":{"h":540,"leg":0.1,"on":0},"scripts":[{"hat":{"on":"start"},"body":[{"op":"set","to":{"part:leg#0":34,"part:leg#1":34,"part:leg#2":34,"part:leg#3":34,"part:leg#4":34,"part:leg#5":34,"part:leg#6":34,"part:leg#7":34,"part:leg#8":34,"part:leg#9":34,"part:leg#10":34,"part:leg#11":34,"part:leg#12":34,"part:leg#13":34,"part:leg#14":34,"part:leg#15":34,"part:shin:-1":0,"part:shin:1":0,"dy":"=h*leg*0.1","part:arm:-1":-4,"part:arm:1":4,"lift:arm:-1":"=0.038*h","lift:arm:1":"=0.038*h"}},{"op":"wave","ch":"sy","shape":"sin","every":4,"amp":0.012},{"op":"wave","ch":"part:claw:1","shape":"sin","every":2,"amp":-8},{"op":"wave","ch":"blink","shape":"possin","every":4,"amp":1,"pow":40,"phase":1.2}]}]},"file":"behaviours/cycles/sit_many.json"},{"pack":1,"id":"c4c:beh:snap_claws","type":"behaviour","version":"1.0.0","name":"Snap claws","description":"Holds the claws up and snaps them, one snap a beat. ⚑ Snap! is the snap.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["snap_claws"],"seconds":3},"content_hash":"sha256:6d4ea172016f01d7fca9b61b85d43b8622b8206398e85abff6a9266b01422ba7","content":{"v":1,"kind":"behaviour","name":"snap_claws","scripts":[{"body":[{"op":"ramp","to":{"part:arm:1":120,"part:forearm:1":60,"part:arm:-1":-120,"part:forearm:-1":-60},"over":0.2,"ease":"out"},{"op":"forever","body":[{"op":"ramp","to":{"part:claw":34},"over":0.08,"ease":"snappy"},{"op":"setVar","var":"flag_snap","value":"=tau"},{"op":"ramp","to":{"part:claw":0},"over":0.17},{"op":"wait","s":0.25}]}]}]},"file":"behaviours/moves7/snap_claws.json"},{"pack":1,"id":"c4c:beh:spin","type":"behaviour","version":"1.0.0","name":"Spin","description":"Spins right round, arms out, in two beats.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["spin"],"seconds":3},"content_hash":"sha256:3fd34678e8c722d203399737fe16c56b50c6475896a9a04792bedc870fd63928","content":{"v":1,"kind":"behaviour","name":"spin","scripts":[{"body":[{"op":"ramp","to":{"part:arm:1":70,"part:arm:-1":-70,"part:forearm:1":10,"part:forearm:-1":-10},"over":0.1,"ease":"out"},{"op":"turnView","to":"side","over":0.2},{"op":"turnView","to":"back","over":0.2},{"op":"turnView","to":"side","over":0.2},{"op":"turnView","to":"front","over":0.2},{"op":"ramp","to":{"part:arm:1":0,"part:arm:-1":0,"part:forearm:1":0,"part:forearm:-1":0},"over":0.1}]}]},"file":"behaviours/moves7/spin.json"},{"pack":1,"id":"c4c:beh:squirrel_idle","type":"behaviour","version":"1.0.0","name":"Fidget","description":"Bored little bob with a slow lean.","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[{"id":"tween:studio/behaviors.py","version":"2026-06-08","note":"pose(\"squirrel_idle\")"}],"preview":{"moves":["squirrel_idle"],"seconds":4},"content_hash":"sha256:d6725ce1bd6c7e66b6270b71ac269e9baec2c7011a9ef3072aedbeea94b7b63c","content":{"v":1,"kind":"behaviour","scripts":[{"hat":{"on":"start"},"body":[{"op":"wave","ch":"dy","shape":"abssin","w":1.6,"amp":-4},{"op":"wave","ch":"rot","shape":"sin","w":0.4,"amp":1.5}]}],"name":"squirrel_idle"},"file":"behaviours/squirrel_idle.json"},{"pack":1,"id":"c4c:beh:stand_up","type":"behaviour","version":"1.0.0","name":"Stand up","description":"Stands up from sitting, leaning forward over the feet and pushing up: from the ground, a chair or a ledge (the on setting: 0, 1 or 2).","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["stand_up"],"seconds":3},"content_hash":"sha256:916636588ca8b06c3d69ee803ffbc1c246e7a275b55270dafba7f03f5e74174c","content":{"v":1,"kind":"behaviour","name":"stand_up","params":{"h":540,"leg":0.24,"on":0},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"side"},{"op":"if","cond":"=on == 0","body":[{"op":"set","to":{"part:hips":20,"part:leg:-1":85,"part:leg:1":85,"part:shin:-1":75,"part:shin:1":75,"part:foot:-1":-30,"part:foot:1":-30,"dx":"=-h*leg/2*(sin((105)*pi/180) + sin(((105) - (75))*pi/180))","dy":"=h*leg/2*(2 - cos((105)*pi/180) - cos(((105) - (75))*pi/180))","part:torso":-14,"part:arm:-1":34,"part:arm:1":34,"part:forearm:-1":30,"part:forearm:1":30}}]},{"op":"if","cond":"=on == 1","body":[{"op":"set","to":{"part:hips":24,"part:leg:-1":64,"part:leg:1":64,"part:shin:-1":88,"part:shin:1":88,"part:foot:-1":0,"part:foot:1":0,"dx":"=-h*leg/2*(sin((88)*pi/180) + sin(((88) - (88))*pi/180))","dy":"=h*leg/2*(2 - cos((88)*pi/180) - cos(((88) - (88))*pi/180))","part:torso":-22,"part:arm:-1":30,"part:arm:1":30,"part:forearm:-1":40,"part:forearm:1":40}}]},{"op":"if","cond":"=on == 2","body":[{"op":"set","to":{"part:hips":24,"part:leg:-1":64,"part:leg:1":64,"part:shin:-1":88,"part:shin:1":88,"part:foot:-1":0,"part:foot:1":0,"dx":"=-h*leg/2*(sin((88)*pi/180) + sin(((88) - (88))*pi/180))","dy":0,"part:torso":-22,"part:arm:-1":22,"part:arm:1":22,"part:forearm:-1":30,"part:forearm:1":30}}]},{"op":"if","cond":"=on == 0","body":[{"op":"together","branches":[[{"op":"ramp","to":{"part:hips":8,"part:leg:-1":16,"part:leg:1":16,"part:shin:-1":40,"part:shin:1":40,"part:foot:-1":16,"part:foot:1":16,"part:torso":-20,"part:arm:-1":45,"part:arm:1":45,"part:forearm:-1":10,"part:forearm:1":10},"over":0.5,"ease":"smooth"}],[{"op":"set","to":{"dx":0,"dy":0}},{"op":"for","s":0.5,"body":[{"op":"drive","ch":"dy","value":"=h*leg/2*(2 - cos(((105 + -81*smoothstep(min(local/0.5, 1))))*pi/180) - cos((((105 + -81*smoothstep(min(local/0.5, 1)))) - ((75 + -35*smoothstep(min(local/0.5, 1)))))*pi/180))"},{"op":"drive","ch":"dx","value":"=-h*leg/2*(sin(((105 + -81*smoothstep(min(local/0.5, 1))))*pi/180) + sin((((105 + -81*smoothstep(min(local/0.5, 1)))) - ((75 + -35*smoothstep(min(local/0.5, 1)))))*pi/180))"}]}]]},{"op":"set","to":{"dx":"=-h*leg/2*(sin((24)*pi/180) + sin(((24) - (40))*pi/180))","dy":"=h*leg/2*(2 - cos((24)*pi/180) - cos(((24) - (40))*pi/180))"}}]},{"op":"if","cond":"=on == 1","body":[{"op":"together","branches":[[{"op":"ramp","to":{"part:hips":8,"part:leg:-1":16,"part:leg:1":16,"part:shin:-1":40,"part:shin:1":40,"part:foot:-1":16,"part:foot:1":16,"part:torso":-20,"part:arm:-1":45,"part:arm:1":45,"part:forearm:-1":10,"part:forearm:1":10},"over":0.5,"ease":"smooth"}],[{"op":"set","to":{"dx":0,"dy":0}},{"op":"for","s":0.5,"body":[{"op":"drive","ch":"dy","value":"=h*leg/2*(2 - cos(((88 + -64*smoothstep(min(local/0.5, 1))))*pi/180) - cos((((88 + -64*smoothstep(min(local/0.5, 1)))) - ((88 + -48*smoothstep(min(local/0.5, 1)))))*pi/180))"},{"op":"drive","ch":"dx","value":"=-h*leg/2*(sin(((88 + -64*smoothstep(min(local/0.5, 1))))*pi/180) + sin((((88 + -64*smoothstep(min(local/0.5, 1)))) - ((88 + -48*smoothstep(min(local/0.5, 1)))))*pi/180))"}]}]]},{"op":"set","to":{"dx":"=-h*leg/2*(sin((24)*pi/180) + sin(((24) - (40))*pi/180))","dy":"=h*leg/2*(2 - cos((24)*pi/180) - cos(((24) - (40))*pi/180))"}}]},{"op":"if","cond":"=on == 2","body":[{"op":"together","branches":[[{"op":"ramp","to":{"part:hips":8,"part:leg:-1":16,"part:leg:1":16,"part:shin:-1":40,"part:shin:1":40,"part:foot:-1":16,"part:foot:1":16,"part:torso":-20,"part:arm:-1":45,"part:arm:1":45,"part:forearm:-1":10,"part:forearm:1":10},"over":0.5,"ease":"smooth"}],[{"op":"set","to":{"dx":0,"dy":0}},{"op":"for","s":0.5,"body":[{"op":"drive","ch":"dx","value":"=-h*leg/2*(sin(((88 + -64*smoothstep(min(local/0.5, 1))))*pi/180) + sin((((88 + -64*smoothstep(min(local/0.5, 1)))) - ((88 + -48*smoothstep(min(local/0.5, 1)))))*pi/180))"}]}]]},{"op":"set","to":{"dx":"=-h*leg/2*(sin((24)*pi/180) + sin(((24) - (40))*pi/180))","dy":0}}]},{"op":"together","branches":[[{"op":"ramp","to":{"part:hips":0,"part:leg:-1":0,"part:leg:1":0,"part:shin:-1":0,"part:shin:1":0,"part:foot:-1":0,"part:foot:1":0,"part:torso":0,"part:arm:-1":0,"part:arm:1":0,"part:forearm:-1":0,"part:forearm:1":0},"over":0.35,"ease":"out"}],[{"op":"set","to":{"dx":0,"dy":0}},{"op":"for","s":0.35,"body":[{"op":"drive","ch":"dy","value":"=h*leg/2*(2 - cos(((24 + -24*sin((min(local/0.35, 1))*pi/2)))*pi/180) - cos((((24 + -24*sin((min(local/0.35, 1))*pi/2))) - ((40 + -40*sin((min(local/0.35, 1))*pi/2))))*pi/180))"},{"op":"drive","ch":"dx","value":"=-h*leg/2*(sin(((24 + -24*sin((min(local/0.35, 1))*pi/2)))*pi/180) + sin((((24 + -24*sin((min(local/0.35, 1))*pi/2))) - ((40 + -40*sin((min(local/0.35, 1))*pi/2))))*pi/180))"}]}]]},{"op":"set","to":{"dx":"=-h*leg/2*(sin((0)*pi/180) + sin(((0) - (0))*pi/180))","dy":"=h*leg/2*(2 - cos((0)*pi/180) - cos(((0) - (0))*pi/180))"}}]}]},"file":"behaviours/cycles/stand_up.json"},{"pack":1,"id":"c4c:beh:stand_up_bird","type":"behaviour","version":"1.0.0","name":"Stand up (bird)","description":"A bird stands up from sitting, straightening its legs and giving its wings a shake.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["stand_up_bird"],"seconds":3},"content_hash":"sha256:3d1544d7f9ff5054ad0d090c998d5c536d77ff3417d2de5efd3837f458220d62","content":{"v":1,"kind":"behaviour","name":"stand_up_bird","params":{"h":540,"leg":0.05,"on":0},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"side"},{"op":"set","to":{"part:leg:-1":45,"part:leg:1":45,"part:foot:-1":-45,"part:foot:1":-45,"dx":"=-h*leg*sin((45)*pi/180)","dy":"=h*leg*(1 - cos((45)*pi/180))","part:arm:-1":0,"part:arm:1":0,"part:head":-4,"part:tail":-14}},{"op":"together","branches":[[{"op":"ramp","to":{"part:leg:-1":0,"part:leg:1":0,"part:foot:-1":0,"part:foot:1":0,"part:head":0,"part:tail":0},"over":0.6,"ease":"smooth"}],[{"op":"set","to":{"dx":0,"dy":0}},{"op":"for","s":0.6,"body":[{"op":"drive","ch":"dy","value":"=h*leg*(1 - cos(((45 + -45*smoothstep(min(local/0.6, 1))))*pi/180))"},{"op":"drive","ch":"dx","value":"=-h*leg*sin(((45 + -45*smoothstep(min(local/0.6, 1))))*pi/180)"}]}]]},{"op":"set","to":{"dx":"=-h*leg*sin((0)*pi/180)","dy":"=h*leg*(1 - cos((0)*pi/180))"}},{"op":"for","s":0.3,"body":[{"op":"wave","ch":"part:arm:-1","shape":"sin","every":0.15,"amp":-14},{"op":"wave","ch":"part:arm:1","shape":"sin","every":0.15,"amp":14}]}]}]},"file":"behaviours/cycles/stand_up_bird.json"},{"pack":1,"id":"c4c:beh:stand_up_fours","type":"behaviour","version":"1.0.0","name":"Stand up (four legs)","description":"An animal on four legs stands up from sitting, lifting its rear onto straight legs.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["stand_up_fours"],"seconds":3},"content_hash":"sha256:65e45863c4169526a90b27d7b29d1fa7090861e88fd49ecd5062005efa2f7c6f","content":{"v":1,"kind":"behaviour","name":"stand_up_fours","params":{"h":540,"leg":0.33,"on":0},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"side"},{"op":"set","to":{"part:torso":34,"part:head":-16,"part:tail":16,"dy":"=-0.01*h"}},{"op":"ramp","to":{"part:torso":0,"part:head":0,"part:tail":0,"dy":0},"over":0.6,"ease":"smooth"}]}]},"file":"behaviours/cycles/stand_up_fours.json"},{"pack":1,"id":"c4c:beh:stand_up_front","type":"behaviour","version":"1.0.0","name":"Stand up (seen from the front)","description":"Stands up facing you from sitting on the ground, a chair or a ledge (the on setting: 0, 1 or 2).","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["stand_up_front"],"seconds":3},"content_hash":"sha256:1881c5e7984db277bc970d93e4605dc24971e536bdfeb4a0873e4f2b3f84cc63","content":{"v":1,"kind":"behaviour","name":"stand_up_front","params":{"h":540,"leg":0.24,"on":0},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"front"},{"op":"if","cond":"=on == 0","body":[{"op":"set","to":{"part:leg:-1":85,"part:leg:1":85,"part:shin:-1":0,"part:shin:1":0,"part:foot:-1":0,"part:foot:1":0,"part:arm:-1":16,"part:arm:1":16,"part:forearm:-1":20,"part:forearm:1":20,"dy":"=h*leg/2*(2 - cos((85)*pi/180) - cos((0)*pi/180) + 0.55*sin((0)*pi/180))"}}]},{"op":"if","cond":"=on == 1","body":[{"op":"set","to":{"part:leg:-1":85,"part:leg:1":85,"part:shin:-1":0,"part:shin:1":0,"part:foot:-1":0,"part:foot:1":0,"part:arm:-1":16,"part:arm:1":16,"part:forearm:-1":20,"part:forearm:1":20,"dy":"=h*leg/2*(2 - cos((85)*pi/180) - cos((0)*pi/180) + 0.55*sin((0)*pi/180))"}}]},{"op":"if","cond":"=on == 2","body":[{"op":"set","to":{"part:leg:-1":85,"part:leg:1":85,"part:shin:-1":0,"part:shin:1":0,"part:foot:-1":0,"part:foot:1":0,"part:arm:-1":16,"part:arm:1":16,"part:forearm:-1":20,"part:forearm:1":20,"dy":"=h*leg/2*(2 - cos((85)*pi/180) - cos((0)*pi/180) + 0.55*sin((0)*pi/180))"}}]},{"op":"if","cond":"=on == 0","body":[{"op":"together","branches":[[{"op":"ramp","to":{"part:leg:-1":30,"part:leg:1":30,"part:shin:-1":30,"part:shin:1":30,"part:foot:-1":0,"part:foot:1":0,"part:arm:-1":30,"part:arm:1":30,"part:forearm:-1":10,"part:forearm:1":10},"over":0.5,"ease":"smooth"}],[{"op":"set","to":{"dy":0}},{"op":"for","s":0.5,"body":[{"op":"drive","ch":"dy","value":"=h*leg/2*(2 - cos(((85 + -55*smoothstep(min(local/0.5, 1))))*pi/180) - cos(((0 + 30*smoothstep(min(local/0.5, 1))))*pi/180) + 0.55*sin(((0 + 30*smoothstep(min(local/0.5, 1))))*pi/180))"}]}]]},{"op":"set","to":{"dy":"=h*leg/2*(2 - cos((30)*pi/180) - cos((30)*pi/180) + 0.55*sin((30)*pi/180))"}}]},{"op":"if","cond":"=on == 1","body":[{"op":"together","branches":[[{"op":"ramp","to":{"part:leg:-1":30,"part:leg:1":30,"part:shin:-1":30,"part:shin:1":30,"part:foot:-1":0,"part:foot:1":0,"part:arm:-1":30,"part:arm:1":30,"part:forearm:-1":10,"part:forearm:1":10},"over":0.5,"ease":"smooth"}],[{"op":"set","to":{"dy":0}},{"op":"for","s":0.5,"body":[{"op":"drive","ch":"dy","value":"=h*leg/2*(2 - cos(((85 + -55*smoothstep(min(local/0.5, 1))))*pi/180) - cos(((0 + 30*smoothstep(min(local/0.5, 1))))*pi/180) + 0.55*sin(((0 + 30*smoothstep(min(local/0.5, 1))))*pi/180))"}]}]]},{"op":"set","to":{"dy":"=h*leg/2*(2 - cos((30)*pi/180) - cos((30)*pi/180) + 0.55*sin((30)*pi/180))"}}]},{"op":"if","cond":"=on == 2","body":[{"op":"together","branches":[[{"op":"ramp","to":{"part:leg:-1":30,"part:leg:1":30,"part:shin:-1":30,"part:shin:1":30,"part:foot:-1":0,"part:foot:1":0,"part:arm:-1":30,"part:arm:1":30,"part:forearm:-1":10,"part:forearm:1":10},"over":0.5,"ease":"smooth"}],[{"op":"set","to":{"dy":0}},{"op":"for","s":0.5,"body":[{"op":"drive","ch":"dy","value":"=h*leg/2*(2 - cos(((85 + -55*smoothstep(min(local/0.5, 1))))*pi/180) - cos(((0 + 30*smoothstep(min(local/0.5, 1))))*pi/180) + 0.55*sin(((0 + 30*smoothstep(min(local/0.5, 1))))*pi/180))"}]}]]},{"op":"set","to":{"dy":"=h*leg/2*(2 - cos((30)*pi/180) - cos((30)*pi/180) + 0.55*sin((30)*pi/180))"}}]},{"op":"together","branches":[[{"op":"ramp","to":{"part:leg:-1":0,"part:leg:1":0,"part:shin:-1":0,"part:shin:1":0,"part:foot:-1":0,"part:foot:1":0,"part:arm:-1":0,"part:arm:1":0,"part:forearm:-1":0,"part:forearm:1":0},"over":0.35,"ease":"out"}],[{"op":"set","to":{"dy":0}},{"op":"for","s":0.35,"body":[{"op":"drive","ch":"dy","value":"=h*leg/2*(2 - cos(((30 + -30*sin((min(local/0.35, 1))*pi/2)))*pi/180) - cos(((30 + -30*sin((min(local/0.35, 1))*pi/2)))*pi/180) + 0.55*sin(((30 + -30*sin((min(local/0.35, 1))*pi/2)))*pi/180))"}]}]]},{"op":"set","to":{"dy":"=h*leg/2*(2 - cos((0)*pi/180) - cos((0)*pi/180) + 0.55*sin((0)*pi/180))"}}]}]},"file":"behaviours/cycles/stand_up_front.json"},{"pack":1,"id":"c4c:beh:stand_up_hop","type":"behaviour","version":"1.0.0","name":"Stand up (short legs)","description":"Stands up from sitting on its folded short legs, with a little shake of its tail.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["stand_up_hop"],"seconds":3},"content_hash":"sha256:74deeba0d22d84f1d1bbee499494cf45c74777c8dc6efa2e55c2a3f77bd59138","content":{"v":1,"kind":"behaviour","name":"stand_up_hop","params":{"h":540,"leg":0.09,"on":0},"scripts":[{"hat":{"on":"start"},"body":[{"op":"view","to":"side"},{"op":"set","to":{"part:hips":0,"part:leg:-1":46,"part:leg:1":46,"part:shin:-1":92,"part:shin:1":92,"part:foot:-1":46,"part:foot:1":46,"dx":"=-h*leg/2*(sin((46)*pi/180) + sin(((46) - (92))*pi/180))","dy":"=h*leg/2*(2 - cos((46)*pi/180) - cos(((46) - (92))*pi/180))","part:tail":-10,"part:torso":-4,"part:arm:-1":20,"part:arm:1":20,"part:forearm:-1":30,"part:forearm:1":30}},{"op":"together","branches":[[{"op":"ramp","to":{"part:hips":0,"part:leg:-1":0,"part:leg:1":0,"part:shin:-1":0,"part:shin:1":0,"part:foot:-1":0,"part:foot:1":0,"part:tail":0,"part:torso":0,"part:arm:-1":0,"part:arm:1":0,"part:forearm:-1":0,"part:forearm:1":0},"over":0.55,"ease":"smooth"}],[{"op":"set","to":{"dx":0,"dy":0}},{"op":"for","s":0.55,"body":[{"op":"drive","ch":"dy","value":"=h*leg/2*(2 - cos(((46 + -46*smoothstep(min(local/0.55, 1))))*pi/180) - cos((((46 + -46*smoothstep(min(local/0.55, 1)))) - ((92 + -92*smoothstep(min(local/0.55, 1)))))*pi/180))"},{"op":"drive","ch":"dx","value":"=-h*leg/2*(sin(((46 + -46*smoothstep(min(local/0.55, 1))))*pi/180) + sin((((46 + -46*smoothstep(min(local/0.55, 1)))) - ((92 + -92*smoothstep(min(local/0.55, 1)))))*pi/180))"}]}]]},{"op":"set","to":{"dx":"=-h*leg/2*(sin((0)*pi/180) + sin(((0) - (0))*pi/180))","dy":"=h*leg/2*(2 - cos((0)*pi/180) - cos(((0) - (0))*pi/180))"}},{"op":"for","s":0.3,"body":[{"op":"wave","ch":"part:tail","shape":"sin","every":0.15,"amp":12}]}]}]},"file":"behaviours/cycles/stand_up_hop.json"},{"pack":1,"id":"c4c:beh:stand_up_many","type":"behaviour","version":"1.0.0","name":"Stand up (many legs)","description":"A crab stands up from sitting, its legs pushing its shell up and its claws lifting.","author":{"id":"c4c","name":"Crafts4Class"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["stand_up_many"],"seconds":3},"content_hash":"sha256:2f43ac4fd999f32b364a80ce6335ac8e8b44c50c5740f93e80cb6c6e343ddc61","content":{"v":1,"kind":"behaviour","name":"stand_up_many","params":{"h":540,"leg":0.1,"on":0},"scripts":[{"hat":{"on":"start"},"body":[{"op":"set","to":{"part:leg#0":34,"part:leg#1":34,"part:leg#2":34,"part:leg#3":34,"part:leg#4":34,"part:leg#5":34,"part:leg#6":34,"part:leg#7":34,"part:leg#8":34,"part:leg#9":34,"part:leg#10":34,"part:leg#11":34,"part:leg#12":34,"part:leg#13":34,"part:leg#14":34,"part:leg#15":34,"part:shin:-1":0,"part:shin:1":0,"dy":"=h*leg*0.1","part:arm:-1":-4,"part:arm:1":4,"lift:arm:-1":"=0.038*h","lift:arm:1":"=0.038*h"}},{"op":"ramp","to":{"part:leg#0":0,"part:leg#1":0,"part:leg#2":0,"part:leg#3":0,"part:leg#4":0,"part:leg#5":0,"part:leg#6":0,"part:leg#7":0,"part:leg#8":0,"part:leg#9":0,"part:leg#10":0,"part:leg#11":0,"part:leg#12":0,"part:leg#13":0,"part:leg#14":0,"part:leg#15":0,"part:shin:-1":0,"part:shin:1":0,"dy":0,"part:arm:-1":-5,"part:arm:1":5,"lift:arm:-1":"=0.04*h","lift:arm:1":"=0.04*h"},"over":0.6,"ease":"smooth"},{"op":"ramp","to":{"part:arm:-1":0,"part:arm:1":0,"lift:arm:-1":"=0.03*h","lift:arm:1":"=0.03*h"},"over":0.2,"ease":"smooth"}]}]},"file":"behaviours/cycles/stand_up_many.json"},{"pack":1,"id":"c4c:beh:static","type":"behaviour","version":"1.0.0","name":"Still","description":"Holds perfectly still (for props).","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[{"id":"tween:studio/behaviors.py","version":"2026-06-08","note":"pose(\"static\")"}],"preview":{"moves":["static"],"seconds":4},"content_hash":"sha256:31fc25d1a56020f85f11e9987cbb63045b24fc2ca760e61690cc6be148d191ee","content":{"v":1,"kind":"behaviour","scripts":[{"hat":{"on":"start"},"body":[]}],"name":"static"},"file":"behaviours/static.json"},{"pack":1,"id":"c4c:beh:sword_swing","type":"behaviour","version":"1.0.0","name":"Sword swing","description":"Winds back and swings. ⚑ Hit! is where the swing lands.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["sword_swing"],"seconds":3},"content_hash":"sha256:0eec8898d676e00782e31865cafc3d443521d42b6fd12ea8d79bee0fef004830","content":{"v":1,"kind":"behaviour","name":"sword_swing","scripts":[{"body":[{"op":"ramp","to":{"part:arm:1":168,"part:forearm:1":36,"part:arm:-1":18,"part:forearm:-1":46,"rot":4,"dy":4,"part:leg:1":16,"part:shin:1":12,"part:leg:-1":-14,"part:shin:-1":10},"over":0.23,"ease":"out"},{"op":"ramp","to":{"part:arm:1":96,"part:forearm:1":-4,"part:arm:-1":6,"part:forearm:-1":26,"rot":-8,"dx":18,"dy":8,"part:leg:1":28,"part:shin:1":20,"part:leg:-1":-20,"part:shin:-1":6},"over":0.17,"ease":"in"},{"op":"setVar","var":"flag_hit","value":"=tau"},{"op":"ramp","to":{"part:arm:1":62,"part:forearm:1":-10,"part:arm:-1":6,"part:forearm:-1":26,"rot":-6,"dx":16,"dy":8,"part:leg:1":28,"part:shin:1":20,"part:leg:-1":-20,"part:shin:-1":6},"over":0.16},{"op":"ramp","to":{"part:arm:1":42,"part:forearm:1":64,"part:arm:-1":24,"part:forearm:-1":58,"rot":-3,"dy":6,"part:leg:1":16,"part:shin:1":12,"part:leg:-1":-14,"part:shin:-1":10},"over":0.24}]}]},"file":"behaviours/moves7/sword_swing.json"},{"pack":1,"id":"c4c:beh:talk","type":"behaviour","version":"1.0.0","name":"Talk","description":"Moves with the voice: the louder the line, the bigger the bob, the gestures and the mouth.","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[],"preview":{"moves":["talk"],"seconds":6},"content_hash":"sha256:c6355a5c1eaee21aa611e8b573446c4c790a3097245128195e3aadbad689e03f","content":{"v":1,"kind":"behaviour","name":"talk","scripts":[{"body":[{"op":"bob","amp":"=7*loud","every":0.36},{"op":"drive","ch":"mouth","value":"=min(1, loud*1.25)"},{"op":"swingPart","part":"arms","deg":"=14*loud","every":0.9},{"op":"swingPart","part":"head","deg":"=5*loud","every":1.3},{"op":"swingPart","part":"tail","deg":"=20*loud","every":0.3}]}]},"file":"behaviours/talk.json"},{"pack":1,"id":"c4c:beh:think","type":"behaviour","version":"1.0.0","name":"Think","description":"Puts a hand to the chin and tilts the head, thinking. It stays like that.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["think"],"seconds":3},"content_hash":"sha256:56468f7c2b9273f67cc0fa3661ec6cdffd9379f4c23ae8d75639405f36f57e71","content":{"v":1,"kind":"behaviour","name":"think","scripts":[{"body":[{"op":"reach","part":"right hand","at":"mouth","dy":-0.08,"over":0.4},{"op":"reach","part":"left hand","at":"chest","dy":-0.24,"over":0.3},{"op":"forever","body":[{"op":"ramp","to":{"part:head":10},"over":1,"ease":"inout"},{"op":"ramp","to":{"part:head":4},"over":1,"ease":"inout"}]}]}]},"file":"behaviours/moves7/think.json"},{"pack":1,"id":"c4c:beh:throw","type":"behaviour","version":"1.0.0","name":"Throw","description":"Winds back and throws what it holds. ⚑ Let go is where it leaves the hand.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["throw"],"seconds":3},"content_hash":"sha256:ce1f25ae960a9aef4c270b0cce5b4bad0904e7caadcd757e7d852308e6435ea9","content":{"v":1,"kind":"behaviour","name":"throw","scripts":[{"body":[{"op":"ramp","to":{"part:arm:1":150,"part:forearm:1":64,"part:arm:-1":30,"rot":6,"dx":-4,"part:leg:1":10,"part:shin:1":8,"part:leg:-1":-10,"part:shin:-1":6},"over":0.38,"ease":"out"},{"op":"ramp","to":{"part:arm:1":80,"part:forearm:1":-4,"part:arm:-1":-20,"rot":-8,"dx":10,"part:leg:1":20,"part:shin:1":14,"part:leg:-1":-14},"over":0.14,"ease":"in"},{"op":"setVar","var":"flag_let_go","value":"=tau"},{"op":"ramp","to":{"part:arm:1":40,"part:forearm:1":0,"part:arm:-1":-10,"rot":-4,"dx":8},"over":0.2},{"op":"ramp","to":{"part:arm:1":0,"part:forearm:1":0,"part:arm:-1":0,"rot":0,"dx":0,"part:leg:1":0,"part:shin:1":0,"part:leg:-1":0,"part:shin:-1":0},"over":0.28}]}]},"file":"behaviours/moves7/throw.json"},{"pack":1,"id":"c4c:beh:thumbs_up","type":"behaviour","version":"1.0.0","name":"Thumbs up","description":"Holds a fist up in front: well done! It stays up.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["thumbs_up"],"seconds":3},"content_hash":"sha256:f582ea55087c26dba2deb8203066d75eb0fc473eae5adbd857bedb9dbe78ecff","content":{"v":1,"kind":"behaviour","name":"thumbs_up","scripts":[{"body":[{"op":"ramp","to":{"part:arm:1":40,"part:forearm:1":100,"part:head":6},"over":0.3,"ease":"out"},{"op":"ramp","to":{"part:head":0},"over":0.2}]}]},"file":"behaviours/moves7/thumbs_up.json"},{"pack":1,"id":"c4c:beh:twirl","type":"behaviour","version":"1.0.0","name":"Twirl","description":"Twirls on one foot with the arms up, in two beats.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"preview":{"moves":["twirl"],"seconds":3},"content_hash":"sha256:059f4cda6322a2b1eb3462b27a41a910b95cd3dc694fefd3a6a2cff1f3e081e3","content":{"v":1,"kind":"behaviour","name":"twirl","scripts":[{"body":[{"op":"ramp","to":{"part:arm:1":160,"part:forearm:1":30,"part:arm:-1":-160,"part:forearm:-1":-30,"part:leg:1":18,"part:shin:1":-60},"over":0.16,"ease":"out"},{"op":"turnView","to":"side","over":0.17},{"op":"turnView","to":"back","over":0.17},{"op":"turnView","to":"side","over":0.17},{"op":"turnView","to":"front","over":0.17},{"op":"ramp","to":{"part:arm:1":0,"part:forearm:1":0,"part:arm:-1":0,"part:forearm:-1":0,"part:leg:1":0,"part:shin:1":0},"over":0.16}]}]},"file":"behaviours/moves7/twirl.json"},{"pack":1,"id":"c4c:beh:wag","type":"behaviour","version":"1.0.0","name":"Happy wag","description":"Tail wags, ears flap, little happy bounce. On a body with no tail it just bounces.","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[],"preview":{"moves":["wag"],"seconds":6},"content_hash":"sha256:f0749e23b3c6378bf698b3f143739bfd5418e5b3f222c2c4a18619717507b7ab","content":{"v":1,"kind":"behaviour","name":"wag","scripts":[{"body":[{"op":"mood","mood":"happy"},{"op":"swingPart","part":"tail","deg":28,"every":0.28},{"op":"swingPart","part":"ears","deg":10,"every":0.7},{"op":"swingPart","part":"head","deg":5,"every":1.4},{"op":"bob","amp":6,"every":0.56}]}]},"file":"behaviours/wag.json"},{"pack":1,"id":"c4c:beh:walk","type":"behaviour","version":"1.1.0","name":"Walk in","description":"Walks in from a side with a real two-bone gait, then settles.","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[{"id":"tween:studio/behaviors.py","version":"2026-06-08","note":"pose(\"walk\")"}],"preview":{"moves":["walk"],"seconds":4},"content_hash":"sha256:6bb6ab61a2de6752d6bec8d646316afb635002987b6fd34ba22a0f84e789d480","content":{"v":1,"kind":"behaviour","params":{"from":-760,"to":0,"t_in":"=min(max(dur*0.6, 0.5), 3.0)"},"scripts":[{"hat":{"on":"start"},"body":[{"op":"set","to":{"dx":"=from"}},{"op":"together","branches":[[{"op":"ramp","to":{"dx":"=to"},"over":"=max(t_in, 0.1)","ease":"smooth"}],[{"op":"for","s":"=max(t_in, 0.1)","body":[{"op":"gait","every":0.62,"armSwing":0.45,"bob":[-2,3],"roll":1,"view":"side"}]}]]},{"op":"wave","ch":"dy","shape":"abssin","w":2,"amp":-2,"offset":-1,"sync":"start"}]}],"name":"walk"},"file":"behaviours/walk.json"},{"pack":1,"id":"c4c:beh:wave_and_look","type":"behaviour","version":"1.3.0","name":"Wave and look","description":"Waves hello: the right hand (a front paw, a wing, a claw) goes up beside the head, the elbow out and the forearm up, and waves out and in three times while the head tilts toward it, then lets go. The hand aims at the head spot moved by shares of the character's height (reach … for my head + out, up): out and down, then in and up beside the head, clear of it, so the wave fits every character: a dog or a cat raises a front paw in front of its chest and waves it. Written with the skeleton's reach block (spec v0.4 §8.4).","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[],"preview":{"moves":["wave_and_look"],"seconds":3.2},"content_hash":"sha256:34ecb29bcc51b4636e9713b596ba4f4f846dce7ade28edc2b36ba44977037d8a","content":{"v":1,"kind":"behaviour","name":"wave_and_look","scripts":[{"body":[{"op":"mood","mood":"happy"},{"op":"turnPart","part":"head","deg":-8,"over":0.3},{"op":"reach","part":"right hand","at":"head","dx":0.09,"dy":-0.065,"over":0.4,"ease":"out"},{"op":"repeat","n":3,"body":[{"op":"reach","part":"right hand","at":"head","dx":0.13,"dy":-0.11,"over":0.25},{"op":"reach","part":"right hand","at":"head","dx":0.07,"dy":-0.02,"over":0.25}]},{"op":"release","part":"right hand","over":0.4},{"op":"turnPart","part":"head","deg":8,"over":0.3}]}]},"file":"skeleton/wave_and_look.json"},{"pack":1,"id":"c4c:beh:wave_hello","type":"behaviour","version":"1.0.0","name":"Wave hello","description":"Raises the right arm and waves, with a happy little bob. Written with friendly blocks.","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[],"preview":{"moves":["wave_hello"],"seconds":6},"content_hash":"sha256:a7cc2f929a2014dc87c812a99f9156a9b5c4e09db56940506eff667f99f27463","content":{"v":1,"kind":"behaviour","name":"wave_hello","scripts":[{"body":[{"op":"mood","mood":"happy"},{"op":"bob","amp":4,"every":1.2},{"op":"setPart","part":"right forearm","deg":20},{"op":"setPart","part":"right arm","deg":150,"over":0.35,"ease":"out"},{"op":"forever","body":[{"op":"turnPart","part":"right forearm","deg":-40,"over":0.2},{"op":"turnPart","part":"right forearm","deg":40,"over":0.2}]}]}]},"file":"behaviours/wave_hello.json"},{"pack":1,"id":"c4c:beh:whip_tail","type":"behaviour","version":"1.0.0","name":"Whip tail","description":"A happy tail swish that whips down the tail's segments, with floppy ears and a little bounce. Written with the skeleton's friendly blocks (spec v0.4 §8).","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[],"preview":{"moves":["whip_tail"],"seconds":3},"content_hash":"sha256:4013e940e1e8c0f2aef865ba62d6b6a4bb96e421c5b2206cae8987294493491e","content":{"v":1,"kind":"behaviour","name":"whip_tail","scripts":[{"body":[{"op":"mood","mood":"happy"},{"op":"swish","part":"tail","deg":50,"every":0.7,"lag":0.09,"falloff":1.1},{"op":"flop","part":"ears","deg":14,"every":0.7},{"op":"bob","amp":3,"every":0.35},{"op":"letFollow","part":"hair","after":"body","amount":0.8}]}]},"file":"skeleton/whip_tail.json"},{"pack":1,"id":"c4c:body:bird","type":"body","version":"1.0.0","name":"Bird","description":"A bird with a round body, a big head, two wings, a tail of feathers and a beak, seen from the front, the side and the back: a skeleton of jointed bones (W21).","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:eb9b3a0e8f8ed1077598ae3bdd7b6a7542f1ac09ffd1217421d8ae4f37b889a9","content":{"v":1,"kind":"body","art":1,"name":"bird","plan":"winged","views":["side","front","back"],"bones":[{"id":"root","role":"root","at":[0,0],"side":0,"shape":"circle","w":0,"h":0,"rot":0,"look":{"fill":"skin"}},{"id":"torso","role":"torso","parent":"root","at":[0,-60],"side":0,"shape":"egg","w":100,"h":116,"rot":0,"look":{"fill":"skin"},"oy":-2,"top":0.8,"limits":[-30,30],"views":{"front":{"w":112}}},{"id":"chest","role":"decoration","parent":"torso","at":[24,-10],"side":0,"shape":"strokes","w":40,"h":40,"rot":0,"look":{"fill":"skin_deep"},"lw":2.4,"lines":[[-12,-18,-6,-12],[-6,-12,0,-18],[4,8,10,14],[10,14,16,8],[-14,22,-8,28],[-8,28,-2,22]],"z":6,"outline":false,"views":{"front":{"at":[0,-6]}}},{"id":"leg_l","role":"leg","parent":"torso","at":[18,40],"side":-1,"shape":"capsule","w":11,"h":14,"rot":0,"look":{"fill":"accent"},"index":0,"z":-2,"limits":[-60,45],"views":{"front":{"at":[-30,40]}}},{"id":"foot_l","role":"foot","parent":"leg_l","at":[0,12],"side":-1,"shape":"ellipse","w":44,"h":16,"rot":0,"look":{"fill":"accent"},"ox":12,"oy":1,"limits":[-40,40],"views":{"front":{"w":36}}},{"id":"leg_r","role":"leg","parent":"torso","at":[18,40],"side":1,"shape":"capsule","w":11,"h":14,"rot":0,"look":{"fill":"accent"},"index":1,"z":2,"limits":[-60,45],"views":{"front":{"at":[30,40]}}},{"id":"foot_r","role":"foot","parent":"leg_r","at":[0,12],"side":1,"shape":"ellipse","w":44,"h":16,"rot":0,"look":{"fill":"accent"},"ox":12,"oy":1,"limits":[-40,40],"views":{"front":{"w":36}}},{"id":"tail","role":"tail","parent":"torso","at":[-44,24],"side":0,"shape":"drop","w":34,"h":46,"rot":70,"look":{"fill":"hair"},"z":-2,"limits":[-40,40]},{"id":"wing_l","role":"wing","parent":"torso","at":[-8,-50],"side":-1,"shape":"drop","w":50,"h":86,"rot":14,"look":{"fill":"hair"},"z":-2,"limits":[-200,90],"views":{"front":{"at":[-48,-42],"rot":12}}},{"id":"wing_r","role":"wing","parent":"torso","at":[-8,-50],"side":1,"shape":"drop","w":50,"h":86,"rot":14,"look":{"fill":"hair"},"z":-2,"limits":[-90,200],"views":{"front":{"at":[48,-42],"rot":-12}}},{"id":"neck","role":"neck","parent":"torso","at":[8,-62],"side":0,"shape":"rrect","w":62,"h":50,"rot":0,"look":{"fill":"skin"},"r":24,"oy":-12,"z":0,"views":{"front":{"w":64}}},{"id":"head","role":"head","parent":"torso","at":[10,-80],"side":0,"shape":"ellipse","w":88,"h":78,"rot":0,"look":{"fill":"skin"},"oy":-32,"z":0,"group":"body","limits":[-40,40],"views":{"front":{"w":104,"at":[0,-80]}},"face":{"set":"v2","profile":true,"eyeSet":"oval","eyeX":21,"eyeCX":25,"eyeY":-38,"eyeR":14,"eyeH":1.1,"mouthSet":"none","mouthW":20,"mouthH":8,"mouthX":34,"mouthY":-18,"iris":"#1b1b1b","lid":"#6ec6ff","brow":"#426c9c","z":0.4}},{"id":"beak","role":"beak","parent":"head","at":[38,-18],"side":0,"shape":"tri","w":26,"h":30,"rot":-90,"look":{"fill":"accent"},"z":1,"group":"beak"},{"id":"tuft","role":"hair","parent":"head","at":[-4,-72],"side":0,"shape":"spike","w":18,"h":22,"rot":-10,"look":{"fill":"skin"},"lean":4,"z":-1,"group":"tuft","limits":[-30,30]}],"sockets":{"head_top":{"bone":"head","x":0,"y":-76},"face":{"bone":"head","x":30,"y":-34},"neck":{"bone":"neck","x":0,"y":-10},"back":{"bone":"torso","x":-40,"y":-40},"waist":{"bone":"torso","x":0,"y":20},"hand_l":{"bone":"wing_l","x":0,"y":70},"hand_r":{"bone":"wing_r","x":0,"y":70},"foot_l":{"bone":"foot_l","x":6,"y":6},"foot_r":{"bone":"foot_r","x":6,"y":6}},"proportions":{"heads":[2,2.8]},"colours":{"skin":"#6ec6ff","hair":"#4f8fb8","eyes":"#1b1b1b","top":"#ffd23f","bottom":"#3c5fb4","shoes":"#ffb02e","accent":"#ffb02e","skin_deep":"#5690ca"}},"file":"bodies/bird.json"},{"pack":1,"id":"c4c:body:blob","type":"body","version":"1.0.0","name":"Blob","description":"A monster that is mostly one round body, its face on the front of it, with two antennae, short arms and two short legs: a skeleton of jointed bones (W21). Seen from the front, the side and the back.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:e67fe0a8ad9f7093834bbff1ccab8140948ac697a1fc5f1d6144721f11115982","content":{"v":1,"kind":"body","art":1,"name":"blob","plan":"upright","views":["side","front","back"],"bones":[{"id":"root","role":"root","at":[0,0],"side":0,"shape":"circle","w":0,"h":0,"rot":0,"look":{"fill":"skin"}},{"id":"torso","role":"torso","parent":"root","at":[0,-84],"side":0,"shape":"egg","w":116,"h":128,"rot":0,"look":{"fill":"skin"},"oy":-4,"top":0.86,"limits":[-25,25],"views":{"front":{"w":130}}},{"id":"leg_l","role":"leg","parent":"torso","at":[-2,48],"side":-1,"shape":"capsule","w":26,"h":22,"rot":0,"look":{"fill":"skin"},"index":0,"z":-2,"limits":[-60,60],"views":{"front":{"at":[-28,48]}}},{"id":"foot_l","role":"foot","parent":"leg_l","at":[0,20],"side":-1,"shape":"ellipse","w":34,"h":14,"rot":0,"look":{"fill":"skin"},"ox":7,"oy":0,"limits":[-40,40],"views":{"front":{"w":30}}},{"id":"leg_r","role":"leg","parent":"torso","at":[-2,48],"side":1,"shape":"capsule","w":26,"h":22,"rot":0,"look":{"fill":"skin"},"index":1,"z":-1,"limits":[-60,60],"views":{"front":{"at":[28,48]}}},{"id":"foot_r","role":"foot","parent":"leg_r","at":[0,20],"side":1,"shape":"ellipse","w":34,"h":14,"rot":0,"look":{"fill":"skin"},"ox":7,"oy":0,"limits":[-40,40],"views":{"front":{"w":30}}},{"id":"belly","role":"decoration","parent":"torso","at":[18,24],"side":0,"shape":"ellipse","w":60,"h":56,"rot":0,"look":{"fill":"skin_lite"},"z":1,"outline":false,"views":{"front":{"w":74,"at":[0,24]}}},{"id":"arm_l","role":"arm","parent":"torso","at":[4,-6],"side":-1,"shape":"capsule","w":20,"h":30,"rot":0,"look":{"fill":"skin"},"z":-2,"limits":[-190,190],"views":{"front":{"at":[-58,-6],"rot":30}}},{"id":"hand_l","role":"hand","parent":"arm_l","at":[0,26],"side":-1,"shape":"ellipse","w":20,"h":20,"rot":0,"look":{"fill":"skin"},"oy":7,"limits":[-70,70]},{"id":"arm_r","role":"arm","parent":"torso","at":[4,-6],"side":1,"shape":"capsule","w":20,"h":30,"rot":0,"look":{"fill":"skin"},"z":3,"limits":[-190,190],"views":{"front":{"at":[58,-6],"rot":-30}}},{"id":"hand_r","role":"hand","parent":"arm_r","at":[0,26],"side":1,"shape":"ellipse","w":20,"h":20,"rot":0,"look":{"fill":"skin"},"oy":7,"limits":[-70,70]},{"id":"head","role":"head","parent":"torso","at":[20,-30],"side":0,"shape":"circle","w":0,"h":0,"rot":0,"look":{"fill":"skin"},"z":2,"face":{"set":"v2","profile":true,"eyeX":22,"eyeCX":16,"eyeY":-4,"eyeR":15,"eyeH":1.1,"mouthW":40,"mouthH":12,"mouthX":14,"mouthY":30,"iris":"#1b1b1b","lid":"#8e6bd8","brow":"#4e3c7c","z":0.4}},{"id":"antenna_l","role":"antenna","parent":"torso","at":[-6,-62],"side":-1,"shape":"capsule","w":7,"h":34,"rot":168,"look":{"fill":"skin"},"z":-1,"limits":[-30,30],"views":{"front":{"at":[-26,-60],"rot":160}}},{"id":"tip_l","role":"decoration","parent":"antenna_l","at":[0,34],"side":-1,"shape":"circle","w":14,"h":14,"rot":0,"look":{"fill":"accent"}},{"id":"antenna_r","role":"antenna","parent":"torso","at":[-6,-62],"side":1,"shape":"capsule","w":7,"h":34,"rot":168,"look":{"fill":"skin"},"z":-1,"limits":[-30,30],"views":{"front":{"at":[26,-60],"rot":-160}}},{"id":"tip_r","role":"decoration","parent":"antenna_r","at":[0,34],"side":1,"shape":"circle","w":14,"h":14,"rot":0,"look":{"fill":"accent"}}],"sockets":{"head_top":{"bone":"torso","x":0,"y":-66},"face":{"bone":"head","x":20,"y":0},"neck":{"bone":"torso","x":10,"y":-40},"back":{"bone":"torso","x":-50,"y":-10},"waist":{"bone":"torso","x":0,"y":30},"hand_l":{"bone":"hand_l","x":0,"y":8},"hand_r":{"bone":"hand_r","x":0,"y":8},"foot_l":{"bone":"foot_l","x":0,"y":4},"foot_r":{"bone":"foot_r","x":0,"y":4}},"proportions":{"heads":[1,1.6]},"colours":{"skin":"#8e6bd8","hair":"#5d3fa8","eyes":"#1b1b1b","top":"#3f8fbf","bottom":"#40485c","shoes":"#8e6bd8","accent":"#ffd23f","skin_lite":"#b298dc"}},"file":"bodies/blob.json"},{"pack":1,"id":"c4c:body:crab","type":"body","version":"1.0.0","name":"Crab","description":"A crab: a wide shell, two arms ending in big claws, eight legs in two rows of four and the eyes up over the shell: a skeleton of jointed bones (W21). Seen from the front, the side and the back.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:0d7bc4988353176125099697ff6f216b29b80236667dc36f91972caebaf1d8cb","content":{"v":1,"kind":"body","art":1,"name":"crab","plan":"many","views":["front","side","back"],"bones":[{"id":"root","role":"root","at":[0,0],"side":0,"shape":"circle","w":0,"h":0,"rot":0,"look":{"fill":"skin"}},{"id":"shell","role":"shell","parent":"root","at":[0,-64],"side":0,"shape":"ellipse","w":136,"h":96,"rot":0,"look":{"fill":"skin","tex":{"name":"shell","bands":3,"depth":0.05}},"limits":[-20,20]},{"id":"head","role":"head","parent":"shell","at":[0,-40],"side":0,"shape":"path","w":116,"h":58,"rot":0,"look":{"fill":"skin"},"d":"M -44 12 C -48 0 -48 -16 -47 -22 C -45 -36 -36 -44 -24 -44 C -12 -44 -4 -38 0 -31 C 4 -38 12 -44 24 -44 C 36 -44 45 -36 47 -22 C 48 -16 48 0 44 12 Z","group":"body","z":1,"limits":[-15,15],"face":{"set":"v2","eyeSet":"round","eyeX":24,"eyeY":-16,"eyeR":17,"eyeH":1.18,"mouthW":44,"mouthH":12,"mouthY":44,"iris":"#1b1b1b","lid":"#ee4a3c","brow":"#792d35","z":0.5}},{"id":"leg0_l","role":"leg","parent":"shell","at":[-60,8],"side":-1,"shape":"capsule","w":17,"h":22,"rot":66,"look":{"fill":"skin"},"index":0,"z":-1,"limits":[-50,50]},{"id":"shin0_l","role":"shin","parent":"leg0_l","at":[0,18],"side":-1,"shape":"capsule","w":16,"h":26,"rot":-50,"look":{"fill":"skin"},"taper":1.2,"limits":[-40,60]},{"id":"leg0_r","role":"leg","parent":"shell","at":[60,8],"side":1,"shape":"capsule","w":17,"h":22,"rot":-66,"look":{"fill":"skin"},"index":1,"z":-1,"limits":[-50,50]},{"id":"shin0_r","role":"shin","parent":"leg0_r","at":[0,18],"side":1,"shape":"capsule","w":16,"h":26,"rot":50,"look":{"fill":"skin"},"taper":1.2,"limits":[-40,60]},{"id":"leg1_l","role":"leg","parent":"shell","at":[-54,22],"side":-1,"shape":"capsule","w":17,"h":22,"rot":54,"look":{"fill":"skin"},"index":2,"z":-1,"limits":[-50,50]},{"id":"shin1_l","role":"shin","parent":"leg1_l","at":[0,18],"side":-1,"shape":"capsule","w":16,"h":26,"rot":-44,"look":{"fill":"skin"},"taper":1.2,"limits":[-40,60]},{"id":"leg1_r","role":"leg","parent":"shell","at":[54,22],"side":1,"shape":"capsule","w":17,"h":22,"rot":-54,"look":{"fill":"skin"},"index":3,"z":-1,"limits":[-50,50]},{"id":"shin1_r","role":"shin","parent":"leg1_r","at":[0,18],"side":1,"shape":"capsule","w":16,"h":26,"rot":44,"look":{"fill":"skin"},"taper":1.2,"limits":[-40,60]},{"id":"leg2_l","role":"leg","parent":"shell","at":[-45,32],"side":-1,"shape":"capsule","w":17,"h":22,"rot":42,"look":{"fill":"skin"},"index":4,"z":-1,"limits":[-50,50]},{"id":"shin2_l","role":"shin","parent":"leg2_l","at":[0,18],"side":-1,"shape":"capsule","w":16,"h":26,"rot":-34,"look":{"fill":"skin"},"taper":1.2,"limits":[-40,60]},{"id":"leg2_r","role":"leg","parent":"shell","at":[45,32],"side":1,"shape":"capsule","w":17,"h":22,"rot":-42,"look":{"fill":"skin"},"index":5,"z":-1,"limits":[-50,50]},{"id":"shin2_r","role":"shin","parent":"leg2_r","at":[0,18],"side":1,"shape":"capsule","w":16,"h":26,"rot":34,"look":{"fill":"skin"},"taper":1.2,"limits":[-40,60]},{"id":"leg3_l","role":"leg","parent":"shell","at":[-33,40],"side":-1,"shape":"capsule","w":17,"h":22,"rot":30,"look":{"fill":"skin"},"index":6,"z":-1,"limits":[-50,50]},{"id":"shin3_l","role":"shin","parent":"leg3_l","at":[0,18],"side":-1,"shape":"capsule","w":16,"h":26,"rot":-22,"look":{"fill":"skin"},"taper":1.2,"limits":[-40,60]},{"id":"leg3_r","role":"leg","parent":"shell","at":[33,40],"side":1,"shape":"capsule","w":17,"h":22,"rot":-30,"look":{"fill":"skin"},"index":7,"z":-1,"limits":[-50,50]},{"id":"shin3_r","role":"shin","parent":"leg3_r","at":[0,18],"side":1,"shape":"capsule","w":16,"h":26,"rot":22,"look":{"fill":"skin"},"taper":1.2,"limits":[-40,60]},{"id":"arm_l","role":"arm","parent":"shell","at":[-50,-14],"side":-1,"shape":"capsule","w":22,"h":40,"rot":132,"look":{"fill":"skin"},"z":-1,"limits":[-60,60]},{"id":"fore_l","role":"forearm","parent":"arm_l","at":[0,36],"side":-1,"shape":"capsule","w":20,"h":30,"rot":36,"look":{"fill":"skin"},"limits":[-60,60]},{"id":"claw_l","role":"claw","parent":"fore_l","at":[0,28],"side":-1,"shape":"drop","w":56,"h":74,"rot":0,"look":{"fill":"skin"},"limits":[-30,30]},{"id":"arm_r","role":"arm","parent":"shell","at":[50,-14],"side":1,"shape":"capsule","w":22,"h":40,"rot":-132,"look":{"fill":"skin"},"z":-1,"limits":[-60,60]},{"id":"fore_r","role":"forearm","parent":"arm_r","at":[0,36],"side":1,"shape":"capsule","w":20,"h":30,"rot":-36,"look":{"fill":"skin"},"limits":[-60,60]},{"id":"claw_r","role":"claw","parent":"fore_r","at":[0,28],"side":1,"shape":"drop","w":56,"h":74,"rot":0,"look":{"fill":"skin"},"limits":[-30,30]}],"sockets":{"head_top":{"bone":"head","x":0,"y":-42},"face":{"bone":"head","x":0,"y":10},"neck":{"bone":"shell","x":0,"y":-44},"back":{"bone":"shell","x":0,"y":-20},"waist":{"bone":"shell","x":0,"y":30},"hand_l":{"bone":"claw_l","x":0,"y":34},"hand_r":{"bone":"claw_r","x":0,"y":34},"foot_l":{"bone":"shin3_l","x":0,"y":28},"foot_r":{"bone":"shin3_r","x":0,"y":28}},"proportions":{"heads":[2.8,4.4]},"colours":{"skin":"#ee4a3c","hair":"#c4372c","eyes":"#1b1b1b","top":"#ffd23f","bottom":"#3c5fb4","shoes":"#ee4a3c","accent":"#ffd0c8"}},"file":"bodies/crab.json"},{"pack":1,"id":"c4c:body:fours","type":"body","version":"1.0.0","name":"On all fours","description":"An animal on four legs (a dog, a cat, a fox): a level body, a head held out in front with a snout, ears and a tail: a skeleton of jointed bones (W21). Seen from the front, the side and the back.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:e7eb7456de5a7b47458afb523d261de16b0b7231478c09df140cf1aa3d0ff78f","content":{"v":1,"kind":"body","art":1,"name":"fours","plan":"fours","views":["side","front","back"],"bones":[{"id":"root","role":"root","at":[0,0],"side":0,"shape":"circle","w":0,"h":0,"rot":0,"look":{"fill":"skin"}},{"id":"torso","role":"torso","parent":"root","at":[0,-96],"side":0,"shape":"ellipse","w":128,"h":64,"rot":0,"look":{"fill":"skin"},"limits":[-20,20],"views":{"front":{"w":74}}},{"id":"leg0","role":"leg","parent":"torso","at":[-44,18],"side":-1,"shape":"capsule","w":20,"h":34,"rot":0,"look":{"fill":"skin"},"index":0,"z":-2,"limits":[-60,60]},{"id":"shin0","role":"shin","parent":"leg0","at":[0,30],"side":-1,"shape":"capsule","w":17,"h":28,"rot":0,"look":{"fill":"skin"},"limits":[-90,20]},{"id":"foot0","role":"foot","parent":"shin0","at":[0,26],"side":-1,"shape":"ellipse","w":24,"h":13,"rot":0,"look":{"fill":"skin"},"ox":5,"oy":-1,"limits":[-40,40]},{"id":"leg1","role":"leg","parent":"torso","at":[-44,18],"side":1,"shape":"capsule","w":20,"h":34,"rot":0,"look":{"fill":"skin"},"index":1,"z":-1,"limits":[-60,60]},{"id":"shin1","role":"shin","parent":"leg1","at":[0,30],"side":1,"shape":"capsule","w":17,"h":28,"rot":0,"look":{"fill":"skin"},"limits":[-90,20]},{"id":"foot1","role":"foot","parent":"shin1","at":[0,26],"side":1,"shape":"ellipse","w":24,"h":13,"rot":0,"look":{"fill":"skin"},"ox":5,"oy":-1,"limits":[-40,40]},{"id":"leg2","role":"leg","parent":"torso","at":[42,18],"side":-1,"shape":"capsule","w":20,"h":34,"rot":0,"look":{"fill":"skin"},"index":2,"z":-2,"limits":[-60,60]},{"id":"shin2","role":"shin","parent":"leg2","at":[0,30],"side":-1,"shape":"capsule","w":17,"h":28,"rot":0,"look":{"fill":"skin"},"limits":[-90,20]},{"id":"foot2","role":"foot","parent":"shin2","at":[0,26],"side":-1,"shape":"ellipse","w":24,"h":13,"rot":0,"look":{"fill":"skin"},"ox":5,"oy":-1,"limits":[-40,40]},{"id":"leg3","role":"leg","parent":"torso","at":[42,18],"side":1,"shape":"capsule","w":20,"h":34,"rot":0,"look":{"fill":"skin"},"index":3,"z":-1,"limits":[-60,60]},{"id":"shin3","role":"shin","parent":"leg3","at":[0,30],"side":1,"shape":"capsule","w":17,"h":28,"rot":0,"look":{"fill":"skin"},"limits":[-90,20]},{"id":"foot3","role":"foot","parent":"shin3","at":[0,26],"side":1,"shape":"ellipse","w":24,"h":13,"rot":0,"look":{"fill":"skin"},"ox":5,"oy":-1,"limits":[-40,40]},{"id":"tail","role":"tail","parent":"torso","at":[-60,-12],"side":0,"shape":"capsule","w":14,"h":46,"rot":128,"look":{"fill":"skin"},"taper":1.4,"z":-3,"limits":[-50,50]},{"id":"neck","role":"neck","parent":"torso","at":[44,-16],"side":0,"shape":"rrect","w":30,"h":34,"rot":30,"look":{"fill":"skin"},"r":12,"oy":-12,"z":1},{"id":"head","role":"head","parent":"torso","at":[62,-34],"side":0,"shape":"ellipse","w":74,"h":68,"rot":0,"look":{"fill":"skin"},"oy":-22,"z":2,"limits":[-40,40],"face":{"set":"v2","profile":true,"eyeX":16,"eyeCX":20,"eyeY":-28,"eyeR":10,"eyeH":1.12,"mouthW":18,"mouthH":8,"mouthX":32,"mouthY":-4,"iris":"#2a1a12","lid":"#c98a4b","brow":"#694a3c","z":0.4}},{"id":"snout","role":"snout","parent":"head","at":[30,-6],"side":0,"shape":"ellipse","w":40,"h":30,"rot":0,"look":{"fill":"accent"},"z":1,"views":{"front":{"w":34}}},{"id":"ear_l","role":"ear","parent":"head","at":[-14,-42],"side":-1,"shape":"teardrop","w":22,"h":40,"rot":0,"look":{"fill":"skin"},"z":-1,"limits":[-30,30]},{"id":"ear_r","role":"ear","parent":"head","at":[-14,-42],"side":1,"shape":"teardrop","w":22,"h":40,"rot":0,"look":{"fill":"skin"},"z":1,"limits":[-30,30]}],"sockets":{"head_top":{"bone":"head","x":0,"y":-56},"face":{"bone":"head","x":26,"y":-22},"neck":{"bone":"neck","x":0,"y":-10},"back":{"bone":"torso","x":-10,"y":-30},"waist":{"bone":"torso","x":0,"y":20},"hand_l":{"bone":"foot2","x":0,"y":0},"hand_r":{"bone":"foot3","x":0,"y":0},"foot_l":{"bone":"foot0","x":0,"y":2},"foot_r":{"bone":"foot1","x":0,"y":2}},"proportions":{"heads":[1.8,2.8]},"colours":{"skin":"#c98a4b","hair":"#7a4f2a","eyes":"#2a1a12","top":"#3f8fbf","bottom":"#40485c","shoes":"#c98a4b","accent":"#f2dcc0"}},"file":"bodies/fours.json"},{"pack":1,"id":"c4c:body:grownup","type":"body","version":"1.0.0","name":"Grown-up","description":"A grown-up about 3.2 heads tall: a skeleton of jointed bones (W21) that the kid parts fit too. Seen from the front, the side and the back.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:7069b5bc396efe0e1d14e03b57e0c749e0b4cc6df960ef7eb660a6b16c0025ed","content":{"v":1,"kind":"body","art":1,"name":"grownup","plan":"upright","views":["side","front","back"],"bones":[{"id":"root","role":"root","at":[0,0],"side":0,"shape":"circle","w":0,"h":0,"rot":0,"look":{"fill":"skin"}},{"id":"hips","role":"hips","parent":"root","at":[0,-119],"side":0,"shape":"rrect","w":44,"h":32,"rot":0,"look":{"fill":"skin"},"r":12,"limits":[-30,30],"views":{"front":{"w":62}}},{"id":"leg_l","role":"leg","parent":"hips","at":[0,4],"side":-1,"shape":"capsule","w":26,"h":62,"rot":0,"look":{"fill":"skin"},"index":0,"z":-2,"limits":[-80,110]},{"id":"shin_l","role":"shin","parent":"leg_l","at":[0,58],"side":-1,"shape":"capsule","w":22,"h":58,"rot":0,"look":{"fill":"skin"},"sign":-1,"limits":[-130,5]},{"id":"foot_l","role":"foot","parent":"shin_l","at":[0,54],"side":-1,"shape":"ellipse","w":32,"h":16,"rot":0,"look":{"fill":"skin"},"ox":5,"oy":-5,"limits":[-45,45],"views":{"front":{"w":28}}},{"id":"leg_r","role":"leg","parent":"hips","at":[0,4],"side":1,"shape":"capsule","w":26,"h":62,"rot":0,"look":{"fill":"skin"},"index":1,"z":-1,"limits":[-80,110]},{"id":"shin_r","role":"shin","parent":"leg_r","at":[0,58],"side":1,"shape":"capsule","w":22,"h":58,"rot":0,"look":{"fill":"skin"},"sign":-1,"limits":[-130,5]},{"id":"foot_r","role":"foot","parent":"shin_r","at":[0,54],"side":1,"shape":"ellipse","w":32,"h":16,"rot":0,"look":{"fill":"skin"},"ox":5,"oy":-5,"limits":[-45,45],"views":{"front":{"w":28}}},{"id":"torso","role":"torso","parent":"hips","at":[0,-8],"side":0,"shape":"rrect","w":50,"h":98,"rot":0,"look":{"fill":"skin"},"r":22,"oy":-39,"z":2,"limits":[-40,40],"views":{"front":{"w":72}}},{"id":"neck","role":"neck","parent":"torso","at":[2,-84],"side":0,"shape":"rrect","w":22,"h":22,"rot":0,"look":{"fill":"skin"},"r":9,"oy":-6,"z":-1,"views":{"front":{"w":24,"at":[0,-84]}}},{"id":"head","role":"head","parent":"torso","at":[2,-90],"side":0,"shape":"ellipse","w":92,"h":92,"rot":0,"look":{"fill":"skin"},"oy":-44,"z":3,"limits":[-40,40],"views":{"front":{"w":94,"at":[0,-90]}},"face":{"set":"v2","profile":true,"eyeX":20,"eyeCX":25,"eyeY":-46,"eyeR":10,"eyeH":1.2,"mouthW":22,"mouthH":9,"mouthX":28,"mouthY":-18,"iris":"#4a7a3a","lid":"#e8b58e","brow":"#352c3e","blush":"#f7a99a","z":0.3}},{"id":"arm_l","role":"arm","parent":"torso","at":[-1,-76],"side":-1,"shape":"capsule","w":18,"h":50,"rot":0,"look":{"fill":"skin"},"z":-3,"limits":[-190,190],"views":{"front":{"at":[-40,-76],"rot":7}}},{"id":"fore_l","role":"forearm","parent":"arm_l","at":[0,46],"side":-1,"shape":"capsule","w":16,"h":44,"rot":0,"look":{"fill":"skin"},"limits":[-25,150],"flex":1},{"id":"hand_l","role":"hand","parent":"fore_l","at":[0,40],"side":-1,"shape":"ellipse","w":18,"h":22,"rot":0,"look":{"fill":"skin"},"oy":9,"limits":[-70,70]},{"id":"arm_r","role":"arm","parent":"torso","at":[1,-76],"side":1,"shape":"capsule","w":18,"h":50,"rot":0,"look":{"fill":"skin"},"z":4,"limits":[-190,190],"views":{"front":{"at":[40,-76],"rot":-7}}},{"id":"fore_r","role":"forearm","parent":"arm_r","at":[0,46],"side":1,"shape":"capsule","w":16,"h":44,"rot":0,"look":{"fill":"skin"},"limits":[-25,150],"flex":1},{"id":"hand_r","role":"hand","parent":"fore_r","at":[0,40],"side":1,"shape":"ellipse","w":18,"h":22,"rot":0,"look":{"fill":"skin"},"oy":9,"limits":[-70,70]}],"sockets":{"head_top":{"bone":"head","x":0,"y":-90},"face":{"bone":"head","x":26,"y":-44},"neck":{"bone":"torso","x":2,"y":-82},"back":{"bone":"torso","x":-26,"y":-50},"waist":{"bone":"hips","x":0,"y":-8},"hand_l":{"bone":"hand_l","x":0,"y":12},"hand_r":{"bone":"hand_r","x":0,"y":12},"foot_l":{"bone":"foot_l","x":0,"y":2},"foot_r":{"bone":"foot_r","x":0,"y":2}},"proportions":{"heads":[3,3.4]},"colours":{"skin":"#e8b58e","hair":"#3b2a24","eyes":"#4a7a3a","top":"#3f8fbf","bottom":"#40485c","shoes":"#6b4a32","accent":"#ffd23f"}},"file":"bodies/grownup.json"},{"pack":1,"id":"c4c:body:kid","type":"body","version":"1.0.0","name":"Kid","description":"A child about 2.4 heads tall: a skeleton of jointed bones (W21) that every kid part fits. Seen from the front, the side and the back.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:dcedbef439c0c805d01087d79966708875bcfa0c7b5f30f068b8d9a8d7a48dc6","content":{"v":1,"kind":"body","art":1,"name":"kid","plan":"upright","views":["side","front","back"],"bones":[{"id":"root","role":"root","at":[0,0],"side":0,"shape":"circle","w":0,"h":0,"rot":0,"look":{"fill":"skin"}},{"id":"hips","role":"hips","parent":"root","at":[0,-68],"side":0,"shape":"rrect","w":40,"h":28,"rot":0,"look":{"fill":"skin"},"r":12,"oy":0,"limits":[-30,30],"views":{"front":{"w":56}}},{"id":"leg_l","role":"leg","parent":"hips","at":[0,4],"side":-1,"shape":"capsule","w":24,"h":38,"rot":0,"look":{"fill":"skin"},"index":0,"z":-2,"limits":[-80,110]},{"id":"shin_l","role":"shin","parent":"leg_l","at":[0,32],"side":-1,"shape":"capsule","w":20,"h":30,"rot":0,"look":{"fill":"skin"},"sign":-1,"limits":[-130,5]},{"id":"foot_l","role":"foot","parent":"shin_l","at":[0,28],"side":-1,"shape":"ellipse","w":30,"h":16,"rot":0,"look":{"fill":"skin"},"ox":5,"oy":-6,"limits":[-45,45],"views":{"front":{"w":28}}},{"id":"leg_r","role":"leg","parent":"hips","at":[0,4],"side":1,"shape":"capsule","w":24,"h":38,"rot":0,"look":{"fill":"skin"},"index":1,"z":-1,"limits":[-80,110]},{"id":"shin_r","role":"shin","parent":"leg_r","at":[0,32],"side":1,"shape":"capsule","w":20,"h":30,"rot":0,"look":{"fill":"skin"},"sign":-1,"limits":[-130,5]},{"id":"foot_r","role":"foot","parent":"shin_r","at":[0,28],"side":1,"shape":"ellipse","w":30,"h":16,"rot":0,"look":{"fill":"skin"},"ox":5,"oy":-6,"limits":[-45,45],"views":{"front":{"w":28}}},{"id":"torso","role":"torso","parent":"hips","at":[0,-8],"side":0,"shape":"rrect","w":46,"h":74,"rot":0,"look":{"fill":"skin"},"r":20,"oy":-27,"z":2,"limits":[-40,40],"views":{"front":{"w":58}}},{"id":"neck","role":"neck","parent":"torso","at":[2,-62],"side":0,"shape":"rrect","w":18,"h":18,"rot":0,"look":{"fill":"skin"},"r":8,"oy":-6,"z":-1,"views":{"front":{"w":22,"at":[0,-62]}}},{"id":"head","role":"head","parent":"torso","at":[2,-68],"side":0,"shape":"ellipse","w":100,"h":104,"rot":0,"look":{"fill":"skin"},"oy":-48,"z":3,"limits":[-40,40],"views":{"front":{"w":106,"at":[0,-68]}},"face":{"set":"v2","profile":true,"eyeX":23,"eyeCX":27,"eyeY":-40,"eyeR":12,"eyeH":1.28,"mouthW":24,"mouthH":10,"mouthX":35,"mouthY":-13,"iris":"#2f7fc1","lid":"#f5c6a0","brow":"#30202a","blush":"#f7a99a","z":0.3}},{"id":"arm_l","role":"arm","parent":"torso","at":[-1,-54],"side":-1,"shape":"capsule","w":18,"h":36,"rot":0,"look":{"fill":"skin"},"z":-3,"limits":[-190,190],"views":{"front":{"at":[-31,-54],"rot":9}}},{"id":"fore_l","role":"forearm","parent":"arm_l","at":[0,32],"side":-1,"shape":"capsule","w":16,"h":31,"rot":0,"look":{"fill":"skin"},"limits":[-25,150],"flex":1},{"id":"hand_l","role":"hand","parent":"fore_l","at":[0,28],"side":-1,"shape":"ellipse","w":18,"h":22,"rot":0,"look":{"fill":"skin"},"oy":9,"limits":[-70,70]},{"id":"arm_r","role":"arm","parent":"torso","at":[1,-54],"side":1,"shape":"capsule","w":18,"h":36,"rot":0,"look":{"fill":"skin"},"z":4,"limits":[-190,190],"views":{"front":{"at":[31,-54],"rot":-9}}},{"id":"fore_r","role":"forearm","parent":"arm_r","at":[0,32],"side":1,"shape":"capsule","w":16,"h":31,"rot":0,"look":{"fill":"skin"},"limits":[-25,150],"flex":1},{"id":"hand_r","role":"hand","parent":"fore_r","at":[0,28],"side":1,"shape":"ellipse","w":18,"h":22,"rot":0,"look":{"fill":"skin"},"oy":9,"limits":[-70,70]}],"sockets":{"head_top":{"bone":"head","x":0,"y":-100},"face":{"bone":"head","x":30,"y":-40},"neck":{"bone":"torso","x":2,"y":-60},"back":{"bone":"torso","x":-24,"y":-34},"waist":{"bone":"hips","x":0,"y":-8},"hand_l":{"bone":"hand_l","x":0,"y":12},"hand_r":{"bone":"hand_r","x":0,"y":12},"foot_l":{"bone":"foot_l","x":0,"y":2},"foot_r":{"bone":"foot_r","x":0,"y":2}},"proportions":{"heads":[2.2,2.6]},"colours":{"skin":"#f5c6a0","hair":"#4b2e22","eyes":"#2f7fc1","top":"#ff6a4d","bottom":"#3c5fb4","shoes":"#1fa58a","accent":"#ffd23f"}},"file":"bodies/kid.json"},{"pack":1,"id":"c4c:body:upright","type":"body","version":"1.0.0","name":"Upright animal","description":"An animal standing on two legs, with a snout, round ears and a tail: a skeleton of jointed bones (W21). Seen from the front, the side and the back.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:626beb4f420ab8e0868b5800528c673fc0f9a80e1b9804df316d52ad2d2f9814","content":{"v":1,"kind":"body","art":1,"name":"upright","plan":"upright","views":["side","front","back"],"bones":[{"id":"root","role":"root","at":[0,0],"side":0,"shape":"circle","w":0,"h":0,"rot":0,"look":{"fill":"skin"}},{"id":"hips","role":"hips","parent":"root","at":[0,-42],"side":0,"shape":"ellipse","w":80,"h":58,"rot":0,"look":{"fill":"skin","tex":{"name":"fur","length":2,"density":0.12,"tint":0.04}},"limits":[-30,30],"views":{"front":{"w":102}}},{"id":"leg_l","role":"leg","parent":"hips","at":[2,12],"side":-1,"shape":"capsule","w":26,"h":14,"rot":0,"look":{"fill":"skin"},"index":0,"z":-2,"limits":[-70,60],"views":{"front":{"at":[-24,12]}}},{"id":"shin_l","role":"shin","parent":"leg_l","at":[0,10],"side":-1,"shape":"capsule","w":22,"h":12,"rot":0,"look":{"fill":"skin"},"sign":-1,"limits":[-120,5]},{"id":"foot_l","role":"foot","parent":"shin_l","at":[0,10],"side":-1,"shape":"ellipse","w":34,"h":14,"rot":0,"look":{"fill":"skin"},"ox":8,"oy":0,"limits":[-40,40],"views":{"front":{"w":30}}},{"id":"leg_r","role":"leg","parent":"hips","at":[2,12],"side":1,"shape":"capsule","w":26,"h":14,"rot":0,"look":{"fill":"skin"},"index":1,"z":-1,"limits":[-70,60],"views":{"front":{"at":[24,12]}}},{"id":"shin_r","role":"shin","parent":"leg_r","at":[0,10],"side":1,"shape":"capsule","w":22,"h":12,"rot":0,"look":{"fill":"skin"},"sign":-1,"limits":[-120,5]},{"id":"foot_r","role":"foot","parent":"shin_r","at":[0,10],"side":1,"shape":"ellipse","w":34,"h":14,"rot":0,"look":{"fill":"skin"},"ox":8,"oy":0,"limits":[-40,40],"views":{"front":{"w":30}}},{"id":"tail","role":"tail","parent":"hips","at":[-34,6],"side":0,"shape":"capsule","w":20,"h":26,"rot":64,"look":{"fill":"skin"},"taper":1,"z":-3,"limits":[-40,40]},{"id":"torso","role":"torso","parent":"hips","at":[0,-10],"side":0,"shape":"egg","w":84,"h":98,"rot":0,"look":{"fill":"skin","tex":{"name":"fur","length":2,"density":0.12,"tint":0.04}},"oy":-36,"top":0.74,"z":1,"limits":[-35,35],"views":{"front":{"w":98}}},{"id":"belly","role":"decoration","parent":"torso","at":[16,-6],"side":0,"shape":"ellipse","w":52,"h":70,"rot":0,"look":{"fill":"skin_light"},"z":1,"outline":false,"views":{"front":{"w":74,"at":[0,-2]}}},{"id":"arm_l","role":"arm","parent":"torso","at":[2,-62],"side":-1,"shape":"capsule","w":16,"h":21,"rot":0,"look":{"fill":"skin"},"z":-2,"limits":[-190,190],"views":{"front":{"at":[-36,-62],"rot":8}}},{"id":"fore_l","role":"forearm","parent":"arm_l","at":[0,17],"side":-1,"shape":"capsule","w":14,"h":17,"rot":0,"look":{"fill":"skin"},"limits":[-25,150],"flex":1},{"id":"hand_l","role":"hand","parent":"fore_l","at":[0,14],"side":-1,"shape":"ellipse","w":16,"h":17,"rot":0,"look":{"fill":"skin"},"oy":7,"limits":[-70,70]},{"id":"arm_r","role":"arm","parent":"torso","at":[2,-62],"side":1,"shape":"capsule","w":16,"h":21,"rot":0,"look":{"fill":"skin"},"z":3,"limits":[-190,190],"views":{"front":{"at":[36,-62],"rot":-8}}},{"id":"fore_r","role":"forearm","parent":"arm_r","at":[0,17],"side":1,"shape":"capsule","w":14,"h":17,"rot":0,"look":{"fill":"skin"},"limits":[-25,150],"flex":1},{"id":"hand_r","role":"hand","parent":"fore_r","at":[0,14],"side":1,"shape":"ellipse","w":16,"h":17,"rot":0,"look":{"fill":"skin"},"oy":7,"limits":[-70,70]},{"id":"head","role":"head","parent":"torso","at":[8,-78],"side":0,"shape":"ellipse","w":104,"h":98,"rot":0,"look":{"fill":"skin","tex":{"name":"fur","length":2,"density":0.12,"tint":0.04}},"oy":-42,"z":2,"limits":[-40,40],"views":{"front":{"w":124,"at":[0,-78]}},"face":{"set":"v2","profile":true,"eyeX":26,"eyeCX":30,"eyeY":-50,"eyeR":15,"eyeH":1.12,"mouthW":36,"mouthH":14,"mouthX":44,"mouthY":-18,"iris":"#1d1410","lid":"#5ba3d8","brow":"#37557c","z":0.4}},{"id":"snout","role":"snout","parent":"head","at":[44,-26],"side":0,"shape":"ellipse","w":30,"h":26,"rot":0,"look":{"fill":"skin"},"z":1,"views":{"front":{"hide":true}}},{"id":"ear_l","role":"ear","parent":"head","at":[-12,-84],"side":-1,"shape":"ellipse","w":32,"h":38,"rot":-8,"look":{"fill":"skin"},"z":-1,"limits":[-30,30],"views":{"front":{"at":[-42,-80],"rot":-14}}},{"id":"ear_in_l","role":"decoration","parent":"ear_l","at":[1,2],"side":-1,"shape":"ellipse","w":18,"h":24,"rot":0,"look":{"fill":"accent"},"outline":false},{"id":"ear_r","role":"ear","parent":"head","at":[-12,-84],"side":1,"shape":"ellipse","w":32,"h":38,"rot":-8,"look":{"fill":"skin"},"z":-1,"limits":[-30,30],"views":{"front":{"at":[42,-80],"rot":14}}},{"id":"ear_in_r","role":"decoration","parent":"ear_r","at":[1,2],"side":1,"shape":"ellipse","w":18,"h":24,"rot":0,"look":{"fill":"accent"},"outline":false}],"sockets":{"head_top":{"bone":"head","x":0,"y":-90},"face":{"bone":"head","x":40,"y":-40},"neck":{"bone":"torso","x":6,"y":-78},"back":{"bone":"torso","x":-34,"y":-40},"waist":{"bone":"hips","x":0,"y":-10},"hand_l":{"bone":"hand_l","x":0,"y":7},"hand_r":{"bone":"hand_r","x":0,"y":7},"foot_l":{"bone":"foot_l","x":0,"y":4},"foot_r":{"bone":"foot_r","x":0,"y":4}},"proportions":{"heads":[2,2.6]},"colours":{"skin":"#5ba3d8","hair":"#3f7fb3","eyes":"#1d1410","top":"#ffd23f","bottom":"#3c5fb4","shoes":"#5ba3d8","accent":"#f0a848","skin_light":"#77b1da"}},"file":"bodies/upright.json"},{"pack":1,"id":"c4c:cartoon:happy_now","type":"cartoon","version":"1.0.1","name":"Happy now?","description":"Sunny brings Grump a cake with sprinkles. Two characters, two scenes, about 23 seconds.","author":{"id":"c4c","name":"Crafts4Class"},"license":"cc0","remixable":true,"derived_from":[],"preview":{"seconds":23},"content_hash":"sha256:28ac64431d1fac33415608eb770bb63fd22de03c84953fe5369bec79925cc505","content":{"cast":{"A":{"name":"Sunny","legs":2,"look":{"template":"person","colors":{"body":"#ffcf77","acc":"#6a4c93"}}},"B":{"name":"Grump","legs":4,"at":{"x":0.68,"y":0.92,"h":0.34,"facing":-1},"look":{"template":"dog","colors":{"skin":"#9e8a78","body":"#d9cbbd","acc":"#5a4636"}}}},"places":{"park":{"background":"meadow"}},"program":{"v":1,"kind":"cartoon","name":"Happy now?","scripts":[{"hat":{"on":"scene","name":"Morning","place":"park"},"body":[{"op":"does","who":"B","behaviour":"c4c:beh:sadidle"},{"op":"caption","text":"Grump was having a grey sort of morning.","for":2.6},{"op":"wait","s":1.2},{"op":"does","who":"A","behaviour":"c4c:beh:walk","for":2,"params":{"from":0,"to":0,"t_in":2}},{"op":"enter","who":"A","from":"left","over":2,"x":0.3},{"op":"does","who":"A","behaviour":"c4c:beh:wave_hello"},{"op":"say","who":"A","text":"Good morning, Grump!","mood":"happy"},{"op":"does","who":"B","behaviour":"c4c:beh:annoyed"},{"op":"say","who":"B","text":"Is it?","mood":"angry"},{"op":"wait","s":0.5},{"op":"does","who":"A","behaviour":"c4c:beh:bounce"},{"op":"say","who":"A","text":"I baked you a cake. It has sprinkles!","mood":"happy"},{"op":"does","who":"B","behaviour":"c4c:beh:sadidle"},{"op":"say","who":"B","text":"I don't like sprinkles.","mood":"sad"},{"op":"wait","s":0.8}]},{"hat":{"on":"scene","name":"One bite later"},"body":[{"op":"caption","text":"One bite later...","for":1.6},{"op":"does","who":"B","behaviour":"c4c:beh:idle"},{"op":"does","who":"A","behaviour":"c4c:beh:point"},{"op":"wait","s":1},{"op":"say","who":"A","text":"Are you happy now?","mood":"happy"},{"op":"wait","s":0.9},{"op":"does","who":"B","behaviour":"c4c:beh:wag"},{"op":"say","who":"B","text":"...Maybe a little."},{"op":"cut","place":"park","mood":"bloom"},{"op":"does","who":"A","behaviour":"c4c:beh:jump_for_joy"},{"op":"say","who":"A","text":"Hooray! Cake for everyone!","mood":"happy"},{"op":"say","who":"B","text":"Don't make it weird.","mood":"angry"},{"op":"does","who":"A","behaviour":"c4c:beh:walk","for":2.4,"params":{"from":0,"to":0,"t_in":2.4}},{"op":"together","branches":[[{"op":"exit","who":"A","to":"left","over":2.4}],[{"op":"wait","s":1.2},{"op":"say","who":"B","text":"Thanks for the cake.","speed":0.85}]]},{"op":"mood","who":"B","mood":"happy"},{"op":"wait","s":1.2}]}]}},"file":"scenes/happy_now.json"},{"pack":1,"id":"c4c:game:brick_breaker","type":"game","version":"1.0.0","name":"Brick Breaker","description":"Press Space to serve, then move the paddle so the ball bounces up and breaks every brick. 99 walls, each served faster, then the first again.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"controls":{"keys":"Left and right arrows move the paddle. Space serves the ball.","pad":"◀ ▶ move the paddle. Jump serves the ball.","drives":"paddle"},"content_hash":"sha256:b67af2482a518e0e57db7c1aa77d4ea6d39c02c1616ffbb397ca9f700adb5b63","content":{"v":1,"kind":"game","name":"Brick Breaker","view":"top","note":"Seen from above. The ball keeps all its speed when it bounces (its own bounce), off the walls, the paddle and the bricks, and goes out through the bottom. Where it meets the paddle sets which way it goes. Space serves it. 99 walls, the three built in turn, each served faster than the one before (to 15 at most): clear one and the next is built, with a ball back (5 at most); after the 99th, the first again.","things":{"Paddle":{"shape":"box","color":"#4cc9f0","model":{"tree":{"id":"root","role":"root","pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"children":[{"id":"spine","role":"torso","shape":{"type":"poly","subs":[[[-75,-3],[-73.9,-8.3],[-70.8,-11.4],[-65.5,-12.5],[65.5,-12.5],[70.8,-11.4],[73.9,-8.3],[75,-3],[75,3],[73.9,8.3],[70.8,11.4],[65.5,12.5],[-65.5,12.5],[-70.8,11.4],[-73.9,8.3],[-75,3]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#3272b3","children":[{"id":"spine_lit","role":null,"shape":{"type":"poly","subs":[[[-78.2,-6.7],[-77.1,-12],[-74,-15.1],[-68.7,-16.2],[62.3,-16.2],[67.6,-15.1],[70.7,-12],[71.8,-6.7],[71.8,-0.7],[70.7,4.6],[67.6,7.7],[62.3,8.8],[-68.7,8.8],[-74,7.7],[-77.1,4.6],[-78.2,-0.7]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#3f8fe0","outline":false,"clip":true,"children":[]},{"id":"shine","role":null,"side":1,"shape":{"type":"poly","subs":[[[-67,-2],[67,-2],[67,2],[-67,2]]]},"pos":{"x":0,"y":7},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#9fdcf5","children":[],"clip":true,"inner":true},{"id":"shade","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-67,-2],[67,-2],[67,2],[-67,2]]]},"pos":{"x":0,"y":-7.5},"rot":0,"sx":1,"sy":1,"z":0.02,"fill":"#2a5fa8","children":[],"clip":true,"inner":true},{"id":"light","role":null,"shape":{"type":"poly","subs":[[[-4.4,-0.4],[-4.2,-1.3],[-3.9,-2.1],[-3.4,-2.8],[-2.8,-3.4],[-2.1,-3.9],[-1.3,-4.2],[-0.4,-4.4],[0.4,-4.4],[1.3,-4.2],[2.1,-3.9],[2.8,-3.4],[3.4,-2.8],[3.9,-2.1],[4.2,-1.3],[4.4,-0.4],[4.4,0.4],[4.2,1.3],[3.9,2.1],[3.4,2.8],[2.8,3.4],[2.1,3.9],[1.3,4.2],[0.4,4.4],[-0.4,4.4],[-1.3,4.2],[-2.1,3.9],[-2.8,3.4],[-3.4,2.8],[-3.9,2.1],[-4.2,1.3],[-4.4,0.4]]]},"pos":{"x":-62,"y":0},"rot":0,"sx":1,"sy":1,"z":0.03,"fill":"#ffd23f","children":[],"clip":true,"inner":true},{"id":"light2","role":null,"shape":{"type":"poly","subs":[[[-4.4,-0.4],[-4.2,-1.3],[-3.9,-2.1],[-3.4,-2.8],[-2.8,-3.4],[-2.1,-3.9],[-1.3,-4.2],[-0.4,-4.4],[0.4,-4.4],[1.3,-4.2],[2.1,-3.9],[2.8,-3.4],[3.4,-2.8],[3.9,-2.1],[4.2,-1.3],[4.4,-0.4],[4.4,0.4],[4.2,1.3],[3.9,2.1],[3.4,2.8],[2.8,3.4],[2.1,3.9],[1.3,4.2],[0.4,4.4],[-0.4,4.4],[-1.3,4.2],[-2.1,3.9],[-2.8,3.4],[-3.4,2.8],[-3.9,2.1],[-4.2,1.3],[-4.4,0.4]]]},"pos":{"x":62,"y":0},"rot":0,"sx":1,"sy":1,"z":0.04,"fill":"#ffd23f","children":[],"clip":true,"inner":true}]}]},"legs":0,"kind":"custom","height":15.2,"footprint":75,"look":"outlined","fx":2,"views":[{"view":"top"}]},"box":{"w":3,"h":0.5},"edges":"stop","solid":true},"Ball":{"shape":"ball","color":"#f77f00","box":{"w":0.5,"h":0.5},"edges":{"left":"bounce","right":"bounce","top":"bounce","bottom":"off"},"bounce":1},"BrickA":{"shape":"box","color":"#e63946","model":{"tree":{"id":"root","role":"root","pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"children":[{"id":"spine","role":"torso","shape":{"type":"poly","subs":[[[-70,-6.1],[-69,-11],[-66,-14],[-61.1,-15],[61.1,-15],[66,-14],[69,-11],[70,-6.1],[70,6.1],[69,11],[66,14],[61.1,15],[-61.1,15],[-66,14],[-69,11],[-70,6.1]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#b82e38","children":[{"id":"spine_lit","role":null,"shape":{"type":"poly","subs":[[[-73.9,-10.6],[-72.9,-15.5],[-69.9,-18.5],[-65,-19.5],[57.2,-19.5],[62.1,-18.5],[65.1,-15.5],[66.1,-10.6],[66.1,1.6],[65.1,6.5],[62.1,9.5],[57.2,10.5],[-65,10.5],[-69.9,9.5],[-72.9,6.5],[-73.9,1.6]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#e63946","outline":false,"clip":true,"children":[]},{"id":"shine","role":null,"side":1,"shape":{"type":"poly","subs":[[[-62,-2],[62,-2],[62,2],[-62,2]]]},"pos":{"x":0,"y":8.4},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#ff6b76","children":[],"clip":true,"inner":true},{"id":"shade","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-62,-2],[62,-2],[62,2],[-62,2]]]},"pos":{"x":0,"y":-9},"rot":0,"sx":1,"sy":1,"z":0.02,"fill":"#9e1e29","children":[],"clip":true,"inner":true}]}]},"legs":0,"kind":"custom","height":14.2,"footprint":70,"look":"outlined","fx":2,"views":[{"view":"top"}]},"box":{"w":2.8,"h":0.6},"solid":true},"BrickB":{"shape":"box","color":"#ffd23f","model":{"tree":{"id":"root","role":"root","pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"children":[{"id":"spine","role":"torso","shape":{"type":"poly","subs":[[[-70,-6.1],[-69,-11],[-66,-14],[-61.1,-15],[61.1,-15],[66,-14],[69,-11],[70,-6.1],[70,6.1],[69,11],[66,14],[61.1,15],[-61.1,15],[-66,14],[-69,11],[-70,6.1]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#cca832","children":[{"id":"spine_lit","role":null,"shape":{"type":"poly","subs":[[[-73.9,-10.6],[-72.9,-15.5],[-69.9,-18.5],[-65,-19.5],[57.2,-19.5],[62.1,-18.5],[65.1,-15.5],[66.1,-10.6],[66.1,1.6],[65.1,6.5],[62.1,9.5],[57.2,10.5],[-65,10.5],[-69.9,9.5],[-72.9,6.5],[-73.9,1.6]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#ffd23f","outline":false,"clip":true,"children":[]},{"id":"shine","role":null,"side":1,"shape":{"type":"poly","subs":[[[-62,-2],[62,-2],[62,2],[-62,2]]]},"pos":{"x":0,"y":8.4},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#fff27a","children":[],"clip":true,"inner":true},{"id":"shade","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-62,-2],[62,-2],[62,2],[-62,2]]]},"pos":{"x":0,"y":-9},"rot":0,"sx":1,"sy":1,"z":0.02,"fill":"#b8952a","children":[],"clip":true,"inner":true}]}]},"legs":0,"kind":"custom","height":14.2,"footprint":70,"look":"outlined","fx":2,"views":[{"view":"top"}]},"box":{"w":2.8,"h":0.6},"solid":true},"BrickC":{"shape":"box","color":"#4895ef","model":{"tree":{"id":"root","role":"root","pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"children":[{"id":"spine","role":"torso","shape":{"type":"poly","subs":[[[-70,-6.1],[-69,-11],[-66,-14],[-61.1,-15],[61.1,-15],[66,-14],[69,-11],[70,-6.1],[70,6.1],[69,11],[66,14],[61.1,15],[-61.1,15],[-66,14],[-69,11],[-70,6.1]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#3a77bf","children":[{"id":"spine_lit","role":null,"shape":{"type":"poly","subs":[[[-73.9,-10.6],[-72.9,-15.5],[-69.9,-18.5],[-65,-19.5],[57.2,-19.5],[62.1,-18.5],[65.1,-15.5],[66.1,-10.6],[66.1,1.6],[65.1,6.5],[62.1,9.5],[57.2,10.5],[-65,10.5],[-69.9,9.5],[-72.9,6.5],[-73.9,1.6]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#4895ef","outline":false,"clip":true,"children":[]},{"id":"shine","role":null,"side":1,"shape":{"type":"poly","subs":[[[-62,-2],[62,-2],[62,2],[-62,2]]]},"pos":{"x":0,"y":8.4},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#6fc0ff","children":[],"clip":true,"inner":true},{"id":"shade","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-62,-2],[62,-2],[62,2],[-62,2]]]},"pos":{"x":0,"y":-9},"rot":0,"sx":1,"sy":1,"z":0.02,"fill":"#2c62a8","children":[],"clip":true,"inner":true}]}]},"legs":0,"kind":"custom","height":14.2,"footprint":70,"look":"outlined","fx":2,"views":[{"view":"top"}]},"box":{"w":2.8,"h":0.6},"solid":true},"PowerBrick":{"shape":"box","color":"#9b5de5","model":{"tree":{"id":"root","role":"root","pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"children":[{"id":"spine","role":"torso","shape":{"type":"poly","subs":[[[-70,-6.1],[-69,-11],[-66,-14],[-61.1,-15],[61.1,-15],[66,-14],[69,-11],[70,-6.1],[70,6.1],[69,11],[66,14],[61.1,15],[-61.1,15],[-66,14],[-69,11],[-70,6.1]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#7c4ab7","children":[{"id":"spine_lit","role":null,"shape":{"type":"poly","subs":[[[-73.9,-10.6],[-72.9,-15.5],[-69.9,-18.5],[-65,-19.5],[57.2,-19.5],[62.1,-18.5],[65.1,-15.5],[66.1,-10.6],[66.1,1.6],[65.1,6.5],[62.1,9.5],[57.2,10.5],[-65,10.5],[-69.9,9.5],[-72.9,6.5],[-73.9,1.6]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#9b5de5","outline":false,"clip":true,"children":[]},{"id":"shine","role":null,"side":1,"shape":{"type":"poly","subs":[[[-62,-2],[62,-2],[62,2],[-62,2]]]},"pos":{"x":0,"y":8.4},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#c77dff","children":[],"clip":true,"inner":true},{"id":"shade","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-62,-2],[62,-2],[62,2],[-62,2]]]},"pos":{"x":0,"y":-9},"rot":0,"sx":1,"sy":1,"z":0.02,"fill":"#6a3aa8","children":[],"clip":true,"inner":true}]}]},"legs":0,"kind":"custom","height":14.2,"footprint":70,"look":"outlined","fx":2,"views":[{"view":"top"}]},"box":{"w":2.8,"h":0.6},"solid":true},"PowerGem":{"shape":"gem","color":"#4cc9f0","box":{"w":0.6,"h":0.6},"edges":"off"}},"worlds":{"court":{"v":1,"kind":"world","art":1,"name":"Brick court","w":20,"h":16,"sky":{"kind":"indoor"},"pieces":[],"marks":{"spawn":{"x":10,"y":14.5}},"camera":{"x":10,"y":8,"h":16}}},"vars":{"score":0,"lives":3,"serving":1,"wall":1,"launch":9},"levels":{"Wall 1":{"world":"court","layout":[{"thing":"Paddle","id":"paddle","x":10,"y":14.5},{"thing":"Ball","id":"ball","x":10,"y":13.95},{"thing":"BrickC","id":"bc0","x":2,"y":3},{"thing":"BrickC","id":"bc1","x":5,"y":3},{"thing":"BrickC","id":"bc2","x":8,"y":3},{"thing":"BrickC","id":"bc3","x":11,"y":3},{"thing":"BrickC","id":"bc4","x":14,"y":3},{"thing":"BrickC","id":"bc5","x":17,"y":3},{"thing":"BrickB","id":"bb0","x":2,"y":4},{"thing":"BrickB","id":"bb1","x":5,"y":4},{"thing":"BrickB","id":"bb2","x":8,"y":4},{"thing":"BrickB","id":"bb3","x":11,"y":4},{"thing":"BrickB","id":"bb4","x":14,"y":4},{"thing":"BrickB","id":"bb5","x":17,"y":4},{"thing":"BrickA","id":"ba0","x":2,"y":5},{"thing":"PowerBrick","id":"ba1","x":5,"y":5},{"thing":"BrickA","id":"ba2","x":8,"y":5},{"thing":"BrickA","id":"ba3","x":11,"y":5},{"thing":"PowerBrick","id":"ba4","x":14,"y":5},{"thing":"BrickA","id":"ba5","x":17,"y":5}]},"Wall 2":{"world":"court","layout":[{"thing":"Paddle","id":"paddle","x":10,"y":14.5},{"thing":"Ball","id":"ball","x":10,"y":13.95},{"thing":"BrickC","id":"w2_0","x":2,"y":2},{"thing":"BrickC","id":"w2_1","x":5,"y":2},{"thing":"BrickC","id":"w2_2","x":8,"y":2},{"thing":"BrickC","id":"w2_3","x":11,"y":2},{"thing":"BrickC","id":"w2_4","x":14,"y":2},{"thing":"BrickC","id":"w2_5","x":17,"y":2},{"thing":"BrickB","id":"w2_6","x":3.5,"y":3},{"thing":"BrickB","id":"w2_7","x":6.5,"y":3},{"thing":"BrickB","id":"w2_8","x":9.5,"y":3},{"thing":"BrickB","id":"w2_9","x":12.5,"y":3},{"thing":"BrickB","id":"w2_10","x":15.5,"y":3},{"thing":"BrickA","id":"w2_11","x":2,"y":4},{"thing":"BrickA","id":"w2_12","x":5,"y":4},{"thing":"PowerBrick","id":"w2_13","x":8,"y":4},{"thing":"BrickA","id":"w2_14","x":11,"y":4},{"thing":"BrickA","id":"w2_15","x":14,"y":4},{"thing":"BrickA","id":"w2_16","x":17,"y":4},{"thing":"BrickB","id":"w2_17","x":3.5,"y":5},{"thing":"BrickB","id":"w2_18","x":6.5,"y":5},{"thing":"BrickB","id":"w2_19","x":9.5,"y":5},{"thing":"BrickB","id":"w2_20","x":12.5,"y":5},{"thing":"BrickB","id":"w2_21","x":15.5,"y":5},{"thing":"BrickC","id":"w2_22","x":2,"y":6},{"thing":"BrickC","id":"w2_23","x":5,"y":6},{"thing":"BrickC","id":"w2_24","x":8,"y":6},{"thing":"BrickC","id":"w2_25","x":11,"y":6},{"thing":"PowerBrick","id":"w2_26","x":14,"y":6},{"thing":"BrickC","id":"w2_27","x":17,"y":6}]},"Wall 3":{"world":"court","layout":[{"thing":"Paddle","id":"paddle","x":10,"y":14.5},{"thing":"Ball","id":"ball","x":10,"y":13.95},{"thing":"BrickC","id":"w3_0","x":2,"y":2},{"thing":"BrickC","id":"w3_1","x":5,"y":2},{"thing":"BrickC","id":"w3_2","x":8,"y":2},{"thing":"BrickC","id":"w3_3","x":11,"y":2},{"thing":"BrickC","id":"w3_4","x":14,"y":2},{"thing":"BrickC","id":"w3_5","x":17,"y":2},{"thing":"BrickC","id":"w3_6","x":2,"y":3},{"thing":"PowerBrick","id":"w3_7","x":5,"y":3},{"thing":"BrickC","id":"w3_8","x":8,"y":3},{"thing":"BrickC","id":"w3_9","x":11,"y":3},{"thing":"BrickC","id":"w3_10","x":14,"y":3},{"thing":"BrickC","id":"w3_11","x":17,"y":3},{"thing":"BrickB","id":"w3_12","x":2,"y":4},{"thing":"BrickB","id":"w3_13","x":5,"y":4},{"thing":"BrickB","id":"w3_14","x":8,"y":4},{"thing":"BrickB","id":"w3_15","x":11,"y":4},{"thing":"BrickB","id":"w3_16","x":14,"y":4},{"thing":"BrickB","id":"w3_17","x":17,"y":4},{"thing":"BrickB","id":"w3_18","x":2,"y":5},{"thing":"BrickB","id":"w3_19","x":5,"y":5},{"thing":"BrickB","id":"w3_20","x":8,"y":5},{"thing":"BrickB","id":"w3_21","x":11,"y":5},{"thing":"PowerBrick","id":"w3_22","x":14,"y":5},{"thing":"BrickB","id":"w3_23","x":17,"y":5},{"thing":"BrickA","id":"w3_24","x":2,"y":6},{"thing":"BrickA","id":"w3_25","x":5,"y":6},{"thing":"BrickA","id":"w3_26","x":8,"y":6},{"thing":"BrickA","id":"w3_27","x":11,"y":6},{"thing":"BrickA","id":"w3_28","x":14,"y":6},{"thing":"BrickA","id":"w3_29","x":17,"y":6},{"thing":"BrickA","id":"w3_30","x":2,"y":7},{"thing":"BrickA","id":"w3_31","x":5,"y":7},{"thing":"PowerBrick","id":"w3_32","x":8,"y":7},{"thing":"BrickA","id":"w3_33","x":11,"y":7},{"thing":"BrickA","id":"w3_34","x":14,"y":7},{"thing":"BrickA","id":"w3_35","x":17,"y":7}]}},"collide":[{"a":"Ball","b":"BrickA","touch":true},{"a":"Ball","b":"BrickB","touch":true},{"a":"Ball","b":"BrickC","touch":true},{"a":"Ball","b":"PowerBrick","touch":true},{"a":"Ball","b":"Paddle","touch":true},{"a":"Paddle","b":"PowerGem","touch":true}],"scripts":[{"hat":{"on":"start"},"body":[{"op":"show","name":"score","as":"number","label":"Score"},{"op":"show","name":"lives","as":"hearts","label":"Lives"},{"op":"show","name":"wall","as":"number","label":"Wall"}]},{"hat":{"on":"scene","name":"Wall 1"},"body":[{"op":"steer","who":"paddle","keys":"arrows","speed":12,"axes":"x"},{"op":"setVar","var":"serving","value":1},{"op":"setVar","var":"launch","value":"=min(15, 9 + 1.5 * min(wall - 1, 2) + 0.04 * max(0, wall - 3))"}]},{"hat":{"on":"scene","name":"Wall 2"},"body":[{"op":"steer","who":"paddle","keys":"arrows","speed":12,"axes":"x"},{"op":"setVar","var":"serving","value":1},{"op":"setVar","var":"launch","value":"=min(15, 9 + 1.5 * min(wall - 1, 2) + 0.04 * max(0, wall - 3))"}]},{"hat":{"on":"scene","name":"Wall 3"},"body":[{"op":"steer","who":"paddle","keys":"arrows","speed":12,"axes":"x"},{"op":"setVar","var":"serving","value":1},{"op":"setVar","var":"launch","value":"=min(15, 9 + 1.5 * min(wall - 1, 2) + 0.04 * max(0, wall - 3))"}]},{"hat":{"on":"every","s":0.05},"body":[{"op":"if","cond":"=serving == 1","body":[{"op":"place","who":"ball","x":"=xof(paddle)","y":"=yof(paddle) - 0.55"},{"op":"speed","who":"ball","vx":0,"vy":0}]}]},{"hat":{"on":"key","key":"space"},"body":[{"op":"if","cond":"=serving == 1","body":[{"op":"setVar","var":"serving","value":0},{"op":"place","who":"ball","x":"=xof(paddle)","y":"=yof(paddle) - 0.55"},{"op":"speed","who":"ball","vx":"=(random - 0.5) * 8","vy":"=0 - launch"},{"op":"sound","name":"bounce"}]}]},{"hat":{"on":"touch","who":"ball","what":"a BrickA"},"body":[{"op":"remove","who":"other"},{"op":"changeVar","var":"score","by":1},{"op":"sound","name":"pop"}]},{"hat":{"on":"touch","who":"ball","what":"a BrickB"},"body":[{"op":"remove","who":"other"},{"op":"changeVar","var":"score","by":2},{"op":"sound","name":"pop"}]},{"hat":{"on":"touch","who":"ball","what":"a BrickC"},"body":[{"op":"remove","who":"other"},{"op":"changeVar","var":"score","by":3},{"op":"sound","name":"pop"}]},{"hat":{"on":"touch","who":"ball","what":"a PowerBrick"},"body":[{"op":"make","thing":"PowerGem","x":"=xof(other)","y":"=yof(other)","vx":0,"vy":3},{"op":"remove","who":"other"},{"op":"changeVar","var":"score","by":1},{"op":"sound","name":"pop"}]},{"hat":{"on":"touch","who":"ball","what":"Paddle"},"body":[{"op":"if","cond":"=serving == 0","body":[{"op":"speed","who":"me","vx":"=(xof(me) - xof(other)) * 4"},{"op":"sound","name":"bounce"}]}]},{"hat":{"on":"touch","who":"paddle","what":"a PowerGem"},"body":[{"op":"remove","who":"other"},{"op":"sound","name":"powerup"},{"op":"resize","who":"paddle","w":4.5},{"op":"restyle","who":"paddle","color":"#ffd23f"}]},{"hat":{"on":"offstage","who":"PowerGem"},"body":[{"op":"remove","who":"me"}]},{"hat":{"on":"offstage","who":"ball"},"body":[{"op":"changeVar","var":"lives","by":-1},{"op":"sound","name":"hit"},{"op":"setVar","var":"serving","value":1},{"op":"place","who":"ball","x":"=xof(paddle)","y":"=yof(paddle) - 0.55"},{"op":"speed","who":"ball","vx":0,"vy":0}]},{"hat":{"on":"zero","var":"lives"},"body":[{"op":"sound","name":"lose"},{"op":"lose","text":"Out of balls!"}]},{"hat":{"on":"when","cond":"=count(BrickA, BrickB, BrickC, PowerBrick) == 0"},"body":[{"op":"sound","name":"win"},{"op":"changeVar","var":"wall","by":1},{"op":"if","cond":"=wall > 99","body":[{"op":"setVar","var":"wall","value":1}]},{"op":"if","cond":"=lives < 5","body":[{"op":"changeVar","var":"lives","by":1}]},{"op":"if","cond":"=mod(wall - 1, 3) == 0","body":[{"op":"goLevel","name":"Wall 1"}],"else":[{"op":"if","cond":"=mod(wall - 1, 3) == 1","body":[{"op":"goLevel","name":"Wall 2"}],"else":[{"op":"goLevel","name":"Wall 3"}]}]}]}]},"file":"games/brick_breaker/game.json"},{"pack":1,"id":"c4c:game:default_rules","type":"game","version":"1.0.0","name":"Default rules","description":"The rules /build/'s Play uses: walk with the arrow keys (or W A S D), jump with space or up; coins, keys and apples 1, a star 5, a gem 10, a heart a life; a hazard or a fall costs a life and goes back to the last checkpoint; the goal wins. Every block is an ordinary game block, so \"Make it my own\" opens it as blocks.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:f94fb6784f6e94154ed9b64e876c1dca9df2395a165b1ae445ece3401be2b7a0","content":{"v":1,"kind":"game","name":"Default rules","cast":{"Hero":{"pack":"c4c:char:kid","edges":"off"}},"levels":{"Level 1":{}},"vars":{"score":0,"lives":3,"rx":0,"ry":0},"scripts":[{"hat":{"on":"start"},"body":[{"op":"gravity","who":"Hero","g":40},{"op":"steer","who":"Hero","keys":"arrows","speed":8},{"op":"show","name":"score","as":"number","label":"Score"},{"op":"show","name":"lives","as":"hearts","label":"Lives"},{"op":"setVar","var":"rx","value":"=xof(Hero)"},{"op":"setVar","var":"ry","value":"=yof(Hero)"}]},{"hat":{"on":"key","key":"space"},"body":[{"op":"jump","who":"Hero","h":3.2},{"op":"sound","name":"jump"}]},{"hat":{"on":"key","key":"up"},"body":[{"op":"jump","who":"Hero","h":3.2},{"op":"sound","name":"jump"}]},{"hat":{"on":"touch","who":"Hero","what":"a coin"},"body":[{"op":"remove","who":"other"},{"op":"changeVar","var":"score","by":1},{"op":"sound","name":"coin"}]},{"hat":{"on":"touch","who":"Hero","what":"a key"},"body":[{"op":"remove","who":"other"},{"op":"changeVar","var":"score","by":1},{"op":"sound","name":"pop"}]},{"hat":{"on":"touch","who":"Hero","what":"an apple"},"body":[{"op":"remove","who":"other"},{"op":"changeVar","var":"score","by":1},{"op":"sound","name":"pop"}]},{"hat":{"on":"touch","who":"Hero","what":"a star"},"body":[{"op":"remove","who":"other"},{"op":"changeVar","var":"score","by":5},{"op":"sound","name":"powerup"}]},{"hat":{"on":"touch","who":"Hero","what":"a gem"},"body":[{"op":"remove","who":"other"},{"op":"changeVar","var":"score","by":10},{"op":"sound","name":"powerup"}]},{"hat":{"on":"touch","who":"Hero","what":"a heart"},"body":[{"op":"remove","who":"other"},{"op":"changeVar","var":"lives","by":1},{"op":"sound","name":"powerup"}]},{"hat":{"on":"touch","who":"Hero","what":"a hazard"},"body":[{"op":"changeVar","var":"lives","by":-1},{"op":"sound","name":"hit"},{"op":"speed","who":"Hero","vx":0,"vy":0},{"op":"place","who":"Hero","x":"=rx","y":"=ry"}]},{"hat":{"on":"offstage","who":"Hero"},"body":[{"op":"changeVar","var":"lives","by":-1},{"op":"sound","name":"hit"},{"op":"speed","who":"Hero","vx":0,"vy":0},{"op":"place","who":"Hero","x":"=rx","y":"=ry"}]},{"hat":{"on":"touch","who":"Hero","what":"a checkpoint"},"body":[{"op":"setVar","var":"rx","value":"=xof(other)"},{"op":"setVar","var":"ry","value":"=yof(other)"},{"op":"sound","name":"beep"}]},{"hat":{"on":"touch","who":"Hero","what":"the goal"},"body":[{"op":"sound","name":"win"},{"op":"win","text":"You made it!"}]},{"hat":{"on":"zero","var":"lives"},"body":[{"op":"sound","name":"lose"},{"op":"lose","text":"Game over"}]}]},"file":"games/default_rules.json"},{"pack":1,"id":"c4c:game:dogfight","type":"game","version":"1.0.0","name":"Dogfight","description":"Fly your blue plane and shoot the red plane three times. Keep up your speed and do not hit the ground. 99 rounds, each red plane sharper, then the first again.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"controls":{"keys":"Left and right arrows turn the plane; it flies on by itself. Up arrow speeds it up, down arrow slows it. Space shoots.","pad":"◀ ▶ turn. ▲ speeds up. ▼ slows down. Jump shoots.","drives":"plane1"},"content_hash":"sha256:d1f176a4c699ff884501a1beac41dccaf6eadd2d931e568ffe21148a70e0db88","content":{"v":1,"kind":"game","name":"Dogfight","note":"Seen from the side. Your plane flies where it points, on its own: left and right turn it, the up arrow speeds it up and the down arrow slows it (never below a glide). The camera follows your plane; past either end of the sky it comes round to the other. The red plane chases you for four seconds and fires when it is near, then climbs away; a hit sends it climbing, safe for two seconds.","things":{"Plane1":{"shape":"box","color":"#1d3557","model":{"tree":{"id":"root","role":"root","pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"children":[{"id":"spine","role":"torso","shape":{"type":"poly","subs":[[[-75,-0.4],[-74.9,-1.1],[-74.8,-1.6],[-74.7,-2],[-74.6,-2.4],[-74.5,-2.8],[-74.4,-3.1],[-74.3,-3.5],[-74.2,-3.7],[-74.1,-3.9],[-74,-4.1],[-73.9,-4.4],[-73.7,-4.8],[-73.5,-5.1],[-73.3,-5.5],[-73.1,-5.8],[-72.9,-6],[-72.8,-6.1],[-72.7,-6.3],[-72.4,-6.6],[-72.1,-6.9],[-71.9,-7.1],[-71.6,-7.4],[-71.3,-7.7],[-71.1,-7.8],[-71,-7.9],[-70.8,-8.1],[-70.5,-8.3],[-70.1,-8.5],[-69.8,-8.7],[-69.4,-8.9],[-69.1,-9],[-68.9,-9.1],[-68.7,-9.2],[-68.5,-9.3],[-68.1,-9.4],[-67.8,-9.5],[-67.4,-9.6],[-67,-9.7],[-66.6,-9.8],[-66.4,-9.8],[-66.2,-9.8],[-66,-9.9],[-65.6,-9.9],[-65.2,-9.9],[-64.8,-10],[-64.4,-10],[-64,-10],[-31.9,-10],[31.9,-10],[64,-10],[64.4,-10],[64.8,-10],[65.2,-9.9],[65.6,-9.9],[66,-9.9],[66.2,-9.8],[66.4,-9.8],[66.6,-9.8],[67,-9.7],[67.4,-9.6],[67.8,-9.5],[68.1,-9.4],[68.5,-9.3],[68.7,-9.2],[68.9,-9.1],[69.1,-9],[69.4,-8.9],[69.8,-8.7],[70.1,-8.5],[70.5,-8.3],[70.8,-8.1],[71,-7.9],[71.1,-7.8],[71.3,-7.7],[71.6,-7.4],[71.9,-7.1],[72.1,-6.9],[72.4,-6.6],[72.7,-6.3],[72.8,-6.1],[72.9,-6],[73.1,-5.8],[73.3,-5.5],[73.5,-5.1],[73.7,-4.8],[73.9,-4.4],[74,-4.1],[74.1,-3.9],[74.2,-3.7],[74.3,-3.5],[74.4,-3.1],[74.5,-2.8],[74.6,-2.4],[74.7,-2],[74.8,-1.6],[74.9,-1.1],[75,-0.4],[75,0],[75,0],[75,0.4],[74.9,1.1],[74.8,1.6],[74.7,2],[74.6,2.4],[74.5,2.8],[74.4,3.1],[74.3,3.5],[74.2,3.7],[74.1,3.9],[74,4.1],[73.9,4.4],[73.7,4.8],[73.5,5.1],[73.3,5.5],[73.1,5.8],[72.9,6],[72.8,6.1],[72.7,6.3],[72.4,6.6],[72.1,6.9],[71.9,7.1],[71.6,7.4],[71.3,7.7],[71.1,7.8],[71,7.9],[70.8,8.1],[70.5,8.3],[70.1,8.5],[69.8,8.7],[69.4,8.9],[69.1,9],[68.9,9.1],[68.7,9.2],[68.5,9.3],[68.1,9.4],[67.8,9.5],[67.4,9.6],[67,9.7],[66.6,9.8],[66.4,9.8],[66.2,9.8],[66,9.9],[65.6,9.9],[65.2,9.9],[64.8,10],[64.4,10],[64,10],[31.9,10],[-31.9,10],[-64,10],[-64.4,10],[-64.8,10],[-65.2,9.9],[-65.6,9.9],[-66,9.9],[-66.2,9.8],[-66.4,9.8],[-66.6,9.8],[-67,9.7],[-67.4,9.6],[-67.8,9.5],[-68.1,9.4],[-68.5,9.3],[-68.7,9.2],[-68.9,9.1],[-69.1,9],[-69.4,8.9],[-69.8,8.7],[-70.1,8.5],[-70.5,8.3],[-70.8,8.1],[-71,7.9],[-71.1,7.8],[-71.3,7.7],[-71.6,7.4],[-71.9,7.1],[-72.1,6.9],[-72.4,6.6],[-72.7,6.3],[-72.8,6.1],[-72.9,6],[-73.1,5.8],[-73.3,5.5],[-73.5,5.1],[-73.7,4.8],[-73.9,4.4],[-74,4.1],[-74.1,3.9],[-74.2,3.7],[-74.3,3.5],[-74.4,3.1],[-74.5,2.8],[-74.6,2.4],[-74.7,2],[-74.8,1.6],[-74.9,1.1],[-75,0.4],[-75,0],[-75,0]]]},"pos":{"x":-7.6,"y":-23},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#172a46","children":[{"id":"spine_lit","role":null,"shape":{"type":"poly","subs":[[[-77.6,-3.4],[-77.5,-4.1],[-77.4,-4.6],[-77.3,-5],[-77.2,-5.4],[-77.1,-5.8],[-77,-6.1],[-76.9,-6.5],[-76.8,-6.7],[-76.7,-6.9],[-76.6,-7.1],[-76.5,-7.4],[-76.3,-7.8],[-76.1,-8.1],[-75.9,-8.5],[-75.7,-8.8],[-75.5,-9],[-75.4,-9.1],[-75.3,-9.3],[-75,-9.6],[-74.7,-9.9],[-74.5,-10.1],[-74.2,-10.4],[-73.9,-10.7],[-73.7,-10.8],[-73.6,-10.9],[-73.4,-11.1],[-73.1,-11.3],[-72.7,-11.5],[-72.4,-11.7],[-72,-11.9],[-71.7,-12],[-71.5,-12.1],[-71.3,-12.2],[-71.1,-12.3],[-70.7,-12.4],[-70.4,-12.5],[-70,-12.6],[-69.6,-12.7],[-69.2,-12.8],[-69,-12.8],[-68.8,-12.8],[-68.6,-12.9],[-68.2,-12.9],[-67.8,-12.9],[-67.4,-13],[-67,-13],[-66.6,-13],[-34.5,-13],[29.3,-13],[61.4,-13],[61.8,-13],[62.2,-13],[62.6,-12.9],[63,-12.9],[63.4,-12.9],[63.6,-12.8],[63.8,-12.8],[64,-12.8],[64.4,-12.7],[64.8,-12.6],[65.2,-12.5],[65.5,-12.4],[65.9,-12.3],[66.1,-12.2],[66.3,-12.1],[66.5,-12],[66.8,-11.9],[67.2,-11.7],[67.5,-11.5],[67.9,-11.3],[68.2,-11.1],[68.4,-10.9],[68.5,-10.8],[68.7,-10.7],[69,-10.4],[69.3,-10.1],[69.5,-9.9],[69.8,-9.6],[70.1,-9.3],[70.2,-9.1],[70.3,-9],[70.5,-8.8],[70.7,-8.5],[70.9,-8.1],[71.1,-7.8],[71.3,-7.4],[71.4,-7.1],[71.5,-6.9],[71.6,-6.7],[71.7,-6.5],[71.8,-6.1],[71.9,-5.8],[72,-5.4],[72.1,-5],[72.2,-4.6],[72.3,-4.1],[72.4,-3.4],[72.4,-3],[72.4,-3],[72.4,-2.6],[72.3,-1.9],[72.2,-1.4],[72.1,-1],[72,-0.6],[71.9,-0.2],[71.8,0.1],[71.7,0.5],[71.6,0.7],[71.5,0.9],[71.4,1.1],[71.3,1.4],[71.1,1.8],[70.9,2.1],[70.7,2.5],[70.5,2.8],[70.3,3],[70.2,3.1],[70.1,3.3],[69.8,3.6],[69.5,3.9],[69.3,4.1],[69,4.4],[68.7,4.7],[68.5,4.8],[68.4,4.9],[68.2,5.1],[67.9,5.3],[67.5,5.5],[67.2,5.7],[66.8,5.9],[66.5,6],[66.3,6.1],[66.1,6.2],[65.9,6.3],[65.5,6.4],[65.2,6.5],[64.8,6.6],[64.4,6.7],[64,6.8],[63.8,6.8],[63.6,6.8],[63.4,6.9],[63,6.9],[62.6,6.9],[62.2,7],[61.8,7],[61.4,7],[29.3,7],[-34.5,7],[-66.6,7],[-67,7],[-67.4,7],[-67.8,6.9],[-68.2,6.9],[-68.6,6.9],[-68.8,6.8],[-69,6.8],[-69.2,6.8],[-69.6,6.7],[-70,6.6],[-70.4,6.5],[-70.7,6.4],[-71.1,6.3],[-71.3,6.2],[-71.5,6.1],[-71.7,6],[-72,5.9],[-72.4,5.7],[-72.7,5.5],[-73.1,5.3],[-73.4,5.1],[-73.6,4.9],[-73.7,4.8],[-73.9,4.7],[-74.2,4.4],[-74.5,4.1],[-74.7,3.9],[-75,3.6],[-75.3,3.3],[-75.4,3.1],[-75.5,3],[-75.7,2.8],[-75.9,2.5],[-76.1,2.1],[-76.3,1.8],[-76.5,1.4],[-76.6,1.1],[-76.7,0.9],[-76.8,0.7],[-76.9,0.5],[-77,0.1],[-77.1,-0.2],[-77.2,-0.6],[-77.3,-1],[-77.4,-1.4],[-77.5,-1.9],[-77.6,-2.6],[-77.6,-3],[-77.6,-3]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#1d3557","outline":false,"clip":true,"children":[]},{"id":"nose","role":null,"shape":{"type":"poly","subs":[[[-6.6,-9],[15.4,0],[-6.6,9]]]},"pos":{"x":75,"y":0},"rot":0,"sx":1,"sy":1,"z":-0.03,"fill":"#1d3557","children":[{"id":"propeller","role":null,"shape":{"type":"poly","subs":[[[-0.8,-23],[3.2,-23],[3.2,23],[-0.8,23]]]},"pos":{"x":15.4,"y":0},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#222428","children":[]}],"group":"skina"},{"id":"canopy","role":null,"shape":{"type":"poly","subs":[[[-20.6,0],[-19.8,-1.5],[-18.3,-2.9],[-16,-4.2],[-13.1,-5.3],[-9.7,-6.2],[-6,-6.7],[-2,-7],[2,-7],[6,-6.7],[9.7,-6.2],[13.1,-5.3],[16,-4.2],[18.3,-2.9],[19.8,-1.5],[20.6,0],[20.6,1.6],[19.8,3.1],[18.3,4.5],[16,5.8],[13.1,6.9],[9.7,7.8],[6,8.3],[2,8.6],[-2,8.6],[-6,8.3],[-9.7,7.8],[-13.1,6.9],[-16,5.8],[-18.3,4.5],[-19.8,3.1],[-20.6,1.6]]]},"pos":{"x":11.3,"y":-10},"rot":0,"sx":1,"sy":1,"z":-0.02,"fill":"#86adc4","children":[{"id":"canopy_lit","role":null,"shape":{"type":"poly","subs":[[[-22.6,-2.3],[-21.8,-3.8],[-20.3,-5.2],[-18,-6.5],[-15.1,-7.6],[-11.7,-8.5],[-8,-9],[-4,-9.3],[0,-9.3],[4,-9],[7.7,-8.5],[11.1,-7.6],[14,-6.5],[16.3,-5.2],[17.8,-3.8],[18.6,-2.3],[18.6,-0.7],[17.8,0.8],[16.3,2.2],[14,3.5],[11.1,4.6],[7.7,5.5],[4,6],[0,6.3],[-4,6.3],[-8,6],[-11.7,5.5],[-15.1,4.6],[-18,3.5],[-20.3,2.2],[-21.8,0.8],[-22.6,-0.7]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#a8d8f5","outline":false,"clip":true,"children":[]}]},{"id":"wing","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-22,-0.2],[-21.7,-1.5],[-21,-2.2],[-19.7,-2.5],[19.8,-2.5],[21,-2.3],[21.8,-1.5],[22,-0.2],[22,0.3],[21.8,1.5],[21,2.3],[19.8,2.5],[-19.7,2.5],[-21,2.2],[-21.7,1.5],[-22,0.3]]]},"pos":{"x":3.8,"y":0},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#101e34","children":[],"clip":true,"inner":true,"group":"skina"},{"id":"wing_l","role":null,"side":1,"shape":{"type":"poly","subs":[[[-22,-0.2],[-21.7,-1.5],[-21,-2.2],[-19.7,-2.5],[19.8,-2.5],[21,-2.3],[21.8,-1.5],[22,-0.2],[22,0.3],[21.8,1.5],[21,2.3],[19.8,2.5],[-19.7,2.5],[-21,2.2],[-21.7,1.5],[-22,0.3]]]},"pos":{"x":3.8,"y":0},"rot":0,"sx":1,"sy":1,"z":0.03,"fill":"#14253f","children":[],"clip":true,"inner":true,"group":"skina"},{"id":"tail_fin","role":null,"shape":{"type":"poly","subs":[[[-17,4.7],[-16.7,6.1],[-15.9,6.9],[-14.5,7.2],[14.5,7.2],[15.7,7],[16.1,6.3],[15.6,5.2],[-7.1,-26.8],[-8.1,-27.9],[-9.4,-28.6],[-11,-28.8],[-14.5,-28.8],[-15.9,-28.5],[-16.7,-27.7],[-17,-26.3]]]},"pos":{"x":-61.5,"y":-10},"rot":0,"sx":1,"sy":1,"z":-0.01,"fill":"#101e32","children":[{"id":"tail_fin_lit","role":null,"shape":{"type":"poly","subs":[[[-21.3,-0.3],[-21,1.1],[-20.2,1.9],[-18.8,2.2],[10.2,2.2],[11.4,2],[11.8,1.3],[11.3,0.2],[-11.4,-31.8],[-12.4,-32.9],[-13.7,-33.6],[-15.3,-33.8],[-18.8,-33.8],[-20.2,-33.5],[-21,-32.7],[-21.3,-31.3]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#14253f","outline":false,"clip":true,"children":[]}]},{"id":"tail_wing","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-11,-2],[11,-2],[11,2],[-11,2]]]},"pos":{"x":-61.5,"y":0},"rot":0,"sx":1,"sy":1,"z":-0.04,"fill":"#101e34","children":[]},{"id":"tail_wing_l","role":null,"side":1,"shape":{"type":"poly","subs":[[[-11,-2],[11,-2],[11,2],[-11,2]]]},"pos":{"x":-61.5,"y":0},"rot":0,"sx":1,"sy":1,"z":0.02,"fill":"#14253f","children":[],"clip":true,"inner":true,"group":"skina"}],"group":"skina"}]},"legs":0,"kind":"custom","height":61.8,"footprint":86.1,"look":"outlined","fx":2,"views":[{"view":"side"}]},"box":{"w":1.8,"h":0.75},"edges":{"left":"wrap","right":"wrap","top":"stop","bottom":"stop"},"heading":0},"Plane2":{"shape":"box","color":"#9d0208","model":{"tree":{"id":"root","role":"root","pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"children":[{"id":"spine","role":"torso","shape":{"type":"poly","subs":[[[-75,-0.4],[-74.9,-1.1],[-74.8,-1.6],[-74.7,-2],[-74.6,-2.4],[-74.5,-2.8],[-74.4,-3.1],[-74.3,-3.5],[-74.2,-3.7],[-74.1,-3.9],[-74,-4.1],[-73.9,-4.4],[-73.7,-4.8],[-73.5,-5.1],[-73.3,-5.5],[-73.1,-5.8],[-72.9,-6],[-72.8,-6.1],[-72.7,-6.3],[-72.4,-6.6],[-72.1,-6.9],[-71.9,-7.1],[-71.6,-7.4],[-71.3,-7.7],[-71.1,-7.8],[-71,-7.9],[-70.8,-8.1],[-70.5,-8.3],[-70.1,-8.5],[-69.8,-8.7],[-69.4,-8.9],[-69.1,-9],[-68.9,-9.1],[-68.7,-9.2],[-68.5,-9.3],[-68.1,-9.4],[-67.8,-9.5],[-67.4,-9.6],[-67,-9.7],[-66.6,-9.8],[-66.4,-9.8],[-66.2,-9.8],[-66,-9.9],[-65.6,-9.9],[-65.2,-9.9],[-64.8,-10],[-64.4,-10],[-64,-10],[-31.9,-10],[31.9,-10],[64,-10],[64.4,-10],[64.8,-10],[65.2,-9.9],[65.6,-9.9],[66,-9.9],[66.2,-9.8],[66.4,-9.8],[66.6,-9.8],[67,-9.7],[67.4,-9.6],[67.8,-9.5],[68.1,-9.4],[68.5,-9.3],[68.7,-9.2],[68.9,-9.1],[69.1,-9],[69.4,-8.9],[69.8,-8.7],[70.1,-8.5],[70.5,-8.3],[70.8,-8.1],[71,-7.9],[71.1,-7.8],[71.3,-7.7],[71.6,-7.4],[71.9,-7.1],[72.1,-6.9],[72.4,-6.6],[72.7,-6.3],[72.8,-6.1],[72.9,-6],[73.1,-5.8],[73.3,-5.5],[73.5,-5.1],[73.7,-4.8],[73.9,-4.4],[74,-4.1],[74.1,-3.9],[74.2,-3.7],[74.3,-3.5],[74.4,-3.1],[74.5,-2.8],[74.6,-2.4],[74.7,-2],[74.8,-1.6],[74.9,-1.1],[75,-0.4],[75,0],[75,0],[75,0.4],[74.9,1.1],[74.8,1.6],[74.7,2],[74.6,2.4],[74.5,2.8],[74.4,3.1],[74.3,3.5],[74.2,3.7],[74.1,3.9],[74,4.1],[73.9,4.4],[73.7,4.8],[73.5,5.1],[73.3,5.5],[73.1,5.8],[72.9,6],[72.8,6.1],[72.7,6.3],[72.4,6.6],[72.1,6.9],[71.9,7.1],[71.6,7.4],[71.3,7.7],[71.1,7.8],[71,7.9],[70.8,8.1],[70.5,8.3],[70.1,8.5],[69.8,8.7],[69.4,8.9],[69.1,9],[68.9,9.1],[68.7,9.2],[68.5,9.3],[68.1,9.4],[67.8,9.5],[67.4,9.6],[67,9.7],[66.6,9.8],[66.4,9.8],[66.2,9.8],[66,9.9],[65.6,9.9],[65.2,9.9],[64.8,10],[64.4,10],[64,10],[31.9,10],[-31.9,10],[-64,10],[-64.4,10],[-64.8,10],[-65.2,9.9],[-65.6,9.9],[-66,9.9],[-66.2,9.8],[-66.4,9.8],[-66.6,9.8],[-67,9.7],[-67.4,9.6],[-67.8,9.5],[-68.1,9.4],[-68.5,9.3],[-68.7,9.2],[-68.9,9.1],[-69.1,9],[-69.4,8.9],[-69.8,8.7],[-70.1,8.5],[-70.5,8.3],[-70.8,8.1],[-71,7.9],[-71.1,7.8],[-71.3,7.7],[-71.6,7.4],[-71.9,7.1],[-72.1,6.9],[-72.4,6.6],[-72.7,6.3],[-72.8,6.1],[-72.9,6],[-73.1,5.8],[-73.3,5.5],[-73.5,5.1],[-73.7,4.8],[-73.9,4.4],[-74,4.1],[-74.1,3.9],[-74.2,3.7],[-74.3,3.5],[-74.4,3.1],[-74.5,2.8],[-74.6,2.4],[-74.7,2],[-74.8,1.6],[-74.9,1.1],[-75,0.4],[-75,0],[-75,0]]]},"pos":{"x":-7.6,"y":-23},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#7e0206","children":[{"id":"spine_lit","role":null,"shape":{"type":"poly","subs":[[[-77.6,-3.4],[-77.5,-4.1],[-77.4,-4.6],[-77.3,-5],[-77.2,-5.4],[-77.1,-5.8],[-77,-6.1],[-76.9,-6.5],[-76.8,-6.7],[-76.7,-6.9],[-76.6,-7.1],[-76.5,-7.4],[-76.3,-7.8],[-76.1,-8.1],[-75.9,-8.5],[-75.7,-8.8],[-75.5,-9],[-75.4,-9.1],[-75.3,-9.3],[-75,-9.6],[-74.7,-9.9],[-74.5,-10.1],[-74.2,-10.4],[-73.9,-10.7],[-73.7,-10.8],[-73.6,-10.9],[-73.4,-11.1],[-73.1,-11.3],[-72.7,-11.5],[-72.4,-11.7],[-72,-11.9],[-71.7,-12],[-71.5,-12.1],[-71.3,-12.2],[-71.1,-12.3],[-70.7,-12.4],[-70.4,-12.5],[-70,-12.6],[-69.6,-12.7],[-69.2,-12.8],[-69,-12.8],[-68.8,-12.8],[-68.6,-12.9],[-68.2,-12.9],[-67.8,-12.9],[-67.4,-13],[-67,-13],[-66.6,-13],[-34.5,-13],[29.3,-13],[61.4,-13],[61.8,-13],[62.2,-13],[62.6,-12.9],[63,-12.9],[63.4,-12.9],[63.6,-12.8],[63.8,-12.8],[64,-12.8],[64.4,-12.7],[64.8,-12.6],[65.2,-12.5],[65.5,-12.4],[65.9,-12.3],[66.1,-12.2],[66.3,-12.1],[66.5,-12],[66.8,-11.9],[67.2,-11.7],[67.5,-11.5],[67.9,-11.3],[68.2,-11.1],[68.4,-10.9],[68.5,-10.8],[68.7,-10.7],[69,-10.4],[69.3,-10.1],[69.5,-9.9],[69.8,-9.6],[70.1,-9.3],[70.2,-9.1],[70.3,-9],[70.5,-8.8],[70.7,-8.5],[70.9,-8.1],[71.1,-7.8],[71.3,-7.4],[71.4,-7.1],[71.5,-6.9],[71.6,-6.7],[71.7,-6.5],[71.8,-6.1],[71.9,-5.8],[72,-5.4],[72.1,-5],[72.2,-4.6],[72.3,-4.1],[72.4,-3.4],[72.4,-3],[72.4,-3],[72.4,-2.6],[72.3,-1.9],[72.2,-1.4],[72.1,-1],[72,-0.6],[71.9,-0.2],[71.8,0.1],[71.7,0.5],[71.6,0.7],[71.5,0.9],[71.4,1.1],[71.3,1.4],[71.1,1.8],[70.9,2.1],[70.7,2.5],[70.5,2.8],[70.3,3],[70.2,3.1],[70.1,3.3],[69.8,3.6],[69.5,3.9],[69.3,4.1],[69,4.4],[68.7,4.7],[68.5,4.8],[68.4,4.9],[68.2,5.1],[67.9,5.3],[67.5,5.5],[67.2,5.7],[66.8,5.9],[66.5,6],[66.3,6.1],[66.1,6.2],[65.9,6.3],[65.5,6.4],[65.2,6.5],[64.8,6.6],[64.4,6.7],[64,6.8],[63.8,6.8],[63.6,6.8],[63.4,6.9],[63,6.9],[62.6,6.9],[62.2,7],[61.8,7],[61.4,7],[29.3,7],[-34.5,7],[-66.6,7],[-67,7],[-67.4,7],[-67.8,6.9],[-68.2,6.9],[-68.6,6.9],[-68.8,6.8],[-69,6.8],[-69.2,6.8],[-69.6,6.7],[-70,6.6],[-70.4,6.5],[-70.7,6.4],[-71.1,6.3],[-71.3,6.2],[-71.5,6.1],[-71.7,6],[-72,5.9],[-72.4,5.7],[-72.7,5.5],[-73.1,5.3],[-73.4,5.1],[-73.6,4.9],[-73.7,4.8],[-73.9,4.7],[-74.2,4.4],[-74.5,4.1],[-74.7,3.9],[-75,3.6],[-75.3,3.3],[-75.4,3.1],[-75.5,3],[-75.7,2.8],[-75.9,2.5],[-76.1,2.1],[-76.3,1.8],[-76.5,1.4],[-76.6,1.1],[-76.7,0.9],[-76.8,0.7],[-76.9,0.5],[-77,0.1],[-77.1,-0.2],[-77.2,-0.6],[-77.3,-1],[-77.4,-1.4],[-77.5,-1.9],[-77.6,-2.6],[-77.6,-3],[-77.6,-3]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#9d0208","outline":false,"clip":true,"children":[]},{"id":"nose","role":null,"shape":{"type":"poly","subs":[[[-6.6,-9],[15.4,0],[-6.6,9]]]},"pos":{"x":75,"y":0},"rot":0,"sx":1,"sy":1,"z":-0.03,"fill":"#9d0208","children":[{"id":"propeller","role":null,"shape":{"type":"poly","subs":[[[-0.8,-23],[3.2,-23],[3.2,23],[-0.8,23]]]},"pos":{"x":15.4,"y":0},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#222428","children":[]}],"group":"skina"},{"id":"canopy","role":null,"shape":{"type":"poly","subs":[[[-20.6,0],[-19.8,-1.5],[-18.3,-2.9],[-16,-4.2],[-13.1,-5.3],[-9.7,-6.2],[-6,-6.7],[-2,-7],[2,-7],[6,-6.7],[9.7,-6.2],[13.1,-5.3],[16,-4.2],[18.3,-2.9],[19.8,-1.5],[20.6,0],[20.6,1.6],[19.8,3.1],[18.3,4.5],[16,5.8],[13.1,6.9],[9.7,7.8],[6,8.3],[2,8.6],[-2,8.6],[-6,8.3],[-9.7,7.8],[-13.1,6.9],[-16,5.8],[-18.3,4.5],[-19.8,3.1],[-20.6,1.6]]]},"pos":{"x":11.3,"y":-10},"rot":0,"sx":1,"sy":1,"z":-0.02,"fill":"#86adc4","children":[{"id":"canopy_lit","role":null,"shape":{"type":"poly","subs":[[[-22.6,-2.3],[-21.8,-3.8],[-20.3,-5.2],[-18,-6.5],[-15.1,-7.6],[-11.7,-8.5],[-8,-9],[-4,-9.3],[0,-9.3],[4,-9],[7.7,-8.5],[11.1,-7.6],[14,-6.5],[16.3,-5.2],[17.8,-3.8],[18.6,-2.3],[18.6,-0.7],[17.8,0.8],[16.3,2.2],[14,3.5],[11.1,4.6],[7.7,5.5],[4,6],[0,6.3],[-4,6.3],[-8,6],[-11.7,5.5],[-15.1,4.6],[-18,3.5],[-20.3,2.2],[-21.8,0.8],[-22.6,-0.7]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#a8d8f5","outline":false,"clip":true,"children":[]}]},{"id":"wing","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-22,-0.2],[-21.7,-1.5],[-21,-2.2],[-19.7,-2.5],[19.8,-2.5],[21,-2.3],[21.8,-1.5],[22,-0.2],[22,0.3],[21.8,1.5],[21,2.3],[19.8,2.5],[-19.7,2.5],[-21,2.2],[-21.7,1.5],[-22,0.3]]]},"pos":{"x":3.8,"y":0},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#570104","children":[],"clip":true,"inner":true,"group":"skina"},{"id":"wing_l","role":null,"side":1,"shape":{"type":"poly","subs":[[[-22,-0.2],[-21.7,-1.5],[-21,-2.2],[-19.7,-2.5],[19.8,-2.5],[21,-2.3],[21.8,-1.5],[22,-0.2],[22,0.3],[21.8,1.5],[21,2.3],[19.8,2.5],[-19.7,2.5],[-21,2.2],[-21.7,1.5],[-22,0.3]]]},"pos":{"x":3.8,"y":0},"rot":0,"sx":1,"sy":1,"z":0.03,"fill":"#6a0105","children":[],"clip":true,"inner":true,"group":"skina"},{"id":"tail_fin","role":null,"shape":{"type":"poly","subs":[[[-17,4.7],[-16.7,6.1],[-15.9,6.9],[-14.5,7.2],[14.5,7.2],[15.7,7],[16.1,6.3],[15.6,5.2],[-7.1,-26.8],[-8.1,-27.9],[-9.4,-28.6],[-11,-28.8],[-14.5,-28.8],[-15.9,-28.5],[-16.7,-27.7],[-17,-26.3]]]},"pos":{"x":-61.5,"y":-10},"rot":0,"sx":1,"sy":1,"z":-0.01,"fill":"#550104","children":[{"id":"tail_fin_lit","role":null,"shape":{"type":"poly","subs":[[[-21.3,-0.3],[-21,1.1],[-20.2,1.9],[-18.8,2.2],[10.2,2.2],[11.4,2],[11.8,1.3],[11.3,0.2],[-11.4,-31.8],[-12.4,-32.9],[-13.7,-33.6],[-15.3,-33.8],[-18.8,-33.8],[-20.2,-33.5],[-21,-32.7],[-21.3,-31.3]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#6a0105","outline":false,"clip":true,"children":[]}]},{"id":"tail_wing","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-11,-2],[11,-2],[11,2],[-11,2]]]},"pos":{"x":-61.5,"y":0},"rot":0,"sx":1,"sy":1,"z":-0.04,"fill":"#570104","children":[]},{"id":"tail_wing_l","role":null,"side":1,"shape":{"type":"poly","subs":[[[-11,-2],[11,-2],[11,2],[-11,2]]]},"pos":{"x":-61.5,"y":0},"rot":0,"sx":1,"sy":1,"z":0.02,"fill":"#6a0105","children":[],"clip":true,"inner":true,"group":"skina"}],"group":"skina"}]},"legs":0,"kind":"custom","height":61.8,"footprint":86.1,"look":"outlined","fx":2,"views":[{"view":"side"}]},"box":{"w":1.8,"h":0.75},"edges":"bounce","heading":180,"states":{"start":"chase","list":{"chase":{"go":[{"to":"climb","when":"=statetime(me) > 4"}]},"climb":{"enter":[{"op":"toward","who":"me","target":"none"},{"op":"speed","who":"me","vx":"=sign(xof(me) - xof(plane1)) * 6","vy":-3}],"go":[{"to":"chase","when":"=statetime(me) > 1.5"}]}}}},"Bullet1":{"shape":"box","color":"#ffd166","box":{"w":0.25,"h":0.25},"edges":{"left":"off","right":"off","top":"off","bottom":"off"},"states":{"start":"alive","list":{"alive":{"go":[{"to":"dead","when":"=statetime(me) > 1.2"}]},"dead":{"enter":[{"op":"remove","who":"me"}]}}}},"Bullet2":{"shape":"box","color":"#ff8fa3","box":{"w":0.25,"h":0.25},"edges":{"left":"off","right":"off","top":"off","bottom":"off"},"states":{"start":"alive","list":{"alive":{"go":[{"to":"dead","when":"=statetime(me) > 1.2"}]},"dead":{"enter":[{"op":"remove","who":"me"}]}}}}},"worlds":{"sky":{"v":1,"kind":"world","art":1,"name":"Open sky","w":120,"h":20,"sky":{"kind":"day","hills":"hills"},"pieces":[{"id":"ground","shape":"rect","x":0,"y":18,"w":120,"h":2,"material":"grass"}],"marks":{"spawn":{"x":60,"y":18}},"camera":{"x":60,"y":10,"h":16}}},"vars":{"you":3,"enemy":3,"safe":0,"round":1,"rsp":5.5,"fire":0.25,"bsp":12},"levels":{"Sky":{"world":"sky","layout":[{"thing":"Plane1","id":"plane1","x":56,"y":5},{"thing":"Plane2","id":"plane2","x":90,"y":6}]}},"scripts":[{"hat":{"on":"start"},"body":[{"op":"show","name":"you","as":"hearts","label":"You"},{"op":"show","name":"enemy","as":"hearts","label":"Red plane"},{"op":"show","name":"round","as":"number","label":"Round"}]},{"hat":{"on":"scene","name":"Sky"},"body":[{"op":"steer","who":"plane1","keys":"arrows","axes":"heading","speed":10,"turn":180,"thrust":10},{"op":"speed","who":"plane1","vx":6,"vy":0},{"op":"camera","follow":"plane1"}]},{"hat":{"on":"every","s":0.1},"body":[{"op":"if","cond":"=sqrt(vxof(plane1) * vxof(plane1) + vyof(plane1) * vyof(plane1)) < 5","body":[{"op":"thrust","who":"plane1","by":1.6}],"else":[{"op":"thrust","who":"plane1","by":0.6}]}]},{"hat":{"on":"every","s":0.25},"body":[{"op":"if","cond":"=instate(plane2, chase)","body":[{"op":"toward","who":"plane2","target":"plane1","speed":"=rsp"}]},{"op":"if","cond":"=vxof(plane2) < 0","body":[{"op":"turn","who":"plane2","to":180}],"else":[{"op":"turn","who":"plane2","to":0}]}]},{"hat":{"on":"every","s":0.3},"body":[{"op":"if","cond":"=distance(plane1, plane2) < 12 && instate(plane2, chase) && random < fire","body":[{"op":"make","thing":"Bullet2","x":"=xof(plane2)","y":"=yof(plane2) - 0.25","vx":"=(xof(plane1) - xof(plane2)) / distance(plane1, plane2) * bsp","vy":"=(yof(plane1) - yof(plane2)) / distance(plane1, plane2) * bsp"},{"op":"sound","name":"zap"}]}]},{"hat":{"on":"key","key":"space"},"body":[{"op":"if","cond":"=count(Bullet1) < 2","body":[{"op":"make","thing":"Bullet1","x":"=xof(plane1)","y":"=yof(plane1) - 0.25","heading":"=headingof(plane1)"},{"op":"sound","name":"zap"}]}]},{"hat":{"on":"appear","who":"Bullet1"},"body":[{"op":"thrust","who":"me","by":16}]},{"hat":{"on":"touch","who":"Bullet2","what":"plane1"},"body":[{"op":"changeVar","var":"you","by":-1},{"op":"sound","name":"hit"},{"op":"remove","who":"me"}]},{"hat":{"on":"touch","who":"Bullet1","what":"plane2"},"body":[{"op":"if","cond":"=safe == 0","body":[{"op":"changeVar","var":"enemy","by":-1},{"op":"sound","name":"hit"},{"op":"countdown","var":"safe","from":2},{"op":"restyle","who":"plane2","color":"#ff8fa3"},{"op":"state","who":"plane2","to":"climb"}]},{"op":"remove","who":"me"}]},{"hat":{"on":"zero","var":"safe"},"body":[{"op":"restyle","who":"plane2","color":"#9d0208"}]},{"hat":{"on":"touch","who":"plane1","what":"ground"},"body":[{"op":"sound","name":"lose"},{"op":"lose","text":"You crashed!"}]},{"hat":{"on":"zero","var":"you"},"body":[{"op":"sound","name":"lose"},{"op":"lose","text":"The red plane shot you down."}]},{"hat":{"on":"zero","var":"enemy"},"body":[{"op":"sound","name":"win"},{"op":"caption","text":"You shot it down! A sharper red plane is coming.","for":1.8},{"op":"changeVar","var":"round","by":1},{"op":"if","cond":"=round > 99","body":[{"op":"setVar","var":"round","value":1}]},{"op":"setVar","var":"rsp","value":"=5.5 + 0.03 * (round - 1)"},{"op":"setVar","var":"fire","value":"=min(0.6, 0.25 + 0.004 * (round - 1))"},{"op":"setVar","var":"bsp","value":"=12 + 0.04 * (round - 1)"},{"op":"if","cond":"=you < 5","body":[{"op":"changeVar","var":"you","by":1}]},{"op":"setVar","var":"enemy","value":3},{"op":"setVar","var":"safe","value":0},{"op":"wait","s":1},{"op":"restartLevel"}]}]},"file":"games/dogfight/game.json"},{"pack":1,"id":"c4c:game:dungeon_key","type":"game","version":"1.0.0","name":"Dungeon Key","description":"Find the key, open the door, and beat the big guard in the next room. Swing at the slimes first. 99 dungeons, each harder, then the first again.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"controls":{"keys":"The arrow keys walk. Space swings your sword at what is within reach. Find the key, open the door, and beat the big guard in the next room.","pad":"◀ ▶ ▲ ▼ walk. Jump swings your sword.","drives":"Hero"},"content_hash":"sha256:df1700e5cc75528e284d636a39fbb05cc5c6bfea4c9f7040ce9d3e2ed75d6237","content":{"v":1,"kind":"game","name":"Dungeon Key","view":"top","note":"Seen from above. The slimes come after you; the guard of the second room is bigger, takes four hits and goes back when hit. Your sword hits what is within reach all round you. A slime or the guard that touches you costs a heart and pushes you back: you blink while you are safe for two seconds. The sword comes with you into the keep.","cast":{"Hero":{"pack":"studio:char:skye","edges":"stop","box":{"w":80,"h":80},"states":{"start":"ready","list":{"ready":{},"swing":{"does":"c4c:beh:sword_swing","go":[{"to":"ready","when":{"after":0.5}}]}}}}},"things":{"Sword":{"shape":"box","color":"#d9dde3","box":{"w":0.9,"h":0.15}},"Key":{"shape":"key"},"Heart":{"shape":"heart"},"Slime":{"shape":"ball","color":"#7ac943","model":{"tree":{"id":"root","role":"root","pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"children":[{"id":"spine","role":"torso","shape":{"type":"poly","subs":[[[-44.5,30.7],[-44.5,34.8],[-42.5,37.2],[-38.6,38],[38.6,38],[42.5,37.2],[44.5,34.8],[44.5,30.7],[38.2,-0.5],[37.2,-5.2],[36,-9.9],[34.6,-14.4],[34.1,-16],[32.2,-20.3],[29.6,-24.1],[26.3,-27.4],[24.1,-29.2],[20.1,-32],[15.8,-34.1],[11.2,-35.5],[7.2,-36.4],[2.4,-37.1],[-2.4,-37.1],[-7.2,-36.4],[-11.2,-35.5],[-15.8,-34.1],[-20.1,-32],[-24.1,-29.2],[-26.3,-27.4],[-29.6,-24.1],[-32.2,-20.3],[-34.1,-16],[-34.6,-14.4],[-36,-9.9],[-37.2,-5.2],[-38.2,-0.5]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#46a653","children":[{"id":"spine_lit","role":null,"shape":{"type":"poly","subs":[[[-54.3,19.4],[-54.3,23.5],[-52.3,25.9],[-48.4,26.7],[28.8,26.7],[32.7,25.9],[34.7,23.5],[34.7,19.4],[28.4,-11.8],[27.4,-16.5],[26.2,-21.2],[24.8,-25.7],[24.3,-27.3],[22.4,-31.6],[19.8,-35.4],[16.5,-38.7],[14.3,-40.5],[10.3,-43.3],[6,-45.4],[1.4,-46.8],[-2.6,-47.7],[-7.4,-48.4],[-12.2,-48.4],[-17,-47.7],[-21,-46.8],[-25.6,-45.4],[-29.9,-43.3],[-33.9,-40.5],[-36.1,-38.7],[-39.4,-35.4],[-42,-31.6],[-43.9,-27.3],[-44.4,-25.7],[-45.8,-21.2],[-47,-16.5],[-48,-11.8]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#58d068","outline":false,"clip":true,"children":[]},{"id":"shine","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-14.7,-0.5],[-14.1,-1.4],[-13,-2.3],[-11.4,-3.1],[-9.4,-3.8],[-7,-4.3],[-4.3,-4.7],[-1.4,-4.9],[1.4,-4.9],[4.3,-4.7],[7,-4.3],[9.4,-3.8],[11.4,-3.1],[13,-2.3],[14.1,-1.4],[14.7,-0.5],[14.7,0.5],[14.1,1.4],[13,2.3],[11.4,3.1],[9.4,3.8],[7,4.3],[4.3,4.7],[1.4,4.9],[-1.4,4.9],[-4.3,4.7],[-7,4.3],[-9.4,3.8],[-11.4,3.1],[-13,2.3],[-14.1,1.4],[-14.7,0.5]]]},"pos":{"x":-4,"y":-26},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#b6f2b0","children":[],"clip":true,"inner":true},{"id":"eye","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-7.8,-0.8],[-7.5,-2.4],[-7,-3.9],[-6.1,-5.3],[-5,-6.5],[-3.7,-7.4],[-2.3,-8],[-0.8,-8.3],[0.8,-8.3],[2.3,-8],[3.7,-7.4],[5,-6.5],[6.1,-5.3],[7,-3.9],[7.5,-2.4],[7.8,-0.8],[7.8,0.8],[7.5,2.4],[7,3.9],[6.1,5.3],[5,6.5],[3.7,7.4],[2.3,8],[0.8,8.3],[-0.8,8.3],[-2.3,8],[-3.7,7.4],[-5,6.5],[-6.1,5.3],[-7,3.9],[-7.5,2.4],[-7.8,0.8]]]},"pos":{"x":-14,"y":-4},"rot":0,"sx":1,"sy":1,"z":0.02,"fill":"#cccccc","children":[{"id":"eye_lit","role":null,"shape":{"type":"poly","subs":[[[-9.8,-3.1],[-9.5,-4.7],[-9,-6.2],[-8.1,-7.6],[-7,-8.8],[-5.7,-9.7],[-4.3,-10.3],[-2.8,-10.6],[-1.2,-10.6],[0.3,-10.3],[1.7,-9.7],[3,-8.8],[4.1,-7.6],[5,-6.2],[5.5,-4.7],[5.8,-3.1],[5.8,-1.5],[5.5,0.1],[5,1.6],[4.1,3],[3,4.2],[1.7,5.1],[0.3,5.7],[-1.2,6],[-2.8,6],[-4.3,5.7],[-5.7,5.1],[-7,4.2],[-8.1,3],[-9,1.6],[-9.5,0.1],[-9.8,-1.5]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#ffffff","outline":false,"clip":true,"children":[]},{"id":"pupil","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-4.4,-0.4],[-4.2,-1.3],[-3.9,-2.1],[-3.4,-2.8],[-2.8,-3.4],[-2.1,-3.9],[-1.3,-4.2],[-0.4,-4.4],[0.4,-4.4],[1.3,-4.2],[2.1,-3.9],[2.8,-3.4],[3.4,-2.8],[3.9,-2.1],[4.2,-1.3],[4.4,-0.4],[4.4,0.4],[4.2,1.3],[3.9,2.1],[3.4,2.8],[2.8,3.4],[2.1,3.9],[1.3,4.2],[0.4,4.4],[-0.4,4.4],[-1.3,4.2],[-2.1,3.9],[-2.8,3.4],[-3.4,2.8],[-3.9,2.1],[-4.2,1.3],[-4.4,0.4]]]},"pos":{"x":0,"y":1},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#1d1d24","children":[],"clip":true,"inner":true}],"clip":true,"inner":true},{"id":"eye2","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-7.8,-0.8],[-7.5,-2.4],[-7,-3.9],[-6.1,-5.3],[-5,-6.5],[-3.7,-7.4],[-2.3,-8],[-0.8,-8.3],[0.8,-8.3],[2.3,-8],[3.7,-7.4],[5,-6.5],[6.1,-5.3],[7,-3.9],[7.5,-2.4],[7.8,-0.8],[7.8,0.8],[7.5,2.4],[7,3.9],[6.1,5.3],[5,6.5],[3.7,7.4],[2.3,8],[0.8,8.3],[-0.8,8.3],[-2.3,8],[-3.7,7.4],[-5,6.5],[-6.1,5.3],[-7,3.9],[-7.5,2.4],[-7.8,0.8]]]},"pos":{"x":14,"y":-4},"rot":0,"sx":1,"sy":1,"z":0.03,"fill":"#cccccc","children":[{"id":"eye2_lit","role":null,"shape":{"type":"poly","subs":[[[-9.8,-3.1],[-9.5,-4.7],[-9,-6.2],[-8.1,-7.6],[-7,-8.8],[-5.7,-9.7],[-4.3,-10.3],[-2.8,-10.6],[-1.2,-10.6],[0.3,-10.3],[1.7,-9.7],[3,-8.8],[4.1,-7.6],[5,-6.2],[5.5,-4.7],[5.8,-3.1],[5.8,-1.5],[5.5,0.1],[5,1.6],[4.1,3],[3,4.2],[1.7,5.1],[0.3,5.7],[-1.2,6],[-2.8,6],[-4.3,5.7],[-5.7,5.1],[-7,4.2],[-8.1,3],[-9,1.6],[-9.5,0.1],[-9.8,-1.5]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#ffffff","outline":false,"clip":true,"children":[]},{"id":"pupil2","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-4.4,-0.4],[-4.2,-1.3],[-3.9,-2.1],[-3.4,-2.8],[-2.8,-3.4],[-2.1,-3.9],[-1.3,-4.2],[-0.4,-4.4],[0.4,-4.4],[1.3,-4.2],[2.1,-3.9],[2.8,-3.4],[3.4,-2.8],[3.9,-2.1],[4.2,-1.3],[4.4,-0.4],[4.4,0.4],[4.2,1.3],[3.9,2.1],[3.4,2.8],[2.8,3.4],[2.1,3.9],[1.3,4.2],[0.4,4.4],[-0.4,4.4],[-1.3,4.2],[-2.1,3.9],[-2.8,3.4],[-3.4,2.8],[-3.9,2.1],[-4.2,1.3],[-4.4,0.4]]]},"pos":{"x":0,"y":1},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#1d1d24","children":[],"clip":true,"inner":true}],"clip":true,"inner":true}]}]},"legs":0,"kind":"custom","height":16,"footprint":44.5,"look":"outlined","fx":2,"views":[{"view":"top"}]},"box":{"w":0.8,"h":0.8},"edges":"stop"},"Guard":{"shape":"ball","color":"#9d4edd","model":{"tree":{"id":"root","role":"root","pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"children":[{"id":"spine","role":"torso","shape":{"type":"poly","subs":[[[-48.7,6.1],[-49,3.7],[-49.2,1.2],[-49.2,-1.2],[-49,-3.7],[-48.7,-6.1],[-48.3,-8.5],[-47.9,-10.7],[-47.3,-13],[-46.7,-15.4],[-45.9,-17.7],[-45,-20],[-43.9,-22.2],[-42.6,-24.3],[-41.4,-26.3],[-40.1,-28.2],[-38.8,-30.1],[-37.3,-32.1],[-35.6,-33.9],[-33.9,-35.6],[-32.1,-37.3],[-30.1,-38.8],[-28.2,-40.1],[-26.3,-41.4],[-24.3,-42.6],[-22.2,-43.9],[-20,-45],[-17.7,-45.9],[-15.4,-46.7],[-13,-47.3],[-10.7,-47.9],[-8.5,-48.3],[-6.1,-48.7],[-3.7,-49],[-1.2,-49.2],[1.2,-49.2],[3.7,-49],[6.1,-48.7],[8.5,-48.3],[10.7,-47.9],[13,-47.3],[15.4,-46.7],[17.7,-45.9],[20,-45],[22.2,-43.9],[24.3,-42.6],[26.3,-41.4],[28.2,-40.1],[30.1,-38.8],[32.1,-37.3],[33.9,-35.6],[35.6,-33.9],[37.3,-32.1],[38.8,-30.1],[40.1,-28.2],[41.4,-26.3],[42.6,-24.3],[43.9,-22.2],[45,-20],[45.9,-17.7],[46.7,-15.4],[47.3,-13],[47.9,-10.7],[48.3,-8.5],[48.7,-6.1],[49,-3.7],[49.2,-1.2],[49.2,1.2],[49,3.7],[48.7,6.1],[48.3,8.5],[47.9,10.7],[47.3,13],[46.7,15.4],[45.9,17.7],[45,20],[43.9,22.2],[42.6,24.3],[41.4,26.3],[40.1,28.2],[38.8,30.1],[37.3,32.1],[35.6,33.9],[33.9,35.6],[32.1,37.3],[30.1,38.8],[28.2,40.1],[26.3,41.4],[24.3,42.6],[22.2,43.9],[20,45],[17.7,45.9],[15.4,46.7],[13,47.3],[10.7,47.9],[8.5,48.3],[6.1,48.7],[3.7,49],[1.2,49.2],[-1.2,49.2],[-3.7,49],[-6.1,48.7],[-8.5,48.3],[-10.7,47.9],[-13,47.3],[-15.4,46.7],[-17.7,45.9],[-20,45],[-22.2,43.9],[-24.3,42.6],[-26.3,41.4],[-28.2,40.1],[-30.1,38.8],[-32.1,37.3],[-33.9,35.6],[-35.6,33.9],[-37.3,32.1],[-38.8,30.1],[-40.1,28.2],[-41.4,26.3],[-42.6,24.3],[-43.9,22.2],[-45,20],[-45.9,17.7],[-46.7,15.4],[-47.3,13],[-47.9,10.7],[-48.3,8.5]]]},"pos":{"x":0,"y":1.8},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#6e6255","children":[{"id":"spine_lit","role":null,"shape":{"type":"poly","subs":[[[-61.5,-8.7],[-61.8,-11.1],[-62,-13.6],[-62,-16],[-61.8,-18.5],[-61.5,-20.9],[-61.1,-23.3],[-60.7,-25.5],[-60.1,-27.8],[-59.5,-30.2],[-58.7,-32.5],[-57.8,-34.8],[-56.7,-37],[-55.4,-39.1],[-54.2,-41.1],[-52.9,-43],[-51.6,-44.9],[-50.1,-46.9],[-48.4,-48.7],[-46.7,-50.4],[-44.9,-52.1],[-42.9,-53.6],[-41,-54.9],[-39.1,-56.2],[-37.1,-57.4],[-35,-58.7],[-32.8,-59.8],[-30.5,-60.7],[-28.2,-61.5],[-25.8,-62.1],[-23.5,-62.7],[-21.3,-63.1],[-18.9,-63.5],[-16.5,-63.8],[-14,-64],[-11.6,-64],[-9.1,-63.8],[-6.7,-63.5],[-4.3,-63.1],[-2.1,-62.7],[0.2,-62.1],[2.6,-61.5],[4.9,-60.7],[7.2,-59.8],[9.4,-58.7],[11.5,-57.4],[13.5,-56.2],[15.4,-54.9],[17.3,-53.6],[19.3,-52.1],[21.1,-50.4],[22.8,-48.7],[24.5,-46.9],[26,-44.9],[27.3,-43],[28.6,-41.1],[29.8,-39.1],[31.1,-37],[32.2,-34.8],[33.1,-32.5],[33.9,-30.2],[34.5,-27.8],[35.1,-25.5],[35.5,-23.3],[35.9,-20.9],[36.2,-18.5],[36.4,-16],[36.4,-13.6],[36.2,-11.1],[35.9,-8.7],[35.5,-6.3],[35.1,-4.1],[34.5,-1.8],[33.9,0.6],[33.1,2.9],[32.2,5.2],[31.1,7.4],[29.8,9.5],[28.6,11.5],[27.3,13.4],[26,15.3],[24.5,17.3],[22.8,19.1],[21.1,20.8],[19.3,22.5],[17.3,24],[15.4,25.3],[13.5,26.6],[11.5,27.8],[9.4,29.1],[7.2,30.2],[4.9,31.1],[2.6,31.9],[0.2,32.5],[-2.1,33.1],[-4.3,33.5],[-6.7,33.9],[-9.1,34.2],[-11.6,34.4],[-14,34.4],[-16.5,34.2],[-18.9,33.9],[-21.3,33.5],[-23.5,33.1],[-25.8,32.5],[-28.2,31.9],[-30.5,31.1],[-32.8,30.2],[-35,29.1],[-37.1,27.8],[-39.1,26.6],[-41,25.3],[-42.9,24],[-44.9,22.5],[-46.7,20.8],[-48.4,19.1],[-50.1,17.3],[-51.6,15.3],[-52.9,13.4],[-54.2,11.5],[-55.4,9.5],[-56.7,7.4],[-57.8,5.2],[-58.7,2.9],[-59.5,0.6],[-60.1,-1.8],[-60.7,-4.1],[-61.1,-6.3]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#8a7a6a","outline":false,"clip":true,"children":[]},{"id":"helmet","role":null,"shape":{"type":"poly","subs":[[[-35.3,-3.4],[-33.9,-10.3],[-31.3,-16.7],[-27.4,-22.5],[-22.5,-27.4],[-16.7,-31.3],[-10.3,-33.9],[-3.4,-35.3],[3.4,-35.3],[10.3,-33.9],[16.7,-31.3],[22.5,-27.4],[27.4,-22.5],[31.3,-16.7],[33.9,-10.3],[35.3,-3.4],[35.3,3.4],[33.9,10.3],[31.3,16.7],[27.4,22.5],[22.5,27.4],[16.7,31.3],[10.3,33.9],[3.4,35.3],[-3.4,35.3],[-10.3,33.9],[-16.7,31.3],[-22.5,27.4],[-27.4,22.5],[-31.3,16.7],[-33.9,10.3],[-35.3,3.4]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0.02,"fill":"#827669","children":[{"id":"helmet_lit","role":null,"shape":{"type":"poly","subs":[[[-44.5,-14],[-43.1,-20.9],[-40.5,-27.3],[-36.6,-33.1],[-31.7,-38],[-25.9,-41.9],[-19.5,-44.5],[-12.6,-45.9],[-5.8,-45.9],[1.1,-44.5],[7.5,-41.9],[13.3,-38],[18.2,-33.1],[22.1,-27.3],[24.7,-20.9],[26.1,-14],[26.1,-7.2],[24.7,-0.3],[22.1,6.1],[18.2,11.9],[13.3,16.8],[7.5,20.7],[1.1,23.3],[-5.8,24.7],[-12.6,24.7],[-19.5,23.3],[-25.9,20.7],[-31.7,16.8],[-36.6,11.9],[-40.5,6.1],[-43.1,-0.3],[-44.5,-7.2]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#a39383","outline":false,"clip":true,"children":[]},{"id":"visor","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-24,-8],[24,-8],[24,8],[-24,8]]]},"pos":{"x":0,"y":-8},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#3b3026","children":[{"id":"visor_lit","role":null,"shape":{"type":"poly","subs":[[[-26.1,-10.4],[21.9,-10.4],[21.9,5.6],[-26.1,5.6]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#4a3c30","outline":false,"clip":true,"children":[]}],"clip":true,"inner":true}],"clip":true,"inner":true},{"id":"collar","role":null,"side":1,"shape":{"type":"poly","subs":[[[-25,-3.5],[25,-3.5],[25,3.5],[-25,3.5]]]},"pos":{"x":0,"y":26},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#d0d0d0","children":[],"clip":true,"inner":true},{"id":"spike","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-0.4,-0.8],[-0.1,-1.2],[0.1,-1.2],[0.4,-0.8],[6.7,13.6],[6.7,14],[6.6,14.3],[6.1,14.4],[-6.1,14.4],[-6.6,14.3],[-6.7,14],[-6.6,13.6]]]},"pos":{"x":0,"y":-52},"rot":0,"sx":1,"sy":1,"z":0.03,"fill":"#949494","children":[{"id":"spike_lit","role":null,"shape":{"type":"poly","subs":[[[-2.4,-2.8],[-2.1,-3.2],[-1.9,-3.2],[-1.6,-2.8],[4.7,11.6],[4.7,12],[4.6,12.3],[4.1,12.4],[-8.1,12.4],[-8.6,12.3],[-8.7,12],[-8.6,11.6]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#b9b9b9","outline":false,"clip":true,"children":[]}]}]}]},"legs":0,"kind":"custom","height":47.6,"footprint":49.2,"look":"outlined","fx":2,"views":[{"view":"top"}]},"box":{"w":1.6,"h":1.6},"edges":"stop"}},"worlds":{"hall":{"v":1,"kind":"world","art":1,"name":"The hall","w":15,"h":10,"sky":{"kind":"indoor"},"materials":{"door_mat":{"base":"wood","collide":"solid","trigger":"door"},"mat_mat":{"base":"decoration","collide":"none","trigger":"door_mat"}},"pieces":[{"id":"room","shape":"cells","x":0,"y":0,"key":{"k":"castle_stone"},"rows":["kkkkkkkkkkkkkkk","k.............k","k.............k","k....kkk......k","k..............","k..............","k....kkk......k","k.............k","k.............k","kkkkkkkkkkkkkkk"]},{"id":"door_1","shape":"rect","x":14,"y":4,"w":1,"h":2,"material":"door_mat"},{"id":"mat","shape":"rect","x":13,"y":4,"w":1,"h":2,"material":"mat_mat"}],"marks":{"spawn":{"x":2,"y":8.4}},"camera":{"x":7.5,"y":5,"h":10}},"keep":{"v":1,"kind":"world","art":1,"name":"The keep","w":15,"h":10,"sky":{"kind":"cave"},"pieces":[{"id":"arena","shape":"cells","x":0,"y":0,"key":{"k":"castle_stone"},"rows":["kkkkkkkkkkkkkkk","k.............k","k.............k","k..k.......k..k","k.............k","k.............k","k..k.......k..k","k.............k","k.............k","kkkkkkkkkkkkkkk"]}],"marks":{"spawn":{"x":2,"y":5.4}},"camera":{"x":7.5,"y":5,"h":10}}},"vars":{"hearts":3,"hasKey":0,"guard":4,"safe":0,"guardsafe":0,"dungeon":1,"ss":2,"gsp":1.8,"gmax":4},"levels":{"Hall":{"world":"hall","start":{"Hero":{"x":2,"y":8.4}},"layout":[{"thing":"Sword","id":"sword","x":2,"y":8},{"thing":"Key","id":"key1","x":11,"y":2},{"thing":"Heart","id":"heart1","x":7,"y":5.4},{"thing":"Slime","id":"slime1","x":9,"y":8.4},{"thing":"Slime","id":"slime2","x":11,"y":4}]},"Keep":{"world":"keep","start":{"Hero":{"x":2,"y":5.4}},"layout":[{"thing":"Sword","id":"sword","x":2,"y":5.4},{"thing":"Guard","id":"guard1","x":11,"y":5.8},{"thing":"Slime","id":"slime3","x":12,"y":2.4},{"thing":"Slime","id":"slime4","x":12,"y":8.4}]}},"scripts":[{"hat":{"on":"start"},"body":[{"op":"show","name":"hearts","as":"hearts","label":"Hearts"},{"op":"show","name":"dungeon","as":"number","label":"Dungeon"},{"op":"steer","who":"Hero","keys":"arrows","speed":5},{"op":"hold","who":"Hero","thing":"sword","hand":"hand_r"},{"op":"camera","follow":"none"}]},{"hat":{"on":"scene","name":"Keep"},"body":[{"op":"setVar","var":"guard","value":"=gmax"},{"op":"show","name":"guard","as":"bar","label":"Guard"},{"op":"setVar","var":"safe","value":0},{"op":"hold","who":"Hero","thing":"sword","hand":"hand_r"}]},{"hat":{"on":"scene","name":"Hall"},"body":[{"op":"setVar","var":"safe","value":0},{"op":"hold","who":"Hero","thing":"sword","hand":"hand_r"}]},{"hat":{"on":"every","s":0.25},"body":[{"op":"toward","who":"Slime","target":"Hero","speed":"=ss"},{"op":"if","cond":"=guardsafe == 0","body":[{"op":"toward","who":"Guard","target":"Hero","speed":"=gsp"}]}]},{"hat":{"on":"key","key":"space"},"body":[{"op":"if","cond":"=instate(Hero, ready)","body":[{"op":"state","who":"Hero","to":"swing"},{"op":"sound","name":"zap"},{"op":"each","who":"Slime","body":[{"op":"if","cond":"=distance(me, Hero) < 1.6","body":[{"op":"sound","name":"pop"},{"op":"remove","who":"me"}]}]},{"op":"each","who":"Guard","body":[{"op":"if","cond":"=distance(me, Hero) < 2.1 && guardsafe == 0","body":[{"op":"changeVar","var":"guard","by":-1},{"op":"sound","name":"hit"},{"op":"countdown","var":"guardsafe","from":1},{"op":"toward","who":"me","target":"none"},{"op":"push","who":"me","vx":"=sign(xof(me) - xof(Hero)) * 7","vy":"=sign(yof(me) - yof(Hero)) * 7"},{"op":"restyle","who":"me","color":"#e0aaff"}]}]}]}]},{"hat":{"on":"zero","var":"guardsafe"},"body":[{"op":"restyle","who":"Guard","color":"#9d4edd"}]},{"hat":{"on":"every","s":0.1},"body":[{"op":"each","who":"Slime","body":[{"op":"if","cond":"=touching(me, Hero)","body":[{"op":"if","cond":"=safe == 0","body":[{"op":"changeVar","var":"hearts","by":-1},{"op":"sound","name":"hit"},{"op":"countdown","var":"safe","from":2},{"op":"push","who":"Hero","vx":"=sign(xof(Hero) - xof(me)) * 6","vy":"=sign(yof(Hero) - yof(me)) * 6"},{"op":"blink","who":"Hero","s":2}]}]}]},{"op":"each","who":"Guard","body":[{"op":"if","cond":"=touching(me, Hero)","body":[{"op":"if","cond":"=safe == 0","body":[{"op":"changeVar","var":"hearts","by":-1},{"op":"sound","name":"hit"},{"op":"countdown","var":"safe","from":2},{"op":"push","who":"Hero","vx":"=sign(xof(Hero) - xof(me)) * 6","vy":"=sign(yof(Hero) - yof(me)) * 6"},{"op":"blink","who":"Hero","s":2}]}]}]}]},{"hat":{"on":"touch","who":"Hero","what":"a Key"},"body":[{"op":"remove","who":"other"},{"op":"setVar","var":"hasKey","value":1},{"op":"sound","name":"coin"},{"op":"caption","text":"You have the key! Now find the door.","for":2}]},{"hat":{"on":"touch","who":"Hero","what":"a Heart"},"body":[{"op":"remove","who":"other"},{"op":"changeVar","var":"hearts","by":1},{"op":"sound","name":"powerup"}]},{"hat":{"on":"touch","who":"Hero","what":"door_mat"},"body":[{"op":"if","cond":"=hasKey == 1","body":[{"op":"opendoor","id":"door_1"},{"op":"sound","name":"click"}]}]},{"hat":{"on":"when","cond":"=xof(Hero) > 14.3 && level == 1"},"body":[{"op":"next"}]},{"hat":{"on":"zero","var":"guard"},"body":[{"op":"sound","name":"win"},{"op":"caption","text":"You beat the guard! On to the next dungeon.","for":1.5},{"op":"changeVar","var":"dungeon","by":1},{"op":"if","cond":"=dungeon > 99","body":[{"op":"setVar","var":"dungeon","value":1}]},{"op":"if","cond":"=hearts < 5","body":[{"op":"changeVar","var":"hearts","by":1}]},{"op":"setVar","var":"hasKey","value":0},{"op":"setVar","var":"ss","value":"=2 + 0.02 * (dungeon - 1)"},{"op":"setVar","var":"gsp","value":"=1.8 + 0.015 * (dungeon - 1)"},{"op":"setVar","var":"gmax","value":"=4 + floor((dungeon - 1) / 15)"},{"op":"wait","s":1},{"op":"goLevel","name":"Hall"}]},{"hat":{"on":"zero","var":"hearts"},"body":[{"op":"sound","name":"lose"},{"op":"lose","text":"You ran out of hearts."}]}]},"file":"games/dungeon_key/game.json"},{"pack":1,"id":"c4c:game:hoop_shot","type":"game","version":"1.0.0","name":"Hoop Shot","description":"One on one to 11. Dribble in, jump and shoot; on defense steal the ball or jump to block his shot. Win the match and a better rival comes: 99 of them.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"controls":{"keys":"Left and right arrows walk, dribbling the ball. X shoots a jump shot when you have the ball, and steals when he has it. Space jumps: jump beside him as he shoots to block it.","pad":"◀ ▶ walk. X shoots, or steals. Jump jumps.","drives":"Player"},"content_hash":"sha256:5da3604f9119e06373bed68aa42e413f6d04cf3d9c86f8dcab4e8949d2b3a813","content":{"v":1,"kind":"game","name":"Hoop Shot","note":"Seen from the side, one on one to 11. Whoever has the ball dribbles it. X: a jump shot with the ball (2 points, 3 from behind the line), or a reach for his ball. Space: a jump; in the air beside a shooter as the ball leaves, you block it. A basket gives the other side the ball at the top; a steal or a loose ball gives it to whoever gets it. Win a match and the next rival is quicker, steals more, blocks more and shoots better: 99 matches, then the first again.","cast":{"Player":{"pack":"studio:char:skye","edges":"stop","box":{"w":80,"h":80},"gravity":40,"states":{"start":"ready","list":{"ready":{},"dribble":{"does":{"v":1,"kind":"behaviour","name":"dribble","scripts":[{"body":[{"op":"forever","body":[{"op":"ramp","to":{"part:arm:1":35,"part:forearm:1":55},"over":0.235},{"op":"ramp","to":{"part:arm:1":25,"part:forearm:1":15},"over":0.235}]}]}]}},"shoot":{"does":{"v":1,"kind":"behaviour","name":"jump shot","scripts":[{"body":[{"op":"ramp","to":{"part:arm:1":165,"part:forearm:1":70,"part:arm:-1":155,"part:forearm:-1":55,"part:leg:1":18,"part:shin:1":26,"part:leg:-1":-12,"part:shin:-1":22},"over":0.14,"ease":"out"},{"op":"ramp","to":{"part:leg:1":0,"part:shin:1":0,"part:leg:-1":0,"part:shin:-1":0,"part:forearm:1":-10,"part:forearm:-1":20},"over":0.1,"ease":"in"},{"op":"setVar","var":"flag_let_go","value":"=tau"},{"op":"ramp","to":{"part:arm:1":170,"part:forearm:1":-20},"over":0.25},{"op":"ramp","to":{"part:arm:1":0,"part:forearm:1":0,"part:arm:-1":0,"part:forearm:-1":0},"over":0.25}]}]},"go":[{"to":"ready","when":{"after":0.75}}]},"swipe":{"does":{"v":1,"kind":"behaviour","name":"swipe","scripts":[{"body":[{"op":"ramp","to":{"part:arm:1":85,"part:forearm:1":0,"rot":-6},"over":0.1,"ease":"out"},{"op":"ramp","to":{"part:arm:1":0,"rot":0},"over":0.2}]}]},"go":[{"to":"ready","when":{"after":0.35}}]}}}},"Rival":{"pack":"studio:char:sunny","edges":"stop","box":{"w":90,"h":90},"gravity":40,"states":{"start":"ready","list":{"ready":{},"dribble":{"does":{"v":1,"kind":"behaviour","name":"dribble","scripts":[{"body":[{"op":"forever","body":[{"op":"ramp","to":{"part:arm:1":35,"part:forearm:1":55},"over":0.235},{"op":"ramp","to":{"part:arm:1":25,"part:forearm:1":15},"over":0.235}]}]}]}},"shoot":{"does":{"v":1,"kind":"behaviour","name":"jump shot","scripts":[{"body":[{"op":"ramp","to":{"part:arm:1":165,"part:forearm:1":70,"part:arm:-1":155,"part:forearm:-1":55,"part:leg:1":18,"part:shin:1":26,"part:leg:-1":-12,"part:shin:-1":22},"over":0.14,"ease":"out"},{"op":"ramp","to":{"part:leg:1":0,"part:shin:1":0,"part:leg:-1":0,"part:shin:-1":0,"part:forearm:1":-10,"part:forearm:-1":20},"over":0.1,"ease":"in"},{"op":"setVar","var":"flag_let_go","value":"=tau"},{"op":"ramp","to":{"part:arm:1":170,"part:forearm:1":-20},"over":0.25},{"op":"ramp","to":{"part:arm:1":0,"part:forearm:1":0,"part:arm:-1":0,"part:forearm:-1":0},"over":0.25}]}]},"go":[{"to":"ready","when":{"after":0.75}}]},"swipe":{"does":{"v":1,"kind":"behaviour","name":"swipe","scripts":[{"body":[{"op":"ramp","to":{"part:arm:1":85,"part:forearm:1":0,"rot":-6},"over":0.1,"ease":"out"},{"op":"ramp","to":{"part:arm:1":0,"rot":0},"over":0.2}]}]},"go":[{"to":"ready","when":{"after":0.35}}]}}}}},"things":{"Ball":{"shape":"ball","color":"#f77f00","box":{"w":0.6,"h":0.6},"edges":{"left":"bounce","right":"bounce","top":"bounce","bottom":"stop"},"bounce":0.55}},"worlds":{"gym":{"v":1,"kind":"world","art":1,"name":"Gym","w":20,"h":12,"sky":{"kind":"indoor"},"materials":{"floor_mat":{"base":"wood"},"line_mat":{"base":"decoration","layer":"front","collide":"none","fill":"#ffffff"},"board_mat":{"base":"wood","fill":"#f2f2f2"},"pole_mat":{"base":"decoration","layer":"back","collide":"none","fill":"#5c6b7a"},"rim_mat":{"base":"decoration","layer":"front","collide":"none","fill":"#ff6b00"},"net_mat":{"base":"decoration","layer":"front","collide":"none","fill":"#e8eef5","alpha":0.7,"trigger":"net"}},"pieces":[{"id":"floor","shape":"rect","x":0,"y":10.5,"w":20,"h":1.5,"material":"floor_mat"},{"id":"line","shape":"rect","x":9.9,"y":10.5,"w":0.15,"h":1.5,"material":"line_mat"},{"id":"pole","shape":"rect","x":19.2,"y":4.2,"w":0.35,"h":6.3,"material":"pole_mat"},{"id":"board","shape":"rect","x":18.9,"y":2.9,"w":0.3,"h":2.8,"material":"board_mat","rests":false},{"id":"rim","shape":"rect","x":16.55,"y":5,"w":2.2,"h":0.1,"material":"rim_mat"},{"id":"net","shape":"rect","x":16.75,"y":5.1,"w":1.8,"h":0.8,"material":"net_mat"}],"marks":{"spawn":{"x":5,"y":10.5}},"camera":{"x":10,"y":6,"h":12}}},"vars":{"you":0,"rival":0,"match":1,"skill":0,"poss":1,"flying":0,"shooter":0,"shotx":0,"T":1,"err":0,"think":14},"levels":{"Gym":{"world":"gym","start":{"Player":{"x":5,"y":10.5},"Rival":{"x":11,"y":10.5}},"layout":[{"thing":"Ball","id":"ball","x":5.5,"y":9.5}]}},"procedures":{"youBall":{"body":[{"op":"setVar","var":"poss","value":3},{"op":"place","who":"Player","x":5,"y":10.5,"facing":1},{"op":"place","who":"Rival","x":11,"y":10.5,"facing":-1},{"op":"state","who":"Rival","to":"ready"},{"op":"drop","who":"Rival","hand":"hand_r"},{"op":"setVar","var":"flying","value":0},{"op":"setVar","var":"poss","value":1},{"op":"gravity","who":"ball","g":0},{"op":"speed","who":"ball","vx":0,"vy":0},{"op":"hold","who":"Player","thing":"ball","hand":"hand_r","dribble":1.1},{"op":"state","who":"Player","to":"dribble"},{"op":"caption","text":"Your ball.","for":1.2}]},"rivalBall":{"body":[{"op":"setVar","var":"poss","value":3},{"op":"place","who":"Rival","x":5,"y":10.5,"facing":1},{"op":"place","who":"Player","x":11,"y":10.5,"facing":-1},{"op":"state","who":"Player","to":"ready"},{"op":"drop","who":"Player","hand":"hand_r"},{"op":"setVar","var":"flying","value":0},{"op":"setVar","var":"poss","value":2},{"op":"gravity","who":"ball","g":0},{"op":"speed","who":"ball","vx":0,"vy":0},{"op":"hold","who":"Rival","thing":"ball","hand":"hand_r","dribble":1.3},{"op":"state","who":"Rival","to":"dribble"},{"op":"setVar","var":"think","value":"=12 + random * 4"},{"op":"caption","text":"His ball: steal it (X) or jump to block his shot (Space).","for":2}]},"gainYou":{"body":[{"op":"drop","who":"Rival","hand":"hand_r"},{"op":"setVar","var":"flying","value":0},{"op":"setVar","var":"poss","value":1},{"op":"gravity","who":"ball","g":0},{"op":"speed","who":"ball","vx":0,"vy":0},{"op":"hold","who":"Player","thing":"ball","hand":"hand_r","dribble":1.1},{"op":"state","who":"Player","to":"dribble"}]},"gainRival":{"body":[{"op":"drop","who":"Player","hand":"hand_r"},{"op":"setVar","var":"flying","value":0},{"op":"setVar","var":"poss","value":2},{"op":"gravity","who":"ball","g":0},{"op":"speed","who":"ball","vx":0,"vy":0},{"op":"hold","who":"Rival","thing":"ball","hand":"hand_r","dribble":1.3},{"op":"state","who":"Rival","to":"dribble"},{"op":"setVar","var":"think","value":"=12 + random * 4"}]},"shootYou":{"body":[{"op":"setVar","var":"poss","value":0},{"op":"setVar","var":"shooter","value":1},{"op":"hold","who":"Player","thing":"ball","hand":"hand_r"},{"op":"state","who":"Player","to":"shoot"},{"op":"speed","who":"Player","vx":0},{"op":"jump","who":"Player","h":0.9},{"op":"wait","s":0.22},{"op":"if","cond":"=holding(Player, ball)","body":[{"op":"drop","who":"Player","hand":"hand_r"},{"op":"place","who":"ball","x":"=xof(Player) + facing(Player) * 0.3","y":"=yof(Player) - 2.7"},{"op":"setVar","var":"flying","value":1},{"op":"setVar","var":"shotx","value":"=xof(Player)"},{"op":"setVar","var":"T","value":"=1.0 + abs(17.5 - xof(ball)) / 25"},{"op":"setVar","var":"err","value":"=(random - 0.5) * (abs(17.5 - xof(ball)) / 14 + 0.3 * (1 - step(1.5, abs(xof(Rival) - xof(Player))))) * 1"},{"op":"gravity","who":"ball","g":22},{"op":"speed","who":"ball","vx":"=(17.5 - xof(ball)) / T * (1 + err)","vy":"=((5.1 - yof(ball)) - 0.5 * 22 * T * T) / T"},{"op":"sound","name":"zap"},{"op":"if","cond":"=!onground(Rival) && abs(xof(Rival) - xof(Player)) < 1.4 && random < 0.8","body":[{"op":"wait","s":0.08},{"op":"if","cond":"=flying == 1","body":[{"op":"setVar","var":"flying","value":0},{"op":"speed","who":"ball","vx":"=sign(xof(Player) - xof(Rival) + 0.01) * 4","vy":-2},{"op":"sound","name":"hit"},{"op":"caption","text":"Blocked! Get clear of him first.","for":1.2}]}]}]}]},"shootRival":{"body":[{"op":"setVar","var":"poss","value":0},{"op":"setVar","var":"shooter","value":2},{"op":"hold","who":"Rival","thing":"ball","hand":"hand_r"},{"op":"state","who":"Rival","to":"shoot"},{"op":"speed","who":"Rival","vx":0},{"op":"jump","who":"Rival","h":0.9},{"op":"wait","s":0.22},{"op":"if","cond":"=holding(Rival, ball)","body":[{"op":"drop","who":"Rival","hand":"hand_r"},{"op":"place","who":"ball","x":"=xof(Rival) + facing(Rival) * 0.3","y":"=yof(Rival) - 3.1"},{"op":"setVar","var":"flying","value":1},{"op":"setVar","var":"shotx","value":"=xof(Rival)"},{"op":"setVar","var":"T","value":"=1.0 + abs(17.5 - xof(ball)) / 25"},{"op":"setVar","var":"err","value":"=(random - 0.5) * (abs(17.5 - xof(ball)) / 14 + 0.3 * (1 - step(1.5, abs(xof(Player) - xof(Rival))))) * (1.3 - 0.8 * skill)"},{"op":"gravity","who":"ball","g":22},{"op":"speed","who":"ball","vx":"=(17.5 - xof(ball)) / T * (1 + err)","vy":"=((5.1 - yof(ball)) - 0.5 * 22 * T * T) / T"},{"op":"sound","name":"zap"},{"op":"if","cond":"=!onground(Player) && abs(xof(Player) - xof(Rival)) < 1.4 && random < 0.8","body":[{"op":"wait","s":0.08},{"op":"if","cond":"=flying == 1","body":[{"op":"setVar","var":"flying","value":0},{"op":"speed","who":"ball","vx":"=sign(xof(Rival) - xof(Player) + 0.01) * 4","vy":-2},{"op":"sound","name":"hit"},{"op":"caption","text":"You blocked his shot!","for":1.2}]}]}]}]}},"scripts":[{"hat":{"on":"start"},"body":[{"op":"show","name":"you","as":"number","label":"You"},{"op":"show","name":"rival","as":"number","label":"Rival"},{"op":"show","name":"match","as":"number","label":"Match"},{"op":"steer","who":"Player","keys":"arrows","speed":5,"axes":"x"},{"op":"camera","follow":"none"},{"op":"call","name":"youBall"}]},{"hat":{"on":"key","key":"x"},"body":[{"op":"if","cond":"=poss == 1 && holding(Player, ball) && !instate(Player, shoot)","body":[{"op":"call","name":"shootYou"}],"else":[{"op":"if","cond":"=poss == 2 && distance(Player, Rival) < 1.7 && !instate(Player, swipe)","body":[{"op":"state","who":"Player","to":"swipe"},{"op":"if","cond":"=random < 0.45 - 0.25 * skill","body":[{"op":"call","name":"gainYou"},{"op":"sound","name":"powerup"},{"op":"caption","text":"Steal! Your ball.","for":1.2}],"else":[{"op":"sound","name":"click"}]}]}]}]},{"hat":{"on":"key","key":"space"},"body":[{"op":"if","cond":"=onground(Player) && !instate(Player, shoot)","body":[{"op":"jump","who":"Player","h":1.1}]}]},{"hat":{"on":"when","cond":"=flying == 1 && vyof(ball) > 0 && xof(ball) > 16.85 && xof(ball) < 18.45 && yof(ball) > 5.4 && yof(ball) < 6.3"},"body":[{"op":"if","cond":"=flying == 1","body":[{"op":"setVar","var":"flying","value":0},{"op":"setVar","var":"poss","value":3},{"op":"sound","name":"coin"},{"op":"if","cond":"=shooter == 1","body":[{"op":"if","cond":"=shotx < 10","body":[{"op":"changeVar","var":"you","by":3},{"op":"caption","text":"Three points!","for":1.2}],"else":[{"op":"changeVar","var":"you","by":2},{"op":"caption","text":"Two points!","for":1.2}]}],"else":[{"op":"if","cond":"=shotx < 10","body":[{"op":"changeVar","var":"rival","by":3},{"op":"caption","text":"He hit a three.","for":1.2}],"else":[{"op":"changeVar","var":"rival","by":2},{"op":"caption","text":"He scored.","for":1.2}]}]},{"op":"wait","s":0.9},{"op":"if","cond":"=you < 11 && rival < 11","body":[{"op":"if","cond":"=shooter == 1","body":[{"op":"call","name":"rivalBall"}],"else":[{"op":"call","name":"youBall"}]}]}]}]},{"hat":{"on":"when","cond":"=holding(Player, ball) == 0 && holding(Rival, ball) == 0 && poss != 3 && yof(ball) > 10.45 && abs(vyof(ball)) < 0.5"},"body":[{"op":"setVar","var":"flying","value":0},{"op":"setVar","var":"poss","value":0}]},{"hat":{"on":"when","cond":"=poss == 0 && flying == 0 && holding(Rival, ball) == 0 && holding(Player, ball) == 0 && touching(Player, ball)"},"body":[{"op":"call","name":"gainYou"},{"op":"sound","name":"pop"}]},{"hat":{"on":"when","cond":"=poss == 0 && flying == 0 && holding(Rival, ball) == 0 && holding(Player, ball) == 0 && touching(Rival, ball)"},"body":[{"op":"call","name":"gainRival"},{"op":"sound","name":"pop"}]},{"hat":{"on":"every","s":0.15},"body":[{"op":"if","cond":"=poss == 2 && instate(Rival, dribble)","body":[{"op":"place","who":"Rival","facing":1},{"op":"if","cond":"=abs(xof(Rival) - think) > 0.35 && !(distance(Player, Rival) < 1.4 && random < 0.25)","body":[{"op":"speed","who":"Rival","vx":"=sign(think - xof(Rival)) * (3 + 1.5 * skill)"}],"else":[{"op":"speed","who":"Rival","vx":0},{"op":"call","name":"shootRival"}]}]},{"op":"if","cond":"=poss == 1","body":[{"op":"place","who":"Rival","facing":"=2 * step(xof(Rival), xof(Player)) - 1"},{"op":"speed","who":"Rival","vx":"=clamp((min(16, xof(Player) + 1.3) - xof(Rival)) * 3, 0 - (4 + 1.5 * skill), 4 + 1.5 * skill)"},{"op":"if","cond":"=distance(Player, Rival) < 1.5 && !instate(Player, shoot) && random < 0.025 + 0.12 * skill","body":[{"op":"state","who":"Rival","to":"swipe"},{"op":"call","name":"gainRival"},{"op":"sound","name":"pop"},{"op":"caption","text":"He stole it! Get it back.","for":1.2}]}]},{"op":"if","cond":"=poss == 0 && flying == 0","body":[{"op":"speed","who":"Rival","vx":"=clamp((xof(ball) - xof(Rival)) * 3, 0 - (3 + skill), 3 + skill)"}]},{"op":"if","cond":"=flying == 1 || poss == 3","body":[{"op":"speed","who":"Rival","vx":0}]}]},{"hat":{"on":"when","cond":"=instate(Player, shoot) && statetime(Player) < 0.1"},"body":[{"op":"if","cond":"=abs(xof(Rival) - xof(Player)) < 1.8 && onground(Rival) && random < 0.25 + 0.45 * skill","body":[{"op":"jump","who":"Rival","h":1}]}]},{"hat":{"on":"when","cond":"=you >= 11"},"body":[{"op":"sound","name":"win"},{"op":"caption","text":"You won the match! A better rival is coming.","for":2},{"op":"changeVar","var":"match","by":1},{"op":"if","cond":"=match > 99","body":[{"op":"setVar","var":"match","value":1}]},{"op":"setVar","var":"skill","value":"=min(1, (match - 1) / 50)"},{"op":"setVar","var":"you","value":0},{"op":"setVar","var":"rival","value":0},{"op":"wait","s":1.5},{"op":"call","name":"youBall"}]},{"hat":{"on":"when","cond":"=rival >= 11"},"body":[{"op":"sound","name":"lose"},{"op":"lose","text":"He got to 11 first."}]}]},"file":"games/hoop_shot/game.json"},{"pack":1,"id":"c4c:game:hop_across","type":"game","version":"1.0.0","name":"Hop Across","description":"Cross the road, ride the logs over the river and fill all five homes before the clock runs out. 99 crossings, each faster, then the first again.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"controls":{"keys":"The arrow keys move.","pad":"◀ ▶ ▲ ▼ move.","drives":"Frog"},"content_hash":"sha256:dd295d1a74f0cb3ebbdd4356342d37bf2adb827b1ae28afe619a7c02ab91d881","content":{"v":1,"kind":"game","name":"Hop Across","view":"top","note":"Seen from above. Cars cross the road; logs float across the river and carry what rides them. Over the river, step off a log (the untouch hat) or into the water (checked every tenth of a second) and you fall in. A home that is filled stays filled.","cast":{"Frog":{"pack":"studio:char:skye","edges":"stop","box":{"w":100,"h":100},"steer":{"keys":"arrows","speed":12}}},"things":{"Car":{"shape":"box","color":"#e63946","model":{"tree":{"id":"root","role":"root","pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"children":[{"id":"spine","role":"torso","shape":{"type":"poly","subs":[[[-68,-11.5],[-66.2,-20.6],[-60.6,-26.2],[-51.5,-28],[51.5,-28],[60.6,-26.2],[66.2,-20.6],[68,-11.5],[68,11.5],[66.2,20.6],[60.6,26.2],[51.5,28],[-51.5,28],[-60.6,26.2],[-66.2,20.6],[-68,11.5]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#b72e2a","children":[{"id":"spine_lit","role":null,"shape":{"type":"poly","subs":[[[-75.3,-19.9],[-73.5,-29],[-67.9,-34.6],[-58.8,-36.4],[44.2,-36.4],[53.3,-34.6],[58.9,-29],[60.7,-19.9],[60.7,3.1],[58.9,12.2],[53.3,17.8],[44.2,19.6],[-58.8,19.6],[-67.9,17.8],[-73.5,12.2],[-75.3,3.1]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#e53935","outline":false,"clip":true,"children":[]},{"id":"front_wheel","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-11,-3.1],[-10.7,-4.4],[-9.9,-5.2],[-8.6,-5.5],[8.6,-5.5],[9.9,-5.2],[10.7,-4.4],[11,-3.1],[11,2.1],[10.7,3.4],[9.9,4.2],[8.6,4.5],[-8.6,4.5],[-9.9,4.2],[-10.7,3.4],[-11,2.1]]]},"pos":{"x":40.8,"y":-28},"rot":0,"sx":1,"sy":1,"z":-0.04,"fill":"#222428","children":[]},{"id":"front_wheel_l","role":null,"side":1,"shape":{"type":"poly","subs":[[[-11,-2.1],[-10.7,-3.4],[-9.9,-4.2],[-8.6,-4.5],[8.6,-4.5],[9.9,-4.2],[10.7,-3.4],[11,-2.1],[11,3.1],[10.7,4.4],[9.9,5.2],[8.6,5.5],[-8.6,5.5],[-9.9,5.2],[-10.7,4.4],[-11,3.1]]]},"pos":{"x":40.8,"y":28},"rot":0,"sx":1,"sy":1,"z":-0.03,"fill":"#222428","children":[]},{"id":"back_wheel","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-11,-3.1],[-10.7,-4.4],[-9.9,-5.2],[-8.6,-5.5],[8.6,-5.5],[9.9,-5.2],[10.7,-4.4],[11,-3.1],[11,2.1],[10.7,3.4],[9.9,4.2],[8.6,4.5],[-8.6,4.5],[-9.9,4.2],[-10.7,3.4],[-11,2.1]]]},"pos":{"x":-40.8,"y":-28},"rot":0,"sx":1,"sy":1,"z":-0.02,"fill":"#222428","children":[]},{"id":"back_wheel_l","role":null,"side":1,"shape":{"type":"poly","subs":[[[-11,-2.1],[-10.7,-3.4],[-9.9,-4.2],[-8.6,-4.5],[8.6,-4.5],[9.9,-4.2],[10.7,-3.4],[11,-2.1],[11,3.1],[10.7,4.4],[9.9,5.2],[8.6,5.5],[-8.6,5.5],[-9.9,5.2],[-10.7,4.4],[-11,3.1]]]},"pos":{"x":-40.8,"y":28},"rot":0,"sx":1,"sy":1,"z":-0.01,"fill":"#222428","children":[]},{"id":"cabin","role":null,"shape":{"type":"poly","subs":[[[-35,-13.7],[-34.1,-18.3],[-31.3,-21.1],[-26.7,-22],[26.7,-22],[31.3,-21.1],[34.1,-18.3],[35,-13.7],[35,13.7],[34.1,18.3],[31.3,21.1],[26.7,22],[-26.7,22],[-31.3,21.1],[-34.1,18.3],[-35,13.7]]]},"pos":{"x":-3.4,"y":0},"rot":0,"sx":1,"sy":1,"z":0.03,"fill":"#821e1e","children":[{"id":"cabin_lit","role":null,"shape":{"type":"poly","subs":[[[-40.7,-20.3],[-39.8,-24.9],[-37,-27.7],[-32.4,-28.6],[21,-28.6],[25.6,-27.7],[28.4,-24.9],[29.3,-20.3],[29.3,7.1],[28.4,11.7],[25.6,14.5],[21,15.4],[-32.4,15.4],[-37,14.5],[-39.8,11.7],[-40.7,7.1]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#a32626","outline":false,"clip":true,"children":[]}],"clip":true,"inner":true},{"id":"windscreen","role":null,"shape":{"type":"poly","subs":[[[-4,-16.4],[-3.6,-18.4],[-2.4,-19.6],[-0.4,-20],[0.4,-20],[2.4,-19.6],[3.6,-18.4],[4,-16.4],[4,16.4],[3.6,18.4],[2.4,19.6],[0.4,20],[-0.4,20],[-2.4,19.6],[-3.6,18.4],[-4,16.4]]]},"pos":{"x":28.6,"y":0},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#a8d8f5","children":[],"clip":true,"inner":true},{"id":"back_window","role":null,"shape":{"type":"poly","subs":[[[-3,-16.3],[-2.7,-17.8],[-1.8,-18.7],[-0.3,-19],[0.3,-19],[1.8,-18.7],[2.7,-17.8],[3,-16.3],[3,16.3],[2.7,17.8],[1.8,18.7],[0.3,19],[-0.3,19],[-1.8,18.7],[-2.7,17.8],[-3,16.3]]]},"pos":{"x":-34,"y":0},"rot":0,"sx":1,"sy":1,"z":0.02,"fill":"#a8d8f5","children":[],"clip":true,"inner":true}]}]},"legs":0,"kind":"custom","height":26.8,"footprint":68,"look":"outlined","fx":2,"views":[{"view":"top"}]},"box":{"w":7,"h":2.8},"edges":{"left":"off","right":"off"}},"Truck":{"shape":"box","color":"#f4a261","model":{"tree":{"id":"root","role":"root","pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"children":[{"id":"spine","role":"torso","shape":{"type":"poly","subs":[[[-100,-19.6],[-98.8,-25.4],[-95.4,-28.8],[-89.6,-30],[89.6,-30],[95.4,-28.8],[98.8,-25.4],[100,-19.6],[100,19.6],[98.8,25.4],[95.4,28.8],[89.6,30],[-89.6,30],[-95.4,28.8],[-98.8,25.4],[-100,19.6]]]},"pos":{"x":-17.1,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#bdb6a6","children":[{"id":"spine_lit","role":null,"shape":{"type":"poly","subs":[[[-107.8,-28.6],[-106.6,-34.4],[-103.2,-37.8],[-97.4,-39],[81.8,-39],[87.6,-37.8],[91,-34.4],[92.2,-28.6],[92.2,10.6],[91,16.4],[87.6,19.8],[81.8,21],[-97.4,21],[-103.2,19.8],[-106.6,16.4],[-107.8,10.6]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#ece4d0","outline":false,"clip":true,"children":[]},{"id":"rib","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-92,-2],[92,-2],[92,2],[-92,2]]]},"pos":{"x":0,"y":-14},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#3a3a3a","children":[],"clip":true,"inner":true},{"id":"rib2","role":null,"side":1,"shape":{"type":"poly","subs":[[[-92,-2],[92,-2],[92,2],[-92,2]]]},"pos":{"x":0,"y":14},"rot":0,"sx":1,"sy":1,"z":0.02,"fill":"#3a3a3a","children":[],"clip":true,"inner":true},{"id":"cab","role":null,"shape":{"type":"poly","subs":[[[-3.8,-22.1],[-3.1,-25.4],[-1.2,-27.3],[2.1,-28],[28.3,-28],[31.6,-27.3],[33.5,-25.4],[34.2,-22.1],[34.2,22.1],[33.5,25.4],[31.6,27.3],[28.3,28],[2.1,28],[-1.2,27.3],[-3.1,25.4],[-3.8,22.1]]]},"pos":{"x":100,"y":0},"rot":0,"sx":1,"sy":1,"z":-0.03,"fill":"#c3824e","children":[{"id":"cab_lit","role":null,"shape":{"type":"poly","subs":[[[-8.7,-27.8],[-8,-31.1],[-6.1,-33],[-2.8,-33.7],[23.4,-33.7],[26.7,-33],[28.6,-31.1],[29.3,-27.8],[29.3,16.4],[28.6,19.7],[26.7,21.6],[23.4,22.3],[-2.8,22.3],[-6.1,21.6],[-8,19.7],[-8.7,16.4]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#f4a261","outline":false,"clip":true,"children":[]},{"id":"windscreen","role":null,"shape":{"type":"poly","subs":[[[-4,-19.4],[-3.6,-21.4],[-2.4,-22.6],[-0.4,-23],[0.4,-23],[2.4,-22.6],[3.6,-21.4],[4,-19.4],[4,19.4],[3.6,21.4],[2.4,22.6],[0.4,23],[-0.4,23],[-2.4,22.6],[-3.6,21.4],[-4,19.4]]]},"pos":{"x":24.7,"y":0},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#a8d8f5","children":[],"clip":true,"inner":true},{"id":"front_wheel","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-11,-3.1],[-10.7,-4.4],[-9.9,-5.2],[-8.6,-5.5],[8.6,-5.5],[9.9,-5.2],[10.7,-4.4],[11,-3.1],[11,2.1],[10.7,3.4],[9.9,4.2],[8.6,4.5],[-8.6,4.5],[-9.9,4.2],[-10.7,3.4],[-11,2.1]]]},"pos":{"x":15.2,"y":-28},"rot":0,"sx":1,"sy":1,"z":-0.02,"fill":"#222428","children":[]},{"id":"front_wheel_l","role":null,"side":1,"shape":{"type":"poly","subs":[[[-11,-2.1],[-10.7,-3.4],[-9.9,-4.2],[-8.6,-4.5],[8.6,-4.5],[9.9,-4.2],[10.7,-3.4],[11,-2.1],[11,3.1],[10.7,4.4],[9.9,5.2],[8.6,5.5],[-8.6,5.5],[-9.9,5.2],[-10.7,4.4],[-11,3.1]]]},"pos":{"x":15.2,"y":28},"rot":0,"sx":1,"sy":1,"z":-0.01,"fill":"#222428","children":[]}]},{"id":"back_wheels","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-13,-2.7],[-12.7,-4.3],[-11.8,-5.2],[-10.2,-5.5],[10.2,-5.5],[11.8,-5.2],[12.7,-4.3],[13,-2.7],[13,1.7],[12.7,3.3],[11.8,4.2],[10.2,4.5],[-10.2,4.5],[-11.8,4.2],[-12.7,3.3],[-13,1.7]]]},"pos":{"x":-70,"y":-30},"rot":0,"sx":1,"sy":1,"z":-0.02,"fill":"#222428","children":[]},{"id":"back_wheels_l","role":null,"side":1,"shape":{"type":"poly","subs":[[[-13,-1.7],[-12.7,-3.3],[-11.8,-4.2],[-10.2,-4.5],[10.2,-4.5],[11.8,-4.2],[12.7,-3.3],[13,-1.7],[13,2.7],[12.7,4.3],[11.8,5.2],[10.2,5.5],[-10.2,5.5],[-11.8,5.2],[-12.7,4.3],[-13,2.7]]]},"pos":{"x":-70,"y":30},"rot":0,"sx":1,"sy":1,"z":-0.01,"fill":"#222428","children":[]}]}]},"legs":0,"kind":"custom","height":35.4,"footprint":117.1,"look":"outlined","fx":2,"views":[{"view":"top"}]},"box":{"w":10.3,"h":2.8},"edges":{"left":"off","right":"off"}},"Log":{"shape":"box","color":"#8a5a32","model":{"tree":{"id":"root","role":"root","pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"children":[{"id":"spine","role":"torso","shape":{"type":"poly","subs":[[[-75.9,-0.8],[-75.7,-2.4],[-75.6,-3.6],[-75.4,-4.4],[-75.3,-5.2],[-75.1,-6.1],[-74.8,-6.9],[-74.6,-7.7],[-74.4,-8.2],[-74.3,-8.5],[-74,-9],[-73.7,-9.8],[-73.4,-10.6],[-73,-11.3],[-72.6,-12],[-72.1,-12.7],[-71.8,-13.2],[-71.6,-13.4],[-71.3,-13.9],[-70.8,-14.5],[-70.3,-15.1],[-69.7,-15.7],[-69.2,-16.3],[-68.6,-16.9],[-68.2,-17.2],[-67.9,-17.4],[-67.5,-17.8],[-66.9,-18.2],[-66.2,-18.7],[-65.6,-19.1],[-64.9,-19.5],[-64.2,-19.9],[-63.7,-20.1],[-63.4,-20.2],[-63,-20.4],[-62.2,-20.7],[-61.5,-21],[-60.8,-21.2],[-60,-21.4],[-59.2,-21.5],[-58.7,-21.6],[-58.5,-21.6],[-57.9,-21.7],[-57.2,-21.8],[-56.4,-21.9],[-55.6,-21.9],[-54.8,-22],[-54,-22],[-26.8,-22],[26.8,-22],[54,-22],[54.8,-22],[55.6,-21.9],[56.4,-21.9],[57.2,-21.8],[57.9,-21.7],[58.5,-21.6],[58.7,-21.6],[59.2,-21.5],[60,-21.4],[60.8,-21.2],[61.5,-21],[62.2,-20.7],[63,-20.4],[63.4,-20.2],[63.7,-20.1],[64.2,-19.9],[64.9,-19.5],[65.6,-19.1],[66.2,-18.7],[66.9,-18.2],[67.5,-17.8],[67.9,-17.4],[68.2,-17.2],[68.6,-16.9],[69.2,-16.3],[69.7,-15.7],[70.3,-15.1],[70.8,-14.5],[71.3,-13.9],[71.6,-13.4],[71.8,-13.2],[72.1,-12.7],[72.6,-12],[73,-11.3],[73.4,-10.6],[73.7,-9.8],[74,-9],[74.3,-8.5],[74.4,-8.2],[74.6,-7.7],[74.8,-6.9],[75.1,-6.1],[75.3,-5.2],[75.4,-4.4],[75.6,-3.6],[75.7,-2.4],[75.9,-0.8],[76,0],[76,0],[75.9,0.8],[75.7,2.4],[75.6,3.6],[75.4,4.4],[75.3,5.2],[75.1,6.1],[74.8,6.9],[74.6,7.7],[74.4,8.2],[74.3,8.5],[74,9],[73.7,9.8],[73.4,10.6],[73,11.3],[72.6,12],[72.1,12.7],[71.8,13.2],[71.6,13.4],[71.3,13.9],[70.8,14.5],[70.3,15.1],[69.7,15.7],[69.2,16.3],[68.6,16.9],[68.2,17.2],[67.9,17.4],[67.5,17.8],[66.9,18.2],[66.2,18.7],[65.6,19.1],[64.9,19.5],[64.2,19.9],[63.7,20.1],[63.4,20.2],[63,20.4],[62.2,20.7],[61.5,21],[60.8,21.2],[60,21.4],[59.2,21.5],[58.7,21.6],[58.5,21.6],[57.9,21.7],[57.2,21.8],[56.4,21.9],[55.6,21.9],[54.8,22],[54,22],[26.8,22],[-26.8,22],[-54,22],[-54.8,22],[-55.6,21.9],[-56.4,21.9],[-57.2,21.8],[-57.9,21.7],[-58.5,21.6],[-58.7,21.6],[-59.2,21.5],[-60,21.4],[-60.8,21.2],[-61.5,21],[-62.2,20.7],[-63,20.4],[-63.4,20.2],[-63.7,20.1],[-64.2,19.9],[-64.9,19.5],[-65.6,19.1],[-66.2,18.7],[-66.9,18.2],[-67.5,17.8],[-67.9,17.4],[-68.2,17.2],[-68.6,16.9],[-69.2,16.3],[-69.7,15.7],[-70.3,15.1],[-70.8,14.5],[-71.3,13.9],[-71.6,13.4],[-71.8,13.2],[-72.1,12.7],[-72.6,12],[-73,11.3],[-73.4,10.6],[-73.7,9.8],[-74,9],[-74.3,8.5],[-74.4,8.2],[-74.6,7.7],[-74.8,6.9],[-75.1,6.1],[-75.3,5.2],[-75.4,4.4],[-75.6,3.6],[-75.7,2.4],[-75.9,0.8],[-76,0],[-76,0]]]},"pos":{"x":-0.6,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#6f4822","children":[{"id":"spine_lit","role":null,"shape":{"type":"poly","subs":[[[-81.6,-7.4],[-81.4,-9],[-81.3,-10.2],[-81.1,-11],[-81,-11.8],[-80.8,-12.7],[-80.5,-13.5],[-80.3,-14.3],[-80.1,-14.8],[-80,-15.1],[-79.7,-15.6],[-79.4,-16.4],[-79.1,-17.2],[-78.7,-17.9],[-78.3,-18.6],[-77.8,-19.3],[-77.5,-19.8],[-77.3,-20],[-77,-20.5],[-76.5,-21.1],[-76,-21.7],[-75.4,-22.3],[-74.9,-22.9],[-74.3,-23.5],[-73.9,-23.8],[-73.6,-24],[-73.2,-24.4],[-72.6,-24.8],[-71.9,-25.3],[-71.3,-25.7],[-70.6,-26.1],[-69.9,-26.5],[-69.4,-26.7],[-69.1,-26.8],[-68.7,-27],[-67.9,-27.3],[-67.2,-27.6],[-66.5,-27.8],[-65.7,-28],[-64.9,-28.1],[-64.4,-28.2],[-64.2,-28.2],[-63.6,-28.3],[-62.9,-28.4],[-62.1,-28.5],[-61.3,-28.5],[-60.5,-28.6],[-59.7,-28.6],[-32.5,-28.6],[21.1,-28.6],[48.3,-28.6],[49.1,-28.6],[49.9,-28.5],[50.7,-28.5],[51.5,-28.4],[52.2,-28.3],[52.8,-28.2],[53,-28.2],[53.5,-28.1],[54.3,-28],[55.1,-27.8],[55.8,-27.6],[56.5,-27.3],[57.3,-27],[57.7,-26.8],[58,-26.7],[58.5,-26.5],[59.2,-26.1],[59.9,-25.7],[60.5,-25.3],[61.2,-24.8],[61.8,-24.4],[62.2,-24],[62.5,-23.8],[62.9,-23.5],[63.5,-22.9],[64,-22.3],[64.6,-21.7],[65.1,-21.1],[65.6,-20.5],[65.9,-20],[66.1,-19.8],[66.4,-19.3],[66.9,-18.6],[67.3,-17.9],[67.7,-17.2],[68,-16.4],[68.3,-15.6],[68.6,-15.1],[68.7,-14.8],[68.9,-14.3],[69.1,-13.5],[69.4,-12.7],[69.6,-11.8],[69.7,-11],[69.9,-10.2],[70,-9],[70.2,-7.4],[70.3,-6.6],[70.3,-6.6],[70.2,-5.8],[70,-4.2],[69.9,-3],[69.7,-2.2],[69.6,-1.4],[69.4,-0.5],[69.1,0.3],[68.9,1.1],[68.7,1.6],[68.6,1.9],[68.3,2.4],[68,3.2],[67.7,4],[67.3,4.7],[66.9,5.4],[66.4,6.1],[66.1,6.6],[65.9,6.8],[65.6,7.3],[65.1,7.9],[64.6,8.5],[64,9.1],[63.5,9.7],[62.9,10.3],[62.5,10.6],[62.2,10.8],[61.8,11.2],[61.2,11.6],[60.5,12.1],[59.9,12.5],[59.2,12.9],[58.5,13.3],[58,13.5],[57.7,13.6],[57.3,13.8],[56.5,14.1],[55.8,14.4],[55.1,14.6],[54.3,14.8],[53.5,14.9],[53,15],[52.8,15],[52.2,15.1],[51.5,15.2],[50.7,15.3],[49.9,15.3],[49.1,15.4],[48.3,15.4],[21.1,15.4],[-32.5,15.4],[-59.7,15.4],[-60.5,15.4],[-61.3,15.3],[-62.1,15.3],[-62.9,15.2],[-63.6,15.1],[-64.2,15],[-64.4,15],[-64.9,14.9],[-65.7,14.8],[-66.5,14.6],[-67.2,14.4],[-67.9,14.1],[-68.7,13.8],[-69.1,13.6],[-69.4,13.5],[-69.9,13.3],[-70.6,12.9],[-71.3,12.5],[-71.9,12.1],[-72.6,11.6],[-73.2,11.2],[-73.6,10.8],[-73.9,10.6],[-74.3,10.3],[-74.9,9.7],[-75.4,9.1],[-76,8.5],[-76.5,7.9],[-77,7.3],[-77.3,6.8],[-77.5,6.6],[-77.8,6.1],[-78.3,5.4],[-78.7,4.7],[-79.1,4],[-79.4,3.2],[-79.7,2.4],[-80,1.9],[-80.1,1.6],[-80.3,1.1],[-80.5,0.3],[-80.8,-0.5],[-81,-1.4],[-81.1,-2.2],[-81.3,-3],[-81.4,-4.2],[-81.6,-5.8],[-81.7,-6.6],[-81.7,-6.6]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#8b5a2b","outline":false,"clip":true,"children":[]},{"id":"groove","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-55,-2],[55,-2],[55,2],[-55,2]]]},"pos":{"x":10,"y":-10},"rot":0,"sx":1,"sy":1,"z":0.02,"fill":"#2a1a0c","children":[],"clip":true,"inner":true},{"id":"groove2","role":null,"side":1,"shape":{"type":"poly","subs":[[[-45,-2],[45,-2],[45,2],[-45,2]]]},"pos":{"x":-20,"y":10},"rot":0,"sx":1,"sy":1,"z":0.03,"fill":"#2a1a0c","children":[],"clip":true,"inner":true},{"id":"cut_end","role":null,"shape":{"type":"poly","subs":[[[-5.3,-1.8],[-5.2,-5.5],[-5,-8.8],[-4.7,-11.9],[-4.3,-14.5],[-3.8,-16.5],[-3.3,-17.9],[-2.7,-18.6],[-2.1,-18.6],[-1.5,-17.9],[-1,-16.5],[-0.5,-14.5],[-0.1,-11.9],[0.2,-8.8],[0.4,-5.5],[0.5,-1.8],[0.5,1.8],[0.4,5.5],[0.2,8.8],[-0.1,11.9],[-0.5,14.5],[-1,16.5],[-1.5,17.9],[-2.1,18.6],[-2.7,18.6],[-3.3,17.9],[-3.8,16.5],[-4.3,14.5],[-4.7,11.9],[-5,8.8],[-5.2,5.5],[-5.3,1.8]]]},"pos":{"x":76,"y":0},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#d9a066","children":[{"id":"ring","role":null,"shape":{"type":"poly","subs":[[[-2.4,-0.8],[-2.3,-2.3],[-2.2,-3.7],[-2,-5],[-1.8,-6.1],[-1.6,-7],[-1.3,-7.5],[-1,-7.8],[-0.8,-7.8],[-0.5,-7.5],[-0.2,-7],[0,-6.1],[0.2,-5],[0.4,-3.7],[0.5,-2.3],[0.6,-0.8],[0.6,0.8],[0.5,2.3],[0.4,3.7],[0.2,5],[0,6.1],[-0.2,7],[-0.5,7.5],[-0.8,7.8],[-1,7.8],[-1.3,7.5],[-1.6,7],[-1.8,6.1],[-2,5],[-2.2,3.7],[-2.3,2.3],[-2.4,0.8]]]},"pos":{"x":0.6,"y":0},"rot":0,"sx":1,"sy":1,"z":-0.01,"fill":"#8b5a2b","children":[]}]}]}]},"legs":0,"kind":"custom","height":40.2,"footprint":76.6,"look":"outlined","fx":2,"views":[{"view":"top"}]},"box":{"w":9.6,"h":2.8},"carry":true,"edges":{"left":"off","right":"off"}}},"worlds":{"crossing":{"v":1,"kind":"world","art":1,"name":"The crossing","w":48,"h":27,"sky":{"kind":"day"},"materials":{"home_1_mat":{"base":"decoration","layer":"main","collide":"none","trigger":"home_1"},"home_2_mat":{"base":"decoration","layer":"main","collide":"none","trigger":"home_2"},"home_3_mat":{"base":"decoration","layer":"main","collide":"none","trigger":"home_3"},"home_4_mat":{"base":"decoration","layer":"main","collide":"none","trigger":"home_4"},"home_5_mat":{"base":"decoration","layer":"main","collide":"none","trigger":"home_5"},"road_mat":{"base":"stone","collide":"none"},"river_mat":{"base":"water","collide":"none"}},"pieces":[{"id":"bank","shape":"rect","x":0,"y":0,"w":48,"h":6,"material":"grass","collide":"none"},{"id":"middle","shape":"rect","x":0,"y":12,"w":48,"h":3,"material":"grass","collide":"none"},{"id":"start","shape":"rect","x":0,"y":21,"w":48,"h":6,"material":"grass","collide":"none"},{"id":"road_strip","shape":"rect","x":0,"y":15,"w":48,"h":6,"material":"road_mat"},{"id":"river_strip","shape":"rect","x":0,"y":6,"w":48,"h":6,"material":"river_mat"},{"id":"home_1","shape":"rect","x":1.85,"y":0,"w":4.45,"h":3,"material":"home_1_mat"},{"id":"home_2","shape":"rect","x":11.1,"y":0,"w":4.45,"h":3,"material":"home_2_mat"},{"id":"home_3","shape":"rect","x":21.8,"y":0,"w":4.45,"h":3,"material":"home_3_mat"},{"id":"home_4","shape":"rect","x":32.5,"y":0,"w":4.45,"h":3,"material":"home_4_mat"},{"id":"home_5","shape":"rect","x":41.7,"y":0,"w":4.45,"h":3,"material":"home_5_mat"}],"marks":{"spawn":{"x":24,"y":24.9},"frog_start":{"x":24,"y":24.9}},"camera":{"x":24,"y":13.5,"h":27}}},"vars":{"lives":3,"homes":0,"time":90,"home1":0,"home2":0,"home3":0,"home4":0,"home5":0,"crossing":1,"pace":1},"levels":{"Crossing":{"world":"crossing","start":{"Frog":"frog_start"}}},"scripts":[{"hat":{"on":"start"},"body":[{"op":"show","name":"lives","as":"hearts","label":"Lives"},{"op":"show","name":"homes","as":"number","label":"Homes"},{"op":"show","name":"time","as":"clock","label":"Time"},{"op":"show","name":"crossing","as":"number","label":"Crossing"},{"op":"countdown","var":"time","from":90},{"op":"camera","follow":"none"}]},{"hat":{"on":"every","s":1.8},"body":[{"op":"make","thing":"Car","x":3.6,"y":18,"vx":"=11.08 * pace"}]},{"hat":{"on":"every","s":2.6},"body":[{"op":"make","thing":"Truck","x":42.8,"y":21,"vx":"=0 - 7.38 * pace","facing":-1}]},{"hat":{"on":"every","s":2.4},"body":[{"op":"make","thing":"Log","x":4.8,"y":9,"vx":"=5.54 * pace"}]},{"hat":{"on":"every","s":2},"body":[{"op":"make","thing":"Log","x":43.2,"y":12,"vx":"=0 - 7.38 * pace"}]},{"hat":{"on":"offstage","who":"a Car"},"body":[{"op":"remove","who":"me"}]},{"hat":{"on":"offstage","who":"a Truck"},"body":[{"op":"remove","who":"me"}]},{"hat":{"on":"offstage","who":"a Log"},"body":[{"op":"remove","who":"me"}]},{"hat":{"on":"touch","who":"Frog","what":"a Car"},"body":[{"op":"changeVar","var":"lives","by":-1},{"op":"sound","name":"hit"},{"op":"place","who":"Frog","x":24,"y":24.9}]},{"hat":{"on":"touch","who":"Frog","what":"a Truck"},"body":[{"op":"changeVar","var":"lives","by":-1},{"op":"sound","name":"hit"},{"op":"place","who":"Frog","x":24,"y":24.9}]},{"hat":{"on":"untouch","who":"Frog","what":"a Log"},"body":[{"op":"if","cond":"=materialat(xof(Frog), yof(Frog) - 0.45) == \"river_mat\" && !touching(Frog, Log)","body":[{"op":"sound","name":"pop"},{"op":"changeVar","var":"lives","by":-1},{"op":"sound","name":"hit"},{"op":"place","who":"Frog","x":24,"y":24.9}]}]},{"hat":{"on":"every","s":0.1},"body":[{"op":"if","cond":"=materialat(xof(Frog), yof(Frog) - 0.45) == \"river_mat\" && !touching(Frog, Log)","body":[{"op":"sound","name":"pop"},{"op":"changeVar","var":"lives","by":-1},{"op":"sound","name":"hit"},{"op":"place","who":"Frog","x":24,"y":24.9}]}]},{"hat":{"on":"touch","who":"Frog","what":"home_1"},"body":[{"op":"if","cond":"=home1 == 0","body":[{"op":"setVar","var":"home1","value":1},{"op":"changeVar","var":"homes","by":1},{"op":"sound","name":"coin"}]},{"op":"place","who":"Frog","x":24,"y":24.9}]},{"hat":{"on":"touch","who":"Frog","what":"home_2"},"body":[{"op":"if","cond":"=home2 == 0","body":[{"op":"setVar","var":"home2","value":1},{"op":"changeVar","var":"homes","by":1},{"op":"sound","name":"coin"}]},{"op":"place","who":"Frog","x":24,"y":24.9}]},{"hat":{"on":"touch","who":"Frog","what":"home_3"},"body":[{"op":"if","cond":"=home3 == 0","body":[{"op":"setVar","var":"home3","value":1},{"op":"changeVar","var":"homes","by":1},{"op":"sound","name":"coin"}]},{"op":"place","who":"Frog","x":24,"y":24.9}]},{"hat":{"on":"touch","who":"Frog","what":"home_4"},"body":[{"op":"if","cond":"=home4 == 0","body":[{"op":"setVar","var":"home4","value":1},{"op":"changeVar","var":"homes","by":1},{"op":"sound","name":"coin"}]},{"op":"place","who":"Frog","x":24,"y":24.9}]},{"hat":{"on":"touch","who":"Frog","what":"home_5"},"body":[{"op":"if","cond":"=home5 == 0","body":[{"op":"setVar","var":"home5","value":1},{"op":"changeVar","var":"homes","by":1},{"op":"sound","name":"coin"}]},{"op":"place","who":"Frog","x":24,"y":24.9}]},{"hat":{"on":"when","cond":"=homes >= 5"},"body":[{"op":"sound","name":"win"},{"op":"caption","text":"All five homes filled! The next crossing is faster.","for":1.8},{"op":"changeVar","var":"crossing","by":1},{"op":"if","cond":"=crossing > 99","body":[{"op":"setVar","var":"crossing","value":1}]},{"op":"if","cond":"=mod(crossing, 10) == 0 && lives < 5","body":[{"op":"changeVar","var":"lives","by":1}]},{"op":"setVar","var":"pace","value":"=1 + 0.012 * (crossing - 1)"},{"op":"setVar","var":"homes","value":0},{"op":"setVar","var":"home1","value":0},{"op":"setVar","var":"home2","value":0},{"op":"setVar","var":"home3","value":0},{"op":"setVar","var":"home4","value":0},{"op":"setVar","var":"home5","value":0},{"op":"countdown","var":"time","from":90}]},{"hat":{"on":"zero","var":"lives"},"body":[{"op":"sound","name":"lose"},{"op":"lose","text":"Out of lives!"}]},{"hat":{"on":"zero","var":"time"},"body":[{"op":"sound","name":"lose"},{"op":"lose","text":"Time is up!"}]}]},"file":"games/hop_across/game.json"},{"pack":1,"id":"c4c:game:oval_racer","type":"game","version":"1.0.0","name":"Oval Racer","description":"Race your blue car round the track and over the white finish line. Finish three laps before the red car. 99 races, each red car quicker.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"controls":{"keys":"Left and right arrows steer. Up arrow drives, down arrow slows and backs up.","pad":"◀ ▶ steer. ▲ drives. ▼ slows.","drives":"car"},"content_hash":"sha256:6d5d54ac74dfa3c9253eb4540cad4aac5dac476bd2d03a2ffc55bf282e7bedcb","content":{"v":1,"kind":"game","name":"Oval Racer","view":"top","note":"Seen from above. Your car drives by its heading; on the grass in the middle it slows down. A lap is all the way round, then over the white finish line. The red car drives from mark to mark and counts a lap each time it is back at the start.","things":{"Car":{"shape":"box","color":"#1d6fd1","model":{"tree":{"id":"root","role":"root","pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"children":[{"id":"spine","role":"torso","shape":{"type":"poly","subs":[[[-48,-12.8],[-46.6,-19.6],[-42.6,-23.6],[-35.8,-25],[35.8,-25],[42.6,-23.6],[46.6,-19.6],[48,-12.8],[48,12.8],[46.6,19.6],[42.6,23.6],[35.8,25],[-35.8,25],[-42.6,23.6],[-46.6,19.6],[-48,12.8]]]},"pos":{"x":-1.5,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#1859ae","children":[{"id":"spine_lit","role":null,"shape":{"type":"poly","subs":[[[-54.5,-20.3],[-53.1,-27.1],[-49.1,-31.1],[-42.3,-32.5],[29.3,-32.5],[36.1,-31.1],[40.1,-27.1],[41.5,-20.3],[41.5,5.3],[40.1,12.1],[36.1,16.1],[29.3,17.5],[-42.3,17.5],[-49.1,16.1],[-53.1,12.1],[-54.5,5.3]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#1e6fd9","outline":false,"clip":true,"children":[]},{"id":"front_wheel","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-11,-3.1],[-10.7,-4.4],[-9.9,-5.2],[-8.6,-5.5],[8.6,-5.5],[9.9,-5.2],[10.7,-4.4],[11,-3.1],[11,2.1],[10.7,3.4],[9.9,4.2],[8.6,4.5],[-8.6,4.5],[-9.9,4.2],[-10.7,3.4],[-11,2.1]]]},"pos":{"x":29.8,"y":-25},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#222428","children":[]},{"id":"front_wheel_l","role":null,"side":1,"shape":{"type":"poly","subs":[[[-11,-2.1],[-10.7,-3.4],[-9.9,-4.2],[-8.6,-4.5],[8.6,-4.5],[9.9,-4.2],[10.7,-3.4],[11,-2.1],[11,3.1],[10.7,4.4],[9.9,5.2],[8.6,5.5],[-8.6,5.5],[-9.9,5.2],[-10.7,4.4],[-11,3.1]]]},"pos":{"x":29.8,"y":25},"rot":0,"sx":1,"sy":1,"z":0.02,"fill":"#222428","children":[]},{"id":"back_wheel","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-11,-3.1],[-10.7,-4.4],[-9.9,-5.2],[-8.6,-5.5],[8.6,-5.5],[9.9,-5.2],[10.7,-4.4],[11,-3.1],[11,2.1],[10.7,3.4],[9.9,4.2],[8.6,4.5],[-8.6,4.5],[-9.9,4.2],[-10.7,3.4],[-11,2.1]]]},"pos":{"x":-29.8,"y":-25},"rot":0,"sx":1,"sy":1,"z":0.03,"fill":"#222428","children":[]},{"id":"back_wheel_l","role":null,"side":1,"shape":{"type":"poly","subs":[[[-11,-2.1],[-10.7,-3.4],[-9.9,-4.2],[-8.6,-4.5],[8.6,-4.5],[9.9,-4.2],[10.7,-3.4],[11,-2.1],[11,3.1],[10.7,4.4],[9.9,5.2],[8.6,5.5],[-8.6,5.5],[-9.9,5.2],[-10.7,4.4],[-11,3.1]]]},"pos":{"x":-29.8,"y":25},"rot":0,"sx":1,"sy":1,"z":0.04,"fill":"#222428","children":[]},{"id":"cockpit","role":null,"shape":{"type":"poly","subs":[[[-20.6,-1.6],[-19.8,-4.9],[-18.3,-7.9],[-16,-10.6],[-13.1,-12.9],[-9.7,-14.8],[-6,-16],[-2,-16.7],[2,-16.7],[6,-16],[9.7,-14.8],[13.1,-12.9],[16,-10.6],[18.3,-7.9],[19.8,-4.9],[20.6,-1.6],[20.6,1.6],[19.8,4.9],[18.3,7.9],[16,10.6],[13.1,12.9],[9.7,14.8],[6,16],[2,16.7],[-2,16.7],[-6,16],[-9.7,14.8],[-13.1,12.9],[-16,10.6],[-18.3,7.9],[-19.8,4.9],[-20.6,1.6]]]},"pos":{"x":-3.8,"y":0},"rot":0,"sx":1,"sy":1,"z":0.05,"fill":"#0c3b80","children":[{"id":"cockpit_lit","role":null,"shape":{"type":"poly","subs":[[[-24.9,-6.6],[-24.1,-9.9],[-22.6,-12.9],[-20.3,-15.6],[-17.4,-17.9],[-14,-19.8],[-10.3,-21],[-6.3,-21.7],[-2.3,-21.7],[1.7,-21],[5.4,-19.8],[8.8,-17.9],[11.7,-15.6],[14,-12.9],[15.5,-9.9],[16.3,-6.6],[16.3,-3.4],[15.5,-0.1],[14,2.9],[11.7,5.6],[8.8,7.9],[5.4,9.8],[1.7,11],[-2.3,11.7],[-6.3,11.7],[-10.3,11],[-14,9.8],[-17.4,7.9],[-20.3,5.6],[-22.6,2.9],[-24.1,-0.1],[-24.9,-3.4]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#0f4aa0","outline":false,"clip":true,"children":[]}],"clip":true,"inner":true},{"id":"windscreen","role":null,"shape":{"type":"poly","subs":[[[-3.5,-11.9],[-3.1,-13.6],[-2.1,-14.6],[-0.3,-15],[0.3,-15],[2.1,-14.7],[3.1,-13.6],[3.5,-11.9],[3.5,11.9],[3.2,13.6],[2.1,14.7],[0.3,15],[-0.3,15],[-2.1,14.7],[-3.2,13.6],[-3.5,11.9]]]},"pos":{"x":14.4,"y":0},"rot":0,"sx":1,"sy":1,"z":0.06,"fill":"#a8d8f5","children":[],"clip":true,"inner":true},{"id":"back_window","role":null,"shape":{"type":"poly","subs":[[[-3,-11.3],[-2.7,-12.8],[-1.8,-13.7],[-0.3,-14],[0.3,-14],[1.8,-13.7],[2.7,-12.8],[3,-11.3],[3,11.3],[2.7,12.8],[1.8,13.7],[0.3,14],[-0.3,14],[-1.8,13.7],[-2.7,12.8],[-3,11.3]]]},"pos":{"x":-21.6,"y":0},"rot":0,"sx":1,"sy":1,"z":0.07,"fill":"#a8d8f5","children":[],"clip":true,"inner":true},{"id":"spoiler","role":null,"shape":{"type":"poly","subs":[[[-2.5,-22.7],[-2.3,-24],[-1.5,-24.7],[-0.2,-25],[0.3,-25],[1.5,-24.8],[2.3,-24],[2.5,-22.7],[2.5,22.8],[2.2,24],[1.5,24.8],[0.3,25],[-0.2,25],[-1.5,24.8],[-2.2,24],[-2.5,22.8]]]},"pos":{"x":-42.2,"y":0},"rot":0,"sx":1,"sy":1,"z":0.08,"fill":"#0f4aa0","children":[]},{"id":"headlight","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-2.9,-0.4],[-2.8,-1.3],[-2.6,-2.1],[-2.3,-2.8],[-1.9,-3.4],[-1.4,-3.9],[-0.9,-4.2],[-0.3,-4.4],[0.3,-4.4],[0.9,-4.2],[1.4,-3.9],[1.9,-3.4],[2.3,-2.8],[2.6,-2.1],[2.8,-1.3],[2.9,-0.4],[2.9,0.4],[2.8,1.3],[2.6,2.1],[2.3,2.8],[1.9,3.4],[1.4,3.9],[0.9,4.2],[0.3,4.4],[-0.3,4.4],[-0.9,4.2],[-1.4,3.9],[-1.9,3.4],[-2.3,2.8],[-2.6,2.1],[-2.8,1.3],[-2.9,0.4]]]},"pos":{"x":48,"y":-19},"rot":0,"sx":1,"sy":1,"z":-0.02,"fill":"#fff4a8","children":[]},{"id":"headlight2","role":null,"side":1,"shape":{"type":"poly","subs":[[[-2.9,-0.4],[-2.8,-1.3],[-2.6,-2.1],[-2.3,-2.8],[-1.9,-3.4],[-1.4,-3.9],[-0.9,-4.2],[-0.3,-4.4],[0.3,-4.4],[0.9,-4.2],[1.4,-3.9],[1.9,-3.4],[2.3,-2.8],[2.6,-2.1],[2.8,-1.3],[2.9,-0.4],[2.9,0.4],[2.8,1.3],[2.6,2.1],[2.3,2.8],[1.9,3.4],[1.4,3.9],[0.9,4.2],[0.3,4.4],[-0.3,4.4],[-0.9,4.2],[-1.4,3.9],[-1.9,3.4],[-2.3,2.8],[-2.6,2.1],[-2.8,1.3],[-2.9,0.4]]]},"pos":{"x":48,"y":19},"rot":0,"sx":1,"sy":1,"z":-0.01,"fill":"#fff4a8","children":[]}]}]},"legs":0,"kind":"custom","height":23.3,"footprint":49.5,"look":"outlined","fx":2,"views":[{"view":"top"}]},"box":{"w":1.1,"h":0.7},"edges":"bounce","heading":180},"Rival":{"shape":"box","color":"#d62828","model":{"tree":{"id":"root","role":"root","pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"children":[{"id":"spine","role":"torso","shape":{"type":"poly","subs":[[[-48,-12.8],[-46.6,-19.6],[-42.6,-23.6],[-35.8,-25],[35.8,-25],[42.6,-23.6],[46.6,-19.6],[48,-12.8],[48,12.8],[46.6,19.6],[42.6,23.6],[35.8,25],[-35.8,25],[-42.6,23.6],[-46.6,19.6],[-48,12.8]]]},"pos":{"x":-1.5,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#a92626","children":[{"id":"spine_lit","role":null,"shape":{"type":"poly","subs":[[[-54.5,-20.3],[-53.1,-27.1],[-49.1,-31.1],[-42.3,-32.5],[29.3,-32.5],[36.1,-31.1],[40.1,-27.1],[41.5,-20.3],[41.5,5.3],[40.1,12.1],[36.1,16.1],[29.3,17.5],[-42.3,17.5],[-49.1,16.1],[-53.1,12.1],[-54.5,5.3]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#d32f2f","outline":false,"clip":true,"children":[]},{"id":"front_wheel","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-11,-3.1],[-10.7,-4.4],[-9.9,-5.2],[-8.6,-5.5],[8.6,-5.5],[9.9,-5.2],[10.7,-4.4],[11,-3.1],[11,2.1],[10.7,3.4],[9.9,4.2],[8.6,4.5],[-8.6,4.5],[-9.9,4.2],[-10.7,3.4],[-11,2.1]]]},"pos":{"x":29.8,"y":-25},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#222428","children":[]},{"id":"front_wheel_l","role":null,"side":1,"shape":{"type":"poly","subs":[[[-11,-2.1],[-10.7,-3.4],[-9.9,-4.2],[-8.6,-4.5],[8.6,-4.5],[9.9,-4.2],[10.7,-3.4],[11,-2.1],[11,3.1],[10.7,4.4],[9.9,5.2],[8.6,5.5],[-8.6,5.5],[-9.9,5.2],[-10.7,4.4],[-11,3.1]]]},"pos":{"x":29.8,"y":25},"rot":0,"sx":1,"sy":1,"z":0.02,"fill":"#222428","children":[]},{"id":"back_wheel","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-11,-3.1],[-10.7,-4.4],[-9.9,-5.2],[-8.6,-5.5],[8.6,-5.5],[9.9,-5.2],[10.7,-4.4],[11,-3.1],[11,2.1],[10.7,3.4],[9.9,4.2],[8.6,4.5],[-8.6,4.5],[-9.9,4.2],[-10.7,3.4],[-11,2.1]]]},"pos":{"x":-29.8,"y":-25},"rot":0,"sx":1,"sy":1,"z":0.03,"fill":"#222428","children":[]},{"id":"back_wheel_l","role":null,"side":1,"shape":{"type":"poly","subs":[[[-11,-2.1],[-10.7,-3.4],[-9.9,-4.2],[-8.6,-4.5],[8.6,-4.5],[9.9,-4.2],[10.7,-3.4],[11,-2.1],[11,3.1],[10.7,4.4],[9.9,5.2],[8.6,5.5],[-8.6,5.5],[-9.9,5.2],[-10.7,4.4],[-11,3.1]]]},"pos":{"x":-29.8,"y":25},"rot":0,"sx":1,"sy":1,"z":0.04,"fill":"#222428","children":[]},{"id":"cockpit","role":null,"shape":{"type":"poly","subs":[[[-20.6,-1.6],[-19.8,-4.9],[-18.3,-7.9],[-16,-10.6],[-13.1,-12.9],[-9.7,-14.8],[-6,-16],[-2,-16.7],[2,-16.7],[6,-16],[9.7,-14.8],[13.1,-12.9],[16,-10.6],[18.3,-7.9],[19.8,-4.9],[20.6,-1.6],[20.6,1.6],[19.8,4.9],[18.3,7.9],[16,10.6],[13.1,12.9],[9.7,14.8],[6,16],[2,16.7],[-2,16.7],[-6,16],[-9.7,14.8],[-13.1,12.9],[-16,10.6],[-18.3,7.9],[-19.8,4.9],[-20.6,1.6]]]},"pos":{"x":-3.8,"y":0},"rot":0,"sx":1,"sy":1,"z":0.05,"fill":"#7b1616","children":[{"id":"cockpit_lit","role":null,"shape":{"type":"poly","subs":[[[-24.9,-6.6],[-24.1,-9.9],[-22.6,-12.9],[-20.3,-15.6],[-17.4,-17.9],[-14,-19.8],[-10.3,-21],[-6.3,-21.7],[-2.3,-21.7],[1.7,-21],[5.4,-19.8],[8.8,-17.9],[11.7,-15.6],[14,-12.9],[15.5,-9.9],[16.3,-6.6],[16.3,-3.4],[15.5,-0.1],[14,2.9],[11.7,5.6],[8.8,7.9],[5.4,9.8],[1.7,11],[-2.3,11.7],[-6.3,11.7],[-10.3,11],[-14,9.8],[-17.4,7.9],[-20.3,5.6],[-22.6,2.9],[-24.1,-0.1],[-24.9,-3.4]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#9a1b1b","outline":false,"clip":true,"children":[]}],"clip":true,"inner":true},{"id":"windscreen","role":null,"shape":{"type":"poly","subs":[[[-3.5,-11.9],[-3.1,-13.6],[-2.1,-14.6],[-0.3,-15],[0.3,-15],[2.1,-14.7],[3.1,-13.6],[3.5,-11.9],[3.5,11.9],[3.2,13.6],[2.1,14.7],[0.3,15],[-0.3,15],[-2.1,14.7],[-3.2,13.6],[-3.5,11.9]]]},"pos":{"x":14.4,"y":0},"rot":0,"sx":1,"sy":1,"z":0.06,"fill":"#a8d8f5","children":[],"clip":true,"inner":true},{"id":"back_window","role":null,"shape":{"type":"poly","subs":[[[-3,-11.3],[-2.7,-12.8],[-1.8,-13.7],[-0.3,-14],[0.3,-14],[1.8,-13.7],[2.7,-12.8],[3,-11.3],[3,11.3],[2.7,12.8],[1.8,13.7],[0.3,14],[-0.3,14],[-1.8,13.7],[-2.7,12.8],[-3,11.3]]]},"pos":{"x":-21.6,"y":0},"rot":0,"sx":1,"sy":1,"z":0.07,"fill":"#a8d8f5","children":[],"clip":true,"inner":true},{"id":"spoiler","role":null,"shape":{"type":"poly","subs":[[[-2.5,-22.7],[-2.3,-24],[-1.5,-24.7],[-0.2,-25],[0.3,-25],[1.5,-24.8],[2.3,-24],[2.5,-22.7],[2.5,22.8],[2.2,24],[1.5,24.8],[0.3,25],[-0.2,25],[-1.5,24.8],[-2.2,24],[-2.5,22.8]]]},"pos":{"x":-42.2,"y":0},"rot":0,"sx":1,"sy":1,"z":0.08,"fill":"#9a1b1b","children":[]},{"id":"headlight","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-2.9,-0.4],[-2.8,-1.3],[-2.6,-2.1],[-2.3,-2.8],[-1.9,-3.4],[-1.4,-3.9],[-0.9,-4.2],[-0.3,-4.4],[0.3,-4.4],[0.9,-4.2],[1.4,-3.9],[1.9,-3.4],[2.3,-2.8],[2.6,-2.1],[2.8,-1.3],[2.9,-0.4],[2.9,0.4],[2.8,1.3],[2.6,2.1],[2.3,2.8],[1.9,3.4],[1.4,3.9],[0.9,4.2],[0.3,4.4],[-0.3,4.4],[-0.9,4.2],[-1.4,3.9],[-1.9,3.4],[-2.3,2.8],[-2.6,2.1],[-2.8,1.3],[-2.9,0.4]]]},"pos":{"x":48,"y":-19},"rot":0,"sx":1,"sy":1,"z":-0.02,"fill":"#fff4a8","children":[]},{"id":"headlight2","role":null,"side":1,"shape":{"type":"poly","subs":[[[-2.9,-0.4],[-2.8,-1.3],[-2.6,-2.1],[-2.3,-2.8],[-1.9,-3.4],[-1.4,-3.9],[-0.9,-4.2],[-0.3,-4.4],[0.3,-4.4],[0.9,-4.2],[1.4,-3.9],[1.9,-3.4],[2.3,-2.8],[2.6,-2.1],[2.8,-1.3],[2.9,-0.4],[2.9,0.4],[2.8,1.3],[2.6,2.1],[2.3,2.8],[1.9,3.4],[1.4,3.9],[0.9,4.2],[0.3,4.4],[-0.3,4.4],[-0.9,4.2],[-1.4,3.9],[-1.9,3.4],[-2.3,2.8],[-2.6,2.1],[-2.8,1.3],[-2.9,0.4]]]},"pos":{"x":48,"y":19},"rot":0,"sx":1,"sy":1,"z":-0.01,"fill":"#fff4a8","children":[]}]}]},"legs":0,"kind":"custom","height":23.3,"footprint":49.5,"look":"outlined","fx":2,"views":[{"view":"top"}]},"box":{"w":1.1,"h":0.7},"edges":"bounce","heading":180,"states":{"start":"to_wp1","list":{"to_wp1":{"enter":[{"op":"toward","who":"me","target":"wp1","speed":"=rsp"}],"go":[{"to":"to_wp2","when":"=distance(me, wp1) < 0.45"}]},"to_wp2":{"enter":[{"op":"toward","who":"me","target":"wp2","speed":"=rsp"}],"go":[{"to":"to_wp3","when":"=distance(me, wp2) < 0.45"}]},"to_wp3":{"enter":[{"op":"toward","who":"me","target":"wp3","speed":"=rsp"}],"go":[{"to":"to_wp4","when":"=distance(me, wp3) < 0.45"}]},"to_wp4":{"enter":[{"op":"toward","who":"me","target":"wp4","speed":"=rsp"}],"go":[{"to":"lap","when":"=distance(me, wp4) < 0.45"}]},"lap":{"enter":[{"op":"changeVar","var":"rival","by":1}],"go":[{"to":"to_wp1","when":{"after":0}}]}}}}},"worlds":{"oval":{"v":1,"kind":"world","art":1,"name":"Oval track","w":20,"h":14,"sky":{"kind":"day"},"materials":{"track_mat":{"base":"stone","collide":"none","fill":"#4a4f57"},"infield_mat":{"base":"grass","collide":"none","layer":"front","fill":"#5fa645"},"kerb_mat":{"base":"decoration","collide":"none","layer":"main","fill":"#f2f2f2"},"line_mat":{"base":"decoration","collide":"none","layer":"main","fill":"#f5f1d8"},"cp1_mat":{"base":"decoration","layer":"back","collide":"none","trigger":"cp1"},"cp2_mat":{"base":"decoration","layer":"back","collide":"none","trigger":"cp2"},"cp3_mat":{"base":"decoration","layer":"back","collide":"none","trigger":"cp3"},"cp4_mat":{"base":"decoration","layer":"main","collide":"none","trigger":"cp4","fill":"#ffffff"}},"pieces":[{"id":"track","shape":"rect","x":0,"y":0,"w":20,"h":14,"r":5,"material":"track_mat"},{"id":"kerb","shape":"rect","x":5.7,"y":3.7,"w":8.6,"h":6.6,"r":2.6,"material":"kerb_mat"},{"id":"infield","shape":"rect","x":6,"y":4,"w":8,"h":6,"r":2.3,"material":"infield_mat"},{"id":"line1","shape":"rect","x":4,"y":1.95,"w":2.2,"h":0.1,"material":"line_mat"},{"id":"line2","shape":"rect","x":8,"y":1.95,"w":2.2,"h":0.1,"material":"line_mat"},{"id":"line3","shape":"rect","x":12,"y":1.95,"w":2.2,"h":0.1,"material":"line_mat"},{"id":"line4","shape":"rect","x":4,"y":11.95,"w":2.2,"h":0.1,"material":"line_mat"},{"id":"line5","shape":"rect","x":12,"y":11.95,"w":2.2,"h":0.1,"material":"line_mat"},{"id":"line6","shape":"rect","x":2.95,"y":5.6,"w":0.1,"h":2.8,"material":"line_mat"},{"id":"line7","shape":"rect","x":16.95,"y":5.6,"w":0.1,"h":2.8,"material":"line_mat"},{"id":"cp1","shape":"rect","x":0,"y":6.5,"w":5.7,"h":1,"material":"cp1_mat"},{"id":"cp2","shape":"rect","x":9.5,"y":0,"w":1,"h":3.7,"material":"cp2_mat"},{"id":"cp3","shape":"rect","x":14.3,"y":6.5,"w":5.7,"h":1,"material":"cp3_mat"},{"id":"cp4","shape":"rect","x":9.5,"y":10.3,"w":1,"h":3.7,"material":"cp4_mat"}],"marks":{"spawn":{"x":9,"y":13.35},"wp1":{"x":2,"y":7.5},"wp2":{"x":10,"y":1.5},"wp3":{"x":18,"y":7.5},"wp4":{"x":10,"y":13}},"camera":{"x":10,"y":7,"h":14}}},"vars":{"next":1,"laps":0,"rival":0,"race":1,"rsp":4.2},"levels":{"Race":{"world":"oval","layout":[{"thing":"Car","id":"car","x":9,"y":12.35},{"thing":"Rival","id":"rival_car","x":11,"y":13.6}]}},"scripts":[{"hat":{"on":"start"},"body":[{"op":"show","name":"laps","as":"number","label":"Your laps"},{"op":"show","name":"rival","as":"number","label":"Red car"},{"op":"show","name":"race","as":"number","label":"Race"},{"op":"camera","follow":"none"}]},{"hat":{"on":"scene","name":"Race"},"body":[{"op":"steer","who":"car","keys":"arrows","axes":"heading","speed":7,"turn":220}]},{"hat":{"on":"every","s":0.1},"body":[{"op":"if","cond":"=materialat(xof(car), yof(car) - 0.35) == \"infield_mat\"","body":[{"op":"speed","who":"car","vx":"=vxof(car) * 0.7","vy":"=vyof(car) * 0.7"}]},{"op":"if","cond":"=vxof(rival_car) < -0.5","body":[{"op":"turn","who":"rival_car","to":180}]},{"op":"if","cond":"=vxof(rival_car) > 0.5","body":[{"op":"turn","who":"rival_car","to":0}]}]},{"hat":{"on":"touch","who":"car","what":"cp1"},"body":[{"op":"if","cond":"=next == 1","body":[{"op":"setVar","var":"next","value":2},{"op":"sound","name":"beep"}]}]},{"hat":{"on":"touch","who":"car","what":"cp2"},"body":[{"op":"if","cond":"=next == 2","body":[{"op":"setVar","var":"next","value":3},{"op":"sound","name":"beep"}]}]},{"hat":{"on":"touch","who":"car","what":"cp3"},"body":[{"op":"if","cond":"=next == 3","body":[{"op":"setVar","var":"next","value":4},{"op":"sound","name":"beep"}]}]},{"hat":{"on":"touch","who":"car","what":"cp4"},"body":[{"op":"if","cond":"=next == 4","body":[{"op":"setVar","var":"next","value":1},{"op":"changeVar","var":"laps","by":1},{"op":"sound","name":"coin"}]}]},{"hat":{"on":"when","cond":"=laps >= 3"},"body":[{"op":"sound","name":"win"},{"op":"caption","text":"You won the race! The red car gets quicker.","for":1.8},{"op":"changeVar","var":"race","by":1},{"op":"if","cond":"=race > 99","body":[{"op":"setVar","var":"race","value":1}]},{"op":"setVar","var":"rsp","value":"=4.2 + 0.016 * (race - 1)"},{"op":"setVar","var":"laps","value":0},{"op":"wait","s":1},{"op":"setVar","var":"rival","value":0},{"op":"setVar","var":"next","value":1},{"op":"restartLevel"}]},{"hat":{"on":"when","cond":"=rival >= 3"},"body":[{"op":"sound","name":"lose"},{"op":"lose","text":"The red car won the race."}]}]},"file":"games/oval_racer/game.json"},{"pack":1,"id":"c4c:game:pellet_maze","type":"game","version":"1.0.0","name":"Pellet Maze","description":"Eat every pellet and keep away from the ghosts, unless a big pellet has turned them blue. 99 mazes, the ghosts quicker each time, then round again.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"controls":{"keys":"The arrow keys steer. A turn you ask for is taken at the next corner.","pad":"◀ ▶ ▲ ▼ steer.","drives":"Muncher"},"content_hash":"sha256:f8f724160991bdcfdff9949a55aa334c44cb22cdbbb69fddf4781e7f9cbb8aec","content":{"v":1,"kind":"game","name":"Pellet Maze","view":"top","note":"Seen from above. The muncher steers on the grid: a turn is taken at the next cell centre that is open that way. Each ghost goes round its own corridors. A big pellet turns them blue and slow for six seconds (less in later mazes, two at least): then they can be eaten. A ghost that catches the muncher sends it back to the start, blinking, safe for two seconds. Clear one and the next comes, its ghosts a little quicker: 99 mazes, a life every tenth, then the first again.","cast":{"Muncher":{"pack":"studio:char:skye","model":{"tree":{"id":"root","role":"root","pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"children":[{"id":"m1","role":null,"shape":{"type":"poly","subs":[[[63.6,-33.8],[58.2,-42.3],[51.8,-50],[44.3,-56.7],[36,-62.4],[27,-66.8],[17.4,-69.9],[7.5,-71.6],[-2.5,-72],[-12.5,-70.9],[-22.2,-68.5],[-31.6,-64.7],[-40.3,-59.7],[-48.2,-53.5],[-55.2,-46.3],[-61.1,-38.2],[-65.8,-29.3],[-69.2,-19.8],[-71.3,-10],[-72,0],[-71.3,10],[-69.2,19.8],[-65.8,29.3],[-61.1,38.2],[-55.2,46.3],[-48.2,53.5],[-40.3,59.7],[-31.6,64.7],[-22.2,68.5],[-12.5,70.9],[-2.5,72],[7.5,71.6],[17.4,69.9],[27,66.8],[36,62.4],[44.3,56.7],[51.8,50],[58.2,42.3],[63.6,33.8],[10,0]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#ffd23f","children":[{"id":"m2","role":null,"shape":{"type":"circle","w":15},"pos":{"x":10,"y":-40},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#1b1b1b","children":[]}]}]},"kind":"custom","legs":0,"height":144,"footprint":72,"look":"outlined","views":[{"view":"top"}]},"edges":"wrap","size":0.5,"box":{"w":180,"h":180}}},"things":{"Blinky":{"shape":"ball","color":"#ff4d6d","model":{"tree":{"id":"root","role":"root","pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"children":[{"id":"spine","role":"torso","shape":{"type":"poly","subs":[[[-35,31.3],[-34.5,34.4],[-33.2,34.9],[-30.8,32.7],[-27.3,28.1],[-24.5,25.8],[-21.8,25.8],[-19.1,28.2],[-15.9,32.6],[-13.2,35],[-10.5,35],[-7.7,32.7],[-4.2,28.1],[-1.4,25.7],[1.4,25.7],[4.2,28.1],[7.7,32.7],[10.5,35],[13.2,35],[15.9,32.6],[19.1,28.2],[21.8,25.8],[24.5,25.8],[27.3,28.1],[30.8,32.7],[33.2,34.9],[34.5,34.4],[35,31.3],[35,-2.2],[34.9,-5.8],[34.5,-9.3],[33.8,-12.8],[33.5,-14],[32.5,-17.4],[31,-20.5],[29.1,-23.5],[28.2,-24.7],[25.8,-27.4],[23,-29.9],[19.9,-31.9],[18.5,-32.7],[15,-34.5],[11.3,-35.8],[7.5,-36.7],[6,-37],[2,-37.4],[-2,-37.4],[-6,-37],[-7.5,-36.7],[-11.3,-35.8],[-15,-34.5],[-18.5,-32.7],[-19.9,-31.9],[-23,-29.9],[-25.8,-27.4],[-28.2,-24.7],[-29.1,-23.5],[-31,-20.5],[-32.5,-17.4],[-33.5,-14],[-33.8,-12.8],[-34.5,-9.3],[-34.9,-5.8],[-35,-2.2]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#cc3e4b","children":[{"id":"spine_lit","role":null,"shape":{"type":"poly","subs":[[[-44.1,20.8],[-43.6,23.9],[-42.3,24.4],[-39.9,22.2],[-36.4,17.6],[-33.6,15.3],[-30.9,15.3],[-28.2,17.7],[-25,22.1],[-22.3,24.5],[-19.6,24.5],[-16.8,22.2],[-13.3,17.6],[-10.5,15.2],[-7.7,15.2],[-4.9,17.6],[-1.4,22.2],[1.4,24.5],[4.1,24.5],[6.8,22.1],[10,17.7],[12.7,15.3],[15.4,15.3],[18.2,17.6],[21.7,22.2],[24.1,24.4],[25.4,23.9],[25.9,20.8],[25.9,-12.7],[25.8,-16.3],[25.4,-19.8],[24.7,-23.3],[24.4,-24.5],[23.4,-27.9],[21.9,-31],[20,-34],[19.1,-35.2],[16.7,-37.9],[13.9,-40.4],[10.8,-42.4],[9.4,-43.2],[5.9,-45],[2.2,-46.3],[-1.6,-47.2],[-3.1,-47.5],[-7.1,-47.9],[-11.1,-47.9],[-15.1,-47.5],[-16.6,-47.2],[-20.4,-46.3],[-24.1,-45],[-27.6,-43.2],[-29,-42.4],[-32.1,-40.4],[-34.9,-37.9],[-37.3,-35.2],[-38.2,-34],[-40.1,-31],[-41.6,-27.9],[-42.6,-24.5],[-42.9,-23.3],[-43.6,-19.8],[-44,-16.3],[-44.1,-12.7]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#ff4d5e","outline":false,"clip":true,"children":[]},{"id":"eye","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-8.8,-1.1],[-8.5,-3.2],[-7.8,-5.1],[-6.9,-6.9],[-5.6,-8.4],[-4.2,-9.6],[-2.6,-10.4],[-0.9,-10.8],[0.9,-10.8],[2.6,-10.4],[4.2,-9.6],[5.6,-8.4],[6.9,-6.9],[7.8,-5.1],[8.5,-3.2],[8.8,-1.1],[8.8,1.1],[8.5,3.2],[7.8,5.1],[6.9,6.9],[5.6,8.4],[4.2,9.6],[2.6,10.4],[0.9,10.8],[-0.9,10.8],[-2.6,10.4],[-4.2,9.6],[-5.6,8.4],[-6.9,6.9],[-7.8,5.1],[-8.5,3.2],[-8.8,1.1]]]},"pos":{"x":-13,"y":-12},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#cccccc","children":[{"id":"eye_lit","role":null,"shape":{"type":"poly","subs":[[[-11.1,-3.7],[-10.8,-5.8],[-10.1,-7.7],[-9.2,-9.5],[-7.9,-11],[-6.5,-12.2],[-4.9,-13],[-3.2,-13.4],[-1.4,-13.4],[0.3,-13],[1.9,-12.2],[3.3,-11],[4.6,-9.5],[5.5,-7.7],[6.2,-5.8],[6.5,-3.7],[6.5,-1.5],[6.2,0.6],[5.5,2.5],[4.6,4.3],[3.3,5.8],[1.9,7],[0.3,7.8],[-1.4,8.2],[-3.2,8.2],[-4.9,7.8],[-6.5,7],[-7.9,5.8],[-9.2,4.3],[-10.1,2.5],[-10.8,0.6],[-11.1,-1.5]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#ffffff","outline":false,"clip":true,"children":[]},{"id":"pupil","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-3.9,-0.4],[-3.8,-1.3],[-3.5,-2.1],[-3,-2.8],[-2.5,-3.4],[-1.9,-3.9],[-1.1,-4.2],[-0.4,-4.4],[0.4,-4.4],[1.1,-4.2],[1.9,-3.9],[2.5,-3.4],[3,-2.8],[3.5,-2.1],[3.8,-1.3],[3.9,-0.4],[3.9,0.4],[3.8,1.3],[3.5,2.1],[3,2.8],[2.5,3.4],[1.9,3.9],[1.1,4.2],[0.4,4.4],[-0.4,4.4],[-1.1,4.2],[-1.9,3.9],[-2.5,3.4],[-3,2.8],[-3.5,2.1],[-3.8,1.3],[-3.9,0.4]]]},"pos":{"x":2,"y":0},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#1f3fbf","children":[],"clip":true,"inner":true}],"clip":true,"inner":true},{"id":"eye2","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-8.8,-1.1],[-8.5,-3.2],[-7.8,-5.1],[-6.9,-6.9],[-5.6,-8.4],[-4.2,-9.6],[-2.6,-10.4],[-0.9,-10.8],[0.9,-10.8],[2.6,-10.4],[4.2,-9.6],[5.6,-8.4],[6.9,-6.9],[7.8,-5.1],[8.5,-3.2],[8.8,-1.1],[8.8,1.1],[8.5,3.2],[7.8,5.1],[6.9,6.9],[5.6,8.4],[4.2,9.6],[2.6,10.4],[0.9,10.8],[-0.9,10.8],[-2.6,10.4],[-4.2,9.6],[-5.6,8.4],[-6.9,6.9],[-7.8,5.1],[-8.5,3.2],[-8.8,1.1]]]},"pos":{"x":13,"y":-12},"rot":0,"sx":1,"sy":1,"z":0.02,"fill":"#cccccc","children":[{"id":"eye2_lit","role":null,"shape":{"type":"poly","subs":[[[-11.1,-3.7],[-10.8,-5.8],[-10.1,-7.7],[-9.2,-9.5],[-7.9,-11],[-6.5,-12.2],[-4.9,-13],[-3.2,-13.4],[-1.4,-13.4],[0.3,-13],[1.9,-12.2],[3.3,-11],[4.6,-9.5],[5.5,-7.7],[6.2,-5.8],[6.5,-3.7],[6.5,-1.5],[6.2,0.6],[5.5,2.5],[4.6,4.3],[3.3,5.8],[1.9,7],[0.3,7.8],[-1.4,8.2],[-3.2,8.2],[-4.9,7.8],[-6.5,7],[-7.9,5.8],[-9.2,4.3],[-10.1,2.5],[-10.8,0.6],[-11.1,-1.5]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#ffffff","outline":false,"clip":true,"children":[]},{"id":"pupil2","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-3.9,-0.4],[-3.8,-1.3],[-3.5,-2.1],[-3,-2.8],[-2.5,-3.4],[-1.9,-3.9],[-1.1,-4.2],[-0.4,-4.4],[0.4,-4.4],[1.1,-4.2],[1.9,-3.9],[2.5,-3.4],[3,-2.8],[3.5,-2.1],[3.8,-1.3],[3.9,-0.4],[3.9,0.4],[3.8,1.3],[3.5,2.1],[3,2.8],[2.5,3.4],[1.9,3.9],[1.1,4.2],[0.4,4.4],[-0.4,4.4],[-1.1,4.2],[-1.9,3.9],[-2.5,3.4],[-3,2.8],[-3.5,2.1],[-3.8,1.3],[-3.9,0.4]]]},"pos":{"x":2,"y":0},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#1f3fbf","children":[],"clip":true,"inner":true}],"clip":true,"inner":true}]}]},"legs":0,"kind":"custom","height":19,"footprint":35,"look":"outlined","fx":2,"views":[{"view":"top"}]},"box":{"w":0.8,"h":0.8},"edges":"stop","states":{"start":"to_2","list":{"to_1":{"enter":[{"op":"toward","who":"me","target":"blinky1","speed":"=gs"}],"go":[{"to":"to_2","when":"=distance(me, blinky1) < 0.42"}]},"to_2":{"enter":[{"op":"toward","who":"me","target":"blinky2","speed":"=gs"}],"go":[{"to":"to_3","when":"=distance(me, blinky2) < 0.42"}]},"to_3":{"enter":[{"op":"toward","who":"me","target":"blinky3","speed":"=gs"}],"go":[{"to":"to_4","when":"=distance(me, blinky3) < 0.42"}]},"to_4":{"enter":[{"op":"toward","who":"me","target":"blinky4","speed":"=gs"}],"go":[{"to":"to_1","when":"=distance(me, blinky4) < 0.42"}]}}}},"Inky":{"shape":"ball","color":"#4cc9f0","model":{"tree":{"id":"root","role":"root","pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"children":[{"id":"spine","role":"torso","shape":{"type":"poly","subs":[[[-35,31.3],[-34.5,34.4],[-33.2,34.9],[-30.8,32.7],[-27.3,28.1],[-24.5,25.8],[-21.8,25.8],[-19.1,28.2],[-15.9,32.6],[-13.2,35],[-10.5,35],[-7.7,32.7],[-4.2,28.1],[-1.4,25.7],[1.4,25.7],[4.2,28.1],[7.7,32.7],[10.5,35],[13.2,35],[15.9,32.6],[19.1,28.2],[21.8,25.8],[24.5,25.8],[27.3,28.1],[30.8,32.7],[33.2,34.9],[34.5,34.4],[35,31.3],[35,-2.2],[34.9,-5.8],[34.5,-9.3],[33.8,-12.8],[33.5,-14],[32.5,-17.4],[31,-20.5],[29.1,-23.5],[28.2,-24.7],[25.8,-27.4],[23,-29.9],[19.9,-31.9],[18.5,-32.7],[15,-34.5],[11.3,-35.8],[7.5,-36.7],[6,-37],[2,-37.4],[-2,-37.4],[-6,-37],[-7.5,-36.7],[-11.3,-35.8],[-15,-34.5],[-18.5,-32.7],[-19.9,-31.9],[-23,-29.9],[-25.8,-27.4],[-28.2,-24.7],[-29.1,-23.5],[-31,-20.5],[-32.5,-17.4],[-33.5,-14],[-33.8,-12.8],[-34.5,-9.3],[-34.9,-5.8],[-35,-2.2]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#3da1c0","children":[{"id":"spine_lit","role":null,"shape":{"type":"poly","subs":[[[-44.1,20.8],[-43.6,23.9],[-42.3,24.4],[-39.9,22.2],[-36.4,17.6],[-33.6,15.3],[-30.9,15.3],[-28.2,17.7],[-25,22.1],[-22.3,24.5],[-19.6,24.5],[-16.8,22.2],[-13.3,17.6],[-10.5,15.2],[-7.7,15.2],[-4.9,17.6],[-1.4,22.2],[1.4,24.5],[4.1,24.5],[6.8,22.1],[10,17.7],[12.7,15.3],[15.4,15.3],[18.2,17.6],[21.7,22.2],[24.1,24.4],[25.4,23.9],[25.9,20.8],[25.9,-12.7],[25.8,-16.3],[25.4,-19.8],[24.7,-23.3],[24.4,-24.5],[23.4,-27.9],[21.9,-31],[20,-34],[19.1,-35.2],[16.7,-37.9],[13.9,-40.4],[10.8,-42.4],[9.4,-43.2],[5.9,-45],[2.2,-46.3],[-1.6,-47.2],[-3.1,-47.5],[-7.1,-47.9],[-11.1,-47.9],[-15.1,-47.5],[-16.6,-47.2],[-20.4,-46.3],[-24.1,-45],[-27.6,-43.2],[-29,-42.4],[-32.1,-40.4],[-34.9,-37.9],[-37.3,-35.2],[-38.2,-34],[-40.1,-31],[-41.6,-27.9],[-42.6,-24.5],[-42.9,-23.3],[-43.6,-19.8],[-44,-16.3],[-44.1,-12.7]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#4cc9f0","outline":false,"clip":true,"children":[]},{"id":"eye","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-8.8,-1.1],[-8.5,-3.2],[-7.8,-5.1],[-6.9,-6.9],[-5.6,-8.4],[-4.2,-9.6],[-2.6,-10.4],[-0.9,-10.8],[0.9,-10.8],[2.6,-10.4],[4.2,-9.6],[5.6,-8.4],[6.9,-6.9],[7.8,-5.1],[8.5,-3.2],[8.8,-1.1],[8.8,1.1],[8.5,3.2],[7.8,5.1],[6.9,6.9],[5.6,8.4],[4.2,9.6],[2.6,10.4],[0.9,10.8],[-0.9,10.8],[-2.6,10.4],[-4.2,9.6],[-5.6,8.4],[-6.9,6.9],[-7.8,5.1],[-8.5,3.2],[-8.8,1.1]]]},"pos":{"x":-13,"y":-12},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#cccccc","children":[{"id":"eye_lit","role":null,"shape":{"type":"poly","subs":[[[-11.1,-3.7],[-10.8,-5.8],[-10.1,-7.7],[-9.2,-9.5],[-7.9,-11],[-6.5,-12.2],[-4.9,-13],[-3.2,-13.4],[-1.4,-13.4],[0.3,-13],[1.9,-12.2],[3.3,-11],[4.6,-9.5],[5.5,-7.7],[6.2,-5.8],[6.5,-3.7],[6.5,-1.5],[6.2,0.6],[5.5,2.5],[4.6,4.3],[3.3,5.8],[1.9,7],[0.3,7.8],[-1.4,8.2],[-3.2,8.2],[-4.9,7.8],[-6.5,7],[-7.9,5.8],[-9.2,4.3],[-10.1,2.5],[-10.8,0.6],[-11.1,-1.5]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#ffffff","outline":false,"clip":true,"children":[]},{"id":"pupil","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-3.9,-0.4],[-3.8,-1.3],[-3.5,-2.1],[-3,-2.8],[-2.5,-3.4],[-1.9,-3.9],[-1.1,-4.2],[-0.4,-4.4],[0.4,-4.4],[1.1,-4.2],[1.9,-3.9],[2.5,-3.4],[3,-2.8],[3.5,-2.1],[3.8,-1.3],[3.9,-0.4],[3.9,0.4],[3.8,1.3],[3.5,2.1],[3,2.8],[2.5,3.4],[1.9,3.9],[1.1,4.2],[0.4,4.4],[-0.4,4.4],[-1.1,4.2],[-1.9,3.9],[-2.5,3.4],[-3,2.8],[-3.5,2.1],[-3.8,1.3],[-3.9,0.4]]]},"pos":{"x":2,"y":0},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#1f3fbf","children":[],"clip":true,"inner":true}],"clip":true,"inner":true},{"id":"eye2","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-8.8,-1.1],[-8.5,-3.2],[-7.8,-5.1],[-6.9,-6.9],[-5.6,-8.4],[-4.2,-9.6],[-2.6,-10.4],[-0.9,-10.8],[0.9,-10.8],[2.6,-10.4],[4.2,-9.6],[5.6,-8.4],[6.9,-6.9],[7.8,-5.1],[8.5,-3.2],[8.8,-1.1],[8.8,1.1],[8.5,3.2],[7.8,5.1],[6.9,6.9],[5.6,8.4],[4.2,9.6],[2.6,10.4],[0.9,10.8],[-0.9,10.8],[-2.6,10.4],[-4.2,9.6],[-5.6,8.4],[-6.9,6.9],[-7.8,5.1],[-8.5,3.2],[-8.8,1.1]]]},"pos":{"x":13,"y":-12},"rot":0,"sx":1,"sy":1,"z":0.02,"fill":"#cccccc","children":[{"id":"eye2_lit","role":null,"shape":{"type":"poly","subs":[[[-11.1,-3.7],[-10.8,-5.8],[-10.1,-7.7],[-9.2,-9.5],[-7.9,-11],[-6.5,-12.2],[-4.9,-13],[-3.2,-13.4],[-1.4,-13.4],[0.3,-13],[1.9,-12.2],[3.3,-11],[4.6,-9.5],[5.5,-7.7],[6.2,-5.8],[6.5,-3.7],[6.5,-1.5],[6.2,0.6],[5.5,2.5],[4.6,4.3],[3.3,5.8],[1.9,7],[0.3,7.8],[-1.4,8.2],[-3.2,8.2],[-4.9,7.8],[-6.5,7],[-7.9,5.8],[-9.2,4.3],[-10.1,2.5],[-10.8,0.6],[-11.1,-1.5]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#ffffff","outline":false,"clip":true,"children":[]},{"id":"pupil2","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-3.9,-0.4],[-3.8,-1.3],[-3.5,-2.1],[-3,-2.8],[-2.5,-3.4],[-1.9,-3.9],[-1.1,-4.2],[-0.4,-4.4],[0.4,-4.4],[1.1,-4.2],[1.9,-3.9],[2.5,-3.4],[3,-2.8],[3.5,-2.1],[3.8,-1.3],[3.9,-0.4],[3.9,0.4],[3.8,1.3],[3.5,2.1],[3,2.8],[2.5,3.4],[1.9,3.9],[1.1,4.2],[0.4,4.4],[-0.4,4.4],[-1.1,4.2],[-1.9,3.9],[-2.5,3.4],[-3,2.8],[-3.5,2.1],[-3.8,1.3],[-3.9,0.4]]]},"pos":{"x":2,"y":0},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#1f3fbf","children":[],"clip":true,"inner":true}],"clip":true,"inner":true}]}]},"legs":0,"kind":"custom","height":19,"footprint":35,"look":"outlined","fx":2,"views":[{"view":"top"}]},"box":{"w":0.8,"h":0.8},"edges":"stop","states":{"start":"to_2","list":{"to_1":{"enter":[{"op":"toward","who":"me","target":"inky1","speed":"=gs"}],"go":[{"to":"to_2","when":"=distance(me, inky1) < 0.42"}]},"to_2":{"enter":[{"op":"toward","who":"me","target":"inky2","speed":"=gs"}],"go":[{"to":"to_3","when":"=distance(me, inky2) < 0.42"}]},"to_3":{"enter":[{"op":"toward","who":"me","target":"inky3","speed":"=gs"}],"go":[{"to":"to_4","when":"=distance(me, inky3) < 0.42"}]},"to_4":{"enter":[{"op":"toward","who":"me","target":"inky4","speed":"=gs"}],"go":[{"to":"to_1","when":"=distance(me, inky4) < 0.42"}]}}}},"Pinky":{"shape":"ball","color":"#ffafcc","model":{"tree":{"id":"root","role":"root","pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"children":[{"id":"spine","role":"torso","shape":{"type":"poly","subs":[[[-35,31.3],[-34.5,34.4],[-33.2,34.9],[-30.8,32.7],[-27.3,28.1],[-24.5,25.8],[-21.8,25.8],[-19.1,28.2],[-15.9,32.6],[-13.2,35],[-10.5,35],[-7.7,32.7],[-4.2,28.1],[-1.4,25.7],[1.4,25.7],[4.2,28.1],[7.7,32.7],[10.5,35],[13.2,35],[15.9,32.6],[19.1,28.2],[21.8,25.8],[24.5,25.8],[27.3,28.1],[30.8,32.7],[33.2,34.9],[34.5,34.4],[35,31.3],[35,-2.2],[34.9,-5.8],[34.5,-9.3],[33.8,-12.8],[33.5,-14],[32.5,-17.4],[31,-20.5],[29.1,-23.5],[28.2,-24.7],[25.8,-27.4],[23,-29.9],[19.9,-31.9],[18.5,-32.7],[15,-34.5],[11.3,-35.8],[7.5,-36.7],[6,-37],[2,-37.4],[-2,-37.4],[-6,-37],[-7.5,-36.7],[-11.3,-35.8],[-15,-34.5],[-18.5,-32.7],[-19.9,-31.9],[-23,-29.9],[-25.8,-27.4],[-28.2,-24.7],[-29.1,-23.5],[-31,-20.5],[-32.5,-17.4],[-33.5,-14],[-33.8,-12.8],[-34.5,-9.3],[-34.9,-5.8],[-35,-2.2]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#cc8aa8","children":[{"id":"spine_lit","role":null,"shape":{"type":"poly","subs":[[[-44.1,20.8],[-43.6,23.9],[-42.3,24.4],[-39.9,22.2],[-36.4,17.6],[-33.6,15.3],[-30.9,15.3],[-28.2,17.7],[-25,22.1],[-22.3,24.5],[-19.6,24.5],[-16.8,22.2],[-13.3,17.6],[-10.5,15.2],[-7.7,15.2],[-4.9,17.6],[-1.4,22.2],[1.4,24.5],[4.1,24.5],[6.8,22.1],[10,17.7],[12.7,15.3],[15.4,15.3],[18.2,17.6],[21.7,22.2],[24.1,24.4],[25.4,23.9],[25.9,20.8],[25.9,-12.7],[25.8,-16.3],[25.4,-19.8],[24.7,-23.3],[24.4,-24.5],[23.4,-27.9],[21.9,-31],[20,-34],[19.1,-35.2],[16.7,-37.9],[13.9,-40.4],[10.8,-42.4],[9.4,-43.2],[5.9,-45],[2.2,-46.3],[-1.6,-47.2],[-3.1,-47.5],[-7.1,-47.9],[-11.1,-47.9],[-15.1,-47.5],[-16.6,-47.2],[-20.4,-46.3],[-24.1,-45],[-27.6,-43.2],[-29,-42.4],[-32.1,-40.4],[-34.9,-37.9],[-37.3,-35.2],[-38.2,-34],[-40.1,-31],[-41.6,-27.9],[-42.6,-24.5],[-42.9,-23.3],[-43.6,-19.8],[-44,-16.3],[-44.1,-12.7]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#ffadd2","outline":false,"clip":true,"children":[]},{"id":"eye","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-8.8,-1.1],[-8.5,-3.2],[-7.8,-5.1],[-6.9,-6.9],[-5.6,-8.4],[-4.2,-9.6],[-2.6,-10.4],[-0.9,-10.8],[0.9,-10.8],[2.6,-10.4],[4.2,-9.6],[5.6,-8.4],[6.9,-6.9],[7.8,-5.1],[8.5,-3.2],[8.8,-1.1],[8.8,1.1],[8.5,3.2],[7.8,5.1],[6.9,6.9],[5.6,8.4],[4.2,9.6],[2.6,10.4],[0.9,10.8],[-0.9,10.8],[-2.6,10.4],[-4.2,9.6],[-5.6,8.4],[-6.9,6.9],[-7.8,5.1],[-8.5,3.2],[-8.8,1.1]]]},"pos":{"x":-13,"y":-12},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#cccccc","children":[{"id":"eye_lit","role":null,"shape":{"type":"poly","subs":[[[-11.1,-3.7],[-10.8,-5.8],[-10.1,-7.7],[-9.2,-9.5],[-7.9,-11],[-6.5,-12.2],[-4.9,-13],[-3.2,-13.4],[-1.4,-13.4],[0.3,-13],[1.9,-12.2],[3.3,-11],[4.6,-9.5],[5.5,-7.7],[6.2,-5.8],[6.5,-3.7],[6.5,-1.5],[6.2,0.6],[5.5,2.5],[4.6,4.3],[3.3,5.8],[1.9,7],[0.3,7.8],[-1.4,8.2],[-3.2,8.2],[-4.9,7.8],[-6.5,7],[-7.9,5.8],[-9.2,4.3],[-10.1,2.5],[-10.8,0.6],[-11.1,-1.5]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#ffffff","outline":false,"clip":true,"children":[]},{"id":"pupil","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-3.9,-0.4],[-3.8,-1.3],[-3.5,-2.1],[-3,-2.8],[-2.5,-3.4],[-1.9,-3.9],[-1.1,-4.2],[-0.4,-4.4],[0.4,-4.4],[1.1,-4.2],[1.9,-3.9],[2.5,-3.4],[3,-2.8],[3.5,-2.1],[3.8,-1.3],[3.9,-0.4],[3.9,0.4],[3.8,1.3],[3.5,2.1],[3,2.8],[2.5,3.4],[1.9,3.9],[1.1,4.2],[0.4,4.4],[-0.4,4.4],[-1.1,4.2],[-1.9,3.9],[-2.5,3.4],[-3,2.8],[-3.5,2.1],[-3.8,1.3],[-3.9,0.4]]]},"pos":{"x":2,"y":0},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#1f3fbf","children":[],"clip":true,"inner":true}],"clip":true,"inner":true},{"id":"eye2","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-8.8,-1.1],[-8.5,-3.2],[-7.8,-5.1],[-6.9,-6.9],[-5.6,-8.4],[-4.2,-9.6],[-2.6,-10.4],[-0.9,-10.8],[0.9,-10.8],[2.6,-10.4],[4.2,-9.6],[5.6,-8.4],[6.9,-6.9],[7.8,-5.1],[8.5,-3.2],[8.8,-1.1],[8.8,1.1],[8.5,3.2],[7.8,5.1],[6.9,6.9],[5.6,8.4],[4.2,9.6],[2.6,10.4],[0.9,10.8],[-0.9,10.8],[-2.6,10.4],[-4.2,9.6],[-5.6,8.4],[-6.9,6.9],[-7.8,5.1],[-8.5,3.2],[-8.8,1.1]]]},"pos":{"x":13,"y":-12},"rot":0,"sx":1,"sy":1,"z":0.02,"fill":"#cccccc","children":[{"id":"eye2_lit","role":null,"shape":{"type":"poly","subs":[[[-11.1,-3.7],[-10.8,-5.8],[-10.1,-7.7],[-9.2,-9.5],[-7.9,-11],[-6.5,-12.2],[-4.9,-13],[-3.2,-13.4],[-1.4,-13.4],[0.3,-13],[1.9,-12.2],[3.3,-11],[4.6,-9.5],[5.5,-7.7],[6.2,-5.8],[6.5,-3.7],[6.5,-1.5],[6.2,0.6],[5.5,2.5],[4.6,4.3],[3.3,5.8],[1.9,7],[0.3,7.8],[-1.4,8.2],[-3.2,8.2],[-4.9,7.8],[-6.5,7],[-7.9,5.8],[-9.2,4.3],[-10.1,2.5],[-10.8,0.6],[-11.1,-1.5]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#ffffff","outline":false,"clip":true,"children":[]},{"id":"pupil2","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-3.9,-0.4],[-3.8,-1.3],[-3.5,-2.1],[-3,-2.8],[-2.5,-3.4],[-1.9,-3.9],[-1.1,-4.2],[-0.4,-4.4],[0.4,-4.4],[1.1,-4.2],[1.9,-3.9],[2.5,-3.4],[3,-2.8],[3.5,-2.1],[3.8,-1.3],[3.9,-0.4],[3.9,0.4],[3.8,1.3],[3.5,2.1],[3,2.8],[2.5,3.4],[1.9,3.9],[1.1,4.2],[0.4,4.4],[-0.4,4.4],[-1.1,4.2],[-1.9,3.9],[-2.5,3.4],[-3,2.8],[-3.5,2.1],[-3.8,1.3],[-3.9,0.4]]]},"pos":{"x":2,"y":0},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#1f3fbf","children":[],"clip":true,"inner":true}],"clip":true,"inner":true}]}]},"legs":0,"kind":"custom","height":19,"footprint":35,"look":"outlined","fx":2,"views":[{"view":"top"}]},"box":{"w":0.8,"h":0.8},"edges":"stop","states":{"start":"to_2","list":{"to_1":{"enter":[{"op":"toward","who":"me","target":"pinky1","speed":"=gs"}],"go":[{"to":"to_2","when":"=distance(me, pinky1) < 0.42"}]},"to_2":{"enter":[{"op":"toward","who":"me","target":"pinky2","speed":"=gs"}],"go":[{"to":"to_3","when":"=distance(me, pinky2) < 0.42"}]},"to_3":{"enter":[{"op":"toward","who":"me","target":"pinky3","speed":"=gs"}],"go":[{"to":"to_4","when":"=distance(me, pinky3) < 0.42"}]},"to_4":{"enter":[{"op":"toward","who":"me","target":"pinky4","speed":"=gs"}],"go":[{"to":"to_1","when":"=distance(me, pinky4) < 0.42"}]}}}},"Clyde":{"shape":"ball","color":"#ff9f1c","model":{"tree":{"id":"root","role":"root","pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"children":[{"id":"spine","role":"torso","shape":{"type":"poly","subs":[[[-35,31.3],[-34.5,34.4],[-33.2,34.9],[-30.8,32.7],[-27.3,28.1],[-24.5,25.8],[-21.8,25.8],[-19.1,28.2],[-15.9,32.6],[-13.2,35],[-10.5,35],[-7.7,32.7],[-4.2,28.1],[-1.4,25.7],[1.4,25.7],[4.2,28.1],[7.7,32.7],[10.5,35],[13.2,35],[15.9,32.6],[19.1,28.2],[21.8,25.8],[24.5,25.8],[27.3,28.1],[30.8,32.7],[33.2,34.9],[34.5,34.4],[35,31.3],[35,-2.2],[34.9,-5.8],[34.5,-9.3],[33.8,-12.8],[33.5,-14],[32.5,-17.4],[31,-20.5],[29.1,-23.5],[28.2,-24.7],[25.8,-27.4],[23,-29.9],[19.9,-31.9],[18.5,-32.7],[15,-34.5],[11.3,-35.8],[7.5,-36.7],[6,-37],[2,-37.4],[-2,-37.4],[-6,-37],[-7.5,-36.7],[-11.3,-35.8],[-15,-34.5],[-18.5,-32.7],[-19.9,-31.9],[-23,-29.9],[-25.8,-27.4],[-28.2,-24.7],[-29.1,-23.5],[-31,-20.5],[-32.5,-17.4],[-33.5,-14],[-33.8,-12.8],[-34.5,-9.3],[-34.9,-5.8],[-35,-2.2]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#cc7f16","children":[{"id":"spine_lit","role":null,"shape":{"type":"poly","subs":[[[-44.1,20.8],[-43.6,23.9],[-42.3,24.4],[-39.9,22.2],[-36.4,17.6],[-33.6,15.3],[-30.9,15.3],[-28.2,17.7],[-25,22.1],[-22.3,24.5],[-19.6,24.5],[-16.8,22.2],[-13.3,17.6],[-10.5,15.2],[-7.7,15.2],[-4.9,17.6],[-1.4,22.2],[1.4,24.5],[4.1,24.5],[6.8,22.1],[10,17.7],[12.7,15.3],[15.4,15.3],[18.2,17.6],[21.7,22.2],[24.1,24.4],[25.4,23.9],[25.9,20.8],[25.9,-12.7],[25.8,-16.3],[25.4,-19.8],[24.7,-23.3],[24.4,-24.5],[23.4,-27.9],[21.9,-31],[20,-34],[19.1,-35.2],[16.7,-37.9],[13.9,-40.4],[10.8,-42.4],[9.4,-43.2],[5.9,-45],[2.2,-46.3],[-1.6,-47.2],[-3.1,-47.5],[-7.1,-47.9],[-11.1,-47.9],[-15.1,-47.5],[-16.6,-47.2],[-20.4,-46.3],[-24.1,-45],[-27.6,-43.2],[-29,-42.4],[-32.1,-40.4],[-34.9,-37.9],[-37.3,-35.2],[-38.2,-34],[-40.1,-31],[-41.6,-27.9],[-42.6,-24.5],[-42.9,-23.3],[-43.6,-19.8],[-44,-16.3],[-44.1,-12.7]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#ff9f1c","outline":false,"clip":true,"children":[]},{"id":"eye","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-8.8,-1.1],[-8.5,-3.2],[-7.8,-5.1],[-6.9,-6.9],[-5.6,-8.4],[-4.2,-9.6],[-2.6,-10.4],[-0.9,-10.8],[0.9,-10.8],[2.6,-10.4],[4.2,-9.6],[5.6,-8.4],[6.9,-6.9],[7.8,-5.1],[8.5,-3.2],[8.8,-1.1],[8.8,1.1],[8.5,3.2],[7.8,5.1],[6.9,6.9],[5.6,8.4],[4.2,9.6],[2.6,10.4],[0.9,10.8],[-0.9,10.8],[-2.6,10.4],[-4.2,9.6],[-5.6,8.4],[-6.9,6.9],[-7.8,5.1],[-8.5,3.2],[-8.8,1.1]]]},"pos":{"x":-13,"y":-12},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#cccccc","children":[{"id":"eye_lit","role":null,"shape":{"type":"poly","subs":[[[-11.1,-3.7],[-10.8,-5.8],[-10.1,-7.7],[-9.2,-9.5],[-7.9,-11],[-6.5,-12.2],[-4.9,-13],[-3.2,-13.4],[-1.4,-13.4],[0.3,-13],[1.9,-12.2],[3.3,-11],[4.6,-9.5],[5.5,-7.7],[6.2,-5.8],[6.5,-3.7],[6.5,-1.5],[6.2,0.6],[5.5,2.5],[4.6,4.3],[3.3,5.8],[1.9,7],[0.3,7.8],[-1.4,8.2],[-3.2,8.2],[-4.9,7.8],[-6.5,7],[-7.9,5.8],[-9.2,4.3],[-10.1,2.5],[-10.8,0.6],[-11.1,-1.5]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#ffffff","outline":false,"clip":true,"children":[]},{"id":"pupil","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-3.9,-0.4],[-3.8,-1.3],[-3.5,-2.1],[-3,-2.8],[-2.5,-3.4],[-1.9,-3.9],[-1.1,-4.2],[-0.4,-4.4],[0.4,-4.4],[1.1,-4.2],[1.9,-3.9],[2.5,-3.4],[3,-2.8],[3.5,-2.1],[3.8,-1.3],[3.9,-0.4],[3.9,0.4],[3.8,1.3],[3.5,2.1],[3,2.8],[2.5,3.4],[1.9,3.9],[1.1,4.2],[0.4,4.4],[-0.4,4.4],[-1.1,4.2],[-1.9,3.9],[-2.5,3.4],[-3,2.8],[-3.5,2.1],[-3.8,1.3],[-3.9,0.4]]]},"pos":{"x":2,"y":0},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#1f3fbf","children":[],"clip":true,"inner":true}],"clip":true,"inner":true},{"id":"eye2","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-8.8,-1.1],[-8.5,-3.2],[-7.8,-5.1],[-6.9,-6.9],[-5.6,-8.4],[-4.2,-9.6],[-2.6,-10.4],[-0.9,-10.8],[0.9,-10.8],[2.6,-10.4],[4.2,-9.6],[5.6,-8.4],[6.9,-6.9],[7.8,-5.1],[8.5,-3.2],[8.8,-1.1],[8.8,1.1],[8.5,3.2],[7.8,5.1],[6.9,6.9],[5.6,8.4],[4.2,9.6],[2.6,10.4],[0.9,10.8],[-0.9,10.8],[-2.6,10.4],[-4.2,9.6],[-5.6,8.4],[-6.9,6.9],[-7.8,5.1],[-8.5,3.2],[-8.8,1.1]]]},"pos":{"x":13,"y":-12},"rot":0,"sx":1,"sy":1,"z":0.02,"fill":"#cccccc","children":[{"id":"eye2_lit","role":null,"shape":{"type":"poly","subs":[[[-11.1,-3.7],[-10.8,-5.8],[-10.1,-7.7],[-9.2,-9.5],[-7.9,-11],[-6.5,-12.2],[-4.9,-13],[-3.2,-13.4],[-1.4,-13.4],[0.3,-13],[1.9,-12.2],[3.3,-11],[4.6,-9.5],[5.5,-7.7],[6.2,-5.8],[6.5,-3.7],[6.5,-1.5],[6.2,0.6],[5.5,2.5],[4.6,4.3],[3.3,5.8],[1.9,7],[0.3,7.8],[-1.4,8.2],[-3.2,8.2],[-4.9,7.8],[-6.5,7],[-7.9,5.8],[-9.2,4.3],[-10.1,2.5],[-10.8,0.6],[-11.1,-1.5]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#ffffff","outline":false,"clip":true,"children":[]},{"id":"pupil2","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-3.9,-0.4],[-3.8,-1.3],[-3.5,-2.1],[-3,-2.8],[-2.5,-3.4],[-1.9,-3.9],[-1.1,-4.2],[-0.4,-4.4],[0.4,-4.4],[1.1,-4.2],[1.9,-3.9],[2.5,-3.4],[3,-2.8],[3.5,-2.1],[3.8,-1.3],[3.9,-0.4],[3.9,0.4],[3.8,1.3],[3.5,2.1],[3,2.8],[2.5,3.4],[1.9,3.9],[1.1,4.2],[0.4,4.4],[-0.4,4.4],[-1.1,4.2],[-1.9,3.9],[-2.5,3.4],[-3,2.8],[-3.5,2.1],[-3.8,1.3],[-3.9,0.4]]]},"pos":{"x":2,"y":0},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#1f3fbf","children":[],"clip":true,"inner":true}],"clip":true,"inner":true}]}]},"legs":0,"kind":"custom","height":19,"footprint":35,"look":"outlined","fx":2,"views":[{"view":"top"}]},"box":{"w":0.8,"h":0.8},"edges":"stop","states":{"start":"to_2","list":{"to_1":{"enter":[{"op":"toward","who":"me","target":"clyde1","speed":"=gs"}],"go":[{"to":"to_2","when":"=distance(me, clyde1) < 0.42"}]},"to_2":{"enter":[{"op":"toward","who":"me","target":"clyde2","speed":"=gs"}],"go":[{"to":"to_3","when":"=distance(me, clyde2) < 0.42"}]},"to_3":{"enter":[{"op":"toward","who":"me","target":"clyde3","speed":"=gs"}],"go":[{"to":"to_4","when":"=distance(me, clyde3) < 0.42"}]},"to_4":{"enter":[{"op":"toward","who":"me","target":"clyde4","speed":"=gs"}],"go":[{"to":"to_1","when":"=distance(me, clyde4) < 0.42"}]}}}}},"worlds":{"maze":{"v":1,"kind":"world","art":1,"name":"Pellet maze","w":13,"h":9,"sky":{"kind":"night"},"materials":{"pellet_mat":{"base":"decoration","layer":"main","pickup":"coin","fill":"#ffe7a3"},"power_mat":{"base":"decoration","layer":"main","pickup":"star","fill":"#ffd23f"}},"pieces":[{"id":"maze","shape":"cells","x":0,"y":0,"key":{"k":"castle_stone"},"rows":["kkkkkkkkkkkkk","k...........k","k.kkk.k.kkk.k","k...........k","..kkk...kkk..","k...........k","k.kkk.k.kkk.k","k...........k","kkkkkkkkkkkkk"]},{"id":"o_1_1","shape":"circle","x":1.2,"y":1.2,"w":0.6,"material":"power_mat"},{"id":"p_2_1","shape":"circle","x":2.35,"y":1.35,"w":0.3,"material":"pellet_mat"},{"id":"p_3_1","shape":"circle","x":3.35,"y":1.35,"w":0.3,"material":"pellet_mat"},{"id":"p_4_1","shape":"circle","x":4.35,"y":1.35,"w":0.3,"material":"pellet_mat"},{"id":"p_5_1","shape":"circle","x":5.35,"y":1.35,"w":0.3,"material":"pellet_mat"},{"id":"p_6_1","shape":"circle","x":6.35,"y":1.35,"w":0.3,"material":"pellet_mat"},{"id":"p_7_1","shape":"circle","x":7.35,"y":1.35,"w":0.3,"material":"pellet_mat"},{"id":"p_8_1","shape":"circle","x":8.35,"y":1.35,"w":0.3,"material":"pellet_mat"},{"id":"p_9_1","shape":"circle","x":9.35,"y":1.35,"w":0.3,"material":"pellet_mat"},{"id":"p_10_1","shape":"circle","x":10.35,"y":1.35,"w":0.3,"material":"pellet_mat"},{"id":"o_11_1","shape":"circle","x":11.2,"y":1.2,"w":0.6,"material":"power_mat"},{"id":"p_1_2","shape":"circle","x":1.35,"y":2.35,"w":0.3,"material":"pellet_mat"},{"id":"p_5_2","shape":"circle","x":5.35,"y":2.35,"w":0.3,"material":"pellet_mat"},{"id":"p_7_2","shape":"circle","x":7.35,"y":2.35,"w":0.3,"material":"pellet_mat"},{"id":"p_11_2","shape":"circle","x":11.35,"y":2.35,"w":0.3,"material":"pellet_mat"},{"id":"p_1_3","shape":"circle","x":1.35,"y":3.35,"w":0.3,"material":"pellet_mat"},{"id":"p_2_3","shape":"circle","x":2.35,"y":3.35,"w":0.3,"material":"pellet_mat"},{"id":"p_3_3","shape":"circle","x":3.35,"y":3.35,"w":0.3,"material":"pellet_mat"},{"id":"p_4_3","shape":"circle","x":4.35,"y":3.35,"w":0.3,"material":"pellet_mat"},{"id":"p_5_3","shape":"circle","x":5.35,"y":3.35,"w":0.3,"material":"pellet_mat"},{"id":"p_6_3","shape":"circle","x":6.35,"y":3.35,"w":0.3,"material":"pellet_mat"},{"id":"p_7_3","shape":"circle","x":7.35,"y":3.35,"w":0.3,"material":"pellet_mat"},{"id":"p_8_3","shape":"circle","x":8.35,"y":3.35,"w":0.3,"material":"pellet_mat"},{"id":"p_9_3","shape":"circle","x":9.35,"y":3.35,"w":0.3,"material":"pellet_mat"},{"id":"p_10_3","shape":"circle","x":10.35,"y":3.35,"w":0.3,"material":"pellet_mat"},{"id":"p_11_3","shape":"circle","x":11.35,"y":3.35,"w":0.3,"material":"pellet_mat"},{"id":"p_1_4","shape":"circle","x":1.35,"y":4.35,"w":0.3,"material":"pellet_mat"},{"id":"p_5_4","shape":"circle","x":5.35,"y":4.35,"w":0.3,"material":"pellet_mat"},{"id":"p_6_4","shape":"circle","x":6.35,"y":4.35,"w":0.3,"material":"pellet_mat"},{"id":"p_7_4","shape":"circle","x":7.35,"y":4.35,"w":0.3,"material":"pellet_mat"},{"id":"p_11_4","shape":"circle","x":11.35,"y":4.35,"w":0.3,"material":"pellet_mat"},{"id":"p_1_5","shape":"circle","x":1.35,"y":5.35,"w":0.3,"material":"pellet_mat"},{"id":"p_2_5","shape":"circle","x":2.35,"y":5.35,"w":0.3,"material":"pellet_mat"},{"id":"p_3_5","shape":"circle","x":3.35,"y":5.35,"w":0.3,"material":"pellet_mat"},{"id":"p_4_5","shape":"circle","x":4.35,"y":5.35,"w":0.3,"material":"pellet_mat"},{"id":"p_5_5","shape":"circle","x":5.35,"y":5.35,"w":0.3,"material":"pellet_mat"},{"id":"p_6_5","shape":"circle","x":6.35,"y":5.35,"w":0.3,"material":"pellet_mat"},{"id":"p_7_5","shape":"circle","x":7.35,"y":5.35,"w":0.3,"material":"pellet_mat"},{"id":"p_8_5","shape":"circle","x":8.35,"y":5.35,"w":0.3,"material":"pellet_mat"},{"id":"p_9_5","shape":"circle","x":9.35,"y":5.35,"w":0.3,"material":"pellet_mat"},{"id":"p_10_5","shape":"circle","x":10.35,"y":5.35,"w":0.3,"material":"pellet_mat"},{"id":"p_11_5","shape":"circle","x":11.35,"y":5.35,"w":0.3,"material":"pellet_mat"},{"id":"p_1_6","shape":"circle","x":1.35,"y":6.35,"w":0.3,"material":"pellet_mat"},{"id":"p_5_6","shape":"circle","x":5.35,"y":6.35,"w":0.3,"material":"pellet_mat"},{"id":"p_7_6","shape":"circle","x":7.35,"y":6.35,"w":0.3,"material":"pellet_mat"},{"id":"p_11_6","shape":"circle","x":11.35,"y":6.35,"w":0.3,"material":"pellet_mat"},{"id":"o_1_7","shape":"circle","x":1.2,"y":7.2,"w":0.6,"material":"power_mat"},{"id":"p_2_7","shape":"circle","x":2.35,"y":7.35,"w":0.3,"material":"pellet_mat"},{"id":"p_3_7","shape":"circle","x":3.35,"y":7.35,"w":0.3,"material":"pellet_mat"},{"id":"p_4_7","shape":"circle","x":4.35,"y":7.35,"w":0.3,"material":"pellet_mat"},{"id":"p_5_7","shape":"circle","x":5.35,"y":7.35,"w":0.3,"material":"pellet_mat"},{"id":"p_6_7","shape":"circle","x":6.35,"y":7.35,"w":0.3,"material":"pellet_mat"},{"id":"p_8_7","shape":"circle","x":8.35,"y":7.35,"w":0.3,"material":"pellet_mat"},{"id":"p_9_7","shape":"circle","x":9.35,"y":7.35,"w":0.3,"material":"pellet_mat"},{"id":"p_10_7","shape":"circle","x":10.35,"y":7.35,"w":0.3,"material":"pellet_mat"},{"id":"o_11_7","shape":"circle","x":11.2,"y":7.2,"w":0.6,"material":"power_mat"}],"marks":{"spawn":{"x":6.5,"y":7.95},"blinky1":{"x":1.5,"y":1.9},"blinky2":{"x":11.5,"y":1.9},"blinky3":{"x":11.5,"y":7.9},"blinky4":{"x":1.5,"y":7.9},"inky1":{"x":1.5,"y":3.9},"inky2":{"x":11.5,"y":3.9},"inky3":{"x":11.5,"y":5.9},"inky4":{"x":1.5,"y":5.9},"pinky1":{"x":5.5,"y":1.9},"pinky2":{"x":7.5,"y":1.9},"pinky3":{"x":7.5,"y":7.9},"pinky4":{"x":5.5,"y":7.9},"clyde1":{"x":11.5,"y":7.9},"clyde2":{"x":11.5,"y":1.9},"clyde3":{"x":1.5,"y":1.9},"clyde4":{"x":1.5,"y":7.9}},"camera":{"x":6.5,"y":4.5,"h":9}}},"vars":{"score":0,"lives":3,"blue":0,"safe":0,"gs":3,"maze":1,"gsb":3,"bluefor":6},"levels":{"Maze":{"world":"maze","start":{"Muncher":{"x":6.5,"y":7.95}},"layout":[{"thing":"Blinky","id":"blinky","x":1.5,"y":1.9},{"thing":"Inky","id":"inky","x":1.5,"y":3.9},{"thing":"Pinky","id":"pinky","x":5.5,"y":1.9},{"thing":"Clyde","id":"clyde","x":11.5,"y":7.9}]}},"scripts":[{"hat":{"on":"start"},"body":[{"op":"show","name":"score","as":"number","label":"Score"},{"op":"show","name":"lives","as":"hearts","label":"Lives"},{"op":"show","name":"maze","as":"number","label":"Maze"},{"op":"steer","who":"Muncher","keys":"arrows","axes":"grid","speed":5},{"op":"camera","follow":"none"}]},{"hat":{"on":"touch","who":"Muncher","what":"a coin"},"body":[{"op":"remove","who":"other"},{"op":"changeVar","var":"score","by":10},{"op":"sound","name":"coin"}]},{"hat":{"on":"touch","who":"Muncher","what":"a star"},"body":[{"op":"remove","who":"other"},{"op":"changeVar","var":"score","by":50},{"op":"sound","name":"powerup"},{"op":"countdown","var":"blue","from":"=bluefor"},{"op":"restyle","who":"Blinky","color":"#2f6bff"},{"op":"restyle","who":"Inky","color":"#2f6bff"},{"op":"restyle","who":"Pinky","color":"#2f6bff"},{"op":"restyle","who":"Clyde","color":"#2f6bff"},{"op":"setVar","var":"gs","value":"=gsb * 0.53"},{"op":"each","who":"Blinky","body":[{"op":"speed","who":"me","vx":"=vxof(me) / 2","vy":"=vyof(me) / 2"}]},{"op":"each","who":"Inky","body":[{"op":"speed","who":"me","vx":"=vxof(me) / 2","vy":"=vyof(me) / 2"}]},{"op":"each","who":"Pinky","body":[{"op":"speed","who":"me","vx":"=vxof(me) / 2","vy":"=vyof(me) / 2"}]},{"op":"each","who":"Clyde","body":[{"op":"speed","who":"me","vx":"=vxof(me) / 2","vy":"=vyof(me) / 2"}]}]},{"hat":{"on":"zero","var":"blue"},"body":[{"op":"restyle","who":"Blinky","color":"#ff4d6d"},{"op":"restyle","who":"Inky","color":"#4cc9f0"},{"op":"restyle","who":"Pinky","color":"#ffafcc"},{"op":"restyle","who":"Clyde","color":"#ff9f1c"},{"op":"setVar","var":"gs","value":"=gsb"},{"op":"each","who":"Blinky","body":[{"op":"speed","who":"me","vx":"=vxof(me) * 2","vy":"=vyof(me) * 2"}]},{"op":"each","who":"Inky","body":[{"op":"speed","who":"me","vx":"=vxof(me) * 2","vy":"=vyof(me) * 2"}]},{"op":"each","who":"Pinky","body":[{"op":"speed","who":"me","vx":"=vxof(me) * 2","vy":"=vyof(me) * 2"}]},{"op":"each","who":"Clyde","body":[{"op":"speed","who":"me","vx":"=vxof(me) * 2","vy":"=vyof(me) * 2"}]}]},{"hat":{"on":"touch","who":"Muncher","what":"a Blinky"},"body":[{"op":"if","cond":"=blue > 0","body":[{"op":"changeVar","var":"score","by":100},{"op":"sound","name":"pop"},{"op":"place","who":"other","x":1.5,"y":1.9},{"op":"state","who":"other","to":"to_2"},{"op":"restyle","who":"other","color":"#ff4d6d"}],"else":[{"op":"if","cond":"=safe == 0","body":[{"op":"changeVar","var":"lives","by":-1},{"op":"sound","name":"hit"},{"op":"countdown","var":"safe","from":2},{"op":"place","who":"Muncher","x":6.5,"y":7.95},{"op":"blink","who":"Muncher","s":2}]}]}]},{"hat":{"on":"touch","who":"Muncher","what":"a Inky"},"body":[{"op":"if","cond":"=blue > 0","body":[{"op":"changeVar","var":"score","by":100},{"op":"sound","name":"pop"},{"op":"place","who":"other","x":1.5,"y":3.9},{"op":"state","who":"other","to":"to_2"},{"op":"restyle","who":"other","color":"#4cc9f0"}],"else":[{"op":"if","cond":"=safe == 0","body":[{"op":"changeVar","var":"lives","by":-1},{"op":"sound","name":"hit"},{"op":"countdown","var":"safe","from":2},{"op":"place","who":"Muncher","x":6.5,"y":7.95},{"op":"blink","who":"Muncher","s":2}]}]}]},{"hat":{"on":"touch","who":"Muncher","what":"a Pinky"},"body":[{"op":"if","cond":"=blue > 0","body":[{"op":"changeVar","var":"score","by":100},{"op":"sound","name":"pop"},{"op":"place","who":"other","x":5.5,"y":1.9},{"op":"state","who":"other","to":"to_2"},{"op":"restyle","who":"other","color":"#ffafcc"}],"else":[{"op":"if","cond":"=safe == 0","body":[{"op":"changeVar","var":"lives","by":-1},{"op":"sound","name":"hit"},{"op":"countdown","var":"safe","from":2},{"op":"place","who":"Muncher","x":6.5,"y":7.95},{"op":"blink","who":"Muncher","s":2}]}]}]},{"hat":{"on":"touch","who":"Muncher","what":"a Clyde"},"body":[{"op":"if","cond":"=blue > 0","body":[{"op":"changeVar","var":"score","by":100},{"op":"sound","name":"pop"},{"op":"place","who":"other","x":11.5,"y":7.9},{"op":"state","who":"other","to":"to_2"},{"op":"restyle","who":"other","color":"#ff9f1c"}],"else":[{"op":"if","cond":"=safe == 0","body":[{"op":"changeVar","var":"lives","by":-1},{"op":"sound","name":"hit"},{"op":"countdown","var":"safe","from":2},{"op":"place","who":"Muncher","x":6.5,"y":7.95},{"op":"blink","who":"Muncher","s":2}]}]}]},{"hat":{"on":"zero","var":"lives"},"body":[{"op":"sound","name":"lose"},{"op":"lose","text":"The ghosts got you!"}]},{"hat":{"on":"when","cond":"=count(coin, star) == 0"},"body":[{"op":"sound","name":"win"},{"op":"caption","text":"Every pellet eaten! The next maze.","for":1.5},{"op":"changeVar","var":"maze","by":1},{"op":"if","cond":"=maze > 99","body":[{"op":"setVar","var":"maze","value":1}]},{"op":"if","cond":"=mod(maze, 10) == 0 && lives < 5","body":[{"op":"changeVar","var":"lives","by":1}]},{"op":"setVar","var":"gsb","value":"=3 + 0.025 * (maze - 1)"},{"op":"setVar","var":"bluefor","value":"=max(2, 6 - 0.04 * (maze - 1))"},{"op":"setVar","var":"gs","value":"=gsb"},{"op":"setVar","var":"blue","value":0},{"op":"restartLevel"}]}]},"file":"games/pellet_maze/game.json"},{"pack":1,"id":"c4c:game:rock_field","type":"game","version":"1.0.0","name":"Rock Field","description":"Turn your ship and shoot the rocks. Big rocks break into smaller ones. Clear the field and the next one comes, fuller and faster: 99 fields, then round again.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"controls":{"keys":"Left and right arrows turn the ship. Up arrow pushes it forward, down arrow pushes it back. Space shoots.","pad":"◀ ▶ turn. ▲ pushes forward, ▼ pushes back. Jump shoots.","drives":"ship"},"content_hash":"sha256:b62113f3808a9777890ab7c201bc1e6e11f09ef15b35ecba5305a47e28907402","content":{"v":1,"kind":"game","name":"Rock Field","view":"space","note":"In space: nothing slows the ship, and every side wraps round. A big rock hit becomes medium and makes a second medium one; a medium one becomes small and makes another; a small one breaks. A rock that hits the ship costs a life: the ship goes back to the middle, still, and blinks while it is safe for two seconds. Shots leave from its nose.","things":{"Ship":{"shape":"box","color":"#f1faee","model":{"tree":{"id":"root","role":"root","pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"children":[{"id":"spine","role":"torso","shape":{"type":"poly","subs":[[[34,2.4],[36.7,0.8],[36.7,-0.8],[34,-2.4],[-34,-29.6],[-36.9,-30.3],[-37.7,-29.4],[-36.3,-26.7],[-21.3,-5.3],[-19.7,-1.8],[-19.7,1.8],[-21.3,5.3],[-36.3,26.7],[-37.7,29.4],[-36.9,30.3],[-34,29.6]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#c1c8be","children":[{"id":"spine_lit","role":null,"shape":{"type":"poly","subs":[[[26.1,-6.7],[28.8,-8.3],[28.8,-9.9],[26.1,-11.5],[-41.9,-38.7],[-44.8,-39.4],[-45.6,-38.5],[-44.2,-35.8],[-29.2,-14.4],[-27.6,-10.9],[-27.6,-7.3],[-29.2,-3.8],[-44.2,17.6],[-45.6,20.3],[-44.8,21.2],[-41.9,20.5]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#f1faee","outline":false,"clip":true,"children":[]},{"id":"window","role":null,"side":1,"shape":{"type":"poly","subs":[[[15.3,3.3],[16.1,2.8],[16.1,2.4],[15.3,2],[-15.3,-9.7],[-16.2,-9.9],[-16.8,-9.5],[-17,-8.6],[-17,13.8],[-16.8,14.7],[-16.2,15.1],[-15.3,15]]]},"pos":{"x":6,"y":0},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#66a9c6","children":[{"id":"window_lit","role":null,"shape":{"type":"poly","subs":[[[12.1,-0.5],[12.9,-1],[12.9,-1.3],[12.1,-1.7],[-18.5,-13.4],[-19.4,-13.6],[-20,-13.2],[-20.2,-12.3],[-20.2,10.1],[-20,11],[-19.4,11.4],[-18.5,11.3]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#7fd3f7","outline":false,"clip":true,"children":[]}],"clip":true,"inner":true},{"id":"flame","role":null,"side":1,"shape":{"type":"poly","subs":[[[9,-8.2],[9.6,-8.4],[9.9,-8.2],[10,-7.7],[10,12.1],[9.9,12.6],[9.6,12.8],[9,12.7],[-9,2.8],[-9.4,2.4],[-9.4,2],[-9,1.7]]]},"pos":{"x":-30,"y":0},"rot":0,"sx":1,"sy":1,"z":0.02,"fill":"#cc7f36","children":[{"id":"flame_lit","role":null,"shape":{"type":"poly","subs":[[[6.5,-11.1],[7.1,-11.3],[7.4,-11.1],[7.5,-10.6],[7.5,9.2],[7.4,9.7],[7.1,9.9],[6.5,9.8],[-11.5,-0.1],[-11.9,-0.5],[-11.9,-0.9],[-11.5,-1.2]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#ff9f43","outline":false,"clip":true,"children":[]}]}]}]},"legs":0,"kind":"custom","height":14,"footprint":38.1,"look":"outlined","fx":2,"views":[{"view":"top"}]},"box":{"w":0.8,"h":0.8},"edges":"wrap","heading":270},"Bullet":{"shape":"box","color":"#ffd23f","box":{"w":0.25,"h":0.25},"edges":"wrap","states":{"start":"alive","list":{"alive":{"go":[{"to":"dead","when":"=statetime(me) > 1.2"}]},"dead":{"enter":[{"op":"remove","who":"me"}]}}}},"Rock":{"shape":"ball","color":"#8d99ae","model":{"tree":{"id":"root","role":"root","pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"children":[{"id":"spine","role":"torso","shape":{"type":"poly","subs":[[[46.2,11.6],[45.6,16.4],[43.8,20.6],[40.9,24.4],[24.4,40.9],[20.6,43.8],[16.4,45.6],[11.6,46.2],[-11.6,46.2],[-16.4,45.6],[-20.6,43.8],[-24.4,40.9],[-40.9,24.4],[-43.8,20.6],[-45.6,16.4],[-46.2,11.6],[-46.2,-11.6],[-45.6,-16.4],[-43.8,-20.6],[-40.9,-24.4],[-24.4,-40.9],[-20.6,-43.8],[-16.4,-45.6],[-11.6,-46.2],[11.6,-46.2],[16.4,-45.6],[20.6,-43.8],[24.4,-40.9],[40.9,-24.4],[43.8,-20.6],[45.6,-16.4],[46.2,-11.6]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#717a8b","children":[{"id":"spine_lit","role":null,"shape":{"type":"poly","subs":[[[34.2,-2.3],[33.6,2.5],[31.8,6.7],[28.9,10.5],[12.4,27],[8.6,29.9],[4.4,31.7],[-0.4,32.3],[-23.6,32.3],[-28.4,31.7],[-32.6,29.9],[-36.4,27],[-52.9,10.5],[-55.8,6.7],[-57.6,2.5],[-58.2,-2.3],[-58.2,-25.5],[-57.6,-30.3],[-55.8,-34.5],[-52.9,-38.3],[-36.4,-54.8],[-32.6,-57.7],[-28.4,-59.5],[-23.6,-60.1],[-0.4,-60.1],[4.4,-59.5],[8.6,-57.7],[12.4,-54.8],[28.9,-38.3],[31.8,-34.5],[33.6,-30.3],[34.2,-25.5]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#8d99ae","outline":false,"clip":true,"children":[]},{"id":"crater","role":null,"side":1,"shape":{"type":"poly","subs":[[[-8.8,-0.9],[-8.5,-2.6],[-7.8,-4.2],[-6.9,-5.6],[-5.6,-6.9],[-4.2,-7.8],[-2.6,-8.5],[-0.9,-8.8],[0.9,-8.8],[2.6,-8.5],[4.2,-7.8],[5.6,-6.9],[6.9,-5.6],[7.8,-4.2],[8.5,-2.6],[8.8,-0.9],[8.8,0.9],[8.5,2.6],[7.8,4.2],[6.9,5.6],[5.6,6.9],[4.2,7.8],[2.6,8.5],[0.9,8.8],[-0.9,8.8],[-2.6,8.5],[-4.2,7.8],[-5.6,6.9],[-6.9,5.6],[-7.8,4.2],[-8.5,2.6],[-8.8,0.9]]]},"pos":{"x":-14,"y":12},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#4a5264","children":[{"id":"crater_lit","role":null,"shape":{"type":"poly","subs":[[[-11.1,-3.5],[-10.8,-5.2],[-10.1,-6.8],[-9.2,-8.2],[-7.9,-9.5],[-6.5,-10.4],[-4.9,-11.1],[-3.2,-11.4],[-1.4,-11.4],[0.3,-11.1],[1.9,-10.4],[3.3,-9.5],[4.6,-8.2],[5.5,-6.8],[6.2,-5.2],[6.5,-3.5],[6.5,-1.7],[6.2,0],[5.5,1.6],[4.6,3],[3.3,4.3],[1.9,5.2],[0.3,5.9],[-1.4,6.2],[-3.2,6.2],[-4.9,5.9],[-6.5,5.2],[-7.9,4.3],[-9.2,3],[-10.1,1.6],[-10.8,0],[-11.1,-1.7]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#5c677d","outline":false,"clip":true,"children":[]}],"clip":true,"inner":true},{"id":"crater2","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-5.9,-0.6],[-5.7,-1.7],[-5.2,-2.8],[-4.6,-3.8],[-3.8,-4.6],[-2.8,-5.2],[-1.7,-5.7],[-0.6,-5.9],[0.6,-5.9],[1.7,-5.7],[2.8,-5.2],[3.8,-4.6],[4.6,-3.8],[5.2,-2.8],[5.7,-1.7],[5.9,-0.6],[5.9,0.6],[5.7,1.7],[5.2,2.8],[4.6,3.8],[3.8,4.6],[2.8,5.2],[1.7,5.7],[0.6,5.9],[-0.6,5.9],[-1.7,5.7],[-2.8,5.2],[-3.8,4.6],[-4.6,3.8],[-5.2,2.8],[-5.7,1.7],[-5.9,0.6]]]},"pos":{"x":18,"y":-16},"rot":0,"sx":1,"sy":1,"z":0.02,"fill":"#4a5264","children":[{"id":"crater2_lit","role":null,"shape":{"type":"poly","subs":[[[-7.9,-2.6],[-7.7,-3.7],[-7.2,-4.8],[-6.6,-5.8],[-5.8,-6.6],[-4.8,-7.2],[-3.7,-7.7],[-2.6,-7.9],[-1.4,-7.9],[-0.3,-7.7],[0.8,-7.2],[1.8,-6.6],[2.6,-5.8],[3.2,-4.8],[3.7,-3.7],[3.9,-2.6],[3.9,-1.4],[3.7,-0.3],[3.2,0.8],[2.6,1.8],[1.8,2.6],[0.8,3.2],[-0.3,3.7],[-1.4,3.9],[-2.6,3.9],[-3.7,3.7],[-4.8,3.2],[-5.8,2.6],[-6.6,1.8],[-7.2,0.8],[-7.7,-0.3],[-7.9,-1.4]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#5c677d","outline":false,"clip":true,"children":[]}],"clip":true,"inner":true},{"id":"crater3","role":null,"side":1,"shape":{"type":"poly","subs":[[[-4.4,-0.4],[-4.2,-1.3],[-3.9,-2.1],[-3.4,-2.8],[-2.8,-3.4],[-2.1,-3.9],[-1.3,-4.2],[-0.4,-4.4],[0.4,-4.4],[1.3,-4.2],[2.1,-3.9],[2.8,-3.4],[3.4,-2.8],[3.9,-2.1],[4.2,-1.3],[4.4,-0.4],[4.4,0.4],[4.2,1.3],[3.9,2.1],[3.4,2.8],[2.8,3.4],[2.1,3.9],[1.3,4.2],[0.4,4.4],[-0.4,4.4],[-1.3,4.2],[-2.1,3.9],[-2.8,3.4],[-3.4,2.8],[-3.9,2.1],[-4.2,1.3],[-4.4,0.4]]]},"pos":{"x":20,"y":20},"rot":0,"sx":1,"sy":1,"z":0.03,"fill":"#5c677d","children":[],"clip":true,"inner":true}]}]},"legs":0,"kind":"custom","height":25.2,"footprint":46.2,"look":"outlined","fx":2,"views":[{"view":"top"}]},"box":{"w":2,"h":2},"edges":"wrap","states":{"start":"big","list":{"big":{},"medium":{},"small":{}}}}},"worlds":{"field":{"v":1,"kind":"world","art":1,"name":"Rock field","w":32,"h":18,"sky":{"kind":"space"},"pieces":[],"marks":{"spawn":{"x":16,"y":9}},"camera":{"x":16,"y":9,"h":18}}},"vars":{"score":0,"lives":3,"split":0,"safe":0,"field":1,"pace":1},"levels":{"Field":{"world":"field","layout":[{"thing":"Ship","id":"ship","x":16,"y":9.4},{"thing":"Rock","id":"rock1","x":4,"y":3},{"thing":"Rock","id":"rock2","x":28,"y":3},{"thing":"Rock","id":"rock3","x":4,"y":16},{"thing":"Rock","id":"rock4","x":28,"y":16}]}},"procedures":{"nextField":{"body":[{"op":"setVar","var":"pace","value":"=1 + (field - 1) * 0.015"},{"op":"setVar","var":"split","value":0},{"op":"repeat","n":"=min(10, 3 + ceil(field / 4))","body":[{"op":"make","thing":"Rock","x":"=mod(xof(ship) + 8 + random * 16, 32)","y":"=random * 18"}]}]}},"scripts":[{"hat":{"on":"start"},"body":[{"op":"show","name":"score","as":"number","label":"Score"},{"op":"show","name":"lives","as":"hearts","label":"Lives"},{"op":"show","name":"field","as":"number","label":"Field"},{"op":"speed","who":"rock1","vx":2.2,"vy":1.1},{"op":"speed","who":"rock2","vx":-1.8,"vy":1.4},{"op":"speed","who":"rock3","vx":1.5,"vy":-1.6},{"op":"speed","who":"rock4","vx":-2.1,"vy":-1.2},{"op":"steer","who":"ship","keys":"arrows","axes":"heading","speed":9,"turn":200,"thrust":8}]},{"hat":{"on":"key","key":"space"},"body":[{"op":"if","cond":"=count(Bullet) < 4","body":[{"op":"make","thing":"Bullet","x":"=xof(ship) + cos(headingof(ship) * pi / 180) * 0.55","y":"=yof(ship) - 0.275 + sin(headingof(ship) * pi / 180) * 0.55","heading":"=headingof(ship)"},{"op":"sound","name":"zap"}]}]},{"hat":{"on":"appear","who":"Bullet"},"body":[{"op":"thrust","who":"me","by":12}]},{"hat":{"on":"appear","who":"Rock"},"body":[{"op":"if","cond":"=split == 2","body":[{"op":"state","who":"me","to":"medium"},{"op":"resize","who":"me","size":0.6}]},{"op":"if","cond":"=split == 3","body":[{"op":"state","who":"me","to":"small"},{"op":"resize","who":"me","size":0.3}]},{"op":"speed","who":"me","vx":"=(random - 0.5) * 5 * pace","vy":"=(random - 0.5) * 5 * pace"},{"op":"if","cond":"=abs(vxof(me)) + abs(vyof(me)) < 1","body":[{"op":"speed","who":"me","vx":"=1.2 * pace","vy":"=0.8 * pace"}]}]},{"hat":{"on":"touch","who":"Bullet","what":"a Rock"},"body":[{"op":"sound","name":"hit"},{"op":"if","cond":"=instate(other, big)","body":[{"op":"changeVar","var":"score","by":20},{"op":"state","who":"other","to":"medium"},{"op":"resize","who":"other","size":0.6},{"op":"setVar","var":"split","value":2},{"op":"make","thing":"Rock","x":"=xof(other)","y":"=yof(other)"}],"else":[{"op":"if","cond":"=instate(other, medium)","body":[{"op":"changeVar","var":"score","by":30},{"op":"state","who":"other","to":"small"},{"op":"resize","who":"other","size":0.3},{"op":"setVar","var":"split","value":3},{"op":"make","thing":"Rock","x":"=xof(other)","y":"=yof(other)"}],"else":[{"op":"changeVar","var":"score","by":50},{"op":"remove","who":"other"}]}]},{"op":"remove","who":"me"}]},{"hat":{"on":"touch","who":"ship","what":"a Rock"},"body":[{"op":"if","cond":"=safe == 0","body":[{"op":"changeVar","var":"lives","by":-1},{"op":"sound","name":"hit"},{"op":"countdown","var":"safe","from":2},{"op":"restyle","who":"ship","color":"#8ecae6"},{"op":"blink","who":"ship","s":2},{"op":"place","who":"ship","x":16,"y":9.4},{"op":"speed","who":"ship","vx":0,"vy":0}]}]},{"hat":{"on":"zero","var":"safe"},"body":[{"op":"restyle","who":"ship","color":"#f1faee"}]},{"hat":{"on":"zero","var":"lives"},"body":[{"op":"sound","name":"lose"},{"op":"lose","text":"Your ship is out of lives."}]},{"hat":{"on":"when","cond":"=count(Rock) == 0"},"body":[{"op":"sound","name":"win"},{"op":"caption","text":"Field cleared! The next one is coming.","for":1.5},{"op":"changeVar","var":"field","by":1},{"op":"if","cond":"=field > 99","body":[{"op":"setVar","var":"field","value":1}]},{"op":"if","cond":"=mod(field, 10) == 0 && lives < 5","body":[{"op":"changeVar","var":"lives","by":1},{"op":"sound","name":"powerup"}]},{"op":"countdown","var":"safe","from":2},{"op":"blink","who":"ship","s":2},{"op":"wait","s":1},{"op":"call","name":"nextField"}]}]},"file":"games/rock_field/game.json"},{"pack":1,"id":"c4c:game:star_guard","type":"game","version":"1.0.0","name":"Star Guard","description":"Slide your cannon and shoot every invader before they reach the ground. Hide behind the shields from their bombs. 99 waves, each faster, then the first again.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"controls":{"keys":"Left and right arrows move the cannon. Space shoots.","pad":"◀ ▶ move the cannon. Jump shoots.","drives":"cannon1"},"content_hash":"sha256:8aec6d7a1430c1b57db3d854c63c4b9c5b5a11899952970f1a65c608c3594e2a","content":{"v":1,"kind":"game","name":"Star Guard","view":"space","note":"The swarm moves together: when one invader meets the edge, they all turn once (a group hat) and each steps down from where it is (each). One shot at a time. Bombs and shots break the shield bricks they meet. 99 waves: after the second, its field comes back (restartLevel) with the invaders a little faster and bombing a little more each time; a life more every tenth wave; after the 99th, the first again.","things":{"Cannon":{"shape":"box","color":"#e63946","model":{"tree":{"id":"root","role":"root","pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"children":[{"id":"spine","role":"torso","side":1,"shape":{"type":"poly","subs":[[[-60,-7.6],[-59,-12.8],[-55.8,-16],[-50.6,-17],[50.6,-17],[55.8,-16],[59,-12.8],[60,-7.6],[60,7.6],[59,12.8],[55.8,16],[50.6,17],[-50.6,17],[-55.8,16],[-59,12.8],[-60,7.6]]]},"pos":{"x":0,"y":27.5},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#256f46","children":[{"id":"spine_lit","role":null,"shape":{"type":"poly","subs":[[[-64.4,-12.7],[-63.4,-17.9],[-60.2,-21.1],[-55,-22.1],[46.2,-22.1],[51.4,-21.1],[54.6,-17.9],[55.6,-12.7],[55.6,2.5],[54.6,7.7],[51.4,10.9],[46.2,11.9],[-55,11.9],[-60.2,10.9],[-63.4,7.7],[-64.4,2.5]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#2e8b57","outline":false,"clip":true,"children":[]},{"id":"stripe","role":null,"side":1,"shape":{"type":"poly","subs":[[[-52,-2],[52,-2],[52,2],[-52,2]]]},"pos":{"x":0,"y":-6},"rot":0,"sx":1,"sy":1,"z":0.03,"fill":"#7be495","children":[],"clip":true,"inner":true,"group":"skina"},{"id":"turret","role":null,"shape":{"type":"poly","subs":[[[-24,-7.5],[-23.4,-10.6],[-21.6,-12.4],[-18.5,-13],[18.5,-13],[21.6,-12.4],[23.4,-10.6],[24,-7.5],[24,7.5],[23.4,10.6],[21.6,12.4],[18.5,13],[-18.5,13],[-21.6,12.4],[-23.4,10.6],[-24,7.5]]]},"pos":{"x":0,"y":-26},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#256f46","children":[{"id":"turret_lit","role":null,"shape":{"type":"poly","subs":[[[-27.4,-11.4],[-26.8,-14.5],[-25,-16.3],[-21.9,-16.9],[15.1,-16.9],[18.2,-16.3],[20,-14.5],[20.6,-11.4],[20.6,3.6],[20,6.7],[18.2,8.5],[15.1,9.1],[-21.9,9.1],[-25,8.5],[-26.8,6.7],[-27.4,3.6]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#2e8b57","outline":false,"clip":true,"children":[]}],"group":"skina"},{"id":"barrel","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-6,-16.9],[-5.7,-18.6],[-4.6,-19.7],[-2.9,-20],[2.9,-20],[4.6,-19.7],[5.7,-18.6],[6,-16.9],[6,16.9],[5.7,18.6],[4.6,19.7],[2.9,20],[-2.9,20],[-4.6,19.7],[-5.7,18.6],[-6,16.9]]]},"pos":{"x":0,"y":-52},"rot":0,"sx":1,"sy":1,"z":0.02,"fill":"#717a8b","children":[{"id":"barrel_lit","role":null,"shape":{"type":"poly","subs":[[[-8,-18.9],[-7.7,-20.6],[-6.6,-21.7],[-4.9,-22],[0.9,-22],[2.6,-21.7],[3.7,-20.6],[4,-18.9],[4,14.9],[3.7,16.6],[2.6,17.7],[0.9,18],[-4.9,18],[-6.6,17.7],[-7.7,16.6],[-8,14.9]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#8d99ae","outline":false,"clip":true,"children":[]}]}],"group":"skina"}]},"legs":0,"kind":"custom","height":11,"footprint":60,"look":"outlined","fx":2,"views":[{"view":"top"}]},"box":{"w":1.2,"h":0.8},"edges":"stop"},"Shot":{"shape":"box","color":"#ffffff","box":{"w":0.2,"h":0.6},"edges":{"left":"stop","right":"stop","top":"off","bottom":"stop"}},"Bomb":{"shape":"box","color":"#ff9f1c","box":{"w":0.3,"h":0.5},"edges":{"left":"stop","right":"stop","top":"stop","bottom":"off"}},"Invader":{"shape":"box","color":"#2ec4b6","model":{"tree":{"id":"root","role":"root","pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"children":[{"id":"spine","role":"torso","side":-1,"shape":{"type":"poly","subs":[[[-4.5,-4.5],[4.5,-4.5],[4.5,4.5],[-4.5,4.5]]]},"pos":{"x":-27,"y":-31.5},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#2ec4b6","children":[{"id":"pixels","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-4.5,-4.5],[4.5,-4.5],[4.5,4.5],[-4.5,4.5]]]},"pos":{"x":54,"y":0},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#2ec4b6","children":[],"group":"skina"},{"id":"pixels2","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-4.5,-4.5],[4.5,-4.5],[4.5,4.5],[-4.5,4.5]]]},"pos":{"x":9,"y":9},"rot":0,"sx":1,"sy":1,"z":0.02,"fill":"#2ec4b6","children":[],"group":"skina"},{"id":"pixels3","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-4.5,-4.5],[4.5,-4.5],[4.5,4.5],[-4.5,4.5]]]},"pos":{"x":45,"y":9},"rot":0,"sx":1,"sy":1,"z":0.03,"fill":"#2ec4b6","children":[],"group":"skina"},{"id":"pixels4","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-31.5,-4.5],[31.5,-4.5],[31.5,4.5],[-31.5,4.5]]]},"pos":{"x":27,"y":18},"rot":0,"sx":1,"sy":1,"z":0.04,"fill":"#2ec4b6","children":[],"group":"skina"},{"id":"pixels5","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-9,-4.5],[9,-4.5],[9,4.5],[-9,4.5]]]},"pos":{"x":-4.5,"y":27},"rot":0,"sx":1,"sy":1,"z":0.05,"fill":"#2ec4b6","children":[],"group":"skina"},{"id":"pixels6","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-13.5,-4.5],[13.5,-4.5],[13.5,4.5],[-13.5,4.5]]]},"pos":{"x":27,"y":27},"rot":0,"sx":1,"sy":1,"z":0.06,"fill":"#2ec4b6","children":[],"group":"skina"},{"id":"pixels7","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-9,-4.5],[9,-4.5],[9,4.5],[-9,4.5]]]},"pos":{"x":58.5,"y":27},"rot":0,"sx":1,"sy":1,"z":0.07,"fill":"#2ec4b6","children":[],"group":"skina"},{"id":"pixels8","role":null,"side":1,"shape":{"type":"poly","subs":[[[-49.5,-4.5],[49.5,-4.5],[49.5,4.5],[-49.5,4.5]]]},"pos":{"x":27,"y":36},"rot":0,"sx":1,"sy":1,"z":0.08,"fill":"#2ec4b6","children":[],"group":"skina"},{"id":"pixels9","role":null,"side":1,"shape":{"type":"poly","subs":[[[-4.5,-4.5],[4.5,-4.5],[4.5,4.5],[-4.5,4.5]]]},"pos":{"x":-18,"y":45},"rot":0,"sx":1,"sy":1,"z":0.09,"fill":"#2ec4b6","children":[],"group":"skina"},{"id":"pixels10","role":null,"side":1,"shape":{"type":"poly","subs":[[[-31.5,-4.5],[31.5,-4.5],[31.5,4.5],[-31.5,4.5]]]},"pos":{"x":27,"y":45},"rot":0,"sx":1,"sy":1,"z":0.1,"fill":"#2ec4b6","children":[],"group":"skina"},{"id":"pixels11","role":null,"side":1,"shape":{"type":"poly","subs":[[[-4.5,-4.5],[4.5,-4.5],[4.5,4.5],[-4.5,4.5]]]},"pos":{"x":72,"y":45},"rot":0,"sx":1,"sy":1,"z":0.11,"fill":"#2ec4b6","children":[],"group":"skina"},{"id":"pixels12","role":null,"side":1,"shape":{"type":"poly","subs":[[[-4.5,-4.5],[4.5,-4.5],[4.5,4.5],[-4.5,4.5]]]},"pos":{"x":-18,"y":54},"rot":0,"sx":1,"sy":1,"z":0.12,"fill":"#2ec4b6","children":[],"group":"skina"},{"id":"pixels13","role":null,"side":1,"shape":{"type":"poly","subs":[[[-4.5,-4.5],[4.5,-4.5],[4.5,4.5],[-4.5,4.5]]]},"pos":{"x":0,"y":54},"rot":0,"sx":1,"sy":1,"z":0.13,"fill":"#2ec4b6","children":[],"group":"skina"},{"id":"pixels14","role":null,"side":1,"shape":{"type":"poly","subs":[[[-4.5,-4.5],[4.5,-4.5],[4.5,4.5],[-4.5,4.5]]]},"pos":{"x":54,"y":54},"rot":0,"sx":1,"sy":1,"z":0.14,"fill":"#2ec4b6","children":[],"group":"skina"},{"id":"pixels15","role":null,"side":1,"shape":{"type":"poly","subs":[[[-4.5,-4.5],[4.5,-4.5],[4.5,4.5],[-4.5,4.5]]]},"pos":{"x":72,"y":54},"rot":0,"sx":1,"sy":1,"z":0.15,"fill":"#2ec4b6","children":[],"group":"skina"},{"id":"pixels16","role":null,"side":1,"shape":{"type":"poly","subs":[[[-9,-4.5],[9,-4.5],[9,4.5],[-9,4.5]]]},"pos":{"x":13.5,"y":63},"rot":0,"sx":1,"sy":1,"z":0.16,"fill":"#2ec4b6","children":[],"group":"skina"},{"id":"pixels17","role":null,"side":1,"shape":{"type":"poly","subs":[[[-9,-4.5],[9,-4.5],[9,4.5],[-9,4.5]]]},"pos":{"x":40.5,"y":63},"rot":0,"sx":1,"sy":1,"z":0.17,"fill":"#2ec4b6","children":[],"group":"skina"}],"group":"skina"}]},"legs":0,"kind":"custom","height":6,"footprint":49.5,"look":"outlined","fx":2,"views":[{"view":"top"}]},"box":{"w":1,"h":0.8},"edges":"stop"}},"worlds":{"court":{"v":1,"kind":"world","art":1,"name":"Star court","w":28,"h":20,"sky":{"kind":"space"},"pieces":[{"id":"shield1","shape":"cells","x":3,"y":15,"key":{"b":"brick"},"rows":["bbb","bbb"]},{"id":"shield2","shape":"cells","x":12.5,"y":15,"key":{"b":"brick"},"rows":["bbb","bbb"]},{"id":"shield3","shape":"cells","x":22,"y":15,"key":{"b":"brick"},"rows":["bbb","bbb"]}],"marks":{"spawn":{"x":14,"y":18.6}},"camera":{"x":14,"y":10,"h":20}}},"vars":{"score":0,"lives":3,"dir":1,"speed":2,"bottom":5,"wave":1,"shields":18,"hurt":0},"levels":{"Wave 1":{"world":"court","layout":[{"thing":"Cannon","id":"cannon1","x":14,"y":18.6},{"thing":"Invader","id":"w1_0_0","x":3,"y":3},{"thing":"Invader","id":"w1_0_1","x":6,"y":3},{"thing":"Invader","id":"w1_0_2","x":9,"y":3},{"thing":"Invader","id":"w1_0_3","x":12,"y":3},{"thing":"Invader","id":"w1_0_4","x":15,"y":3},{"thing":"Invader","id":"w1_0_5","x":18,"y":3},{"thing":"Invader","id":"w1_1_0","x":3,"y":4},{"thing":"Invader","id":"w1_1_1","x":6,"y":4},{"thing":"Invader","id":"w1_1_2","x":9,"y":4},{"thing":"Invader","id":"w1_1_3","x":12,"y":4},{"thing":"Invader","id":"w1_1_4","x":15,"y":4},{"thing":"Invader","id":"w1_1_5","x":18,"y":4},{"thing":"Invader","id":"w1_2_0","x":3,"y":5},{"thing":"Invader","id":"w1_2_1","x":6,"y":5},{"thing":"Invader","id":"w1_2_2","x":9,"y":5},{"thing":"Invader","id":"w1_2_3","x":12,"y":5},{"thing":"Invader","id":"w1_2_4","x":15,"y":5},{"thing":"Invader","id":"w1_2_5","x":18,"y":5}]},"Wave 2":{"world":"court","layout":[{"thing":"Cannon","id":"cannon2","x":14,"y":18.6},{"thing":"Invader","id":"w2_0_0","x":3,"y":3},{"thing":"Invader","id":"w2_0_1","x":6,"y":3},{"thing":"Invader","id":"w2_0_2","x":9,"y":3},{"thing":"Invader","id":"w2_0_3","x":12,"y":3},{"thing":"Invader","id":"w2_0_4","x":15,"y":3},{"thing":"Invader","id":"w2_0_5","x":18,"y":3},{"thing":"Invader","id":"w2_1_0","x":3,"y":4},{"thing":"Invader","id":"w2_1_1","x":6,"y":4},{"thing":"Invader","id":"w2_1_2","x":9,"y":4},{"thing":"Invader","id":"w2_1_3","x":12,"y":4},{"thing":"Invader","id":"w2_1_4","x":15,"y":4},{"thing":"Invader","id":"w2_1_5","x":18,"y":4},{"thing":"Invader","id":"w2_2_0","x":3,"y":5},{"thing":"Invader","id":"w2_2_1","x":6,"y":5},{"thing":"Invader","id":"w2_2_2","x":9,"y":5},{"thing":"Invader","id":"w2_2_3","x":12,"y":5},{"thing":"Invader","id":"w2_2_4","x":15,"y":5},{"thing":"Invader","id":"w2_2_5","x":18,"y":5},{"thing":"Invader","id":"w2_3_0","x":3,"y":6},{"thing":"Invader","id":"w2_3_1","x":6,"y":6},{"thing":"Invader","id":"w2_3_2","x":9,"y":6},{"thing":"Invader","id":"w2_3_3","x":12,"y":6},{"thing":"Invader","id":"w2_3_4","x":15,"y":6},{"thing":"Invader","id":"w2_3_5","x":18,"y":6}]}},"collide":[{"a":"Shot","b":"brick","touch":true},{"a":"Bomb","b":"brick","touch":true}],"scripts":[{"hat":{"on":"start"},"body":[{"op":"show","name":"score","as":"number","label":"Score"},{"op":"show","name":"lives","as":"hearts","label":"Lives"},{"op":"show","name":"shields","as":"number","label":"Shields"},{"op":"show","name":"wave","as":"number","label":"Wave"}]},{"hat":{"on":"scene","name":"Wave 1"},"body":[{"op":"steer","who":"Cannon","keys":"arrows","speed":10,"axes":"x"},{"op":"setVar","var":"dir","value":1},{"op":"setVar","var":"speed","value":2},{"op":"setVar","var":"bottom","value":5},{"op":"speed","who":"Invader","vx":"=speed * dir","vy":0}]},{"hat":{"on":"scene","name":"Wave 2"},"body":[{"op":"steer","who":"Cannon","keys":"arrows","speed":10,"axes":"x"},{"op":"setVar","var":"dir","value":1},{"op":"setVar","var":"speed","value":"=2.5 + 0.03 * (wave - 2)"},{"op":"setVar","var":"bottom","value":6},{"op":"setVar","var":"shields","value":"=count(brick)"},{"op":"speed","who":"Invader","vx":"=speed * dir","vy":0}]},{"hat":{"on":"key","key":"space"},"body":[{"op":"if","cond":"=count(Shot) == 0","body":[{"op":"each","who":"Cannon","body":[{"op":"make","thing":"Shot","x":"=xof(me)","y":"=yof(me) - 0.8","vx":0,"vy":-18}]},{"op":"sound","name":"zap"}]}]},{"hat":{"on":"touch","who":"Shot","what":"an Invader"},"body":[{"op":"changeVar","var":"score","by":10},{"op":"sound","name":"pop"},{"op":"remove","who":"other"},{"op":"remove","who":"me"}]},{"hat":{"on":"touch","who":"Shot","what":"brick"},"body":[{"op":"remove","who":"other"},{"op":"setVar","var":"shields","value":"=count(brick)"},{"op":"remove","who":"me"}]},{"hat":{"on":"offstage","who":"Shot"},"body":[{"op":"remove","who":"me"}]},{"hat":{"on":"every","s":1.5},"body":[{"op":"each","who":"Invader","body":[{"op":"if","cond":"=random < 0.04 * (1 + (wave - 1) / 70)","body":[{"op":"make","thing":"Bomb","x":"=xof(me)","y":"=yof(me) + 0.6","vx":0,"vy":5}]}]}]},{"hat":{"on":"touch","who":"Bomb","what":"brick"},"body":[{"op":"remove","who":"other"},{"op":"setVar","var":"shields","value":"=count(brick)"},{"op":"remove","who":"me"}]},{"hat":{"on":"touch","who":"Bomb","what":"a Cannon"},"body":[{"op":"if","cond":"=hurt == 0","body":[{"op":"changeVar","var":"lives","by":-1},{"op":"sound","name":"hit"},{"op":"countdown","var":"hurt","from":1},{"op":"restyle","who":"Cannon","color":"#ffb3c1"}]},{"op":"remove","who":"me"}]},{"hat":{"on":"zero","var":"hurt"},"body":[{"op":"restyle","who":"Cannon","color":"#e63946"}]},{"hat":{"on":"offstage","who":"Bomb"},"body":[{"op":"remove","who":"me"}]},{"hat":{"on":"touch","who":"Invader","what":"the edge","group":true},"body":[{"op":"setVar","var":"dir","value":"=dir * -1"},{"op":"place","who":"Invader","y":"=yof(me) + 1","each":true},{"op":"speed","who":"Invader","vx":"=speed * dir"},{"op":"changeVar","var":"bottom","by":1}]},{"hat":{"on":"when","cond":"=bottom >= 15"},"body":[{"op":"sound","name":"lose"},{"op":"lose","text":"The invaders landed!"}]},{"hat":{"on":"zero","var":"lives"},"body":[{"op":"sound","name":"lose"},{"op":"lose","text":"Your cannon is out of lives."}]},{"hat":{"on":"when","cond":"=count(Invader) == 0"},"body":[{"op":"sound","name":"win"},{"op":"changeVar","var":"wave","by":1},{"op":"if","cond":"=mod(wave, 10) == 0 && lives < 5","body":[{"op":"changeVar","var":"lives","by":1},{"op":"sound","name":"powerup"}]},{"op":"if","cond":"=wave > 99","body":[{"op":"setVar","var":"wave","value":1},{"op":"goLevel","name":"Wave 1"}],"else":[{"op":"if","cond":"=wave == 2","body":[{"op":"next"}],"else":[{"op":"restartLevel"}]}]}]}]},"file":"games/star_guard/game.json"},{"pack":1,"id":"c4c:game:sub_hunt","type":"game","version":"1.0.0","name":"Sub Hunt","description":"Sail over the submarine and drop depth charges: sink it before its torpedoes hit you three times. 99 rounds, each sub faster, then round again.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"controls":{"keys":"Left and right arrows sail the ship. Space drops a depth charge.","pad":"◀ ▶ sail. Jump drops a depth charge.","drives":"ship"},"content_hash":"sha256:9d3f79b348efb733a7bc9e4e2a87188694d8577019a02d9a13f22e37b4cf9e50","content":{"v":1,"kind":"game","name":"Sub Hunt","note":"Seen from the side. The surface is solid for the submarine alone, so it never comes up, and its torpedoes go up through it. Depth charges sink for four seconds, two at a time. A hit submarine is safe for two seconds. 99 rounds, the three submarines in turn: each faster and firing more often than the one before (to two and a half times as fast, a torpedo every 0.6 s at most); after the 99th, the first again. The ship sits in the water.","things":{"Ship":{"shape":"box","color":"#495057","model":{"tree":{"id":"root","role":"root","pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"children":[{"id":"spine","role":"torso","shape":{"type":"poly","subs":[[[-111.6,-1.7],[-113.3,-10.2],[-109.9,-15.3],[-101.4,-17],[100.5,-17],[109.3,-15.3],[112.3,-10.2],[109.5,-1.7],[107.6,1.7],[101,10.2],[92.3,15.3],[81.6,17],[-87.3,17],[-97.2,15.3],[-104.8,10.2],[-110.2,1.7]]]},"pos":{"x":0,"y":-17},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#565e64","children":[{"id":"spine_lit","role":null,"shape":{"type":"poly","subs":[[[-116,-6.8],[-117.7,-15.3],[-114.3,-20.4],[-105.8,-22.1],[96.1,-22.1],[104.9,-20.4],[107.9,-15.3],[105.1,-6.8],[103.2,-3.4],[96.6,5.1],[87.9,10.2],[77.2,11.9],[-91.7,11.9],[-101.6,10.2],[-109.2,5.1],[-114.6,-3.4]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#6c757d","outline":false,"clip":true,"children":[]},{"id":"deck","role":null,"shape":{"type":"poly","subs":[[[-113,-0.2],[113,-0.2],[113,2.8],[-113,2.8]]]},"pos":{"x":0,"y":-17},"rot":0,"sx":1,"sy":1,"z":-0.01,"fill":"#495057","children":[]},{"id":"cabin","role":null,"shape":{"type":"poly","subs":[[[-28,-16.8],[-27.7,-18.5],[-26.7,-19.5],[-25,-19.8],[25,-19.8],[26.7,-19.5],[27.7,-18.5],[28,-16.8],[28,-0.8],[27.7,0.9],[26.7,1.9],[25,2.2],[-25,2.2],[-26.7,1.9],[-27.7,0.9],[-28,-0.8]]]},"pos":{"x":17.7,"y":-17},"rot":0,"sx":1,"sy":1,"z":-0.03,"fill":"#8a9197","children":[{"id":"cabin_lit","role":null,"shape":{"type":"poly","subs":[[[-30.9,-20.1],[-30.6,-21.8],[-29.6,-22.8],[-27.9,-23.1],[22.1,-23.1],[23.8,-22.8],[24.8,-21.8],[25.1,-20.1],[25.1,-4.1],[24.8,-2.4],[23.8,-1.4],[22.1,-1.1],[-27.9,-1.1],[-29.6,-1.4],[-30.6,-2.4],[-30.9,-4.1]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#adb5bd","outline":false,"clip":true,"children":[]},{"id":"windows","role":null,"shape":{"type":"poly","subs":[[[-17,-0.4],[17,-0.4],[17,3.6],[-17,3.6]]]},"pos":{"x":0,"y":-19.8},"rot":0,"sx":1,"sy":1,"z":-0.01,"fill":"#343a40","children":[]},{"id":"mast","role":null,"shape":{"type":"poly","subs":[[[-6,-25.4],[-5.8,-26.3],[-5.3,-26.8],[-4.4,-27],[4.4,-27],[5.3,-26.8],[5.8,-26.3],[6,-25.4],[6,1.4],[5.8,2.3],[5.3,2.8],[4.4,3],[-4.4,3],[-5.3,2.8],[-5.8,2.3],[-6,1.4]]]},"pos":{"x":5.6,"y":-19.8},"rot":0,"sx":1,"sy":1,"z":-0.02,"fill":"#3a4046","children":[{"id":"mast_lit","role":null,"shape":{"type":"poly","subs":[[[-8,-27.4],[-7.8,-28.3],[-7.3,-28.8],[-6.4,-29],[2.4,-29],[3.3,-28.8],[3.8,-28.3],[4,-27.4],[4,-0.6],[3.8,0.3],[3.3,0.8],[2.4,1],[-6.4,1],[-7.3,0.8],[-7.8,0.3],[-8,-0.6]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#495057","outline":false,"clip":true,"children":[]}]}]},{"id":"gun_deck","role":null,"shape":{"type":"poly","subs":[[[-20,-4.1],[-19.7,-5.8],[-18.6,-6.9],[-16.9,-7.2],[16.9,-7.2],[18.6,-6.9],[19.7,-5.8],[20,-4.1],[20,-2.3],[19.7,-0.6],[18.6,0.5],[16.9,0.8],[-16.9,0.8],[-18.6,0.5],[-19.7,-0.6],[-20,-2.3]]]},"pos":{"x":-53.1,"y":-17},"rot":0,"sx":1,"sy":1,"z":-0.02,"fill":"#495057","children":[]}]}]},"legs":0,"kind":"custom","height":80.8,"footprint":113.2,"look":"outlined","fx":2,"views":[{"view":"side"}]},"box":{"w":3.4,"h":1.1},"edges":"stop"},"Sub":{"shape":"box","color":"#073b4c","model":{"tree":{"id":"root","role":"root","pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"children":[{"id":"spine","role":"torso","shape":{"type":"poly","subs":[[[-94.9,-0.8],[-94.7,-2.4],[-94.5,-3.6],[-94.4,-4.4],[-94.2,-5.2],[-94,-6.1],[-93.7,-6.9],[-93.4,-7.7],[-93.2,-8.2],[-93.1,-8.5],[-92.9,-9],[-92.5,-9.8],[-92.1,-10.5],[-91.7,-11.3],[-91.2,-12],[-90.7,-12.7],[-90.4,-13.2],[-90.2,-13.4],[-89.9,-13.8],[-89.3,-14.5],[-88.7,-15.1],[-88.1,-15.7],[-87.5,-16.3],[-86.8,-16.9],[-86.4,-17.2],[-86.2,-17.4],[-85.7,-17.7],[-85,-18.2],[-84.3,-18.7],[-83.5,-19.1],[-82.8,-19.5],[-82,-19.9],[-81.5,-20.1],[-81.2,-20.2],[-80.7,-20.4],[-79.9,-20.7],[-79.1,-21],[-78.2,-21.2],[-77.4,-21.4],[-76.6,-21.5],[-76,-21.6],[-75.7,-21.6],[-75.1,-21.7],[-74.3,-21.8],[-73.4,-21.9],[-72.6,-21.9],[-71.7,-22],[-70.8,-22],[-35.2,-22],[35.2,-22],[70.8,-22],[71.7,-22],[72.6,-21.9],[73.4,-21.9],[74.3,-21.8],[75.1,-21.7],[75.7,-21.6],[76,-21.6],[76.6,-21.5],[77.4,-21.4],[78.2,-21.2],[79.1,-21],[79.9,-20.7],[80.7,-20.4],[81.2,-20.2],[81.5,-20.1],[82,-19.9],[82.8,-19.5],[83.5,-19.1],[84.3,-18.7],[85,-18.2],[85.7,-17.7],[86.2,-17.4],[86.4,-17.2],[86.8,-16.9],[87.5,-16.3],[88.1,-15.7],[88.7,-15.1],[89.3,-14.5],[89.9,-13.8],[90.2,-13.4],[90.4,-13.2],[90.7,-12.7],[91.2,-12],[91.7,-11.3],[92.1,-10.5],[92.5,-9.8],[92.9,-9],[93.1,-8.5],[93.2,-8.2],[93.4,-7.7],[93.7,-6.9],[94,-6.1],[94.2,-5.2],[94.4,-4.4],[94.5,-3.6],[94.7,-2.4],[94.9,-0.8],[95,0],[95,0],[94.9,0.8],[94.7,2.4],[94.5,3.6],[94.4,4.4],[94.2,5.2],[94,6.1],[93.7,6.9],[93.4,7.7],[93.2,8.2],[93.1,8.5],[92.9,9],[92.5,9.8],[92.1,10.5],[91.7,11.3],[91.2,12],[90.7,12.7],[90.4,13.2],[90.2,13.4],[89.9,13.8],[89.3,14.5],[88.7,15.1],[88.1,15.7],[87.5,16.3],[86.8,16.9],[86.4,17.2],[86.2,17.4],[85.7,17.7],[85,18.2],[84.3,18.7],[83.5,19.1],[82.8,19.5],[82,19.9],[81.5,20.1],[81.2,20.2],[80.7,20.4],[79.9,20.7],[79.1,21],[78.2,21.2],[77.4,21.4],[76.6,21.5],[76,21.6],[75.7,21.6],[75.1,21.7],[74.3,21.8],[73.4,21.9],[72.6,21.9],[71.7,22],[70.8,22],[35.2,22],[-35.2,22],[-70.8,22],[-71.7,22],[-72.6,21.9],[-73.4,21.9],[-74.3,21.8],[-75.1,21.7],[-75.7,21.6],[-76,21.6],[-76.6,21.5],[-77.4,21.4],[-78.2,21.2],[-79.1,21],[-79.9,20.7],[-80.7,20.4],[-81.2,20.2],[-81.5,20.1],[-82,19.9],[-82.8,19.5],[-83.5,19.1],[-84.3,18.7],[-85,18.2],[-85.7,17.7],[-86.2,17.4],[-86.4,17.2],[-86.8,16.9],[-87.5,16.3],[-88.1,15.7],[-88.7,15.1],[-89.3,14.5],[-89.9,13.8],[-90.2,13.4],[-90.4,13.2],[-90.7,12.7],[-91.2,12],[-91.7,11.3],[-92.1,10.5],[-92.5,9.8],[-92.9,9],[-93.1,8.5],[-93.2,8.2],[-93.4,7.7],[-93.7,6.9],[-94,6.1],[-94.2,5.2],[-94.4,4.4],[-94.5,3.6],[-94.7,2.4],[-94.9,0.8],[-95,0],[-95,0]]]},"pos":{"x":8,"y":-22},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#263a46","children":[{"id":"spine_lit","role":null,"shape":{"type":"poly","subs":[[[-100.6,-7.4],[-100.4,-9],[-100.2,-10.2],[-100.1,-11],[-99.9,-11.8],[-99.7,-12.7],[-99.4,-13.5],[-99.1,-14.3],[-98.9,-14.8],[-98.8,-15.1],[-98.6,-15.6],[-98.2,-16.4],[-97.8,-17.1],[-97.4,-17.9],[-96.9,-18.6],[-96.4,-19.3],[-96.1,-19.8],[-95.9,-20],[-95.6,-20.4],[-95,-21.1],[-94.4,-21.7],[-93.8,-22.3],[-93.2,-22.9],[-92.5,-23.5],[-92.1,-23.8],[-91.9,-24],[-91.4,-24.3],[-90.7,-24.8],[-90,-25.3],[-89.2,-25.7],[-88.5,-26.1],[-87.7,-26.5],[-87.2,-26.7],[-86.9,-26.8],[-86.4,-27],[-85.6,-27.3],[-84.8,-27.6],[-83.9,-27.8],[-83.1,-28],[-82.3,-28.1],[-81.7,-28.2],[-81.4,-28.2],[-80.8,-28.3],[-80,-28.4],[-79.1,-28.5],[-78.3,-28.5],[-77.4,-28.6],[-76.5,-28.6],[-40.9,-28.6],[29.5,-28.6],[65.1,-28.6],[66,-28.6],[66.9,-28.5],[67.7,-28.5],[68.6,-28.4],[69.4,-28.3],[70,-28.2],[70.3,-28.2],[70.9,-28.1],[71.7,-28],[72.5,-27.8],[73.4,-27.6],[74.2,-27.3],[75,-27],[75.5,-26.8],[75.8,-26.7],[76.3,-26.5],[77.1,-26.1],[77.8,-25.7],[78.6,-25.3],[79.3,-24.8],[80,-24.3],[80.5,-24],[80.7,-23.8],[81.1,-23.5],[81.8,-22.9],[82.4,-22.3],[83,-21.7],[83.6,-21.1],[84.2,-20.4],[84.5,-20],[84.7,-19.8],[85,-19.3],[85.5,-18.6],[86,-17.9],[86.4,-17.1],[86.8,-16.4],[87.2,-15.6],[87.4,-15.1],[87.5,-14.8],[87.7,-14.3],[88,-13.5],[88.3,-12.7],[88.5,-11.8],[88.7,-11],[88.8,-10.2],[89,-9],[89.2,-7.4],[89.3,-6.6],[89.3,-6.6],[89.2,-5.8],[89,-4.2],[88.8,-3],[88.7,-2.2],[88.5,-1.4],[88.3,-0.5],[88,0.3],[87.7,1.1],[87.5,1.6],[87.4,1.9],[87.2,2.4],[86.8,3.2],[86.4,3.9],[86,4.7],[85.5,5.4],[85,6.1],[84.7,6.6],[84.5,6.8],[84.2,7.2],[83.6,7.9],[83,8.5],[82.4,9.1],[81.8,9.7],[81.1,10.3],[80.7,10.6],[80.5,10.8],[80,11.1],[79.3,11.6],[78.6,12.1],[77.8,12.5],[77.1,12.9],[76.3,13.3],[75.8,13.5],[75.5,13.6],[75,13.8],[74.2,14.1],[73.4,14.4],[72.5,14.6],[71.7,14.8],[70.9,14.9],[70.3,15],[70,15],[69.4,15.1],[68.6,15.2],[67.7,15.3],[66.9,15.3],[66,15.4],[65.1,15.4],[29.5,15.4],[-40.9,15.4],[-76.5,15.4],[-77.4,15.4],[-78.3,15.3],[-79.1,15.3],[-80,15.2],[-80.8,15.1],[-81.4,15],[-81.7,15],[-82.3,14.9],[-83.1,14.8],[-83.9,14.6],[-84.8,14.4],[-85.6,14.1],[-86.4,13.8],[-86.9,13.6],[-87.2,13.5],[-87.7,13.3],[-88.5,12.9],[-89.2,12.5],[-90,12.1],[-90.7,11.6],[-91.4,11.1],[-91.9,10.8],[-92.1,10.6],[-92.5,10.3],[-93.2,9.7],[-93.8,9.1],[-94.4,8.5],[-95,7.9],[-95.6,7.2],[-95.9,6.8],[-96.1,6.6],[-96.4,6.1],[-96.9,5.4],[-97.4,4.7],[-97.8,3.9],[-98.2,3.2],[-98.6,2.4],[-98.8,1.9],[-98.9,1.6],[-99.1,1.1],[-99.4,0.3],[-99.7,-0.5],[-99.9,-1.4],[-100.1,-2.2],[-100.2,-3],[-100.4,-4.2],[-100.6,-5.8],[-100.7,-6.6],[-100.7,-6.6]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#2f4858","outline":false,"clip":true,"children":[]},{"id":"tower","role":null,"shape":{"type":"poly","subs":[[[-22,-15],[-21.5,-17.5],[-20,-19],[-17.5,-19.5],[17.5,-19.5],[20,-19],[21.5,-17.5],[22,-15],[22,2],[21.5,4.5],[20,6],[17.5,6.5],[-17.5,6.5],[-20,6],[-21.5,4.5],[-22,2]]]},"pos":{"x":9.5,"y":-22},"rot":0,"sx":1,"sy":1,"z":-0.02,"fill":"#314856","children":[{"id":"tower_lit","role":null,"shape":{"type":"poly","subs":[[[-25.4,-18.9],[-24.9,-21.4],[-23.4,-22.9],[-20.9,-23.4],[14.1,-23.4],[16.6,-22.9],[18.1,-21.4],[18.6,-18.9],[18.6,-1.9],[18.1,0.6],[16.6,2.1],[14.1,2.6],[-20.9,2.6],[-23.4,2.1],[-24.9,0.6],[-25.4,-1.9]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#3d5a6c","outline":false,"clip":true,"children":[]},{"id":"periscope","role":null,"shape":{"type":"poly","subs":[[[-2,-23.4],[2,-23.4],[2,2.6],[-2,2.6]]]},"pos":{"x":4.4,"y":-19.5},"rot":0,"sx":1,"sy":1,"z":-0.01,"fill":"#1d2b33","children":[]}]},{"id":"tail","role":null,"shape":{"type":"poly","subs":[[[2.3,-9],[3.2,-8.2],[3.8,-7.2],[4,-6],[4,6],[3.8,7.2],[3.2,8.2],[2.3,9],[-14.3,19],[-15.2,19.3],[-15.8,19],[-16,18],[-16,-18],[-15.8,-19],[-15.2,-19.3],[-14.3,-19]]]},"pos":{"x":-95,"y":0},"rot":0,"sx":1,"sy":1,"z":-0.01,"fill":"#172229","children":[{"id":"tail_lit","role":null,"shape":{"type":"poly","subs":[[[-0.3,-12],[0.6,-11.2],[1.2,-10.2],[1.4,-9],[1.4,3],[1.2,4.2],[0.6,5.2],[-0.3,6],[-16.9,16],[-17.8,16.3],[-18.4,16],[-18.6,15],[-18.6,-21],[-18.4,-22],[-17.8,-22.3],[-16.9,-22]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#1d2b33","outline":false,"clip":true,"children":[]}]},{"id":"porthole","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-3.9,-0.4],[-3.8,-1.1],[-3.5,-1.9],[-3,-2.5],[-2.5,-3],[-1.9,-3.5],[-1.1,-3.8],[-0.4,-3.9],[0.4,-3.9],[1.1,-3.8],[1.9,-3.5],[2.5,-3],[3,-2.5],[3.5,-1.9],[3.8,-1.1],[3.9,-0.4],[3.9,0.4],[3.8,1.1],[3.5,1.9],[3,2.5],[2.5,3],[1.9,3.5],[1.1,3.8],[0.4,3.9],[-0.4,3.9],[-1.1,3.8],[-1.9,3.5],[-2.5,3],[-3,2.5],[-3.5,1.9],[-3.8,1.1],[-3.9,0.4]]]},"pos":{"x":-40,"y":4},"rot":0,"sx":1,"sy":1,"z":-0.05,"fill":"#d1ab54","children":[]},{"id":"porthole_l","role":null,"side":1,"shape":{"type":"poly","subs":[[[-3.9,-0.4],[-3.8,-1.1],[-3.5,-1.9],[-3,-2.5],[-2.5,-3],[-1.9,-3.5],[-1.1,-3.8],[-0.4,-3.9],[0.4,-3.9],[1.1,-3.8],[1.9,-3.5],[2.5,-3],[3,-2.5],[3.5,-1.9],[3.8,-1.1],[3.9,-0.4],[3.9,0.4],[3.8,1.1],[3.5,1.9],[3,2.5],[2.5,3],[1.9,3.5],[1.1,3.8],[0.4,3.9],[-0.4,3.9],[-1.1,3.8],[-1.9,3.5],[-2.5,3],[-3,2.5],[-3.5,1.9],[-3.8,1.1],[-3.9,0.4]]]},"pos":{"x":-40,"y":4},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#ffd166","children":[],"clip":true,"inner":true},{"id":"porthole2","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-3.9,-0.4],[-3.8,-1.1],[-3.5,-1.9],[-3,-2.5],[-2.5,-3],[-1.9,-3.5],[-1.1,-3.8],[-0.4,-3.9],[0.4,-3.9],[1.1,-3.8],[1.9,-3.5],[2.5,-3],[3,-2.5],[3.5,-1.9],[3.8,-1.1],[3.9,-0.4],[3.9,0.4],[3.8,1.1],[3.5,1.9],[3,2.5],[2.5,3],[1.9,3.5],[1.1,3.8],[0.4,3.9],[-0.4,3.9],[-1.1,3.8],[-1.9,3.5],[-2.5,3],[-3,2.5],[-3.5,1.9],[-3.8,1.1],[-3.9,0.4]]]},"pos":{"x":0,"y":4},"rot":0,"sx":1,"sy":1,"z":-0.04,"fill":"#d1ab54","children":[]},{"id":"porthole2_l","role":null,"side":1,"shape":{"type":"poly","subs":[[[-3.9,-0.4],[-3.8,-1.1],[-3.5,-1.9],[-3,-2.5],[-2.5,-3],[-1.9,-3.5],[-1.1,-3.8],[-0.4,-3.9],[0.4,-3.9],[1.1,-3.8],[1.9,-3.5],[2.5,-3],[3,-2.5],[3.5,-1.9],[3.8,-1.1],[3.9,-0.4],[3.9,0.4],[3.8,1.1],[3.5,1.9],[3,2.5],[2.5,3],[1.9,3.5],[1.1,3.8],[0.4,3.9],[-0.4,3.9],[-1.1,3.8],[-1.9,3.5],[-2.5,3],[-3,2.5],[-3.5,1.9],[-3.8,1.1],[-3.9,0.4]]]},"pos":{"x":0,"y":4},"rot":0,"sx":1,"sy":1,"z":0.02,"fill":"#ffd166","children":[],"clip":true,"inner":true},{"id":"porthole3","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-3.9,-0.4],[-3.8,-1.1],[-3.5,-1.9],[-3,-2.5],[-2.5,-3],[-1.9,-3.5],[-1.1,-3.8],[-0.4,-3.9],[0.4,-3.9],[1.1,-3.8],[1.9,-3.5],[2.5,-3],[3,-2.5],[3.5,-1.9],[3.8,-1.1],[3.9,-0.4],[3.9,0.4],[3.8,1.1],[3.5,1.9],[3,2.5],[2.5,3],[1.9,3.5],[1.1,3.8],[0.4,3.9],[-0.4,3.9],[-1.1,3.8],[-1.9,3.5],[-2.5,3],[-3,2.5],[-3.5,1.9],[-3.8,1.1],[-3.9,0.4]]]},"pos":{"x":40,"y":4},"rot":0,"sx":1,"sy":1,"z":-0.03,"fill":"#d1ab54","children":[]},{"id":"porthole3_l","role":null,"side":1,"shape":{"type":"poly","subs":[[[-3.9,-0.4],[-3.8,-1.1],[-3.5,-1.9],[-3,-2.5],[-2.5,-3],[-1.9,-3.5],[-1.1,-3.8],[-0.4,-3.9],[0.4,-3.9],[1.1,-3.8],[1.9,-3.5],[2.5,-3],[3,-2.5],[3.5,-1.9],[3.8,-1.1],[3.9,-0.4],[3.9,0.4],[3.8,1.1],[3.5,1.9],[3,2.5],[2.5,3],[1.9,3.5],[1.1,3.8],[0.4,3.9],[-0.4,3.9],[-1.1,3.8],[-1.9,3.5],[-2.5,3],[-3,2.5],[-3.5,1.9],[-3.8,1.1],[-3.9,0.4]]]},"pos":{"x":40,"y":4},"rot":0,"sx":1,"sy":1,"z":0.03,"fill":"#ffd166","children":[],"clip":true,"inner":true}]}]},"legs":0,"kind":"custom","height":86.9,"footprint":103,"look":"outlined","fx":2,"views":[{"view":"side"}]},"box":{"w":2.5,"h":1},"edges":"stop","states":{"start":"to_m1","list":{"to_m1":{"enter":[{"op":"toward","who":"me","target":"m1","speed":"=2.6 * pace"}],"go":[{"to":"to_m2","when":"=distance(me, m1) < 0.6"}]},"to_m2":{"enter":[{"op":"toward","who":"me","target":"m2","speed":"=3 * pace"}],"go":[{"to":"to_m3","when":"=distance(me, m2) < 0.6"}]},"to_m3":{"enter":[{"op":"toward","who":"me","target":"m3","speed":"=2.6 * pace"}],"go":[{"to":"to_m4","when":"=distance(me, m3) < 0.6"}]},"to_m4":{"enter":[{"op":"toward","who":"me","target":"m4","speed":"=3.4 * pace"}],"go":[{"to":"to_m5","when":"=distance(me, m4) < 0.6"}]},"to_m5":{"enter":[{"op":"toward","who":"me","target":"m5","speed":"=3 * pace"}],"go":[{"to":"to_m1","when":"=distance(me, m5) < 0.6"}]}}}},"Charge":{"shape":"box","color":"#ef476f","box":{"w":0.4,"h":0.4},"edges":"off","states":{"start":"alive","list":{"alive":{"go":[{"to":"dead","when":"=statetime(me) > 4"}]},"dead":{"enter":[{"op":"remove","who":"me"}]}}}},"Torpedo":{"shape":"box","color":"#ffd166","box":{"w":0.25,"h":0.5},"edges":{"top":"off","left":"off","right":"off"},"states":{"start":"alive","list":{"alive":{"go":[{"to":"dead","when":"=statetime(me) > 3"}]},"dead":{"enter":[{"op":"remove","who":"me"}]}}}}},"worlds":{"sea":{"v":1,"kind":"world","art":1,"name":"Open sea","w":28,"h":18,"sky":{"kind":"day"},"materials":{"surface_mat":{"base":"decoration","layer":"main","collide":"none","trigger":"surface"},"sea_mat":{"base":"water","layer":"back","collide":"none"}},"pieces":[{"id":"sea","shape":"rect","x":0,"y":4,"w":28,"h":13.5,"material":"sea_mat","collide":"none"},{"id":"surface","shape":"rect","x":0,"y":3.8,"w":28,"h":0.2,"material":"surface_mat"},{"id":"seabed","shape":"rect","x":0,"y":17.5,"w":28,"h":0.5,"material":"sand"}],"marks":{"spawn":{"x":14,"y":17.5},"m1":{"x":5,"y":9},"m2":{"x":22,"y":13},"m3":{"x":9,"y":16},"m4":{"x":24,"y":7},"m5":{"x":13,"y":11}},"camera":{"x":14,"y":9,"h":18}}},"vars":{"ship":3,"sub":3,"dive":0,"round":1,"pace":1,"fire":2,"clock":0},"levels":{"First sub":{"world":"sea","layout":[{"thing":"Ship","id":"ship","x":14,"y":4.25},{"thing":"Sub","id":"sub","x":20,"y":11}]},"Second sub":{"world":"sea","layout":[{"thing":"Ship","id":"ship","x":14,"y":4.25},{"thing":"Sub","id":"sub","x":6,"y":11}]},"Third sub":{"world":"sea","layout":[{"thing":"Ship","id":"ship","x":14,"y":4.25},{"thing":"Sub","id":"sub","x":22,"y":11}]}},"collide":[{"a":"Sub","b":"surface","solid":true}],"scripts":[{"hat":{"on":"start"},"body":[{"op":"show","name":"ship","as":"hearts","label":"Your ship"},{"op":"show","name":"sub","as":"hearts","label":"Submarine"},{"op":"show","name":"round","as":"number","label":"Round"}]},{"hat":{"on":"scene","name":"First sub"},"body":[{"op":"steer","who":"ship","keys":"arrows","speed":6,"axes":"x"},{"op":"setVar","var":"pace","value":"=min(2.5, 1 + 0.35 * min(round - 1, 2) + 0.01 * max(0, round - 3))"},{"op":"setVar","var":"fire","value":"=max(0.6, 2 - 0.45 * min(round - 1, 2) - 0.005 * max(0, round - 3))"},{"op":"setVar","var":"clock","value":0},{"op":"setVar","var":"sub","value":3},{"op":"setVar","var":"dive","value":0}]},{"hat":{"on":"scene","name":"Second sub"},"body":[{"op":"steer","who":"ship","keys":"arrows","speed":6,"axes":"x"},{"op":"setVar","var":"pace","value":"=min(2.5, 1 + 0.35 * min(round - 1, 2) + 0.01 * max(0, round - 3))"},{"op":"setVar","var":"fire","value":"=max(0.6, 2 - 0.45 * min(round - 1, 2) - 0.005 * max(0, round - 3))"},{"op":"setVar","var":"clock","value":0},{"op":"setVar","var":"sub","value":3},{"op":"setVar","var":"dive","value":0}]},{"hat":{"on":"scene","name":"Third sub"},"body":[{"op":"steer","who":"ship","keys":"arrows","speed":6,"axes":"x"},{"op":"setVar","var":"pace","value":"=min(2.5, 1 + 0.35 * min(round - 1, 2) + 0.01 * max(0, round - 3))"},{"op":"setVar","var":"fire","value":"=max(0.6, 2 - 0.45 * min(round - 1, 2) - 0.005 * max(0, round - 3))"},{"op":"setVar","var":"clock","value":0},{"op":"setVar","var":"sub","value":3},{"op":"setVar","var":"dive","value":0}]},{"hat":{"on":"key","key":"space"},"body":[{"op":"if","cond":"=count(Charge) < 2","body":[{"op":"make","thing":"Charge","x":"=xof(ship)","y":"=yof(ship) + 0.5","vx":0,"vy":4},{"op":"sound","name":"pop"}]}]},{"hat":{"on":"every","s":0.1},"body":[{"op":"changeVar","var":"clock","by":0.1},{"op":"if","cond":"=clock >= fire","body":[{"op":"setVar","var":"clock","value":0},{"op":"if","cond":"=abs(xof(sub) - xof(ship)) < 5","body":[{"op":"make","thing":"Torpedo","x":"=xof(sub)","y":"=yof(sub) - 0.8","vx":"=sign(xof(ship) - xof(sub)) * 1.2","vy":-6},{"op":"sound","name":"zap"}]}]}]},{"hat":{"on":"touch","who":"Charge","what":"sub"},"body":[{"op":"if","cond":"=dive == 0","body":[{"op":"changeVar","var":"sub","by":-1},{"op":"sound","name":"hit"},{"op":"countdown","var":"dive","from":2},{"op":"restyle","who":"sub","color":"#5e8c9e"}]},{"op":"remove","who":"me"}]},{"hat":{"on":"zero","var":"dive"},"body":[{"op":"restyle","who":"sub","color":"#073b4c"}]},{"hat":{"on":"touch","who":"Torpedo","what":"ship"},"body":[{"op":"changeVar","var":"ship","by":-1},{"op":"sound","name":"hit"},{"op":"remove","who":"me"}]},{"hat":{"on":"zero","var":"sub"},"body":[{"op":"sound","name":"win"},{"op":"caption","text":"Sunk! The next submarine is faster.","for":1.8},{"op":"changeVar","var":"round","by":1},{"op":"if","cond":"=round > 99","body":[{"op":"setVar","var":"round","value":1}]},{"op":"if","cond":"=ship < 5","body":[{"op":"changeVar","var":"ship","by":1}]},{"op":"if","cond":"=mod(round - 1, 3) == 0","body":[{"op":"goLevel","name":"First sub"}],"else":[{"op":"if","cond":"=mod(round - 1, 3) == 1","body":[{"op":"goLevel","name":"Second sub"}],"else":[{"op":"goLevel","name":"Third sub"}]}]}]},{"hat":{"on":"zero","var":"ship"},"body":[{"op":"sound","name":"lose"},{"op":"lose","text":"The submarine sank your ship."}]}]},"file":"games/sub_hunt/game.json"},{"pack":1,"id":"c4c:game:sword_duel","type":"game","version":"1.0.0","name":"Sword Duel","description":"Walk up and strike with X; when it shouts, hold Z to block. Take its five hearts before it takes yours. 99 rivals, each sharper, then round again.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"controls":{"keys":"Left and right arrows walk. X strikes. Hold Z to block (when the rival shouts, it is about to swing). Space jumps.","pad":"◀ ▶ walk. X strikes. Hold Z to block. Jump jumps.","drives":"Hero"},"content_hash":"sha256:858400048e2a278aeaaee323299392bdb10663e7e0a360738dcf1d3ecdd5e4b8","content":{"v":1,"kind":"game","name":"Sword Duel","note":"Seen from the side. The fighters are solid: they cannot walk through each other. A strike lands while the blade comes down in front of the striker (0.38 to 0.52 seconds into the swing), within 2 blocks of the other: a hit makes the one hit flicker, a blocked strike or two blades coming down together strike sparks and push the fighters apart. The rival shouts before it swings, its guard up (a strike into the shout is blocked): hold Z then to block. A rival whose strike was blocked is open for a moment; a strike it blocks it answers at once.","cast":{"Hero":{"pack":"studio:char:skye","box":{"w":99.8,"h":237,"x":-1.9},"gravity":40,"edges":"stop","states":{"start":"ready","list":{"ready":{"go":[{"to":"block","when":"=key(z)"}]},"windup":{"does":"c4c:beh:sword_swing","enter":[{"op":"sound","name":"zap"}],"go":[{"to":"ready","when":{"after":0.8}}]},"block":{"does":"c4c:beh:block","go":[{"to":"ready","when":"=!key(z)"}]},"hurt":{"does":"c4c:beh:react","go":[{"to":"ready","when":{"after":0.45}}]},"recoil":{"does":"c4c:beh:react","go":[{"to":"ready","when":{"after":0.3}}]}}}},"Rival":{"pack":"studio:char:monster","box":{"w":148.5,"h":223.7,"x":-3.8},"gravity":40,"edges":"stop","states":{"start":"ready","list":{"ready":{},"windup":{"does":"c4c:beh:sword_swing","enter":[{"op":"sound","name":"zap"}],"go":[{"to":"ready","when":{"after":0.8}}]},"block":{"does":"c4c:beh:block","go":[{"to":"tell","when":"=instate(Hero, recoil)"},{"to":"ready","when":{"after":0.5}}]},"hurt":{"does":"c4c:beh:react","go":[{"to":"ready","when":{"after":0.45}}]},"recoil":{"does":"c4c:beh:react","go":[{"to":"ready","when":{"after":0.6}}]},"tell":{"enter":[{"op":"say","who":"Rival","text":"Hyah!","for":0.45}],"go":[{"to":"windup","when":{"after":0.35}}]}}}}},"things":{"Sword":{"shape":"box","color":"#d9dde3","box":{"w":1.1,"h":0.15}},"Spark":{"shape":"star","color":"#ffe066","box":{"w":0.6,"h":0.6},"states":{"start":"live","list":{"live":{"go":[{"to":"gone","when":{"after":0.25}}]},"gone":{"enter":[{"op":"remove","who":"me"}]}}}}},"worlds":{"arena":{"v":1,"kind":"world","art":1,"name":"Duel arena","w":20,"h":12,"sky":{"kind":"day","hills":"hills"},"pieces":[{"id":"ground","shape":"rect","x":0,"y":10,"w":20,"h":2,"material":"stone"},{"id":"post_left","shape":"rect","x":0,"y":6,"w":1,"h":4,"material":"wood"},{"id":"post_right","shape":"rect","x":19,"y":6,"w":1,"h":4,"material":"wood"}],"marks":{"spawn":{"x":5,"y":10},"rival":{"x":14,"y":10}},"camera":{"x":10,"y":6,"h":12}}},"vars":{"you":5,"rival":5,"duel":1,"rb":0.6,"ra":0.4,"rw":3},"levels":{"Arena":{"world":"arena","start":{"Hero":{"x":5,"y":10},"Rival":{"x":14,"y":10}},"layout":[{"thing":"Sword","id":"sword1","x":5,"y":9},{"thing":"Sword","id":"sword2","x":14,"y":9}]}},"collide":[{"a":"Hero","b":"Rival","solid":true}],"scripts":[{"hat":{"on":"start"},"body":[{"op":"show","name":"you","as":"hearts","label":"You"},{"op":"show","name":"rival","as":"hearts","label":"Rival"},{"op":"show","name":"duel","as":"number","label":"Duel"},{"op":"steer","who":"Hero","keys":"arrows","speed":6,"axes":"x"},{"op":"hold","who":"Hero","thing":"sword1","hand":"hand_r"},{"op":"hold","who":"Rival","thing":"sword2","hand":"hand_r"},{"op":"place","who":"Rival","facing":-1},{"op":"caption","text":"X strikes. When the rival shouts, hold Z to block.","for":3.5}]},{"hat":{"on":"key","key":"space"},"body":[{"op":"if","cond":"=onground(Hero)","body":[{"op":"jump","who":"Hero","h":2.2}]}]},{"hat":{"on":"key","key":"x"},"body":[{"op":"if","cond":"=instate(Hero, ready)","body":[{"op":"state","who":"Hero","to":"windup"}]}]},{"hat":{"on":"key","key":"z"},"body":[{"op":"if","cond":"=instate(Hero, ready)","body":[{"op":"state","who":"Hero","to":"block"}]}]},{"hat":{"on":"every","s":0.2},"body":[{"op":"if","cond":"=instate(Rival, ready)","body":[{"op":"place","who":"Rival","facing":"=sign(xof(Hero) - xof(Rival))"},{"op":"if","cond":"=distance(Hero, Rival) > 1.5","body":[{"op":"speed","who":"Rival","vx":"=sign(xof(Hero) - xof(Rival)) * rw"}],"else":[{"op":"speed","who":"Rival","vx":0},{"op":"if","cond":"=instate(Hero, windup) && statetime(Hero) < 0.28 && random < rb","body":[{"op":"state","who":"Rival","to":"block"}],"else":[{"op":"if","cond":"=random < ra","body":[{"op":"state","who":"Rival","to":"tell"}]}]}]}]}]},{"hat":{"on":"when","cond":"=instate(Hero, windup) && statetime(Hero) >= 0.38 && statetime(Hero) < 0.52 && distance(Hero, Rival) < 2 && facing(Hero) == sign(xof(Rival) - xof(Hero)) && !(instate(Rival, block) || instate(Rival, tell)) && !(instate(Rival, windup) && statetime(Rival) >= 0.3 && statetime(Rival) < 0.56)"},"body":[{"op":"changeVar","var":"rival","by":-1},{"op":"sound","name":"hit"},{"op":"blink","who":"Rival","s":0.6},{"op":"push","who":"Rival","vx":"=facing(Hero) * 5","vy":0},{"op":"state","who":"Rival","to":"hurt"},{"op":"caption","text":"You hit it!","for":0.8}]},{"hat":{"on":"when","cond":"=instate(Hero, windup) && statetime(Hero) >= 0.38 && statetime(Hero) < 0.52 && distance(Hero, Rival) < 2 && facing(Hero) == sign(xof(Rival) - xof(Hero)) && (instate(Rival, block) || instate(Rival, tell))"},"body":[{"op":"sound","name":"click"},{"op":"make","thing":"Spark","x":"=(xof(Hero) + xof(Rival)) / 2","y":"=yof(Hero) - 1.3"},{"op":"push","who":"Hero","vx":"=facing(Hero) * -4","vy":0},{"op":"state","who":"Hero","to":"recoil"},{"op":"caption","text":"It blocked you!","for":0.8}]},{"hat":{"on":"when","cond":"=instate(Rival, windup) && statetime(Rival) >= 0.38 && statetime(Rival) < 0.52 && distance(Rival, Hero) < 2 && facing(Rival) == sign(xof(Hero) - xof(Rival)) && !instate(Hero, block) && !(instate(Hero, windup) && statetime(Hero) >= 0.3 && statetime(Hero) < 0.56)"},"body":[{"op":"changeVar","var":"you","by":-1},{"op":"sound","name":"hit"},{"op":"blink","who":"Hero","s":0.6},{"op":"push","who":"Hero","vx":"=facing(Rival) * 5","vy":0},{"op":"state","who":"Hero","to":"hurt"},{"op":"caption","text":"You were hit!","for":0.8}]},{"hat":{"on":"when","cond":"=instate(Rival, windup) && statetime(Rival) >= 0.38 && statetime(Rival) < 0.52 && distance(Rival, Hero) < 2 && facing(Rival) == sign(xof(Hero) - xof(Rival)) && instate(Hero, block)"},"body":[{"op":"sound","name":"click"},{"op":"make","thing":"Spark","x":"=(xof(Hero) + xof(Rival)) / 2","y":"=yof(Hero) - 1.3"},{"op":"push","who":"Rival","vx":"=facing(Rival) * -4","vy":0},{"op":"state","who":"Rival","to":"recoil"},{"op":"caption","text":"Blocked!","for":0.8}]},{"hat":{"on":"when","cond":"=instate(Hero, windup) && statetime(Hero) >= 0.3 && statetime(Hero) < 0.56 && instate(Rival, windup) && statetime(Rival) >= 0.3 && statetime(Rival) < 0.56 && distance(Hero, Rival) < 2.3"},"body":[{"op":"sound","name":"click"},{"op":"make","thing":"Spark","x":"=(xof(Hero) + xof(Rival)) / 2","y":"=yof(Hero) - 1.3"},{"op":"push","who":"Hero","vx":"=sign(xof(Hero) - xof(Rival)) * 4","vy":0},{"op":"push","who":"Rival","vx":"=sign(xof(Rival) - xof(Hero)) * 4","vy":0},{"op":"state","who":"Hero","to":"recoil"},{"op":"state","who":"Rival","to":"recoil"},{"op":"caption","text":"Clash!","for":0.8}]},{"hat":{"on":"zero","var":"rival"},"body":[{"op":"sound","name":"win"},{"op":"caption","text":"You won the duel! A sharper rival steps up.","for":1.8},{"op":"changeVar","var":"duel","by":1},{"op":"if","cond":"=duel > 99","body":[{"op":"setVar","var":"duel","value":1}]},{"op":"setVar","var":"rb","value":"=min(0.9, 0.6 + 0.003 * (duel - 1))"},{"op":"setVar","var":"ra","value":"=min(0.8, 0.4 + 0.004 * (duel - 1))"},{"op":"setVar","var":"rw","value":"=3 + 0.02 * (duel - 1)"},{"op":"setVar","var":"you","value":"=min(5, you + 2)"},{"op":"setVar","var":"rival","value":5},{"op":"place","who":"Hero","x":5,"y":10,"facing":1},{"op":"place","who":"Rival","x":14,"y":10,"facing":-1},{"op":"state","who":"Hero","to":"ready"},{"op":"state","who":"Rival","to":"ready"}]},{"hat":{"on":"zero","var":"you"},"body":[{"op":"sound","name":"lose"},{"op":"lose","text":"The rival won the duel."}]}]},"file":"games/sword_duel/game.json"},{"pack":1,"id":"c4c:game:tank_battle","type":"game","version":"1.0.0","name":"Tank Battle","description":"Drive your blue tank and hit the red one three times before it hits you three times. Walls stop shells. 99 battles, then round again.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"controls":{"keys":"Left and right arrows turn the tank. Up drives forward, down drives back. Space shoots.","pad":"◀ ▶ turn. ▲ ▼ drive. Jump shoots.","drives":"tank1"},"content_hash":"sha256:d3a1d596e6e5626cff3890c211aed92e7e18946624230425e4600275aa4ea4f3","content":{"v":1,"kind":"game","name":"Tank Battle","view":"top","note":"Seen from above. Your tank drives by its heading. The computer's tank drives from mark to mark and shoots at you every 1.6 seconds when you are near. A shell bounces off metal and breaks a brick wall in three hits. Your shell leaves from the end of your barrel.","things":{"Tank1":{"shape":"box","color":"#1d6fd1","model":{"tree":{"id":"root","role":"root","pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"children":[{"id":"spine","role":"torso","shape":{"type":"poly","subs":[[[-43,-21.2],[-42.1,-25.5],[-39.5,-28.1],[-35.2,-29],[35.2,-29],[39.5,-28.1],[42.1,-25.5],[43,-21.2],[43,21.2],[42.1,25.5],[39.5,28.1],[35.2,29],[-35.2,29],[-39.5,28.1],[-42.1,25.5],[-43,21.2]]]},"pos":{"x":-6.4,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#1959a7","children":[{"id":"spine_lit","role":null,"shape":{"type":"poly","subs":[[[-50.5,-29.9],[-49.6,-34.2],[-47,-36.8],[-42.7,-37.7],[27.7,-37.7],[32,-36.8],[34.6,-34.2],[35.5,-29.9],[35.5,12.5],[34.6,16.8],[32,19.4],[27.7,20.3],[-42.7,20.3],[-47,19.4],[-49.6,16.8],[-50.5,12.5]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#1f6fd1","outline":false,"clip":true,"children":[]},{"id":"track","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-50,-1.2],[-49.4,-4.5],[-47.4,-6.5],[-44.1,-7.1],[44.2,-7.1],[47.4,-6.5],[49.4,-4.5],[50,-1.2],[50,0],[49.4,3.3],[47.4,5.3],[44.2,5.9],[-44.1,5.9],[-47.4,5.2],[-49.3,3.3],[-50,0]]]},"pos":{"x":0,"y":-29},"rot":0,"sx":1,"sy":1,"z":-0.02,"fill":"#222427","children":[{"id":"track_lit","role":null,"shape":{"type":"poly","subs":[[[-52,-3.2],[-51.4,-6.5],[-49.4,-8.5],[-46.1,-9.1],[42.2,-9.1],[45.4,-8.5],[47.4,-6.5],[48,-3.2],[48,-2],[47.4,1.3],[45.4,3.3],[42.2,3.9],[-46.1,3.9],[-49.4,3.2],[-51.3,1.3],[-52,-2]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#2b2d31","outline":false,"clip":true,"children":[]}]},{"id":"track_l","role":null,"side":1,"shape":{"type":"poly","subs":[[[-50,0],[-49.4,-3.3],[-47.4,-5.2],[-44.1,-5.9],[44.2,-5.9],[47.4,-5.2],[49.4,-3.3],[50,0],[50,1.3],[49.4,4.5],[47.4,6.5],[44.2,7.1],[-44.1,7.1],[-47.4,6.5],[-49.3,4.5],[-50,1.3]]]},"pos":{"x":0,"y":29},"rot":0,"sx":1,"sy":1,"z":-0.01,"fill":"#222427","children":[{"id":"track_l_lit","role":null,"shape":{"type":"poly","subs":[[[-52,-2],[-51.4,-5.3],[-49.4,-7.2],[-46.1,-7.9],[42.2,-7.9],[45.4,-7.2],[47.4,-5.3],[48,-2],[48,-0.7],[47.4,2.5],[45.4,4.5],[42.2,5.1],[-46.1,5.1],[-49.4,4.5],[-51.3,2.5],[-52,-0.7]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#2b2d31","outline":false,"clip":true,"children":[]}]},{"id":"turret","role":null,"shape":{"type":"poly","subs":[[[-21.6,-2.1],[-20.7,-6.3],[-19.1,-10.2],[-16.7,-13.8],[-13.8,-16.7],[-10.2,-19.1],[-6.3,-20.7],[-2.1,-21.6],[2.1,-21.6],[6.3,-20.7],[10.2,-19.1],[13.8,-16.7],[16.7,-13.8],[19.1,-10.2],[20.7,-6.3],[21.6,-2.1],[21.6,2.1],[20.7,6.3],[19.1,10.2],[16.7,13.8],[13.8,16.7],[10.2,19.1],[6.3,20.7],[2.1,21.6],[-2.1,21.6],[-6.3,20.7],[-10.2,19.1],[-13.8,16.7],[-16.7,13.8],[-19.1,10.2],[-20.7,6.3],[-21.6,2.1]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#10407d","children":[{"id":"turret_lit","role":null,"shape":{"type":"poly","subs":[[[-27.2,-8.6],[-26.3,-12.8],[-24.7,-16.7],[-22.3,-20.3],[-19.4,-23.2],[-15.8,-25.6],[-11.9,-27.2],[-7.7,-28.1],[-3.5,-28.1],[0.7,-27.2],[4.6,-25.6],[8.2,-23.2],[11.1,-20.3],[13.5,-16.7],[15.1,-12.8],[16,-8.6],[16,-4.4],[15.1,-0.2],[13.5,3.7],[11.1,7.3],[8.2,10.2],[4.6,12.6],[0.7,14.2],[-3.5,15.1],[-7.7,15.1],[-11.9,14.2],[-15.8,12.6],[-19.4,10.2],[-22.3,7.3],[-24.7,3.7],[-26.3,-0.2],[-27.2,-4.4]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#14509c","outline":false,"clip":true,"children":[]},{"id":"hatch","role":null,"shape":{"type":"poly","subs":[[[-6.9,-0.7],[-6.6,-2],[-6.1,-3.2],[-5.3,-4.4],[-4.4,-5.3],[-3.2,-6.1],[-2,-6.6],[-0.7,-6.9],[0.7,-6.9],[2,-6.6],[3.2,-6.1],[4.4,-5.3],[5.3,-4.4],[6.1,-3.2],[6.6,-2],[6.9,-0.7],[6.9,0.7],[6.6,2],[6.1,3.2],[5.3,4.4],[4.4,5.3],[3.2,6.1],[2,6.6],[0.7,6.9],[-0.7,6.9],[-2,6.6],[-3.2,6.1],[-4.4,5.3],[-5.3,4.4],[-6.1,3.2],[-6.6,2],[-6.9,0.7]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#0a2e5c","children":[{"id":"hatch_lit","role":null,"shape":{"type":"poly","subs":[[[-8.9,-2.8],[-8.6,-4.1],[-8.1,-5.3],[-7.3,-6.5],[-6.4,-7.4],[-5.2,-8.2],[-4,-8.7],[-2.7,-9],[-1.3,-9],[0,-8.7],[1.2,-8.2],[2.4,-7.4],[3.3,-6.5],[4.1,-5.3],[4.6,-4.1],[4.9,-2.8],[4.9,-1.4],[4.6,-0.1],[4.1,1.1],[3.3,2.3],[2.4,3.2],[1.2,4],[0,4.5],[-1.3,4.8],[-2.7,4.8],[-4,4.5],[-5.2,4],[-6.4,3.2],[-7.3,2.3],[-8.1,1.1],[-8.6,-0.1],[-8.9,-1.4]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#0d3a73","outline":false,"clip":true,"children":[]}],"clip":true,"inner":true},{"id":"barrel","role":null,"shape":{"type":"poly","subs":[[[-7.2,-4],[40.8,-4],[40.8,4],[-7.2,4]]]},"pos":{"x":22,"y":0},"rot":0,"sx":1,"sy":1,"z":-0.01,"fill":"#2b2d31","children":[]}],"clip":true,"inner":true}]}]},"legs":0,"kind":"custom","height":36.5,"footprint":56.4,"look":"outlined","fx":2,"views":[{"view":"top"}]},"box":{"w":1,"h":1},"edges":"stop","solid":true,"heading":0},"Tank2":{"shape":"box","color":"#c1121f","model":{"tree":{"id":"root","role":"root","pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"children":[{"id":"spine","role":"torso","shape":{"type":"poly","subs":[[[-43,-21.2],[-42.1,-25.5],[-39.5,-28.1],[-35.2,-29],[35.2,-29],[39.5,-28.1],[42.1,-25.5],[43,-21.2],[43,21.2],[42.1,25.5],[39.5,28.1],[35.2,29],[-35.2,29],[-39.5,28.1],[-42.1,25.5],[-43,21.2]]]},"pos":{"x":-6.4,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#a92626","children":[{"id":"spine_lit","role":null,"shape":{"type":"poly","subs":[[[-50.5,-29.9],[-49.6,-34.2],[-47,-36.8],[-42.7,-37.7],[27.7,-37.7],[32,-36.8],[34.6,-34.2],[35.5,-29.9],[35.5,12.5],[34.6,16.8],[32,19.4],[27.7,20.3],[-42.7,20.3],[-47,19.4],[-49.6,16.8],[-50.5,12.5]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#d32f2f","outline":false,"clip":true,"children":[]},{"id":"track","role":null,"side":-1,"shape":{"type":"poly","subs":[[[-50,-1.2],[-49.4,-4.5],[-47.4,-6.5],[-44.1,-7.1],[44.2,-7.1],[47.4,-6.5],[49.4,-4.5],[50,-1.2],[50,0],[49.4,3.3],[47.4,5.3],[44.2,5.9],[-44.1,5.9],[-47.4,5.2],[-49.3,3.3],[-50,0]]]},"pos":{"x":0,"y":-29},"rot":0,"sx":1,"sy":1,"z":-0.02,"fill":"#222427","children":[{"id":"track_lit","role":null,"shape":{"type":"poly","subs":[[[-52,-3.2],[-51.4,-6.5],[-49.4,-8.5],[-46.1,-9.1],[42.2,-9.1],[45.4,-8.5],[47.4,-6.5],[48,-3.2],[48,-2],[47.4,1.3],[45.4,3.3],[42.2,3.9],[-46.1,3.9],[-49.4,3.2],[-51.3,1.3],[-52,-2]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#2b2d31","outline":false,"clip":true,"children":[]}]},{"id":"track_l","role":null,"side":1,"shape":{"type":"poly","subs":[[[-50,0],[-49.4,-3.3],[-47.4,-5.2],[-44.1,-5.9],[44.2,-5.9],[47.4,-5.2],[49.4,-3.3],[50,0],[50,1.3],[49.4,4.5],[47.4,6.5],[44.2,7.1],[-44.1,7.1],[-47.4,6.5],[-49.3,4.5],[-50,1.3]]]},"pos":{"x":0,"y":29},"rot":0,"sx":1,"sy":1,"z":-0.01,"fill":"#222427","children":[{"id":"track_l_lit","role":null,"shape":{"type":"poly","subs":[[[-52,-2],[-51.4,-5.3],[-49.4,-7.2],[-46.1,-7.9],[42.2,-7.9],[45.4,-7.2],[47.4,-5.3],[48,-2],[48,-0.7],[47.4,2.5],[45.4,4.5],[42.2,5.1],[-46.1,5.1],[-49.4,4.5],[-51.3,2.5],[-52,-0.7]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#2b2d31","outline":false,"clip":true,"children":[]}]},{"id":"turret","role":null,"shape":{"type":"poly","subs":[[[-21.6,-2.1],[-20.7,-6.3],[-19.1,-10.2],[-16.7,-13.8],[-13.8,-16.7],[-10.2,-19.1],[-6.3,-20.7],[-2.1,-21.6],[2.1,-21.6],[6.3,-20.7],[10.2,-19.1],[13.8,-16.7],[16.7,-13.8],[19.1,-10.2],[20.7,-6.3],[21.6,-2.1],[21.6,2.1],[20.7,6.3],[19.1,10.2],[16.7,13.8],[13.8,16.7],[10.2,19.1],[6.3,20.7],[2.1,21.6],[-2.1,21.6],[-6.3,20.7],[-10.2,19.1],[-13.8,16.7],[-16.7,13.8],[-19.1,10.2],[-20.7,6.3],[-21.6,2.1]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#7b1616","children":[{"id":"turret_lit","role":null,"shape":{"type":"poly","subs":[[[-27.2,-8.6],[-26.3,-12.8],[-24.7,-16.7],[-22.3,-20.3],[-19.4,-23.2],[-15.8,-25.6],[-11.9,-27.2],[-7.7,-28.1],[-3.5,-28.1],[0.7,-27.2],[4.6,-25.6],[8.2,-23.2],[11.1,-20.3],[13.5,-16.7],[15.1,-12.8],[16,-8.6],[16,-4.4],[15.1,-0.2],[13.5,3.7],[11.1,7.3],[8.2,10.2],[4.6,12.6],[0.7,14.2],[-3.5,15.1],[-7.7,15.1],[-11.9,14.2],[-15.8,12.6],[-19.4,10.2],[-22.3,7.3],[-24.7,3.7],[-26.3,-0.2],[-27.2,-4.4]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#9a1b1b","outline":false,"clip":true,"children":[]},{"id":"hatch","role":null,"shape":{"type":"poly","subs":[[[-6.9,-0.7],[-6.6,-2],[-6.1,-3.2],[-5.3,-4.4],[-4.4,-5.3],[-3.2,-6.1],[-2,-6.6],[-0.7,-6.9],[0.7,-6.9],[2,-6.6],[3.2,-6.1],[4.4,-5.3],[5.3,-4.4],[6.1,-3.2],[6.6,-2],[6.9,-0.7],[6.9,0.7],[6.6,2],[6.1,3.2],[5.3,4.4],[4.4,5.3],[3.2,6.1],[2,6.6],[0.7,6.9],[-0.7,6.9],[-2,6.6],[-3.2,6.1],[-4.4,5.3],[-5.3,4.4],[-6.1,3.2],[-6.6,2],[-6.9,0.7]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0.01,"fill":"#570d0d","children":[{"id":"hatch_lit","role":null,"shape":{"type":"poly","subs":[[[-8.9,-2.8],[-8.6,-4.1],[-8.1,-5.3],[-7.3,-6.5],[-6.4,-7.4],[-5.2,-8.2],[-4,-8.7],[-2.7,-9],[-1.3,-9],[0,-8.7],[1.2,-8.2],[2.4,-7.4],[3.3,-6.5],[4.1,-5.3],[4.6,-4.1],[4.9,-2.8],[4.9,-1.4],[4.6,-0.1],[4.1,1.1],[3.3,2.3],[2.4,3.2],[1.2,4],[0,4.5],[-1.3,4.8],[-2.7,4.8],[-4,4.5],[-5.2,4],[-6.4,3.2],[-7.3,2.3],[-8.1,1.1],[-8.6,-0.1],[-8.9,-1.4]]]},"pos":{"x":0,"y":0},"rot":0,"sx":1,"sy":1,"z":0,"fill":"#6d1010","outline":false,"clip":true,"children":[]}],"clip":true,"inner":true},{"id":"barrel","role":null,"shape":{"type":"poly","subs":[[[-7.2,-4],[40.8,-4],[40.8,4],[-7.2,4]]]},"pos":{"x":22,"y":0},"rot":0,"sx":1,"sy":1,"z":-0.01,"fill":"#2b2d31","children":[]}],"clip":true,"inner":true}]}]},"legs":0,"kind":"custom","height":36.5,"footprint":56.4,"look":"outlined","fx":2,"views":[{"view":"top"}]},"box":{"w":1,"h":1},"edges":"stop","solid":true,"heading":180,"states":{"start":"to_p1","list":{"to_p1":{"enter":[{"op":"toward","who":"me","target":"p1","speed":"=rsp"}],"go":[{"to":"to_p2","when":"=distance(me, p1) < 0.6 || statetime(me) > 5"}]},"to_p2":{"enter":[{"op":"toward","who":"me","target":"p2","speed":"=rsp"}],"go":[{"to":"to_p3","when":"=distance(me, p2) < 0.6 || statetime(me) > 5"}]},"to_p3":{"enter":[{"op":"toward","who":"me","target":"p3","speed":"=rsp"}],"go":[{"to":"to_p4","when":"=distance(me, p3) < 0.6 || statetime(me) > 5"}]},"to_p4":{"enter":[{"op":"toward","who":"me","target":"p4","speed":"=rsp"}],"go":[{"to":"to_p1","when":"=distance(me, p4) < 0.6 || statetime(me) > 5"}]}}}},"Shell1":{"shape":"box","color":"#ffb703","box":{"w":0.25,"h":0.25},"edges":"bounce","bounce":1,"states":{"start":"alive","list":{"alive":{"go":[{"to":"dead","when":"=statetime(me) > 1.5"}]},"dead":{"enter":[{"op":"remove","who":"me"}]}}}},"Shell2":{"shape":"box","color":"#ff6b6b","box":{"w":0.25,"h":0.25},"edges":"bounce","bounce":1,"states":{"start":"alive","list":{"alive":{"go":[{"to":"dead","when":"=statetime(me) > 1.5"}]},"dead":{"enter":[{"op":"remove","who":"me"}]}}}}},"worlds":{"arena":{"v":1,"kind":"world","art":1,"name":"Tank arena","w":24,"h":16,"sky":{"kind":"day"},"pieces":[{"id":"floor","shape":"rect","x":0,"y":0,"w":24,"h":16,"r":1,"material":"grass","collide":"none","fill":"#cdb17a"},{"id":"crater1","shape":"ellipse","x":6.5,"y":5.2,"w":1.6,"h":1.1,"material":"decoration","layer":"main","collide":"none","fill":"#a98a55"},{"id":"crater2","shape":"ellipse","x":17.2,"y":12.6,"w":1.9,"h":1.2,"material":"decoration","layer":"main","collide":"none","fill":"#a98a55"},{"id":"crater3","shape":"ellipse","x":11.3,"y":13.5,"w":1.2,"h":0.8,"material":"decoration","layer":"main","collide":"none","fill":"#a98a55"},{"id":"crater4","shape":"ellipse","x":19.8,"y":6.9,"w":1.1,"h":0.8,"material":"decoration","layer":"main","collide":"none","fill":"#a98a55"},{"id":"wall1","shape":"rect","x":10,"y":3,"w":1,"h":4,"material":"brick"},{"id":"wall2","shape":"rect","x":13,"y":9,"w":1,"h":4,"material":"brick"},{"id":"wall3","shape":"rect","x":5,"y":11,"w":4,"h":1,"material":"metal"},{"id":"wall4","shape":"rect","x":15,"y":4,"w":4,"h":1,"material":"metal"}],"marks":{"spawn":{"x":3,"y":9},"p1":{"x":20,"y":3},"p2":{"x":15,"y":8},"p3":{"x":20,"y":14},"p4":{"x":17,"y":11}},"camera":{"x":12,"y":8,"h":16}}},"vars":{"you":3,"enemy":3,"wall1hp":3,"wall2hp":3,"battle":1,"rsp":2.6,"fire":0.25,"ssp":8},"levels":{"Arena":{"world":"arena","layout":[{"thing":"Tank1","id":"tank1","x":3,"y":9},{"thing":"Tank2","id":"tank2","x":21,"y":9}]}},"collide":[{"a":"Shell1","b":"Tank1","solid":false,"touch":false},{"a":"Shell2","b":"Tank2","solid":false,"touch":false},{"a":"Shell1","b":"Tank2","solid":false},{"a":"Shell2","b":"Tank1","solid":false},{"a":"Shell1","b":"brick","touch":true},{"a":"Shell2","b":"brick","touch":true}],"scripts":[{"hat":{"on":"start"},"body":[{"op":"show","name":"you","as":"hearts","label":"You"},{"op":"show","name":"enemy","as":"hearts","label":"Red tank"},{"op":"show","name":"battle","as":"number","label":"Battle"}]},{"hat":{"on":"scene","name":"Arena"},"body":[{"op":"steer","who":"tank1","keys":"arrows","axes":"heading","speed":5,"turn":150}]},{"hat":{"on":"key","key":"space"},"body":[{"op":"if","cond":"=count(Shell1) < 2","body":[{"op":"make","thing":"Shell1","x":"=xof(tank1) + cos(headingof(tank1) * pi / 180) * 0.7","y":"=yof(tank1) - 0.375 + sin(headingof(tank1) * pi / 180) * 0.7","heading":"=headingof(tank1)"},{"op":"sound","name":"zap"}]}]},{"hat":{"on":"appear","who":"Shell1"},"body":[{"op":"thrust","who":"me","by":9}]},{"hat":{"on":"every","s":0.25},"body":[{"op":"if","cond":"=abs(vxof(tank2)) >= abs(vyof(tank2)) && vxof(tank2) > 0","body":[{"op":"turn","who":"tank2","to":0}]},{"op":"if","cond":"=abs(vxof(tank2)) >= abs(vyof(tank2)) && vxof(tank2) < 0","body":[{"op":"turn","who":"tank2","to":180}]},{"op":"if","cond":"=abs(vyof(tank2)) > abs(vxof(tank2)) && vyof(tank2) > 0","body":[{"op":"turn","who":"tank2","to":90}]},{"op":"if","cond":"=abs(vyof(tank2)) > abs(vxof(tank2)) && vyof(tank2) < 0","body":[{"op":"turn","who":"tank2","to":270}]}]},{"hat":{"on":"every","s":0.4},"body":[{"op":"if","cond":"=distance(tank1, tank2) < 13 && random < fire","body":[{"op":"make","thing":"Shell2","x":"=xof(tank2)","y":"=yof(tank2) - 0.4","vx":"=(xof(tank1) - xof(tank2)) / distance(tank1, tank2) * ssp","vy":"=(yof(tank1) - yof(tank2)) / distance(tank1, tank2) * ssp"},{"op":"sound","name":"zap"}]}]},{"hat":{"on":"touch","who":"Shell2","what":"tank1"},"body":[{"op":"changeVar","var":"you","by":-1},{"op":"sound","name":"hit"},{"op":"remove","who":"me"}]},{"hat":{"on":"touch","who":"Shell1","what":"tank2"},"body":[{"op":"changeVar","var":"enemy","by":-1},{"op":"sound","name":"hit"},{"op":"remove","who":"me"}]},{"hat":{"on":"touch","who":"Shell1","what":"wall1"},"body":[{"op":"changeVar","var":"wall1hp","by":-1},{"op":"sound","name":"bounce"},{"op":"if","cond":"=wall1hp <= 0","body":[{"op":"removepiece","id":"wall1"}]},{"op":"remove","who":"me"}]},{"hat":{"on":"touch","who":"Shell2","what":"wall1"},"body":[{"op":"changeVar","var":"wall1hp","by":-1},{"op":"sound","name":"bounce"},{"op":"if","cond":"=wall1hp <= 0","body":[{"op":"removepiece","id":"wall1"}]},{"op":"remove","who":"me"}]},{"hat":{"on":"touch","who":"Shell1","what":"wall2"},"body":[{"op":"changeVar","var":"wall2hp","by":-1},{"op":"sound","name":"bounce"},{"op":"if","cond":"=wall2hp <= 0","body":[{"op":"removepiece","id":"wall2"}]},{"op":"remove","who":"me"}]},{"hat":{"on":"touch","who":"Shell2","what":"wall2"},"body":[{"op":"changeVar","var":"wall2hp","by":-1},{"op":"sound","name":"bounce"},{"op":"if","cond":"=wall2hp <= 0","body":[{"op":"removepiece","id":"wall2"}]},{"op":"remove","who":"me"}]},{"hat":{"on":"zero","var":"you"},"body":[{"op":"sound","name":"lose"},{"op":"lose","text":"The red tank got you."}]},{"hat":{"on":"zero","var":"enemy"},"body":[{"op":"sound","name":"win"},{"op":"caption","text":"You beat the red tank! A sharper one rolls in.","for":1.8},{"op":"changeVar","var":"battle","by":1},{"op":"if","cond":"=battle > 99","body":[{"op":"setVar","var":"battle","value":1}]},{"op":"setVar","var":"rsp","value":"=2.6 + 0.02 * (battle - 1)"},{"op":"setVar","var":"fire","value":"=min(0.6, 0.25 + 0.004 * (battle - 1))"},{"op":"setVar","var":"ssp","value":"=8 + 0.03 * (battle - 1)"},{"op":"if","cond":"=you < 5","body":[{"op":"changeVar","var":"you","by":1}]},{"op":"setVar","var":"enemy","value":3},{"op":"setVar","var":"wall1hp","value":3},{"op":"setVar","var":"wall2hp","value":3},{"op":"wait","s":1},{"op":"restartLevel"}]}]},"file":"games/tank_battle/game.json"},{"pack":1,"id":"c4c:part:back_cape","type":"part","version":"1.0.0","name":"Cape","description":"Cape: a back part for the kid, grownup bodies.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:37ee1d0640fa71a3ae9a1c2b75bc39f7ed3aa9d7c6d42a99eef4993a65ffc7bc","content":{"v":1,"kind":"part","art":1,"name":"back_cape","slot":"back","short":"cape","label":"Cape","bodies":["kid","grownup"],"roles":["torso"],"colours":["accent"],"band":-1,"fit":{"kid":[{"on":"torso","view":{"front":{"nodes":[{"id":"cape","band":-1,"group":"cape_back","z":-1,"fill":"accent:shade","shape":{"type":"path","d":"M -40 -76 L 40 -76 C 48 -20 54 30 60 72 C 20 78 -20 78 -60 72 C -54 30 -48 -20 -40 -76 Z"}},{"id":"clasp","z":1.2,"fill":"#f2b632","shape":{"type":"circle","w":11,"ox":0,"oy":-70}}]},"side":{"nodes":[{"id":"cape","band":-1,"group":"cape_back","z":-1,"fill":"accent","inner":true,"shape":{"type":"path","d":"M -4 -78 C 8 -78 10 -70 6 -60 C -6 -10 -18 40 -26 74 C -40 76 -52 74 -58 70 C -44 30 -26 -30 -4 -78 Z"},"children":[{"id":"shade","clip":true,"outline":false,"fill":"accent:shade","shape":{"type":"rect","w":24,"h":160,"ox":-50,"oy":0}}]},{"id":"clasp","z":1.2,"fill":"#f2b632","shape":{"type":"circle","w":10,"ox":6,"oy":-70}}]},"back":{"nodes":[{"id":"cape","z":2.9,"fill":"accent","inner":true,"shape":{"type":"path","d":"M -42 -78 C -20 -82 20 -82 42 -78 C 50 -20 56 30 62 72 C 20 78 -20 78 -62 72 C -56 30 -50 -20 -42 -78 Z"},"children":[{"id":"shade","clip":true,"outline":false,"fill":"accent:shade","shape":{"type":"rect","w":26,"h":160,"ox":54,"oy":0}},{"id":"folds","outline":false,"fill":"accent:deep","shape":{"type":"strokes","lw":2.4,"lines":[[-14,-50,-24,70],[14,-50,22,70],[0,-30,0,72]]}}]}]}}}],"*":[{"on":"torso","ref":[46,74],"view":{"front":{"nodes":[{"id":"cape","band":-1,"group":"cape_back","z":-1,"fill":"accent:shade","shape":{"type":"path","d":"M -40 -76 L 40 -76 C 48 -20 54 30 60 72 C 20 78 -20 78 -60 72 C -54 30 -48 -20 -40 -76 Z"}},{"id":"clasp","z":1.2,"fill":"#f2b632","shape":{"type":"circle","w":11,"ox":0,"oy":-70}}]},"side":{"nodes":[{"id":"cape","band":-1,"group":"cape_back","z":-1,"fill":"accent","inner":true,"shape":{"type":"path","d":"M -4 -78 C 8 -78 10 -70 6 -60 C -6 -10 -18 40 -26 74 C -40 76 -52 74 -58 70 C -44 30 -26 -30 -4 -78 Z"},"children":[{"id":"shade","clip":true,"outline":false,"fill":"accent:shade","shape":{"type":"rect","w":24,"h":160,"ox":-50,"oy":0}}]},{"id":"clasp","z":1.2,"fill":"#f2b632","shape":{"type":"circle","w":10,"ox":6,"oy":-70}}]},"back":{"nodes":[{"id":"cape","z":2.9,"fill":"accent","inner":true,"shape":{"type":"path","d":"M -42 -78 C -20 -82 20 -82 42 -78 C 50 -20 56 30 62 72 C 20 78 -20 78 -62 72 C -56 30 -50 -20 -42 -78 Z"},"children":[{"id":"shade","clip":true,"outline":false,"fill":"accent:shade","shape":{"type":"rect","w":26,"h":160,"ox":54,"oy":0}},{"id":"folds","outline":false,"fill":"accent:deep","shape":{"type":"strokes","lw":2.4,"lines":[[-14,-50,-24,70],[14,-50,22,70],[0,-30,0,72]]}}]}]}}}]}},"file":"parts/back_cape.json"},{"pack":1,"id":"c4c:part:beak_hooked","type":"part","version":"1.0.0","name":"Hooked beak","description":"Hooked beak: a beak part for the bird body.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:2ec8da3fb28644f2674643d8c7ef82b29e3a0fe35868941d8ec16af1b8538edd","content":{"v":1,"kind":"part","art":1,"name":"beak_hooked","slot":"beak","short":"hooked","label":"Hooked beak","bodies":["bird"],"roles":["beak"],"colours":["accent"],"fit":{"bird":[{"on":"head","face":{"mouthSet":"none","moods":{"disgusted":{"low":0.6,"browY":0.3,"browUp":-0.35},"smug":{"browUp":0.55,"low":0.05},"worried":{"browY":-0.45},"sleepy":{"lid":0.7}}}},{"on":"beak","set":{"shape":"path","d":"M -4 -14 C 10 -17 27 -13 35 -3 C 40 4 40 13 33 17 C 33 11 29 7 23 7 C 14 9 4 9 -4 7 Z","w":44,"h":34,"rot":0,"look":{"fill":"accent"}},"view":{"front":{"shape":{"type":"path","d":"M -24 -10 C -14 -16 14 -16 24 -10 C 28 -6 24 1 17 6 C 11 11 5 19 0 26 C -5 19 -11 11 -17 6 C -24 1 -28 -6 -24 -10 Z","oy":6},"nodes":[{"id":"mouth","fill":"accent:dark","z":0.5,"shape":{"type":"strokes","lw":2,"lines":[[-22,-2,-8,4],[-8,4,0,2],[0,2,8,4],[8,4,22,-2]]}},{"id":"nostrils","fill":"accent:dark","z":0.5,"shape":{"type":"strokes","lw":2,"lines":[[-7,-10,-5,-10],[5,-10,7,-10]]}}]},"side":{"nodes":[{"id":"mouth","fill":"accent:dark","z":0.5,"shape":{"type":"strokes","lw":2,"lines":[[-2,4,14,5],[14,5,26,4]]}}]}}}]}},"file":"parts/beak_hooked.json"},{"pack":1,"id":"c4c:part:beak_short","type":"part","version":"1.0.0","name":"Short beak","description":"Short beak: a beak part for the bird body.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:1669e8f47daa9b427fed2e24e27ccbf6fe3b20396f03593ad748bce48eeed374","content":{"v":1,"kind":"part","art":1,"name":"beak_short","slot":"beak","short":"short","label":"Short beak","bodies":["bird"],"roles":["beak"],"colours":["accent"],"fit":{"bird":[{"on":"head","face":{"mouthSet":"none","moods":{"disgusted":{"low":0.6,"browY":0.3,"browUp":-0.35},"smug":{"browUp":0.55,"low":0.05},"worried":{"browY":-0.45},"sleepy":{"lid":0.7}}}},{"on":"beak","set":{"shape":"path","d":"M -4 -10 C 8 -11 20 -7 28 0 C 20 7 8 11 -4 10 Z","w":32,"h":21,"rot":0,"look":{"fill":"accent"}},"view":{"front":{"shape":{"type":"path","d":"M -14 -6 C -8 -10 8 -10 14 -6 C 12 2 6 10 0 16 C -6 10 -12 2 -14 -6 Z"}}}}]}},"file":"parts/beak_short.json"},{"pack":1,"id":"c4c:part:bottom_shorts","type":"part","version":"1.0.0","name":"Shorts","description":"Shorts: a bottom part for the kid, grownup bodies.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:2fab628058cd42952efed03d8eb97dc46dffa192954c5de00bdea3e8f6a38c1e","content":{"v":1,"kind":"part","art":1,"name":"bottom_shorts","slot":"bottom","short":"shorts","label":"Shorts","bodies":["kid","grownup"],"roles":["hips","leg"],"colours":["bottom"],"fit":{"kid":[{"on":"hips","view":{"all":{"nodes":[{"id":"shorts","clip":true,"fill":"bottom","shade":true,"shape":{"type":"rect","w":80,"h":60,"r":2}}]}}},{"on":"leg","view":{"all":{"nodes":[{"id":"leg","clip":true,"inner":true,"fill":"bottom","shade":true,"shape":{"type":"rect","w":40,"h":32,"oy":4,"r":2}}]}}}],"*":[{"on":"hips","ref":[40,28],"view":{"all":{"nodes":[{"id":"shorts","clip":true,"fill":"bottom","shade":true,"shape":{"type":"rect","w":80,"h":60,"r":2}}]}}},{"on":"leg","ref":[24,38],"view":{"all":{"nodes":[{"id":"leg","clip":true,"inner":true,"fill":"bottom","shade":true,"shape":{"type":"rect","w":40,"h":32,"oy":4,"r":2}}]}}}]}},"file":"parts/bottom_shorts.json"},{"pack":1,"id":"c4c:part:bottom_trousers","type":"part","version":"1.0.0","name":"Long trousers","description":"Long trousers: a bottom part for the kid, grownup bodies.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:d061ce8b0581e346247479d6281f6e558d4752bba4ae1c8fd06e101d461911e9","content":{"v":1,"kind":"part","art":1,"name":"bottom_trousers","slot":"bottom","short":"trousers","label":"Long trousers","bodies":["kid","grownup"],"roles":["hips","leg","shin"],"colours":["bottom"],"fit":{"kid":[{"on":"hips","view":{"all":{"nodes":[{"id":"trousers","clip":true,"fill":"bottom","shade":true,"shape":{"type":"rect","w":80,"h":60,"r":2}}]}}},{"on":"leg","view":{"all":{"nodes":[{"id":"leg","clip":true,"inner":true,"fill":"bottom","shade":true,"shape":{"type":"rect","w":40,"h":60,"oy":14,"r":2}}]}}},{"on":"shin","view":{"all":{"nodes":[{"id":"shin","clip":true,"inner":true,"fill":"bottom","shade":true,"shape":{"type":"rect","w":40,"h":60,"oy":14,"r":2},"children":[{"id":"hem","clip":true,"outline":false,"fill":"bottom:shade","shape":{"type":"rect","w":44,"h":5,"oy":30}}]}]}}}],"*":[{"on":"hips","ref":[40,28],"view":{"all":{"nodes":[{"id":"trousers","clip":true,"fill":"bottom","shade":true,"shape":{"type":"rect","w":80,"h":60,"r":2}}]}}},{"on":"leg","ref":[24,38],"view":{"all":{"nodes":[{"id":"leg","clip":true,"inner":true,"fill":"bottom","shade":true,"shape":{"type":"rect","w":40,"h":60,"oy":14,"r":2}}]}}},{"on":"shin","ref":[20,30],"view":{"all":{"nodes":[{"id":"shin","clip":true,"inner":true,"fill":"bottom","shade":true,"shape":{"type":"rect","w":40,"h":60,"oy":14,"r":2},"children":[{"id":"hem","clip":true,"outline":false,"fill":"bottom:shade","shape":{"type":"rect","w":44,"h":5,"oy":30}}]}]}}}]}},"file":"parts/bottom_trousers.json"},{"pack":1,"id":"c4c:part:brows_cross","type":"part","version":"1.0.0","name":"Cross brows (an angry face at rest)","description":"Cross brows (an angry face at rest): a brows part for the bird, crab, kid, grownup, upright bodies.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:ae4df7630b8f0709d997d1feee7311f36504350ba2b50d9ca4428da1ca100ae2","content":{"v":1,"kind":"part","art":1,"name":"brows_cross","slot":"brows","short":"cross","label":"Cross brows (an angry face at rest)","bodies":["bird","crab","kid","grownup","upright"],"roles":["head"],"colours":["hair"],"fit":{"bird":[{"on":"head","face":{"browSet":"thick","moods":{"normal":{"browT":30,"browY":0.16,"tilt":14,"lid":0.22}},"brow":"hair:dark"}}],"crab":[{"on":"head","face":{"browSet":"thick","moods":{"normal":{"browT":30,"browY":0.16,"tilt":14,"lid":0.22}},"brow":"skin:dark"}}],"*":[{"on":"head","face":{"browSet":"thick","moods":{"normal":{"browT":30,"browY":0.16,"tilt":14,"lid":0.22}},"brow":"hair:deep"}}]}},"file":"parts/brows_cross.json"},{"pack":1,"id":"c4c:part:brows_none","type":"part","version":"1.0.0","name":"No brows","description":"No brows: a brows part for the kid, grownup, upright, crab, bird, fours, blob bodies.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:fe94d9785072e30d1f4a493027ffcbc6a060d4899e62a317e4ae0f6636821d3c","content":{"v":1,"kind":"part","art":1,"name":"brows_none","slot":"brows","short":"none","label":"No brows","bodies":["kid","grownup","upright","crab","bird","fours","blob"],"roles":["head"],"colours":[],"fit":{"*":[{"on":"head","face":{"browSet":"none"}}]}},"file":"parts/brows_none.json"},{"pack":1,"id":"c4c:part:brows_soft","type":"part","version":"1.0.0","name":"Soft brows","description":"Soft brows: a brows part for the kid, grownup, upright, crab, bird, fours, blob bodies.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:d9b46ecd06d3cdc29b0564c5758fa8511253c399ae1a7c7330dd633cb0282f3a","content":{"v":1,"kind":"part","art":1,"name":"brows_soft","slot":"brows","short":"soft","label":"Soft brows","bodies":["kid","grownup","upright","crab","bird","fours","blob"],"roles":["head"],"colours":["hair"],"fit":{"upright":[{"on":"head","face":{"browSet":"tapered","brow":"skin:dark"}}],"crab":[{"on":"head","face":{"browSet":"tapered","brow":"skin:dark"}}],"fours":[{"on":"head","face":{"browSet":"tapered","brow":"skin:dark"}}],"blob":[{"on":"head","face":{"browSet":"tapered","brow":"skin:dark"}}],"*":[{"on":"head","face":{"browSet":"tapered","brow":"hair:deep"}}]}},"file":"parts/brows_soft.json"},{"pack":1,"id":"c4c:part:claws_big_pincer","type":"part","version":"1.0.0","name":"Big pincer claws","description":"Big pincer claws: a claws part for the crab body.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:ede3131fc2d33a2479c67929b8e53d99f47b97301654a39bacab9711e263f0ce","content":{"v":1,"kind":"part","art":1,"name":"claws_big_pincer","slot":"claws","short":"big_pincer","label":"Big pincer claws","bodies":["crab"],"roles":["claw"],"colours":["skin"],"fit":{"crab":[{"on":"claw","side":-1,"set":{"shape":"path","d":"M 13 0 C 30 6 38 22 36 40 C 34 56 25 69 12 78 C 11 70 10 63 7 57 L 2 60 L 4 52 L -2 52 L -1 45 C -9 50 -17 58 -22 68 C -33 58 -38 44 -36 30 C -34 13 -22 3 -11 0 Z","w":74,"h":78},"view":{"all":{"nodes":[{"id":"palm_shine","clip":true,"outline":false,"fill":"skin:lite","shape":{"type":"ellipse","w":12,"h":26,"ox":-14,"oy":26}}]}}},{"on":"claw","side":1,"set":{"shape":"path","d":"M -13 0 C -30 6 -38 22 -36 40 C -34 56 -25 69 -12 78 C -11 70 -10 63 -7 57 L -2 60 L -4 52 L 2 52 L 1 45 C 9 50 17 58 22 68 C 33 58 38 44 36 30 C 34 13 22 3 11 0 Z","w":74,"h":78},"view":{"all":{"nodes":[{"id":"palm_shine","clip":true,"outline":false,"fill":"skin:lite","shape":{"type":"ellipse","w":12,"h":26,"ox":14,"oy":26}}]}}}],"*":[{"on":"claw","side":-1,"set":{"shape":"path","d":"M 13 0 C 30 6 38 22 36 40 C 34 56 25 69 12 78 C 11 70 10 63 7 57 L 2 60 L 4 52 L -2 52 L -1 45 C -9 50 -17 58 -22 68 C -33 58 -38 44 -36 30 C -34 13 -22 3 -11 0 Z","w":74,"h":78},"view":{"all":{"nodes":[{"id":"palm_shine","clip":true,"outline":false,"fill":"skin:lite","shape":{"type":"ellipse","w":12,"h":26,"ox":-14,"oy":26}}]}},"ref":[56,74]},{"on":"claw","side":1,"set":{"shape":"path","d":"M -13 0 C -30 6 -38 22 -36 40 C -34 56 -25 69 -12 78 C -11 70 -10 63 -7 57 L -2 60 L -4 52 L 2 52 L 1 45 C 9 50 17 58 22 68 C 33 58 38 44 36 30 C 34 13 22 3 11 0 Z","w":74,"h":78},"view":{"all":{"nodes":[{"id":"palm_shine","clip":true,"outline":false,"fill":"skin:lite","shape":{"type":"ellipse","w":12,"h":26,"ox":14,"oy":26}}]}},"ref":[56,74]}]}},"file":"parts/claws_big_pincer.json"},{"pack":1,"id":"c4c:part:claws_pincer_down","type":"part","version":"1.0.0","name":"Big pincers resting down","description":"Big pincers resting down: a claws part for the crab body.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:80ec274816d3a6e4e7510108abb439a7f6fa9c545c849d3a430d88d4592053ca","content":{"v":1,"kind":"part","art":1,"name":"claws_pincer_down","slot":"claws","short":"pincer_down","label":"Big pincers resting down","bodies":["crab"],"roles":["arm","claw","forearm"],"colours":["skin"],"fit":{"crab":[{"on":"arm","side":-1,"set":{"rot":20,"z":1}},{"on":"forearm","side":-1,"set":{"rot":-8,"z":2}},{"on":"claw","side":-1,"set":{"shape":"path","d":"M 13 0 C 30 6 38 22 36 40 C 34 56 25 69 12 78 C 11 70 10 63 7 57 L 2 60 L 4 52 L -2 52 L -1 45 C -9 50 -17 58 -22 68 C -33 58 -38 44 -36 30 C -34 13 -22 3 -11 0 Z","w":74,"h":78,"rot":-174,"z":2},"view":{"all":{"nodes":[{"id":"palm_shine","clip":true,"outline":false,"fill":"skin:lite","shape":{"type":"ellipse","w":12,"h":26,"ox":-14,"oy":26}}]}}},{"on":"arm","side":1,"set":{"rot":-20,"z":1}},{"on":"forearm","side":1,"set":{"rot":8,"z":2}},{"on":"claw","side":1,"set":{"shape":"path","d":"M -13 0 C -30 6 -38 22 -36 40 C -34 56 -25 69 -12 78 C -11 70 -10 63 -7 57 L -2 60 L -4 52 L 2 52 L 1 45 C 9 50 17 58 22 68 C 33 58 38 44 36 30 C 34 13 22 3 11 0 Z","w":74,"h":78,"rot":174,"z":2},"view":{"all":{"nodes":[{"id":"palm_shine","clip":true,"outline":false,"fill":"skin:lite","shape":{"type":"ellipse","w":12,"h":26,"ox":14,"oy":26}}]}}}],"*":[{"on":"arm","side":-1,"set":{"rot":20,"z":1}},{"on":"forearm","side":-1,"set":{"rot":-8,"z":2}},{"on":"claw","side":-1,"set":{"shape":"path","d":"M 13 0 C 30 6 38 22 36 40 C 34 56 25 69 12 78 C 11 70 10 63 7 57 L 2 60 L 4 52 L -2 52 L -1 45 C -9 50 -17 58 -22 68 C -33 58 -38 44 -36 30 C -34 13 -22 3 -11 0 Z","w":74,"h":78,"rot":-174,"z":2},"view":{"all":{"nodes":[{"id":"palm_shine","clip":true,"outline":false,"fill":"skin:lite","shape":{"type":"ellipse","w":12,"h":26,"ox":-14,"oy":26}}]}},"ref":[56,74]},{"on":"arm","side":1,"set":{"rot":-20,"z":1}},{"on":"forearm","side":1,"set":{"rot":8,"z":2}},{"on":"claw","side":1,"set":{"shape":"path","d":"M -13 0 C -30 6 -38 22 -36 40 C -34 56 -25 69 -12 78 C -11 70 -10 63 -7 57 L -2 60 L -4 52 L 2 52 L 1 45 C 9 50 17 58 22 68 C 33 58 38 44 36 30 C 34 13 22 3 11 0 Z","w":74,"h":78,"rot":174,"z":2},"view":{"all":{"nodes":[{"id":"palm_shine","clip":true,"outline":false,"fill":"skin:lite","shape":{"type":"ellipse","w":12,"h":26,"ox":14,"oy":26}}]}},"ref":[56,74]}]}},"file":"parts/claws_pincer_down.json"},{"pack":1,"id":"c4c:part:ears_pointed","type":"part","version":"1.0.0","name":"Pointed ears","description":"Pointed ears: a ears part for the upright, fours bodies.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:ca48555d4cf2e1f34abd7fc185c6b30c4a0f1b6fa25e923892dfa7826340cc1d","content":{"v":1,"kind":"part","art":1,"name":"ears_pointed","slot":"ears","short":"pointed","label":"Pointed ears","bodies":["upright","fours"],"roles":["ear"],"colours":["skin","accent"],"fit":{"upright":[{"on":"ear","set":{"shape":"path","d":"M -16 12 C -18 -2 -10 -22 -1 -38 C 0 -40 1 -40 2 -38 C 10 -22 18 -2 16 12 C 8 16 -8 16 -16 12 Z","w":34,"h":52}},{"on":"decoration","side":-1,"set":{"shape":"path","d":"M -9 8 C -10 -2 -5 -16 0 -27 C 5 -16 10 -2 9 8 C 5 10 -5 10 -9 8 Z","w":19,"h":37}},{"on":"decoration","side":1,"set":{"shape":"path","d":"M -9 8 C -10 -2 -5 -16 0 -27 C 5 -16 10 -2 9 8 C 5 10 -5 10 -9 8 Z","w":19,"h":37}}],"fours":[{"on":"ear","set":{"shape":"path","d":"M -16 12 C -18 -2 -10 -22 -1 -38 C 0 -40 1 -40 2 -38 C 10 -22 18 -2 16 12 C 8 16 -8 16 -16 12 Z","w":34,"h":52,"rot":0},"view":{"all":{"nodes":[{"id":"inside","outline":false,"fill":"accent","z":0.2,"shape":{"type":"path","d":"M -9 8 C -10 -2 -5 -16 0 -27 C 5 -16 10 -2 9 8 C 5 10 -5 10 -9 8 Z"}}]}}}],"*":[{"on":"ear","ref":[32,38],"set":{"shape":"path","d":"M -16 12 C -18 -2 -10 -22 -1 -38 C 0 -40 1 -40 2 -38 C 10 -22 18 -2 16 12 C 8 16 -8 16 -16 12 Z","w":34,"h":52},"view":{"all":{"nodes":[{"id":"inside","outline":false,"fill":"accent","z":0.2,"shape":{"type":"path","d":"M -9 8 C -10 -2 -5 -16 0 -27 C 5 -16 10 -2 9 8 C 5 10 -5 10 -9 8 Z"}}]}}}]}},"file":"parts/ears_pointed.json"},{"pack":1,"id":"c4c:part:ears_round","type":"part","version":"1.0.0","name":"Round ears","description":"Round ears: a ears part for the upright body.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:18e6a69445294dc528ae77d7330af9c04f12d10bb6ae8f363593b746e8406b08","content":{"v":1,"kind":"part","art":1,"name":"ears_round","slot":"ears","short":"round","label":"Round ears","bodies":["upright"],"roles":["ear"],"colours":["skin","accent"],"fit":{"*":[{"on":"ear","ref":[32,38],"set":{"shape":"ellipse","w":32,"h":38}}]}},"file":"parts/ears_round.json"},{"pack":1,"id":"c4c:part:eyes_big","type":"part","version":"1.0.0","name":"Big shining eyes","description":"Big shining eyes: a eyes part for the upright, kid bodies.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:4ff2b1ba2e91601113fe1c35dd5d397a0ed29814cfe876455457c5f3c3ab6fc0","content":{"v":1,"kind":"part","art":1,"name":"eyes_big","slot":"eyes","short":"big","label":"Big shining eyes","bodies":["upright","kid"],"roles":["head"],"colours":["eyes"],"fit":{"upright":[{"on":"head","face":{"eyeSet":"round","eyeX":27,"eyeCX":31,"eyeY":-50,"eyeR":13,"eyeH":1.12,"iris":"eyes","lid":"skin","moods":{"normal":{"iris":0.86}}}}],"kid":[{"on":"head","face":{"eyeSet":"round","eyeX":24,"eyeCX":28,"eyeY":-41,"eyeR":14,"eyeH":1.22,"iris":"eyes","lid":"skin","moods":{"normal":{"iris":0.8}}}}],"*":[{"on":"head","face":{"eyeSet":"round","iris":"eyes","lid":"skin","moods":{"normal":{"iris":0.8}}}}]}},"file":"parts/eyes_big.json"},{"pack":1,"id":"c4c:part:eyes_bulge","type":"part","version":"1.0.0","name":"Eyes up on top (a frog's)","description":"Eyes up on top (a frog's): a eyes part for the upright, kid, blob, fours bodies.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:fef1d8d52247c098cb03376e4bd4df72e69e31242553ddccf163bedd91b25ee6","content":{"v":1,"kind":"part","art":1,"name":"eyes_bulge","slot":"eyes","short":"bulge","label":"Eyes up on top (a frog's)","bodies":["upright","kid","blob","fours"],"roles":["head"],"colours":["eyes","skin"],"fit":{"upright":[{"on":"head","face":{"eyeSet":"round","eyeX":32,"eyeCX":22,"eyeY":-70,"eyeR":14,"eyeH":1,"iris":"eyes","lid":"skin","moods":{"normal":{"iris":0.7}}},"view":{"front":{"nodes":[{"id":"dome_l","z":-0.1,"fill":"skin","shape":{"type":"ellipse","w":46,"h":41.4,"ox":-32,"oy":-68}},{"id":"dome_r","z":-0.1,"fill":"skin","shape":{"type":"ellipse","w":46,"h":41.4,"ox":32,"oy":-68}}]},"side":{"nodes":[{"id":"dome","z":-0.1,"fill":"skin","shape":{"type":"ellipse","w":46,"h":41.4,"ox":22,"oy":-68}}]},"back":{"nodes":[{"id":"dome_l","z":-0.1,"fill":"skin","shape":{"type":"ellipse","w":46,"h":41.4,"ox":-32,"oy":-68}},{"id":"dome_r","z":-0.1,"fill":"skin","shape":{"type":"ellipse","w":46,"h":41.4,"ox":32,"oy":-68}}]}}}],"kid":[{"on":"head","face":{"eyeSet":"round","eyeX":28,"eyeCX":22,"eyeY":-84,"eyeR":13,"eyeH":1,"iris":"eyes","lid":"skin","moods":{"normal":{"iris":0.7}}},"view":{"front":{"nodes":[{"id":"dome_l","z":-0.1,"fill":"skin","shape":{"type":"ellipse","w":42,"h":37.800000000000004,"ox":-28,"oy":-82}},{"id":"dome_r","z":-0.1,"fill":"skin","shape":{"type":"ellipse","w":42,"h":37.800000000000004,"ox":28,"oy":-82}}]},"side":{"nodes":[{"id":"dome","z":-0.1,"fill":"skin","shape":{"type":"ellipse","w":42,"h":37.800000000000004,"ox":22,"oy":-82}}]},"back":{"nodes":[{"id":"dome_l","z":-0.1,"fill":"skin","shape":{"type":"ellipse","w":42,"h":37.800000000000004,"ox":-28,"oy":-82}},{"id":"dome_r","z":-0.1,"fill":"skin","shape":{"type":"ellipse","w":42,"h":37.800000000000004,"ox":28,"oy":-82}}]}}}],"fours":[{"on":"head","face":{"eyeSet":"round","eyeX":18,"eyeCX":12,"eyeY":-46,"eyeR":10,"eyeH":1,"iris":"eyes","lid":"skin","moods":{"normal":{"iris":0.7}}},"view":{"front":{"nodes":[{"id":"dome_l","z":-0.1,"fill":"skin","shape":{"type":"ellipse","w":30,"h":27,"ox":-18,"oy":-44}},{"id":"dome_r","z":-0.1,"fill":"skin","shape":{"type":"ellipse","w":30,"h":27,"ox":18,"oy":-44}}]},"side":{"nodes":[{"id":"dome","z":-0.1,"fill":"skin","shape":{"type":"ellipse","w":30,"h":27,"ox":12,"oy":-44}}]},"back":{"nodes":[{"id":"dome_l","z":-0.1,"fill":"skin","shape":{"type":"ellipse","w":30,"h":27,"ox":-18,"oy":-44}},{"id":"dome_r","z":-0.1,"fill":"skin","shape":{"type":"ellipse","w":30,"h":27,"ox":18,"oy":-44}}]}}}],"blob":[{"on":"head","face":{"eyeSet":"round","eyeX":30,"eyeCX":8,"eyeY":-46,"eyeR":15,"eyeH":1,"iris":"eyes","lid":"skin","moods":{"normal":{"iris":0.7}}},"view":{"front":{"nodes":[{"id":"dome_l","z":-0.1,"fill":"skin","shape":{"type":"ellipse","w":46,"h":41.4,"ox":-30,"oy":-44}},{"id":"dome_r","z":-0.1,"fill":"skin","shape":{"type":"ellipse","w":46,"h":41.4,"ox":30,"oy":-44}}]},"side":{"nodes":[{"id":"dome","z":-0.1,"fill":"skin","shape":{"type":"ellipse","w":46,"h":41.4,"ox":8,"oy":-44}}]},"back":{"nodes":[{"id":"dome_l","z":-0.1,"fill":"skin","shape":{"type":"ellipse","w":46,"h":41.4,"ox":-30,"oy":-44}},{"id":"dome_r","z":-0.1,"fill":"skin","shape":{"type":"ellipse","w":46,"h":41.4,"ox":30,"oy":-44}}]}}}],"*":[{"on":"head","ref":[102,104],"face":{"eyeSet":"round","eyeX":28,"eyeCX":22,"eyeY":-84,"eyeR":13,"eyeH":1,"iris":"eyes","lid":"skin","moods":{"normal":{"iris":0.7}}},"view":{"front":{"nodes":[{"id":"dome_l","z":-0.1,"fill":"skin","shape":{"type":"ellipse","w":42,"h":37.800000000000004,"ox":-28,"oy":-82}},{"id":"dome_r","z":-0.1,"fill":"skin","shape":{"type":"ellipse","w":42,"h":37.800000000000004,"ox":28,"oy":-82}}]},"side":{"nodes":[{"id":"dome","z":-0.1,"fill":"skin","shape":{"type":"ellipse","w":42,"h":37.800000000000004,"ox":22,"oy":-82}}]},"back":{"nodes":[{"id":"dome_l","z":-0.1,"fill":"skin","shape":{"type":"ellipse","w":42,"h":37.800000000000004,"ox":-28,"oy":-82}},{"id":"dome_r","z":-0.1,"fill":"skin","shape":{"type":"ellipse","w":42,"h":37.800000000000004,"ox":28,"oy":-82}}]}}}]}},"file":"parts/eyes_bulge.json"},{"pack":1,"id":"c4c:part:eyes_round","type":"part","version":"1.0.0","name":"Round eyes","description":"Round eyes: a eyes part for the kid, grownup, crab, bird, fours, blob bodies.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:4a22c90f6b10374ea4f5798bad5cac4757aeb57b030fec4fa8e756088afaa666","content":{"v":1,"kind":"part","art":1,"name":"eyes_round","slot":"eyes","short":"round","label":"Round eyes","bodies":["kid","grownup","crab","bird","fours","blob"],"roles":["head"],"colours":["eyes"],"fit":{"kid":[{"on":"head","face":{"eyeSet":"round","eyeX":23,"eyeCX":27,"eyeY":-40,"eyeR":12,"eyeH":1.28,"iris":"eyes","lid":"skin","blush":"blush"}}],"grownup":[{"on":"head","ref":[102,104],"face":{"eyeSet":"round","eyeX":23,"eyeCX":27,"eyeY":-40,"eyeR":11,"eyeH":1.22,"iris":"eyes","lid":"skin","blush":"blush"}}],"crab":[{"on":"head","face":{"eyeSet":"round","iris":"eyes","lid":"skin","moods":{"normal":{"iris":0.5}}}}],"bird":[{"on":"head","face":{"eyeSet":"oval","iris":"eyes","lid":"skin"}}],"fours":[{"on":"head","face":{"eyeSet":"round","iris":"eyes","lid":"skin"}}],"blob":[{"on":"head","face":{"eyeSet":"round","iris":"eyes","lid":"skin"}}],"*":[{"on":"head","ref":[102,104],"face":{"eyeSet":"round","eyeX":23,"eyeCX":27,"eyeY":-40,"eyeR":12,"eyeH":1.28,"iris":"eyes","lid":"skin","blush":"blush"}}]}},"file":"parts/eyes_round.json"},{"pack":1,"id":"c4c:part:eyes_stalk","type":"part","version":"1.0.0","name":"Eyes on stalks","description":"Eyes on stalks: a eyes part for the crab body.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:9972a44399411ee8d71b38079dec08e8ba977e0ccf252f35f2e74b9cb72dd15e","content":{"v":1,"kind":"part","art":1,"name":"eyes_stalk","slot":"eyes","short":"stalk","label":"Eyes on stalks","bodies":["crab"],"roles":["head"],"colours":["eyes"],"fit":{"crab":[{"on":"head","add":[{"id":"stalk_l","role":"eye_stalk","at":[-25,-8],"side":-1,"shape":"capsule","w":12,"h":30,"rot":180,"z":-1,"limits":[-30,30],"look":{"fill":"skin"}},{"id":"stalk_r","role":"eye_stalk","at":[25,-8],"side":1,"shape":"capsule","w":12,"h":30,"rot":180,"z":-1,"limits":[-30,30],"look":{"fill":"skin"}}],"face":{"eyeSet":"round","eyeY":-38,"eyeR":15,"iris":"eyes","lid":"skin"}}]}},"file":"parts/eyes_stalk.json"},{"pack":1,"id":"c4c:part:face_muzzle","type":"part","version":"1.0.0","name":"Pale muzzle and cheeks","description":"Pale muzzle and cheeks: a face part for the upright, fours bodies.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:adaedec1306d0f3ebbb7e3e26e5453396b7a4235d2511c416fcd5c08917b933a","content":{"v":1,"kind":"part","art":1,"name":"face_muzzle","slot":"face","short":"muzzle","label":"Pale muzzle and cheeks","bodies":["upright","fours"],"roles":["head"],"colours":["accent"],"fit":{"upright":[{"on":"head","view":{"front":{"nodes":[{"id":"muzzle","clip":true,"outline":false,"fill":"accent","z":0.2,"shape":{"type":"path","d":"M -50 -26 C -40 -42 -20 -40 -8 -46 C -4 -48 4 -48 8 -46 C 20 -40 40 -42 50 -26 C 56 -14 44 6 24 10 C 12 13 -12 13 -24 10 C -44 6 -56 -14 -50 -26 Z"}}]},"side":{"nodes":[{"id":"muzzle","clip":true,"outline":false,"fill":"accent","z":0.2,"shape":{"type":"path","d":"M 6 -30 C 20 -38 40 -38 54 -28 C 60 -20 58 -4 48 4 C 34 12 14 12 2 4 C -6 -4 -4 -22 6 -30 Z"}}]}}},{"on":"snout","set":{"look":{"fill":"accent"}}}],"fours":[{"on":"head","ref":[104,98],"view":{"front":{"nodes":[{"id":"muzzle","clip":true,"outline":false,"fill":"accent","z":0.2,"shape":{"type":"path","d":"M -50 -26 C -40 -42 -20 -40 -8 -46 C -4 -48 4 -48 8 -46 C 20 -40 40 -42 50 -26 C 56 -14 44 6 24 10 C 12 13 -12 13 -24 10 C -44 6 -56 -14 -50 -26 Z"}}]},"side":{"nodes":[{"id":"muzzle","clip":true,"outline":false,"fill":"accent","z":0.2,"shape":{"type":"path","d":"M 6 -30 C 20 -38 40 -38 54 -28 C 60 -20 58 -4 48 4 C 34 12 14 12 2 4 C -6 -4 -4 -22 6 -30 Z"}}]}}},{"on":"snout","set":{"look":{"fill":"accent"}}}],"*":[{"on":"head","ref":[104,98],"view":{"front":{"nodes":[{"id":"muzzle","clip":true,"outline":false,"fill":"accent","z":0.2,"shape":{"type":"path","d":"M -50 -26 C -40 -42 -20 -40 -8 -46 C -4 -48 4 -48 8 -46 C 20 -40 40 -42 50 -26 C 56 -14 44 6 24 10 C 12 13 -12 13 -24 10 C -44 6 -56 -14 -50 -26 Z"}}]},"side":{"nodes":[{"id":"muzzle","clip":true,"outline":false,"fill":"accent","z":0.2,"shape":{"type":"path","d":"M 6 -30 C 20 -38 40 -38 54 -28 C 60 -20 58 -4 48 4 C 34 12 14 12 2 4 C -6 -4 -4 -22 6 -30 Z"}}]}}}]}},"file":"parts/face_muzzle.json"},{"pack":1,"id":"c4c:part:hair_bob","type":"part","version":"1.0.0","name":"Bob with a cowlick","description":"Bob with a cowlick: a hair part for the kid, grownup bodies.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:5bb21c2a5f4d820129d6116366f1117da9117b70705686e3ce390a4b4cd1d0e5","content":{"v":1,"kind":"part","art":1,"name":"hair_bob","slot":"hair","short":"bob","label":"Bob with a cowlick","bodies":["kid","grownup"],"roles":["head"],"colours":["hair"],"band":-1,"fit":{"kid":[{"on":"head","view":{"front":{"nodes":[{"id":"back","band":-1,"group":"hair_back","z":-1,"fill":"hair:dim","shape":{"type":"path","d":"M -58 -64 C -62 -96 -30 -112 0 -112 C 30 -112 62 -96 58 -64 C 60 -42 59 -24 52 -16 C 40 -8 -40 -8 -52 -16 C -59 -24 -60 -42 -58 -64 Z"}},{"id":"brow_shade","clip":true,"outline":false,"fill":"skin:soft","z":0.2,"pos":{"x":0,"y":5},"shape":{"type":"path","d":"M 38 -68 Q 32 -86 26 -72 Q 20 -88 12 -74 Q 4 -90 -4 -74 Q -12 -88 -20 -72 Q -28 -86 -36 -68 L -60 -120 L 60 -120 Z"}},{"id":"front","role":"hair","z":0.6,"fill":"hair","inner":true,"shape":{"type":"path","d":"M -57 -34 C -63 -76 -38 -110 0 -110 C 38 -110 63 -76 57 -34 C 55 -26 50 -24 47 -30 C 46 -46 44 -58 38 -68 Q 32 -86 26 -72 Q 20 -88 12 -74 Q 4 -90 -4 -74 Q -12 -88 -20 -72 Q -28 -86 -36 -68 C -42 -58 -46 -46 -47 -30 C -50 -24 -55 -26 -57 -34 Z"},"children":[{"id":"shine","clip":true,"outline":false,"fill":"hair:lite","shape":{"type":"path","d":"M 8 -101 C 28 -100 44 -90 50 -76 C 40 -86 26 -92 6 -93 Z"}},{"id":"shadow","clip":true,"outline":false,"fill":"hair:shade","shape":{"type":"rect","w":30,"h":120,"ox":-62,"oy":-50}}]},{"id":"cowlick","z":0.7,"fill":"hair","shape":{"type":"path","d":"M -4 -106 C -6 -120 4 -130 14 -128 C 6 -124 4 -116 6 -106 Z"}}]},"side":{"nodes":[{"id":"back","band":-1,"group":"hair_back","z":-1,"fill":"hair:dim","shape":{"type":"path","d":"M -60 -70 C -62 -100 -30 -114 0 -110 C 20 -108 30 -96 32 -86 L -8 -40 C -6 -30 -9 -20 -16 -12 C -30 -6 -50 -8 -57 -16 C -63 -30 -62 -46 -60 -70 Z"}},{"id":"brow_shade","clip":true,"outline":false,"fill":"skin:soft","z":0.2,"pos":{"x":0,"y":5},"shape":{"type":"path","d":"M 50 -64 Q 44 -78 38 -66 Q 32 -80 24 -68 Q 18 -82 10 -70 L 10 -120 L 60 -120 Z"}},{"id":"front","role":"hair","z":0.6,"fill":"hair","inner":true,"shape":{"type":"path","d":"M 50 -64 Q 44 -78 38 -66 Q 32 -80 24 -68 Q 18 -82 10 -70 C 6 -60 6 -48 8 -34 C 0 -28 -14 -24 -22 -18 C -32 -10 -46 -8 -54 -20 C -62 -40 -62 -84 -30 -104 C -4 -116 40 -110 50 -64 Z"},"children":[{"id":"shine","clip":true,"outline":false,"fill":"hair:lite","shape":{"type":"path","d":"M -4 -104 C 18 -106 36 -96 42 -82 C 30 -92 14 -96 -6 -96 Z"}},{"id":"shadow","clip":true,"outline":false,"fill":"hair:shade","shape":{"type":"rect","w":30,"h":120,"ox":-58,"oy":-50}}]},{"id":"cowlick","z":0.7,"fill":"hair","shape":{"type":"path","d":"M -10 -106 C -14 -120 -4 -130 8 -128 C 0 -124 -2 -116 0 -106 Z"}}]},"back":{"nodes":[{"id":"front","role":"hair","z":2.5,"fill":"hair","inner":true,"shape":{"type":"path","d":"M -58 -60 C -62 -96 -30 -112 0 -112 C 30 -112 62 -96 58 -60 C 60 -40 59 -22 53 -10 Q 47 -2 40 -9 Q 33 -1 24 -7 Q 15 0 6 -5 Q -3 1 -12 -6 Q -21 0 -30 -7 Q -38 -1 -45 -9 Q -51 -3 -53 -10 C -59 -22 -60 -40 -58 -60 Z"},"children":[{"id":"shadow","clip":true,"outline":false,"fill":"hair:shade","shape":{"type":"rect","w":30,"h":120,"ox":62,"oy":-50}}]},{"id":"cowlick","z":2.6,"fill":"hair","shape":{"type":"path","d":"M -4 -106 C -6 -120 4 -130 14 -128 C 6 -124 4 -116 6 -106 Z"}}]}}}],"*":[{"on":"head","ref":[102,104],"view":{"front":{"nodes":[{"id":"back","band":-1,"group":"hair_back","z":-1,"fill":"hair:dim","shape":{"type":"path","d":"M -58 -64 C -62 -96 -30 -112 0 -112 C 30 -112 62 -96 58 -64 C 60 -42 59 -24 52 -16 C 40 -8 -40 -8 -52 -16 C -59 -24 -60 -42 -58 -64 Z"}},{"id":"brow_shade","clip":true,"outline":false,"fill":"skin:soft","z":0.2,"pos":{"x":0,"y":5},"shape":{"type":"path","d":"M 38 -68 Q 32 -86 26 -72 Q 20 -88 12 -74 Q 4 -90 -4 -74 Q -12 -88 -20 -72 Q -28 -86 -36 -68 L -60 -120 L 60 -120 Z"}},{"id":"front","role":"hair","z":0.6,"fill":"hair","inner":true,"shape":{"type":"path","d":"M -57 -34 C -63 -76 -38 -110 0 -110 C 38 -110 63 -76 57 -34 C 55 -26 50 -24 47 -30 C 46 -46 44 -58 38 -68 Q 32 -86 26 -72 Q 20 -88 12 -74 Q 4 -90 -4 -74 Q -12 -88 -20 -72 Q -28 -86 -36 -68 C -42 -58 -46 -46 -47 -30 C -50 -24 -55 -26 -57 -34 Z"},"children":[{"id":"shine","clip":true,"outline":false,"fill":"hair:lite","shape":{"type":"path","d":"M 8 -101 C 28 -100 44 -90 50 -76 C 40 -86 26 -92 6 -93 Z"}},{"id":"shadow","clip":true,"outline":false,"fill":"hair:shade","shape":{"type":"rect","w":30,"h":120,"ox":-62,"oy":-50}}]},{"id":"cowlick","z":0.7,"fill":"hair","shape":{"type":"path","d":"M -4 -106 C -6 -120 4 -130 14 -128 C 6 -124 4 -116 6 -106 Z"}}]},"side":{"nodes":[{"id":"back","band":-1,"group":"hair_back","z":-1,"fill":"hair:dim","shape":{"type":"path","d":"M -60 -70 C -62 -100 -30 -114 0 -110 C 20 -108 30 -96 32 -86 L -8 -40 C -6 -30 -9 -20 -16 -12 C -30 -6 -50 -8 -57 -16 C -63 -30 -62 -46 -60 -70 Z"}},{"id":"brow_shade","clip":true,"outline":false,"fill":"skin:soft","z":0.2,"pos":{"x":0,"y":5},"shape":{"type":"path","d":"M 50 -64 Q 44 -78 38 -66 Q 32 -80 24 -68 Q 18 -82 10 -70 L 10 -120 L 60 -120 Z"}},{"id":"front","role":"hair","z":0.6,"fill":"hair","inner":true,"shape":{"type":"path","d":"M 50 -64 Q 44 -78 38 -66 Q 32 -80 24 -68 Q 18 -82 10 -70 C 6 -60 6 -48 8 -34 C 0 -28 -14 -24 -22 -18 C -32 -10 -46 -8 -54 -20 C -62 -40 -62 -84 -30 -104 C -4 -116 40 -110 50 -64 Z"},"children":[{"id":"shine","clip":true,"outline":false,"fill":"hair:lite","shape":{"type":"path","d":"M -4 -104 C 18 -106 36 -96 42 -82 C 30 -92 14 -96 -6 -96 Z"}},{"id":"shadow","clip":true,"outline":false,"fill":"hair:shade","shape":{"type":"rect","w":30,"h":120,"ox":-58,"oy":-50}}]},{"id":"cowlick","z":0.7,"fill":"hair","shape":{"type":"path","d":"M -10 -106 C -14 -120 -4 -130 8 -128 C 0 -124 -2 -116 0 -106 Z"}}]},"back":{"nodes":[{"id":"front","role":"hair","z":2.5,"fill":"hair","inner":true,"shape":{"type":"path","d":"M -58 -60 C -62 -96 -30 -112 0 -112 C 30 -112 62 -96 58 -60 C 60 -40 59 -22 53 -10 Q 47 -2 40 -9 Q 33 -1 24 -7 Q 15 0 6 -5 Q -3 1 -12 -6 Q -21 0 -30 -7 Q -38 -1 -45 -9 Q -51 -3 -53 -10 C -59 -22 -60 -40 -58 -60 Z"},"children":[{"id":"shadow","clip":true,"outline":false,"fill":"hair:shade","shape":{"type":"rect","w":30,"h":120,"ox":62,"oy":-50}}]},{"id":"cowlick","z":2.6,"fill":"hair","shape":{"type":"path","d":"M -4 -106 C -6 -120 4 -130 14 -128 C 6 -124 4 -116 6 -106 Z"}}]}}}]}},"file":"parts/hair_bob.json"},{"pack":1,"id":"c4c:part:hair_spikes","type":"part","version":"1.0.0","name":"Short spikes","description":"Short spikes: a hair part for the kid, grownup bodies.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:65df7a5c2c006ff38a564b73e7198380c788eb5ece44180d1a49a31a966b1412","content":{"v":1,"kind":"part","art":1,"name":"hair_spikes","slot":"hair","short":"spikes","label":"Short spikes","bodies":["kid","grownup"],"roles":["head"],"colours":["hair"],"fit":{"kid":[{"on":"head","view":{"front":{"nodes":[{"id":"front","role":"hair","z":0.6,"fill":"hair","inner":true,"shape":{"type":"path","d":"M -56 -48 C -61 -74 -54 -94 -42 -102 L -50 -124 L -28 -110 L -22 -138 L -6 -114 L 4 -142 L 14 -114 L 28 -136 L 32 -108 L 52 -122 L 46 -98 C 56 -88 61 -70 56 -48 C 52 -58 47 -68 40 -74 C 30 -70 22 -82 12 -76 C 2 -84 -8 -74 -18 -80 C -26 -72 -34 -78 -40 -74 C -47 -68 -52 -58 -56 -48 Z"},"children":[{"id":"shine","clip":true,"outline":false,"fill":"hair:lite","shape":{"type":"path","d":"M 6 -110 L 14 -128 L 20 -108 L 28 -124 L 34 -100 C 40 -94 44 -86 46 -78 C 36 -90 22 -98 6 -100 Z"}},{"id":"shadow","clip":true,"outline":false,"fill":"hair:shade","shape":{"type":"rect","w":26,"h":120,"ox":-60,"oy":-60}}]}]},"side":{"nodes":[{"id":"front","role":"hair","z":0.6,"fill":"hair","inner":true,"shape":{"type":"path","d":"M 48 -66 L 52 -92 L 34 -102 L 40 -128 L 18 -112 L 14 -140 L -2 -114 L -18 -134 L -24 -108 L -44 -120 L -44 -96 C -56 -84 -59 -62 -55 -36 C -46 -40 -34 -50 -22 -58 C -6 -66 14 -70 30 -68 C 38 -76 44 -70 48 -66 Z"},"children":[{"id":"shine","clip":true,"outline":false,"fill":"hair:lite","shape":{"type":"path","d":"M 0 -110 L 14 -136 L 18 -112 L 38 -126 L 34 -100 C 20 -102 8 -104 0 -104 Z"}},{"id":"shadow","clip":true,"outline":false,"fill":"hair:shade","shape":{"type":"rect","w":26,"h":120,"ox":-58,"oy":-60}}]}]},"back":{"nodes":[{"id":"front","role":"hair","z":2.5,"fill":"hair","inner":true,"shape":{"type":"path","d":"M -56 -36 C -61 -70 -54 -94 -42 -102 L -50 -124 L -28 -110 L -22 -138 L -6 -114 L 4 -142 L 14 -114 L 28 -136 L 32 -108 L 52 -122 L 46 -98 C 56 -88 61 -66 56 -36 C 40 -28 -40 -28 -56 -36 Z"},"children":[{"id":"shadow","clip":true,"outline":false,"fill":"hair:shade","shape":{"type":"rect","w":26,"h":120,"ox":60,"oy":-60}}]}]}}}],"*":[{"on":"head","ref":[102,104],"view":{"front":{"nodes":[{"id":"front","role":"hair","z":0.6,"fill":"hair","inner":true,"shape":{"type":"path","d":"M -56 -48 C -61 -74 -54 -94 -42 -102 L -50 -124 L -28 -110 L -22 -138 L -6 -114 L 4 -142 L 14 -114 L 28 -136 L 32 -108 L 52 -122 L 46 -98 C 56 -88 61 -70 56 -48 C 52 -58 47 -68 40 -74 C 30 -70 22 -82 12 -76 C 2 -84 -8 -74 -18 -80 C -26 -72 -34 -78 -40 -74 C -47 -68 -52 -58 -56 -48 Z"},"children":[{"id":"shine","clip":true,"outline":false,"fill":"hair:lite","shape":{"type":"path","d":"M 6 -110 L 14 -128 L 20 -108 L 28 -124 L 34 -100 C 40 -94 44 -86 46 -78 C 36 -90 22 -98 6 -100 Z"}},{"id":"shadow","clip":true,"outline":false,"fill":"hair:shade","shape":{"type":"rect","w":26,"h":120,"ox":-60,"oy":-60}}]}]},"side":{"nodes":[{"id":"front","role":"hair","z":0.6,"fill":"hair","inner":true,"shape":{"type":"path","d":"M 48 -66 L 52 -92 L 34 -102 L 40 -128 L 18 -112 L 14 -140 L -2 -114 L -18 -134 L -24 -108 L -44 -120 L -44 -96 C -56 -84 -59 -62 -55 -36 C -46 -40 -34 -50 -22 -58 C -6 -66 14 -70 30 -68 C 38 -76 44 -70 48 -66 Z"},"children":[{"id":"shine","clip":true,"outline":false,"fill":"hair:lite","shape":{"type":"path","d":"M 0 -110 L 14 -136 L 18 -112 L 38 -126 L 34 -100 C 20 -102 8 -104 0 -104 Z"}},{"id":"shadow","clip":true,"outline":false,"fill":"hair:shade","shape":{"type":"rect","w":26,"h":120,"ox":-58,"oy":-60}}]}]},"back":{"nodes":[{"id":"front","role":"hair","z":2.5,"fill":"hair","inner":true,"shape":{"type":"path","d":"M -56 -36 C -61 -70 -54 -94 -42 -102 L -50 -124 L -28 -110 L -22 -138 L -6 -114 L 4 -142 L 14 -114 L 28 -136 L 32 -108 L 52 -122 L 46 -98 C 56 -88 61 -66 56 -36 C 40 -28 -40 -28 -56 -36 Z"},"children":[{"id":"shadow","clip":true,"outline":false,"fill":"hair:shade","shape":{"type":"rect","w":26,"h":120,"ox":60,"oy":-60}}]}]}}}]}},"file":"parts/hair_spikes.json"},{"pack":1,"id":"c4c:part:hair_tuft","type":"part","version":"1.0.0","name":"A tuft on top","description":"A tuft on top: a hair part for the bird, kid, upright, fours bodies.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:3b43c0b9c2c1aca3f9597b5f620a7e75dfd9c6e671d06740e5f28fa7aad3fdf0","content":{"v":1,"kind":"part","art":1,"name":"hair_tuft","slot":"hair","short":"tuft","label":"A tuft on top","bodies":["bird","kid","upright","fours"],"roles":["head"],"colours":["skin"],"fit":{"bird":[{"on":"hair","set":{"shape":"path","d":"M -10 6 C -12 -4 -8 -16 -2 -26 C -2 -18 0 -14 3 -12 C 4 -22 8 -30 15 -34 C 12 -24 12 -16 14 -10 C 17 -16 22 -20 29 -21 C 23 -12 18 -2 10 6 Z","w":40,"h":40,"rot":-6,"look":{"fill":"skin"}}}],"upright":[{"on":"head","view":{"all":{"nodes":[{"id":"tuft","role":"hair","z":-0.3,"fill":"skin","shape":{"type":"path","d":"M -10 6 C -12 -4 -8 -16 -2 -26 C -2 -18 0 -14 3 -12 C 4 -22 8 -30 15 -34 C 12 -24 12 -16 14 -10 C 17 -16 22 -20 29 -21 C 23 -12 18 -2 10 6 Z","oy":-86}}]}}}],"fours":[{"on":"head","view":{"all":{"nodes":[{"id":"tuft","role":"hair","z":-0.3,"fill":"skin","shape":{"type":"path","d":"M -10 6 C -12 -4 -8 -16 -2 -26 C -2 -18 0 -14 3 -12 C 4 -22 8 -30 15 -34 C 12 -24 12 -16 14 -10 C 17 -16 22 -20 29 -21 C 23 -12 18 -2 10 6 Z","oy":-52}}]}}}],"*":[{"on":"head","ref":[102,104],"view":{"all":{"nodes":[{"id":"tuft","role":"hair","z":-0.3,"fill":"skin","shape":{"type":"path","d":"M -10 6 C -12 -4 -8 -16 -2 -26 C -2 -18 0 -14 3 -12 C 4 -22 8 -30 15 -34 C 12 -24 12 -16 14 -10 C 17 -16 22 -20 29 -21 C 23 -12 18 -2 10 6 Z","oy":-98}}]}}}]}},"file":"parts/hair_tuft.json"},{"pack":1,"id":"c4c:part:hands_paw","type":"part","version":"1.0.0","name":"Round paws","description":"Round paws: a hands part for the upright, kid, grownup, blob bodies.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:c5a83c47d4282440a799e743dad668366c881d3751c51359a256254e2e2749d5","content":{"v":1,"kind":"part","art":1,"name":"hands_paw","slot":"hands","short":"paw","label":"Round paws","bodies":["upright","kid","grownup","blob"],"roles":["hand"],"colours":["skin"],"fit":{"upright":[{"on":"hand","side":-1,"ref":[16,17],"set":{"shape":"path","d":"M -8 -3 C -10.5 4 -10.5 12 -7.5 16.5 C -5.5 19.5 -2 19.5 0 17.5 C 2 19.5 5.5 19.5 7.5 16.5 C 10.5 12 10.5 4 8 -3 Z","w":21,"h":22},"view":{"front":{"nodes":[{"id":"fingers","fill":"skin:deep","z":0.5,"shape":{"type":"strokes","lw":1.3,"lines":[[-3,12,-3,17.5],[3,12,3,17.5]]}}]},"side":{"nodes":[{"id":"fingers","fill":"skin:deep","z":0.5,"shape":{"type":"strokes","lw":1.3,"lines":[[0,12,0,17.5]]}}]}}},{"on":"hand","side":1,"ref":[16,17],"set":{"shape":"path","d":"M -8 -3 C -10.5 4 -10.5 12 -7.5 16.5 C -5.5 19.5 -2 19.5 0 17.5 C 2 19.5 5.5 19.5 7.5 16.5 C 10.5 12 10.5 4 8 -3 Z","w":21,"h":22},"view":{"front":{"nodes":[{"id":"fingers","fill":"skin:deep","z":0.5,"shape":{"type":"strokes","lw":1.3,"lines":[[-3,12,-3,17.5],[3,12,3,17.5]]}}]},"side":{"nodes":[{"id":"fingers","fill":"skin:deep","z":0.5,"shape":{"type":"strokes","lw":1.3,"lines":[[0,12,0,17.5]]}}]}}}],"*":[{"on":"hand","side":-1,"ref":[18,22],"set":{"shape":"path","d":"M -8 -3 C -10.5 4 -10.5 12 -7.5 16.5 C -5.5 19.5 -2 19.5 0 17.5 C 2 19.5 5.5 19.5 7.5 16.5 C 10.5 12 10.5 4 8 -3 Z","w":21,"h":22},"view":{"front":{"nodes":[{"id":"fingers","fill":"skin:deep","z":0.5,"shape":{"type":"strokes","lw":1.3,"lines":[[-3,12,-3,17.5],[3,12,3,17.5]]}}]},"side":{"nodes":[{"id":"fingers","fill":"skin:deep","z":0.5,"shape":{"type":"strokes","lw":1.3,"lines":[[0,12,0,17.5]]}}]}}},{"on":"hand","side":1,"ref":[18,22],"set":{"shape":"path","d":"M -8 -3 C -10.5 4 -10.5 12 -7.5 16.5 C -5.5 19.5 -2 19.5 0 17.5 C 2 19.5 5.5 19.5 7.5 16.5 C 10.5 12 10.5 4 8 -3 Z","w":21,"h":22},"view":{"front":{"nodes":[{"id":"fingers","fill":"skin:deep","z":0.5,"shape":{"type":"strokes","lw":1.3,"lines":[[-3,12,-3,17.5],[3,12,3,17.5]]}}]},"side":{"nodes":[{"id":"fingers","fill":"skin:deep","z":0.5,"shape":{"type":"strokes","lw":1.3,"lines":[[0,12,0,17.5]]}}]}}}]}},"file":"parts/hands_paw.json"},{"pack":1,"id":"c4c:part:hands_relaxed","type":"part","version":"1.0.0","name":"Relaxed hands (and fist, open, point, thumbs up, grip)","description":"Relaxed hands (and fist, open, point, thumbs up, grip): a hands part for the kid, grownup, upright, blob bodies.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:e4949b2cc7b9c76c4f6e48e2db565164aaecd5c0e83677ef868fab45bd9332cb","content":{"v":1,"kind":"part","art":1,"name":"hands_relaxed","slot":"hands","short":"relaxed","label":"Relaxed hands (and fist, open, point, thumbs up, grip)","bodies":["kid","grownup","upright","blob"],"roles":["hand"],"colours":["skin"],"fit":{"kid":[{"on":"hand","side":-1,"ref":null,"set":{"shape":"path","d":"M -8 -3 C -9.5 5 -10.5 13 -9 19 C -7.5 25.5 7.5 25.5 9 19 C 10.5 13 9.5 5 8 -3 Z","w":21,"h":28,"alts":{"fist":{"type":"path","d":"M 9 -2 C 11 6 11.5 15 8 20 C 4 24.5 -5 24.5 -9 20 C -12 16 -12 9 -10 4 C -13 3 -14 -2 -11 -4 C -8 -5 -7 -3 -6 -2 Z"},"open":{"type":"path","d":"M 8 -3 C 10 6 11 16 9 23 C 7 28 -7 28 -9 23 C -10 19 -10 14 -10 10 C -14 8 -18 4 -17 0 C -16 -3 -12 -2 -9 0 L -8 -3 Z"},"point":{"type":"path","d":"M 9 -2 C 11 6 11 14 8 18 C 6 20 4 21 3 21 L 3 33 C 3 36 -2 36 -2 33 L -2 21 C -6 21 -10 18 -10 12 C -11 6 -10 2 -9 -2 Z"},"thumbs_up":{"type":"path","d":"M 9 -2 C 11 6 11 15 8 20 C 4 24.5 -5 24.5 -9 20 C -11 16 -11 10 -10 6 C -12 2 -14 -6 -12 -10 C -10 -13 -6 -12 -6 -8 L -6 -2 Z"},"grip":{"type":"path","d":"M 9 -2 C 12 6 12 16 8 21 C 4 25 -4 25 -8 21 C -10 19 -10 16 -8 15 C -6 14 -4 16 -2 16 C 2 16 3 12 3 9 C 3 5 0 3 -3 4 C -6 5 -9 4 -9 -2 Z"}}},"view":{"front":{"nodes":[{"id":"thumb","pos":{"x":7,"y":4},"rot":-24,"fill":"skin","inner":true,"z":1,"shape":{"type":"ellipse","w":8.5,"h":14,"oy":5}},{"id":"fingers","fill":"skin:soft","z":0.5,"shape":{"type":"strokes","lw":1.3,"lines":[[-2.6,16,-2.6,22],[2.6,16,2.6,22]]}}]},"side":{"nodes":[{"id":"thumb","pos":{"x":7,"y":4},"rot":-24,"fill":"skin","inner":true,"z":1,"shape":{"type":"ellipse","w":8.5,"h":14,"oy":5}},{"id":"fingers","fill":"skin:soft","z":0.5,"shape":{"type":"strokes","lw":1.3,"lines":[[-2.6,16,-2.6,22],[2.6,16,2.6,22]]}}]},"back":{"nodes":[{"id":"thumb","pos":{"x":7,"y":4},"rot":-24,"fill":"skin","inner":true,"z":-1,"shape":{"type":"ellipse","w":8.5,"h":14,"oy":5}}]}}},{"on":"hand","side":1,"ref":null,"set":{"shape":"path","d":"M -8 -3 C -9.5 5 -10.5 13 -9 19 C -7.5 25.5 7.5 25.5 9 19 C 10.5 13 9.5 5 8 -3 Z","w":21,"h":28,"alts":{"fist":{"type":"path","d":"M -9 -2 C -11 6 -11.5 15 -8 20 C -4 24.5 5 24.5 9 20 C 12 16 12 9 10 4 C 13 3 14 -2 11 -4 C 8 -5 7 -3 6 -2 Z"},"open":{"type":"path","d":"M -8 -3 C -10 6 -11 16 -9 23 C -7 28 7 28 9 23 C 10 19 10 14 10 10 C 14 8 18 4 17 0 C 16 -3 12 -2 9 0 L 8 -3 Z"},"point":{"type":"path","d":"M -9 -2 C -11 6 -11 14 -8 18 C -6 20 -4 21 -3 21 L -3 33 C -3 36 2 36 2 33 L 2 21 C 6 21 10 18 10 12 C 11 6 10 2 9 -2 Z"},"thumbs_up":{"type":"path","d":"M -9 -2 C -11 6 -11 15 -8 20 C -4 24.5 5 24.5 9 20 C 11 16 11 10 10 6 C 12 2 14 -6 12 -10 C 10 -13 6 -12 6 -8 L 6 -2 Z"},"grip":{"type":"path","d":"M -9 -2 C -12 6 -12 16 -8 21 C -4 25 4 25 8 21 C 10 19 10 16 8 15 C 6 14 4 16 2 16 C -2 16 -3 12 -3 9 C -3 5 0 3 3 4 C 6 5 9 4 9 -2 Z"}}},"view":{"front":{"nodes":[{"id":"thumb","pos":{"x":-7,"y":4},"rot":24,"fill":"skin","inner":true,"z":1,"shape":{"type":"ellipse","w":8.5,"h":14,"oy":5}},{"id":"fingers","fill":"skin:soft","z":0.5,"shape":{"type":"strokes","lw":1.3,"lines":[[-2.6,16,-2.6,22],[2.6,16,2.6,22]]}}]},"side":{"nodes":[{"id":"thumb","pos":{"x":7,"y":4},"rot":-24,"fill":"skin","inner":true,"z":1,"shape":{"type":"ellipse","w":8.5,"h":14,"oy":5}},{"id":"fingers","fill":"skin:soft","z":0.5,"shape":{"type":"strokes","lw":1.3,"lines":[[-2.6,16,-2.6,22],[2.6,16,2.6,22]]}}]},"back":{"nodes":[{"id":"thumb","pos":{"x":-7,"y":4},"rot":24,"fill":"skin","inner":true,"z":-1,"shape":{"type":"ellipse","w":8.5,"h":14,"oy":5}}]}}}],"*":[{"on":"hand","side":-1,"ref":[18,22],"set":{"shape":"path","d":"M -8 -3 C -9.5 5 -10.5 13 -9 19 C -7.5 25.5 7.5 25.5 9 19 C 10.5 13 9.5 5 8 -3 Z","w":21,"h":28,"alts":{"fist":{"type":"path","d":"M 9 -2 C 11 6 11.5 15 8 20 C 4 24.5 -5 24.5 -9 20 C -12 16 -12 9 -10 4 C -13 3 -14 -2 -11 -4 C -8 -5 -7 -3 -6 -2 Z"},"open":{"type":"path","d":"M 8 -3 C 10 6 11 16 9 23 C 7 28 -7 28 -9 23 C -10 19 -10 14 -10 10 C -14 8 -18 4 -17 0 C -16 -3 -12 -2 -9 0 L -8 -3 Z"},"point":{"type":"path","d":"M 9 -2 C 11 6 11 14 8 18 C 6 20 4 21 3 21 L 3 33 C 3 36 -2 36 -2 33 L -2 21 C -6 21 -10 18 -10 12 C -11 6 -10 2 -9 -2 Z"},"thumbs_up":{"type":"path","d":"M 9 -2 C 11 6 11 15 8 20 C 4 24.5 -5 24.5 -9 20 C -11 16 -11 10 -10 6 C -12 2 -14 -6 -12 -10 C -10 -13 -6 -12 -6 -8 L -6 -2 Z"},"grip":{"type":"path","d":"M 9 -2 C 12 6 12 16 8 21 C 4 25 -4 25 -8 21 C -10 19 -10 16 -8 15 C -6 14 -4 16 -2 16 C 2 16 3 12 3 9 C 3 5 0 3 -3 4 C -6 5 -9 4 -9 -2 Z"}}},"view":{"front":{"nodes":[{"id":"thumb","pos":{"x":7,"y":4},"rot":-24,"fill":"skin","inner":true,"z":1,"shape":{"type":"ellipse","w":8.5,"h":14,"oy":5}},{"id":"fingers","fill":"skin:soft","z":0.5,"shape":{"type":"strokes","lw":1.3,"lines":[[-2.6,16,-2.6,22],[2.6,16,2.6,22]]}}]},"side":{"nodes":[{"id":"thumb","pos":{"x":7,"y":4},"rot":-24,"fill":"skin","inner":true,"z":1,"shape":{"type":"ellipse","w":8.5,"h":14,"oy":5}},{"id":"fingers","fill":"skin:soft","z":0.5,"shape":{"type":"strokes","lw":1.3,"lines":[[-2.6,16,-2.6,22],[2.6,16,2.6,22]]}}]},"back":{"nodes":[{"id":"thumb","pos":{"x":7,"y":4},"rot":-24,"fill":"skin","inner":true,"z":-1,"shape":{"type":"ellipse","w":8.5,"h":14,"oy":5}}]}}},{"on":"hand","side":1,"ref":[18,22],"set":{"shape":"path","d":"M -8 -3 C -9.5 5 -10.5 13 -9 19 C -7.5 25.5 7.5 25.5 9 19 C 10.5 13 9.5 5 8 -3 Z","w":21,"h":28,"alts":{"fist":{"type":"path","d":"M -9 -2 C -11 6 -11.5 15 -8 20 C -4 24.5 5 24.5 9 20 C 12 16 12 9 10 4 C 13 3 14 -2 11 -4 C 8 -5 7 -3 6 -2 Z"},"open":{"type":"path","d":"M -8 -3 C -10 6 -11 16 -9 23 C -7 28 7 28 9 23 C 10 19 10 14 10 10 C 14 8 18 4 17 0 C 16 -3 12 -2 9 0 L 8 -3 Z"},"point":{"type":"path","d":"M -9 -2 C -11 6 -11 14 -8 18 C -6 20 -4 21 -3 21 L -3 33 C -3 36 2 36 2 33 L 2 21 C 6 21 10 18 10 12 C 11 6 10 2 9 -2 Z"},"thumbs_up":{"type":"path","d":"M -9 -2 C -11 6 -11 15 -8 20 C -4 24.5 5 24.5 9 20 C 11 16 11 10 10 6 C 12 2 14 -6 12 -10 C 10 -13 6 -12 6 -8 L 6 -2 Z"},"grip":{"type":"path","d":"M -9 -2 C -12 6 -12 16 -8 21 C -4 25 4 25 8 21 C 10 19 10 16 8 15 C 6 14 4 16 2 16 C -2 16 -3 12 -3 9 C -3 5 0 3 3 4 C 6 5 9 4 9 -2 Z"}}},"view":{"front":{"nodes":[{"id":"thumb","pos":{"x":-7,"y":4},"rot":24,"fill":"skin","inner":true,"z":1,"shape":{"type":"ellipse","w":8.5,"h":14,"oy":5}},{"id":"fingers","fill":"skin:soft","z":0.5,"shape":{"type":"strokes","lw":1.3,"lines":[[-2.6,16,-2.6,22],[2.6,16,2.6,22]]}}]},"side":{"nodes":[{"id":"thumb","pos":{"x":7,"y":4},"rot":-24,"fill":"skin","inner":true,"z":1,"shape":{"type":"ellipse","w":8.5,"h":14,"oy":5}},{"id":"fingers","fill":"skin:soft","z":0.5,"shape":{"type":"strokes","lw":1.3,"lines":[[-2.6,16,-2.6,22],[2.6,16,2.6,22]]}}]},"back":{"nodes":[{"id":"thumb","pos":{"x":-7,"y":4},"rot":24,"fill":"skin","inner":true,"z":-1,"shape":{"type":"ellipse","w":8.5,"h":14,"oy":5}}]}}}]}},"file":"parts/hands_relaxed.json"},{"pack":1,"id":"c4c:part:hat_beanie","type":"part","version":"1.0.0","name":"Beanie with a pom-pom","description":"Beanie with a pom-pom: a hat part for the kid, grownup bodies.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:227b50b1d657bd8937ab4d957e0cd1e99a6bf9d83d14db8cdd45487c36d1baa4","content":{"v":1,"kind":"part","art":1,"name":"hat_beanie","slot":"hat","short":"beanie","label":"Beanie with a pom-pom","bodies":["kid","grownup"],"roles":["head"],"colours":["accent"],"fit":{"kid":[{"on":"head","view":{"front":{"nodes":[{"id":"dome","z":0.9,"fill":"accent","inner":true,"shape":{"type":"path","d":"M -57 -70 C -60 -106 -32 -124 0 -124 C 32 -124 60 -106 57 -70 Z"},"children":[{"id":"shine","clip":true,"outline":false,"fill":"accent:lite","shape":{"type":"path","d":"M 8 -117 C 28 -115 44 -104 50 -88 C 38 -100 24 -108 6 -109 Z"}},{"id":"shadow","clip":true,"outline":false,"fill":"accent:shade","shape":{"type":"rect","w":26,"h":70,"ox":-50,"oy":-96}}]},{"id":"cuff","z":0.95,"fill":"accent:shade","inner":true,"shape":{"type":"rrect","w":124,"h":20,"r":9,"ox":0,"oy":-66},"children":[{"id":"ribs","outline":false,"fill":"accent:deep","shape":{"type":"strokes","lw":2,"lines":[[-50,-74,-50,-60],[-40,-74,-40,-60],[-30,-74,-30,-60],[-20,-74,-20,-60],[-10,-74,-10,-60],[0,-74,0,-60],[10,-74,10,-60],[20,-74,20,-60],[30,-74,30,-60],[40,-74,40,-60],[50,-74,50,-60]]}}]},{"id":"pompom","z":0.97,"fill":"accent:lite","inner":true,"shape":{"type":"circle","w":28,"ox":0,"oy":-128}}]},"side":{"nodes":[{"id":"dome","z":0.9,"fill":"accent","inner":true,"shape":{"type":"path","d":"M -58 -70 C -60 -106 -32 -124 -3 -124 C 28 -124 52 -106 50 -70 Z"},"children":[{"id":"shine","clip":true,"outline":false,"fill":"accent:lite","shape":{"type":"path","d":"M 4 -117 C 24 -115 40 -104 46 -88 C 34 -100 20 -108 2 -109 Z"}}]},{"id":"cuff","z":0.95,"fill":"accent:shade","inner":true,"shape":{"type":"rrect","w":116,"h":20,"r":9,"ox":-4,"oy":-66},"children":[{"id":"ribs","outline":false,"fill":"accent:deep","shape":{"type":"strokes","lw":2,"lines":[[-54,-74,-54,-60],[-44,-74,-44,-60],[-34,-74,-34,-60],[-24,-74,-24,-60],[-14,-74,-14,-60],[-4,-74,-4,-60],[6,-74,6,-60],[16,-74,16,-60],[26,-74,26,-60],[36,-74,36,-60],[46,-74,46,-60]]}}]},{"id":"pompom","z":0.97,"fill":"accent:lite","inner":true,"shape":{"type":"circle","w":28,"ox":-4,"oy":-128}}]},"back":{"nodes":[{"id":"dome","z":2.7,"fill":"accent","inner":true,"shape":{"type":"path","d":"M -57 -70 C -60 -106 -32 -124 0 -124 C 32 -124 60 -106 57 -70 Z"},"children":[{"id":"shadow","clip":true,"outline":false,"fill":"accent:shade","shape":{"type":"rect","w":26,"h":70,"ox":50,"oy":-96}}]},{"id":"cuff","z":2.75,"fill":"accent:shade","inner":true,"shape":{"type":"rrect","w":124,"h":20,"r":9,"ox":0,"oy":-66},"children":[{"id":"ribs","outline":false,"fill":"accent:deep","shape":{"type":"strokes","lw":2,"lines":[[-50,-74,-50,-60],[-40,-74,-40,-60],[-30,-74,-30,-60],[-20,-74,-20,-60],[-10,-74,-10,-60],[0,-74,0,-60],[10,-74,10,-60],[20,-74,20,-60],[30,-74,30,-60],[40,-74,40,-60],[50,-74,50,-60]]}}]},{"id":"pompom","z":2.8,"fill":"accent:lite","inner":true,"shape":{"type":"circle","w":28,"ox":0,"oy":-128}}]}}}],"*":[{"on":"head","ref":[102,104],"view":{"front":{"nodes":[{"id":"dome","z":0.9,"fill":"accent","inner":true,"shape":{"type":"path","d":"M -57 -70 C -60 -106 -32 -124 0 -124 C 32 -124 60 -106 57 -70 Z"},"children":[{"id":"shine","clip":true,"outline":false,"fill":"accent:lite","shape":{"type":"path","d":"M 8 -117 C 28 -115 44 -104 50 -88 C 38 -100 24 -108 6 -109 Z"}},{"id":"shadow","clip":true,"outline":false,"fill":"accent:shade","shape":{"type":"rect","w":26,"h":70,"ox":-50,"oy":-96}}]},{"id":"cuff","z":0.95,"fill":"accent:shade","inner":true,"shape":{"type":"rrect","w":124,"h":20,"r":9,"ox":0,"oy":-66},"children":[{"id":"ribs","outline":false,"fill":"accent:deep","shape":{"type":"strokes","lw":2,"lines":[[-50,-74,-50,-60],[-40,-74,-40,-60],[-30,-74,-30,-60],[-20,-74,-20,-60],[-10,-74,-10,-60],[0,-74,0,-60],[10,-74,10,-60],[20,-74,20,-60],[30,-74,30,-60],[40,-74,40,-60],[50,-74,50,-60]]}}]},{"id":"pompom","z":0.97,"fill":"accent:lite","inner":true,"shape":{"type":"circle","w":28,"ox":0,"oy":-128}}]},"side":{"nodes":[{"id":"dome","z":0.9,"fill":"accent","inner":true,"shape":{"type":"path","d":"M -58 -70 C -60 -106 -32 -124 -3 -124 C 28 -124 52 -106 50 -70 Z"},"children":[{"id":"shine","clip":true,"outline":false,"fill":"accent:lite","shape":{"type":"path","d":"M 4 -117 C 24 -115 40 -104 46 -88 C 34 -100 20 -108 2 -109 Z"}}]},{"id":"cuff","z":0.95,"fill":"accent:shade","inner":true,"shape":{"type":"rrect","w":116,"h":20,"r":9,"ox":-4,"oy":-66},"children":[{"id":"ribs","outline":false,"fill":"accent:deep","shape":{"type":"strokes","lw":2,"lines":[[-54,-74,-54,-60],[-44,-74,-44,-60],[-34,-74,-34,-60],[-24,-74,-24,-60],[-14,-74,-14,-60],[-4,-74,-4,-60],[6,-74,6,-60],[16,-74,16,-60],[26,-74,26,-60],[36,-74,36,-60],[46,-74,46,-60]]}}]},{"id":"pompom","z":0.97,"fill":"accent:lite","inner":true,"shape":{"type":"circle","w":28,"ox":-4,"oy":-128}}]},"back":{"nodes":[{"id":"dome","z":2.7,"fill":"accent","inner":true,"shape":{"type":"path","d":"M -57 -70 C -60 -106 -32 -124 0 -124 C 32 -124 60 -106 57 -70 Z"},"children":[{"id":"shadow","clip":true,"outline":false,"fill":"accent:shade","shape":{"type":"rect","w":26,"h":70,"ox":50,"oy":-96}}]},{"id":"cuff","z":2.75,"fill":"accent:shade","inner":true,"shape":{"type":"rrect","w":124,"h":20,"r":9,"ox":0,"oy":-66},"children":[{"id":"ribs","outline":false,"fill":"accent:deep","shape":{"type":"strokes","lw":2,"lines":[[-50,-74,-50,-60],[-40,-74,-40,-60],[-30,-74,-30,-60],[-20,-74,-20,-60],[-10,-74,-10,-60],[0,-74,0,-60],[10,-74,10,-60],[20,-74,20,-60],[30,-74,30,-60],[40,-74,40,-60],[50,-74,50,-60]]}}]},{"id":"pompom","z":2.8,"fill":"accent:lite","inner":true,"shape":{"type":"circle","w":28,"ox":0,"oy":-128}}]}}}]}},"file":"parts/hat_beanie.json"},{"pack":1,"id":"c4c:part:hat_cap","type":"part","version":"1.0.0","name":"Cap","description":"Cap: a hat part for the kid, grownup bodies.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:1213ae63e6276f58a3ce559be608b089c1a217911ae7730602a6f40af6c54c55","content":{"v":1,"kind":"part","art":1,"name":"hat_cap","slot":"hat","short":"cap","label":"Cap","bodies":["kid","grownup"],"roles":["head"],"colours":["accent"],"fit":{"kid":[{"on":"head","view":{"front":{"nodes":[{"id":"dome","z":0.9,"fill":"accent","inner":true,"shape":{"type":"path","d":"M -58 -76 C -60 -108 -32 -127 0 -127 C 32 -127 60 -108 58 -76 C 30 -80 -30 -80 -58 -76 Z"},"children":[{"id":"shine","clip":true,"outline":false,"fill":"accent:lite","shape":{"type":"path","d":"M 10 -120 C 30 -118 46 -106 52 -90 C 40 -102 26 -110 8 -112 Z"}},{"id":"shadow","clip":true,"outline":false,"fill":"accent:shade","shape":{"type":"rect","w":28,"h":70,"ox":-50,"oy":-100}},{"id":"seams","outline":false,"fill":"accent:deep","shape":{"type":"strokes","lw":2.2,"lines":[[0,-126,0,-79],[-30,-119,-38,-78],[30,-119,38,-78]]}}]},{"id":"button","z":0.95,"fill":"accent:shade","shape":{"type":"circle","w":10,"ox":0,"oy":-127}},{"id":"brim","z":0.97,"fill":"accent:shade","inner":true,"shape":{"type":"path","d":"M -62 -78 C -40 -86 40 -86 62 -78 C 64 -72 58 -66 50 -66 C 20 -70 -20 -70 -50 -66 C -58 -66 -64 -72 -62 -78 Z"}}]},"side":{"nodes":[{"id":"dome","z":0.9,"fill":"accent","inner":true,"shape":{"type":"path","d":"M -56 -78 C -58 -110 -30 -127 -2 -127 C 28 -127 50 -110 50 -80 C 20 -84 -30 -82 -56 -78 Z"},"children":[{"id":"shine","clip":true,"outline":false,"fill":"accent:lite","shape":{"type":"path","d":"M 4 -121 C 24 -119 40 -108 46 -92 C 34 -104 20 -111 2 -113 Z"}},{"id":"seams","outline":false,"fill":"accent:deep","shape":{"type":"strokes","lw":2.2,"lines":[[-4,-126,-10,-80],[24,-120,28,-82]]}}]},{"id":"button","z":0.95,"fill":"accent:shade","shape":{"type":"circle","w":10,"ox":-3,"oy":-127}},{"id":"brim","z":0.97,"fill":"accent:shade","inner":true,"shape":{"type":"path","d":"M 36 -84 C 58 -88 84 -84 96 -76 C 92 -70 70 -68 44 -72 C 38 -74 34 -80 36 -84 Z"}}]},"back":{"nodes":[{"id":"dome","z":2.7,"fill":"accent","inner":true,"shape":{"type":"path","d":"M -58 -76 C -60 -108 -32 -127 0 -127 C 32 -127 60 -108 58 -76 C 30 -80 -30 -80 -58 -76 Z"},"children":[{"id":"shadow","clip":true,"outline":false,"fill":"accent:shade","shape":{"type":"rect","w":28,"h":70,"ox":50,"oy":-100}},{"id":"seams","outline":false,"fill":"accent:deep","shape":{"type":"strokes","lw":2.2,"lines":[[0,-126,0,-92],[-30,-119,-38,-78],[30,-119,38,-78]]}}]},{"id":"gap","z":2.75,"fill":"hair","inner":true,"shape":{"type":"path","d":"M -16 -77 C -16 -92 16 -92 16 -77 Z"}},{"id":"strap","z":2.8,"outline":false,"fill":"accent:deep","shape":{"type":"rrect","w":40,"h":6,"r":3,"ox":0,"oy":-79}},{"id":"button","z":2.85,"fill":"accent:shade","shape":{"type":"circle","w":10,"ox":0,"oy":-127}}]}}}],"*":[{"on":"head","ref":[102,104],"view":{"front":{"nodes":[{"id":"dome","z":0.9,"fill":"accent","inner":true,"shape":{"type":"path","d":"M -58 -76 C -60 -108 -32 -127 0 -127 C 32 -127 60 -108 58 -76 C 30 -80 -30 -80 -58 -76 Z"},"children":[{"id":"shine","clip":true,"outline":false,"fill":"accent:lite","shape":{"type":"path","d":"M 10 -120 C 30 -118 46 -106 52 -90 C 40 -102 26 -110 8 -112 Z"}},{"id":"shadow","clip":true,"outline":false,"fill":"accent:shade","shape":{"type":"rect","w":28,"h":70,"ox":-50,"oy":-100}},{"id":"seams","outline":false,"fill":"accent:deep","shape":{"type":"strokes","lw":2.2,"lines":[[0,-126,0,-79],[-30,-119,-38,-78],[30,-119,38,-78]]}}]},{"id":"button","z":0.95,"fill":"accent:shade","shape":{"type":"circle","w":10,"ox":0,"oy":-127}},{"id":"brim","z":0.97,"fill":"accent:shade","inner":true,"shape":{"type":"path","d":"M -62 -78 C -40 -86 40 -86 62 -78 C 64 -72 58 -66 50 -66 C 20 -70 -20 -70 -50 -66 C -58 -66 -64 -72 -62 -78 Z"}}]},"side":{"nodes":[{"id":"dome","z":0.9,"fill":"accent","inner":true,"shape":{"type":"path","d":"M -56 -78 C -58 -110 -30 -127 -2 -127 C 28 -127 50 -110 50 -80 C 20 -84 -30 -82 -56 -78 Z"},"children":[{"id":"shine","clip":true,"outline":false,"fill":"accent:lite","shape":{"type":"path","d":"M 4 -121 C 24 -119 40 -108 46 -92 C 34 -104 20 -111 2 -113 Z"}},{"id":"seams","outline":false,"fill":"accent:deep","shape":{"type":"strokes","lw":2.2,"lines":[[-4,-126,-10,-80],[24,-120,28,-82]]}}]},{"id":"button","z":0.95,"fill":"accent:shade","shape":{"type":"circle","w":10,"ox":-3,"oy":-127}},{"id":"brim","z":0.97,"fill":"accent:shade","inner":true,"shape":{"type":"path","d":"M 36 -84 C 58 -88 84 -84 96 -76 C 92 -70 70 -68 44 -72 C 38 -74 34 -80 36 -84 Z"}}]},"back":{"nodes":[{"id":"dome","z":2.7,"fill":"accent","inner":true,"shape":{"type":"path","d":"M -58 -76 C -60 -108 -32 -127 0 -127 C 32 -127 60 -108 58 -76 C 30 -80 -30 -80 -58 -76 Z"},"children":[{"id":"shadow","clip":true,"outline":false,"fill":"accent:shade","shape":{"type":"rect","w":28,"h":70,"ox":50,"oy":-100}},{"id":"seams","outline":false,"fill":"accent:deep","shape":{"type":"strokes","lw":2.2,"lines":[[0,-126,0,-92],[-30,-119,-38,-78],[30,-119,38,-78]]}}]},{"id":"gap","z":2.75,"fill":"hair","inner":true,"shape":{"type":"path","d":"M -16 -77 C -16 -92 16 -92 16 -77 Z"}},{"id":"strap","z":2.8,"outline":false,"fill":"accent:deep","shape":{"type":"rrect","w":40,"h":6,"r":3,"ox":0,"oy":-79}},{"id":"button","z":2.85,"fill":"accent:shade","shape":{"type":"circle","w":10,"ox":0,"oy":-127}}]}}}]}},"file":"parts/hat_cap.json"},{"pack":1,"id":"c4c:part:hat_crown","type":"part","version":"1.0.0","name":"Gold crown","description":"Gold crown: a hat part for the kid, grownup bodies.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:1313b657fff5d982f0b9f3e731fe34d6dc7f4eef7fb335cb73a1a39ad6c85c55","content":{"v":1,"kind":"part","art":1,"name":"hat_crown","slot":"hat","short":"crown","label":"Gold crown","bodies":["kid","grownup"],"roles":["head"],"colours":[],"fit":{"kid":[{"on":"head","view":{"front":{"nodes":[{"id":"crown","z":0.9,"fill":"#f2b632","inner":true,"shape":{"type":"path","d":"M -42 -96 L -48 -138 L -28 -116 L -14 -146 L 0 -118 L 14 -146 L 28 -116 L 48 -138 L 42 -96 C 20 -92 -20 -92 -42 -96 Z"},"children":[{"id":"shine","clip":true,"outline":false,"fill":"#ffe08a","shape":{"type":"rect","w":12,"h":60,"ox":30,"oy":-120}},{"id":"shadow","clip":true,"outline":false,"fill":"#c98a12","shape":{"type":"rect","w":18,"h":60,"ox":-40,"oy":-120}}]},{"id":"band","z":0.93,"fill":"#c98a12","inner":true,"shape":{"type":"rrect","w":88,"h":13,"r":5,"ox":0,"oy":-101}},{"id":"gem_l","z":0.95,"fill":"#1e88e5","shape":{"type":"circle","w":9,"ox":-24,"oy":-104}},{"id":"gem_m","z":0.95,"fill":"#e53935","shape":{"type":"circle","w":9,"ox":0,"oy":-104}},{"id":"gem_r","z":0.95,"fill":"#43a047","shape":{"type":"circle","w":9,"ox":24,"oy":-104}}]},"side":{"nodes":[{"id":"crown","z":0.9,"fill":"#f2b632","inner":true,"shape":{"type":"path","d":"M -38 -96 L -42 -136 L -24 -116 L -8 -144 L 6 -116 L 24 -138 L 28 -96 C 8 -92 -18 -92 -38 -96 Z"},"children":[{"id":"shine","clip":true,"outline":false,"fill":"#ffe08a","shape":{"type":"rect","w":10,"h":60,"ox":16,"oy":-120}}]},{"id":"band","z":0.93,"fill":"#c98a12","inner":true,"shape":{"type":"rrect","w":68,"h":13,"r":5,"ox":-5,"oy":-101}},{"id":"gem_m","z":0.95,"fill":"#e53935","shape":{"type":"circle","w":9,"ox":10,"oy":-104}}]},"back":{"nodes":[{"id":"crown","z":2.7,"fill":"#f2b632","inner":true,"shape":{"type":"path","d":"M -42 -96 L -48 -138 L -28 -116 L -14 -146 L 0 -118 L 14 -146 L 28 -116 L 48 -138 L 42 -96 C 20 -92 -20 -92 -42 -96 Z"},"children":[{"id":"shadow","clip":true,"outline":false,"fill":"#c98a12","shape":{"type":"rect","w":18,"h":60,"ox":40,"oy":-120}}]},{"id":"band","z":2.75,"fill":"#c98a12","inner":true,"shape":{"type":"rrect","w":88,"h":13,"r":5,"ox":0,"oy":-101}}]}}}],"*":[{"on":"head","ref":[102,104],"view":{"front":{"nodes":[{"id":"crown","z":0.9,"fill":"#f2b632","inner":true,"shape":{"type":"path","d":"M -42 -96 L -48 -138 L -28 -116 L -14 -146 L 0 -118 L 14 -146 L 28 -116 L 48 -138 L 42 -96 C 20 -92 -20 -92 -42 -96 Z"},"children":[{"id":"shine","clip":true,"outline":false,"fill":"#ffe08a","shape":{"type":"rect","w":12,"h":60,"ox":30,"oy":-120}},{"id":"shadow","clip":true,"outline":false,"fill":"#c98a12","shape":{"type":"rect","w":18,"h":60,"ox":-40,"oy":-120}}]},{"id":"band","z":0.93,"fill":"#c98a12","inner":true,"shape":{"type":"rrect","w":88,"h":13,"r":5,"ox":0,"oy":-101}},{"id":"gem_l","z":0.95,"fill":"#1e88e5","shape":{"type":"circle","w":9,"ox":-24,"oy":-104}},{"id":"gem_m","z":0.95,"fill":"#e53935","shape":{"type":"circle","w":9,"ox":0,"oy":-104}},{"id":"gem_r","z":0.95,"fill":"#43a047","shape":{"type":"circle","w":9,"ox":24,"oy":-104}}]},"side":{"nodes":[{"id":"crown","z":0.9,"fill":"#f2b632","inner":true,"shape":{"type":"path","d":"M -38 -96 L -42 -136 L -24 -116 L -8 -144 L 6 -116 L 24 -138 L 28 -96 C 8 -92 -18 -92 -38 -96 Z"},"children":[{"id":"shine","clip":true,"outline":false,"fill":"#ffe08a","shape":{"type":"rect","w":10,"h":60,"ox":16,"oy":-120}}]},{"id":"band","z":0.93,"fill":"#c98a12","inner":true,"shape":{"type":"rrect","w":68,"h":13,"r":5,"ox":-5,"oy":-101}},{"id":"gem_m","z":0.95,"fill":"#e53935","shape":{"type":"circle","w":9,"ox":10,"oy":-104}}]},"back":{"nodes":[{"id":"crown","z":2.7,"fill":"#f2b632","inner":true,"shape":{"type":"path","d":"M -42 -96 L -48 -138 L -28 -116 L -14 -146 L 0 -118 L 14 -146 L 28 -116 L 48 -138 L 42 -96 C 20 -92 -20 -92 -42 -96 Z"},"children":[{"id":"shadow","clip":true,"outline":false,"fill":"#c98a12","shape":{"type":"rect","w":18,"h":60,"ox":40,"oy":-120}}]},{"id":"band","z":2.75,"fill":"#c98a12","inner":true,"shape":{"type":"rrect","w":88,"h":13,"r":5,"ox":0,"oy":-101}}]}}}]}},"file":"parts/hat_crown.json"},{"pack":1,"id":"c4c:part:head_round","type":"part","version":"1.0.0","name":"Round head","description":"Round head: a head part for the kid, grownup, upright bodies.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:532a8ca6871680f43a047877edba52d132ca3452a5508b5a93f1b7df869eadad","content":{"v":1,"kind":"part","art":1,"name":"head_round","slot":"head","short":"round","label":"Round head","bodies":["kid","grownup","upright"],"roles":["head"],"colours":["skin"],"box":{"head":[102,104]},"fit":{"kid":[{"on":"head","ref":null,"set":{"shape":"ellipse","w":102,"h":104,"ox":-3,"oy":-48},"view":{"front":{"shape":{"type":"path","d":"M 0 4 C 30 4 52 -14 53 -42 C 54 -76 30 -100 0 -100 C -30 -100 -54 -76 -53 -42 C -52 -14 -30 4 0 4 Z"}},"side":{"shape":{"type":"path","d":"M -2 4 C 22 5 38 -4 44 -20 C 47 -28 48 -36 48 -44 C 48 -78 28 -100 -2 -100 C -34 -100 -54 -76 -54 -46 C -54 -18 -30 3 -2 4 Z"},"nodes":[{"id":"ear","z":0.65,"fill":"skin","inner":true,"shape":{"type":"path","d":"M -6 -50 C 2 -50 4 -40 2 -32 C 0 -26 -8 -26 -10 -32 C -12 -40 -12 -50 -6 -50 Z"},"children":[{"id":"ear_in","fill":"skin:shade","shape":{"type":"strokes","lw":2.2,"lines":[[-3,-45,-1,-36],[-1,-36,-5,-32]]}}]}]},"back":{"shape":{"type":"path","d":"M 0 4 C 30 4 52 -14 53 -42 C 54 -76 30 -100 0 -100 C -30 -100 -54 -76 -53 -42 C -52 -14 -30 4 0 4 Z"}}}}],"grownup":[{"on":"head","ref":[102,104],"set":{"shape":"ellipse","w":102,"h":104,"ox":-3,"oy":-48},"view":{"front":{"shape":{"type":"path","d":"M 0 4 C 30 4 52 -14 53 -42 C 54 -76 30 -100 0 -100 C -30 -100 -54 -76 -53 -42 C -52 -14 -30 4 0 4 Z"}},"side":{"shape":{"type":"path","d":"M -2 4 C 22 5 38 -4 44 -20 C 47 -28 48 -36 48 -44 C 48 -78 28 -100 -2 -100 C -34 -100 -54 -76 -54 -46 C -54 -18 -30 3 -2 4 Z"},"nodes":[{"id":"ear","z":0.65,"fill":"skin","inner":true,"shape":{"type":"path","d":"M -6 -50 C 2 -50 4 -40 2 -32 C 0 -26 -8 -26 -10 -32 C -12 -40 -12 -50 -6 -50 Z"},"children":[{"id":"ear_in","fill":"skin:shade","shape":{"type":"strokes","lw":2.2,"lines":[[-3,-45,-1,-36],[-1,-36,-5,-32]]}}]}]},"back":{"shape":{"type":"path","d":"M 0 4 C 30 4 52 -14 53 -42 C 54 -76 30 -100 0 -100 C -30 -100 -54 -76 -53 -42 C -52 -14 -30 4 0 4 Z"}}}}],"upright":[{"on":"head","set":{"shape":"ellipse","w":104,"h":98,"oy":-42,"views":{"front":{"w":128,"at":[0,-78]}}},"view":{"front":{"shape":{"type":"path","d":"M 0 7 C 22 7 40 2 52 -8 L 61 -6 L 56 -15 L 65 -20 L 58 -27 C 64 -42 62 -60 54 -71 C 43 -85 24 -91 0 -91 C -24 -91 -43 -85 -54 -71 C -62 -60 -64 -42 -58 -27 L -65 -20 L -56 -15 L -61 -6 L -52 -8 C -40 2 -22 7 0 7 Z"},"nodes":[{"id":"tuft","z":-0.2,"fill":"skin","shape":{"type":"path","d":"M -13 -84 L -6 -101 L -1 -89 L 5 -104 L 9 -88 L 15 -97 L 14 -82 Z"}}]},"side":{"shape":{"type":"path","d":"M 6 7 C 30 7 48 -8 52 -30 C 55 -52 46 -76 28 -86 C 14 -92 -6 -92 -22 -86 C -40 -78 -52 -60 -52 -40 C -52 -26 -48 -16 -42 -8 L -50 -2 L -38 -1 C -28 5 -12 8 6 7 Z"},"nodes":[{"id":"tuft","z":-0.2,"fill":"skin","shape":{"type":"path","d":"M -19 -84 L -12 -101 L -7 -89 L -1 -104 L 3 -88 L 9 -97 L 8 -82 Z"}}]},"back":{"shape":{"type":"path","d":"M 0 7 C 22 7 40 2 52 -8 L 61 -6 L 56 -15 L 65 -20 L 58 -27 C 64 -42 62 -60 54 -71 C 43 -85 24 -91 0 -91 C -24 -91 -43 -85 -54 -71 C -62 -60 -64 -42 -58 -27 L -65 -20 L -56 -15 L -61 -6 L -52 -8 C -40 2 -22 7 0 7 Z"},"nodes":[{"id":"tuft","z":-0.2,"fill":"skin","shape":{"type":"path","d":"M -13 -84 L -6 -101 L -1 -89 L 5 -104 L 9 -88 L 15 -97 L 14 -82 Z"}}]}}}],"*":[{"on":"head","ref":[102,104],"set":{"shape":"ellipse","w":102,"h":104,"ox":-3,"oy":-48},"view":{"front":{"shape":{"type":"path","d":"M 0 4 C 30 4 52 -14 53 -42 C 54 -76 30 -100 0 -100 C -30 -100 -54 -76 -53 -42 C -52 -14 -30 4 0 4 Z"}},"side":{"shape":{"type":"path","d":"M -2 4 C 22 5 38 -4 44 -20 C 47 -28 48 -36 48 -44 C 48 -78 28 -100 -2 -100 C -34 -100 -54 -76 -54 -46 C -54 -18 -30 3 -2 4 Z"},"nodes":[{"id":"ear","z":0.65,"fill":"skin","inner":true,"shape":{"type":"path","d":"M -6 -50 C 2 -50 4 -40 2 -32 C 0 -26 -8 -26 -10 -32 C -12 -40 -12 -50 -6 -50 Z"},"children":[{"id":"ear_in","fill":"skin:shade","shape":{"type":"strokes","lw":2.2,"lines":[[-3,-45,-1,-36],[-1,-36,-5,-32]]}}]}]},"back":{"shape":{"type":"path","d":"M 0 4 C 30 4 52 -14 53 -42 C 54 -76 30 -100 0 -100 C -30 -100 -54 -76 -53 -42 C -52 -14 -30 4 0 4 Z"}}}}]}},"file":"parts/head_round.json"},{"pack":1,"id":"c4c:part:head_wide","type":"part","version":"1.0.0","name":"Wide smooth head","description":"Wide smooth head: a head part for the upright, kid, grownup bodies.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:497dab4aeaf3678a48330e043d525662098699a10fd3239353158f16a2cf4679","content":{"v":1,"kind":"part","art":1,"name":"head_wide","slot":"head","short":"wide","label":"Wide smooth head","bodies":["upright","kid","grownup"],"roles":["head"],"colours":["skin"],"box":{"head":[116,86]},"fit":{"upright":[{"on":"head","set":{"shape":"ellipse","w":108,"h":86,"oy":-37,"views":{"front":{"w":140,"at":[0,-78]}}},"view":{"front":{"shape":{"type":"path","d":"M 0 6 C 34 6 62 -4 68 -26 C 72 -46 60 -70 34 -78 C 22 -82 -22 -82 -34 -78 C -60 -70 -72 -46 -68 -26 C -62 -4 -34 6 0 6 Z"}},"side":{"shape":{"type":"path","d":"M 8 6 C 32 6 52 -6 56 -26 C 58 -48 44 -72 18 -80 C 2 -84 -22 -82 -38 -72 C -52 -62 -56 -44 -52 -26 C -48 -8 -24 6 8 6 Z"}},"back":{"shape":{"type":"path","d":"M 0 6 C 34 6 62 -4 68 -26 C 72 -46 60 -70 34 -78 C 22 -82 -22 -82 -34 -78 C -60 -70 -72 -46 -68 -26 C -62 -4 -34 6 0 6 Z"}}}}],"kid":[{"on":"head","set":{"shape":"ellipse","w":112,"h":100,"ox":0,"oy":-46},"view":{"front":{"shape":{"type":"path","d":"M 0 4 C 34 4 58 -12 60 -42 C 62 -74 36 -96 0 -96 C -36 -96 -62 -74 -60 -42 C -58 -12 -34 4 0 4 Z"}},"back":{"shape":{"type":"path","d":"M 0 4 C 34 4 58 -12 60 -42 C 62 -74 36 -96 0 -96 C -36 -96 -62 -74 -60 -42 C -58 -12 -34 4 0 4 Z"}}}}],"*":[{"on":"head","ref":[102,104],"set":{"shape":"ellipse","w":112,"h":100,"ox":0,"oy":-46},"view":{"front":{"shape":{"type":"path","d":"M 0 4 C 34 4 58 -12 60 -42 C 62 -74 36 -96 0 -96 C -36 -96 -62 -74 -60 -42 C -58 -12 -34 4 0 4 Z"}},"back":{"shape":{"type":"path","d":"M 0 4 C 34 4 58 -12 60 -42 C 62 -74 36 -96 0 -96 C -36 -96 -62 -74 -60 -42 C -58 -12 -34 4 0 4 Z"}}}}]}},"file":"parts/head_wide.json"},{"pack":1,"id":"c4c:part:hold_sword","type":"part","version":"1.0.0","name":"Sword","description":"Sword: a hold part for the kid, grownup bodies.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:e9fb7cc88b25e6b2464a3ec6f803aaebe6182dd0682f65ddd306a1759695649f","content":{"v":1,"kind":"part","art":1,"name":"hold_sword","slot":"hold","short":"sword","label":"Sword","bodies":["kid","grownup"],"roles":["hand"],"colours":[],"fit":{"kid":[{"on":"hand","side":1,"view":{"front":{"nodes":[{"id":"grip","z":0.4,"fill":"#6e4428","shape":{"type":"rrect","w":7,"h":16,"r":2,"ox":0,"oy":12}},{"id":"guard","z":1.1,"fill":"#f2b632","inner":true,"shape":{"type":"rrect","w":26,"h":6,"r":3,"ox":0,"oy":24}},{"id":"blade","z":1.05,"fill":"#d9dde3","inner":true,"shape":{"type":"path","d":"M -5 27 L 5 27 L 5 102 L 0 116 L -5 102 Z"},"children":[{"id":"shine","clip":true,"outline":false,"fill":"#ffffff","shape":{"type":"rect","w":2.5,"h":80,"ox":1.75,"oy":66}}]}]},"side":{"nodes":[{"id":"grip","z":0.4,"fill":"#6e4428","shape":{"type":"rrect","w":7,"h":16,"r":2,"ox":0,"oy":12}},{"id":"guard","z":1.1,"fill":"#f2b632","inner":true,"shape":{"type":"rrect","w":26,"h":6,"r":3,"ox":0,"oy":24}},{"id":"blade","z":1.05,"fill":"#d9dde3","inner":true,"shape":{"type":"path","d":"M -4 27 L 4 27 L 4 102 L 0 116 L -4 102 Z"},"children":[{"id":"shine","clip":true,"outline":false,"fill":"#ffffff","shape":{"type":"rect","w":2.5,"h":80,"ox":1.4,"oy":66}}]}]},"back":{"nodes":[{"id":"grip","z":0.4,"fill":"#6e4428","shape":{"type":"rrect","w":7,"h":16,"r":2,"ox":0,"oy":12}},{"id":"guard","z":1.1,"fill":"#f2b632","inner":true,"shape":{"type":"rrect","w":26,"h":6,"r":3,"ox":0,"oy":24}},{"id":"blade","z":1.05,"fill":"#d9dde3","inner":true,"shape":{"type":"path","d":"M -5 27 L 5 27 L 5 102 L 0 116 L -5 102 Z"},"children":[{"id":"shine","clip":true,"outline":false,"fill":"#ffffff","shape":{"type":"rect","w":2.5,"h":80,"ox":1.75,"oy":66}}]}]}}}],"*":[{"on":"hand","side":1,"ref":[18,22],"view":{"front":{"nodes":[{"id":"grip","z":0.4,"fill":"#6e4428","shape":{"type":"rrect","w":7,"h":16,"r":2,"ox":0,"oy":12}},{"id":"guard","z":1.1,"fill":"#f2b632","inner":true,"shape":{"type":"rrect","w":26,"h":6,"r":3,"ox":0,"oy":24}},{"id":"blade","z":1.05,"fill":"#d9dde3","inner":true,"shape":{"type":"path","d":"M -5 27 L 5 27 L 5 102 L 0 116 L -5 102 Z"},"children":[{"id":"shine","clip":true,"outline":false,"fill":"#ffffff","shape":{"type":"rect","w":2.5,"h":80,"ox":1.75,"oy":66}}]}]},"side":{"nodes":[{"id":"grip","z":0.4,"fill":"#6e4428","shape":{"type":"rrect","w":7,"h":16,"r":2,"ox":0,"oy":12}},{"id":"guard","z":1.1,"fill":"#f2b632","inner":true,"shape":{"type":"rrect","w":26,"h":6,"r":3,"ox":0,"oy":24}},{"id":"blade","z":1.05,"fill":"#d9dde3","inner":true,"shape":{"type":"path","d":"M -4 27 L 4 27 L 4 102 L 0 116 L -4 102 Z"},"children":[{"id":"shine","clip":true,"outline":false,"fill":"#ffffff","shape":{"type":"rect","w":2.5,"h":80,"ox":1.4,"oy":66}}]}]},"back":{"nodes":[{"id":"grip","z":0.4,"fill":"#6e4428","shape":{"type":"rrect","w":7,"h":16,"r":2,"ox":0,"oy":12}},{"id":"guard","z":1.1,"fill":"#f2b632","inner":true,"shape":{"type":"rrect","w":26,"h":6,"r":3,"ox":0,"oy":24}},{"id":"blade","z":1.05,"fill":"#d9dde3","inner":true,"shape":{"type":"path","d":"M -5 27 L 5 27 L 5 102 L 0 116 L -5 102 Z"},"children":[{"id":"shine","clip":true,"outline":false,"fill":"#ffffff","shape":{"type":"rect","w":2.5,"h":80,"ox":1.75,"oy":66}}]}]}}}]}},"file":"parts/hold_sword.json"},{"pack":1,"id":"c4c:part:mouth_grin","type":"part","version":"1.0.0","name":"Big open grin (a mouth for every mood)","description":"Big open grin (a mouth for every mood): a mouth part for the upright, kid, grownup, fours, blob, crab bodies.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:e6e48ac00e16a93021fe465fddb3f7a1f097614ea9933df6584b02b9c06504fd","content":{"v":1,"kind":"part","art":1,"name":"mouth_grin","slot":"mouth","short":"grin","label":"Big open grin (a mouth for every mood)","bodies":["upright","kid","grownup","fours","blob","crab"],"roles":["head"],"colours":[],"fit":{"upright":[{"on":"head","face":{"mouthSet":"v2","mouthW":62,"mouthH":22,"mouthX":36,"mouthY":-15,"moods":{"normal":{"mW":0.9,"low":0.14},"happy":{"mW":0.94,"low":0.1,"browY":-0.08},"laughing":{"mW":0.94},"surprised":{"mW":0.42},"smug":{"mW":0.8},"sad":{"mW":0.7},"angry":{"mW":0.75}}}}],"kid":[{"on":"head","face":{"mouthSet":"v2","mouthW":40,"mouthH":15,"mouthX":32,"mouthY":-12,"moods":{"normal":{"mW":0.9,"low":0.14},"happy":{"mW":0.94,"low":0.1,"browY":-0.08},"laughing":{"mW":0.94},"surprised":{"mW":0.42},"smug":{"mW":0.8},"sad":{"mW":0.7},"angry":{"mW":0.75}}}}],"grownup":[{"on":"head","ref":[102,104],"face":{"mouthSet":"v2","mouthW":38,"mouthH":14,"mouthX":32,"mouthY":-12,"moods":{"normal":{"mW":0.9,"low":0.14},"happy":{"mW":0.94,"low":0.1,"browY":-0.08},"laughing":{"mW":0.94},"surprised":{"mW":0.42},"smug":{"mW":0.8},"sad":{"mW":0.7},"angry":{"mW":0.75}}}}],"crab":[{"on":"head","face":{"mouthSet":"v2","mouthW":70,"mouthH":22,"mouthY":42,"moods":{"normal":{"mW":0.9,"low":0.14},"happy":{"mW":0.94,"low":0.1,"browY":-0.08},"laughing":{"mW":0.94},"surprised":{"mW":0.42},"smug":{"mW":0.8},"sad":{"mW":0.7},"angry":{"mW":0.75}}}}],"*":[{"on":"head","face":{"mouthSet":"v2","moods":{"normal":{"mW":0.9,"low":0.14},"happy":{"mW":0.94,"low":0.1,"browY":-0.08},"laughing":{"mW":0.94},"surprised":{"mW":0.42},"smug":{"mW":0.8},"sad":{"mW":0.7},"angry":{"mW":0.75}}}}]}},"file":"parts/mouth_grin.json"},{"pack":1,"id":"c4c:part:mouth_simple","type":"part","version":"1.0.0","name":"Simple mouth (a mouth for every mood)","description":"Simple mouth (a mouth for every mood): a mouth part for the kid, grownup, upright, crab, fours, blob bodies.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:5eeb8b5b4b41e7a8621ba270c3a96f4de701f5fb0cc601a0bd2a773e59ca746f","content":{"v":1,"kind":"part","art":1,"name":"mouth_simple","slot":"mouth","short":"simple","label":"Simple mouth (a mouth for every mood)","bodies":["kid","grownup","upright","crab","fours","blob"],"roles":["head"],"colours":[],"fit":{"grownup":[{"on":"head","ref":[102,104],"face":{"mouthSet":"v2","mouthW":22,"mouthH":10,"mouthX":31,"mouthY":-13,"moods":{"normal":{"mW":0.8}}}}],"kid":[{"on":"head","face":{"mouthSet":"v2","mouthW":22,"mouthH":10,"mouthX":31,"mouthY":-13,"moods":{"normal":{"mW":0.8}}}}],"*":[{"on":"head","face":{"mouthSet":"v2","moods":{"normal":{"mW":0.8}}}}]}},"file":"parts/mouth_simple.json"},{"pack":1,"id":"c4c:part:mouth_smile","type":"part","version":"1.0.0","name":"Smile (a mouth for every mood)","description":"Smile (a mouth for every mood): a mouth part for the kid, grownup, upright, crab, blob bodies.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:d2012444f87afa3f19b8ed86f4241864319ddc8b716131bb7bd06187327559dc","content":{"v":1,"kind":"part","art":1,"name":"mouth_smile","slot":"mouth","short":"smile","label":"Smile (a mouth for every mood)","bodies":["kid","grownup","upright","crab","blob"],"roles":["head"],"colours":[],"fit":{"kid":[{"on":"head","face":{"mouthSet":"v2","mouthW":24,"mouthH":10,"mouthX":31,"mouthY":-13}}],"grownup":[{"on":"head","ref":[102,104],"face":{"mouthSet":"v2","mouthW":22,"mouthH":10,"mouthX":31,"mouthY":-13}}],"upright":[{"on":"head","face":{"mouthSet":"v2","mouthW":40,"mouthH":14,"mouthX":34,"mouthY":-18,"moods":{"normal":{"mW":1.2,"low":0.25}}}}],"crab":[{"on":"head","face":{"mouthSet":"v2"}}],"blob":[{"on":"head","face":{"mouthSet":"v2"}}],"*":[{"on":"head","ref":[102,104],"face":{"mouthSet":"v2","mouthW":24,"mouthH":10,"mouthX":31,"mouthY":-13}}]}},"file":"parts/mouth_smile.json"},{"pack":1,"id":"c4c:part:nose_button","type":"part","version":"1.0.0","name":"Button nose","description":"Button nose: a nose part for the kid, grownup bodies.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:c7b978bd841facad2e944de0a84ad7d5b440a635ca44743844e35f4877d48b15","content":{"v":1,"kind":"part","art":1,"name":"nose_button","slot":"nose","short":"button","label":"Button nose","bodies":["kid","grownup"],"roles":["head"],"colours":["skin"],"fit":{"kid":[{"on":"head","view":{"front":{"nodes":[{"id":"nose","z":0.4,"outline":false,"fill":"skin:soft","shape":{"type":"path","d":"M -4.5 -24 C -4.5 -28 4.5 -28 4.5 -24 C 4.5 -21 -4.5 -21 -4.5 -24 Z"}}]},"side":{"nodes":[{"id":"nose","z":-0.1,"fill":"skin","shape":{"type":"ellipse","w":13,"h":11,"ox":47,"oy":-29}}]}}}],"*":[{"on":"head","ref":[102,104],"view":{"front":{"nodes":[{"id":"nose","z":0.4,"outline":false,"fill":"skin:soft","shape":{"type":"path","d":"M -4.5 -24 C -4.5 -28 4.5 -28 4.5 -24 C 4.5 -21 -4.5 -21 -4.5 -24 Z"}}]},"side":{"nodes":[{"id":"nose","z":-0.1,"fill":"skin","shape":{"type":"ellipse","w":13,"h":11,"ox":47,"oy":-29}}]}}}]}},"file":"parts/nose_button.json"},{"pack":1,"id":"c4c:part:nose_dots","type":"part","version":"1.0.0","name":"Two nostrils","description":"Two nostrils: a nose part for the upright, kid, grownup, fours, blob bodies.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:a32ad27a41388c186632bf36c1302a939a3bb49cddd08e6a7b789d3b195fb0a1","content":{"v":1,"kind":"part","art":1,"name":"nose_dots","slot":"nose","short":"dots","label":"Two nostrils","bodies":["upright","kid","grownup","fours","blob"],"roles":["head"],"colours":["skin"],"fit":{"upright":[{"on":"head","view":{"front":{"nodes":[{"id":"nostrils","z":0.6,"outline":false,"fill":"skin:dark","shape":{"type":"path","d":"M -10.2 -36 C -10.2 -38.56 -3.8 -38.56 -3.8 -36 C -3.8 -34.08 -10.2 -34.08 -10.2 -36 Z M 3.8 -36 C 3.8 -38.56 10.2 -38.56 10.2 -36 C 10.2 -34.08 3.8 -34.08 3.8 -36 Z"}}]},"side":{"nodes":[{"id":"nostril","z":0.6,"outline":false,"fill":"skin:dark","shape":{"type":"ellipse","w":6,"h":3.5999999999999996,"ox":50,"oy":-36}}]}}}],"kid":[{"on":"head","view":{"front":{"nodes":[{"id":"nostrils","z":0.6,"outline":false,"fill":"skin:dark","shape":{"type":"path","d":"M -7.4 -25 C -7.4 -26.92 -2.6 -26.92 -2.6 -25 C -2.6 -23.56 -7.4 -23.56 -7.4 -25 Z M 2.6 -25 C 2.6 -26.92 7.4 -26.92 7.4 -25 C 7.4 -23.56 2.6 -23.56 2.6 -25 Z"}}]},"side":{"nodes":[{"id":"nostril","z":0.6,"outline":false,"fill":"skin:dark","shape":{"type":"ellipse","w":4.8,"h":2.88,"ox":44,"oy":-27}}]}}}],"fours":[{"on":"head","view":{"front":{"nodes":[{"id":"nostrils","z":0.6,"outline":false,"fill":"skin:dark","shape":{"type":"path","d":"M -8.6 -16 C -8.6 -18.08 -3.4 -18.08 -3.4 -16 C -3.4 -14.44 -8.6 -14.44 -8.6 -16 Z M 3.4 -16 C 3.4 -18.08 8.6 -18.08 8.6 -16 C 8.6 -14.44 3.4 -14.44 3.4 -16 Z"}}]},"side":{"nodes":[{"id":"nostril","z":0.6,"outline":false,"fill":"skin:dark","shape":{"type":"ellipse","w":5.2,"h":3.12,"ox":36,"oy":-14}}]}}}],"blob":[{"on":"head","view":{"front":{"nodes":[{"id":"nostrils","z":0.6,"outline":false,"fill":"skin:dark","shape":{"type":"path","d":"M -8.6 -8 C -8.6 -10.08 -3.4 -10.08 -3.4 -8 C -3.4 -6.4399999999999995 -8.6 -6.4399999999999995 -8.6 -8 Z M 3.4 -8 C 3.4 -10.08 8.6 -10.08 8.6 -8 C 8.6 -6.4399999999999995 3.4 -6.4399999999999995 3.4 -8 Z"}}]},"side":{"nodes":[{"id":"nostril","z":0.6,"outline":false,"fill":"skin:dark","shape":{"type":"ellipse","w":5.2,"h":3.12,"ox":10,"oy":-8}}]}}}],"*":[{"on":"head","ref":[102,104],"view":{"front":{"nodes":[{"id":"nostrils","z":0.6,"outline":false,"fill":"skin:dark","shape":{"type":"path","d":"M -7.4 -25 C -7.4 -26.92 -2.6 -26.92 -2.6 -25 C -2.6 -23.56 -7.4 -23.56 -7.4 -25 Z M 2.6 -25 C 2.6 -26.92 7.4 -26.92 7.4 -25 C 7.4 -23.56 2.6 -23.56 2.6 -25 Z"}}]},"side":{"nodes":[{"id":"nostril","z":0.6,"outline":false,"fill":"skin:dark","shape":{"type":"ellipse","w":4.8,"h":2.88,"ox":44,"oy":-27}}]}}}]}},"file":"parts/nose_dots.json"},{"pack":1,"id":"c4c:part:nose_snout","type":"part","version":"1.0.0","name":"Snout nose","description":"Snout nose: a nose part for the upright, fours bodies.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:d4d35c2e429f433f232e6edb700e1cb66bf6988a6ace4c7a470c70bdd56a29c7","content":{"v":1,"kind":"part","art":1,"name":"nose_snout","slot":"nose","short":"snout","label":"Snout nose","bodies":["upright","fours"],"roles":["head","snout"],"colours":[],"fit":{"upright":[{"on":"head","view":{"front":{"nodes":[{"id":"nose","z":0.6,"fill":"#1b1b1b","shape":{"type":"path","d":"M -10 -37 C -10 -43 10 -43 10 -37 C 10 -31 4 -27 0 -27 C -4 -27 -10 -31 -10 -37 Z"},"children":[{"id":"shine","outline":false,"fill":"#ffffff","shape":{"type":"ellipse","w":6,"h":3.5,"ox":2,"oy":-39}}]}]}}},{"on":"snout","view":{"side":{"nodes":[{"id":"nose","z":1,"fill":"#1b1b1b","shape":{"type":"ellipse","w":12,"h":11,"ox":13,"oy":-6},"children":[{"id":"shine","outline":false,"fill":"#ffffff","shape":{"type":"ellipse","w":4,"h":3,"ox":14,"oy":-9}}]}]}}}],"fours":[{"on":"snout","view":{"front":{"nodes":[{"id":"nose","z":1,"fill":"#1b1b1b","shape":{"type":"path","d":"M -9 -9 C -9 -14 9 -14 9 -9 C 9 -4 4 0 0 0 C -4 0 -9 -4 -9 -9 Z"},"children":[{"id":"shine","outline":false,"fill":"#ffffff","shape":{"type":"ellipse","w":5,"h":3,"ox":2,"oy":-11}}]}]},"side":{"nodes":[{"id":"nose","z":1,"fill":"#1b1b1b","shape":{"type":"ellipse","w":13,"h":11,"ox":19,"oy":-7}}]}}}],"*":[{"on":"head","ref":[104,98],"view":{"front":{"nodes":[{"id":"nose","z":0.6,"fill":"#1b1b1b","shape":{"type":"path","d":"M -10 -37 C -10 -43 10 -43 10 -37 C 10 -31 4 -27 0 -27 C -4 -27 -10 -31 -10 -37 Z"},"children":[{"id":"shine","outline":false,"fill":"#ffffff","shape":{"type":"ellipse","w":6,"h":3.5,"ox":2,"oy":-39}}]}]}}},{"on":"snout","ref":[30,26],"view":{"side":{"nodes":[{"id":"nose","z":1,"fill":"#1b1b1b","shape":{"type":"ellipse","w":12,"h":11,"ox":13,"oy":-6},"children":[{"id":"shine","outline":false,"fill":"#ffffff","shape":{"type":"ellipse","w":4,"h":3,"ox":14,"oy":-9}}]}]}}}]}},"file":"parts/nose_snout.json"},{"pack":1,"id":"c4c:part:shape_pear","type":"part","version":"1.0.0","name":"Pear-shaped body","description":"Pear-shaped body: a shape part for the upright body.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:08e05b7e82f644cb4313b947972805a54b03017bb2dc199d5b06fd3ecd4a9bff","content":{"v":1,"kind":"part","art":1,"name":"shape_pear","slot":"shape","short":"pear","label":"Pear-shaped body","bodies":["upright"],"roles":["arm","hips","torso"],"colours":["skin"],"fit":{"upright":[{"on":"torso","set":{"shape":"egg","w":92,"h":124,"oy":-30,"top":0.64,"views":{"front":{"w":118}}}},{"on":"hips","set":{"shape":"ellipse","w":62,"h":38,"views":{"front":{"w":80}}}},{"on":"arm","view":{"front":{"z":2}}}],"*":[{"on":"torso","ref":[84,98],"set":{"shape":"egg","w":92,"h":124,"oy":-30,"top":0.64,"views":{"front":{"w":118}}}},{"on":"hips","ref":[80,58],"set":{"shape":"ellipse","w":62,"h":38,"views":{"front":{"w":80}}}},{"on":"arm","view":{"front":{"z":2}}}]}},"file":"parts/shape_pear.json"},{"pack":1,"id":"c4c:part:shape_puffed","type":"part","version":"1.0.0","name":"Puffed up","description":"Puffed up: a shape part for the crab body.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:24c2be9e9d80ea61aea562de5532a13e1077468f1d934fae0d8f02b177cd6960","content":{"v":1,"kind":"part","art":1,"name":"shape_puffed","slot":"shape","short":"puffed","label":"Puffed up","bodies":["crab"],"roles":["shell"],"colours":["skin"],"fit":{"crab":[{"on":"shell","set":{"shape":"ellipse","w":156,"h":118}}],"*":[{"on":"shell","ref":[136,96],"set":{"shape":"ellipse","w":156,"h":118}}]}},"file":"parts/shape_puffed.json"},{"pack":1,"id":"c4c:part:shoes_bare","type":"part","version":"1.0.0","name":"Bare feet","description":"Bare feet: a shoes part for the upright, kid, grownup bodies.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:94638a934bd49aa3a9ecad004eb5bb67ca386753b8714162e627257844fb0596","content":{"v":1,"kind":"part","art":1,"name":"shoes_bare","slot":"shoes","short":"bare","label":"Bare feet","bodies":["upright","kid","grownup"],"roles":["foot"],"colours":["skin"],"fit":{"upright":[{"on":"foot","set":{"look":{"fill":"skin"}},"view":{"front":{"nodes":[{"id":"toes","fill":"skin:deep","z":0.5,"shape":{"type":"strokes","lw":1.6,"lines":[[-5,2,-5,6],[0,2.5,0,6.5],[5,2,5,6]]}}]},"side":{"nodes":[{"id":"toes","fill":"skin:deep","z":0.5,"shape":{"type":"strokes","lw":1.6,"lines":[[18,0,22,4],[13,1,16,5]]}}]}}}],"*":[{"on":"foot","ref":[34,14],"set":{"look":{"fill":"skin"}},"view":{"front":{"nodes":[{"id":"toes","fill":"skin:deep","z":0.5,"shape":{"type":"strokes","lw":1.6,"lines":[[-5,2,-5,6],[0,2.5,0,6.5],[5,2,5,6]]}}]},"side":{"nodes":[{"id":"toes","fill":"skin:deep","z":0.5,"shape":{"type":"strokes","lw":1.6,"lines":[[18,0,22,4],[13,1,16,5]]}}]}}}]}},"file":"parts/shoes_bare.json"},{"pack":1,"id":"c4c:part:shoes_sneakers","type":"part","version":"1.0.0","name":"Sneakers","description":"Sneakers: a shoes part for the kid, grownup bodies.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:1fe409bcca594fde0539e169e26f720b528ea4d1d50aa4887feba38b68e021b0","content":{"v":1,"kind":"part","art":1,"name":"shoes_sneakers","slot":"shoes","short":"sneakers","label":"Sneakers","bodies":["kid","grownup"],"roles":["foot","shin"],"colours":["shoes"],"box":{"foot":[32,19]},"fit":{"kid":[{"on":"foot","set":{"shape":"ellipse","w":33,"h":19.5,"ox":3.5,"oy":-5.25,"z":1,"look":{"fill":"shoes"},"views":{"front":{"w":31}}},"view":{"front":{"shape":{"type":"path","d":"M -14 3 C -16 -6 -11 -15 0 -15 C 11 -15 16 -6 14 3 Z"},"nodes":[{"id":"sole","fill":"#3d3d4f","z":1,"shape":{"type":"rrect","w":30,"h":6,"oy":1.5,"r":3}},{"id":"shine","clip":true,"outline":false,"fill":"shoes:lite","shape":{"type":"ellipse","w":12,"h":5,"ox":4,"oy":-10}}]},"side":{"shape":{"type":"path","d":"M -10 -12 C -6 -15 2 -14 6 -11 C 10 -8 14 -5 17 -2 C 20 0 20 3 18 3 L -11 3 C -13 -2 -12 -8 -10 -12 Z"},"nodes":[{"id":"sole","fill":"#3d3d4f","z":1,"shape":{"type":"rrect","w":32,"h":6,"ox":3.5,"oy":1.5,"r":3}},{"id":"shine","clip":true,"outline":false,"fill":"shoes:lite","shape":{"type":"ellipse","w":11,"h":5,"ox":6,"oy":-8}}]},"back":{"shape":{"type":"path","d":"M -14 3 C -16 -6 -11 -15 0 -15 C 11 -15 16 -6 14 3 Z"},"nodes":[{"id":"sole","fill":"#3d3d4f","z":1,"shape":{"type":"rrect","w":30,"h":6,"oy":1.5,"r":3}}]}}},{"on":"shin","view":{"all":{"nodes":[{"id":"sock","clip":true,"inner":true,"fill":"#f4f4f6","shape":{"type":"rect","w":30,"h":12,"oy":26,"r":1}}]}}}],"*":[{"on":"foot","ref":[30,16],"set":{"shape":"ellipse","w":33,"h":19.5,"ox":3.5,"oy":-5.25,"z":1,"look":{"fill":"shoes"},"views":{"front":{"w":31}}},"view":{"front":{"shape":{"type":"path","d":"M -14 3 C -16 -6 -11 -15 0 -15 C 11 -15 16 -6 14 3 Z"},"nodes":[{"id":"sole","fill":"#3d3d4f","z":1,"shape":{"type":"rrect","w":30,"h":6,"oy":1.5,"r":3}},{"id":"shine","clip":true,"outline":false,"fill":"shoes:lite","shape":{"type":"ellipse","w":12,"h":5,"ox":4,"oy":-10}}]},"side":{"shape":{"type":"path","d":"M -10 -12 C -6 -15 2 -14 6 -11 C 10 -8 14 -5 17 -2 C 20 0 20 3 18 3 L -11 3 C -13 -2 -12 -8 -10 -12 Z"},"nodes":[{"id":"sole","fill":"#3d3d4f","z":1,"shape":{"type":"rrect","w":32,"h":6,"ox":3.5,"oy":1.5,"r":3}},{"id":"shine","clip":true,"outline":false,"fill":"shoes:lite","shape":{"type":"ellipse","w":11,"h":5,"ox":6,"oy":-8}}]},"back":{"shape":{"type":"path","d":"M -14 3 C -16 -6 -11 -15 0 -15 C 11 -15 16 -6 14 3 Z"},"nodes":[{"id":"sole","fill":"#3d3d4f","z":1,"shape":{"type":"rrect","w":30,"h":6,"oy":1.5,"r":3}}]}}},{"on":"shin","ref":[20,30],"view":{"all":{"nodes":[{"id":"sock","clip":true,"inner":true,"fill":"#f4f4f6","shape":{"type":"rect","w":30,"h":12,"oy":26,"r":1}}]}}}]}},"file":"parts/shoes_sneakers.json"},{"pack":1,"id":"c4c:part:shoes_webbed","type":"part","version":"1.0.0","name":"Webbed feet","description":"Webbed feet: a shoes part for the bird body.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:219695585c37bf19fb26d52b6e70cce64f1cf6d0f97fdb4354d3abe7dea07f3a","content":{"v":1,"kind":"part","art":1,"name":"shoes_webbed","slot":"shoes","short":"webbed","label":"Webbed feet","bodies":["bird"],"roles":["foot"],"colours":["accent"],"fit":{"bird":[{"on":"foot","set":{"shape":"ellipse","w":48,"h":18,"ox":12,"oy":0,"look":{"fill":"accent"},"views":{"front":{"w":44}}},"view":{"front":{"shape":{"type":"path","d":"M -6 -9 C -2 -11 2 -11 6 -9 C 12 -4 18 0 21 4 C 23 8 19 10 15 8 L 9 11 L 4 8 L 0 12 L -4 8 L -9 11 L -15 8 C -19 10 -23 8 -21 4 C -18 0 -12 -4 -6 -9 Z","oy":1},"nodes":[{"id":"web","fill":"accent:deep","z":0.5,"shape":{"type":"strokes","lw":1.4,"lines":[[0,-6,-11,7],[0,-6,0,9],[0,-6,11,7]]}}]},"side":{"shape":{"type":"path","d":"M -10 -6 C 0 -8 18 -10 30 -6 L 36 -3 L 30 -1 L 35 3 L 27 3 L 29 7 C 14 9 0 8 -10 6 C -15 4 -15 -4 -10 -6 Z","oy":1}},"back":{"shape":{"type":"path","d":"M -6 -9 C -2 -11 2 -11 6 -9 C 12 -4 18 0 21 4 C 23 8 19 10 15 8 L 9 11 L 4 8 L 0 12 L -4 8 L -9 11 L -15 8 C -19 10 -23 8 -21 4 C -18 0 -12 -4 -6 -9 Z","oy":1}}}}]}},"file":"parts/shoes_webbed.json"},{"pack":1,"id":"c4c:part:tail_bushy","type":"part","version":"1.0.0","name":"Bushy tail","description":"Bushy tail: a tail part for the upright, fours bodies.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:1cda234b56f0b4e77b874da313a5eda9288bcad918155d20c38cad7326aa37bd","content":{"v":1,"kind":"part","art":1,"name":"tail_bushy","slot":"tail","short":"bushy","label":"Bushy tail","bodies":["upright","fours"],"roles":["tail"],"colours":["skin","accent"],"fit":{"upright":[{"on":"tail","first":true,"set":{"shape":"path","d":"M -6 -2 C -20 8 -30 30 -30 52 C -30 74 -22 92 -30 108 C -10 106 14 92 22 70 C 30 48 24 18 8 -2 Z","w":52,"h":110,"rot":104},"view":{"all":{"nodes":[{"id":"tip","clip":true,"outline":false,"fill":"accent","shape":{"type":"ellipse","w":60,"h":40,"ox":-20,"oy":102}}]}}}],"fours":[{"on":"tail","first":true,"set":{"shape":"path","d":"M -6 -2 C -20 8 -30 30 -30 52 C -30 74 -22 92 -30 108 C -10 106 14 92 22 70 C 30 48 24 18 8 -2 Z","w":52,"h":110,"rot":140},"view":{"all":{"nodes":[{"id":"tip","clip":true,"outline":false,"fill":"accent","shape":{"type":"ellipse","w":60,"h":40,"ox":-20,"oy":102}}]}}}],"*":[{"on":"tail","first":true,"ref":[20,26],"set":{"shape":"path","d":"M -6 -2 C -20 8 -30 30 -30 52 C -30 74 -22 92 -30 108 C -10 106 14 92 22 70 C 30 48 24 18 8 -2 Z","w":52,"h":110},"view":{"all":{"nodes":[{"id":"tip","clip":true,"outline":false,"fill":"accent","shape":{"type":"ellipse","w":60,"h":40,"ox":-20,"oy":102}}]}}}]}},"file":"parts/tail_bushy.json"},{"pack":1,"id":"c4c:part:tail_short","type":"part","version":"1.0.0","name":"Short tail (the quokka's)","description":"Short tail (the quokka's): a tail part for the upright body.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:1591e8cf05d02f79dcbaf9c246799029009530eaf7f38fe3e6b6530d6ee29c06","content":{"v":1,"kind":"part","art":1,"name":"tail_short","slot":"tail","short":"short","label":"Short tail (the quokka's)","bodies":["upright"],"roles":["tail"],"colours":["skin"],"fit":{"*":[{"on":"tail","first":true,"set":{"shape":"capsule","w":20,"h":26,"taper":1}}]}},"file":"parts/tail_short.json"},{"pack":1,"id":"c4c:part:top_long_sleeves","type":"part","version":"1.0.0","name":"Long-sleeved top","description":"Long-sleeved top: a top part for the kid, grownup bodies.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:a1896feb0f03ae8b292a882d0935028e36050de6f8e6a19649ba7be4afb5bd92","content":{"v":1,"kind":"part","art":1,"name":"top_long_sleeves","slot":"top","short":"long_sleeves","label":"Long-sleeved top","bodies":["kid","grownup"],"roles":["torso","arm","forearm"],"colours":["top"],"fit":{"kid":[{"on":"torso","view":{"front":{"nodes":[{"id":"tee","clip":true,"inner":true,"fill":"top","shade":true,"pos":{"x":0,"y":-28},"shape":{"type":"path","d":"M -50 -50 L -13 -50 C -13 -21 13 -21 13 -50 L 50 -50 L 50 70 L -50 70 Z"},"children":[{"id":"chin","clip":true,"outline":false,"fill":"top:shade","shape":{"type":"ellipse","w":34,"h":9,"oy":-34}}]}]},"side":{"nodes":[{"id":"tee","clip":true,"inner":true,"fill":"top","shade":true,"pos":{"x":0,"y":-28},"shape":{"type":"path","d":"M -50 -50 L 2 -50 C 2 -30 16 -30 18 -50 L 50 -50 L 50 70 L -50 70 Z"},"children":[{"id":"chin","clip":true,"outline":false,"fill":"top:shade","shape":{"type":"ellipse","w":26,"h":9,"ox":6,"oy":-34}}]}]},"back":{"nodes":[{"id":"tee","clip":true,"inner":true,"fill":"top","shade":true,"pos":{"x":0,"y":-28},"shape":{"type":"path","d":"M -50 -46 C -20 -40 20 -40 50 -46 L 50 70 L -50 70 Z"},"children":[]}]}}},{"on":"arm","view":{"all":{"nodes":[{"id":"sleeve","clip":true,"inner":true,"fill":"top","shade":true,"shape":{"type":"rect","w":34,"h":44,"r":2},"children":[]}]}}},{"on":"forearm","view":{"all":{"nodes":[{"id":"sleeve","clip":true,"inner":true,"fill":"top","shade":true,"shape":{"type":"rect","w":34,"h":40,"oy":8,"r":2},"children":[{"id":"cuff","clip":true,"outline":false,"fill":"top:shade","shape":{"type":"rect","w":40,"h":5,"oy":25}}]}]}}}],"*":[{"on":"torso","ref":[46,74],"view":{"front":{"nodes":[{"id":"tee","clip":true,"inner":true,"fill":"top","shade":true,"pos":{"x":0,"y":-28},"shape":{"type":"path","d":"M -50 -50 L -13 -50 C -13 -21 13 -21 13 -50 L 50 -50 L 50 70 L -50 70 Z"},"children":[{"id":"chin","clip":true,"outline":false,"fill":"top:shade","shape":{"type":"ellipse","w":34,"h":9,"oy":-34}}]}]},"side":{"nodes":[{"id":"tee","clip":true,"inner":true,"fill":"top","shade":true,"pos":{"x":0,"y":-28},"shape":{"type":"path","d":"M -50 -50 L 2 -50 C 2 -30 16 -30 18 -50 L 50 -50 L 50 70 L -50 70 Z"},"children":[{"id":"chin","clip":true,"outline":false,"fill":"top:shade","shape":{"type":"ellipse","w":26,"h":9,"ox":6,"oy":-34}}]}]},"back":{"nodes":[{"id":"tee","clip":true,"inner":true,"fill":"top","shade":true,"pos":{"x":0,"y":-28},"shape":{"type":"path","d":"M -50 -46 C -20 -40 20 -40 50 -46 L 50 70 L -50 70 Z"},"children":[]}]}}},{"on":"arm","ref":[18,36],"view":{"all":{"nodes":[{"id":"sleeve","clip":true,"inner":true,"fill":"top","shade":true,"shape":{"type":"rect","w":34,"h":44,"r":2},"children":[]}]}}},{"on":"forearm","ref":[16,31],"view":{"all":{"nodes":[{"id":"sleeve","clip":true,"inner":true,"fill":"top","shade":true,"shape":{"type":"rect","w":34,"h":40,"oy":8,"r":2},"children":[{"id":"cuff","clip":true,"outline":false,"fill":"top:shade","shape":{"type":"rect","w":40,"h":5,"oy":25}}]}]}}}]}},"file":"parts/top_long_sleeves.json"},{"pack":1,"id":"c4c:part:top_tee_star","type":"part","version":"1.0.0","name":"T-shirt with a star","description":"T-shirt with a star: a top part for the kid, grownup bodies.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:517c3a7ea6e81277d9b85c18d8e4db9daf61c34cfa9c1907b54cc4357c68d658","content":{"v":1,"kind":"part","art":1,"name":"top_tee_star","slot":"top","short":"tee_star","label":"T-shirt with a star","bodies":["kid","grownup"],"roles":["torso","arm"],"colours":["top","accent"],"fit":{"kid":[{"on":"torso","view":{"front":{"nodes":[{"id":"tee","clip":true,"inner":true,"fill":"top","shade":true,"pos":{"x":0,"y":-28},"shape":{"type":"path","d":"M -50 -50 L -13 -50 C -13 -21 13 -21 13 -50 L 50 -50 L 50 70 L -50 70 Z"},"children":[{"id":"chin","clip":true,"outline":false,"fill":"top:shade","shape":{"type":"ellipse","w":34,"h":9,"oy":-34}},{"id":"star","clip":true,"outline":false,"fill":"accent","shape":{"type":"path","d":"M 0 -16 L 3.5 -8 L 12 -7.5 L 5.5 -2 L 7.5 6.5 L 0 2 L -7.5 6.5 L -5.5 -2 L -12 -7.5 L -3.5 -8 Z","oy":6}}]}]},"side":{"nodes":[{"id":"tee","clip":true,"inner":true,"fill":"top","shade":true,"pos":{"x":0,"y":-28},"shape":{"type":"path","d":"M -50 -50 L 2 -50 C 2 -30 16 -30 18 -50 L 50 -50 L 50 70 L -50 70 Z"},"children":[{"id":"chin","clip":true,"outline":false,"fill":"top:shade","shape":{"type":"ellipse","w":26,"h":9,"ox":6,"oy":-34}}]}]},"back":{"nodes":[{"id":"tee","clip":true,"inner":true,"fill":"top","shade":true,"pos":{"x":0,"y":-28},"shape":{"type":"path","d":"M -50 -46 C -20 -40 20 -40 50 -46 L 50 70 L -50 70 Z"}}]}}},{"on":"arm","view":{"all":{"nodes":[{"id":"sleeve","clip":true,"inner":true,"fill":"top","shade":true,"shape":{"type":"rect","w":34,"h":44,"r":2}}]}}}],"*":[{"on":"torso","ref":[46,74],"view":{"front":{"nodes":[{"id":"tee","clip":true,"inner":true,"fill":"top","shade":true,"pos":{"x":0,"y":-28},"shape":{"type":"path","d":"M -50 -50 L -13 -50 C -13 -21 13 -21 13 -50 L 50 -50 L 50 70 L -50 70 Z"},"children":[{"id":"chin","clip":true,"outline":false,"fill":"top:shade","shape":{"type":"ellipse","w":34,"h":9,"oy":-34}},{"id":"star","clip":true,"outline":false,"fill":"accent","shape":{"type":"path","d":"M 0 -16 L 3.5 -8 L 12 -7.5 L 5.5 -2 L 7.5 6.5 L 0 2 L -7.5 6.5 L -5.5 -2 L -12 -7.5 L -3.5 -8 Z","oy":6}}]}]},"side":{"nodes":[{"id":"tee","clip":true,"inner":true,"fill":"top","shade":true,"pos":{"x":0,"y":-28},"shape":{"type":"path","d":"M -50 -50 L 2 -50 C 2 -30 16 -30 18 -50 L 50 -50 L 50 70 L -50 70 Z"},"children":[{"id":"chin","clip":true,"outline":false,"fill":"top:shade","shape":{"type":"ellipse","w":26,"h":9,"ox":6,"oy":-34}}]}]},"back":{"nodes":[{"id":"tee","clip":true,"inner":true,"fill":"top","shade":true,"pos":{"x":0,"y":-28},"shape":{"type":"path","d":"M -50 -46 C -20 -40 20 -40 50 -46 L 50 70 L -50 70 Z"}}]}}},{"on":"arm","ref":[18,36],"view":{"all":{"nodes":[{"id":"sleeve","clip":true,"inner":true,"fill":"top","shade":true,"shape":{"type":"rect","w":34,"h":44,"r":2}}]}}}]}},"file":"parts/top_tee_star.json"},{"pack":1,"id":"c4c:part:top_tee_stripes","type":"part","version":"1.0.0","name":"Striped T-shirt","description":"Striped T-shirt: a top part for the kid, grownup bodies.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:af3bbe7d6a4a516f4b6d7b667ec98ae5eee28886e4c9522996144118229e3482","content":{"v":1,"kind":"part","art":1,"name":"top_tee_stripes","slot":"top","short":"tee_stripes","label":"Striped T-shirt","bodies":["kid","grownup"],"roles":["torso","arm"],"colours":["top","accent"],"fit":{"kid":[{"on":"torso","view":{"front":{"nodes":[{"id":"tee","clip":true,"inner":true,"fill":"top","shade":true,"pos":{"x":0,"y":-28},"shape":{"type":"path","d":"M -50 -50 L -13 -50 C -13 -21 13 -21 13 -50 L 50 -50 L 50 70 L -50 70 Z"},"children":[{"id":"chin","clip":true,"outline":false,"fill":"top:shade","shape":{"type":"ellipse","w":34,"h":9,"oy":-34}},{"id":"stripe0","clip":true,"outline":false,"fill":"accent","shape":{"type":"rect","w":130,"h":8,"oy":2}},{"id":"stripe1","clip":true,"outline":false,"fill":"accent","shape":{"type":"rect","w":130,"h":8,"oy":20}},{"id":"stripe2","clip":true,"outline":false,"fill":"accent","shape":{"type":"rect","w":130,"h":8,"oy":38}}]}]},"side":{"nodes":[{"id":"tee","clip":true,"inner":true,"fill":"top","shade":true,"pos":{"x":0,"y":-28},"shape":{"type":"path","d":"M -50 -50 L 2 -50 C 2 -30 16 -30 18 -50 L 50 -50 L 50 70 L -50 70 Z"},"children":[{"id":"chin","clip":true,"outline":false,"fill":"top:shade","shape":{"type":"ellipse","w":26,"h":9,"ox":6,"oy":-34}},{"id":"stripe0","clip":true,"outline":false,"fill":"accent","shape":{"type":"rect","w":130,"h":8,"oy":2}},{"id":"stripe1","clip":true,"outline":false,"fill":"accent","shape":{"type":"rect","w":130,"h":8,"oy":20}},{"id":"stripe2","clip":true,"outline":false,"fill":"accent","shape":{"type":"rect","w":130,"h":8,"oy":38}}]}]},"back":{"nodes":[{"id":"tee","clip":true,"inner":true,"fill":"top","shade":true,"pos":{"x":0,"y":-28},"shape":{"type":"path","d":"M -50 -46 C -20 -40 20 -40 50 -46 L 50 70 L -50 70 Z"},"children":[{"id":"stripe0","clip":true,"outline":false,"fill":"accent","shape":{"type":"rect","w":130,"h":8,"oy":2}},{"id":"stripe1","clip":true,"outline":false,"fill":"accent","shape":{"type":"rect","w":130,"h":8,"oy":20}},{"id":"stripe2","clip":true,"outline":false,"fill":"accent","shape":{"type":"rect","w":130,"h":8,"oy":38}}]}]}}},{"on":"arm","view":{"all":{"nodes":[{"id":"sleeve","clip":true,"inner":true,"fill":"top","shade":true,"shape":{"type":"rect","w":34,"h":44,"r":2},"children":[{"id":"band","clip":true,"outline":false,"fill":"accent","shape":{"type":"rect","w":40,"h":6,"oy":17}}]}]}}}],"*":[{"on":"torso","ref":[46,74],"view":{"front":{"nodes":[{"id":"tee","clip":true,"inner":true,"fill":"top","shade":true,"pos":{"x":0,"y":-28},"shape":{"type":"path","d":"M -50 -50 L -13 -50 C -13 -21 13 -21 13 -50 L 50 -50 L 50 70 L -50 70 Z"},"children":[{"id":"chin","clip":true,"outline":false,"fill":"top:shade","shape":{"type":"ellipse","w":34,"h":9,"oy":-34}},{"id":"stripe0","clip":true,"outline":false,"fill":"accent","shape":{"type":"rect","w":130,"h":8,"oy":2}},{"id":"stripe1","clip":true,"outline":false,"fill":"accent","shape":{"type":"rect","w":130,"h":8,"oy":20}},{"id":"stripe2","clip":true,"outline":false,"fill":"accent","shape":{"type":"rect","w":130,"h":8,"oy":38}}]}]},"side":{"nodes":[{"id":"tee","clip":true,"inner":true,"fill":"top","shade":true,"pos":{"x":0,"y":-28},"shape":{"type":"path","d":"M -50 -50 L 2 -50 C 2 -30 16 -30 18 -50 L 50 -50 L 50 70 L -50 70 Z"},"children":[{"id":"chin","clip":true,"outline":false,"fill":"top:shade","shape":{"type":"ellipse","w":26,"h":9,"ox":6,"oy":-34}},{"id":"stripe0","clip":true,"outline":false,"fill":"accent","shape":{"type":"rect","w":130,"h":8,"oy":2}},{"id":"stripe1","clip":true,"outline":false,"fill":"accent","shape":{"type":"rect","w":130,"h":8,"oy":20}},{"id":"stripe2","clip":true,"outline":false,"fill":"accent","shape":{"type":"rect","w":130,"h":8,"oy":38}}]}]},"back":{"nodes":[{"id":"tee","clip":true,"inner":true,"fill":"top","shade":true,"pos":{"x":0,"y":-28},"shape":{"type":"path","d":"M -50 -46 C -20 -40 20 -40 50 -46 L 50 70 L -50 70 Z"},"children":[{"id":"stripe0","clip":true,"outline":false,"fill":"accent","shape":{"type":"rect","w":130,"h":8,"oy":2}},{"id":"stripe1","clip":true,"outline":false,"fill":"accent","shape":{"type":"rect","w":130,"h":8,"oy":20}},{"id":"stripe2","clip":true,"outline":false,"fill":"accent","shape":{"type":"rect","w":130,"h":8,"oy":38}}]}]}}},{"on":"arm","ref":[18,36],"view":{"all":{"nodes":[{"id":"sleeve","clip":true,"inner":true,"fill":"top","shade":true,"shape":{"type":"rect","w":34,"h":44,"r":2},"children":[{"id":"band","clip":true,"outline":false,"fill":"accent","shape":{"type":"rect","w":40,"h":6,"oy":17}}]}]}}}]}},"file":"parts/top_tee_stripes.json"},{"pack":1,"id":"c4c:part:wings_feather","type":"part","version":"1.0.0","name":"Feathered wings","description":"Feathered wings: a wings part for the bird body.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:f344e977005534bc39d288ee9cacd36ab4616ef50cba8e46983c001035e7ba29","content":{"v":1,"kind":"part","art":1,"name":"wings_feather","slot":"wings","short":"feather","label":"Feathered wings","bodies":["bird"],"roles":["wing"],"colours":["hair"],"fit":{"bird":[{"on":"wing","side":-1,"set":{"shape":"path","d":"M -14 0 C -27 10 -29 34 -25 54 C -21 70 -13 82 -3 90 L 1 80 L 7 87 L 9 75 L 15 79 C 22 62 26 40 22 22 C 20 10 12 2 0 0 Z","w":56,"h":90},"view":{"front":{"z":-2,"nodes":[{"id":"feathers","fill":"hair:deep","z":0.5,"shape":{"type":"strokes","lw":1.8,"lines":[[-8,44,-4,66],[2,40,6,64],[10,36,13,56]]}}]},"side":{"nodes":[{"id":"feathers","fill":"hair:deep","z":0.5,"shape":{"type":"strokes","lw":1.8,"lines":[[-8,44,-4,66],[2,40,6,64],[10,36,13,56]]}}]},"back":{"z":2,"nodes":[{"id":"feathers","fill":"hair:deep","z":0.5,"shape":{"type":"strokes","lw":1.8,"lines":[[-8,44,-4,66],[2,40,6,64],[10,36,13,56]]}}]}}},{"on":"wing","side":1,"set":{"shape":"path","d":"M -14 0 C -27 10 -29 34 -25 54 C -21 70 -13 82 -3 90 L 1 80 L 7 87 L 9 75 L 15 79 C 22 62 26 40 22 22 C 20 10 12 2 0 0 Z","w":56,"h":90},"view":{"front":{"z":-2,"nodes":[{"id":"feathers","fill":"hair:deep","z":0.5,"shape":{"type":"strokes","lw":1.8,"lines":[[-8,44,-4,66],[2,40,6,64],[10,36,13,56]]}}]},"side":{"z":3,"nodes":[{"id":"feathers","fill":"hair:deep","z":0.5,"shape":{"type":"strokes","lw":1.8,"lines":[[-8,44,-4,66],[2,40,6,64],[10,36,13,56]]}}]},"back":{"z":2,"nodes":[{"id":"feathers","fill":"hair:deep","z":0.5,"shape":{"type":"strokes","lw":1.8,"lines":[[-8,44,-4,66],[2,40,6,64],[10,36,13,56]]}}]}}}],"*":[{"on":"wing","ref":[50,86],"set":{"shape":"path","d":"M -14 0 C -27 10 -29 34 -25 54 C -21 70 -13 82 -3 90 L 1 80 L 7 87 L 9 75 L 15 79 C 22 62 26 40 22 22 C 20 10 12 2 0 0 Z","w":56,"h":90},"view":{"all":{"nodes":[{"id":"feathers","fill":"hair:deep","z":0.5,"shape":{"type":"strokes","lw":1.8,"lines":[[-8,44,-4,66],[2,40,6,64],[10,36,13,56]]}}]}}}]}},"file":"parts/wings_feather.json"},{"pack":1,"id":"c4c:part:wings_long","type":"part","version":"1.0.0","name":"Long wings that fold and spread","description":"Long wings that fold and spread: a wings part for the bird body.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:e1b28e40f600f7d2b7874f99e75652e4ef0c0604a858123784ea5adc870fb52a","content":{"v":1,"kind":"part","art":1,"name":"wings_long","slot":"wings","short":"long","label":"Long wings that fold and spread","bodies":["bird"],"roles":["wing"],"colours":["hair"],"fit":{"bird":[{"on":"wing","side":-1,"set":{"shape":"path","d":"M -15 -2 C -26 8 -28 30 -24 50 L 22 50 C 26 30 24 8 13 -2 C 6 -6 -8 -6 -15 -2 Z","w":54,"h":54},"add":[{"id":"wingtip_l","role":"wing","at":[0,42],"side":-1,"shape":"path","d":"M -22 -4 C -26 13 -24 33 -16 51 L -11 43 L -7 60 L -2 47 L 3 63 L 7 49 L 13 58 L 15 44 C 22 29 24 11 22 -4 Z","w":48,"h":67,"rot":0,"limits":[-150,150],"tip":{"x":0,"y":60},"look":{"fill":"hair"}}],"view":{"all":{"nodes":[{"id":"scallops","fill":"hair:deep","z":0.5,"shape":{"type":"strokes","lw":1.6,"lines":[[-18,34,-8,42],[-8,42,2,34],[2,34,12,42],[12,42,20,34]]}}]}}},{"on":"wing","side":1,"set":{"shape":"path","d":"M -15 -2 C -26 8 -28 30 -24 50 L 22 50 C 26 30 24 8 13 -2 C 6 -6 -8 -6 -15 -2 Z","w":54,"h":54},"add":[{"id":"wingtip_r","role":"wing","at":[0,42],"side":1,"shape":"path","d":"M -22 -4 C -26 13 -24 33 -16 51 L -11 43 L -7 60 L -2 47 L 3 63 L 7 49 L 13 58 L 15 44 C 22 29 24 11 22 -4 Z","w":48,"h":67,"rot":0,"limits":[-150,150],"tip":{"x":0,"y":60},"look":{"fill":"hair"}}],"view":{"all":{"nodes":[{"id":"scallops","fill":"hair:deep","z":0.5,"shape":{"type":"strokes","lw":1.6,"lines":[[-18,34,-8,42],[-8,42,2,34],[2,34,12,42],[12,42,20,34]]}}]}}}],"*":[{"on":"wing","side":-1,"ref":[50,86],"set":{"shape":"path","d":"M -15 -2 C -26 8 -28 30 -24 50 L 22 50 C 26 30 24 8 13 -2 C 6 -6 -8 -6 -15 -2 Z","w":54,"h":54},"add":[{"id":"wingtip_l","role":"wing","at":[0,42],"side":-1,"shape":"path","d":"M -22 -4 C -26 13 -24 33 -16 51 L -11 43 L -7 60 L -2 47 L 3 63 L 7 49 L 13 58 L 15 44 C 22 29 24 11 22 -4 Z","w":48,"h":67,"rot":0,"limits":[-150,150],"tip":{"x":0,"y":60},"look":{"fill":"hair"}}],"view":{"all":{"nodes":[{"id":"scallops","fill":"hair:deep","z":0.5,"shape":{"type":"strokes","lw":1.6,"lines":[[-18,34,-8,42],[-8,42,2,34],[2,34,12,42],[12,42,20,34]]}}]}}},{"on":"wing","side":1,"ref":[50,86],"set":{"shape":"path","d":"M -15 -2 C -26 8 -28 30 -24 50 L 22 50 C 26 30 24 8 13 -2 C 6 -6 -8 -6 -15 -2 Z","w":54,"h":54},"add":[{"id":"wingtip_r","role":"wing","at":[0,42],"side":1,"shape":"path","d":"M -22 -4 C -26 13 -24 33 -16 51 L -11 43 L -7 60 L -2 47 L 3 63 L 7 49 L 13 58 L 15 44 C 22 29 24 11 22 -4 Z","w":48,"h":67,"rot":0,"limits":[-150,150],"tip":{"x":0,"y":60},"look":{"fill":"hair"}}],"view":{"all":{"nodes":[{"id":"scallops","fill":"hair:deep","z":0.5,"shape":{"type":"strokes","lw":1.6,"lines":[[-18,34,-8,42],[-8,42,2,34],[2,34,12,42],[12,42,20,34]]}}]}}}]}},"file":"parts/wings_long.json"},{"pack":1,"id":"c4c:recipe:crusty","type":"recipe","version":"1.0.0","name":"Crusty","description":"Crusty, the grumpy red crab of Are You Happy Now: a wide shell, two big pincers held up, eight legs and his eyes up over his shell under cross brows.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:d3428d4f9c925b555722d083a63ab3c0d16190c662cb27730c07be6950f328b7","content":{"v":1,"kind":"recipe","lib":1,"name":"Crusty","body":"crab","parts":{"eyes":"round","brows":"cross","mouth":"simple","claws":"big_pincer"},"colors":{"skin":"#ee4a3c","eyes":"#1b1b1b"}},"file":"recipes/crusty.json"},{"pack":1,"id":"c4c:recipe:gull","type":"recipe","version":"2.0.0","name":"The gull","description":"The gull of Are You Happy Now, built in the character builder from the bird: a white bird with its head on its body, a tuft, an angry brow set, a hooked yellow beak, long grey wings that fold and spread, and webbed feet.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:fa8f5980df3924fcba0f695f6711b718ef946bad77b3e6b10e778374a5e3d067","content":{"v":1,"kind":"recipe","lib":1,"name":"Gull","body":"bird","bones":{"remove":["neck"],"set":{"head":{"at":[10,-66]}}},"parts":{"eyes":"round","brows":"cross","hair":"tuft","wings":"long","beak":"hooked"},"colors":{"skin":"#f2f2ee","hair":"#a3a9b0","eyes":"#1b1b1b","accent":"#f39a1c"},"sliders":{"eyes":1},"adjust":{"shoes":{"s":1.4},"beak":{"s":1.3},"body":{"sx":1.12}}},"file":"recipes/gull.json"},{"pack":1,"id":"c4c:recipe:pip","type":"recipe","version":"2.0.0","name":"Pip","description":"Pip, the blue quokka of Are You Happy Now, built in the character builder from the upright animal: one pear-shaped body, round ears with orange insides, big dark eyes, a black nose, the big open grin, short arms held out and round paws.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:23c9f14cbc5e4a5621a6a778e362a4c7442d92c53cc15c2844cd3832968d2f90","content":{"v":1,"kind":"recipe","lib":1,"name":"Pip","body":"upright","bones":{"remove":["belly"]},"parts":{"eyes":"big","brows":"none","mouth":"grin","hands":"paw","shape":"pear"},"colors":{"skin":"#5ba3d8","eyes":"#1b1b1b","accent":"#f0a848"},"sliders":{"arms":-3,"eyes":1,"eyeGap":-1},"adjust":{"eyes":{"dy":6},"ears":{"s":1.3,"dy":-10},"body":{"sx":1.1},"arms":{"dy":14,"r":22}}},"file":"recipes/pip.json"},{"pack":1,"id":"c4c:recipe:tully","type":"recipe","version":"1.0.0","name":"Tully","description":"A kid about 2.4 heads tall with a bob and a cowlick, a tee with a star, shorts and sneakers: the start of every kid character.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:c8012299047be17f50e95e522f9e8536df35c6c4ee618e2a85f109cab5153625","content":{"v":1,"kind":"recipe","lib":1,"name":"Tully","body":"kid","parts":{"hair":"bob","top":"tee_star","bottom":"shorts"},"colors":{"hair":"#5b3a2a"}},"file":"recipes/tully.json"},{"pack":1,"id":"c4c:tog:dance_together","type":"together","version":"1.0.0","name":"Dance together","description":"Two to six dancers dance at once, on the song's beats when there is a song. Given a spot, they make a line there first.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:ee51e442489dfae62a0d1045e2e424882a83a2ae5e4160fddbc81aeae92f0901","content":{"v":1,"kind":"together","name":"dance_together","roles":[{"id":"dancers","name":"Who dances","many":true,"min":2,"max":6}],"actions":[{"id":"dance","role":"dancers","do":"side_step"}],"beat":{"beats":8,"spacing":3}},"file":"together/dance_together.json"},{"pack":1,"id":"c4c:tog:duel","type":"together","version":"1.0.0","name":"Duel","description":"One swings, one blocks. The blocker walks to sword's reach first, facing the swinger, and the block meets the swing at ⚑ Hit!.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:26aec749ac8807efe9a1a5816134407a0878a7c2e3de0294b3774bcbf38dcb75","content":{"v":1,"kind":"together","name":"duel","roles":[{"id":"attacker","name":"Who swings"},{"id":"blocker","name":"Who blocks"}],"approach":{"who":"blocker","to":"attacker","gap":7.5,"ms":1500},"actions":[{"id":"swing","role":"attacker","do":"sword_swing"},{"id":"block","role":"blocker","do":"block"}],"meet":[{"action":"swing","flag":"hit"},{"action":"block","flag":"block"}]},"file":"together/duel.json"},{"pack":1,"id":"c4c:tog:high_five","type":"together","version":"1.0.0","name":"High five","description":"Two characters high five. The second walks to arm's reach first, and their hands meet at ⚑ Touch.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:a0746585dc3506f0f21e65820e0dd2817fc1f80d32cd1dbb637ef4a88c098e07","content":{"v":1,"kind":"together","name":"high_five","roles":[{"id":"first","name":"Who stays"},{"id":"second","name":"Who comes over"}],"approach":{"who":"second","to":"first","gap":3,"ms":1500},"actions":[{"id":"five1","role":"first","do":"high_five"},{"id":"five2","role":"second","do":"high_five"}],"meet":[{"action":"five1","flag":"touch"},{"action":"five2","flag":"touch"}]},"file":"together/high_five.json"},{"pack":1,"id":"c4c:tog:hug","type":"together","version":"1.0.0","name":"Hug","description":"Two characters hug. The second walks to arm's reach first, and they face each other.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:04a19af0773aafd85421d8c775dfebbc694c1b784abac34e98e015dd4f58ad1c","content":{"v":1,"kind":"together","name":"hug","roles":[{"id":"first","name":"Who stays"},{"id":"second","name":"Who comes over"}],"approach":{"who":"second","to":"first","gap":2.5,"ms":1500},"actions":[{"id":"hug1","role":"first","do":"hug"},{"id":"hug2","role":"second","do":"hug"}],"meet":[{"action":"hug1","flag":"touch"},{"action":"hug2","flag":"touch"}]},"file":"together/hug.json"},{"pack":1,"id":"c4c:tog:pass","type":"together","version":"1.0.0","name":"Pass","description":"One throws the ball and the other catches it. The catcher stands where the ball will land: ⚑ Let go, the flight, then ⚑ Catch.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:8e620e006a384e12c63e6a16f92f663ca69c4f1c09759ca0e55c9ba3fe458b8a","content":{"v":1,"kind":"together","name":"pass","roles":[{"id":"thrower","name":"Who throws"},{"id":"catcher","name":"Who catches"},{"id":"ball","name":"The ball","thing":"ball"}],"approach":{"who":"catcher","to":"thrower","gap":6,"ms":1200},"actions":[{"id":"throw","role":"thrower","do":"throw"},{"id":"catch","role":"catcher","do":"catch"}],"meet":[{"action":"throw","flag":"let_go"},{"action":"catch","flag":"catch","gap":700}],"things":[{"role":"ball","flight":{"from":{"action":"throw","flag":"let_go"},"to":{"action":"catch","flag":"catch"},"arc":2}}]},"file":"together/pass.json"},{"pack":1,"id":"c4c:tog:play_catch","type":"together","version":"1.0.0","name":"Play catch","description":"Two throw the ball back and forth: each throw is caught, then thrown back.","author":{"id":"c4c","name":"Jabbertoon"},"license":"c4c-free","remixable":true,"derived_from":[],"content_hash":"sha256:9f202666acf2cc5c5910f50896aeeeac22ce190c77fb9db27827608fa92d32a7","content":{"v":1,"kind":"together","name":"play_catch","roles":[{"id":"thrower","name":"Who throws first"},{"id":"catcher","name":"Who catches first"},{"id":"ball","name":"The ball","thing":"ball"}],"approach":{"who":"catcher","to":"thrower","gap":6,"ms":1200},"actions":[{"id":"throw","role":"thrower","do":"throw"},{"id":"catch","role":"catcher","do":"catch"}],"meet":[{"action":"throw","flag":"let_go"},{"action":"catch","flag":"catch","gap":700}],"things":[{"role":"ball","flight":{"from":{"action":"throw","flag":"let_go"},"to":{"action":"catch","flag":"catch"},"arc":2}}],"rounds":{"n":2,"swap":["thrower","catcher"]}},"file":"together/play_catch.json"}]}
