Civilization Appropriate General and Admiral names

LeeS

Imperator
Joined
Jul 23, 2013
Messages
7,241
Location
Illinois, USA
Civilization Appropriate Great General and Great Admiral Names
G & K and BNW Only​

This is a mod that creates Great General and Great Admiral Names that are appropriate for the player's chosen civilization, rather than using random names.

With this mod, Rome will get Gnaeus Pompeius or Germanicus Julius Caesar as great generals but not Mikhail Illarionovich Kutuzov or Kiyotake Kawaguchi. England will get great generals such as Arthur Wellesley or John Churchill, and admirals such as Horatio Nelson or Sir Edward Pellew but not admiral names such as Alfred von Tirpitz or Chester Nimitz.

Download Links: Steam Mod Page Here Forum Download Page Here




Expansion Compatibility

I can only be sure the mod is Compatible with G&K and BNW. I have structed the mod so it might also be compatible with Vanilla, but I cannot be sure.

Custom Civilizations Compatibility

The mod is compatible with any custom civilization. If the author of the custom civ adds Great General and/or Great Admirals names correct for their custom civ, then this mod will use those names for that civ when both mods are enabled by the player.

I will be adding a bit more detailed instructions for authors of custom civilizations on how to add names specific to their civilization to their mods. This may take me a day or two to get the specific details ironed-out and presented here.

Authors of Custom Civilization Mods Please See Post #9 For Instructions


Current Status
  1. I have completed the Great Generals list, but still have some work to do on the Admirals list. I will most likely 'flesh-out' the Admirals list a little more and then publish the Generals-heavy version of the mod this coming weekend. The Admirals I will plump out as I find more names that are good to use. If you have any suggestions for additional names, please send me a PM or drop a note here. See the link just below to Post #8, where I have a complete current list of generals and admirals.
  2. As of this moment the list of Great Generals is over 600 names. The Admirals list is currently 195 total names. (18July2014)

List of Great Generals and Admirals
Please see post # 8. The list was too large to include in this post.


How the Mod Works
Without going into painful details of how the lua functions that handles all this, the mod works like this:
  1. Civilizations are assigned their own unique list of Great General and Great Admiral Names. This has been done for all the "stock" Firaxis-supplied civilizations, whether from Vanilla, Gods & Kings, BNW, or one of the DLC packages.
  2. There is also a list of ~50 Generic Great General and ~20 Generic Great Admiral Names.
  3. Custom civilizations added by other mods can also specify a list of unique names for Great Generals and Great Admirals, but they do not have to do so.
  4. If a specific civilization is active within a game, it's unique list of General and Admiral Names is reserved for its use only.
    • If two or more versions of the same civilization are being used within the same game, each of these is assigned the complete list correct for this civilization, and for each such civilization its own version of the list for that civ is drawn from and tracked individually to all other 'copies' of the same civilization.
    • So if you load up a lol-game with 8 opponent civs all playing as Shaka, each of these Shakas will use the set of General and Admiral names for Shaka, and it is quite possible (perhaps even likely) that there will be multiple copies of Zwelithini as a Great General for differing versions of Shaka in such a game.
  5. If a civilization (Major or Minor) does not have any unique names assigned to it, it draws from the Generic list.
    • If a civilization uses up all its assigned names, it will begin to draw from the Generic list.
    • City-States never have a specific list so they always draw from the Generic list.
  6. Names for civilizations that are nor active within a particular game are thrown into a Fallback List. If at any time during the game the Generic list becomes exhausted, then the Fallback list takes the place of the Generic list.
  7. Selection of a particular name for a great general or great admiral is done randomly from the appropriate lists. This should give a more unique flavor to every play-through as Rome, for example. A player will not necessarily always get the same set of Great General names appearing. All will be appropriate to the Civilization the player is playing as, but in an individual play-through, a Rome player might get Gaius Marius, Quintus Sertorius, and Marcus Aurelius. On the next play-through the player might get Marius again, but get Lucius Sulla and Fabius Maximus instead of Sertorius and Aurelius.
  8. The same effects as outlined pertain to all players within a game, Human or AI, Major Civilization or City State.

Comments, Feedback, Buggyness Reports
Please leave any thoughts, comments, feedback on the overall concept, or reports of suspected buggyness here on this thread.

Mods Compatibility to Game-Mechanic-Mods
  • As of V8 the mod is now compatible with Great Heroes Mod
    • Until recently I was not even aware there was a problem
  • The Mod is Compatible with Really Advanced Set-up but there will be no unit renaming and you will get a player notification of an error with this mod when using Really Advanced Set-Up to add a Great General or Great Admiral unit at the start of the game. Really Advanced Set-Up does its thing with adding units before this mod even has a chance to 'set itself up' to get ready for a new game.
    • Until recently I was not even aware there was a problem

Credits and Thanks

Credit and Thanks for borrowed code elements:
  • Pazyryk for the TableSaverLoader.lua
  • Darkscythe for help at numerous times for advice and help, most significantly for recently figuring out the bug in Pazyryk's TableSaverLoader method and coming up with a solution so all mods that use Pazyryk's TableSaverLoader can safely store and retrieve their needed data across saved and reloaded games. DarkScythe's add-on for TableSaverLoader also vastly simplifies the coding-procedures needed to activate Pazyryk's TableSaverLoader.
  • Machiavelli for his SerialEventUnitCreatedGood lua/xml system

Credit and Thanks for helping with General and Admiral names:
Forum Members -> Gaius Octavius, DonStamos, Nokmirt, LoneRebel, EgonSpengler, awesome, andreafin, Sagax, Krajzen, CaterpillarKing, ArnoldI, ehecatzin, Syailendra, Hyronymus.

Credit and Thanks (for general ideas etc. as I was working on the mod:
  1. DarkScythe for letting me rant and spitball when I was having trouble getting the table save / table load to work
  2. JFD for some of the starting code ideas in SQL
  3. Whoward at various times, but most especially because he halted me from wasting endless hours chasing a fruitless rabbit-hole code-path. Also for a sort of 'by the way' comment in a tutorial thread that showed a much easier-to-manage method of adding multiple rows in xml.
Version Notes:
  • V2 Uploaded 17Aug14 Primarily lua improvements. First in the method for attaching the mods needed data to save games, and second in giving compatibility with the lua system for all great people types.
  • V5 Uploaded 09Feb15: added a few Admiral and General names. Primary reason for the update was to solve an issue with the method used to save necessary data, where two or more mods using the same method could interfere with each other and only one mod would get its data saved.
  • V6 Uploaded 27Feb15: Fixed a small typo with a Great Admiral name
  • V7 Uploaded 09Apr15: Added more Great Admiral Names and Updated the mod to use V3 of DarkScythe's Serializer Addon for Pazyryk's TSL data saving system.
  • V8 added compatibility for the Great Heroes Mod and to not make this mod crash when people are using Really Advanced Setup to give themselves a starting Great Admiral or Great General
  • V9 Uploaded 01Jun16:
    • Fixed compatibility issue with the CP base mod, which was causing this mod to fail when the CP base mod was also in use, and which then had a cascade effect of making this mod non-compatible with any of JFD's Game-Mechanic mods that required the CP Base mod.
    • Alterred and expanded the Korean and Ottoman names for both Generals and Admirals based on suggestions of DistantRainbow and balparmak
 

Attachments

  • Marcus_Aurellius_B4.jpg
    Marcus_Aurellius_B4.jpg
    278.2 KB · Views: 1,694
  • Marcus_Aurellius_AFT2.jpg
    Marcus_Aurellius_AFT2.jpg
    281.7 KB · Views: 11,638
Great to see you got this working! I was just thinking to myself: surely I'll have another excuse to re-update mods I already thought to be finished, and here it is :p

On that note, Elizabeth, Napoleon, Hitler, and any with explicitly unique Great Generals (Armenia, Hannibal and Khazaria) have their own civ-sensitive lists, which saves some work. But in time, when this mod is formally released, I'll add support internally for your mods (SQL will handle load order issues).

And to fix the aesthetic issue, couldn't you just depreciate the existing UniqueNames table, create a new one, and have your code call from that?
 
Great to see you got this working! I was just thinking to myself: surely I'll have another excuse to re-update mods I already thought to be finished, and here it is :p
Well, you really didn't have enough on your to-do list. So happy to help with that! :lol:

On that note, Elizabeth, Napoleon, Hitler, and any with explicitly unique Great Generals (Armenia, Hannibal and Khazaria) have their own civ-sensitive lists, which saves some work. But in time, when this mod is formally released, I'll add support internally for your mods (SQL will handle load order issues).
That simple ? I expected it to be a booger. I'll let you know when I'm ready to fully publish world-wide. I may ask for a little help in creating a 'read me' for other mod authors to use in adding the SQL necessary.
And to fix the aesthetic issue, couldn't you just depreciate the existing UniqueNames table, create a new one, and have your code call from that?
I'm already deleting the <UnitType>UNIT_GREAT_GENERAL</UnitType> and <UnitType>UNIT_GREAT_ADMIRAL</UnitType> at the top of the files where I state the Great General and Admiral names. But the built-in Firaxis software just randomly selects a name from the re-built version of the table. I have not found a way to 'intercept' this process without adding a dll, which I have no knowledge of how to do, and wanted to avoid in any case because my understanding is that there can only be one dll from mods active at any time.
 
This is awesome! Adds a nice flavor to the game.

How many names are there in total? In thinking of making a modmod (with your permission, of course) to give certain Great Generals a small bonus related to their roles in real-life.

One solution for custom-civilizations is to make some 'generic cultural' tables, like 'sub-saharian civs', 'english-based civs' or even something more abstract like 'ancient civs'; then, the newly added Custom Civ with support for this mod would have to announce in it's code to which table he belongs and all is well! :D
 
Last count I had already added approx 200 great general names and so far I've only actually added about 30 admiral names. When it's completely wrapped up I'm guesstimating there will be a total of about 400 great general names and 100-150 great admiral names. I'm trying to be as historically accurate as I can in only adding known names to the list, and only adding generals who were actually generals in some capacity, and the same with admirals.

With some civs such as Rome, Greece, Korea, and Carthage, the same person was both 'great' as a general and an admiral, so I've had to make some choices one way or the other.

Other civs never had anything we could equate to the concept of a formal title of 'general', but they did have war leaders who certainly fit the bill. Sitting Bull, Crazy Horse, etc., all come to mind. Though some of the native north american peoples had specific 'War Chief' titles or concepts for such even if they didn't have actual formal titles. So anywhere the historical person fits the criteria, I've used the name.

And some civs I've just used names of known Kings, because not much accurate historical information is available one way or the other as to whether they led thier people in war.
 
This is awesome! Adds a nice flavor to the game.

In thinking of making a modmod (with your permission, of course) to give certain Great Generals a small bonus related to their roles in real-life.
Great mod, I'm really interested to include it in my project ACoT. Of course you will be present in the credit list!
:) That you're interested in using this as something to include in your own mods or something to build from.:)

