mirror of
https://github.com/afritz1/OpenTESArena.git
synced 2026-09-11 12:56:41 +02:00
Page:
Name generation
Pages
Character Generation
Chasms
City Generation
Combat
Dialogue
Diseases
Dungeon Generation
Home
Interiors
Items
Light levels
Loot
Movement
NPCs
Name generation
Player stats
Resting
Save File Formats
Services
Shops
Sky behavior
Skybox
Spellmaker
Spells
Thieving
Time and Calendar
Timing
Travel
User interface
Weather
Wilderness
No results
6
Name generation
Aaron edited this page 2025-04-25 17:36:36 -07:00
Table of contents
Names
There are 58 lists of name chunks found in NAMECHNK.DAT.
Before generating a name, the Arena PRNG should be initialized with the corresponding seed. The generation process is depending on the race and sex.
Names are composed from left to right by calculating rnd() mod chunk[i].StringCount; if a percentage is provided, you need to calculate rnd() mod 100.
Chunk indices and name composition
Race Male Female Comment
------------------------------------------------------------
0 0+1+' '+4+5 2+3+' '+4+5 bretons Theodore/Morganna Hawkwing
1 6+7+8+9{<=75%} 6+7+8+9{<=75%}+10 redguards Bab(an?)/i
2 11+12+' '+15+16+'sen' 13+14+' '+15+16+'sen' nords Erik/Helle Eriksen
3 17+18+' '+21+22 19+20+' '+21+22 dunmers Shurik/Lolth R'is
4 23+24+' '+27+28 25+26+' '+27+28 altmers Solinar/Korimia Gaeorin
5 29+30+' '+33+34 31+32+' '+33+34 bosmers Elistan/Mingina Mosswood
6 35+36+' '+39+40 37+38+' '+39+40 khajiiti Mojtaba/Fatima Jahan
7 41+42+' '+45+46 43+44+' '+45+46 argonians Tiberius/Tabia Caesar
8-16 47+48{<=75%}+49 same imperials, minotaurs to homunculi Gro(an?)tor
17-20 50+51{<=75%}+52 same ice golems to fire demons Dem(og?)orgon
21 50+52+53 same medusae Demorgona
22 (54+' '){<=25%}+55+56+57 same vampires (Lord ?)Vladimon
23 55+56+57 liches Vladimon
Ruler names
female <- if ((rulerSeed & 0x3) == 0) then 1 else 0
srand(rulerSeed)
if province == 8 then title <- ("Emperor", "Empress")
else if cityType == 0 then title <- ("King", "Queen")
else if cityType == 2 then title <- ("Lord", "Lady")
else title <- titles[((rnd() % 4) + 1) + (if female then 7 else 0)]
srand(rulerSeed)
rulerName <- generateName(province, female)