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(); } } }
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; } }