But, but...sheesh...let me get a final version 1st :D

Just one request would be to handle within your mods the issues that might arrise from your mods being enabled at the same time as mine is so I don't get players burying me in bug reports that are related to interaction between this mod and any based-upon or includes-this mods.
 
List of Great General Names
Spoiler :

Code:
[u]Current List of Great Generals and the Civs to whom they are assigned[/u]

America
	Winfield Scott
	Robert E. Lee
	George S. Patton
	Thomas 'Stonewall' Jackson
	John 'Black Jack' Pershing
	John Reynolds
	Leonard Wood
	Zachary Taylor
	W.S. Hancock
	Omar Bradley
	Dwight D. Eisenhower
	Douglas MacArthur
	John Buford
	James Longstreet
	Mark Clark
	Andrew Jackson
	William T. Sherman
	Philip Sheridan
	Ulysses S. Grant
	George Marshall
	Curtis LeMay
	George Armstrong Custer
	Sam Houston
	J.E.B. Stuart
	George B. McClellan
	Ethan Allen
	Daniel Morgan
	Nathanael Greene
	James H. Doolittle
	Albert Sidney Johnston
	William Prescott
	Israel Putnam
	George Frank Elliott
	George Gordon Meade
	Daniel Harvey Hill

.................................................

Arabia
	Khalid ibn Al-Walid
	Abdullah ibn Aamir
	Yazid ibn Abi Sufyan
	Saladin
	Musa Ibn Nusair
	Uqba ibn Nafi
	Mu'awiya
	Ziyad Ibn Abihi
	Abul Abbas al-Saffah
	Yusuf ibn Tashfin
	Amr Ibn al-As
	Ali Saif ad-Daula
	Ghaliyya al-Wahhabiyya
	Khawlah bint al-Azwar
	Abu Bakr

.................................................

Assyria
	SARGON
	Erishum I
	Ikunum
	Puzur-Ashur
	Mut-Ashkur
	Asinum
	Tiglath-Pileser III

.................................................

Austria
	Albrecht von Wallenstein
	EUGENE_OF_SAVOY
	Friedrich Freiherr von Hotze
	Adam Bayalitsch	
	Ludwig von Belgiojoso
	Karl Ludwig Lorenz (of Austria)
	Karl Ferdinand (of Austria)
	Friedrich Joseph of Nauendorf
	Jozsef Alvinczi
	Heinrich von Bellegarde
	Heinrich von Hess
	Joseph Radetzky
	George Kastrioti
	Janos Hunyadi
	Raimondo Montecuccoli

	Hess as Hess because of difficulties with the correct
	character that ought to go in place of the double 's'

.................................................

Aztec
	Ahuitzotl
	Itzcoatl
	Huitzilhuitl
	Chimalpopoca
	Maxtla
	Nezahualcoyotl
	Tezozomoc
	Cuauhtemoc
	Cuitlahuac
	Tizoc

.................................................

Babylon
	Nebuchadnezzar
	Nabopolassar
	Neriglissar
	Nabonidus
	Belshazzar
	Nebuzaraddan

.................................................

Brazil
	Luis Alves de Lima e Silva
	Simon Bolivar
	Francisco Santander
	Jose de San Martin
	Moreira Cesar
	Costa e Silva
	Emilio Medici
	Bento Goncalves
	Carlos Maria de Alvear
	Antonio Filipe Camarao
	Henrique Dias

.................................................

Byzantium
	BELISARIUS
	Heraclius
	Leo III the Isaurian
	Manuel Boutoumites
	Constantine Dalassenos
	Andronicus Contostephanus
	Michael Maurex
	John Kourkouas
	Flavius Marcianus Augustus

.................................................

Carthage
	Hannibal
	Hamilcar Barca
	Mago Barca
	Hasdrubal
	Carthalo
	Maharbal

.................................................

Celts
	Vercingetorix
	Arminius
	Boudicca
	Orgetorix
	Caractacus
	Cunobelinus
	Dumnorix
	Owain Glyndwr
	Brude
	Cinaed mac Ailpin

.................................................

China
	Cao Cao
	Zhuge Liang
	Sun Tzu
	Qin Shi Huang
	Han Xin
	Yue Fei
	Chang Tso-lin
	Jiang Wei
	Guo Ziyi
	Huang Zhong
	Qi Jiguang
	Ban Chao
	Song Zheyuan
	Lu Xun
	Han Shizhong
	Zhu De
	Sun Jian
	Sun Quan
	Zhang Fei
	Guan Yu
	Liu Bei
	Sun Ce
	Fu Hao
	Li Xiu
	Gao Guiying
	Shen Yunying
	Qin Liangyu
	Xu Da
	Ran Min

.................................................

Denmark
	Ragnar Lothbrok
	Harald Hardrada
	Heinrich Ernst Peymann
	Johann von Ewald
	Olaf Rye
	Thorstein Eiriksson
	Ivar Ragnarsson
	Halfdan Ragnarsson
	Ubbe Ragnarsson
	Rollo
	Horik I
	Godfred
	Swein Estridsson
	Lagertha
	Healfdene
	Hrorek

Thorstein Eiriksson (took some liberties there. Little
		is actually known about him)

.................................................

Egypt
	Thutmose III
	MENES
	RAMSES
	KHUFU
	MENTUHOTEP
	SETI				*need to check which of the Seti's is best
	NARMER
	Ahmose
	Weni
	Amun-her-wenemef
	Piye

.................................................

Ethiopia
	Gelawdewos
	Dawit II
	Menelik II
	Menelik I
	Ras Makonnen
	Tafari Makonnen		original name of Haile Selassie I
	Kassa Hailu


.................................................

England
	William the Conqueror
	Oliver Cromwell
	Bernard Montgomery
	Charles Cornwallis
	Arthur Wellesley
	Douglas Haig
	John Churchill
	Charles George Gordon
	William Howe
	Herbert Kitchener
	Robert Clive
	Richard the Lionheart
	William Wallace
	Sir Henry Clinton
	Douglas Bader
	Harold Alexander
	James Wolfe
	A.C.M. Hugh Dowding
	Alfred the Great
	Athelstan
	Æthelflæd			AS	Aethelflaed
	Mary Bankes
	John Bradstreet
	Æthelwulf of Berkshire		AS	Aethelwulf of Berkshire	

.................................................

France
	Jeanne D'Arc
	Charles Martel
	Ferdinand Foch
	Joseph Joffre
	Andrea Massena
	Charlemagne
	Henri Petain
	Charles de Gaulle
	Maurice de Saxe
	Louis de Bourbon
	Murat
	Louis-Joseph de Montcalm
	Lafayette			AS	Gilbert du Motier
	Leclerc				AS	Philippe Leclerc
	Prince de Conde
	Louis Nicolas Davout
	Georges Guynemer
	Pierre Clostermann
	Louis-Rene de Latouche Treville
	Jean Lannes
	Michel Ney
	Louis Friant
	Louis Desaix
	Robert Guiscard

.................................................

Germany
	Heinz Guderian
	Erwin Rommel
	Carl von Clausewitz
	Helmuth von Moltke
	Paul von Hindenburg
	Erich Ludendorff
	Otto von Bismarck
	Gebhard Leberecht von Blucher
	August Wilhelm von Gneisenau
	Frederick the Great
	Frederick Barbarossa
	Alfred Schlieffen
	Paul von Lettow-Vorbeck
	Maximilian I
	Gunther von Kluge
	Wilhelm I of Prussia
	Wilhelm von Tegetthoff

.................................................

Greece
	Leonidas
	EPAMINONDAS
	PYRRHUS
	LYSANDER
	Thucydides
	Pericles
	Eumenes
	Xanthippus
	Philip II of Macedon
	Parmenion
	Miltiades the Younger
	Coes of Mytilene
	Xenophon
	Pavlos Kountouriotis
	Dimitris Plapoutas
	Theodoros Kolokotronis
	Alcibiades
	Seleucus I Nicator

.................................................

Huns
	Balamber
	Uldin
	Charaton
	Octar
	Rugila
	Bleda
	Ellac
	Dengizich
	Ernakh
	Shaush
	Kutrigur
	Utigur

