public IActionResult Generate(int stufe, int intelligenz, int glueck, Klasse klasse) { if (glueck < -3 || glueck > 3) { return(RedirectToAction(nameof(Index))); } Random random = new Random(); var würfelFactory = new WürfelFactory(random); var zauberFactory = new ZauberFactory(würfelFactory); var zauberbuchVM = new ZauberbuchViewModel { Glueck = glueck, Intelligenz = intelligenz, Stufe = stufe, Klasse = klasse, }; zauberbuchVM.Zauberbuch = klasse switch { Klasse.Zauberer => zauberFactory.ZauberkundigenZauberErstellen(stufe, glueck, intelligenz, random), Klasse.Kleriker => zauberFactory.KlerikerZauberErstellen(stufe, glueck, false, random), Klasse.KlerikerLaunen => zauberFactory.KlerikerZauberErstellen(stufe, glueck, true, random), Klasse.Elf => zauberFactory.ElfenZauberErstellen(stufe, intelligenz, random), _ => throw new ArgumentOutOfRangeException(nameof(klasse)) }; return(View(zauberbuchVM)); } }
public Character Default() { var würfel = new WürfelFactory(_random); var berufWürfel = würfel.W100; var zeichenWürfel = würfel.W30; var attributWürfel = würfel._3W6; var trefferWürfel = würfel.W4; var handelsWarenWürfel = würfel.W24; var geldWürfel = würfel._5W12; return(new Character(attributWürfel, berufWürfel, zeichenWürfel, trefferWürfel, geldWürfel, handelsWarenWürfel)); }
public Kleriker(int seed, int charakterNummer, int stufe, Gesinnung gesinnung) : base(seed, charakterNummer, stufe, 8, gesinnung) { var würfelFactory = new WürfelFactory(random); var zauberFactory = new ZauberFactory(würfelFactory); Zauberbuch = zauberFactory.KlerikerZauberErstellen(stufe, Character.Attribute.Glück.Modifikator, false, random); var startGold = base.wf.W(20, 4) + stufe switch { 1 => 0, 2 => 400, _ => 1300, }; Startkapital = $"{startGold} GM"; }
static void Main(string[] args) { var zauberListe = ZauberTemplate.ZauberDict.Value.SelectMany(x => x.Value.SelectMany(y => y.Value)).ToList(); foreach (var z in zauberListe) { z.Beschreibung = string.Join(" ", z.Beschreibung.Split('\n', StringSplitOptions.RemoveEmptyEntries).Select(x => x.Trim())); foreach (var m in z.Manifestationen) { m.Beschreibung = string.Join(" ", m.Beschreibung.Split('\n', StringSplitOptions.RemoveEmptyEntries).Select(x => x.Trim())); } } ZauberTemplate.Save(zauberListe); //var zt = new ZauberTemplate //{ // Beschreibung = "Beschreibung", // Manifestationen = new List<Manifestation> { new Manifestation { Beschreibung = "Manifestation" } }, // Name = "Zauber", // Seite = "13", // Typ = Zaubertyp.Zauberkundigenzauber, // Wurf = 12 //}; //ZauberTemplate.Save(new List<ZauberTemplate>() { zt }); var wf = new WürfelFactory(new Random()); var zauberFactory = new ZauberFactory(wf); zauberFactory.ZauberkundigenZauberErstellen(6, 1, 12, new Random()); var würfel = new WürfelFactory(new Random()); var berufWürfel = würfel.W100; var zeichenWürfel = würfel.W30; var attributWürfel = würfel._3W6; var trefferWürfel = würfel.W4; var handelsWarenWürfel = würfel.W24; var geldWürfel = würfel._5W12; do { var c = new Character(attributWürfel, berufWürfel, zeichenWürfel, trefferWürfel, geldWürfel, handelsWarenWürfel); Console.WriteLine(c); } while (Console.ReadKey().Key != ConsoleKey.Q); }
public Zauberkundiger(int seed, int charakterNummer, int stufe, Gesinnung gesinnung) : base(seed, charakterNummer, stufe, 4, gesinnung) { // Zwei Sprachen pro Intelligenzmodifikator for (var i = 1; i <= Character.Attribute.Intelligenz.Modifikator * 2; i++) { Sprachen.Add($"Magier Sprache {i}"); } var startGold = wf.W(10, 3) + stufe switch { 1 => 0, 2 => wf.W(4, 2) * 100, _ => wf.W(4, 5) * 100, }; Startkapital = $"{startGold} GM"; var würfelFactory = new WürfelFactory(random); var zauberFactory = new ZauberFactory(würfelFactory); Zauberbuch = zauberFactory.ZauberkundigenZauberErstellen(stufe, Character.Attribute.Glück.Modifikator, Character.Attribute.Intelligenz.Value, random); }
public Elf(int seed, int charakterNummer, int stufe, Gesinnung gesinnung) : base(seed, charakterNummer, stufe, 6, gesinnung) { Sprachen.Add($"Elfensprache"); // Eine Sprache pro Intelligenzmodifikator for (var i = 1; i <= Character.Attribute.Intelligenz.Modifikator; i++) { Sprachen.Add($"Magier Sprache {i}"); } var startGold = stufe switch { 1 => wf.W(12, 2), 2 => wf.W(12, 3) + 500, _ => wf.W(12, 3) + 2000, }; Startkapital = $"{startGold} GM"; var würfelFactory = new WürfelFactory(random); var zauberFactory = new ZauberFactory(würfelFactory); Zauberbuch = zauberFactory.ElfenZauberErstellen(stufe, Character.Attribute.Intelligenz.Value, random); }