Shadows of Forbidden Gods

Shadows of Forbidden Gods

Living Characters
67 Comments
crawlers 17 Oct, 2024 @ 6:53am 
Turn: 350: No ruler present. Cancelling go to challenge
UnityEngine.StackTraceUtility:ExtractStackTrace ()
UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object[])
UnityEngine.Logger:Log (UnityEngine.LogType,object)
UnityEngine.Debug:Log (object)
Assets.Code.World:log (string)
LivingCharacters.Task_Chars_SpreadVampiricInfluence:turnTick (Assets.Code.Unit)
Assets.Code.Unit:turnTick (Assets.Code.Map)
Assets.Code.UA:turnTick (Assets.Code.Map)
Assets.Code.UAE:turnTick (Assets.Code.Map)
Assets.Code.Map:processUnits ()
Assets.Code.Map:turnTick ()
(wrapper dynamic-method) Assets.Code.World:Assets.Code.World.bEndTurn_Patch0 (Assets.Code.World,bool)
UnityEngine.Events.InvokableCall`1<bool>:Invoke (bool)
UnityEngine.Events.CachedInvokableCall`1<bool>:Invoke (object[])
UnityEngine.Events.UnityEvent:Invoke ()
UnityEngine.UI.Button:Press ()
crawlers 17 Oct, 2024 @ 6:53am 
UnityEngine.UI.Button:OnPointerClick (UnityEngine.EventSystems.PointerEventData)
UnityEngine.EventSystems.ExecuteEvents:Execute (UnityEngine.EventSystems.IPointerClickHandler,UnityEngine.EventSystems.BaseEventData)
UnityEngine.EventSystems.ExecuteEvents:Execute<UnityEngine.EventSystems.IPointerClickHandler> (UnityEngine.GameObject,UnityEngine.EventSystems.BaseEventData,UnityEngine.EventSystems.ExecuteEvents/EventFunction`1<UnityEngine.EventSystems.IPointerClickHandler>)
UnityEngine.EventSystems.StandaloneInputModule:ReleaseMouse (UnityEngine.EventSystems.PointerEventData,UnityEngine.GameObject)
UnityEngine.EventSystems.StandaloneInputModule:ProcessMousePress (UnityEngine.EventSystems.PointerInputModule/MouseButtonEventData)
UnityEngine.EventSystems.StandaloneInputModule:ProcessMouseEvent (int)
UnityEngine.EventSystems.StandaloneInputModule:ProcessMouseEvent ()
UnityEngine.EventSystems.StandaloneInputModule:Process ()
UnityEngine.EventSystems.EventSystem:Update ()
crawlers 17 Oct, 2024 @ 6:52am 
NullReferenceException: Object reference not set to an instance of an object
at LivingCharacters.Task_Chars_SpreadVampiricInfluence.turnTick (Assets.Code.Unit unit) [0x000aa] in <7e14f1278d7647d899ab8af70f743a76>:0
at Assets.Code.Unit.turnTick (Assets.Code.Map map) [0x000a6] in <87722c3d024842ed81b5e159dacda8fd>:0
at Assets.Code.UA.turnTick (Assets.Code.Map map) [0x00001] in <87722c3d024842ed81b5e159dacda8fd>:0
at Assets.Code.UAE.turnTick (Assets.Code.Map map) [0x00001] in <87722c3d024842ed81b5e159dacda8fd>:0
at Assets.Code.Map.processUnits () [0x00043] in <87722c3d024842ed81b5e159dacda8fd>:0
at Assets.Code.Map.turnTick () [0x0018f] in <87722c3d024842ed81b5e159dacda8fd>:0
at (wrapper dynamic-method) Assets.Code.World.Assets.Code.World.bEndTurn_Patch0(Assets.Code.World,bool)
at UnityEngine.Events.InvokableCall`1[T1].Invoke (T1 args0) [0x00010] in <b18ae20108aa49ccb481b7d86c1fcbd2>:0
crawlers 17 Oct, 2024 @ 6:52am 
at UnityEngine.Events.CachedInvokableCall`1[T].Invoke (System.Object[] args) [0x00001] in <b18ae20108aa49ccb481b7d86c1fcbd2>:0
at UnityEngine.Events.UnityEvent.Invoke () [0x00074] in <b18ae20108aa49ccb481b7d86c1fcbd2>:0
at UnityEngine.UI.Button.Press () [0x00027] in <9bfae1dbc3ab45afbfa204130a1cfc3a>:0
at UnityEngine.UI.Button.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData) [0x00010] in <9bfae1dbc3ab45afbfa204130a1cfc3a>:0
at UnityEngine.EventSystems.ExecuteEvents.Execute (UnityEngine.EventSystems.IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData) [0x00008] in <9bfae1dbc3ab45afbfa204130a1cfc3a>:0
at UnityEngine.EventSystems.ExecuteEvents.Execute[T] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.ExecuteEvents+EventFunction`1[T1] functor) [0x0006f] in <9bfae1dbc3ab45afbfa204130a1cfc3a>:0
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
crawlers 17 Oct, 2024 @ 6:52am 
UnityEngine.DebugLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
UnityEngine.EventSystems.StandaloneInputModule:ReleaseMouse(PointerEventData, GameObject)
UnityEngine.EventSystems.StandaloneInputModule:ProcessMousePress(MouseButtonEventData)
UnityEngine.EventSystems.StandaloneInputModule:ProcessMouseEvent(Int32)
UnityEngine.EventSystems.StandaloneInputModule:ProcessMouseEvent()
UnityEngine.EventSystems.StandaloneInputModule:Process()
UnityEngine.EventSystems.EventSystem:Update()
crawlers 17 Oct, 2024 @ 6:44am 
I think this mod might be throwing errors when vampires are trying to interact somehow with settlements that have no ruler (such as factories from the aberrant metal mod).
Doopliss  [author] 15 Oct, 2024 @ 5:59pm 
Generally get a sovereign who likes Discord, dislikes Cooperation, and has beef with a different nation.
SnickeringSnaussages 15 Oct, 2024 @ 12:16pm 
Hey Doopliss- I've played with this mod quite a bit and regularly get lightbringers and blight demons spawning, but I don't think I've ever had a provocateur proc for me. What can I do to make the conditions right for this?
Doopliss  [author] 26 Sep, 2024 @ 3:11pm 
You're going to have to be a bit more specific, but note that only mages in mourning should have access to it in the first place.
Kaptein Kid 24 Sep, 2024 @ 8:55am 
The quest for raising loved ones as revenants seem to be broken for heroes
Doopliss  [author] 1 Apr, 2024 @ 6:49am 
I'l look into it, but it would be helpful if you could provide more context (such as the expanded red text when you get a crash).
The Nostril 30 Mar, 2024 @ 9:36pm 
Have noticed that this mod is causing crashing since the DLC dropped
crawlers 27 Jan, 2024 @ 5:24pm 
Thank you for the fix, now the savegame is fixed and playable again.
Doopliss  [author] 27 Jan, 2024 @ 4:00pm 
Alright, should be fixed. I can't for the life of me figure out why the index can go out of range there - maybe it's a base game cleanup issue, or maybe one of the other mods is somehow creating people/social groups/houses without adding them to the list, but it should at least avoid crashing. Thank you again for the help.
crawlers 27 Jan, 2024 @ 1:37pm 
Doopliss  [author] 27 Jan, 2024 @ 1:24pm 
You could use Dropbox or some other file-sharing site, or you could send it to me via Discord (I'm on the SoFG discord under the same name). I'll get digging upon receipt.
crawlers 27 Jan, 2024 @ 1:13pm 
Mods, in order:
Community Library
Chinese Cultural Scheme
Insect God
Ixthus, King of cups
Deep Ones Plus
Living Wilds
Living Characters
Covens, Curses & Curios
Names of the World
Orcs Plus
KeeperItemMod
Saving Grace
World Panic and Victory Condition
Horror & Devastation: Breaking Minds
Living Societies
Gates
The Zealot
Transfer Minions
Scrdest's French Realist Potraits - Reforged
Enemies of the Dark

I am willing to send you the save file, but I am not sure how to do so. Do you have a method in mind?
Doopliss  [author] 27 Jan, 2024 @ 10:47am 
It would be helpful-but-not-necessary if you could send me your save file and mod list/order. It seems like it's not a consistent issue with demonic companions, so having the bugged save would let me test more consistently instead of trying to guess at the issue.
Doopliss  [author] 27 Jan, 2024 @ 10:44am 
Will look into it, wrists permitting. Thank you for the report!
crawlers 26 Jan, 2024 @ 11:55am 
There was an error that stopped my save from advancing in turns. May you please fix it so I can continue? This happened a turn after a demonic companion was summoned into the world, the second one in existence.
crawlers 26 Jan, 2024 @ 11:54am 
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 LivingCharacters.UAEN_Chars_DemonicCompanion.turnTickAI () [0x007c6] in <0dc097e72cd0428491fcaa163c070b80>:0
at Assets.Code.Unit.turnTick (Assets.Code.Map map) [0x000ba] in <1f3c866800404fcb81e55c918b1d35bb>:0
at Assets.Code.UA.turnTick (Assets.Code.Map map) [0x00001] in <1f3c866800404fcb81e55c918b1d35bb>:0
at Assets.Code.UAE.turnTick (Assets.Code.Map map) [0x00001] in <1f3c866800404fcb81e55c918b1d35bb>:0
at LivingCharacters.UAEN_Chars_DemonicCompanion.turnTick (Assets.Code.Map map) [0x00001] in <0dc097e72cd0428491fcaa163c070b80>:0
at Assets.Code.Map.processUnits () [0x00043] in <1f3c866800404fcb81e55c918b1d35bb>:0
crawlers 26 Jan, 2024 @ 11:54am 
at Assets.Code.Map.turnTick () [0x00159] in <1f3c866800404fcb81e55c918b1d35bb>:0
at Assets.Code.World.bEndTurn (System.Boolean forceThrough) [0x0036e] in <1f3c866800404fcb81e55c918b1d35bb>:0
at UnityEngine.Events.InvokableCall`1[T1].Invoke (T1 args0) [0x00010] in <b18ae20108aa49ccb481b7d86c1fcbd2>:0
at UnityEngine.Events.CachedInvokableCall`1[T].Invoke (System.Object[] args) [0x00001] in <b18ae20108aa49ccb481b7d86c1fcbd2>:0
at UnityEngine.Events.UnityEvent.Invoke () [0x00074] in <b18ae20108aa49ccb481b7d86c1fcbd2>:0
at UnityEngine.UI.Button.Press () [0x00027] in <9bfae1dbc3ab45afbfa204130a1cfc3a>:0
at UnityEngine.UI.Button.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData) [0x00010] in <9bfae1dbc3ab45afbfa204130a1cfc3a>:0
at UnityEngine.EventSystems.ExecuteEvents.Execute (UnityEngine.EventSystems.IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData) [0x00008] in <9bfae1dbc3ab45afbfa204130a1cfc3a>:0
crawlers 26 Jan, 2024 @ 11:53am 
at UnityEngine.EventSystems.ExecuteEvents.Execute[T] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.ExecuteEvents+EventFunction`1[T1] functor) [0x0006f] in <9bfae1dbc3ab45afbfa204130a1cfc3a>:0
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
UnityEngine.EventSystems.StandaloneInputModule:ReleaseMouse(PointerEventData, GameObject)
UnityEngine.EventSystems.StandaloneInputModule:ProcessMousePress(MouseButtonEventData)
UnityEngine.EventSystems.StandaloneInputModule:ProcessMouseEvent(Int32)
UnityEngine.EventSystems.StandaloneInputModule:ProcessMouseEvent()
UnityEngine.EventSystems.StandaloneInputModule:Process()
UnityEngine.EventSystems.EventSystem:Update()
crawlers 14 Jan, 2024 @ 12:26pm 
I noticed a massive wave of political marriages at the start of a game to the point where the modifier for recent high profile marriages got to -953. It seems they do not cancel the marriage once they go on their way to begin one due to this which is probably why there are so many at the start.
timlagor 2 Dec, 2023 @ 5:26pm 
It did bug me a little that heroes were immune to plague
crawlers 17 Aug, 2023 @ 1:47pm 
Lightbringers can also drive back shadow in useless locations - a spot surrounded by 100% shadow areas and water, for example. This makes no change in the shadow once they complete their task.
crawlers 15 Aug, 2023 @ 5:57pm 
A similar issue occurs with wells of shadow - all nearby locations are either ocean or have 100% shadow.
crawlers 15 Aug, 2023 @ 5:21pm 
Can't tell if vanilla bug or bug in this mod, but enshadow challenge is possible by heroes who made demonic pacts in places at 100% shadow. This should not be allowed.
Doopliss  [author] 13 Aug, 2023 @ 7:58pm 
It should work on both version 1.0 and beta branch 1.1.
Muscle Wizzard 13 Aug, 2023 @ 12:51pm 
Does this function on 1.0?
crawlers 26 Jul, 2023 @ 9:32am 
I saw lightbringers driving back shadow in places where it achieved nothing, such as when all surrounding areas have 100% shadow. Perhaps they need a check to see if it is worthwhile to even try.
Bubbadoo🦈🌺 7 Jun, 2023 @ 4:00pm 
Alright, it maybe the case of again me still learning the new mechanics and missing things then.

Although I do feel like there should be something for certain rulers to be harder to just simply assassinate. A cruel or mad ruler would know that they'd have someone plotting to end them, cruel rulers feeling the target painted on their back and mad ones being paranoid of it of course.
Doopliss  [author] 6 Jun, 2023 @ 7:01am 
It's always possible it's a bug that only comes up some of the time - send me a save if you do find a situation where a hired assassin doesn't cause their employer bloodstains.

In the meantime, hirelings have a "cooldown" motivation making rulers less likely to spam them, so after the first few of assassins the first time someone's VERY motivated to send assassins, they should normalize to once every 60 turns or so no matter how much the rulers want to assassinate someone.
Bubbadoo🦈🌺 5 Jun, 2023 @ 9:54pm 
But also though I did have the frustration with like the whole gimmick is enciting wars amongst all the factions, and that was hard because any ruler I would set up would just keep being assassinated before they can even really do anything. The assassin hireling isn't really fun to deal with in that case, because I have to keep babysitting a bunch of rulers while trying to focus on my other stuff.
Bubbadoo🦈🌺 5 Jun, 2023 @ 9:02pm 
I swear that it didn't, I was struggling getting any rulers getting bloodstains when I had this on.
Maybe I just wasn't looking carefully enough, if so apologies. It was my first run learning the god when I had that struggle, so it could honestly have been on me and if so my bad!
Doopliss  [author] 5 Jun, 2023 @ 5:13pm 
I could put a text file in the mod folder that lets you toggle all the actions and challenges, but that's a low priority for me at the moment - particularly since I have to update all the mods for the new beta branch.

That said, testing suggests that a hireling assassination correctly gives the bloodstain to the person who hired the assassin.
Bubbadoo🦈🌺 5 Jun, 2023 @ 12:20am 
Is there anyway to access perhaps a settings to turn off specific hirlings? Only asking because this mod is fun, but doesn't play nice with the modded in god Kishi. The assassins bypass the bloodstain system of that god, so I do wish I could stop that hireling from being available but still keep the rest of the system to play with when I am playing with that god.
Doopliss  [author] 25 Apr, 2023 @ 4:02pm 
The theoretical balance is that the main advantage is corrupted character actions, and the main disadvantage is the pro-human hirelings, though heroes also have various pro-social options like ending vendettas, changing holy order tenets to be more pro-human and trying to get rid of pro-Deep One rulers.

I'll likely add new elf behaviours eventually, but not until they stabilize a bit more. Things seem kind of in the air with them right now, and I don't want to be trying to wrestle the balance patches too much.

I prefer the flow of A Lightbringer (particularly given it matches base game stuff like A Warlock and A Heirophant). They're temporary and typically won't level up, and I think referring to them in that way reinforces that they're kind of disposable.

In testing my conclusion was that, while this mod does add some new unrest sources, the party event seems extremely common whether or not I'm running Living Characters. Definitely agree that it's too much, though. :D
Mothball 25 Apr, 2023 @ 3:56pm 
I just realized the unrest party event isn't part of this mod, my bad! Maybe it's just this mod has more events that cause unrest to be an issue which causes it to pop up more often.

Also I thought about elves more, some events they could take. Things like making Crystalsmiths like shadow distributing evil stones, or Wayfinders deliberating finding corrupt heroes. It would be neat to have dark elves....

Then again that touches on my balance concerns because in the base game heroes don't ever do anything that directly benefits you even if they love shadow and cruelty and etc. I love it because it adds a lot of flavor when they do, and I play this game more as a story generator than optimizing it.

But I do always wonder a little about balance, hopefully the helpful events they do offsets the benefits you get from the bad characters!
Mothball 25 Apr, 2023 @ 3:47pm 
Feedback! Yeah, this is a minor nitpick, applies to Living Wilds too, I would prefer if the minor characters did not have the "A" part of their name. "A Lightbringer."

I think it makes it harder to actually find them when searching through the map and having all of them appear at the top of the list. Just "Inquisitor" would be simpler. I don't think those minor characters level up, do they? Do they have timed lives?

Also I noticed that there are a lot more quests for characters that wind up helping you if they have the right traits.. Then again, I suppose good heroes are also buffed ideally to make up for it and challenge against that?

Is there a list of events? And will you think about adding more interactions/etc for things like Elves? They seem a little simple comparatively.

Final thought, That unrest party event is so absurdly common. I swear I get it every turn I am performing an action in a settlement with any unrest.

Great mod though!
SDSkinner2011 25 Apr, 2023 @ 3:02pm 
What about just for the monomaniacal Elder Gods? As it is Mammon and Kishi spend power in order to make people obsessed- replacing it with shadow would be organic.
Baronfuming 24 Apr, 2023 @ 4:17pm 
It feels kind of weird to have these minor characters named 'A Lightbringer' or 'An Assassin'. Not sure if just 'Lightbringer' or 'Assassin' would be better though.
Doopliss  [author] 24 Apr, 2023 @ 3:27pm 
It could, but I don't think it would work as well as the current system. It would make obsessions way more common (and we know from the racial harmony modifiers how that turns out), and it would also makes the corrupted people's shenanigans less varied - for example, liking for Madness on a ruler would only make them more likely to hire Doomsayers to spread madness in rival kingdoms.
SDSkinner2011 24 Apr, 2023 @ 2:10pm 
The system where shadow causes people to gain preferences is cool. Could it be made God specific? Ex- Iastur's shadow causes preference for madness, Mammon causes greed, etc.
crawlers 17 Apr, 2023 @ 3:12pm 
Heroes shouldn't try to clear the name of werewolves in werewolf form.
Doopliss  [author] 16 Apr, 2023 @ 11:52am 
I went back and forth a few times on assassins and Ixthus, and wound up splitting the difference by making assassination attempts take twice as long - that means the assassin will get fewer kills off before they time out, and players will have more time to interrupt them if they want the target alive. It's just too hilarious an interaction for me to remove entirely.

I've also included various other fixes and balances. I'm reasonably certain I've fixed the issues with Scapegoat Ruler, but definitely send me a save if it's still crashing or you're running into other issues.
crawlers 13 Apr, 2023 @ 2:05pm 
Curious interaction with ixthus mod - assassins sent to kill immortal rulers will keep trying to kill them after the first kill. I guess they figure the contract isn't up since the person is still around and maybe one more attempt will do the trick. This of course accelerates the ruler's desire to build an eternal city. Maybe not a bad thing, or perhaps assassins should give up after killing someone.
Kaivian 12 Apr, 2023 @ 10:27am 
Thank you for explaining that. I was wondering if I was missing something, and turns out I was!

For getting more mid-challenge events, I thought I had only added your mods but it turned out I added one that added a couple other events and I disabled that, I think either I was getting a weird streak of luck, or it was that mod.

I also suspect that since I was between this empire and the wilderness, there may have been a unicorn that wandered over and warded the edge cities once or twice, but not real sure.

I started another game last night and it went more as I would have expected.

Overall, both your mods are awesome. Almost feel like they should be part of the base game, lol.
Doopliss  [author] 11 Apr, 2023 @ 2:12pm 
Living Characters only really impacts events by adding a couple new ones that pop in scripted circumstances (a hero asking one of your agents to inflict them with the Hunger, for example), so I'm almost completely certain that it wouldn't impact how frequently mid-challenge events happen.

Regarding the Lightbringers, it sounds like you may have had bad luck and got a nearby ruler who obsessively hated Shadow. Recruitment actions like Hire Lightbringer have reduced motivation as you hire more of them (displaying as "Lightbringers in demand" on the local action list), so getting hit with a bunch of them early should mean that they're far less likely to show up later, no matter how high rulers' motivation is. Your options are generally to either recruit a combat agent to beat them up or just direct your attention elsewhere while they waste their time warding the Elder Tomb.
Kaivian 11 Apr, 2023 @ 9:33am 
I don't know how to feel about this mod. On one hand, it has cool features I'd like to see. Otoh, when I tried playing with it, almost immediately the nearest country to the vault started hiring lightbringers which spammed Wards on every adjacent nodes and remove shadow, and when they finally expired they hired more that did the same. Even having two agents working to weaken them was futile since they just immediately reapplied them to over 200%. By turn ~70 I was frustrated and didn't want to continue the game.

I'm sure there's certain strategies to combat this, perhaps making the ruler insane, but it just felt weird seeing 250% wards at like turn 20.

I also seemed to be getting a lot more challenge events on my agents. I think I saw the smoking lady event about 10 times in those ~70 turns. I once had the merchant event happen twice during one challenge (was like a 20 turn infiltration, but still...)