.................................................

Inca
	Pachacuti
	Manco Inca
	Tupa Amaru
	Atahuallpa
	Chalicuchima
	Quisquis
	Michima Lonco
	Galvarino
	Pelantaro
	Huayna Capac
	Topa Inca Yupanqui
	Huascar
	Atahualpa
	Manco Capac
	Wiraqucha
	Qhapaq Yupanki Inka
	Sinchi Roca
	Inka Roq'a
	Mayta Qhapaq Inka

.................................................

India
	Akbar
	Chandragupta Maurya
	Baji Rao I
	Babur
	Shivaji Bhosle
	Ranjit Singh
	Samudragupta
	Porus
	Bindusara
	Tilak
	Jayavarman II
	Rajaraja Chola
	Keladi Chennamma
	Abbakka Rani
	Begum Hazrat Mahal
	Rani Lakshmibai
	Bibi Sahib Kaur

.................................................


Indonesia
	Soekarno
	Diponegoro
	Soedirman
	Hayam Wuruk
	Sultan Hasanuddin
	Adityawarman
	Airlangga
	Hadiwijaya
	Kyai Gedhe Pamanahan
	Sanjaya of Mataram
	Raden Wijaya

.................................................


Iroquois
	Joseph Brant		AS	Thayendanegea
	Teyoninhokovrawen
	John Deseronto
	Akiatonharonkwen		also known as Joseph Louis Cook 
	Canaqueese
	Ayenwatha
	Thaonawyuthe
	Kaiiontwa'kon
	Si-gwa-ah-doh-gwih
	Sakayengwaraton
	Oskanondonha
	Hasanoanda
	Stand Watie
	Sayenqueraghta
	Tanacharison
	Tecumseh

.................................................

Japan
	Hideki Tojo
	Tomoyuki Yamahorsehockya
	Hiroyoshi Nishizawa
	Minamoto no Yoritomo
	Toyotomi Hideyoshi
	Ashikaga Takauji
	Shingen Takeda
	Kenshin Uesugi
	Tadamichi Kuribayashi
	Iwaichi Fujiwara
	Masanobu Tsuji
	Sosaku Suzuki
	Takahorsehockya Yoshiharu
	Renya Mutaguchi
	Kiyotake Kawaguchi
	Tomoe Gozen
	Nakano Takeko
	Tokugawa Ieyasu
	Yamagata Kyosuke
	Honda Heihachiro			Also known as	Tadakatsu Honda
	Ii Naomasa
	Tachibana Muneshige

.................................................

Korea
	Dongmyeong
	Onjo
	Yi Song-gye
	Eulji Mundeok
	Shin Rip
	Kwon Yul
	Wang Geon
	Gwanggaeto the Great
	Yeon Gaesomun
	Yang Man-chun
	Kim Yu-sin
	Dae Jo-yeong
	Seo Hui
	Gang Gam-chan
	Yun Gwan
	Choe Yeong
	Kim Jong-seo
	Gwak Jae-u
	Im Gyeong-eop
	Hong Beom-do
	Kim Chwa-chin

.................................................

Maya
	[U]Emperors and Queens[/U]
	Queen K'Abel
	Ah Mekat Tutul Xiu
	Ah Ulil
	Ch'iyel
	Chac-Xib-Chac
	Chan Chak K'ak'nal Ajaw
	Chanal Balam
	Halach Uinik
	Itzamnaaj Bahlam of Ucanal
	K'ak'Tilw Chan Chaak
	K'ak'upakal
	Kan Ek'
	Kayb'il B'alam
	Lachan K'awiil Ajaw Bot
	Tabscoob
	Aj Yaxjal B'aak
	Tecun Uman

.................................................

Morocco
	Mohammed ash-Sheikh
	Abdallah al-Ghalib
	Ahmad al-Mansur
	Tariq ibn Zeyad
	Uthman ibn Naissa

.................................................

Netherlands
	JOHANN_TSERCLAES
	MAURICE_OF_NASSAU
	Alkmaar Kenau
	William of Orange		AS	William the Silent
	Louis of Nassau
	Willem van Nassau
	Floris de Voogd
	William II of Holland		AS	Willem II van Holland
	Charles III de Croy
	Herman de Lynden
	Gerard Pietersz Hulft
	John Maurice of Nassau
	Frederik Hendrik of Orange
	Maurits van Oranje
	Filips van Lalaing
	Filips van Hohenlohe-Neuenstein
	Hendrik van Nassau-Ouwerkerk
	Frederik Christiaan van Reede
	Godard van Reede
	Joost de Soete
	Adolf van Nieuwenaar
	Willem Frederik van Bylandt
	Willem Frederik George Lodewijk van Oranje-Nassau		AS	Willem Frederik van Oranje-Nassau
	David Hendrik Chasse
	Simon Spoor

.................................................

Ottoman
	Mustafa Kemal
	Mehmet II the Conqueror
	Selim I the Grim	
	Orhan Ghazi
	Murad I Hudavendigar 
	Bayezid I Yildirim
	Pargali Ibrahim
	Turahanoglu Omer Bey
	Murad II Kodja
	Veli Mahmud Pasha		AS	Mahmud Pasha Angelovic
	Lala Kara Mustafa
	Ghazi Evrenos Bey
	Lala Sahin
	Malkocoglu Bali Bey
	Ismet Pasha
	Kazim Pasha
	Fevzi Pasha
	Kuyucu Murad
	Ghazi Osman
	Baltaci Mehmed
	Koprulu Mehmed
	Candarli Ali
	Hadim Sinan
	Zaganos Mehmed
	Cezzar Ahmed
	Tiryaki Hasan
	Humbaraci Ahmed
	Telli Hasan

.................................................

Persia
	Nadir Shah
	Shapur I
	Darius
	Artaxerxes III
	Cyaxares
	Cambyses II
	Xerxes
	Achaemenes
	Khosrau II
	Abbas I
	Mithridates
	Ariobarzanes
	Rustaham Suren-Pahlav
	Bahram Chobin
	Shapur II
	Rostam Farrokhzad
	Babak Khorram-Din
	Cyrus the Great
	Mardonius

.................................................


Poland
	Stanislaw Koniecpolski
	Jan III Sobieski
	Stanislaw Poniatowski
	Emilia Plater (Broel-Plater)
	Jan Karol Chodkiewicz
	Stanislaw Zolkiewski
	Stefan Czarniecki
	Krzysztof Mikolaj Radziwill the "piorun" (thunder)	AS	Krzysztof Mikolaj Radziwill	
	Konstanty Iwanowicz Ostrogski
	Pawel Jan Sapieha
	Stanislaw Maczek
	Wladyslaw Anders
	Tadeusz Rozwadowski
	Stanislaw Haller
	Jozef Pilsudski
	Tadeusz Kosciuszko
	Jan Henryk Dabrowski
	Mieszko I
	Boleslaw I Chrobry
	Wladyslaw I Lokietek
	Wladyslaw II Jagiello
	Stefan Batory						Also known as	Istvan Bathory


.................................................

Polynesia
	Kaleiopuu
	Kalaninuiamamao
	Mokulani
	Keawe
	Keeaumoku Nui
	Umi-a-Liloa
	Hakau
	Kalanimoku
	Kahekili II
	Kalanikupule

.................................................

Portugal
	Matias de Albuquerque
	Francisco Barreto de Meneses
	Andre Furtado de Mendonca
	Phillippe de Oliveira
	Salvador Correia de Sa e Benevides
	Sancho Manoel de Vilhena
	Antonio Jose Severim de Noronha
	Pedro I

.................................................

Rome
	Gnaeus Pompeius
	Gaius Marius
	Scipio Africanus
	Lucius Cornelius Sulla
	Marcus Licinius Crassus					AS Marcus Crassus
	Quintus Sertorius
	Flavius Valerius Aurelius Constantinus Augustus		AS Flavius Constantinus
	Trajan							AS Marcus Ulpius Traianus
	Germanicus Julius Caesar
	Titus Flavius Caesar Vespasianus Augustus			AS Titus Flavius Vespasianus
	Publius Aelius Hadrianus Buccellanus			AS Publius Hadrianus
	Marcus Aurelius
	Septimius Severus
	Fabius Maximus
	Marcus Claudius Marcellus
	Flavius Aetius
	Gaius Avidius Cassius
	Lucius Domitius Aurelianus Augustus			AS Lucius Domitius Aurelianus
	Claudius Gothicus

	*Marcus Licinius Crassus is showing as a great merchant but I've always thought
	of Crassus more as general than plutocrat

.................................................

Russia
	Ivan the Terrible
	Georgy Zhukov
	Mikhail Illarionovich Kutuzov
	Nikolai Ivanov
	Aleksei Brusilov
	Konstantin Rokossovsky
	Aleksandr Vasilevsky
	Nikolai Fyodorovich Vatutin
	Ivan Konev
	Alexander Suvorov
	Michael Romanov
	Pavel Nakhimov
	Konstantin Petrovich Von Kaufman
	Vasily Chuikov
	Mikhail Skobelev
	Michael Andreas Barclay de Tolly
	Alyona Erzymasskaya
	Daniil Aleksandrovich
	Pyotr Ivanovich Bagration

.................................................

Shoshone
	Geronimo
	Sitting Bull
	Quanah Parker
	Chief Washakie
	Bear Hunter
	Chief Little Soldier
	Cuerno Verde
	Chief Joseph
	Crazy Horse
	Cochise
	Red Cloud

