/// <summary> /// Gets the I fertigkeit from reference. /// </summary> /// <returns>The I fertigkeit from reference.</returns> /// <param name="charakterFertigkeit">Charakter fertigkeit.</param> /// <param name="fertigkeiten">Fertigkeiten.</param> /// <typeparam name="U">The 1st type parameter.</typeparam> /// <typeparam name="T">The 2nd type parameter.</typeparam> private IFertigkeit GetIFertigkeitFromRef <U, T>(U charakterFertigkeit, List <T> fertigkeiten) where U : ILernplan where T : IFertigkeit { int fertId = charakterFertigkeit.id; IFertigkeit fertObject = ObjectXMLHelper.GetMidgardObjectById <T>(fertigkeiten, fertId); return(fertObject); }
/// <summary> /// Gets the relevant fachkenntnisse. /// </summary> /// <param name="charakterFachkenntnisse">Charakter fachkenntnisse.</param> private List <InventoryItem> GetRelevantZauber <U, T>(List <U> charakterZauber, List <T> allZauber) where U : IDisplay where T : IZauber { List <InventoryItem> listItems = new List <InventoryItem> (); //Fachkenntnisse für Lernplan foreach (var zauberRef in charakterZauber) { int zauberID = zauberRef.id; IZauber fertObject = ObjectXMLHelper.GetMidgardObjectById <T>(allZauber, zauberID); InventoryItem item = new InventoryItem(); item.name = fertObject.name; item.val = "-"; item.cost = zauberRef.cost; listItems.Add(item); } return(listItems); }
/// <summary> /// Modifies the angeborene fertigkeiten durch Würfelwurf /// </summary> /// <param name="mChar">M char.</param> //TODO Modifikation für Rassen public static void ModifyAngeboreneFertigkeiten(MidgardCharakter mChar, int w100) { List <Sinn> sinne = MidgardResourceReader.GetMidgardResource <AngeboreneFertigkeiten>(MidgardResourceReader.MidgardAngeboren).listSinne; mChar.listSinne = sinne; if (w100 <= 2) { Sinn sinn = ModifyCharakterSinnNatur(Senses.Sehen, 4); Sinn mSinn = ObjectXMLHelper.GetMidgardObjectById(mChar.listSinne, sinn.id); mSinn.value = sinn.value; } else if (w100 > 2 && w100 <= 4) { Sinn sinn = ModifyCharakterSinnNatur(Senses.Hoeren, 4); Sinn mSinn = ObjectXMLHelper.GetMidgardObjectById(mChar.listSinne, sinn.id); mSinn.value = sinn.value; } else if (w100 > 4 && w100 <= 6) { Sinn sinn = ModifyCharakterSinnNatur(Senses.Riechen, 4); Sinn mSinn = ObjectXMLHelper.GetMidgardObjectById(mChar.listSinne, sinn.id); mSinn.value = sinn.value; } else if (w100 > 6 && w100 <= 8) { Sinn sinn = ModifyCharakterSinnNatur(Senses.Schmecken, 4); Sinn mSinn = ObjectXMLHelper.GetMidgardObjectById(mChar.listSinne, sinn.id); mSinn.value = sinn.value; } else if (w100 > 8 && w100 <= 10) { Sinn sinn = ModifyCharakterSinnNatur(Senses.Tasten, 4); Sinn mSinn = ObjectXMLHelper.GetMidgardObjectById(mChar.listSinne, sinn.id); mSinn.value = sinn.value; } else if (w100 > 10 && w100 <= 20) { Sinn sinn = ModifyCharakterSinnNatur(Senses.Sehen, 10); Sinn mSinn = ObjectXMLHelper.GetMidgardObjectById(mChar.listSinne, sinn.id); mSinn.value = sinn.value; } else if (w100 > 20 && w100 <= 30) { Sinn sinn = ModifyCharakterSinnNatur(Senses.Hoeren, 10); Sinn mSinn = ObjectXMLHelper.GetMidgardObjectById(mChar.listSinne, sinn.id); mSinn.value = sinn.value; } else if (w100 > 30 && w100 <= 40) { Sinn sinn = ModifyCharakterSinnNatur(Senses.Riechen, 10); Sinn mSinn = ObjectXMLHelper.GetMidgardObjectById(mChar.listSinne, sinn.id); mSinn.value = sinn.value; } else if (w100 > 40 && w100 <= 50) { Sinn sinn = ModifyCharakterSinnNatur(Senses.Schmecken, 10); Sinn mSinn = ObjectXMLHelper.GetMidgardObjectById(mChar.listSinne, sinn.id); mSinn.value = sinn.value; } else if (w100 > 50 && w100 <= 60) { Sinn sinn = ModifyCharakterSinnNatur(Senses.Tasten, 10); Sinn mSinn = ObjectXMLHelper.GetMidgardObjectById(mChar.listSinne, sinn.id); mSinn.value = sinn.value; } else if (w100 > 60 && w100 <= 65) { Sinn sinn = ModifyCharakterSinnNatur(Senses.SechsterSinn, 6); Sinn mSinn = ObjectXMLHelper.GetMidgardObjectById(mChar.listSinne, sinn.id); mSinn.value = sinn.value; } else if (w100 > 65 && w100 <= 70) { AngeboreneFertigkeit angFert = ModifyCharakterSinnNatur(Natur.Berserkergang, Mathf.FloorToInt(18 - mChar.Wk / 5)); mChar.listAngeboren.Add(angFert); } else if (w100 > 70 && w100 <= 75) { AngeboreneFertigkeit angFert = ModifyCharakterSinnNatur(Natur.GuteReflexe, 9); mChar.listAngeboren.Add(angFert); } else if (w100 > 75 && w100 <= 80) { AngeboreneFertigkeit angFert = ModifyCharakterSinnNatur(Natur.Nachtsicht, 8); mChar.listAngeboren.Add(angFert); } else if (w100 > 80 && w100 <= 85) { AngeboreneFertigkeit angFert = ModifyCharakterSinnNatur(Natur.Richtungssinn, 12); mChar.listAngeboren.Add(angFert); } else if (w100 > 85 && w100 <= 90) { AngeboreneFertigkeit angFert = ModifyCharakterSinnNatur(Natur.Robustheit, 9); mChar.listAngeboren.Add(angFert); } else if (w100 > 90 && w100 <= 95) { AngeboreneFertigkeit angFert = ModifyCharakterSinnNatur(Natur.Wachgabe, 6); mChar.listAngeboren.Add(angFert); } else if (w100 > 95 && w100 <= 99) { AngeboreneFertigkeit angFert = ModifyCharakterSinnNatur(Natur.Einpraegen, 4); mChar.listAngeboren.Add(angFert); } }