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