private IEnumerator ApplyNegativeEffect()
    {
        // todo save this value for long term
        AcceptedNegativeDealsCount++;

        SinisterFlashes.SinisterFlashingImage.gameObject.SetActive(true);
        SinisterFlashes.SinisterFlashingImage.DOFade(maxFlashAlphaValue, lengthOfFlash / 2);
        yield return(new WaitForSeconds(lengthOfFlash / 2));

        if (AcceptedNegativeDealsCount % 2 == 0)
        {
            // todo save stageNumber for long term
            stageNumber++;
            FaceManager.ChangeFace(stageNumber);
        }

        chosenNegativeDevilDeal.ApplyDevilDeal();

        SinisterFlashes.SinisterFlashingImage.DOFade(0, lengthOfFlash / 2);
        yield return(new WaitForSeconds(lengthOfFlash / 2));

        SinisterFlashes.SinisterFlashingImage.gameObject.SetActive(false);

        if (AcceptedNegativeDealsCount >= devilDeals.Count)
        {
            LastDevilDeal = true;
        }
    }
 private void ActivateDevilDeals()
 {
     for (int i = 0; i < AcceptedNegativeDealsCount; i++)
     {
         chosenNegativeDevilDeal = devilDeals[i];
         chosenNegativeDevilDeal.ApplyDevilDeal();
     }
 }