public BedingungZustand GetZustand(int Stufe) { BedingungZustand bz = new BedingungZustand(); bool Master = Stufe > Daten.StufenBachelor; if (Klassen.Rasse != null) bz.Add(Klassen.Rasse.Name); bz.Add("Stufe", Stufe); if (Master) { if (Klassen.Bachelor != null) { bz.Add("Stufe_" + Klassen.Bachelor.Name, Daten.StufenBachelor); bz.Add(Klassen.Bachelor.Flags); } if (Klassen.Master != null) { bz.Add("Stufe_" + Klassen.Master.Name, Stufe - Daten.StufenBachelor); bz.Add(Klassen.Master.Flags); } } else if (Klassen.Bachelor != null) { bz.Add("Stufe_" + Klassen.Bachelor.Name, Stufe); bz.Add(Klassen.Bachelor.Flags); } if (Attribute.Attribute != null) foreach (var item in Universe.Attribute) bz.Add(item.Name, Attribute.Attribute.Get(item)); ZVektor<Fertigkeit> fert = Fertigkeiten.FertigkeitsSummen[Stufe - 1]; foreach (var item in Universe.Fertigkeiten) { int z = fert[item]; if (z > 0) bz.Add(item.Name, z); } bz.Add(RP.Mann ? "Männlich" : "Weiblich"); if (Daten.ErlernteFertigkeitenBachelor + Daten.ErlernteFertigkeitenMaster > 0) foreach (var item in Fertigkeiten.GetGelernteFertigkeiten(Master, Daten)) bz.Add("Kann_" + item.Name); return bz; }
public override bool Valid(SuperCharakter Super) { BedingungZustand bz = new BedingungZustand(); for (int i = 0; i < Stufen; i++) { if (i < Super.Daten.StufenBachelor) bz.AddStufe(Super.Klassen.Bachelor); else bz.AddStufe(Super.Klassen.Master); bz.Add(Super.Fertigkeiten.FertigkeitsWerte[i]); foreach (var item in Talente[i]) if (item == null || !item.Check(bz)) return false; else bz.Add(item); foreach (var item in FreieTalente[i]) if (item == null || !item.Check(bz)) return false; else bz.Add(item); } return true; }
public void Filter(BedingungZustand bz) { if (TalentForme != null) for (int i = 0; i < TalentForme.Length; i++) { if (Ergebnisse[i] != null) bz.Decrease(Ergebnisse[i].Name); TalentForme[i].Filter(x => x.Check(bz)); Paare[i].Colorize(TalentForme[i].Ergebnis != null && TalentForme[i].Menge.Contains(Ergebnisse[i]));//Ergebnisse[i] != null && Ergebnisse[i].Check(bz)); if (Ergebnisse[i] != null) bz.Add(Ergebnisse[i].Name); } }