Fallout 3

File information

Last updated

Original upload

Created by

Africa Peekaboom

Uploaded by

africaisstarving

Virus scan

Safe to use

Tags for this mod

About this mod

Heavily modified version of RKR by Peekaboom to work longer (10 min per body), work on all NPCs (the ones you killed and the ones you didn't) , works on infinite amount of dead bodies and is less resource demanding than original RKR.

Requirements
Permissions and credits
Hello guys.

[new] Just released v2 with a bit more optimizations:
-First I reduced the time the body stays hot from 10 min to 5 min. Nobody will ever stay in one zone/area more than 5 minutes. That's 5 minutes real time not game time.  
-If you are in combat no tokens get added to the NPCs you killed  to reduce processing time. Why? Because if you are in combat doesn't matter and NPC who are already in combat are coded not to react anyway so would be pointless to do so. The NPCs you didn't killed still get processed even if in combat.
- If the NPCs you didn't kill are animals or insects of any kind they will not be processed either.  Note all actors will react to dead bodies you kill including animals this is only for the ones you didn't kill. 
- NPCs you didn't kill trigger a HELP/GRENADE/WATCH OUT response and flee for 2 seconds when someone dies. 
PLz test it out let me know if it works as intended. 
-all reactions are a bit randomized start delays up to whatever RKRDetectInterval has been set (default is 2 sec) to smooth out performance and makes it seem more natural. You don't want everyone reacting exactly at the same time. PLus if you have a huge number of actors there will be a lag spike if they all set to do one actions exactly at the same time. 


This mod is a heavily modified version of Reponsive Kill Reactions   by Peekaboom who gave everyone the permission of modify or incorporate his mod into other mods. I have taken some time to perfect his code make it work even better and even more efficiently. 

I didn't like how dead bodies would only be hot for a short time and only after killing someone and the bodies themselves would go cold in a few seconds. In FWE you can control how long bodies stay hot but was still not long enough. The code is very resource demanding so is limited to a few bodies. I wanted to be more like commando style where you gotta take bodies out of the paths of patrolling enemies otherwise they see the body and get alarmed so the bodies have to stay hot a long time.  

INSTALLING

YOU NEED FOSE  <----- FOSE IS REQUIRED 
Works automatic on any dead body. Is compatible with anything. 



Just wanna say this is a very tricky thing to do in fo3 geck because half of the functions you need don't actually work as intended or only work in certain situations and they make you CTD if you don't do it right. I have tested the code works as intended. 


I completely changed his code only only kept the globals and some other elements including his way of approaching kill reactions. 
-No body limit. Infinite bodies get hot. Original RKR only 5 bodies worked
-10 minutes (5 min v2) until body goes cold if not discovered. original RKR 30 sec  You can easily change this value using console if you wish see below. 


The behavior of NPCs is different as well. 
- First if you kill an NPC then the body becomes hot after a 2.5 sec delay . random delay between 0 and 2.5 (in v2)
- The body will stay hot waiting to be discovered.
- Once discovered (ie visible to enemy) body goes cold and will trigger enemy reaction making them know you are around and killed someone and they will look for you for 2 minutes. I did it with 5 minutes was way too long. Is still a game after all. 
- Bodies will automatically go cold if they get discovered once or if 10 minutes (5 min in v2) have passed. 


NPCs you didn't kill also trigger reactions from nearby npc's (this is experimental) .
-Once an NPC dies for whatever reason nearby NPCs are forced into flee mode for like 2 sec (they duck and cover and then go back to business). If a real threat exists they will deal with it based on their AI stats and go out of flee mode.  This is kinda a "normal" response from people seeing someone suddently die beside them  be get scared for like 2 secs. if the npc is in combat nothing happens they don't go in flee mode and just keep fighting. IN v2 only non animals non insects do this and they also yell grenade/watchout/help... etc 



Please test this out see how it goes. 

You can change the length of body going cold to any number of seconds default 600 (10 min) by typing in console. IN v2 default is 300 (5 min).

set RKRDetectTime to <number here>

Careful though. These codes will process even if you are not around anymore and will trigger detections except that if you are no longer in the same cell most NPCs wont react as they don't update their AI if you're not around. But they will still take precious memory. Keep it to something decent. 



TECHNICAL INFO

If you are wondering how I did it is like this

Original RKR Code was like 
2.5 sec search for all NPCs in the area <-resource demading loop
those who are dead and you killed add 1 token (5 tokens max)

1 token searches for all npcs in the area <-resource demading loop (5 times)
if npc is close enough
if npc is seeing the body
trigger npc


above code is about  NUMBER OF NPC * 1 block of code + NUMBER OF NPC * block of code * NUMBER OF DEAD BODIES (max 5) 
so for 5 dead bodies and  5 live people  10 + 5 * 10 = 60 time the code has to run


My mod does this

2.5 sec search for all npcs in the area <-resource demading loop
those who are dead add a token (infinite tokens)

1 token wait until any npc sees you <---this code is all very light on resources .. only gamemode loop (no nested loop like above) so is many times faster
if npc sees dead body disable token trigger npc
OR
if body is seen but you are also seeing the body then keep the body triggering <-there is no way to tell who is detecting just that is being detected by anyone including you...cause the commands crash or don't work as intended in this geck version..so this is a hack..read blow why it works
if npc hears he will start combat
if player is in combat disable token (body has been found)

my code is NUMBER OF NPC * 1 block of code + 1 block of code * NPC (per dead body doesn't matter as the engine handles that well) 
so for 5 dead bodies and 5 live people i'm more like 20




why this works? 

because if you have an LOS to a body you killed (the game engine ticks bodies you kill for general stats) means ether you just shot it or you're the only one close to it because if there was an npc around he would probably have noticed you doing it without RKR..but if you sneak kill someone for example and you get LOS to the body and the other npcs are around it will beacon and trigger them to look for you...if the body died and you are looking away then  the other code triggers when is seen by an npc .. ..the trigger is only loud enough for the ones close by to hear so even if you're close to the body you killed   it won't matter unless there is also an npc close by in that case could be like he heard something going on next door so went to investigate. either way it works. also if you're outside and get really long sniping range LOS to the body the gun will trigger, if not some sneak sniper style then the body will die and stay hot until an npc goes closer to investigate..otherwise NPCs assume he just fell asleep or something. <- in other words if you range silent snipe enemies far apart from each other they won't react until they get closer to the body within 5 min (v2) ..the reaction distance is about 2000 exterior and 1000 interior ..600 is about the distance you can fall without taking damage..so is pretty close range. acceptable range. a body falling you can hear about same distance so reaction to someone dying next room is acceptable behavior ..note if an enemy hears the trigger but doesn't see you he looks for you doesn't just know where you are.

to clarify even more. when an NPC starts combat doesn't mean he is attacking you dealing damage but that he is alerted to your presence and is looking for you. so when your meter goes to danger means he started combat (but not necessarily attacking you). now you could be hiding he won't know where you are just gonna look for you until he has visual. without a visual detection NO actor will physically attack you. they don't magically know where you are. so the token gets reset once they start looking for you aka start combat . danger meter in fact has 2 phases: 1 detection 2 visual detection (this is when he presses the trigger or deals the blow) . if you keep it at 1 about 2 min later he reverts back to hidden. so this is why it works because token expires when you are in combat ie the enemy is looking for you.  also when they are alerted to your presence your sneaking/stealth/camouflage skill is lowered (from the game engine). so best thing you can do is sneak and hide WELL ideally somewhere the enemy can't SEE you behind static objects is your safest bet. 



the body gets marked for variable10. a marked body will not be processed again EVER. if you resurrect the guy and kill him again it won't trigger a second time. i s like you fool me once okay but you fool me twice shame on you. Why variable10? is only used by doctors  on you and water beggars to trigger death which is if any of them is dead will be dead any way. it won't matter. the bodies are only marked when they die so it no longer matters what variables you change on them. dead is dead. and nothing changes on you so doctors still work just fine. 

so is a hack and so far works fine. i like it that you can walk away and bodies stay hot for long time. now you need to z grab bodies and pile them up in corners. not sure if this works on animals and ferals and mutants. 200 is all actors. so maybe works on everyone? I don't know.



CREDITS
Peekaboom for this amazing mod. The idea for his mod is GENIUS. Thank you Sir. Not even New Vegas has this capability . I remember sneak killing so many people and they would just be saying hi to me moments after. NO! 

As per Peekaboom you can do whatever yo wish with this mod please credit him for his work. You don't need to credit me (up to you). 

Credit also to schlangster + Mezmorki as per Peekaboom's original mod request. 


This is a feature I included into my mod CB Custom Beginning