Shadows of Forbidden Gods

Shadows of Forbidden Gods

73 个评价
Names of the World
3
   
奖励
收藏
已收藏
取消收藏
标签: New Cultures
文件大小
发表于
更新日期
1.228 MB
2023 年 4 月 15 日 下午 9:08
2024 年 2 月 29 日 下午 5:29
7 项改动说明 ( 查看 )

订阅以下载
Names of the World

描述
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 条留言
Doopliss  [作者] 2023 年 6 月 13 日 下午 2:58 
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  [开发者] 2023 年 6 月 9 日 上午 10:43 
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  [作者] 2023 年 4 月 20 日 上午 10:28 
Alright, I have a pretty solid theory, and if that theory is correct the crash will be gone.
Doopliss  [作者] 2023 年 4 月 19 日 下午 6:03 
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  [开发者] 2023 年 4 月 19 日 下午 3:10 
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  [作者] 2023 年 4 月 19 日 下午 12:57 
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.
Trappist 2023 年 4 月 19 日 上午 10:18 
Don't bend over backwards to fullfill the wishes of the workshop lol, the mod is absolutely fine as it is.
Vengyr 2023 年 4 月 19 日 上午 7:16 
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  [作者] 2023 年 4 月 18 日 下午 4:14 
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 2023 年 4 月 18 日 上午 10:38 
I wonder if it's possible to make that every culture has it's own pool of portraits associated with it.