to quote your description : "Note that this does NOT include children. They are still invulnerable because the Essential flag isn't responsible for it."
Could you please elaborate on this ?
I feel I need to explain why this has me surprised. There is a mod that I might want to use in the future to make my FO4 world more like I imagine it would be. My goal in using that mod would be to add an additional layer of moral challenge, in that I couldn't just waltz into a raider camp and start nuking everything into oblivion indiscriminately. If I installed that mod to my game, I'd have (and would try my best) to avoid killing these collaterals.
As I understand it, raider children are set not to aggro at range. However bugs, glitches or accidents can happen. In that case, I want my player character to be able to run, and if that's not possible, to kill that speck of pixels that keeps attacking despite my best efforts to preserve its virtual existence.
So to get back to my initial question, I intended to use RobCo Patcher to set all children in the world as "Protected", so that only the PC could "kill" them as last resort. Yet here I am, checking out your mod, seeing that something else might interfere.
I'm not going to use that mod to kill "children". I'll never judge anyone who does (in a video game). I fully realize that FO4 is a video-game, but it's just not my vibe. Even back in FO2, I refrained from violence against that little piece of (censored) pickpocket. However I don't want to realize after 20+ hours in that my game is bugged and the only way out would be the console.
I'm also simply curious, and try to learn how the engine underneath works.
Basically they have some hardcoded checks in the .exe for children. For example if the game checks whether and NPC can die it'll check: IsEssentiall OR IsChild
Same for whether and NPC can be damaged it'll check if the NPC is a child. There'd be a need of a separate plugin to make them able to be damaged or killable which I have been considering of making but I've been lazy and/or busy
Interesting. I wanted to use something like this, and customize it with RobCo to my needs. Not sure if it's possible to remove the "IsChild" tag with it, but since there aren't many child records, I guess I could stick to compatibility patches.
In any case, thank you very much for the explanation.
Adding a little to this from using the Mortal Youths - Killable Children Lite. It works great (fitting for a gore ridden vile Fallout....which this could/would be). There are not many children so they are easy to change to Protected as well. The game uses the IsChild for other things too so best to just use the Protected option to keep them from being mortal.
Note: There also needs to be a good AI package when doing this or they end up as more of a PITA. I could not find any and even when I made my custom packages for them they eventually ended up attacking/fighting somehow (feisty kids. =) ). Being invulnerable caused lots of other issues with settlement attacks and orphans (and Raider Children if adding that part). Hence why I simply gave up and let them be mortal just like everyone else.
Trying this out to see how it works. I do check out logs especially when I am trying something out. This mod's log is strange and I am not sure this mod is actually working because of this.
In the log:
L:\Fallout 4 Modding\F4SE Plugin Dev Environment\CommonLibF4\Global Mortality\src\main.cpp(57): [warning] 236 NPCs have had their Essential flag removed
I have no such drive as well as no likely alias to a location that looks like this. None of the other logs from F4SE look like this. This looks to be some string hold over from your development. Also, the quantity of NPCs is very low in my game setup. I have many more than this.
The ini file for this has no reference to this location either.
[General] MakeProtected=false
There is an inherent issue with seeing things like this. DLL file containers could do 'extra' things like phoning home or other devious natured things. It is important for us to check logs of these types of containers from 'Untrusted Sources'. Any sane and conscientious person would never let a DLL do whatever it wants to. We have enough security issues already in computers. No need to imply this sort of thing in a game mod. End rant.
Likely, from seeing your comments to others below, you could give a rip. Not to sound hostile but you need to make your log represent what is actually happening correctly. Similar trust issues with your other F4SE mods which I did not post on.
Thanks for making and sharing this mod but uninstalled permanently because of obvious trust issues.
That's just my dev path that stays in the compiled file. Same way Papyrus scripts have your dev path and Windows user name when decompiled. Including the paths the Bethesda devs had their setups on.
Path is mine, the 236 is how many NPCs your setup has. I tend to remove this prefix nowadays in new files but when I made this I had no idea how so I didn't bother looking into it as I was too excited to make stuff.
Also, my sources are usually posted on GitHub (always for bigger mods, but small ones I tend to not to not clutter up my GitHub with repos that have 50 lines worth of code) and I provide .PDB files so if there was a backdoor or anything of the sort they'd have been found by now.
What I found is that everyone is mortal except Protected. So something like Liga of my Companions has the option to 'Protect' or 'Mortal' any follower (including the settlers and that can be hired). What is nice about this is that it can be set back to 1 as needed. Children are handled differently.
Does this just removes the essential flag, or turns essential characters into protected characters, i.e. only killable by the player? If its the first, then it means any NPC could be killed by any random NPC or creature?
Any chance of making a version in which formerly essential characters can only be killed by the player, in order to not break quests due to a random creature spawn? Or I guess I can just download the mod and leave it disabled in my load order, and only enable it should I choose to kill an essential character.... less immersive, but should do the trick
Yeah I will update this some day. I am currently finishing off the last batch of bug fixes for SCOURGE - F4SE and I don't want to get distracted by anything else until that has a Nexus release. The issue with releasing so many small plugins is that there will be a lot of feature requests :P
can you make a version that makes it so they can only be killed by the player? important characters dying to some random raider or ghoul is really annoying
77 comments
to quote your description : "Note that this does NOT include children. They are still invulnerable because the Essential flag isn't responsible for it."
Could you please elaborate on this ?
I feel I need to explain why this has me surprised. There is a mod that I might want to use in the future to make my FO4 world more like I imagine it would be. My goal in using that mod would be to add an additional layer of moral challenge, in that I couldn't just waltz into a raider camp and start nuking everything into oblivion indiscriminately. If I installed that mod to my game, I'd have (and would try my best) to avoid killing these collaterals.
As I understand it, raider children are set not to aggro at range. However bugs, glitches or accidents can happen. In that case, I want my player character to be able to run, and if that's not possible, to kill that speck of pixels that keeps attacking despite my best efforts to preserve its virtual existence.
So to get back to my initial question, I intended to use RobCo Patcher to set all children in the world as "Protected", so that only the PC could "kill" them as last resort. Yet here I am, checking out your mod, seeing that something else might interfere.
I'm not going to use that mod to kill "children". I'll never judge anyone who does (in a video game). I fully realize that FO4 is a video-game, but it's just not my vibe. Even back in FO2, I refrained from violence against that little piece of (censored) pickpocket. However I don't want to realize after 20+ hours in that my game is bugged and the only way out would be the console.
I'm also simply curious, and try to learn how the engine underneath works.
Your insight on my question would be appreciated.
IsEssentiall OR IsChild
Same for whether and NPC can be damaged it'll check if the NPC is a child. There'd be a need of a separate plugin to make them able to be damaged or killable which I have been considering of making but I've been lazy and/or busy
In any case, thank you very much for the explanation.
Note: There also needs to be a good AI package when doing this or they end up as more of a PITA. I could not find any and even when I made my custom packages for them they eventually ended up attacking/fighting somehow (feisty kids. =) ). Being invulnerable caused lots of other issues with settlement attacks and orphans (and Raider Children if adding that part). Hence why I simply gave up and let them be mortal just like everyone else.
In the log:
L:\Fallout 4 Modding\F4SE Plugin Dev Environment\CommonLibF4\Global Mortality\src\main.cpp(57): [warning] 236 NPCs have had their Essential flag removed
I have no such drive as well as no likely alias to a location that looks like this. None of the other logs from F4SE look like this. This looks to be some string hold over from your development. Also, the quantity of NPCs is very low in my game setup. I have many more than this.
The ini file for this has no reference to this location either.
[General]
MakeProtected=false
There is an inherent issue with seeing things like this. DLL file containers could do 'extra' things like phoning home or other devious natured things. It is important for us to check logs of these types of containers from 'Untrusted Sources'. Any sane and conscientious person would never let a DLL do whatever it wants to. We have enough security issues already in computers. No need to imply this sort of thing in a game mod. End rant.
Likely, from seeing your comments to others below, you could give a rip. Not to sound hostile but you need to make your log represent what is actually happening correctly. Similar trust issues with your other F4SE mods which I did not post on.
Thanks for making and sharing this mod but uninstalled permanently because of obvious trust issues.
Path is mine, the 236 is how many NPCs your setup has. I tend to remove this prefix nowadays in new files but when I made this I had no idea how so I didn't bother looking into it as I was too excited to make stuff.
Also, my sources are usually posted on GitHub (always for bigger mods, but small ones I tend to not to not clutter up my GitHub with repos that have 50 lines worth of code) and I provide .PDB files so if there was a backdoor or anything of the sort they'd have been found by now.
I found in Fallout4.ini refs
[Gameplay]
bEssentialTakeNoDamage=1
What I found is that everyone is mortal except Protected. So something like Liga of my Companions has the option to 'Protect' or 'Mortal' any follower (including the settlers and that can be hired). What is nice about this is that it can be set back to 1 as needed. Children are handled differently.