public void Behaviors() { decisionTimer--; antiAirTimer--; if (AIcontrols.FreeToMakeDecisions() && !TimeControl.inSuperStartup[0] && !TimeControl.inSuperStartup[1]) { if (animator.GetBool("isAirborne") == true && animator.GetBool("isLiftingOff") == false) { if (animator.GetBool("reverseActive") == true || animator.GetBool("devilReverseActive") == true) { SomerSaultDecisions(); } else { RegularDecisionTree(airAttackDecisions, 1, 1); } AIcontrols.AICharges(); character.SetBackPressed(true); } else if (character.GetKnockDown() == true) { AIcontrols.AICrouch(); AIcontrols.AICharges(); character.SetBackPressed(true); } else if (sharedProperties.GetAbDistanceFromOtherFighter() >= 2f) { RegularDecisionTree(regularFarRangeDecisions, 5, 2); } else if (sharedProperties.GetAbDistanceFromOtherFighter() >= 1f && sharedProperties.GetAbDistanceFromOtherFighter() < 2f) { if (player != null) { DecisionBranches(playerCharacter, regularMidRangeDecisions, regularMidRangeDecisions.Count); } else if (opponent != null) { DecisionBranches(opponentCharacter, regularMidRangeDecisions, regularMidRangeDecisions.Count); } } else { if (player != null) { DecisionBranches(playerCharacter, regularCloseRangeDecisions, regularCloseRangeDecisions.Count); } else if (opponent != null) { DecisionBranches(opponentCharacter, regularCloseRangeDecisions, regularCloseRangeDecisions.Count); } } AIcontrols.AIWalks(); } }
void RegularFarRangeDecisions() { DecisionMade(5, 1); if (decision <= 30) { AIcontrols.AIStand(); AIcontrols.AIPressedForward(); AIcontrols.DoesAIBlock(); } else if (decision <= 45 && decision > 30) { AIcontrols.AIPressedForward(); AIcontrols.AIJump(); character.SetBackPressed(false); } else if (decision <= 50 && decision > 45) { sharedProperties.CharacterNeutralState(); AIcontrols.AIJump(); character.SetBackPressed(false); } else if (decision <= 85 && decision > 50) { AIRekkaKuns(); sharedProperties.CharacterNeutralState(); AIcontrols.DoesAIBlock(); decisionTimer = 0f; } else if (decision <= 90 && decision > 85) { AIcontrols.AIStand(); sharedProperties.CharacterNeutralState(); AIcontrols.DoesAIBlock(); } else { AIcontrols.AICrouch(); sharedProperties.CharacterNeutralState(); AIcontrols.DoesAIBlock(); } }
void RegularCloseRangeDecisions() { DecisionMade(5, 4); if (decision <= 20) { AIcontrols.AICrouch(); sharedProperties.CharacterNeutralState(); character.SetBackPressed(true); } else if (decision <= 27) { AIcontrols.AILowForward(); sharedProperties.CharacterNeutralState(); AIcontrols.DoesAIBlock(); decisionTimer = 0f; } else if (decision <= 30) { AIcontrols.AISweep(); sharedProperties.CharacterNeutralState(); AIcontrols.DoesAIBlock(); decisionTimer = 0f; } else if (decision <= 33) { AIcontrols.AIShort(15); sharedProperties.CharacterNeutralState(); AIcontrols.DoesAIBlock(); decisionTimer = 0f; } else if (decision <= 43) { AIcontrols.AIStrong(50); sharedProperties.CharacterNeutralState(); AIcontrols.DoesAIBlock(); decisionTimer = 0f; } else if (decision <= 53) { AIcontrols.AIJab(2); sharedProperties.CharacterNeutralState(); AIcontrols.DoesAIBlock(); decisionTimer = 0f; } else if (decision <= 59) { if (character.GetSuper >= 100f) { AIShunGokuSatsus(); } else { AIcontrols.AIThrow(); } sharedProperties.CharacterNeutralState(); AIcontrols.DoesAIBlock(); decisionTimer = 0f; } else if (decision <= 64) { AIHadoukenLimitsWithAttack(AIcontrols.AILowForward); decisionTimer = 0f; } else if (decision <= 69) { AIcontrols.AIPressedForward(); character.SetBackPressed(false); } else if (decision <= 73) { AIcontrols.AIPressedForward(); AIcontrols.AIJump(); character.SetBackPressed(false); decisionTimer = 0f; } else if (decision <= 79) { sharedProperties.CharacterNeutralState(); AIcontrols.AIJump(); AIcontrols.DoesAIBlock(); decisionTimer = 0f; } else if (decision <= 82) { AIcontrols.AIPressedBackward(); character.SetBackPressed(true); } else if (decision <= 87 && !animator.GetBool("isAttacking")) { AIJabShoryuken(); sharedProperties.CharacterNeutralState(); AIcontrols.DoesAIBlock(); decisionTimer = 0f; } else { AIHyakkishus(0, 2); sharedProperties.CharacterNeutralState(); AIcontrols.DoesAIBlock(); decisionTimer = 0f; } }
void RegularCloseRangeDecisions() { DecisionMade(5, 3); if (decision <= 25) { AIcontrols.AICrouch(); sharedProperties.CharacterNeutralState(); character.SetBackPressed(true); } else if (decision <= 30 && !animator.GetBool("isAttacking")) { AIHurricaneKicks(); sharedProperties.CharacterNeutralState(); AIcontrols.DoesAIBlock(); decisionTimer = 0f; } else if (decision <= 36) { AIcontrols.AILowForward(); sharedProperties.CharacterNeutralState(); AIcontrols.DoesAIBlock(); decisionTimer = 0f; } else if (decision <= 41) { AIcontrols.AIStrong(10); sharedProperties.CharacterNeutralState(); AIcontrols.DoesAIBlock(); decisionTimer = 0f; } else if (decision <= 46) { AIcontrols.AIJab(2); sharedProperties.CharacterNeutralState(); AIcontrols.DoesAIBlock(); decisionTimer = 0f; } else if (decision <= 52) { if (character.GetSuper >= 100f) { AIShinryukens(); } else { AIcontrols.AIShort(10); } sharedProperties.CharacterNeutralState(); AIcontrols.DoesAIBlock(); decisionTimer = 0f; } else if (decision <= 62 && !animator.GetBool("isAttacking")) { AIJabShoryuken(); sharedProperties.CharacterNeutralState(); AIcontrols.DoesAIBlock(); decisionTimer = 0f; } else if (decision <= 66) { AIcontrols.AIThrow(); sharedProperties.CharacterNeutralState(); AIcontrols.DoesAIBlock(); decisionTimer = 0f; } else if (decision <= 71) { if (playerController != null) { if (playerController.GetProjectileP1Parent().transform.childCount <= 0 && !animator.GetBool("isAttacking")) { AIHadoukens(); sharedProperties.CharacterNeutralState(); AIcontrols.DoesAIBlock(); decisionTimer = 0f; } else { AIcontrols.AIShort(10); sharedProperties.CharacterNeutralState(); AIcontrols.DoesAIBlock(); decisionTimer = 0f; } } else if (opponentController != null) { if (opponentController.GetProjectileP2Parent().transform.childCount <= 0 && !animator.GetBool("isAttacking")) { AIHadoukens(); sharedProperties.CharacterNeutralState(); AIcontrols.DoesAIBlock(); decisionTimer = 0f; } else { AIcontrols.AIShort(10); sharedProperties.CharacterNeutralState(); AIcontrols.DoesAIBlock(); decisionTimer = 0f; } } } else if (decision <= 81) { AIcontrols.AIPressedForward(); character.SetBackPressed(false); } else if (decision <= 88) { AIcontrols.AIPressedForward(); AIcontrols.AIJump(); character.SetBackPressed(false); decisionTimer = 0f; } else if (decision <= 90) { sharedProperties.CharacterNeutralState(); AIcontrols.AIJump(); AIcontrols.DoesAIBlock(); } else { AIcontrols.AIPressedBackward(); character.SetBackPressed(true); } }
void RegularFarRangeDecisions() { DecisionMade(5, 1); if (decision <= 10) { AIcontrols.AIPressedForward(); character.SetBackPressed(false); } else if (decision <= 15 && decision > 10) { AIcontrols.AIPressedBackward(); character.SetBackPressed(true); } else if (decision <= 25 && decision > 15) { AITigerKnees(); sharedProperties.CharacterNeutralState(); AIcontrols.DoesAIBlock(); decisionTimer = 0f; } else if (decision <= 45 && decision > 25) { if (playerController != null) { if (playerController.GetProjectileP1Parent().transform.childCount <= 0) { AITigerShots("Upper", 6); AIcontrols.DoesAIBlock(); sharedProperties.CharacterNeutralState(); decisionTimer = 0f; } else { AIcontrols.AIJab(2); sharedProperties.CharacterNeutralState(); AIcontrols.DoesAIBlock(); } } else if (opponentController != null) { if (opponentController.GetProjectileP2Parent().transform.childCount <= 0) { AITigerShots("Upper", 6); AIcontrols.DoesAIBlock(); sharedProperties.CharacterNeutralState(); decisionTimer = 0f; } else { AIcontrols.AIJab(2); sharedProperties.CharacterNeutralState(); AIcontrols.DoesAIBlock(); } } } else { if (playerController != null) { if (playerController.GetProjectileP1Parent().transform.childCount <= 0) { AITigerShots("Lower", 10); AIcontrols.DoesAIBlock(); sharedProperties.CharacterNeutralState(); decisionTimer = 0f; } else { AIcontrols.AICrouch(); AIcontrols.AIPressedBackward(); character.SetBackPressed(true); } } else if (opponentController != null) { if (opponentController.GetProjectileP2Parent().transform.childCount <= 0) { AITigerShots("Lower", 10); AIcontrols.DoesAIBlock(); sharedProperties.CharacterNeutralState(); decisionTimer = 0f; } else { AIcontrols.AICrouch(); AIcontrols.AIPressedBackward(); character.SetBackPressed(true); } } } }
public void Behaviors() { decisionTimer--; antiAirTimer--; if (AIcontrols.FreeToMakeDecisions() && !TimeControl.inSuperStartup[0] && !TimeControl.inSuperStartup[1]) { if (animator.GetBool("isAirborne") == true && animator.GetBool("isLiftingOff") == false) { decision = Random.Range(0, 100); if (decision <= 1) { AIcontrols.AIJumpFierce(); } else if (decision <= 6 && decision > 1) { AIcontrols.AIJumpRoundhouse(); } AIcontrols.AICharges(); character.SetBackPressed(true); } else if (character.GetKnockDown() == true) { AIcontrols.AICrouch(); AIcontrols.AICharges(); character.SetBackPressed(true); } else if (sharedProperties.GetAbDistanceFromOtherFighter() >= 2f) { if (player != null) { if (playerCharacter.GetKnockDown() == true && playerCharacter.GetAirborne() == false) { KnockDownFromFarDecisions(); } else if (playerCharacter.GetComponent <Ken>() != null || playerCharacter.GetComponent <Sagat>() != null) { DecisionMade(5, 1); VsKenFromDistanceDecisions(); } else { RegularFarRangeDecisions(); } } else if (opponent != null) { if (opponentCharacter.GetKnockDown() == true && opponentCharacter.GetAirborne() == false) { KnockDownFromFarDecisions(); } else if (opponentCharacter.GetComponent <Ken>() != null || opponentCharacter.GetComponent <Sagat>() != null) { DecisionMade(5, 1); VsKenFromDistanceDecisions(); } else { RegularFarRangeDecisions(); } } } else if (sharedProperties.GetAbDistanceFromOtherFighter() >= 1f && sharedProperties.GetAbDistanceFromOtherFighter() < 2f) { if (player != null) { if (playerCharacter.GetKnockDown() == true && playerCharacter.GetAirborne() == false) { KnockDownFromMidRangeDecisions(); } else { RegularMidRangeDecisions(); } } else if (opponent != null) { if (opponentCharacter.GetKnockDown() == true && opponentCharacter.GetAirborne() == false) { KnockDownFromMidRangeDecisions(); } else { RegularMidRangeDecisions(); } } } else { if (player != null) { if (playerCharacter.GetBlockStunned() == true) { OtherFighterBlockedDecisions(); } else if (playerCharacter.GetHitStunned() == true) { OtherFighterGotHitDecisions(); } else if (playerCharacter.GetKnockDown() == true && playerCharacter.GetAirborne() == false) { KnockDownFromCloseRangeDecisions(); } else if (playerCharacter.GetAirborne() == true && playerCharacter.GetKnockDown() == false && playerCharacter.GetThrown() == false) { if (antiAirTimer <= 0f) { sharedProperties.AIAntiAirDecision(60, RegularCloseRangeDecisions, PreparationForAntiAir); antiAirTimer = antiAirTimerInput; } else { RegularCloseRangeDecisions(); } } else { RegularCloseRangeDecisions(); } } else if (opponent != null) { if (opponentCharacter.GetBlockStunned() == true) { OtherFighterBlockedDecisions(); } else if (opponentCharacter.GetHitStunned() == true) { OtherFighterGotHitDecisions(); } else if (opponentCharacter.GetKnockDown() == true && opponentCharacter.GetAirborne() == false) { KnockDownFromCloseRangeDecisions(); } else if (opponentCharacter.GetAirborne() == true && opponentCharacter.GetKnockDown() == false && opponentCharacter.GetThrown() == false) { if (antiAirTimer <= 0f) { sharedProperties.AIAntiAirDecision(60, RegularCloseRangeDecisions, PreparationForAntiAir); antiAirTimer = antiAirTimerInput; } else { RegularCloseRangeDecisions(); } } else { RegularCloseRangeDecisions(); } } } AIcontrols.AIWalks(); } }