//REFACTOR ACTIONS public void HandleOverreact() { isNeverOverreact = 0; PlayerPrefs.SetInt("noOverreact", isNeverOverreact); //Player overreacted checks cooldown from the action if (overreactAction.Overreact()) { // if attacked the player can receive points based on time if (playerState == PlayerState.HIT && lastMonsterAttacked != null) { int points = (int)((AttackedDuration - overreactTimestamp) * 100); //Debug.Log("Overreact points:" + -points + " Attack dur: " + AttackedDuration + " - timestamp: " + overreactTimestamp); //@@HARDCODED // perfect overreact if (points > 75) { WwiseInterface.Instance.PlayKnightCombatVoiceSound(KnightCombatVoiceHandle.OverreactPerfect, this.gameObject); if (OverreactGreatParticle != null) { OverreactGreatParticle.SetActive(false); OverreactGreatParticle.SetActive(true); } } // ok overreact else { WwiseInterface.Instance.PlayKnightCombatVoiceSound(KnightCombatVoiceHandle.OverreactGreat, this.gameObject); if (OverreactOkParticle != null) { OverreactOkParticle.SetActive(false); OverreactOkParticle.SetActive(true); } } OverHit = true; pb.AddRepScore(-points); Debug.Log("Overreact points:" + -points); //pb.Invoke(); //change player state to IDLE after overreacting playerState = PlayerState.IDLE; } //if overreacts without reason else { WwiseInterface.Instance.PlayKnightCombatVoiceSound(KnightCombatVoiceHandle.OverreactOk, this.gameObject); if (GameDialogUI != null && countTime > globalCooldown) { if (poorlyOverreact == 1) { globalCooldown += 30; GameDialogUI.StartCoroutine("WrongOverreact"); poorlyOverreact = 0; PlayerPrefs.SetInt("poorlyOverreact", poorlyOverreact); } } //ASK JONAHTAN 0 POINTS IF OUT OF ATTACKED TIME FRAME Debug.Log("Overreact points: 0"); pb.ChangeRepScore(0); pb.Invoke(); } } }