.................................................

Siam
	Naresuan
	Ekatotsarot
	Taksin
	Suriyothai
	U-thong
	Phraya Phichai

.................................................

Songhai
	Askia Muhammad
	Askia Daud
	Sundiata
	Sunni Ali
	Biton Coulibaly
	Ngolo Diarra
	Askia Ishaq II

.................................................

Spain
	El Cid
	Hernan Cortes
	Fransicso Pizarro
	Pelagius of Asturias
	Alfonso I
	Alfonso VI
	Ordono I
	Gonzalo de Cordoba
	Alexander Farnese (Duke of Parma)
	Francisco Franco
	Francisco Coronado
	Philip II of Spain
	Ambrosio Spinola Doria
	Cardinal-Infante Ferdinand
	Joaquín Garcia-Morato y Castano
	Pedro de Valdivia
	Pedro Navarro
	Joaquin Vara de Rey y Rubio		AS	Joaquin Vara de Rey
	Juan Ponce de Leon
	Hernando de Soto
	Maria Pacheco
	Ines de Suarez
	Peter III of Aragon

.................................................

Sweden
	Charles XII
	Nils Brahe
	Eric Bloodaxe
	Gustavus Adolphus
	Axel Gyllenkrok
	Knut Jonsson Posse
	Otto Ottoson Vellingk
	Conrad Mardefelt
	Olof Gerhard Thornell
	Ernst Mattias Peter von Vegesack
	Thomas van der Noot
	Eric the Victorious
	Olof Skotkonung
	Johan Baner
	Gustav Horn af Bjorneborg
	Bernard of Saxe-Weimar

.................................................

Venice
	Marco Antonio Bragadin
	Sigismondo Pandolfo Malatesta		Italian	for Venice
	Niccolo Piccinino			Italian	for Venice
	Astorre Baglioni
	Lorenzo Tiepolo
	Alvise Martinengo
	Gianantonio Querini
	Marcantonio II Colonna			Italian	for Venice
	Marquis Bertoldo d'Este

.................................................

Zulu
	Mpande
	Zwelithini
	Cetshwayo
	Ndlela kaSompisi
	Josiah Tongogara

.................................................

Generic List (for modded civs and fallback)
	Giuseppe Garibaldi			Italian
	Spartacus			
	Subutai				
	Timur				
	Mahmud of Ghazni				Ghaznavid Empire
	Jan Zizka				Czech
	Tran Hung Dao				Vietman
	King David				Isreal
	Lautaro					Chile
	Jose Miguel Carrera			Chile
	Robert the Bruce				Scotland
	Alaric					Visigoth
	Vo Nguyen Giap				Vietnam
	Yitzhak Rabin				Isreal
	Antonio Lopez de Santa Anna		Mexico		Antonio de Padua María Severino López de Santa Anna y Pérez de Lebrón
	Francisco Villa				Mexico
	Ignacio Zaragoza				Mexico
	Porfirio Diaz				Mexico
	Ardaric					Gepids
	Antiochus				Seleucid
	Thorismund				Visigoths
	Theodoric I				Visigoths
	Antonio Jose de Sucre			Venezuela
	Alfonso Ugarte				Peru
	Andres Avelino Caceres			Peru
	Emilio Cavenecia				Peru
	Miguel Malvar y Carpio			Phillipines
	Artemio Ricarte y Garcia			Phillipines
	Pio Isidro y Castaneda			Phillipines
	Mariano Llanera				Phillipines
	Gjergi Kastrioti Skandenberg		Albanian		AS	Gjergi Skandenberg
	David IV of Georgia			Georgian
	Tamar the Great				Georgian
	Nguyen Hue				Vietnam
	Nurhaci					Manchuria
	Muhammad bin Dawud Chaghri				also known as Alp Arslan
	Mihai Bravu				Romanian		also known as Michael the Brave
	Ahmad Shah Durrani			Afghanistan	founder of the Durrani Empire in current-day Afghanistan
	Josip Broz Tito				Yugoslavia
	Toussaint L'Ouverture			Haiti
	Ahmad ibn Ibrahim al-Ghazi		Somali
	Kanishka the Great			Pakistan
	Muhammad Shaybani Khan			Uzbek
	Amina					Nigeria
	Bayinnaung Kyawhtin Nawrahta		Burma		AS	Bayinnaung Nawrahta
	Widukind					saxon
	Stefan Lazarevic				Bosnian
	Matthias Corvinus			hungarian
	Pius II					papacy
	Humphrey of Hauteville
	Rob Roy
	Bernardo O'Higgins Riquelme
	Jose Francisco de San Martin
	Trung Trac				Vietnam
	Trung Nhi				Vietnam
	Trieu Thi Trinh				Vietnam
	Zenobia					Palmyrine Empire in Syria
	al-Kahina				Numidian
	Cacica Gaitana				Colombian
	Juana Azurduy de Padilla			South American (not understanding the territorial references for her origins)
	Mussasa					Jagas in present Angola
	Seh-Dong-Hong-Beh			Dahomey Amazons
	Bartolina Sisa				Bolivia
	Agueda Kahabagan				Phillipines
	Teresa Magbanua				Phillipines
	Margarita Neri				Mexico
	Maria Josefa Gabriela Carino Silang	Phillipines	AS	Maria Josefa Silang


List of Great Admiral Names
Spoiler :

Code:
[u]Current List of Great Admirals and the Civs to whom they are assigned[/u]
[LIST]
[*]The list is organized 1st by Civilization
[*]'ASSIGNED' means it is a name supplied by Firaxis and I have made the code to assign them to the specified Civ
[*]'ADDED' means I have added them to the game for the appropriate CIV
[*]names without these two designations means they are not currently added to the MOD, but I may add them at some future point
[*]Bear in mind that in its current state this list is my running tally of names and whether I've added them to the mod, with notes to myself. I intend to produce a more 'clean' list when I have a 'complete' list of admiral names.
[*]The list is a little weak at the moment because I've been concentrating on Great Generals.
[/LIST]


America
	John Paul Jones			ASSIGNED
	Matthew Perry			ASSIGNED
	David Farragut			ASSIGNED
	George Dewey			ASSIGNED
	Chester Nimitz			ASSIGNED
	William 'Bull' Halsey		ADDED
	Arleigh Burke			ADDED
	Alfred Mahan			ADDED
	Thomas Kinkaid			ADDED
	Clifton Sprague			ADDED
	William Southerland		ADDED
	Marc Mitscher			ADDED
	John Henry Towers		ADDED
	Raymond Spruance		ADDED
	Frank Fletcher			ADDED
	Ernest King			ADDED
	William Thomas Sampson		ADDED		AS	William T. Sampson
	Winfield Scott Schley		ADDED		AS	Winfield S. Schley
	William Daniel Leahy		ADDED		AS	William D. Leahy
	Oliver Hazard Perry		ADDED
	Thomas Dewey			ADDED

........................................

Arabia

........................................

Assyria

........................................

Austria
	Archduke Charles Stephen of Austria	ADDED	AS	Charles Stephen of Austria
	Anton Haus				ADDED
	Charles I of Austria			ADDED	AS	Charles I

........................................

Aztec

........................................

Babylon

........................................

Brazil

........................................

Byzantium
	John Doukas				ASSIGNED
	CALONYMUS_OF_ALEXANDRIA			ASSIGNED
	Alexios Apokaukos			ADDED
	Eustathios Argyros			ADDED
	Basil Theodorokanos			ADDED
	Euphemius				ADDED
	Himerios				ADDED
	Isaac Kontostephanos			ADDED
	Eustathios Kymineianos			ADDED
	Demetrios Laskaris Leontares		ADDED
	Licario					ADDED
	Constantine Lips			ADDED
	Marinus					ADDED
	Andrea Morisco				ADDED
	Alexios Mosele				ADDED
	Constantine Opos			ADDED
	Niketas Oryphas				ADDED
	Alexios Doukas Philanthropenos		ADDED
	Theophylact Rhangabe			ADDED
	Theophanes				ADDED

........................................

Carthage
	Himilco		ASSIGNED
	Hanno		ASSIGNED
	Adherbal	ADDED

........................................

Celts

........................................

China
	Zheng He		ASSIGNED
	Shi Lang		ASSIGNED
	Gan Ning		ADDED
	Zhou Yu			ADDED
	Huang Gai		ADDED
	Ching Shih		ADDED					China	Admiral	pirate
	Ding Ruchang		ADDED

........................................

Denmark
	Peter Tordenskjold		ASSIGNED
	Leif Ericson			ASSIGNED
	Erik Thorvaldsson		ASSIGNED
	Bjarni Herjolfsson		ADDED
	Steen Andersen Bille		ADDED
	Johan Olfert Fischer		ADDED

........................................

Egypt
	King Fuad I		ADDED
	King Farouk		ADDED
	King Fuad II		ADDED

........................................

Ethiopia

........................................

England
	Horatio Nelson		ASSIGNED
	James Cook		ASSIGNED
	Francis Drake		ASSIGNED
	Andrew Cunningham	ASSIGNED
	William Cornwallis	ADDED
	James Gambier		ADDED
	George Brydges Rodney	ADDED
	Samuel Hood		ADDED
	Edward Hawke		ADDED
	Richard Howe		ADDED
	Sir Edward Pellew	ADDED
	John Hawkins		ADDED
	John Fisher		ADDED
	John Jellicoe		ADDED
	Charles Howard		ADDED
	Henry Hudson		ADDED
	Mary Read		ADDED			England	Admiral	pirate
	Sir David Kirke		ADDED			good
	Sir George Rooke	ADDED
	George Byng		ADDED
	Cloudesley Shovell	ADDED

