530 lines
29 KiB
Zig
530 lines
29 KiB
Zig
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/Singen.zon"),
|
|
@import("Items/Talente/Singen.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() });
|
|
}
|
|
}
|