Ejemplo n.º 1
0
 void RegularDecisionTree(List <string> decisionBox, int minDiv, int maxDiv)
 {
     DecisionMade(minDiv, maxDiv);
     if (decisionBox[decision] == "WalkForward" && !animator.GetBool("isAttacking"))
     {
         AIcontrols.AIStand();
         AIcontrols.AIPressedForward();
         character.SetBackPressed(false);
     }
     else if (decisionBox[decision] == "WalkBackward")
     {
         AIcontrols.AIStand();
         AIcontrols.AIPressedBackward();
         character.SetBackPressed(true);
     }
     else if (decisionBox[decision] == "Crouch")
     {
         AIcontrols.AICrouch();
         AIcontrols.AICharges();
         character.SetBackPressed(true);
     }
     else if (decisionBox[decision] == "NeutralJump" && !animator.GetBool("isAttacking"))
     {
         sharedProperties.CharacterNeutralState();
         AIcontrols.AIJump();
         character.SetBackPressed(false);
         decisionTimer = 0f;
     }
     else if (decisionBox[decision] == "ForwardJump" && !animator.GetBool("isAttacking"))
     {
         AIcontrols.AIPressedForward();
         AIcontrols.AIJump();
         character.SetBackPressed(false);
         decisionTimer = 0f;
     }
     else if (decisionBox[decision] == "Roundhouse")
     {
         AIcontrols.AIRoundhouse(2, 0);
         AIcontrols.AICharges();
         character.SetBackPressed(true);
         decisionTimer = 0f;
     }
     else if (decisionBox[decision] == "Fierce")
     {
         AIcontrols.AIFierce(2, 0);
         AIcontrols.AICharges();
         character.SetBackPressed(true);
         decisionTimer = 0f;
     }
     else if (decisionBox[decision] == "Forward")
     {
         AIcontrols.AIForward(2);
         AIcontrols.AICharges();
         character.SetBackPressed(true);
         decisionTimer = 0f;
     }
     else if (decisionBox[decision] == "Strong")
     {
         AIcontrols.AIStrong(10);
         AIcontrols.AICharges();
         character.SetBackPressed(true);
         decisionTimer = 0f;
     }
     else if (decisionBox[decision] == "Short")
     {
         AIcontrols.AIShort(40);
         AIcontrols.AICharges();
         character.SetBackPressed(true);
         decisionTimer = 0f;
     }
     else if (decisionBox[decision] == "Jab")
     {
         AIcontrols.AIJab(50);
         AIcontrols.AICharges();
         character.SetBackPressed(true);
         decisionTimer = 0f;
     }
     else if (decisionBox[decision] == "LowForward")
     {
         AIcontrols.AILowForward();
         AIcontrols.AICharges();
         character.SetBackPressed(true);
         decisionTimer = 0f;
     }
     else if (decisionBox[decision] == "Sweep")
     {
         AIcontrols.AISweep();
         AIcontrols.AICharges();
         character.SetBackPressed(true);
         decisionTimer = 0f;
     }
     else if (decisionBox[decision] == "ScissorKick")
     {
         if (chargeSystem.GetBackCharged() && !animator.GetBool("isAttacking"))
         {
             AIScissorKicks();
             AIcontrols.AICharges();
             character.SetBackPressed(true);
         }
         else
         {
             AIcontrols.AIForward(2);
             AIcontrols.AICharges();
             character.SetBackPressed(true);
         }
         decisionTimer = 0f;
     }
     else if (decisionBox[decision] == "PsychoCrusher")
     {
         if (chargeSystem.GetDownCharged() && !animator.GetBool("isAttacking"))
         {
             AIPsychoCrushers();
             AIcontrols.AICharges();
             character.SetBackPressed(true);
         }
         else
         {
             AILightAttacks(50, 1);
             AIcontrols.AICharges();
             character.SetBackPressed(true);
         }
         decisionTimer = 0f;
     }
     else if (decisionBox[decision] == "HeadStomp")
     {
         if (chargeSystem.GetDownCharged() && !animator.GetBool("isAttacking"))
         {
             AIHeadStomps();
             AIcontrols.AICharges();
             character.SetBackPressed(true);
         }
         else
         {
             AILightAttacks(50, 1);
             AIcontrols.AICharges();
             character.SetBackPressed(true);
         }
         decisionTimer = 0f;
     }
     else if (decisionBox[decision] == "DevilsReverse")
     {
         if (chargeSystem.GetDownCharged() && !animator.GetBool("isAttacking"))
         {
             AIDevilsReverses();
             AIcontrols.AICharges();
             character.SetBackPressed(true);
         }
         else
         {
             AILightAttacks(50, 0);
             AIcontrols.AICharges();
             character.SetBackPressed(true);
         }
         decisionTimer = 0f;
     }
     else if (decisionBox[decision] == "SpecialCancelScissorKick")
     {
         if (chargeSystem.GetBackCharged())
         {
             AIScissorKicks();
             AIcontrols.AICharges();
             character.SetBackPressed(true);
         }
         else
         {
             AIcontrols.AIForward(2);
             AIcontrols.AICharges();
             character.SetBackPressed(true);
         }
         decisionTimer = 0f;
     }
     else if (decisionBox[decision] == "SpecialCancelPsychoCrusher")
     {
         if (chargeSystem.GetBackCharged())
         {
             AIPsychoCrushers();
             AIcontrols.AICharges();
             character.SetBackPressed(true);
         }
         else
         {
             AILightAttacks(50, 1);
             AIcontrols.AICharges();
             character.SetBackPressed(true);
         }
         decisionTimer = 0f;
     }
     else if (decisionBox[decision] == "SpecialCancelHeadStomp")
     {
         if (chargeSystem.GetDownCharged())
         {
             AIHeadStomps();
             AIcontrols.AICharges();
             character.SetBackPressed(true);
         }
         else
         {
             AILightAttacks(50, 1);
             AIcontrols.AICharges();
             character.SetBackPressed(true);
         }
         decisionTimer = 0f;
     }
     else if (decisionBox[decision] == "SpecialCancelDevilsReverse")
     {
         if (chargeSystem.GetDownCharged())
         {
             AIDevilsReverses();
             AIcontrols.AICharges();
             character.SetBackPressed(true);
         }
         else
         {
             AILightAttacks(50, 0);
             AIcontrols.AICharges();
             character.SetBackPressed(true);
         }
         decisionTimer = 0f;
     }
     else if (decisionBox[decision] == "Super")
     {
         if (character.GetSuper >= 100f)
         {
             AIKneePressNightmares();
             AIcontrols.AICharges();
             character.SetBackPressed(true);
         }
         else
         {
             AIcontrols.AICrouch();
             AIcontrols.AICharges();
             character.SetBackPressed(true);
         }
     }
     else if (decisionBox[decision] == "SuperOnBlock")
     {
         if (character.GetSuper >= 100f)
         {
             AIKneePressNightmares();
             AIcontrols.AICharges();
             character.SetBackPressed(true);
         }
         else
         {
             AIcontrols.AIForward(3);
             AIcontrols.AICharges();
             character.SetBackPressed(true);
         }
     }
     else if (decisionBox[decision] == "SuperOnHit")
     {
         if (character.GetSuper >= 100f)
         {
             AIKneePressNightmares();
             AIcontrols.AICharges();
             character.SetBackPressed(true);
         }
         else
         {
             AIcontrols.AIForward(10);
             AIcontrols.AICharges();
             character.SetBackPressed(true);
         }
     }
     else if (decisionBox[decision] == "Throw")
     {
         AIcontrols.AIThrow();
         AIcontrols.AICharges();
         character.SetBackPressed(true);
     }
     else if (decisionBox[decision] == "AirStrong")
     {
         AIcontrols.AIJumpStrong();
         AIcontrols.AICharges();
         character.SetBackPressed(true);
     }
     else if (decisionBox[decision] == "AirForward")
     {
         AIcontrols.AIJumpForwardAttack();
         AIcontrols.AICharges();
         character.SetBackPressed(true);
     }
     else if (decisionBox[decision] == "AirFierce")
     {
         AIcontrols.AIJumpFierce();
         AIcontrols.AICharges();
         character.SetBackPressed(true);
     }
     else if (decisionBox[decision] == "AirRoundhouse")
     {
         AIcontrols.AIJumpRoundhouse();
         AIcontrols.AICharges();
         character.SetBackPressed(true);
     }
 }
 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();
         }
     }
 }
