{
 "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))"
      }
     }
    ]
   }
  ]
 }
}