........................................

France
	Jacques Cartier				ASSIGNED
	Comte de Grasse				ASSIGNED
	Francois Joseph Paul			ADDED
	Jean Bart				ADDED
	Gaspard de Coligny			ADDED
	Florent de Varennes			ADDED
	Louis Alexandre				ADDED
	Jeanne de Clisson			ADDED			France	Admiral
	Claude Roquement de Brison		ADDED			good but not a very good admiral
	Samuel de Champlain			ADDED			good
	Jean Louis Xavier Francois Darlan	ADDED			AS		Francois Darlan
	Ferdinand-Alphonse Hamelin		ADDED
	Francois Thomas Trehouart		ADDED
	Robert Surcouf

........................................

Germany
	Alfred von Tirpitz	ASSIGNED
	Karl Donitz		ADDED
	Erich Raeder		ADDED
	Maximilian von Spee	ADDED
	Franz Hipper		ADDED
	Reinhard Scheer		ADDED
	Wilhelm Canaris		ADDED
	Albert Wilhelm Heinrich			ADDED
	Hans Ludwig Raimund von Koester		ADDED		AS	Hans Ludwig von Koester
	Ernst Wilhelm Eduard von Knorr		ADDED		AS	Ernst Wilhelm von Knorr
	August von Thomsen			ADDED

........................................

Greece
	PHORMIO			ASSIGNED
	Pytheas			ASSIGNED
	Themistocles		ADDED
	Cimon			ADDED
	Lacedaemonius		ADDED

........................................

Huns

........................................

Inca

........................................

India
	Vishnu Bhagwat			ADDED
	Adhar Kumar Chatterji		ADDED
	Jal Cursetji			ADDED
	Gulab Mohanlal Hiranandani	ADDED

........................................

Indonesia
	Hang Tuah		ADDED
	Kebo Anabrang		ADDED
	Pattimura		ADDED
	Dharanindra		ADDED
	Keumalahayati		ADDED

........................................

Iroquois

........................................

Japan	
	Isoroku Yamamoto		ASSIGNED		*check given name
	Heihachiro Togo			ASSIGNED		*check for given-name reversals
	Chuichi Nagumo			ADDED
	Tamon Yamaguchi			ADDED
	Raizo Tanaka			ADDED
	Takeo Kurita			ADDED
	Jisaburo Ozawa			ADDED
	Mitsumasa Yonai			ADDED
	Mineichi Koga			ADDED
	Kato Tomosaburo			ADDED
	Shimamura Hayao			ADDED
	Ijuin Goro			ADDED
	Enomoto Takeaki			ADDED
	Yamamoto Gonnohyoe		ADDED
	Inoue Yoshika			ADDED
	Ito Sukeyuki			ADDED

........................................

Korea
	Yi Sun Shin			ASSIGNED
	Son Won-il			ADDED
	Yi Eok-gi			ADDED
	Isabu				ADDED
	Jang Bo-go			ADDED
	Bae Jung-son			ADDED
	Choe Mu-seon			ADDED

........................................

Maya

........................................

Mongol

........................................

Morocco

........................................

Netherland
	Michel de Ruyter			ASSIGNED
	Maarten Tromp				ADDED
	Cornelis Tromp				ADDED
	Jochem Hendricksz Swartenhont		ADDED
	Jan van Brakel				ADDED
	Jacob Pieter van Braam			ADDED
	Pieter Pietersen Heyn			ADDED		ALSO KNOWN AS Piet Hein ?
	Cornelis Corneliszoon Jol		ADDED		AS	Cornelis Jol
	Cornelis Matelief de Jonge		ADDED
	Jacob Willekens				ADDED
	Witte de With				ADDED NEW
	Johan Evertsen				ADDED NEW
	Jan van Speijk				ADDED NEW
	Karel Doorman				ADDED NEW
	Jacob van Heemskerck			ADDED NEW
	Egbert Kortenaer			ADDED NEW
	Jacob Roggeveen				ADDED NEW
	Abel Tasman				ADDED NEW
	Johan Zoutman				ADDED NEW
	Conrad Helfrich				ADDED NEW

	* Some of these names might be better with a Belgium civilization

........................................

Ottoman
	TURGUT_REIS			ASSIGNED
	MURAT_REIS			ASSIGNED
	HAYREDDIN_BARBAROSSA		ASSIGNED
	Piri Reis			ADDED
	Hadim Suleiman			ADDED
	Muezzinzade Ali			ADDED
	Piyale Pasha			ADDED
	Uluc Ali 			ADDED
	Kara Murad			ADDED
	Silahdar Yusuf			ADDED
	Kemal Reis			ADDED
	Seydi Ali			ADDED
	Oruc Reis			ADDED
	Hasan Agha			ADDED
	Kurdoglu Muslihittin		ADDED
	Kurdoglu Hizir			ADDED
	Koca Murad			ADDED


........................................

Persia
	Artemisia I of Caria			ADDED		Persian		Admiral

........................................

Poland
	Jozef Unrug		ADDED
	Karol Korytowski	ADDED
	Jerzy Swirski		ADDED
	Arend Dickmann		ADDED
	Michal Starosta		ADDED
	Jakub Murrey		ADDED
	Herman Witte		ADDED

........................................

Polynesia

........................................

Portugal
	Afonso de Albuquerque		ASSIGNED
	HENRY_THE_NAVIGATOR		ASSIGNED
	Ferdinand Magellan		ASSIGNED
	Vasco De Gama			ASSIGNED
	Martim Afonso de Castro		ADDED
	Fernando de Mascarenhas		ADDED			check against use already with spain
	Martim Soares Moreno		ADDED			check against use already with spain

........................................

Rome
	Marcus Atillius Regulus		ASSIGNED
	Marcus Vispanius Agrippa	ASSIGNED
	Marcus Calpurnius Bibulus	ADDED
	Gaius Duilius			ADDED
	Lucius Aemilius Regillus	ADDED
	Marcus Lurius			ADDED
	Gaius Lutatius Catulus		ADDED
	Gaius Livius Salinator		ADDED
	Gnaeus Servilius Geminus	ADDED
	Titus Statilius Taurus		ADDED
	Lucius Arruntius		ADDED

........................................

Russia
	Fyodor Ushakov			ASSIGNED
	ZINOVY_ROZHESTVENSKI		ASSIGNED
	Grigory Spiridov		ADDED
	Pavel Stepanovich Nakhimov	ADDED
	Count Fyodor Apraksin		ADDED	AS	Fyodor Apraksin
	Prince Alexander Menshikov	ADDED	AS	Alexander Menshikov
	Count Andrei Osterman		ADDED	AS	Andrei Osterman
	Prince Mikhail Golitsyn		ADDED	AS	Mikhail Golitsyn
	Count Ivan Chernyshyov		ADDED	AS	Ivan Chernyshyov
	Felix Gromov			ADDED
	Vladimir Kuroyedov		ADDED
	Vladimir Masorin		ADDED

........................................

Shoshone

........................................

Siam

........................................

Songhai

........................................

Spain

	Christopher Columbus					ASSIGNED
	Roger of Lauria						ASSIGNED	AS	Ruggiero di Lauria
	Alvaro de Bazan						ASSIGNED
	Juan de Austria = Don John of Austria			ASSIGNED	'Juan' instead of 'John'
	Fernando Villaamil					ASSIGNED
	Blas de Lezo						ADDED
	Juan Martinez de Recalde				ADDED		(led the Armada)
	Pascual Cervera y Topete				ADDED
	Miguel Buiza Fernandez-Palacios				ADDED
	Jose Romero y Fernandez de Landa			ADDED		AS	Jose Romero y Fernandez
	Ignacio Maria de Alava y Saenz de Navarrete		ADDED		AS	Ignacio Maria de Alava
	Fadrique Alvarez de Toledo y Mendoza			ADDED		AS	Fadrique Alvarez de Toledo
	Garcia Alvarez de Toledo y Osorio			ADDED		AS	Garcia Alvarez de Toledo
	Antonio Barcelo						ADDED
	Ambrosio Boccanegra					ADDED
	Luis de Cordova y Cordova				ADDED
	Bonaventura Moreno					ADDED
	Lope de Hoces						ADDED
	Antonio de Oquendo					ADDED
	Miguel de Horna						ADDED
	Fernando Sanchez de Tovar				ADDED
	Jose de Mazarredo y Salazar de Munatones Cortazar	ADDED		AS	Jose de Mazarredo y Salazar
	Juan Martinez de Recalde				ADDED
	Don Luis de Requesens					ADDED

........................................

Sweden
	Ingela Gathenhielm					ADDED		Sweden		Admiral	privateer
	King Charles XIII					ADDED		AS		Charles XIII
	King Oscar I						ADDED		AS		Oscar I

........................................

Venice
	Giovanni Caboto						ADDED		Italian
	Amerigo Vespucci					ADDED		Italian
	Niccolo Capello						ADDED 		venetian		admiral
	Pietro Loredan						ADDED		venetian		admiral	check
	Gianandrea D'Oria					ADDED		Genoan			check
	Sebastiano Venier					ADDED		good venetian
	Agostino Barbarigo					ADDED		good venetian
	Lamba D'Oria						ADDED		Genoan

........................................

Zulu

........................................
Generic (no specific Civ affiliation)
	Andrea Doria			ASSIGNED
	Mathurin Romegas		ADDED

