void PunchCommands(AttackStrength punch, FeiLongClosePunch feiLongPunches, int punchType, string punchStrength)
 {
     if (character.GetComponent <Ken> () != null)
     {
         if (CheckMotionSuperSequence() && animator.GetBool("isAirborne") == false && character.GetSuper >= 100f)
         {
             CharacterCompletesMotionSuper("Ken", "Shinryuken");
         }
         else if (CheckHadoukenSequence() && animator.GetBool("isAirborne") == false && projectileP1Parent.transform.childCount <= 0)
         {
             ShotoCompletesHadouken("Ken", punchType);
         }
         else if (CheckShoryukenSequence() && animator.GetBool("isAirborne") == false)
         {
             ShotoCompletesShoryuken("Ken", punchStrength, punchType);
         }
         else if (animator.GetBool("isAttacking") == false)
         {
             character.AttackState();
             punch();
         }
     }
     else if (character.GetComponent <FeiLong> () != null)
     {
         if (CheckMotionSuperSequence() && animator.GetBool("isAirborne") == false && character.GetSuper >= 100f)
         {
             CharacterCompletesMotionSuper("FeiLong", "RekkaShinken");
         }
         else if (CheckHadoukenSequence() && animator.GetBool("isAirborne") == false)
         {
             FeiLongCompletesRekka(punchType);
         }
         else if (animator.GetBool("isAttacking") == false)
         {
             if (Mathf.Abs(distance) < 0.75f && animator.GetBool("isStanding") == true)
             {
                 feiLongPunches();
             }
             else
             {
                 punch();
             }
             character.AttackState();
         }
     }
     else if (character.GetComponent <Balrog> () != null)
     {
         if (CheckMotionSuperSequence() && animator.GetBool("isAirborne") == false && character.GetSuper >= 100f)
         {
             CharacterCompletesMotionSuper("Balrog", "GigatonPunch");
         }
         else if (chargeSystem.GetBackCharged() && !sharedProperties.GetBackPressed && animator.GetBool("isAirborne") == false && sharedProperties.GetForwardPressed)
         {
             BalrogCompletesDashRushes(punchStrength, punchType);
         }
         else if (chargeSystem.GetDownCharged() && !sharedProperties.GetDownPressed && animator.GetBool("isAirborne") == false && pressedUp)
         {
             BalrogCompletesHeadButt(punchStrength, punchType);
         }
         else if (animator.GetBool("isAttacking") == false)
         {
             punch();
             character.AttackState();
         }
     }
     else if (character.GetComponent <Akuma> () != null)
     {
         if (CheckHadoukenSequence() && projectileP1Parent.transform.childCount <= 0)
         {
             if (animator.GetBool("isAirborne") == true)
             {
                 AkumaCompletesAirHadouken(punchType);
             }
             else
             {
                 ShotoCompletesHadouken("Akuma", punchType);
             }
         }
         else if (CheckShoryukenSequence() && animator.GetBool("isAirborne") == false)
         {
             ShotoCompletesShoryuken("Akuma", punchStrength, punchType);
         }
         else if (animator.GetBool("hyakkishuActive") == true)
         {
             animator.SetInteger("hyakkishuAttackType", 1);
         }
         else if (animator.GetBool("isAttacking") == false)
         {
             punch();
             character.AttackState();
         }
     }
     else if (character.GetComponent <Sagat>() != null)
     {
         if (CheckMotionSuperSequence() && animator.GetBool("isAirborne") == false && character.GetSuper >= 100f)
         {
             CharacterCompletesMotionSuper("Sagat", "TigerCannon");
         }
         else if (CheckHadoukenSequence() && animator.GetBool("isAirborne") == false && projectileP1Parent.transform.childCount <= 0)
         {
             SagatCompletesUpperTigerShot(punchType);
         }
         else if (CheckShoryukenSequence() && animator.GetBool("isAirborne") == false)
         {
             SagatCompletesTigerUppercut(punchStrength, punchType);
         }
         else if (animator.GetBool("isAttacking") == false)
         {
             punch();
             character.AttackState();
         }
     }
     else if (character.GetComponent <MBison>() != null)
     {
         if (chargeSystem.GetBackCharged() && !sharedProperties.GetBackPressed && animator.GetBool("isAirborne") == false && sharedProperties.GetForwardPressed)
         {
             MBisonCompletesPsychoCrusher(punchType);
         }
         else if (chargeSystem.GetDownCharged() && !sharedProperties.GetDownPressed && animator.GetBool("isAirborne") == false && pressedUp)
         {
             MBisonCompletesDevilReverse();
         }
         else if (animator.GetBool("reverseActive") == true || animator.GetBool("devilReverseActive") == true)
         {
             animator.SetTrigger("somerSaultInputed");
         }
         else if (animator.GetBool("isAttacking") == false)
         {
             punch();
             character.AttackState();
         }
     }
 }
 void AttacksInput()
 {
     if (Input.GetKey(KeyCode.A) && Input.GetKey(KeyCode.Z))
     {
         if (animator.GetBool("isAttacking") == false && animator.GetBool("isAirborne") == false)
         {
             character.AttackState();
             animator.Play("ThrowStartup");
         }
     }
     else if (CheckShunGokuSatsuSequence() && character.GetComponent <Akuma>() != null && animator.GetBool("isAirborne") == false && character.GetSuper >= 100f)
     {
         Debug.Log("shun goku satsu inputed");
         character.AttackState();
         animator.Play("AkumaShunGokuSatsuStartup", 0);
         character.GetSuper = 0f;
         comboSystem.ResetShunGokuSatsuSequence();
     }
     else
     {
         if (Input.GetKeyDown(KeyCode.A))
         {
             attackStrength = character.CharacterJab;
             if (character.GetComponent <FeiLong>() != null)
             {
                 feiLongPunch = feiLong.FeiLongCloseJab;
             }
             PunchCommands(attackStrength, feiLongPunch, 0, "Jab");
         }
         if (Input.GetKeyDown(KeyCode.S))
         {
             attackStrength = character.CharacterStrong;
             if (character.GetComponent <FeiLong>() != null)
             {
                 feiLongPunch = feiLong.FeiLongCloseStrong;
             }
             PunchCommands(attackStrength, feiLongPunch, 1, "Strong");
         }
         if (Input.GetKeyDown(KeyCode.D))
         {
             attackStrength = character.CharacterFierce;
             if (character.GetComponent <FeiLong>() != null)
             {
                 feiLongPunch = feiLong.FeiLongCloseFierce;
             }
             PunchCommands(attackStrength, feiLongPunch, 2, "Fierce");
         }
         if (Input.GetKeyDown(KeyCode.Z))
         {
             attackStrength = character.CharacterShort;
             KickCommands(attackStrength, 0, "Short");
         }
         if (Input.GetKeyDown(KeyCode.X))
         {
             attackStrength = character.CharacterForward;
             KickCommands(attackStrength, 1, "Forward");
         }
         if (Input.GetKeyDown(KeyCode.C))
         {
             attackStrength = character.CharacterRoundhouse;
             KickCommands(attackStrength, 2, "Roundhouse");
         }
         if (Input.GetKey(KeyCode.F))
         {
             if (character.GetComponent <Balrog>() != null)
             {
                 chargeSystem.ChargeTurnPunch();
             }
         }
         if (Input.GetKeyUp(KeyCode.F))
         {
             if (character.GetComponent <Balrog>() != null)
             {
                 BalrogCompletesTurnPunch();
             }
         }
     }
 }