public Charakterbogen(CharakterMan Charakter, Universe Universe) { float width = 1000; this.Charakter = Charakter; this.Universe = Universe; Charakter.Update(); xFont font = new FontGraphicsMeasurer("Calibri", 11); this.Titel = new CString(); this.Titel.addWhitespace(width, 0, true); this.Titel.add(new Word("Gestapo-Personenakte", Brushes.Black, new FontGraphicsMeasurer("PlainGermanica", 44), 0, Pens.Black).Geometry(10)); this.Titel.addWhitespace(width, 50); Titel.alignment = 0.5f; this.Portrait = new ImageBox(300, Charakter.Charakter.Super.RP.Portrait == null ? StandardPortrait : new Bitmap(Charakter.Charakter.Super.RP.Portrait)); Whitespace EinschubLinks = new Whitespace(100, 100, false); Whitespace EinschubOben = new Whitespace(width, 50, true); Bogen = new CString(); Bogen.add(EinschubOben); Bogen.add(Titel); Bogen.addAbsatz(); Bogen.add(EinschubLinks); Bogen.add(Portrait); Bogen.addWhitespace(width / 20); Bogen.add(RPBlock()); Bogen.addAbsatz(); Bogen.add(EinschubOben); Bogen.addWhitespace(160, 50); Bogen.add(TabelleLinks(font)); Bogen.addWhitespace(160, 50); Bogen.add(TabelleRechts(font)); }
public override DrawBox MakeBogen(CharakterMan Charakter) { this.ab = 2; Charakter.Update(); float seite = 400; CString Haupt = new CString(); Tabular Splitter = new Tabular(2); CString Left = new CString(); CString Right = new CString(); Assistment.Texts.Text Name = GetName(Charakter, GetLP(Charakter)); Haupt.add(new Word("Alsland-Personenakte", Schrift, Germanica, 0, Line)); Haupt.addAbsatz(); Haupt.add(Splitter); Haupt.alignment = 0.5f; Splitter.addRow(); Splitter[0, 0] = Left; Splitter[0, 1] = Right; Right.addWhitespace(seite); Right.add(base.GetBemerkungen(Charakter.Charakter.Super.Bemerkungen).Geometry(5)); Right.alignment = 0.5f; Right.add(new Whitespace(300, 50, true)); Right.add(Resistenzen()); Left.alignment = 0.5f; Left.addWhitespace(seite); Left.addAbsatz(); Left.add(Name.Geometry(30)); Left.addAbsatz(); #region Porträt try { Image img = Image.FromFile(Charakter.Charakter.Super.RP.Portrait); Left.add(new DynamicImageBox(img, 100, 100, 400, 400)); Left.addAbsatz(); } catch (Exception) { } #endregion Tabular leftTab = new Tabular(2); leftTab.addRow(); CString AttRett = new CString(); AttRett.add(GetEigenschaftenTabelleMitModif("Attribute", Charakter, Charakter.Statisch.Attribute, (a => (int)Math.Floor((a - 10f) / 2)), Universe.Attribute.Where(x => !x.Hidden)).Geometry(5)); AttRett.add(GetEigenschaftenTabelle("Rettungswürfe", Charakter, Charakter.Statisch.Fertigkeiten, Universe.Fertigkeiten.Menge.Where(x => x.Rettungswurf)).Geometry(5)); leftTab[0, 0] = AttRett; leftTab[0, 1] = GetEigenschaftenTabelle("Fertigkeiten", Charakter, Charakter.Statisch.Fertigkeiten, Universe.Fertigkeiten.Menge.Where(x => !x.Rettungswurf)).Geometry(5); Left.add(leftTab); Left.add(new Whitespace(300, 10, true)); Left.add(Aktionen(Charakter)); return Haupt.Geometry(rand); }
public override DrawBox MakeBogen(CharakterMan Charakter) { Charakter.Update(); float seite = 400; CString Haupt = new CString(); CString Oben = new CString(); CString Unten = new CString(); Haupt.add(new Word("Alsland-Personenakte", Schrift, Germanica, 0, Line)); Haupt.addAbsatz(); Haupt.add(Oben); Haupt.addAbsatz(); Haupt.add(Unten); Haupt.alignment = Oben.alignment = Unten.alignment = 0.5f; Tabular Splitter = new Tabular(2); CString Left = new CString(); CString Right = new CString(); Assistment.Texts.Text Name = base.GetName(Charakter); Oben.add(Splitter); Splitter.addRow(); Splitter[0, 0] = Left; Splitter[0, 1] = Right; Tabular Talente = GetTalente(Charakter, seite); //if (Talente.Rows > 0) // Talente.setRowPen(Talente.Rows - 1, Pens.Black); //Talente.addRow(); //Talente[Talente.Rows - 1, 0] = this.GetHarte(Charakter); Right.add(Talente.Geometry(5)); Right.alignment = 0.5f; Left.alignment = 0.5f; Left.addWhitespace(seite); Left.addAbsatz(); Left.add(Name.Geometry(30)); Left.addAbsatz(); #region Porträt try { Image img = Image.FromFile(Charakter.Charakter.Super.RP.Portrait); Left.add(new DynamicImageBox(img, 100, 100, 400, 400)); } catch (Exception) { } #endregion ab = 18; Title = new FontMeasurer("Calibri", 16); Normal = new FontMeasurer("Calibri", 14); Tabular t = new Tabular(3); t.addRow(2); t[0, 0] = GetAttributFertigkeitenTabelle(Charakter, Universe.Attribute.GetElement("Stärke")).Geometry(ab); t[0, 1] = GetAttributFertigkeitenTabelle(Charakter, Universe.Attribute.GetElement("Geschick")).Geometry(ab); t[0, 2] = GetAttributFertigkeitenTabelle(Charakter, Universe.Attribute.GetElement("Charisma")).Geometry(ab); t[1, 0] = GetAttributFertigkeitenTabelle(Charakter, Universe.Attribute.GetElement("Intelligenz")).Geometry(ab); t[1, 1] = GetAttributFertigkeitenTabelle(Charakter, Universe.Attribute.GetElement("Intuition")).Geometry(ab); t[1, 2] = GetAttributFertigkeitenTabelle(Charakter, Universe.Attribute.GetElement("Wahrnehmung")).Geometry(ab); Unten.add(t); Title = new FontMeasurer("Calibri", 12); Normal = new FontMeasurer("Calibri", 11); ab = 5; return Haupt.Geometry(rand); }
public override Assistment.Texts.DrawBox GetDrawBox(SizeF Size) { int z = 0; TwoColumnTabular t = new TwoColumnTabular(Size.Width); if (HatZielen()) { t.addRow(); t[z, 0] = Fett("Zielwurf"); t[z, 1] = Word("W20 Rechts - W20 Links"); z++; t.addRow(); t[z, 1] = Word("um " + GetZielen() + " korrigiert"); z++; t.addRow(); t[z, 0] = Fett("Abweichung"); t[z, 1] = Word("Distanz x Zielwurf / 20"); t.setRowPen(z, Strich); z++; } t.addRow(); t[z, 0] = Fett("Schadenstyp"); t[z, 1] = Word(Waffe.Schadenstyp); z++; t.addRow(); t[z, 0] = Fett("Angriff"); t[z, 1] = Word("W20 + " + GetFertigkeit() + " - Härtewurf"); if (HatParade()) { z++; t.addRow(); t[z, 0] = Fett("Parade"); t[z, 1] = Word("W20 + " + GetParade() + " - Härtewurf"); } //z++; //t.addRow(); //t[z, 0] = Word("Kritisch"); //t[z, 1] = Word(GetKrit()); for (int i = 0; i < LowerBound.Length; i++) { int s = GetSchaden(); z++; t.addRow(); if (LowerBound[i] == int.MinValue) t[z, 0] = Regex(@" < \d" + (UpperBound[i] + 1 - s)); else if (UpperBound[i] == int.MaxValue) t[z, 0] = Regex(@" > \d" + (LowerBound[i] - 1 - s)); else t[z, 0] = Regex(@"\d" + (LowerBound[i] - s) + @"\d bis \d" + (UpperBound[i] - s)); t[z, 1] = Word(Wunde[i]); } t.setRowPen(z, Strich); CString cs = new CString(); cs.add(t); cs.addAbsatz(); cs.add(Regex("Kritische Treffer bei " + GetKrit())); cs.addAbsatz(); cs.add(Regex(@"Abstechen ab Wunden \d3\d. Grades")); return cs; }