Shadows of Forbidden Gods

Shadows of Forbidden Gods

53 ratings
Names of the World
3
   
Award
Favorite
Favorited
Unfavorite
File Size
Posted
Updated
1.228 MB
Apr 15, 2023 @ 9:08pm
Feb 29 @ 5:29pm
7 Change Notes ( view )

Subscribe to download
Names of the World

Description
Names of the World is a culture overhaul that adds over 20 new hand-curated name lists to the game to make the world’s societies more distinct from one-another.

Real Names: Rather than the base game’s Markov-generated names, Names of the World uses real-world names, reviewed by hand to make sure they evoke their culture without breaking immersion. The current list of naming schemes is as follows:
-African
-Arabic
-Aztec
-Chinese
-Ancient Egyptian
-English
-Finnish (credit to Mall)
-French
-German
-Greek
-Hungarian
-Indian
-Italian
-Japanese
-Korean
-Roman
-Russian
-Scandinavian
-Scottish
-Spanish
-Vietnamese
-Irish (Elves)
-Tolkienesque (Elves – credit to Ohioguyo)
-Modern USA (starts disabled)
-Welsh (Elves)

A Vibrant Map: In the base game, everyone on one landmass uses the exact same naming scheme. Names of the World alters this so that every starting society gets its own naming scheme, with unoccupied locations taking names from the societies closest to them. If a civil war occurs, the rebel societies will use the naming scheme from their new capitals, with conquered nations re-asserting their cultural identity as they declare independence.

Full Customizability: Name lists can be shifted between humans and elves, or deleted entirely, as you'd like. To access these settings, enter the Mod Configuration menu, scroll down to Names of the World and click the “Configure” button.
11 Comments
Doopliss  [author] Jun 13, 2023 @ 2:58pm 
All fixed - turns out that initializing your entire mod in afterMapGenBeforeHistorical doesn't work great in game modes that skip over that function entirely. Thank you for the report!
BobbyTwoHands  [developer] Jun 9, 2023 @ 10:43am 
NullReferenceException: Object reference not set to an instance of an object
at WorldNames.Kernel_Names.onTurnStart (Assets.Code.Map map) [0x00001] in <4190aa0bd7ee4922a94fd8014279cab0>:0
at Assets.Code.Map.turnTick () [0x00382] in <067a2752cc9d4478875d589c5ec71a6c>:0
at Assets.Code.World.startup (Assets.Code.GameOptions opts) [0x00749] in <067a2752cc9d4478875d589c5ec71a6c>:0
at Assets.Code.PopupXBoxGodSelectMsg.onClick () [0x00093] in <067a2752cc9d4478875d589c5ec71a6c>:0
at Assets.Code.PopupXScroll.bCancel () [0x00012] in <067a2752cc9d4478875d589c5ec71a6c>:0

Null pointer was thrown during tutorial (1st tutorial). Did not appear during main game normal start up.
Doopliss  [author] Apr 20, 2023 @ 10:28am 
Alright, I have a pretty solid theory, and if that theory is correct the crash will be gone.
Doopliss  [author] Apr 19, 2023 @ 6:03pm 
Oh no D: I can dig into it just knowing it happens on onTurnStart, but a save or seed+settings+mod configuration might speed it along
BobbyTwoHands  [developer] Apr 19, 2023 @ 3:10pm 
Doooooppppllisss it broke

ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
at System.Collections.Generic.List`1[T].get_Item (System.Int32 index) [0x00009] in <6073cf49ed704e958b8a66d540dea948>:0
at WorldNames.Kernel_Names.onTurnStart (Assets.Code.Map map) [0x0002b] in <4c8d8747c3f14b0dbf85404f72a17785>:0
at Assets.Code.Map.turnTick () [0x00382] in <9a5a99be31474a10ab5a4f72ac2f88ac>:0
at Assets.Code.World.startup (Assets.Code.GameOptions opts) [0x003c4] in <9a5a99be31474a10ab5a4f72ac2f88ac>:0
at Assets.Code.PopupGameOptions.startGame () [0x0001f] in <9a5a99be31474a10ab5a4f72ac2f88ac>:0
at UnityEngine.Events.InvokableCall.Invoke () [0x00010] in <b18ae20108aa49ccb481b7d86c1fcbd2>:0
...
Doopliss  [author] Apr 19, 2023 @ 12:57pm 
I do in fact enjoy talking about modding this game, both the technical side and the design side. :D

Person.getPortrait works by checking the person's society, checking if it has a unique portrait list, pulling something from it if so, and pulling something from the species' portrait list if not. Basing it on the original portrait actually solves a lot of the problems now that you mention it, but a Person doesn't actually have an "original society" property to store it in. I suppose the cleanest method would be to store a list of each person's starting cultures in the mod's core, then using a special overriding library to change Person.getPortrait to something else entirely, which is actually totally feasible.

I'm still not doing it for this mod, though, for reasons I hope will become clear in the coming months.
Trap Pissed Apr 19, 2023 @ 10:18am 
Don't bend over backwards to fullfill the wishes of the workshop lol, the mod is absolutely fine as it is.
Vengyr Apr 19, 2023 @ 7:16am 
If they change society, maybe they could keep the portrait? Base their portrait on their hometown, on the moment they "spawn"?

I might be just saying nonsense, no idea how this works behind the scenes. But if such thing is possible, it would be pretty good at having each society look more distinct.
Doopliss  [author] Apr 18, 2023 @ 4:14pm 
It's kind of pushing the bounds of possible. Societies can include unique portrait lists, but cultures can't, and in the base game societies don't really have an assigned culture. This can theoretically be handled by making each culture its own type of society (or by overriding a bunch of the base game code directly), but this approach has major risks of stepping on other mods' toes and I suspect would also make the game run slower.

Even once that's overcome (which I might be doing anyway for an unrelated mod), there's a risk of messing things up if the heroes change societies. I think I'd need to either make society changes impossible (which poses compatibility risks with other mods) or give each of them their own portrait list of the same length with portraits in the same spot for each society having the same skin/hair/eye colours (which would also conflict with any base game portrait mods).
Vengyr Apr 18, 2023 @ 10:38am 
I wonder if it's possible to make that every culture has it's own pool of portraits associated with it.