Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- # -*- coding: utf-8 -*-
- # Licensed with the venerable WTFPL, from http://www.wtfpl.net/
- #
- # DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
- # Version 2, December 2004
- #
- # Copyright (C) 2004 Sam Hocevar <[email protected]>
- #
- # Everyone is permitted to copy and distribute verbatim or modified
- # copies of this license document, and changing it is allowed as long
- # as the name is changed.
- #
- # DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
- # TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
- #
- # 0. You just DO WHAT THE FUCK YOU WANT TO.
- # Modules
- import random
- numnames=0
- gender=""
- # Commandline Parameters
- import argparse
- parser = argparse.ArgumentParser(description="Generate Necron names and titles")
- parser.add_argument("-n","--number",help="The number of names to generate (default:10)",action="store", dest="numnames", required=False, default=10)
- parser.add_argument("-g","--gender",help="The gender of the names to generate, m for male, f for female, b for both (default)",action="store", dest="gender", required=False, default="b")
- parameters=parser.parse_args()
- numnames=parameters.numnames
- gender=parameters.gender
- #print "We got %s and %s" % (str(numnames), str(gender) )
- #import sys
- #sys.exit(0)
- def integer_validate(user_input):
- try:
- int(user_input)
- except ValueError:
- return False
- return True
- if gender not in ["m","f","b"]:
- print "Warning, we got an invalid gender '%s', defaulting to both genders" % (str(gender))
- gender="b"
- if not integer_validate(numnames):
- print "Warning, we received an invalid number of names to generate, '%s' defaulting to 10" % (str(numnames))
- numnames=10
- else:
- numnames=int(numnames)
- # The data
- malenames=('Aaab','Aah','Aakheperka','Aanekhtou','Aas','Abet','Ab','Abuskhau','Acherres','Aches','Adom','Agymah','Ahmose','Aiari','Aions','Akiiki','Amememhasenb','Ameneman','Amenemapet','Amenemha','Amenkno','Amenmessu','Amennofre','Amenrahersef','Amenrut','Amentotankhatra','Amentuankh','Am','Ammon','Amran','Amsi','Anasch','Anaua','Anemher','Anhurnekht','Ani','Anima','Ankhfkhons','Ankhhapi','Ankhhapimes','Ankhu','Anp','Ansapata','Ao','Apepi','Apmatenu','Aqer','Arirantesf','Arpaesis','Aseskafankh','Aseskaf','Asra','Asromiamun','Assa-tatkeres','Asten','Asychis','Atekhramun','Aten','Ati','Atmoo','Atum','Aukheperu','Av','Azizi','Badru','Bah','Bankole','Basa','Bastet','Bastpaduse','Bebti','Binra','Cheops','Cheres','Chuma','Darius','Djoser','Dsjot-month','Ehoou','Ei-uskh','Enna-enna','Eoea','Eopeii','Fai-iri-ei','Fai-iten-hemh-bai','Faki','Funsani','Geta','Hagar','Hamset','Har-benen','Har-im-hotep','Har-net-atef','Harpakrut','Harscheft','Harsiesi','Hat-ei','Hat-hor-se','Heh-en-khonsa','Hem-bai','Her-het-su','Hik-nekht','Hobs','Hor-im-hotep','Horirem','Hor','Horminuter','Hotephers','Hru-amen','Humai','Hu','Imhotep','Iri-sen','Iritis','Ishaq','Ispimagu','Jibade','Kabhsenuf','Kamuzu','Kasaika','Kefschemsu','Khaba','Khaem-pe','Khaf-hor','Khaldun','Khasu-en-amen','Khert-ase','Khet-ef','Khnemu','Khnum-khufu','Khu-en-pthah','Khufu','Kosey','Lamersekeni','Lateef','Ludim','Lukman','Madu','Makt','Malouli','Manu','Marthad','Masa-ha-rota','Maskini','Massui','Meht-naskhti','Menenba','Menes','Menkauhor','Mentun-sasu','Mentu-ra','Mered','Mer-het','Meri','Meri-ra','Merira','Met-hont-mimut','Mibahu','Minkabh','Min','Mi-ra','Month','Mosegi','Moses','Moswen','Msrah','Mui-en-hiku','Nahab','Nahi','Namurot','Nane','Nascht-amen','Neb-amen','Neb-ankh','Neb-nofre','Neb-pu','Nechtu','Nefer','Nefer-pu','Nehara','Nekhtarhebi','Nekht-har-en-shen','Nekht-mutf','Nekhtou','Neocaisaros','Nephelcheres','Nes-a-hor','Nesahor','Nesu','Nidintabel','Nkosi','Nofre-mat','Ntariusha','Nub-hotep','Nut-mi-amen','Onouris','Osymundyas','Ouaphres','Ouaphris','Ouza','Padubast','Pa-du-isi','Pa-du-neit','Pa-du-nub','Pa-du-pthah','Pah-os','Pa-nehes','Pantina','Pa-ra-nefer','Paru','Pef-aa-khonsu','Pef-nifi-neith','Pen-eoou','Pen-piei','Pent-aur','Pepi-merira','Peteharpocrates','Pet-en-senas','Pet-isis','Petubastes','Petubast','Phanes','Pheles','Philinos','Pibamen','Piea','Pien-nun-enpe','Pis-aroer','Pou-isis','Pra-en-amen','Psa-ben-hor','Psammis','Psar','Psenio','Psi-mut','Psi-naches','Psusennes','Ptah','Pthah','Puer','Purusha','Qeb','Ra-hotep','Râ','Ra-men-ankh','Ra-men-tau-neb','Ra-men-tme','Ra-mes','Ra-mes-su','Ra-neb-nem','Ra-neb-peh','Ra-theris','Rekh-khet-sa','Res-sen-ba','Ruta','Rut-amen','Ruta-sa-sha-ka','Sabacon','Sabatok','Sa-ei-nub-eu','Sah','Sahura','Sa-par','Sa-pi-neb','Sasur-amen','Sebek','Sebercheres','Sefkh','Se-khem-ka','Semempses','Senb','Sen','Serach','Se-ra-nefer-tai','Set-en-et','Seti-nekht','Set','Shaa-em-uas','Shakir','Sharu-sha-ta-kata','Sheshanka','Silsi','Si-nen-uer','S-khem-ka','S-nefer-ka','Souniro','Stephinates','Sudi','Supti','Suten-hi','Suten-rekh','Tabu','Tachus','Taf-nekht','Tahu','Ta-na-sa-ta-nasa','Tat','Taut-mut-f','Teni','Tet-en-hor','Thema','Thoth','Tosertosis','Tsafento','Tumentu-af-ankh','Turo','Tutankhamen','Uaem-kau','Uah-abra','Uarseken','Ufa','Ur','User-mat','User-t')
- femalenames=('Acenath','Achen','Ahit','Ahmes','Ahura','Ai','Ain','Akila','Amaunet','Amem','Ameniritis','Amenmeit','Amenset','Ament','Amunnebkettoti','Amunta','Ana','Anat','Ankhesenamen','Ankhes','Ankhta','Antaemnekht','Anub','Anucis','Anuketmatma','Apet','Arat','Arbasutanifu','Aria','As','Ashtarchemosh','Asmatarta','Asnofre','Astaretenheb','Astarte','Astekhu','Atef','Atim','Aua','Auait','Aurera','Auset','Babmouth','Bantanath','Bektaten','Bektuernuro','Bennu','Bentaresh','Bentres','Bubastis','Dendera','Dsjot-khons','Ebony','Enskerk','Eshe','Esi','Habibah','Halima','Hapentmat','Hap-tek','Hapu','Haqikah','Hasina','Hatasu','Hat-hor','Hat-hor-hat','Hat-hor-het-aei','Hat-hor-se','Hat-hor-se-t','Hat-hors','Hat-ka-nebter','Hat-mit-ra','Hat-schep-u','Heb-i','Heh-t','Hem-at-rota','Hent-anu','Hent-kherpu','Heqet','Hes-ra','Hise-t','Hon-t-khem-u','Hon-t-mit-heb','Hon-t-to-kheb','Hon-t-to-neb','Hont-usen','Hotep-bese-t','Hotep','Hotephetes','Hotep-t','Hunra','Ife','Isi-em-chev','Isi-em-kheb','Jendayi','Kabir','Ka','Kahi','Kakra','Kamilah','Kanika','Karo-amat','Karo-mana','Kartek','Karum-mama','Katesch','Kema','Kemat','Kesi','Kes-kes-t','Ketet','Khata','Khepri','Khet-ankh','Khons-iri-tes','Khonsu','Kissa','Layla','Lotus','Maa','Maibe','Ma-ka-ra','Makara','Meht-em-i-sekhet','Meht-urt','Memphis','Mer-ankhes','Meret-pa','Meri-en-sekar','Meri','Meri-s-ankh','Meri-s-te-khu','Mer-tetes','Mert-hapi','Mert-u','Mesi','Mes-sit','Meten-hont','Mit-aten','Monifa','Mosi','Mouth-en-ap','Mukamutara','Mukantagara','Muntu-hotep','Mut','Mut-iritis','Mut-snat-em','Naa','Naham-s-rata','Nane','Na-nefru-sekhet','Nani','Nathifa','Neb-en-toti','Nebet','Neb-oo','Nebt-het','Nebt-hotep','Nefer-ra','Nefertari','Nefer-u-sebek','Nehimeou','Neit-aker','Neithoker','Nen-sala','Nes-a','Nes-khons','Nes-tauta-khut','Nes-ten-nes-t','Net','Nile','Nit','Nitk-hotep-iri-bent','Nitocris','Niut','Nofre-ari','Nofre-aten-tunen-et','Nofre-t-ari','Nofre-titi','Nub-em-usekh','Nub-hotep','Nubia','Nubit','Nub-khas','Nub-na','Nub-nofre','Nubukha','Nuru','Ode','OJufemi','Olabisi','Oni','Oseye','Ouei','Panya','Philotera-her-sankh','Pthah-se','Pyrrha','Raa','Ra-i','Ra-ka-mat','Ra-maa-ur-nefru','Ra-nefru','Ratta','Raziya','Rehema','Renenet','Renen','Renpe-nofre','Sabo-en-ea','Safiya','Sa-khonsu','Salihah','Sarapous','Sat-bu','Sati','Scemiophris','Sebek-em-isis','Seb-tet','Sekhet-hotep-et','Selk','Selma','Senebsima','Senet','Sensaos','Sent','Sepuntepet','Sera','Sesur-hat','Set-akorf','Set-amen','Set-ap','Set-en-isi','Set-hathor','Set-kherta','Sharifa','Shep-shet','Siotio','Siti','Sitiribeu','Sotep-et-en-ra','Souban','Sslama','Subira','Suma','Surhet-het-u-fent','Ta-apep','Ta-ba-ret','Ta-ei','Taf-nekhta','Ta-hemi','Taia','Tai-af','Ta-khara','Ta-khat','Ta-khot','Ta-ki-uata','Talibah','Tanen-tu','Ta-pera','Taskhtali','Tat-akat','Tat-ara','Tat-maut-a-s-ankh','Tauau','Ta-uer','Tauret','Taurt','Tekh-bes','Ten-pe-piou','Tet-anhur','Teti','Thermutis','Thot-hartais','Thouéris','Tiah-hor','Ti','Tii-mer-ast','To-meri','Tou-tou-ea','Tuaa','Tures','Tutu-ten-apet','Uer-naro','Ur-merits-teshr-shen','Usur-t-kau','Uuhetu','Walidah','Zahra')
- dualfirst=('Guardian','Heir','Keeper','King','Knight','Lord','Seer','Soldier','Warrior')
- dualsecond=('Aether','Blood','Crystal','Darkness','Dawn','Day','Death','Destiny','Dreams','Fear','Fire','Flames','Frost','Grief','Ice','Knowledge','Light','Lightning','Metal','Mind','Mist','Mystery','Night','Pain','Rage','Ruin','Shadow','Silence','Space','Spark','Spirit','Stars','Time','Thunder','Twilight','Void','War')
- singlewords=('Adamant','All-knowing','All-seeing','Almighty','Annihilator','Ardent','Assassin','Atrocious','Barbarous','Beheader','Behemoth','Bestial','Bitter','Bloodied','Blood-soaked','Blood-spattered','Bloodstained','Bloodthirsty','Boisterous','Bright','Brilliant','Brutal','Callous','Celebrated','Cerberus','Champion','Chivalrous','Clouded','Cold-blooded','Colossal','Colossus','Commanding','Compassionless','Conqueror','Consecrated','Crimson','Cruel','Cutthroat','Cyclops','Dark','Dazzling','Defender','Demolisher','Destroyer','Devoted','Distinguished','Doorkeeper','Dutiful','Elevated','Eradicator','Esteemed','Exalted','Executioner','Exterminator','Extravagant','Faithful','Ferocious','Fierce','Firebrand','Firm','First','Flenser','Gatekeeper','Giant','Gigantic','Gilded','Glittering','Glorious','Godbreaker','Gory','Grandiose','Great','Grievous','Grim','Grisly','Guardian','Hateful','Heroic','Honorable','Honored','Illuminated','Illustrious','Immortal','Impaler','Implacable','Ineffable','Inexorable','Intellectual','Iron-fisted','Lifetaker','Lofty','Lookout','Loyal','Magnanimous','Magnificent','Majestic','Malevolent','Merciless','Mighty','Omnipotent','Overseer','Paladin','Phaeron’sHand','Pitiless','Prodigious','Protector','Proud','Radiant','Relentless','Resplendent','Ruthless','Savage','Sentinel','Sentry','Shining','Shrouded','Slaughterer','Spiteful','Splendid','Stalwart','Starkiller','Starwalker','Stormbringer','Storm’sEye','Strangler','Stupendous','Sublime','Sumptuous','Superior','Terrible','Titan','Torchbearer','Transcendent','Triumphant','Tyrannical','Unbending','Unfailing','Unflinching','Unforgiving','Unliving','Unmerciful','Unrelenting','Unstoppable','Vanquisher','Venerable','Vengeful','Vicious','Victorious','Vindictive','Warden','Watchdog','Wicked','Wise','Zealous')
- nouns=('Blade','Blood','Bone','Dawn','Dragon','Drake','Dusk','Fire','Frost','Grave','Galaxy','God','Hammer','Head','Heart','Ice','Iron','Life','Planet','Shadow','Shield','Skull','Sky','Spear','Spark','Star','Steel','Storm','Stone','Sun','Sword','Thunder','World')
- verbs=('Banger','Beater','Binder','Blazer','Breaker','Catcher','Chucker','Cracker','Crusher','Cutter','Eater','Herder','Hunter','Eater','Fighter','Killer','Maker','Master','Rider','Runner','Screamer','Seeker','Shredder','Smasher','Snatcher','Speaker','Stabber','Strider','Sweeper','Tracker','Walker','Warper','Weaver')
- def getname():
- if gender=="m":
- return random.choice(malenames)
- elif gender=="f":
- return random.choice(femalenames)
- else:
- # Coin toss
- gchoice=random.randint(0,1)
- if gchoice==0:
- return random.choice(malenames)
- else:
- return random.choice(femalenames)
- def gettitle():
- # Type 1 is single words, type 2 is dual words, type 3 is nounverber
- type=random.randint(1,3)
- if type==1:
- # Single words
- return random.choice(singlewords)
- elif type==2:
- # Dual words
- return "%s of %s" % (random.choice(dualfirst),random.choice(dualsecond))
- else:
- # Nounverber
- return "%s%s" % (random.choice(nouns),random.choice(verbs))
- for i in range(numnames):
- print "%s The %s" % (getname(),gettitle())
Advertisement
Add Comment
Please, Sign In to add comment