Nala, Gorzad, Runti, Durar, Chalo, Nalraka, Belisch, Durni, Dwinina, Gilunn, Thorin, Caltri, Gruala, Balak, Munnos and Boflin: This and many more (total of 2200 female and 2200 male) first names can be generated with the following lua script, providing every Dwarf with an individual Name.
Why this?
->More remarkable Dwarven Names (not every fourth Dwarf is called "Inod" but every 4000th)
->Gender distinguishable by name (female ending on -a, -e or -i)
->easy expandable
--Nameparts by http://jtevans.kilnar.com/rpg/dnd/tools/dwarf.php, Aerval
local firstnamepart = {"Ar", "At", "B", "Bal", "Bel", "Bil", "Bof", "Bol", "Bul", "Cal", "Chal", "D", "Dal", "Dor", "Dw", "Far", "Gil", "Gim", "Grun", "Ing", "In", "Kil", "Kl", "Mor", "Nal", "Nor", "Ov", "Th", "Thor", "Thr", "Bar", "Bro", "Dim", "Dru", "Dur", "Dwin", "Fim", "Gar", "Gom", "Gor", "Gri", "Gro", "Gru", "Grun", "Ha", "Har", "Her", "Ket", "Mun", "Rag", "Run", "Sim", "Stor", "Thin", "Ur", "Thar"};
local female_secondpart = {"a", "ala", "ana", "ia", "ila", "ina", "ola", "ona", "goli", "dina", "kka", "e", "fine", "i", "zadi", "ondi", "umma", "undi", "unni", "kona", "gini", "mina", "raka", "bari", "bura", "ili", "rundi", "rimi", "tri", "tria", "gari", "tila", "dria", "nia", "ria", "dri", "ni", "ri", "grima", "ti"};
local male_secondpart = {"aim", "ain", "ak", "ard", "eff", "ip", "ar", "im", "in", "isch", "lin", "hold", "oco", "o", "or", "ur", "gol", "din", "kk", "nos", "ond", "od", "zad", "ond", "um", "und", "unn", "kon", "gin", "min", "on", "rak", "bar", "bur", "il", "rund", "rim", "gar", "til", "grim", "van"};
local dwarfRace = df.global.ui.race_id;
math.randomseed(dwarfRace)
for index,unit in pairs(df.global.world.history.figures) do --Renaming all the historical dwarves
if ( unit.race == dwarfRace ) then
if (unit.sex ~= 0) then
unit.name.first_name = firstnamepart[math.random(#firstnamepart)]..male_secondpart[math.random(#male_secondpart)];
else
unit.name.first_name = firstnamepart[math.random(#firstnamepart)]..female_secondpart[math.random(#female_secondpart)];
end
--unit.name.words[0] = -1;
--unit.name.words[1] = -1;
end
end
for index,unit in pairs(df.global.world.units.all) do --Renaming pretty much everyone else
if ( unit.race == dwarfRace ) then
if (unit.sex ~= 0) then
unit.name.first_name = firstnamepart[math.random(#firstnamepart)] .. male_secondpart[math.random(#male_secondpart)];
else
unit.name.first_name = firstnamepart[math.random(#firstnamepart)].. female_secondpart[math.random(#female_secondpart)];
end
--unit.name.words[0] = -1;
--unit.name.words[1] = -1;
end
end
print("firstnamepart: "..#firstnamepart.."\nfemale: "..#female_secondpart.."\nmale: "..#male_secondpart);
Credits:
expwnent for his DwarvenHeritage script (both scripts can be combined)
http://jtevans.kilnar.com/rpg/dnd/tools/dwarf.php -> Dwarven Name generator
Dfhack and DFusion crew