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