Ejemplo n.º 3
0
 void RegularCloseRangeDecisions()
 {
     DecisionMade(5, 3);
     if (decision <= 10)
     {
         AIcontrols.AIStand();
         AIcontrols.AIPressedForward();
         character.SetBackPressed(false);
     }
     else if (decision <= 13 && decision > 10)
     {
         AIcontrols.AIPressedForward();
         AIcontrols.AIJump();
         character.SetBackPressed(false);
     }
     else if (decision <= 50 && decision > 13)
     {
         AIcontrols.AICrouch();
         AIcontrols.AICharges();
         character.SetBackPressed(true);
     }
     else if (decision <= 60 && decision > 50)
     {
         if (chargeSystem.GetBackCharged() && !animator.GetBool("isAttacking"))
         {
             AIKickRushesShortOrForward();
             AIcontrols.AICharges();
             character.SetBackPressed(true);
         }
         else
         {
             int strongVsForward = Random.Range(0, 3);
             if (strongVsForward == 0)
             {
                 AIcontrols.AILowForward();
             }
             else
             {
                 AIcontrols.AIStrong(20);
             }
             AIcontrols.AICharges();
             character.SetBackPressed(true);
             decisionTimer = 0f;
         }
     }
     else if (decision <= 75 && decision > 60)
     {
         if (chargeSystem.GetBackCharged() && !animator.GetBool("isAttacking"))
         {
             AIDashLowJabOrStrong();
             AIcontrols.AICharges();
             character.SetBackPressed(true);
         }
         else
         {
             int jabVsStrong = Random.Range(0, 5);
             if (jabVsStrong == 0)
             {
                 AIcontrols.AIStrong(20);
             }
             else
             {
                 AIcontrols.AIJab(10);
             }
             AIcontrols.AICharges();
             character.SetBackPressed(true);
             decisionTimer = 0f;
         }
     }
     else if (decision <= 80 && decision > 75)
     {
         if (character.GetSuper >= 100f)
         {
             AIGigatonPunches();
             AIcontrols.AICharges();
             character.SetBackPressed(true);
         }
         else if (chargeSystem.GetDownCharged() && !animator.GetBool("isAttacking"))
         {
             AIHeadButt();
             AIcontrols.AICharges();
             character.SetBackPressed(true);
         }
         else
         {
             AIcontrols.AIShort(2);
             AIcontrols.AICharges();
             character.SetBackPressed(true);
         }
     }
     else if (decision <= 83 && decision > 80)
     {
         AIcontrols.AIJab(20);
         AIcontrols.AICharges();
         character.SetBackPressed(true);
         decisionTimer = 0f;
     }
     else if (decision <= 86 && decision > 83)
     {
         AIcontrols.AIStrong(20);
         AIcontrols.AICharges();
         character.SetBackPressed(true);
         decisionTimer = 0f;
     }
     else if (decision <= 89 && decision > 86)
     {
         AIcontrols.AISweep();
         AIcontrols.AICharges();
         character.SetBackPressed(true);
         decisionTimer = 0f;
     }
     else if (decision <= 95 && decision > 89)
     {
         AIcontrols.AIThrow();
         AIcontrols.AICharges();
         character.SetBackPressed(true);
     }
     else
     {
         AITurnPunches();
         AIcontrols.AICharges();
         character.SetBackPressed(true);
         decisionTimer = 0f;
     }
 }