Names I need to look through and assign as appropriate
(Currently these are active in the mod but not assigned to a particular civ)

George of Antioch			ADDED
Kanhoji Angre				ADDED
Keumalahayati				ADDED
Gustav Horn				ADDED
Xu Fu					ADDED
Zhang Qian				ADDED
Wang Dayuan				ADDED
Hong Bao				ADDED
Ngo Quyen 				ADDED
Edward Preble				ADDED
Tran Hung Dao				ADDED			Vietnam
James Bond Stockdale			ADDED
Huang Co Minh				ADDED			Vietnam
Lam Nguon Tanh				ADDED			Vietnam
Miguel Grau Seminario			ADDED			Peru
Grainne Ni Mhaille			ADDED			Irish		Admiral	pirate
 
Instructions to Custom-Cvi Mod-Authors for Using This System

this post is just a stub for now while I work out the details of what exactly will required for custom civ-authors to make use of this system.

Making A Custom Civilization Use This System
In order to make your custom civilization use this system, you need to do the following in your mod:

(1) Add a 'Reference' in ModBuddy

  • Within your custom civilization mod add a reference to this mod so that when both this mod and your custom-civ mod are enabled by a player, this mod will load 1st.
The mod ID # you need to add the reference is:
Code:
id="fe245559-0525-41bb-9e1c-b281e018b5fc"

It is necessary for you to add this reference in your mod since my mod deletes all data in the <Unit_UniqueNames> table for UNIT_GREAT_GENERAL and UNIT_GREAT_ADMIRAL. This is done to give me a 'clean slate' to work from and also to ensure that other mods such as Krajzen's Great People Pack does not interfere with my mod. (As a side-note, I force Krajzen's mod to load prior to mine when both are enabled).

This mod also adds a new column within the <Unit_UniqueNames> table, and therefore it needs to run 1st so you can make use of that new column.​


(2) Add The General and Admiral Names For Your Civ

  • Create a new file within your mod for the added Great General or Admiral Names. This can be either an XML file or an SQL file.
  • Keep everything related to these Great General and Admiral Names within this new file (or files) but put nothing else in there so that if my mod is not enabled, this file will simply fail to load but not take any other parts of your code with it when it fails.
  • Once my mod is finished loading, the form of the <Unit_UniqueNames> table will be like this (note the new column highlighted in blue):
Code:
<GameData>
	<Unit_UniqueNames>
		<Row>
			<UnitType>UNIT_GREAT_GENERAL</UnitType>
			<UniqueName>TXT_KEY_GREAT_PERSON_WINFIELD_SCOTT</UniqueName>
			[COLOR="Blue"]<CivilizationType>CIVILIZATION_AMERICA</CivilizationType>[/COLOR]
		</Row>
	</Unit_UniqueNames>
</GameData>
You can also structure your rows within the table like this:
Spoiler :
I know this looks a little odd, but it actually works exactly the same as the previous example, and allows many more <Row> entries with many fewer actual lines of XML to look at
Code:
<GameData>
	<Unit_UniqueNames>
		<Row UnitType="UNIT_GREAT_GENERAL" UniqueName="TXT_KEY_GREAT_PERSON_WINFIELD_SCOTT" CivilizationType="CIVILIZATION_AMERICA" />
	</Unit_UniqueNames>
</GameData>
So if your Civilization's name is CIVILIZATION_GONDOR and you want to add 'Faramir' as a great general, you would have a table that looks like this:
Code:
<GameData>
	<Unit_UniqueNames>
		<Row>
			<UnitType>UNIT_GREAT_GENERAL</UnitType>
			<UniqueName>TXT_KEY_GREAT_PERSON_FARAMIR</UniqueName>
			<CivilizationType>CIVILIZATION_GONDOR</CivilizationType>
		</Row>
	</Unit_UniqueNames>
</GameData>
It is Absolutely Necessary that you use TXT_KEY_GREAT_PERSON_XXXXX structure within the <UniqueName> column and do not 'short-cut' by simply stating
Code:
	<UniqueName>Faramir</UniqueName>
This will cause errors to the lua function that handles the in-game assignments and re-naming of Great Generals and Great Admirals.​

  • You need to also have a <Language_en_US> table where you specify the actual text that will be displayed for TXT_KEY_GREAT_PERSON_FARAMIR (as an example). So you would also need within your file(s) the following:
Code:
<GameData>
	<Language_en_US>
		<Row Tag="TXT_KEY_GREAT_PERSON_FARAMIR" />
			<Text>Faramir</Text>
		</Row>
	</Language_en_US>
</GameData>
(or alternatively)
Spoiler :
Code:
Please note that the Language_en_US table does not deal very well
with ' characters within the Text="xxxx" portion of the Row when
using this method.

<GameData>
	<Language_en_US>
		<Row Tag="TXT_KEY_GREAT_PERSON_FARAMIR" Text="Faramir" />
	</Language_en_US>
</GameData>

(3) Replacer Civs
I suspect most of you have a fair idea what you would need to do based on # 2 above, but I will be adding some instructions here later.

(4) Altering the Data in the Great Generals and Admirals Names Mod to Use Some of it for Your Civilization
I suspect most of you have a fair idea what you would need to do based on # 2 above, but I will be adding some instructions here later.

Notes to Mod-Authors Who Wish to Use This System In Based-On, Include-This, and ModMods

I am quite happy to have anyone use this where they would like to. Before you do so, however, please read the following.

Covered Great People Types
The lua side of the mod is finished and now allows the use of all great people types if someone so desires to make a similar mod for Great Scientists, as an example. As a practical matter, however, the lua of this mod can only properly cover the following Great People Types:
Great Generals
Great Admirals
Great Scientists
Great Merchants
Great Engineers
Great Prophets​

There is one dreadful limitation inherent in the game code
Great Artists, Great Musicians, and Great Writers are included within the lua methods for re-naming by this mod, but at the current time there is no way via lua to assign Great Work X to Great Artist Y. You get what the game randomly assigns. I have left the ability to 'name' great Artists, etc., within the lua code in hopes someone will be able to make a dll or other cure to this problem, but it is currently beyond the scope of my abilities.

Including this mod as-is within your own mod:
  1. Obviously you can do so by copying all the files within this mod into yours, and then giving them the proper Modbuddy settings.
  2. You do need to make sure that the file UniqueUnitNames_CivColumn.sql is the 1st "UpdateDatabase" action from the list of XML and SQL files. Also, the file CleanUp.sql needs to be the last of the files that are added to "UpdateDatabase" actions.
  3. In such cases where you are adding all the files from this mod into one of your own, you should probably also set up a "block" of this mod within your mod.

Using the naming system on Other Great People types:
  1. If you want to use this system to create a mod that does naming for Great Scientists, as as example, you would do the following:
  2. Copy all the files from this mod into your new mod except everything in the Great Admirals and Great Generals folders.
  3. Use one or other of the Great Generals or Great Admirals folders as a template to create the XML files needed to add Great Scientist names for individual civs.
  4. Make sure that the file UniqueUnitNames_CivColumn.sql is the 1st "UpdateDatabase" action from the list of XML and SQL files. Also, the file CleanUp.sql needs to be the last of the files that are added to "UpdateDatabase" actions.
  5. Edit at the top of the Great People Names.lua to make it use Great Scientists instead of Great Generals and Great Admirals. Here's how:
Spoiler :

Towards the top of the lua you will see these lines. Note the ones I've highlighted in blue:
Code:
-- add or remove units in the gValidGreatPeopleUnitTypes table to alter which Great People the main function executes for
-- only unit designations for Great People can be included in this table
-- currently UNIT_ARTIST , UNIT_WRITER , and UNIT_MUSICIAN don't work properly because of issues with bringing-along the correct great work
--    with the unique unit name
-- All other great people work with this system: UNIT_GREAT_GENERAL, UNIT_GREAT_ADMIRAL, UNIT_MERCHANT, UNIT_ENGINEER, UNIT_SCIENTIST, and UNIT_PROPHET

-- VARIABLE TO ASSIGN TABLE SAVE/LOAD TO A SPECIFIC MOD IS tableName
-- you need to change from "GGMUGA2" to something unique for your mod
--------------------------------------------------------------------------------------------------------------------------------------------------


[COLOR="blue"]gValidGreatPeopleUnitTypes = {"UNIT_GREAT_GENERAL", "UNIT_GREAT_ADMIRAL"}

tableName = "GGMUGA2"[/COLOR]
Change those lines to read:
Code:
-- add or remove units in the gValidGreatPeopleUnitTypes table to alter which Great People the main function executes for
-- only unit designations for Great People can be included in this table
-- currently UNIT_ARTIST , UNIT_WRITER , and UNIT_MUSICIAN don't work properly because of issues with bringing-along the correct great work
--    with the unique unit name
-- All other great people work with this system: UNIT_GREAT_GENERAL, UNIT_GREAT_ADMIRAL, UNIT_MERCHANT, UNIT_ENGINEER, UNIT_SCIENTIST, and UNIT_PROPHET

-- VARIABLE TO ASSIGN TABLE SAVE/LOAD TO A SPECIFIC MOD IS tableName
-- you need to change from "GGMUGA2" to something unique for your mod
--------------------------------------------------------------------------------------------------------------------------------------------------


[COLOR="Blue"]gValidGreatPeopleUnitTypes = {"UNIT_SCIENTIST"}

tableName = "GSCIENTIST"[/COLOR]
That's it, you're done.
Note that where I changed tableName = to be "GSCIENTIST" you can name that anything you want that you are sure will be unique to your version of the mod, but you should avoid characters like ',&,%, etc., and you want to keep it fairly short.

