IEnumerator UpdateDecision()
    {
        // wait after decision was made to make a new decision
        yield return(new WaitForSeconds(updateDecisionDelay));

        decisionMade = false;
        if (!dead && started)
        {
            forwardTicker = forwardTimer;
            decision      = 0;
            if (decisionScr.choice1.GetComponent <ChoiceScript>().description == "PowerUp")
            {
                powerUp.ActivatePowerUp();
            }
            if (decisionsAlive == 0)
            {
                GameObject _newDecision = GetDecisionWithProb();
                if (_newDecision == lastDecision)
                {
                    //Debug.Log("That decision just happened! Try again!");
                    _newDecision = GetDecisionWithProb();
                }
                decisionScr = Instantiate(_newDecision.GetComponent <DecisionScript>());
                decisionsAlive++;
                lastDecision = _newDecision;
            }
        }
    }
 void Start()
 {
     // init length of how many times you've made certain choices
     choiceCounts = new int[choices.Length];
     // move lever
     lever.eulerAngles = new Vector3(lever.transform.eulerAngles.x, lever.transform.eulerAngles.y, defaultState);
     // Start with a decision
     decisionScr = Instantiate(decisions[Random.Range(0, decisions.Length)]).GetComponent <DecisionScript>();
     decisionsAlive++;
     // init ticker
     forwardTicker = forwardTimer;
     timerText     = GameObject.Find("Timer").GetComponent <Text>();
     powerUp       = this.gameObject.GetComponent <PowerUp>();
     StartCoroutine("InitStart");
 }