/// <summary>
    /// Creates the fachkenntnisse für einen  Beruf.
    /// </summary>
    /// <returns>The fachkenntnisse beruf.</returns>
    /// <param name="fachKenntnisseBeruf">Fach kenntnisse beruf.</param>
    private List <FachkenntnisRef> CreateFachkenntnisseBeruf(List <Beruf> fachKenntnisseBeruf)
    {
        List <FachkenntnisRef> listFachKenntnisse = new List <FachkenntnisRef> ();

        foreach (var item in fachKenntnisseBeruf)
        {
            FachkenntnisRef fRef = new FachkenntnisRef();
            fRef.id   = item.id;
            fRef.val  = item.val;
            fRef.cost = Convert.ToInt32(item.kategorie);
            listFachKenntnisse.Add(fRef);
        }
        return(listFachKenntnisse);
    }
    /// <summary>
    /// Modifies the lern plan for race.
    /// Verweis: Midgard, DFR, S.38
    ///  Elf: Fachkenntnisse zu entfernen:
    ///     Ballista, id=5
    ///     Bogenkampf Pferd, id=10
    ///     Fechten, id=19
    ///     Gassenwissen, id=21
    ///     Geschäftstüchtig, id=26
    ///     Giftmischer, id=27
    ///     Glücksspiel, id=28
    ///     Kampf in Voll, id=33
    ///     Katapult bed., id=37
    ///     Meucheln, id=46
    ///     Schlösser, id=62
    ///     Stehlen, id=72
    ///     Trinken, id=82
    ///     Überleben außer Wald, id= 84,85
    ///
    ///     Hinzufügen für 1 LP -> müssen daher auch erst entfernt werden
    ///     Schleichen, id=60
    ///     Spurenlesen, id=71
    ///     Tarnen, id=78
    ///     Wahrnehmung, id=91
    ///
    ///
    ///     Überlebensfertigkeiten bei Elfen darf nur Wald sein, muss daher passend getauscht werden
    /// </summary>
    public void ModifyFachKenntnisseForRace()
    {
        MidgardCharakter mCharacter = mCharacterHelper.mCharacter;

        if (mCharacter.Spezies == Races.Elf)
        {
            int[] deleteFachFromLernplan = { 5, 10, 19, 21, 26, 27, 28, 33, 37, 46, 62, 72, 82, 84, 85 }; //s.o.
            int[] addFachFromLernplan    = { 60, 71, 78, 91 };                                            //s.o.

            //Lösche die Fertigkeiten vom Plan auch diejenigen, die neu hinzu sollen
            DeleteFachkenntnisFromLernPlan(deleteFachFromLernplan);
            DeleteFachkenntnisFromLernPlan(addFachFromLernplan);

            //Erzeuge Lernplan-Elemente
            FachkenntnisRef fachSchleichen = new FachkenntnisRef();
            FachkenntnisRef fachSpuren     = new FachkenntnisRef();
            FachkenntnisRef fachTarnen     = new FachkenntnisRef();
            FachkenntnisRef fachWahrnehumg = new FachkenntnisRef();

            SetFertigkeitValues(fachSchleichen, 60, "8", 1);
            SetFertigkeitValues(fachSpuren, 71, "6", 1);
            SetFertigkeitValues(fachTarnen, 78, "8", 1);
            SetFertigkeitValues(fachWahrnehumg, 91, "4", 1);

            lernPlan.fachkenntnisse.Add(fachSchleichen);
            lernPlan.fachkenntnisse.Add(fachSpuren);
            lernPlan.fachkenntnisse.Add(fachTarnen);
            lernPlan.fachkenntnisse.Add(fachWahrnehumg);
        }
        else if (mCharacter.Spezies == Races.Halbling)
        {
            int[] deleteFachFromLernplan = { 83, 84, 85 };
            int[] addFachFromLernplan    = { 60, 78 };          //s.o.

            DeleteFachkenntnisFromLernPlan(deleteFachFromLernplan);
            DeleteFachkenntnisFromLernPlan(addFachFromLernplan);

            //Erzeuge Lernplan-Elemente
            FachkenntnisRef fachSchleichen = new FachkenntnisRef();
            FachkenntnisRef fachTarnen     = new FachkenntnisRef();

            SetFertigkeitValues(fachSchleichen, 60, "10", 1);
            SetFertigkeitValues(fachTarnen, 78, "10", 1);

            lernPlan.fachkenntnisse.Add(fachSchleichen);
            lernPlan.fachkenntnisse.Add(fachTarnen);
        }
        else if (mCharacter.Spezies == Races.Zwerg)
        {
            int[] deleteFachFromLernplan = { 83, 85 };
            int[] addFachFromLernplan    = { 6, 82 };          //s.o.

            DeleteFachkenntnisFromLernPlan(deleteFachFromLernplan);
            DeleteFachkenntnisFromLernPlan(addFachFromLernplan);

            //Erzeuge Lernplan-Elemente
            FachkenntnisRef fachBaukunde = new FachkenntnisRef();
            FachkenntnisRef fachTrinken  = new FachkenntnisRef();

            SetFertigkeitValues(fachBaukunde, 6, "8", 1);
            SetFertigkeitValues(fachTrinken, 82, "12", 1);

            lernPlan.fachkenntnisse.Add(fachBaukunde);
            lernPlan.fachkenntnisse.Add(fachTrinken);
        }
        else if (mCharacter.Spezies == Races.Berggnom)
        {
            int[] deleteFachFromLernplan = { 83, 85 };
            int[] addFachFromLernplan    = { 23, 15 };        //s.o.

            DeleteFachkenntnisFromLernPlan(deleteFachFromLernplan);
            DeleteFachkenntnisFromLernPlan(addFachFromLernplan);

            //Erzeuge Lernplan-Elemente
            FachkenntnisRef fachGeheimmechanismen = new FachkenntnisRef();
            FachkenntnisRef fachFallenentdecken   = new FachkenntnisRef();

            SetFertigkeitValues(fachGeheimmechanismen, 23, "6", 1);
            SetFertigkeitValues(fachFallenentdecken, 15, "6", 1);

            lernPlan.fachkenntnisse.Add(fachGeheimmechanismen);
            lernPlan.fachkenntnisse.Add(fachFallenentdecken);
        }
        else if (mCharacter.Spezies == Races.Waldgnom)
        {
            int[] deleteFachFromLernplan = { 84, 85 };
            int[] addFachFromLernplan    = { 17, 71, 78 };       //s.o.

            DeleteFachkenntnisFromLernPlan(deleteFachFromLernplan);
            DeleteFachkenntnisFromLernPlan(addFachFromLernplan);

            //Erzeuge Lernplan-Elemente
            FachkenntnisRef fachFallenstellen = new FachkenntnisRef();
            FachkenntnisRef fachSpurenlesen   = new FachkenntnisRef();
            FachkenntnisRef fachTarnen        = new FachkenntnisRef();

            SetFertigkeitValues(fachFallenstellen, 17, "4", 1);
            SetFertigkeitValues(fachSpurenlesen, 71, "6", 1);
            SetFertigkeitValues(fachTarnen, 78, "8", 1);

            lernPlan.fachkenntnisse.Add(fachFallenstellen);
            lernPlan.fachkenntnisse.Add(fachSpurenlesen);
            lernPlan.fachkenntnisse.Add(fachTarnen);
        }
    }