If a player has both the original Generals and Admirals Mod (my mod) running at the same time as your new mod I am not sure how the game will react when there are two different SQL files each of which is trying to "Insert" a new column called CivilizationType into the Unit_UniqueNames table. We will have to cross that bridge together if and when*.



* unless an SQL expert has some advice to throw me on that issue
 
Custom Civ Mods Usage of Names From Within My List

Notes to USERS of this mod on the info presented within this post of the thread
  • The info presented here only applies when both the Civilization Appropriate General and Admiral Names mod the specified cutom civ mod(s) are enabled at the same time.
  • The info for redirected names would not apply to Calonymus of Alexandria, for example, and he would still be used for the original Byzantium unless DJSHenninger's Byzantium under Justinian I was enabled in the mods list.

In order to avoid conflicts between custom civ mods making use of this system, I am going to use this post as a 'registration' table of who is using what names from within the Appropriate Generals and Admirals mod for use with custom civilizations.

For now it's just a stub while I work out best methods. In the short terms just add a post here to the thread telling me and others what names you've used for what civs. It would also be nice if you add new names to the Unit_UniqueNames table to let others know which names and TXT_KEYS you've used to lessen the number of conflicts that might occur.

Redirected Names
  • Names moved from the assignments made within this mod to a new custom civilization

G Person Name | Type | TXT_KEY | Original Placement | Custom Civ | Mod-Author
Nadir Shah | General | TXT_KEY_GREAT_PERSON_NADIR_SHAH | Persia | Afsharids | DJSHenninger
Musa Ibn Nusair | General | TXT_KEY_GREAT_PERSON_MUSA_IBN_NUSAIR | Arabia | The Umayyads | DJSHenninger
Uqba ibn Nafi | General | TXT_KEY_GREAT_PERSON_UQBA_IBN_NAFI | Arabia | The Umayyads | DJSHenninger
Mu'awiya | General | TXT_KEY_GREAT_PERSON_MU_AWIYA | Arabia | The Umayyads | DJSHenninger
Ziyad Ibn Abihi | General | TXT_KEY_GREAT_PERSON_ZIYAD_IBN_ABIHI | Arabia | The Umayyads | DJSHenninger
Belisarius | General | TXT_KEY_GREAT_PERSON_BELISARIUS | Byzantium | Byzantium (Justinian I) | DJSHenninger
Calonymus of Alexandria | Admiral | TXT_KEY_GREAT_PERSON_CALONYMUS_OF_ALEXANDRIA | Byzantium | Byzantium (Justinian I) | DJSHenninger

Additional Names Added by Custom Civilizations


  • Names added to the lists in this mod for a new custom civilization
  • The Custom Civ adds the name to the list, and the names are only available to the game when the Custom Civ is enabled.
Spoiler :


