const std = @import("std"); const leveldb = @import("leveldb"); const foundry = @import("foundry.zig"); const system = @import("system.zig"); const talente: system.ItemCompendium = .{ .entries = &.{ // Körperliche Talente .{ .Folder = .{ .name = "Körperliche Talente", .entries = &.{ @import("Items/Talente/Akrobatik.zon"), @import("Items/Talente/Athletik.zon"), @import("Items/Talente/Fliegen.zon"), @import("Items/Talente/Gaukeleien.zon"), @import("Items/Talente/Klettern.zon"), @import("Items/Talente/Koerperbeherrschung.zon"), @import("Items/Talente/Reiten.zon"), @import("Items/Talente/Schleichen.zon"), @import("Items/Talente/Schwimmen.zon"), @import("Items/Talente/Selbstbeherrschung.zon"), @import("Items/Talente/Sich_Verstecken.zon"), @import("Items/Talente/Singen1.zon"), @import("Items/Talente/Singen2.zon"), @import("Items/Talente/Sinnenschaerfe1.zon"), @import("Items/Talente/Sinnenschaerfe2.zon"), @import("Items/Talente/Skifahren.zon"), @import("Items/Talente/Stimmen_Imitieren.zon"), @import("Items/Talente/Tanzen.zon"), @import("Items/Talente/Taschendiebstahl.zon"), @import("Items/Talente/Zechen.zon"), }}}, // Gesellschaftliche Talente .{ .Folder = .{ .name = "Gesellschaftliche Talente", .entries = &.{ @import("Items/Talente/Betoeren.zon"), @import("Items/Talente/Etikette.zon"), @import("Items/Talente/Gassenwissen.zon"), @import("Items/Talente/Lehren.zon"), @import("Items/Talente/Menschenkenntnis.zon"), @import("Items/Talente/Schauspielerei.zon"), @import("Items/Talente/Schriftlicher_Ausdruck.zon"), @import("Items/Talente/Sich_Verkleiden.zon"), @import("Items/Talente/Ueberreden.zon"), @import("Items/Talente/Ueberzeugen.zon"), }}}, // Natur Talente .{ .Folder = .{ .name = "Natur-Talente", .entries = &.{ @import("Items/Talente/Faehrtensuchen1.zon"), @import("Items/Talente/Faehrtensuchen2.zon"), @import("Items/Talente/Fallenstellen.zon"), @import("Items/Talente/Fesseln_Entfesseln.zon"), @import("Items/Talente/Fischen_Angeln.zon"), @import("Items/Talente/Orientierung.zon"), @import("Items/Talente/Wettervorhersage.zon"), @import("Items/Talente/Wildnisleben.zon"), }}}, // Wissens Talente .{ .Folder = .{ .name = "Wissens Talente", .entries = &.{ @import("Items/Talente/Anatomie.zon"), @import("Items/Talente/Baukunst.zon"), @import("Items/Talente/Brett_Kartenspiel.zon"), @import("Items/Talente/Geographie.zon"), @import("Items/Talente/Geschichtswissen.zon"), @import("Items/Talente/Gesteinskunde.zon"), @import("Items/Talente/Goetter_Kulte.zon"), @import("Items/Talente/Heraldik.zon"), @import("Items/Talente/Huettenkunde.zon"), @import("Items/Talente/Kriegskunst.zon"), @import("Items/Talente/Kryptographie.zon"), @import("Items/Talente/Magiekunde.zon"), @import("Items/Talente/Mechanik.zon"), @import("Items/Talente/Pflanzenkunde.zon"), @import("Items/Talente/Philosophie.zon"), @import("Items/Talente/Rechnen.zon"), @import("Items/Talente/Rechtskunde.zon"), @import("Items/Talente/Sagen_Legenden.zon"), @import("Items/Talente/Schaetzen.zon"), @import("Items/Talente/Sprachenkunde.zon"), @import("Items/Talente/Staatskunst.zon"), @import("Items/Talente/Sternkunde.zon"), @import("Items/Talente/Tierkunde.zon"), }}}, // Handwerks Talente .{ .Folder = .{ .name = "Handwerks Talente", .entries = &.{ @import("Items/Talente/Abrichten.zon"), @import("Items/Talente/Ackerbau.zon"), @import("Items/Talente/Alchimie.zon"), @import("Items/Talente/Bergbau.zon"), @import("Items/Talente/Bogenbau.zon"), @import("Items/Talente/Boote_Fahren.zon"), @import("Items/Talente/Brauer.zon"), @import("Items/Talente/Drucker.zon"), @import("Items/Talente/Fahrzeug_Lenken.zon"), @import("Items/Talente/Falschspiel.zon"), @import("Items/Talente/Feinmechanik.zon"), @import("Items/Talente/Feuersteinbearbeitung.zon"), @import("Items/Talente/Fleischer.zon"), @import("Items/Talente/Gerber_Kuerschner.zon"), @import("Items/Talente/Glaskunst.zon"), @import("Items/Talente/Grobschmied.zon"), @import("Items/Talente/Handel.zon"), @import("Items/Talente/Hauswirtschaft.zon"), @import("Items/Talente/Heilkunde_Gift.zon"), @import("Items/Talente/Heilkunde_Krankheiten.zon"), @import("Items/Talente/Heilkunde_Seele.zon"), @import("Items/Talente/Heilkunde_Wunden.zon"), @import("Items/Talente/Holzbearbeitung.zon"), @import("Items/Talente/Instrumentenbauer.zon"), @import("Items/Talente/Kartographie.zon"), @import("Items/Talente/Kochen.zon"), @import("Items/Talente/Kristallzucht.zon"), @import("Items/Talente/Lederarbeiten.zon"), @import("Items/Talente/Malen_Zeichnen.zon"), @import("Items/Talente/Maurer.zon"), @import("Items/Talente/Metallguss.zon"), @import("Items/Talente/Musizieren.zon"), @import("Items/Talente/Schloesser_Knacken.zon"), @import("Items/Talente/Schnaps_Brennen.zon"), @import("Items/Talente/Schneidern.zon"), @import("Items/Talente/Seefahrt.zon"), @import("Items/Talente/Seiler.zon"), @import("Items/Talente/Steinmetz.zon"), @import("Items/Talente/Steinschneider_Juwelier.zon"), @import("Items/Talente/Stellmacher.zon"), @import("Items/Talente/Stoffe_Faerben.zon"), @import("Items/Talente/Taetowieren.zon"), @import("Items/Talente/Toepfern.zon"), @import("Items/Talente/Viehzucht.zon"), @import("Items/Talente/Webkunst.zon"), @import("Items/Talente/Winzer.zon"), @import("Items/Talente/Zimmermann.zon"), }}}, // Kampftalente .{ .Folder = .{ .name = "Kampftalente", .entries = &.{ @import("Items/Kampftalente/Anderthalbhaender.zon"), @import("Items/Kampftalente/Armbrust.zon"), @import("Items/Kampftalente/Belagerungswaffen.zon"), @import("Items/Kampftalente/Blasrohr.zon"), @import("Items/Kampftalente/Bogen.zon"), @import("Items/Kampftalente/Diskus.zon"), @import("Items/Kampftalente/Dolche.zon"), @import("Items/Kampftalente/Fechtwaffen.zon"), @import("Items/Kampftalente/Hiebwaffen.zon"), @import("Items/Kampftalente/Infanteriewaffen.zon"), @import("Items/Kampftalente/Kettenstaebe.zon"), @import("Items/Kampftalente/Kettenwaffen.zon"), // @import("Items/Kampftalente/Lanzenreiten.zon"), // @import("Items/Kampftalente/Peitsche.zon"), @import("Items/Kampftalente/Raufen.zon"), @import("Items/Kampftalente/Ringen.zon"), @import("Items/Kampftalente/Saebel.zon"), @import("Items/Kampftalente/Schleuder.zon"), @import("Items/Kampftalente/Schwerter.zon"), @import("Items/Kampftalente/Speere.zon"), @import("Items/Kampftalente/Staebe.zon"), @import("Items/Kampftalente/Wurfbeile.zon"), @import("Items/Kampftalente/Wurfmesser.zon"), @import("Items/Kampftalente/Wurfspeere.zon"), @import("Items/Kampftalente/Zweihandflegel.zon"), @import("Items/Kampftalente/Zweihand_Hiebwaffen.zon"), @import("Items/Kampftalente/Zweihandschwerter_saebel.zon"), }}}, }}; const ruestungen: system.ItemCompendium = .{ .entries = &.{ .{ .Folder = .{ .name = "Kleidung", .entries = &.{ @import("Items/Ruestungen/Anaurak.zon"), @import("Items/Ruestungen/Dicke_Kleidung.zon"), @import("Items/Ruestungen/Fellumhang_Fuhrmannsmantel.zon"), @import("Items/Ruestungen/Lederhose.zon"), @import("Items/Ruestungen/Lederweste_Pelzweste.zon"), @import("Items/Ruestungen/Lederweste_Pelzweste_lang.zon"), @import("Items/Ruestungen/Hohe_Stiefel.zon"), }}}, .{ .Folder = .{ .name = "Tuchrüstungen", .entries = &.{ @import("Items/Ruestungen/Gambeson.zon"), @import("Items/Ruestungen/Mattenruecken.zon"), @import("Items/Ruestungen/Tuchruestung.zon"), @import("Items/Ruestungen/Unterzeug_mit_Kettenteilen.zon"), @import("Items/Ruestungen/Wattierte_Kappe.zon"), @import("Items/Ruestungen/Wattiertes_Unterzeug.zon"), }}}, .{ .Folder = .{ .name = "Lederrüstungen", .entries = &.{ @import("Items/Ruestungen/Armschienen_Leder.zon"), @import("Items/Ruestungen/Beinschienen_Leder.zon"), @import("Items/Ruestungen/Brustplatte.zon"), @import("Items/Ruestungen/Iryanruestung.zon"), @import("Items/Ruestungen/Kroetenhaut.zon"), @import("Items/Ruestungen/Lederharnisch.zon"), @import("Items/Ruestungen/Lederhelm.zon"), @import("Items/Ruestungen/Lederhelm_verstaerkt.zon"), @import("Items/Ruestungen/Streifenschurz.zon"), }}}, .{ .Folder = .{ .name = "Exotische Materialien", .entries = &.{ @import("Items/Ruestungen/Mammutonpanzer.zon"), @import("Items/Ruestungen/Maraskanischer_Hartholzharnisch.zon"), }}}, .{ .Folder = .{ .name = "Kette/Schuppe", .entries = &.{ @import("Items/Ruestungen/Brabaker_Ringmantel.zon"), @import("Items/Ruestungen/Brigantina.zon"), @import("Items/Ruestungen/Eisenmantel.zon"), @import("Items/Ruestungen/Fuenflagenharnisch.zon"), @import("Items/Ruestungen/Kettenbeinlinge_Paar.zon"), @import("Items/Ruestungen/Kettenhandschuhe_Paar.zon"), @import("Items/Ruestungen/Kettenhaube.zon"), @import("Items/Ruestungen/Kettenhaube_mit_Gesichtsschutz.zon"), @import("Items/Ruestungen/Kettenhemd_1_2_Arm.zon"), @import("Items/Ruestungen/Kettenhemd_lang.zon"), @import("Items/Ruestungen/Kettenmantel.zon"), @import("Items/Ruestungen/Kettenkragen.zon"), @import("Items/Ruestungen/Kettenweste.zon"), @import("Items/Ruestungen/Loewenmaehne.zon"), @import("Items/Ruestungen/Ringelpanzer.zon"), @import("Items/Ruestungen/Schuppenpanzer.zon"), @import("Items/Ruestungen/Schuppenpanzer_lang.zon"), @import("Items/Ruestungen/Spiegelpanzer.zon"), }}}, .{ .Folder = .{ .name = "Plattenrüstungen", .entries = &.{ @import("Items/Ruestungen/Amazonenruestung.zon"), @import("Items/Ruestungen/Armschienen_Bronze.zon"), @import("Items/Ruestungen/Armschienen_Stahl.zon"), @import("Items/Ruestungen/Baburiner_Hut.zon"), @import("Items/Ruestungen/Bart_Halsberge.zon"), @import("Items/Ruestungen/Beinschienen_Bronze.zon"), @import("Items/Ruestungen/Beinschienen_Stahl.zon"), @import("Items/Ruestungen/Beintaschen_Schuerze.zon"), @import("Items/Ruestungen/Bronzeharnisch.zon"), @import("Items/Ruestungen/Brustplatte.zon"), @import("Items/Ruestungen/Brustschalen.zon"), @import("Items/Ruestungen/Drachenhelm.zon"), @import("Items/Ruestungen/Garether_Platte.zon"), @import("Items/Ruestungen/Gestechruestung.zon"), @import("Items/Ruestungen/Gladiatorenschulter.zon"), @import("Items/Ruestungen/Horasischer_Reiterharnisch.zon"), @import("Items/Ruestungen/Kuerass.zon"), @import("Items/Ruestungen/Kusliker_Lamellar.zon"), @import("Items/Ruestungen/Leichte_Platte.zon"), @import("Items/Ruestungen/Morion.zon"), @import("Items/Ruestungen/Panzerbein.zon"), @import("Items/Ruestungen/Panzerhandschuhe_Paar.zon"), @import("Items/Ruestungen/Panzerschuh.zon"), @import("Items/Ruestungen/Plattenschultern.zon"), @import("Items/Ruestungen/Plattenarme.zon"), @import("Items/Ruestungen/Schaller.zon"), @import("Items/Ruestungen/Stechhelm_Visierhelm.zon"), @import("Items/Ruestungen/Sturmhaube.zon"), @import("Items/Ruestungen/Tellerhelm.zon"), @import("Items/Ruestungen/Topfhelm.zon"), }}}, }}; const bewaffnungen: system.ItemCompendium = .{ .entries = &.{ .{ .Folder = .{ .name = "Anderthalbhänder", .entries = &.{ @import("Items/Bewaffnungen/Anderthalbhaender.zon"), .{ .Bewaffnung = .{ .name = "Bastardschwert", .img = "icons/weapons/swords/greatsword-crossguard-barbed.webp", .system = .{ .nahkampfwaffe = .{ .aktiv = true, .basis = "1d6+5", .schwellenwert = 11, .schadensschritte = 3, .modifikator_attacke = 0, .modifikator_parade = -1, .initiative = 0, .bruchfaktor = 2, .distanzklasse = "N", .kampftalente = "Anderthalbhänder", .laenge = .{ .value = 110, .unit = .halbfinger }, .zweihaendig = true, .werfbar = false, .improvisiert = false, .priviligiert = false }, .gewicht = .{ .value = 120, .unit = .unze }, .preis = .{ .value = 200, .unit = .silbertaler } } } }, .{ .Bewaffnung = .{ .name = "Nachtwind", .img = "icons/weapons/swords/sword-katana.webp", .system = .{ .nahkampfwaffe = .{ .aktiv = true, .basis = "1d6+4", .schwellenwert = 11, .schadensschritte = 5, .modifikator_attacke = 0, .modifikator_parade = 0, .initiative = 2, .bruchfaktor = 0, .distanzklasse = "N", .kampftalente = "Anderthalbhänder", .laenge = .{ .value = 100, .unit = .halbfinger }, .zweihaendig = true, .werfbar = false, .improvisiert = false, .priviligiert = false }, .gewicht = .{ .value = 70, .unit = .unze }, .preis = .{ .value = 500, .unit = .silbertaler } } } }, @import("Items/Bewaffnungen/Rondrakamm.zon"), @import("Items/Bewaffnungen/Tuzakmesser.zon"), }}}, .{ .Folder = .{ .name = "Dolche", .entries = &.{ @import("Items/Bewaffnungen/Basiliskenzunge.zon"), @import("Items/Bewaffnungen/Borndorn.zon"), @import("Items/Bewaffnungen/Dolch.zon"), @import("Items/Bewaffnungen/Drachenzahn.zon"), @import("Items/Bewaffnungen/Eberfaenger.zon"), @import("Items/Bewaffnungen/Hakendolch.zon"), @import("Items/Bewaffnungen/Jagdmesser.zon"), @import("Items/Bewaffnungen/Kurzschwert.zon"), @import("Items/Bewaffnungen/Langdolch.zon"), @import("Items/Bewaffnungen/Linkhand.zon"), @import("Items/Bewaffnungen/Mengbilar.zon"), @import("Items/Bewaffnungen/Messer.zon"), @import("Items/Bewaffnungen/Ogerfaenger.zon"), @import("Items/Bewaffnungen/Scheibendolch.zon"), @import("Items/Bewaffnungen/Schwerer_Dolch.zon"), @import("Items/Bewaffnungen/Vulkanglasdolch.zon"), @import("Items/Bewaffnungen/Waqqif.zon"), @import("Items/Bewaffnungen/Wurfdolch.zon"), @import("Items/Bewaffnungen/Wurfmesser.zon"), }}}, .{ .Folder = .{ .name = "Fechtwaffen", .entries = &.{ @import("Items/Bewaffnungen/Degen.zon"), @import("Items/Bewaffnungen/Florett.zon"), @import("Items/Bewaffnungen/Langdolch.zon"), @import("Items/Bewaffnungen/Magierdegen.zon"), @import("Items/Bewaffnungen/Panzerstecher.zon"), @import("Items/Bewaffnungen/Rapier.zon"), @import("Items/Bewaffnungen/Robbentoeter.zon"), @import("Items/Bewaffnungen/Stockdegen.zon"), @import("Items/Bewaffnungen/Wolfsmesser.zon"), }}}, .{ .Folder = .{ .name = "Hiebwaffen", .entries = &.{ @import("Items/Bewaffnungen/Baccanaq_Bakka.zon"), @import("Items/Bewaffnungen/Beil.zon"), @import("Items/Bewaffnungen/Brabakbengel.zon"), @import("Items/Bewaffnungen/Byakka.zon"), @import("Items/Bewaffnungen/Fackel.zon"), @import("Items/Bewaffnungen/Fleischerbeil.zon"), @import("Items/Bewaffnungen/Haumesser.zon"), @import("Items/Bewaffnungen/Keule.zon"), @import("Items/Bewaffnungen/Knochenkeule.zon"), @import("Items/Bewaffnungen/Knueppel.zon"), @import("Items/Bewaffnungen/Kriegsfaecher.zon"), @import("Items/Bewaffnungen/Lindwurmschlaeger.zon"), @import("Items/Bewaffnungen/Molokdeschnaja.zon"), .{ .Bewaffnung = .{ .name = "Orknase", .img = "icons/weapons/polearms/halberd-engraved-steel.webp", .system = .{ .nahkampfwaffe = .{ .aktiv = true, .basis = "1d6+5", .schwellenwert = 13, .schadensschritte = 3, .modifikator_attacke = 0, .modifikator_parade = -1, .initiative = -1, .bruchfaktor = 4, .distanzklasse = "N", .kampftalente = "Hiebwaffen", .laenge = .{ .value = 100, .unit = .halbfinger }, .zweihaendig = false, .werfbar = false, .improvisiert = false, .priviligiert = false }, .gewicht = .{ .value = 110, .unit = .unze }, .preis = .{ .value = 75, .unit = .silbertaler } } } }, @import("Items/Bewaffnungen/Rabenschnabel.zon"), @import("Items/Bewaffnungen/Schmiedehammer.zon"), @import("Items/Bewaffnungen/Sichel.zon"), @import("Items/Bewaffnungen/Skraja.zon"), @import("Items/Bewaffnungen/Sonnenszepter.zon"), @import("Items/Bewaffnungen/Streitaxt.zon"), @import("Items/Bewaffnungen/Streitkolben.zon"), @import("Items/Bewaffnungen/Stuhlbein.zon"), @import("Items/Bewaffnungen/Wurfbeil.zon"), @import("Items/Bewaffnungen/Wurfkeule.zon"), @import("Items/Bewaffnungen/Zwergenskraja.zon"), }}}, .{ .Folder = .{ .name = "Infanteriewaffen", .entries = &.{ @import("Items/Bewaffnungen/Glefe.zon"), @import("Items/Bewaffnungen/Hakenspieß.zon"), @import("Items/Bewaffnungen/Hellebarde.zon"), @import("Items/Bewaffnungen/Korspieß.zon"), @import("Items/Bewaffnungen/Neethaner_Langaxt.zon"), @import("Items/Bewaffnungen/Pailos.zon"), @import("Items/Bewaffnungen/Partisane.zon"), @import("Items/Bewaffnungen/Schnitter.zon"), @import("Items/Bewaffnungen/Sense.zon"), @import("Items/Bewaffnungen/Sturmsense.zon"), @import("Items/Bewaffnungen/Warunker_Hammer.zon"), @import("Items/Bewaffnungen/Wurmspieß.zon"), }}}, .{ .Folder = .{ .name = "Kettenstäbe", .entries = &.{ @import("Items/Bewaffnungen/Dreigliederstab.zon"), @import("Items/Bewaffnungen/Kettenstab.zon"), }}}, .{ .Folder = .{ .name = "Kettenwaffen", .entries = &.{ @import("Items/Bewaffnungen/Geißel.zon"), @import("Items/Bewaffnungen/Kettenkugel.zon"), @import("Items/Bewaffnungen/Morgenstern.zon"), @import("Items/Bewaffnungen/Neunschwaenzige.zon"), @import("Items/Bewaffnungen/Ochsenherde.zon"), @import("Items/Bewaffnungen/Ogerschelle.zon"), }}}, .{ .Folder = .{ .name = "Peitsche", .entries = &.{ @import("Items/Bewaffnungen/Peitsche.zon"), }}}, .{ .Folder = .{ .name = "Säbel", .entries = &.{ @import("Items/Bewaffnungen/Amazonensaebel.zon"), @import("Items/Bewaffnungen/Arbach.zon"), @import("Items/Bewaffnungen/Entermesser.zon"), @import("Items/Bewaffnungen/Haumesser.zon"), @import("Items/Bewaffnungen/Khunchomer.zon"), @import("Items/Bewaffnungen/Kurzschwert.zon"), @import("Items/Bewaffnungen/Kusliker_Saebel.zon"), @import("Items/Bewaffnungen/Robbentoeter.zon"), @import("Items/Bewaffnungen/Saebel.zon"), @import("Items/Bewaffnungen/Sklaventod.zon"), @import("Items/Bewaffnungen/Waqqif.zon"), @import("Items/Bewaffnungen/Wolfsmesser.zon"), }}}, .{ .Folder = .{ .name = "Schwerter", .entries = &.{ @import("Items/Bewaffnungen/Amazonensaebel.zon"), @import("Items/Bewaffnungen/Arbach.zon"), @import("Items/Bewaffnungen/Barbarenschwert.zon"), .{ .Bewaffnung = .{ .name = "Bastardschwert", .img = "icons/weapons/swords/greatsword-crossguard-barbed.webp", .system = .{ .nahkampfwaffe = .{ .aktiv = true, .basis = "1d6+5", .schwellenwert = 12, .schadensschritte = 4, .modifikator_attacke = 0, .modifikator_parade = -1, .initiative = -1, .bruchfaktor = 2, .distanzklasse = "N", .kampftalente = "Schwerter", .laenge = .{ .value = 110, .unit = .halbfinger }, .zweihaendig = false, .werfbar = false, .improvisiert = false, .priviligiert = false }, .gewicht = .{ .value = 120, .unit = .unze }, .preis = .{ .value = 200, .unit = .silbertaler } } } }, @import("Items/Bewaffnungen/Breitschwert.zon"), @import("Items/Bewaffnungen/Kurzschwert.zon"), @import("Items/Bewaffnungen/Kusliker_Saebel.zon"), @import("Items/Bewaffnungen/Langschwert.zon"), .{ .Bewaffnung = .{ .name = "Nachtwind", .img = "icons/weapons/swords/sword-katana.webp", .system = .{ .nahkampfwaffe = .{ .aktiv = true, .basis = "1d6+4", .schwellenwert = 11, .schadensschritte = 5, .modifikator_attacke = 0, .modifikator_parade = 0, .initiative = 2, .bruchfaktor = 0, .distanzklasse = "N", .kampftalente = "Schwerter", .laenge = .{ .value = 100, .unit = .halbfinger }, .zweihaendig = false, .werfbar = false, .improvisiert = false, .priviligiert = false }, .gewicht = .{ .value = 70, .unit = .unze }, .preis = .{ .value = 500, .unit = .silbertaler } } } }, @import("Items/Bewaffnungen/Rapier.zon"), @import("Items/Bewaffnungen/Robbentoeter.zon"), @import("Items/Bewaffnungen/Saebel.zon"), // @import("Items/Bewaffnungen/Turnierschwert.zon"), @import("Items/Bewaffnungen/Wolfsmesser.zon"), }}}, .{ .Folder = .{ .name = "Speere", .entries = &.{ @import("Items/Bewaffnungen/Drachentoeter.zon"), @import("Items/Bewaffnungen/Dreizack.zon"), @import("Items/Bewaffnungen/Dschadra.zon"), @import("Items/Bewaffnungen/Efferdbart.zon"), @import("Items/Bewaffnungen/Holzspeer.zon"), @import("Items/Bewaffnungen/Jagdspieß.zon"), @import("Items/Bewaffnungen/Korspieß.zon"), @import("Items/Bewaffnungen/Kriegslanze.zon"), @import("Items/Bewaffnungen/Partisane.zon"), @import("Items/Bewaffnungen/Pike.zon"), @import("Items/Bewaffnungen/Schnitter.zon"), @import("Items/Bewaffnungen/Speer.zon"), @import("Items/Bewaffnungen/Stoßspeer.zon"), // @import("Items/Bewaffnungen/Turnierlanze.zon"), @import("Items/Bewaffnungen/Wurfspeer.zon"), @import("Items/Bewaffnungen/Wurmspieß.zon"), }}}, .{ .Folder = .{ .name = "Stäbe", .entries = &.{ @import("Items/Bewaffnungen/Kampfstab.zon"), @import("Items/Bewaffnungen/Magierstab.zon"), @import("Items/Bewaffnungen/Magierstab_mit_Kristallkugel.zon"), @import("Items/Bewaffnungen/Zweililien.zon"), }}}, .{ .Folder = .{ .name = "Zweihandflegel", .entries = &.{ @import("Items/Bewaffnungen/Dreschflegel.zon"), @import("Items/Bewaffnungen/Kriegsflegel.zon"), }}}, .{ .Folder = .{ .name = "Zweihand-Hiebwaffen", .entries = &.{ @import("Items/Bewaffnungen/Barbarenstreitaxt.zon"), @import("Items/Bewaffnungen/Echsische_Axt.zon"), @import("Items/Bewaffnungen/Felsspalter.zon"), @import("Items/Bewaffnungen/Gruufhai.zon"), @import("Items/Bewaffnungen/Holzfaelleraxt.zon"), @import("Items/Bewaffnungen/Kriegshammer.zon"), @import("Items/Bewaffnungen/Neethaner_Langaxt.zon"), .{ .Bewaffnung = .{ .name = "Orknase", .img = "icons/weapons/polearms/halberd-engraved-steel.webp", .system = .{ .nahkampfwaffe = .{ .aktiv = true, .basis = "1d6+5", .schwellenwert = 12, .schadensschritte = 2, .modifikator_attacke = 0, .modifikator_parade = -1, .initiative = -1, .bruchfaktor = 4, .distanzklasse = "N", .kampftalente = "Zweihand-Hiebwaffen", .laenge = .{ .value = 100, .unit = .halbfinger }, .zweihaendig = true, .werfbar = false, .improvisiert = false, .priviligiert = false }, .gewicht = .{ .value = 110, .unit = .unze }, .preis = .{ .value = 75, .unit = .silbertaler } } } }, @import("Items/Bewaffnungen/Pailos.zon"), @import("Items/Bewaffnungen/Schnitter.zon"), @import("Items/Bewaffnungen/Spitzhacke.zon"), @import("Items/Bewaffnungen/Vorschlaghammer.zon"), @import("Items/Bewaffnungen/Warunker_Hammer.zon"), @import("Items/Bewaffnungen/Zwergenschlaegel.zon"), }}}, .{ .Folder = .{ .name = "Zweihandschwerter/-säbel", .entries = &.{ @import("Items/Bewaffnungen/Andergaster.zon"), @import("Items/Bewaffnungen/Anderthalbhaender.zon"), @import("Items/Bewaffnungen/Boronssichel.zon"), @import("Items/Bewaffnungen/Doppelkhunchomer.zon"), @import("Items/Bewaffnungen/Großer_Sklaventod.zon"), @import("Items/Bewaffnungen/Richtschwert.zon"), @import("Items/Bewaffnungen/Rondrakamm.zon"), @import("Items/Bewaffnungen/Tuzakmesser.zon"), @import("Items/Bewaffnungen/Zweihaender.zon"), }}}, .{ .Folder = .{ .name = "Handgemenge-Waffen (Raufen)", .entries = &.{ // .{ .Bewaffnung = .{ .name = "Fausthieb", .system = .{ .nahkampfwaffe = .{ .aktiv = true, .basis = "1d6 (A)*", .schwellenwert = 10, .schadensschritte = 3, .modifikator_attacke = -1, .modifikator_parade = -2**, .initiative = -2, .bruchfaktor = -, .distanzklasse = "H", .kampftalente = "Raufen", .laenge = .{ .value = -, .unit = .halbfinger }, .zweihaendig = false, .werfbar = false, .improvisiert = false, .priviligiert = false }, .gewicht = -, .preis = - } } }, // .{ .Bewaffnung = .{ .name = "Tritt/Kopfstoß", .system = .{ .nahkampfwaffe = .{ .aktiv = true, .basis = "1d6 (A)*", .schwellenwert = 10, .schadensschritte = 3, .modifikator_attacke = -1, .modifikator_parade = -2**, .initiative = -1, .bruchfaktor = -, .distanzklasse = "H", .kampftalente = "Raufen", .laenge = .{ .value = -, .unit = .halbfinger }, .zweihaendig = false, .werfbar = false, .improvisiert = false, .priviligiert = false }, .gewicht = -, .preis = - } } }, @import("Items/Bewaffnungen/Drachenklaue.zon"), @import("Items/Bewaffnungen/Drachenklaue_lange_Klinge.zon"), @import("Items/Bewaffnungen/Drachenklaue_Klingenfaenger.zon"), @import("Items/Bewaffnungen/Drachenklaue_Klingenbrecher.zon"), @import("Items/Bewaffnungen/Veteranenhand.zon"), // .{ .Bewaffnung = .{ .name = "Schlagring", .system = .{ .nahkampfwaffe = .{ .aktiv = true, .basis = "1d6+2 (A)", .schwellenwert = 10, .schadensschritte = 3, .modifikator_attacke = -1, .modifikator_parade = -2, .initiative = 0, .bruchfaktor = 0, .distanzklasse = "H", .kampftalente = "Raufen", .laenge = .{ .value = -, .unit = .halbfinger }, .zweihaendig = false, .werfbar = false, .improvisiert = false, .priviligiert = false }, .gewicht = 20, .preis = 25 } } }, @import("Items/Bewaffnungen/Orchidee.zon"), @import("Items/Bewaffnungen/Panzerarm.zon"), }}}, .{ .Folder = .{ .name = "Schilde", .entries = &.{ @import("Items/Bewaffnungen/Einfacher_Holzschild.zon"), @import("Items/Bewaffnungen/Verstaerkter_Holzschild.zon"), @import("Items/Bewaffnungen/Lederschild.zon"), @import("Items/Bewaffnungen/Thorwalerschild.zon"), @import("Items/Bewaffnungen/Großer_Lederschild.zon"), @import("Items/Bewaffnungen/Großschild_Reiterschild.zon"), @import("Items/Bewaffnungen/Turmschild.zon"), @import("Items/Bewaffnungen/Mattenschild.zon"), @import("Items/Bewaffnungen/Buckler.zon"), @import("Items/Bewaffnungen/Großer_Vollmetall_Buckler.zon"), @import("Items/Bewaffnungen/Panzerarm.zon"), @import("Items/Bewaffnungen/Bock.zon"), @import("Items/Bewaffnungen/Drachenklaue.zon"), @import("Items/Bewaffnungen/Drachenklaue_lange_Klinge.zon"), @import("Items/Bewaffnungen/Drachenklaue_Klingenfaenger.zon"), @import("Items/Bewaffnungen/Drachenklaue_Klingenbrecher.zon"), }}}, .{ .Folder = .{ .name = "Parierwaffen", .entries = &.{ @import("Items/Bewaffnungen/Buckler.zon"), @import("Items/Bewaffnungen/Großer_Vollmetall_Buckler.zon"), @import("Items/Bewaffnungen/Panzerarm.zon"), @import("Items/Bewaffnungen/Bock.zon"), @import("Items/Bewaffnungen/Drachenklaue.zon"), @import("Items/Bewaffnungen/Drachenklaue_lange_Klinge.zon"), @import("Items/Bewaffnungen/Drachenklaue_Klingenfaenger.zon"), @import("Items/Bewaffnungen/Drachenklaue_Klingenbrecher.zon"), @import("Items/Bewaffnungen/Hakendolch.zon"), @import("Items/Bewaffnungen/Kriegsfaecher.zon"), @import("Items/Bewaffnungen/Linkhand.zon"), @import("Items/Bewaffnungen/Langdolch.zon"), }}}, }}; pub fn main() !void { const progress = std.Progress.start(.{ .root_name = "Building compendiums", .estimated_total_items = 3 }); defer progress.end(); try std.fs.cwd().makePath("packs"); try talente .serialize("packs/talente"); progress.completeOne(); try ruestungen .serialize("packs/ruestungen"); progress.completeOne(); try bewaffnungen.serialize("packs/bewaffnungen"); progress.completeOne(); } fn print_contents(path: [:0]const u8) !void { var diagnostic: leveldb.Diagnostic = null; const db = leveldb.open(.{ .path = path, .diagnostic = &diagnostic }) catch |err| { std.log.err("leveldb.open failed: {s}", .{ diagnostic.? }); return err; }; defer db.close(); const iter = db.iterator(.{}); defer iter.destroy(); iter.seek_to_first(); while(iter.is_valid()) { defer iter.next(); std.log.debug("key: '{s}' value: '{s}'", .{ iter.key(), iter.value() }); } }