Game-CharacterSheetGenerator
view release on metacpan or search on metacpan
lib/Game/CharacterSheetGenerator/ElfNames.pm view on Meta::CPAN
#!/usr/bin/env perl
# Copyright (C) 2012-2022 Alex Schroeder <alex@gnu.org>
# This program is free software: you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
# Foundation, either version 3 of the License, or (at your option) any later
# version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along with
# this program. If not, see <http://www.gnu.org/licenses/>.
=encoding utf8
=head1 NAME
Game::CharacterSheetGenerator::ElfName - return a elf name
=head1 SYNOPSIS
use Game::CharacterSheetGenerator::ElfName qw(elf_name);
# returns both $name and $gender (F, M, or ?)
my ($name, $gender) = elf_name();
# returns the same name and its gender
($name, $gender) = elf_name("Alex");
=head1 DESCRIPTION
This package has one function that returns a elf name and a gender. The gender
returned is "M", "F", or "?".
If a name is provided, the gender is returned.
=cut
package Game::CharacterSheetGenerator::ElfNames;
use Modern::Perl;
use utf8;
require Exporter;
our @ISA = qw(Exporter);
our @EXPORT_OK = qw(elf_name);
sub one {
my $i = int(rand(scalar @_));
return $_[$i];
}
# Sindarin-English & English-Sindarin Dictionary, J-M Carpenter (2017)
# https://realelvish.net/names/sindarin/woodelf/all/
# https://sindarinlessons.weebly.com/36---how-to-make-names-1.html
# https://sindarinlessons.weebly.com/37---how-to-make-names-2.html
my @prefix =
qw(achar adertha adleg al amartha anÃra aphada ar ava awartha badh batha
beria blab brenia brona buia cab can car carpha cen critha dartha delia
dew dÃhena doltha drava drega dringa echad edledhia egleria eitha elia
ercha ertha fantha fara feira feria fuia gad gala gir gladh glavra
glintha glir gohena gonod gor gosta groga gruitha gwatha gwathra gweria
gwesta had hal haltha hamma harna hasta henia hwinia ialla Ãdha Ãdhra
ista iuitha laba lala lamma lasta lathra linna luitha mel metha mista nag
nalla nara narcha ndag ndagra ndamma nde nedia negra neitha nella nesta
ngal nganna nod nor northa orthel orthor osgar pad padra ped pel per puia
rada ran reda redh reitha reth rhib rista ritha rosta ruthra sÃla sog
suila teilia teitha telia theria thilia thora thosta tintha tir toba
toltha tortha trasta trevad tuia);
my @word =
qw(abonthen achad adan agar agarwen aglar aglareb agor aith alag alagos alph
alu alwed amar amarth amarthan amath amdir amlug amon amrûn anc and
andreth ang angol angren annui annûn anor anu anwar apharch ar aran aras
arn arod arth asgar ast astor athe aur avorn awarth bain balch bara baran
beleg belt belthas beren bereth bor born bragol braig brand brassen
bregol brog bronadui brui brûn bŷr cadu cadwar cal calar calen callon cam
canad cand caran carch carweg caun celair celeb celebren celeg celevon
cem cidinn cinnog cîw coll com conui corch cordof corn coru coth craban
crann crist crumui cû cugu cuin cûn cund curu cŷr dail de del deleb delu
dem der dern dîn dÃnen dîr dol dolen doll dom donn dorn dram draug dring
dû dûr dŷr ech ecthel eden edhel edhellen edlenn eg egas eglan eglir
eglos eiliant einior el elanor ell elloth elu en er ereb eredh ereg eru
erui esgal estel estent ethir ew ewen fain fair falas falf fanui far faug
faun fe feg fel fela fen fer fern ferui filig fim find fÃreb firen forgam
forn forod forodren fuin gail galadh galas galenas gamp gaud gear gearon
gel gell gellam gellui gem ger gern geruil glad glam glamor glamren glan
glass glaur glaw gler glîr glórin gloss goeol golass gondren gordh gorn
gost graw gronn gruin gûr gwache gwain gwann gwarth gwath gwathren
gwathui gwaun gwaur gwe gwen gweren gwest gwew gwilwileth gwîn hadhod hal
hall hallas hand hannas harad haradren hargam harn harvo hast hathel he
helch heledir hell hen heneb her hethu hîl him hîr hiril hith hithren
hithui hîw horn hû hûr hwand hwîn iand iar iaun iaur îdh idhor idhren ind
ingem inu iphant Ãrui ist istui ithil ivren lagor laich lain lalaith lalf
lam lanc land lang lass laug lavan leb leg lend ler lew leweg lhain lhew
lhind lhûg lim limp lind lithui loen lom lorn lossen lost loth luin lum
lung lÅ·g madweg maelui magor maidh malt malthen malthorn malu man mbar
mbarad mecheneb med medli medlin medui meg megil melch meldir meldis
meleth mell mellon melui men mer meren meron mesg methen mew milui min
minai mîr mith mithren mîw morgul morn muil muin mûl mund mŷl naith nar
( run in 0.813 second using v1.01-cache-2.11-cpan-75ffa21a3d4 )