G Person Name | Type | TXT_KEY | Custom Civ | Mod-Author
Tahmasp Khan Jalayer | General | TXT_KEY_GREAT_PERSON_TAHMASP_KHAN_JALAYER | Afsharids | DJSHenninger
Mirza Qoli | General | TXT_KEY_GREAT_PERSON_MIRZA_QOLI | Afsharids | DJSHenninger
Morteza Qoli | General | TXT_KEY_GREAT_PERSON_MORTEZA_QOLI | Afsharids | DJSHenninger
Nasrollah Mirza | General | TXT_KEY_GREAT_PERSON_NASROLLAH_MIRZA | Afsharids | DJSHenninger
Mullah Adineh Mostafi | General | TXT_KEY_GREAT_PERSON_MULLAH_ADINEH_MOSTAFI | Afsharids | DJSHenninger
Ibrahim Khan | General | TXT_KEY_GREAT_PERSON_IBRAHIM_KHAN | Afsharids | DJSHenninger
Haji Beg Khan | General | TXT_KEY_GREAT_PERSON_HAJI_BEG_KHAN | Afsharids | DJSHenninger
Lutf Ali Khan | General | TXT_KEY_GREAT_PERSON_LUTF_ALI_KHAN | Afsharids | DJSHenninger
Mohammad Taqi Khan | Admiral | TXT_KEY_GREAT_PERSON_MOHAMMAD_TAQI_KHAN | Afsharids | DJSHenninger
Prithvi Narayan Shah | General | TXT_KEY_GREAT_PERSON_DJSH_PRITHVI_NARAYAN_SHAH | Nepal | DJSHenninger
Yaksha Malla | General | TXT_KEY_GREAT_PERSON_DJSH_YAKSHA_MALLA | Nepal | DJSHenninger
Rana Bahadur Shah | General | TXT_KEY_GREAT_PERSON_DJSH_RANA_BAHADUR_SHAH | Nepal | DJSHenninger
Bhimsen Thapa | General | TXT_KEY_GREAT_PERSON_DJSH_BHIMSEN_THAPA | Nepal | DJSHenninger
Amar Singh Thapa | General | TXT_KEY_GREAT_PERSON_DJSH_AMAR_SINGH_THAPA | Nepal | DJSHenninger
Bhakti Thapa | General | TXT_KEY_GREAT_PERSON_DJSH_BHAKTI_THAPA | Nepal | DJSHenninger
Balbhadra Kunwar | General | TXT_KEY_GREAT_PERSON_DJSH_BALBHADRA_KUNWAR | Nepal | DJSHenninger
Damodar Pande | General | TXT_KEY_GREAT_PERSON_DJSH_DAMODAR_PANDE | Nepal | DJSHenninger
Samuel | General | TXT_KEY_GREAT_PERSON_DJSH_SAMUEL | Bulgaria (Samuel) | DJSHenninger
Gavril Radomir | General | TXT_KEY_GREAT_PERSON_DJSH_GAVRIL_RADOMIR | Bulgaria (Samuel) | DJSHenninger
Roman | General | TXT_KEY_GREAT_PERSON_DJSH_ROMAN | Bulgaria (Samuel) | DJSHenninger
Ivan Vladislav | General | TXT_KEY_GREAT_PERSON_DJSH_IVAN_VLADISLAV | Bulgaria (Samuel) | DJSHenninger
Krakra | General | TXT_KEY_GREAT_PERSON_DJSH_KRAKRA | Bulgaria (Samuel) | DJSHenninger
Ivats | General | TXT_KEY_GREAT_PERSON_DJSH_IVATS | Bulgaria (Samuel) | DJSHenninger
Nestoritsa | General | TXT_KEY_GREAT_PERSON_DJSH_NESTORITSA | Bulgaria (Samuel) | DJSHenninger
David | General | TXT_KEY_GREAT_PERSON_DJSH_COMETOPULI_DAVID | Bulgaria (Samuel) | DJSHenninger
Aron | General | TXT_KEY_GREAT_PERSON_DJSH_COMETOPULI_ARON | Bulgaria (Samuel) | DJSHenninger
Moses | General | TXT_KEY_GREAT_PERSON_DJSH_COMETOPULI_MOSES | Bulgaria (Samuel) | DJSHenninger
Ahtum | General | TXT_KEY_GREAT_PERSON_DJSH_AHTUM | Bulgaria (Samuel) | DJSHenninger
Vidyanandana | General | TXT_KEY_GREAT_PERSON_DJSH_VIDYANANDANA | Khmer Empire | DJSHenninger
Jayavarman II | General | TXT_KEY_GREAT_PERSON_DJSH_JAYAVARMAN_II | Khmer Empire | DJSHenninger
Jayavarman VII | General | TXT_KEY_GREAT_PERSON_DJSH_JAYAVARMAN_VII | Khmer Empire | DJSHenninger
Rajendravarman II | General | TXT_KEY_GREAT_PERSON_DJSH_RAJENDRAVARMAN_II | Khmer Empire | DJSHenninger
Sangrama | General | TXT_KEY_GREAT_PERSON_DJSH_SANGRAMA | Khmer Empire | DJSHenninger
Suryavarman I | General | TXT_KEY_GREAT_PERSON_DJSH_SURYAVARMAN_I | Khmer Empire | DJSHenninger
Yasovarman I | General | TXT_KEY_GREAT_PERSON_DJSH_YASOVARMAN_I | Khmer Empire | DJSHenninger
Dusan | General | TXT_KEY_GREAT_PERSON_DJSH_DUSAN | Serbia | DJSHenninger
Preljub | General | TXT_KEY_GREAT_PERSON_DJSH_PRELJUB | Serbia | DJSHenninger
Stefan Decanski | General | TXT_KEY_GREAT_PERSON_DJSH_STEFAN_DECANSKI | Serbia | DJSHenninger
Karadorde | General | TXT_KEY_GREAT_PERSON_DJSH_KARADORDE | Serbia | DJSHenninger
Janko Katic | General | TXT_KEY_GREAT_PERSON_DJSH_JANKO_KATIC | Serbia | DJSHenninger
Veljko Petrovic | General | TXT_KEY_GREAT_PERSON_DJSH_VELJKO_PETROVIC | Serbia | DJSHenninger
Vojinha | General | TXT_KEY_GREAT_PERSON_DJSH_VOJIHNA | Serbia | DJSHenninger
Stefan Lazarevic | General | TXT_KEY_GREAT_PERSON_DJSH_STEFAN_LAZAREVIC | Serbia | DJSHenninger
Isaac Komnenos | General | TXT_KEY_GREAT_PERSON_RJ_ISAAC_KOMNENOS | Cyprus | ryanjames
Aimery of Cyprus | General | TXT_KEY_GREAT_PERSON_RJ_AIMERY | Cyprus | ryanjames
Hugh III of Cyprus | General | TXT_KEY_GREAT_PERSON_RJ_HUGH_III | Cyprus | ryanjames
James I of Cyprus | General | TXT_KEY_GREAT_PERSON_RJ_JAMES_I | Cyprus | ryanjames
Henry II of Cyprus | General | TXT_KEY_GREAT_PERSON_RJ_HENRY_II | Cyprus | ryanjames
Peter I of Cyprus | General | TXT_KEY_GREAT_PERSON_RJ_PETER_I | Cyprus | ryanjames
Euagoras I | General | TXT_KEY_GREAT_PERSON_RJ_EUAGORAS_I | Cyprus | ryanjames
Georgios Grivas | General | TXT_KEY_GREAT_PERSON_RJ_GEORGIOS_GRIVAS | Cyprus | ryanjames
Abd al-Malik | General | TXT_KEY_GREAT_PERSON_DJSH_ABD_AL_MALIK | The Umayyads | DJSHenninger
Tariq ibn Ziyad | General | TXT_KEY_GREAT_PERSON_DJSH_TARIQ_IBN_ZIYAD | The Umayyads | DJSHenninger
Qutayba ibn Muslim | General | TXT_KEY_GREAT_PERSON_DJSH_QUTAYBA_IBN_MUSLIM | The Umayyads | DJSHenninger
Muhammad bin Qasim | General | TXT_KEY_GREAT_PERSON_DJSH_MUHAMMAD_BIN_QASIM | The Umayyads | DJSHenninger
Hasan ibn al-Nu'man | General | TXT_KEY_GREAT_PERSON_DJSH_HASAN_BIN_AL_NUMAN | The Umayyads | DJSHenninger
Al-'Abbas ibn al-Walid | General | TXT_KEY_GREAT_PERSON_DJSH_AL_ABBAS_IBN_AL_WALID | The Umayyads | DJSHenninger
Ibn al-Ash'ath | General | TXT_KEY_GREAT_PERSON_DJSH_IBN_AL_ASHATH | The Umayyads | DJSHenninger
Abdallah al-Battal | General | TXT_KEY_GREAT_PERSON_DJSH_ABDALLAH_AL_BATTAL | The Umayyads | DJSHenninger
Asad ibn Abdallah al-Qasri | General | TXT_KEY_GREAT_PERSON_DJSH_ASAD_IBN_ABDALLAH_AL_QASRI | The Umayyads | DJSHenninger
Maslama ibn Abd al-Malik | General | TXT_KEY_GREAT_PERSON_DJSH_MASLAMA_IBN_ABD_AL_MALIK | The Umayyads | DJSHenninger
Muhammad ibn Marwan | General | TXT_KEY_GREAT_PERSON_DJSH_MUHAMMAD_IBN_MARWAN | The Umayyads | DJSHenninger
Al-Jarrah ibn Abdallah | General | TXT_KEY_GREAT_PERSON_DJSH_AL_JARRAH_IBN_ABDALLAH | The Umayyads | DJSHenninger
Pavle Jurasic Sturm | General | TXT_KEY_GREAT_PERSON_DJSH_PAVLE_JURISIC_STURM | Serbia (Peter I) | DJSHenninger
Uzun-Mirko | General | TXT_KEY_GREAT_PERSON_DJSH_UZUN_MIRKO | Serbia (Peter I) | DJSHenninger
Colak-Anta | General | TXT_KEY_GREAT_PERSON_DJSH_COLAK_ANTA | Serbia (Peter I) | DJSHenninger
Stojan-Cupic | General | TXT_KEY_GREAT_PERSON_DJSH_STOJAN_CUPIC | Serbia (Peter I) | DJSHenninger
Radomir Putnik | General | TXT_KEY_GREAT_PERSON_DJSH_RADOMIR_PUTNIK | Serbia (Peter I) | DJSHenninger
Stepa Stepanovic | General | TXT_KEY_GREAT_PERSON_DJSH_STEPA_STEPANOVIC | Serbia (Peter I) | DJSHenninger
Stevan Knicanin | General | TXT_KEY_GREAT_PERSON_DJSH_STEVAN_KNICANIN | Serbia (Peter I) | DJSHenninger
Hermogenes | General | TXT_KEY_GREAT_PERSON_DJSH_HERMOGENES | Byzantium (Justinian I) | DJSHenninger
Sittas | General | TXT_KEY_GREAT_PERSON_DJSH_SITTAS | Byzantium (Justinian I) | DJSHenninger
Al-Harith ibn Jabalah | General | TXT_KEY_GREAT_PERSON_DJSH_AL_HARITH_IBN_JABALAH | Byzantium (Justinian I) | DJSHenninger
Narses | General | TXT_KEY_GREAT_PERSON_DJSH_NARSES | Byzantium (Justinian I) | DJSHenninger
Bessas | General | TXT_KEY_GREAT_PERSON_DJSH_BESSAS | Byzantium (Justinian I) | DJSHenninger
Solomon | General | TXT_KEY_GREAT_PERSON_DJSH_SOLOMON | Byzantium (Justinian I) | DJSHenninger
John Troglita | General | TXT_KEY_GREAT_PERSON_DJSH_JOHN_TROGLITA | Byzantium (Justinian I) | DJSHenninger
Mundus | General | TXT_KEY_GREAT_PERSON_DJSH_MUNDUS | Byzantium (Justinian I) | DJSHenninger
Nikephoros Ouranos | General | TXT_KEY_GREAT_PERSON_DJSH_NIKEPHOROS_OURANOS | Byzantium (Basil II) | DJSHenninger
Nikephoros Xiphias | General | TXT_KEY_GREAT_PERSON_DJSH_NIKEPHOROS_XIPHIAS | Byzantium (Basil II) | DJSHenninger
Theodorokanos | General | TXT_KEY_GREAT_PERSON_DJSH_THEODOROKANOS | Byzantium (Basil II) | DJSHenninger
Constantine Diogenes | General | TXT_KEY_GREAT_PERSON_DJSH_CONSTANTINE_DIOGENES | Byzantium (Basil II) | DJSHenninger
Theophylact Botaneiates | General | TXT_KEY_GREAT_PERSON_DJSH_THEOPHYLACT_BOTANEIATES | Byzantium (Basil II) | DJSHenninger
Eustathios Daphnomeles | General | TXT_KEY_GREAT_PERSON_DJSH_EUSTATHIOS_DAPHNOMELES | Byzantium (Basil II) | DJSHenninger
Nicetas Pegonites | General | TXT_KEY_GREAT_PERSON_DJSH_NICETAS_PEGONITES | Byzantium (Basil II) | DJSHenninger
John Axouch | General | TXT_KEY_GREAT_PERSON_DJSH_JOHN_AXOUCH | Byzantium (John II) | DJSHenninger
Nikephoros Tarchaneiotes | General | TXT_KEY_GREAT_PERSON_DJSH_NIKEPHOROS_TARCHANEIOTES | Byzantium (Michael VIII) | DJSHenninger
Alexios Strategopoulos | General | TXT_KEY_GREAT_PERSON_DJSH_ALEXIOS_STRATEGOPOULOS | Byzantium (Michael VIII) | DJSHenninger
John Palaiologos | General | TXT_KEY_GREAT_PERSON_DJSH_JOHN_PALAIOLOGOS | Byzantium (Michael VIII) | DJSHenninger
 
Last edited:
This is great LeeS! I always play as Rome, and getting Sun Tzu or Saladin as my Great General is sooo annoying. It's a good thing you thought of a fix first - if I had been doing this I'd have done some clunky thing with dummy units...:crazyeye:
 
It occurs to me that if civs not in the game have their leader names immediately placed in the generic names list, someone playing a civ without names will get early information about who is not in the game. Perhaps it would be better to use the generic list only for civs without names until either that list is exhausted or the World Congress has met, whichever comes first.
 
It occurs to me that if civs not in the game have their leader names immediately placed in the generic names list, someone playing a civ without names will get early information about who is not in the game. Perhaps it would be better to use the generic list only for civs without names until either that list is exhausted or the World Congress has met, whichever comes first.
Fair enough point. But I'll have to think about how much additional code would be required vis-a-vis what the return on that time-investment to make the code would be. Right now, just giving the idea some preliminary thought, it's a bit of a code-bloater, I think.
 
Pretty neat! Getting out-of-civ Great People was one of the first things that bugged (albeit just slightly) about Civ V. Any plans to move to the other GP types? I suppose it'd be difficult to name scientists & engineers for many of the "primitive" civs, though. Whereas Greece and many other Western civs would be a naming-cakewalk.

EDIT: BTW, totally love your signature. xD
 
What I would like to do is create a custom list of great generals and admirals for my WWI scenario. How would I do that? Is it hard to change the names?
 
What I would like to do is create a custom list of great generals and admirals for my WWI scenario. How would I do that? Is it hard to change the names?
Is your scenario a full-blown mod with new rules and such or is it merely a map scenario ?
 
Is your scenario a full-blown mod with new rules and such or is it merely a map scenario ?

Basically it is a map scenario. I did change some xml nothing major though.
 
Basically it is a map scenario. I did change some xml nothing major though.
Throw me a link to where I can download it (hopefully a direct download rather than a steam since I've been having trouble with steam and mod downloading lately). I haven't done a lot with worldbuilder maps except where I just put down starting locations. Not sure exactly how things are done structurally when there are also XML rules, so I just need to look at one before I answer back on the meat of your question.
 
Top Bottom