示例#1
0
        public override void Read(ManifestData reader, int ID)
        {
            base.Read(reader, ID);
            WaffenFertigkeit = reader.getFertigkeit("fertigkeit");
            Zweihand = reader.getBoolean("zweihand");

            Schadenstyp = reader.Universe.Schadenstypen.GetElement(reader.getString("schadenstyp"));
        }
示例#2
0
 public override void Read(ManifestData reader, int ID)
 {
     base.Read(reader, ID);
     Pro = ProObjekt.ProNothing;
     Bedingung = Bedingung.Parse(reader.getString("bedingung"));
     foreach (var item in Enum.GetNames(typeof(ProObjekt)))
         if (Flags.Contains(item))
             Pro = (ProObjekt)Enum.Parse(typeof(ProObjekt), item);
     Fertigkeiten = reader.Fertigkeiten.GetElemente(reader.getStrings("fertigkeiten"));
     InitiativeFertigkeit = reader.getFertigkeit("initiativefertigkeit");
     InitiativeWert = reader.getInt("initiativewert");
 }
示例#3
0
        public override void Read(ManifestData reader, int ID)
        {
            base.Read(reader, ID);
            Master = reader.getBoolean("master");
            Fokus5 = reader.getBoolean("fokus5");
            Fokus10 = reader.getBoolean("fokus10");
            this.Attribute = reader.getAttribute("attribute");
            this.Daten = reader.Universe.CharakterDaten;
            this.Stufen = Master ? Daten.StufenMaster : Daten.StufenBachelor;

            Fertigkeiten = new List<Fertigkeit>();
            List<string[]> talente = new List<string[]>();
            Fertigkeitsmodi = new ZVektor<Fertigkeit>[Stufen];
            FertigkeitsmodiSummen = new ZVektor<Fertigkeit>[Stufen];
            for (int i = 0; i < Stufen; i++)
            {
                Fertigkeitsmodi[i] = new ZVektor<Fertigkeit>(reader.Universe.Fertigkeiten);
                FertigkeitsmodiSummen[i] = new ZVektor<Fertigkeit>(reader.Universe.Fertigkeiten);
            }

            reader.Section(() =>
            {
                switch (reader.FlatName)
                {
                    case "fertigkeiten":
                        Fertigkeiten.AddRange(reader.ReadAufzahlungFertigkeiten());
                        reader.NextElement();
                        break;
                    case "fertigkeitsmodi":
                        reader.Section(() =>
                        {
                            switch (reader.FlatName)
                            {
                                case "rate":
                                    float rate = reader.getFloat("rate");
                                    Fertigkeit fert = reader.getFertigkeit("fertigkeit");
                                    int alt = 0;
                                    int neu;
                                    for (int i = 0; i < Stufen; i++)
                                    {
                                        neu =(int)Math.Ceiling((i+1) * rate);
                                        Fertigkeitsmodi[i].Add(fert, neu - alt);
                                        alt = neu;
                                    }
                                    break;
                                default:
                                    throw new NotImplementedException();
                            }
                            reader.NextElement();
                        });
                        FertigkeitsmodiSummen[0] = Fertigkeitsmodi[0];
                        for (int i = 1; i < Stufen; i++)
                        {
                            FertigkeitsmodiSummen[i] = FertigkeitsmodiSummen[i - 1] + Fertigkeitsmodi[i];
                        }
                        break;
                    case "stufen":
                        reader.Section(() =>
                        {
                            talente.Add(reader.getStrings("talente"));
                            reader.NextElement();
                        });
                        break;
                    default:
                        throw new NotImplementedException();
                }
            });
            if (talente != null)
                TalentTags = talente.ToArray();
        }