/** * Erzeugt eine neues CharElement, außer die CharElemente: RassenVariante, KulturVariante oder * ProfessionsVarianet. Diese müssen über eine seperate Methode erzeugt werden. * * @param clazz Die Klasse des gewünschten zu erzeugenden CharElements * @return Eine neues CharElement vom typ "clazz" */ public CharElement buildCharElement(Class clazz) { CharElement charElem; if (clazz == Talent.class) { charElem = new Talent(); createFaehigkeit((Talent) charElem); ((Talent) charElem).setArt(Talent.Art.basis); ((Talent) charElem).setSorte(Talent.Sorte.gesellschaft); } else if (clazz == Zauber.class) { charElem = new Zauber(); createFaehigkeit((Zauber) charElem); } else if (clazz == Repraesentation.class) { charElem = new Repraesentation(); } else if (clazz == Vorteil.class) { charElem = new Vorteil(); ((Fertigkeit) charElem).setArt(Fertigkeit.FertigkeitArt.allgemein); } else if (clazz == Nachteil.class) { charElem = new Nachteil(); ((Fertigkeit) charElem).setArt(Fertigkeit.FertigkeitArt.allgemein); } else if (clazz == Sonderfertigkeit.class) { charElem = new Sonderfertigkeit(); ((Fertigkeit) charElem).setArt(Fertigkeit.FertigkeitArt.allgemein); } else if (clazz == Gottheit.class) { charElem = new Gottheit(); ((Gottheit) charElem).setGottheitArt(Gottheit.GottheitArt.zwoelfGoettlich); } else if (clazz == Liturgie.class) { charElem = new Liturgie(); ((Liturgie) charElem).setArt(Liturgie.LiturgieArt.allgemein); } else if (clazz == RegionVolk.class) { charElem = new RegionVolk(); ((RegionVolk) charElem).setArt(RegionVolk.RegionVolkArt.menschlich); } else if (clazz == Schrift.class) { charElem = new Schrift(); createSchriftSprache((SchriftSprache) charElem); } else if (clazz == Sprache.class) { charElem = new Sprache(); createSchriftSprache((SchriftSprache) charElem); } else if (clazz == Gegenstand.class) { charElem = new Gegenstand(); ((Gegenstand) charElem).setArt(Gegenstand.GegenstandArt.sonstiges); } else if (clazz == DaemonenPakt.class) { charElem = new DaemonenPakt(); } else if (clazz == MagierAkademie.class) { charElem = new MagierAkademie(); ((MagierAkademie) charElem).setGilde(Gilde.unbekannt); } else if (clazz == SchwarzeGabe.class) { charElem = new SchwarzeGabe(); } else if (clazz == SchamanenRitual.class) { charElem = new SchamanenRitual(); ((SchamanenRitual) charElem).setGrad(1); } else if (clazz == Rasse.class) { charElem = new Rasse(); ((Rasse) charElem).setArt(Rasse.RasseArt.menschlich); ((Rasse) charElem).setAlterWuerfel(new WuerfelSammlung(new int[] {1}, new int[] {3}, 15)); /* ((Rasse) charElem).setHaarfarbe( new FarbenAngabe[]{ new FarbenAngabe("Schwarz", 20), }); ((Rasse) charElem).setAugenfarbe( new FarbenAngabe[]{ new FarbenAngabe("Schwarz", 20), }); */ ((Rasse) charElem).setGeschlecht(Geschlecht.mannOderFrau); // ((Rasse) charElem).setKannGewaehltWerden(true); ((Rasse) charElem).setGeschwindigk(8); ((Rasse) charElem).setGewichtModi(100); ((Rasse) charElem).setGroesseWuerfel(new WuerfelSammlung(new int[] {2}, new int[] {20}, 160)); } else if (clazz == Kultur.class) { charElem = new Kultur(); ((Kultur) charElem).setArt(Kultur.KulturArt.menschlich); } else if (clazz == Profession.class) { charElem = new Profession(); ((Profession) charElem).setAufwand(Profession.Aufwand.normal); ((Profession) charElem).setArt(Profession.ProfArt.gesellschaftlich); } else { throw new IllegalArgumentException( "Keine Behandlung für ein Element des Typs " + clazz.toString() + " vorhanden."); } createCharElement(charElem); return charElem; }