Files
wfrp-4e-de/tools/import-herbs.lua
T
2025-05-03 14:54:23 +02:00

676 lines
14 KiB
Lua

local JSONDEC = [[
[
{
"Pflanze": "Pomme",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Terre agricole",
"Affinität": "Bête (Ghur)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Wald",
"Affinität": "Bête (Ghur)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Prairie",
"Affinität": "Bête (Ghur)"
},
{
"Pflanze": "Haricot noir",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Prairie",
"Affinität": "Bête (Ghur)"
},
{
"Pflanze": "Coriandre",
"Verfügbarkeit": "Rare",
"Umgebung": "Prairie",
"Affinität": "Bête (Ghur)"
},
{
"Pflanze": "Vêture de Renard",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Wald",
"Affinität": "Bête (Ghur)"
},
{
"Pflanze": "Iris",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Marais",
"Affinität": "Bête (Ghur)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Heide",
"Affinität": "Bête (Ghur)"
},
{
"Pflanze": "Laurier",
"Verfügbarkeit": "Limité",
"Umgebung": "Wald",
"Affinität": "Bête (Ghur)"
},
{
"Pflanze": "Roquette",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Tourbière",
"Affinität": "Bête (Ghur)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Prairie",
"Affinität": "Bête (Ghur)"
},
{
"Pflanze": "Romarin",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Wald",
"Affinität": "Bête (Ghur)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Prairie",
"Affinität": "Bête (Ghur)"
},
{
"Pflanze": "Câpre",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Marais",
"Affinität": "Mort (Shyish)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Heide",
"Affinität": "Mort (Shyish)"
},
{
"Pflanze": "Ciboulette",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Wald",
"Affinität": "Mort (Shyish)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "prairie",
"Affinität": "Mort (Shyish)"
},
{
"Pflanze": "Cigüe aquatique",
"Verfügbarkeit": "Limité",
"Umgebung": "Aquatique",
"Affinität": "Mort (Shyish)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Marais",
"Affinität": "Mort (Shyish)"
},
{
"Pflanze": "Primevère officinale",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Wald",
"Affinität": "Mort (Shyish)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Prairie",
"Affinität": "Mort (Shyish)"
},
{
"Pflanze": "Belladone",
"Verfügbarkeit": "Limité",
"Umgebung": "Wald",
"Affinität": "Mort (Shyish)"
},
{
"Pflanze": "Armoise",
"Verfügbarkeit": "Rare",
"Umgebung": "Obscurité",
"Affinität": "Mort (Shyish)"
},
{
"Pflanze": "Rose",
"Verfügbarkeit": "Limité",
"Umgebung": "Wald",
"Affinität": "Mort (Shyish)"
},
{
"Pflanze": "Rose de Morr",
"Verfügbarkeit": "Rare",
"Umgebung": "Jardin de Morr",
"Affinität": "Mort (Shyish)"
},
{
"Pflanze": "Aulne",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Wald",
"Affinität": "Feu (Aqshy)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Prairie",
"Affinität": "Feu (Aqshy)"
},
{
"Pflanze": "Orge",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Terre agricole",
"Affinität": "Feu (Aqshy)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Prairie",
"Affinität": "Feu (Aqshy)"
},
{
"Pflanze": "Consoude officinale",
"Verfügbarkeit": "Rare",
"Umgebung": "Wüste",
"Affinität": "Feu (Aqshy)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Heide",
"Affinität": "Feu (Aqshy)"
},
{
"Pflanze": "Houblon",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Terre agricole",
"Affinität": "Feu (Aqshy)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Wald",
"Affinität": "Feu (Aqshy)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Prairie",
"Affinität": "Feu (Aqshy)"
},
{
"Pflanze": "Lys",
"Verfügbarkeit": "Limité",
"Umgebung": "Aquatique",
"Affinität": "Feu (Aqshy)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Marais",
"Affinität": "Feu (Aqshy)"
},
{
"Pflanze": "Livège",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Prairie",
"Affinität": "Feu (Aqshy)"
},
{
"Pflanze": "Mauve",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Wald",
"Affinität": "Feu (Aqshy)"
},
{
"Pflanze": "Valériane officinale",
"Verfügbarkeit": "Limité",
"Umgebung": "Heide",
"Affinität": "Feu (Aqshy)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Montagnes",
"Affinität": "Feu (Aqshy)"
},
{
"Pflanze": "Saxifraga",
"Verfügbarkeit": "Limité",
"Umgebung": "Aquatique",
"Affinität": "Cieux (Azur)"
},
{
"Pflanze": "Chervile",
"Verfügbarkeit": "Rare",
"Umgebung": "Wüste",
"Affinität": "Cieux (Azur)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Heide",
"Affinität": "Cieux (Azur)"
},
{
"Pflanze": "Aneth",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Prairie",
"Affinität": "Cieux (Azur)"
},
{
"Pflanze": "Scille",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Montagnes",
"Affinität": "Cieux (Azur)"
},
{
"Pflanze": "Marjolaine",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Wald",
"Affinität": "Cieux (Azur)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Prairie",
"Affinität": "Cieux (Azur)"
},
{
"Pflanze": "Basilic",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Wald",
"Affinität": "Métal (Chamon)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Prairie",
"Affinität": "Métal (Chamon)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Montagnes",
"Affinität": "Métal (Chamon)"
},
{
"Pflanze": "Camomille",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Wald",
"Affinität": "Métal (Chamon)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Prairie",
"Affinität": "Métal (Chamon)"
},
{
"Pflanze": "Cyprès",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Collines",
"Affinität": "Métal (Chamon)"
},
{
"Pflanze": "Gingembre",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Wald",
"Affinität": "Métal (Chamon)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Prairie",
"Affinität": "Métal (Chamon)"
},
{
"Pflanze": "Menthe",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Wald",
"Affinität": "Métal (Chamon)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Prairie",
"Affinität": "Métal (Chamon)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Collines",
"Affinität": "Métal (Chamon)"
},
{
"Pflanze": "Chêne",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Wald",
"Affinität": "Métal (Chamon)"
},
{
"Pflanze": "Safran",
"Verfügbarkeit": "Exotique",
"Umgebung": "Prairie",
"Affinität": "Métal (Chamon)"
},
{
"Pflanze": "Achillée millefeuille",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Wald",
"Affinität": "Métal (Chamon)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Heide",
"Affinität": "Métal (Chamon)"
},
{
"Pflanze": "Anis",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Wald",
"Affinität": "Vie (Ghyran)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Prairie",
"Affinität": "Vie (Ghyran)"
},
{
"Pflanze": "Arnica",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Prairie",
"Affinität": "Vie (Ghyran)"
},
{
"Pflanze": "Centaurium",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Wald",
"Affinität": "Vie (Ghyran)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Prairie",
"Affinität": "Vie (Ghyran)"
},
{
"Pflanze": "Stellaire intermédiaire",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Marais",
"Affinität": "Vie (Ghyran)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Prairie",
"Affinität": "Vie (Ghyran)"
},
{
"Pflanze": "Tussilage",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Prairie",
"Affinität": "Vie (Ghyran)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Heide",
"Affinität": "Vie (Ghyran)"
},
{
"Pflanze": "Molène Thapsus",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Montagnes",
"Affinität": "Vie (Ghyran)"
},
{
"Pflanze": "Noisetier",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Wald",
"Affinität": "Vie (Ghyran)"
},
{
"Pflanze": "Millepertuis perforé",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Marais",
"Affinität": "Vie (Ghyran)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Obscurité",
"Affinität": "Vie (Ghyran)"
},
{
"Pflanze": "Souci officinal",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Prairie",
"Affinität": "Vie (Ghyran)"
},
{
"Pflanze": "Ortie",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Tous",
"Affinität": "Vie (Ghyran)"
},
{
"Pflanze": "Coquelicot",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Prairie",
"Affinität": "Vie (Ghyran)"
},
{
"Pflanze": "Sauge",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Wald",
"Affinität": "Vie (Ghyran)"
},
{
"Pflanze": "Oseille",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Wald",
"Affinität": "Vie (Ghyran)"
},
{
"Pflanze": "Thym",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Wald",
"Affinität": "Vie (Ghyran)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Prairie",
"Affinität": "Vie (Ghyran)"
},
{
"Pflanze": "Sève d'arbre",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Wald",
"Affinität": "Vie (Ghyran)"
},
{
"Pflanze": "Angélique officinale",
"Verfügbarkeit": "Limité",
"Umgebung": "Herbacée",
"Affinität": "Lumière (Hysh)"
},
{
"Pflanze": "Pétasite",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Wald",
"Affinität": "Lumière (Hysh)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Prairie",
"Affinität": "Lumière (Hysh)"
},
{
"Pflanze": "Aunée",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Wald",
"Affinität": "Lumière (Hysh)"
},
{
"Pflanze": "Fenouil",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Wald",
"Affinität": "Lumière (Hysh)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Prairie",
"Affinität": "Lumière (Hysh)"
},
{
"Pflanze": "Ail",
"Verfügbarkeit": "Limité",
"Umgebung": "Wald",
"Affinität": "Lumière (Hysh)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Prairie",
"Affinität": "Lumière (Hysh)"
},
{
"Pflanze": "Genevrier",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Prairie",
"Affinität": "Lumière (Hysh)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Heide",
"Affinität": "Lumière (Hysh)"
},
{
"Pflanze": "Saponaire officinal",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Marais",
"Affinität": "Lumière (Hysh)"
},
{
"Pflanze": "Aurone",
"Verfügbarkeit": "Rare",
"Umgebung": "Wald",
"Affinität": "Lumière (Hysh)"
},
{
"Pflanze": "Chardon béni",
"Verfügbarkeit": "Rare",
"Umgebung": "prairie",
"Affinität": "Ombre (Uglu)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Heide",
"Affinität": "Ombre (Uglu)"
},
{
"Pflanze": "Digitale pourpre",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Wald",
"Affinität": "Ombre (Uglu)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Prairie",
"Affinität": "Ombre (Uglu)"
},
{
"Pflanze": "Jusquiame",
"Verfügbarkeit": "Rare",
"Umgebung": "Wald",
"Affinität": "Ombre (Uglu)"
},
{
"Pflanze": "Mélisse",
"Verfügbarkeit": "Exotique",
"Umgebung": "Montagnes",
"Affinität": "Ombre (Uglu)"
},
{
"Pflanze": "Noix de Muscade",
"Verfügbarkeit": "Rare",
"Umgebung": "Wüste",
"Affinität": "Ombre (Uglu)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Prairie",
"Affinität": "Ombre (Uglu)"
},
{
"Pflanze": "",
"Verfügbarkeit": "",
"Umgebung": "Heide",
"Affinität": "Ombre (Uglu)"
},
{
"Pflanze": "Saule Blanc",
"Verfügbarkeit": "Verbreitet",
"Umgebung": "Wald",
"Affinität": "Ombre (Uglu)"
}
]
]]
package.path = package.path .. ";luajson/?.lua"
local JSON = require"json"
local herbOut = {}
local herbsIn = JSON.decode(JSONDEC)
for idx, herb in pairs(herbsIn) do
local rec = { type = "Pflanze" }
if herb.Pflanze == "" then
local rec = herbOut[#herbOut]
rec.Umgebung[#rec.Umgebung+1] = string.lower(herb.Umgebung)
else
for key, data in pairs(herb) do
local key = string.lower(key)
if key == "Pflanze" then
rec.name = data
elseif key == "Affinität" then
rec.affinite = data
elseif key == "Verfügbarkeit" then
rec.rarete = data
else
if key == "Umgebung" then
if not rec[key] then
rec[key] = {}
end
rec[key][#rec[key]+1] = string.lower(data)
else
rec[key] = string.lower(data)
end
end
herbOut[#herbOut+1] = rec
end
end
end
local JSONO = JSON.encode( herbOut)
local fp = io.open("herbs.json", "w+")
fp:write(JSONO)
fp:close()