示例#1
0
        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;
        }
示例#2
0
        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);
         }
 }