private static List<string> ApplyResultOfElevenCriticalFailureEffect(Character _affectedCharacter)
        {
            List<string> result = new List<string>();
            result.Add(_affectedCharacter.Name + " trébuche et tombe au sol! (11)");
            result.Add(_affectedCharacter.Name + " doit prendre son prochain tour pour se relever...");
            //TODO: status effect on character: skip a turn be "stunned"

            return result;
        }
        private static List<string> ApplyResultOfArmourRollsCriticalFailureEffect(Character _affectedCharacter, string _objectHit)
        {
            List<string> result = new List<string>();
            result.Add(_affectedCharacter.Name + " frappe " + _objectHit + "... est-ce que son arme va casser? (6/20)");

            //Just need to add weapon string list from break test

            return result;
        }
        public static List<string> ApplyRandomCriticalFailureEffect(Character _affectedCharacter)
        {
            switch (DiceRollsManager.RollDie(20))
            {
                case 1:
                case 2:
                case 3:
                    return ApplyResultOfOneTwoThreeCriticalFailureEffect(_affectedCharacter);

                case 4:
                case 14:
                    return ApplyResultOfArmourRollsCriticalFailureEffect(_affectedCharacter, "le sol");

                case 5:
                    return ApplyResultOfFiveCriticalFailureEffect(_affectedCharacter);

                case 6:
                case 16:
                    return ApplyResultOfArmourRollsCriticalFailureEffect(_affectedCharacter, "l'armure de son adversaire");

                case 7:
                    return ApplyResultOfSevenCriticalFailureEffect(_affectedCharacter);

                case 8:
                case 18:
                    return ApplyResultOfArmourRollsCriticalFailureEffect(_affectedCharacter, "le mur");

                case 9:
                    return ApplyResultOfNineCriticalFailureEffect(_affectedCharacter);

                case 10:
                    return ApplyResultOfTenCriticalFailureEffect(_affectedCharacter);

                case 11:
                    return ApplyResultOfElevenCriticalFailureEffect(_affectedCharacter);

                case 12:
                    return ApplyResultOfTwelveCriticalFailureEffect(_affectedCharacter);

                case 13:
                    return ApplyResultOfThirteenCriticalFailureEffect(_affectedCharacter);

                case 15:
                    return ApplyResultOfFithteenCriticalFailureEffect(_affectedCharacter);

                case 17:
                    return ApplyResultOfSeventeenCriticalFailureEffect(_affectedCharacter);

                case 19:
                    return ApplyResultOfNineteenCriticalFailureEffect(_affectedCharacter);

                default: //case 20:
                    return ApplyResultOfTwentyCriticalFailureEffect(_affectedCharacter);

            }
        }
        private static List<string> ApplyResultOfFithteenCriticalFailureEffect(Character _affectedCharacter)
        {
            List<string> result = new List<string>();
            result.Add(_affectedCharacter.Name + " se frappe maladroitement un pied! (15)");
            result.Add(_affectedCharacter.Name + " s'inflige XYZ dégâts au pied gauche");
            //TODO: roll for damage on XYZ piece of body (possibly ignoring armor)
            //TODO: figure out which to attack

            return result;
        }
        private static List<string> ApplyResultOfTwentyCriticalFailureEffect(Character _affectedCharacter)
        {
            List<string> result = new List<string>();
            result.Add(_affectedCharacter.Name + " se blesse gravement à une jambe et perd 4 de vitesse en plus de s'y infliger 1d4 points de dégâts. (20)");
            //TODO: status effect on character: perma speed reduction  (+damage)

            return result;
        }
        private static List<string> ApplyResultOfTwelveCriticalFailureEffect(Character _affectedCharacter)
        {
            List<string> result = new List<string>();
            result.Add("L'arme de " + _affectedCharacter.Name + " glisse de sa main et vole jusqu'à" + (DiceRollsManager.RollDie(6) + 1) + " mètres de distance! (12)");
            result.Add(_affectedCharacter.Name + " est désarmé...");
            //TODO: status effect on character: remove a weapon

            return result;
        }
        private static List<string> ApplyResultOfThirteenCriticalFailureEffect(Character _affectedCharacter)
        {
            List<string> result = new List<string>();
            result.Add(_affectedCharacter.Name + " s'étire un muscle dans son élan, il perd " + DiceRollsManager.RollDie(4) + " de dextérité pendant " + DiceRollsManager.RollDie(4) + " tours en plus de rater l'attaque. (13)");
            //TODO: status effect on character: minus dex for a limited time

            return result;
        }
 public void AddCharacter(Character _newCharacter)
 {
     characters.Add(_newCharacter);
 }
        private static List<string> ApplyResultOfSeventeenCriticalFailureEffect(Character _affectedCharacter)
        {
            List<string> result = new List<string>();
            result.Add(_affectedCharacter.Name + " se casse maladroitement une jambe et perd 50% de sa vitesse de base ainsi que 25% en dextérité jusqu'à ce que la cassure soit réparée. (17)");
            //TODO: status effect on character: perma speed and dex reduction

            return result;
        }
        private static List<string> ApplyResultOfSevenCriticalFailureEffect(Character _affectedCharacter)
        {
            List<string> result = new List<string>();
            result.Add(_affectedCharacter.Name + " frappe la personne à sa gauche! (7)");
            //TODO: make damage roll against person to the left

            return result;
        }
 private static List<string> ApplyResultOfOneTwoThreeCriticalFailureEffect(Character _affectedCharacter)
 {
     List<string> result = new List<string>();
     result.Add(_affectedCharacter.Name + " ne fait que rater... (1 à 3)");
     return result;
 }
        private static List<string> ApplyResultOfNineteenCriticalFailureEffect(Character _affectedCharacter)
        {
            List<string> result = new List<string>();
            result.Add(_affectedCharacter.Name + " se blesse gravement au bras et perd 2 de Force en plus de s'y infliger 1d4 points de dégâts. (19)");
            //TODO: status effect on character: perma strenght reduction (+damage)

            return result;
        }
        private static List<string> ApplyResultOfNineCriticalFailureEffect(Character _affectedCharacter)
        {
            List<string> result = new List<string>();
            result.Add(_affectedCharacter.Name + " frappe la personne à sa droite! (9)");
            //TODO: make damage roll against person to the right

            return result;
        }
 public int GetCharacterStat(int _indexOfCharacter, Character.CharacterAttributes _attribute)
 {
     return characters.ElementAt(_indexOfCharacter).GetAttribute(_attribute);
 }
        private static List<string> ApplyResultOfTenCriticalFailureEffect(Character _affectedCharacter)
        {
            List<string> result = new List<string>();
            result.Add(_affectedCharacter.Name + " échappe son arme! (10)");
            result.Add(_affectedCharacter.Name + " doit prendre son prochain tour pour la ramasser et ne peut pas bloquer entre-temps!");
            //TODO: status effect on character: skip a turn and drop weapon

            return result;
        }
        private static List<string> ApplyResultOfFiveCriticalFailureEffect(Character _affectedCharacter)
        {
            List<string> result = new List<string>();
            result.Add(_affectedCharacter.Name + " manque d'échapper son arme! (5)");
            result.Add(_affectedCharacter.Name + " doit prendre son prochain tour pour rafermir sa prise sur celle-ci...");
            //TODO: status effect on character: skip a turn

            return result;
        }
        public int MakeCheckRoll(int _indexOfCharacter, Character.CharacterAttributes _attribute)
        {
            int rollResult = DiceRollsManager.RollDie(20);

            int checkResult = characters[_indexOfCharacter].GetAttributeModifier(_attribute) + rollResult;

            return checkResult;
        }