Jump to content

Ped Damage Overhaul 2.0 BETA 7

Script mod which adds and alters "NPC behaviors"
   (5 reviews)

1 Screenshot

This mod is a teamwork of @fitfondue and @HughJanus.

 

The beta version of Ped Damage Overhaul 2.0 has been released! It contains new features and major adjustments (described in the changelog), so we'd appreciate your feedback on any bugs and performance issues you encounter. When reporting performance issues, please post your system specs if you can!

Part of this beta are the "optional features" (which require LML to work). Those are separated in two files. One is responsible for longer reactions after dismemberment (not compatible with euphoria mods), the other increases the chances of arterial bleeding (e.g. for neck shots).

 

OVERVIEW

This mod tries to make gun fights more diverse, dynamic and interesting and keep them that way throughout the game.

You will find NPCs stumbling when trying to run with hurt legs, getting the wind knocked out of them when getting shot, squirming on the ground when fatally injured, moaning in pools of their own blood until they meet their end, clutching their wounds and stumbling around when hit, etc.

 

IMPORTANT KEYS (for toggling effects)

These are the standard keys, they can be modified via the ini file (as can everything else this mod adds to the game):

  • F9 - Toggling the mod on/off (the mod is enabled by default).
  • F8 - Toggling "Kill Wounded Mode" on/off (is disabled by default). This mod adds a feature called "Dying States" which makes NPCs go down when injured and still stay alive for some time (until they bleed out). If "Kill Wounded Mode" is activated, NPCs will die instead of entering the "Dying States".
  • F7 - Toggling "Longer Bleedouts Mode" on/off (is disabled by default). Per default this mod makes NPCs in "Dying States" bleed out within a maximum of 25 seconds (to not interfere with spawning waves of enemies during missions, which are only triggered when the first wave is dealt with). If "Longer Bleedouts Mode" is activated, NPCs will take longer to bleed out (more realistic, but also hindering during some missions).
  • F2 - Toggling "Friendly Fire" on/off (is disabled by default). "Friendly Fire" currently only works for the Dutch Van Der Linde gang.

 

FEATURES

Here is a quick overview of the most important features:

First off, almost all of the features and their characteristics are based on chance, so the behaviors won't be the same every time you encounter them - which should ensure more diverse fights and keep things interesting for longer than vanilla does... that was the idea, at least 🙂

Almost every feature can be enabled, disabled or tweaked in the ini (more information further down the page), so this is not only a mod, but also enables you to create your own experience.

This mod only alters behaviors and attributes of human NPCs - animals or anything else remain untouched.

 

Light version:

  • NPCs will react to where they are being shot (leg shots will make them stumble when trying to run, hand shots will disarm them, torso shots will stagger them, etc.).
  • When NPC's health decreases below a certain threshold, they fall over and don't get back up. Then they go through different stages of dying, each with its own randomized behavior. Eventually NPCs will die of blood loss.
  • NPCs will sometimes (based on chance) audibly react when in hopeless situation (panicking, begging, cursing, etc.).
  • There is a bleeding feature, which makes NPCs lose health after they have been fatally injured. It operates bassed on chance, so NPCs don't all bleed out in the same amount of time.
  • NPCs burn alive for longer when set on fire.
  • There is a chance of NPCs surviving a fire (although they won't be able to do much afterwards).
  • NPCs have a chance of staying on the ground for a random amount of time when shot (based on their health) - so you can now knock the breath out of your opponents.
  • For all included behaviors the movement and pain sounds have been adjusted (and also randomized) to hopefully make your experience more interesting.

 

Standard version:

  • The same features as in the light version apply as well as the following additions:
  • NPC health and player damage tweaked to offer a more satisfying experience (no more bullet sponges).
  • NPC damage tweaked to offer more challenge to the player (since NPCs don't eat bullets for breakfast anymore).
  • You can now feel the difference between weapons, their condition and ammo types in combat (shooting with a properly maintained, powerful weapon with special ammo now feels like it should).
  • NPCs are less accurate shots and their accuracy declines along with their health.
  • Arm and leg shots do less damage to NPCs.
  • All NPCs can be disarmed (yes, even lawmen).
  • Hogtying disarms NPCs, so if they manage to get loose, they can't shoot you - they might draw a hidden knife, though.

 

Overhaul version:

  • The same features as in the standard version apply as well as the following additions:
  • Core Drain (health, stamina, dead eye) has been moderately increased - now hunting and buying food become necessary options.
  • Cores will be fully drained after death.
  • Additional 25% of money lost after death.

 

We hope that you have as much fun with this mod as we have creating and improving it!

 

 

INSTALLATION

  1. Download Alexander Blade's ScriptHook: http://dev-c.com/rdr2/scripthookrdr2/
  2. Extract Dinput8.dll and ScriptHookRDR2.dll into the main directory of RDR 2 (where the .exe file is).
  3. If you want PDO's additional features, download Lenny's Mod Loader. If not, ignore steps 4, 5 and 8. https://www.rdr2mods.com/downloads/rdr2/tools/76-lennys-mod-loader-rdr/
  4. Extract the folder Mod Manager into the main directory of RDR 2 (the actual Mod Manager folder, not just its contents). Then go into the Mod Loader folder and extract only its contents into the main directory as well (not the actual folder, just its contents).
  5. In the Mod Manager folder, run the ModManager.UI.exe file to make sure Lenny's Mod Loader is properly installed in the RDR 2 directory.
  6. Download your preferred version of Ped Damage Overhaul, then open the zip and choose whether you prefer Light, Standard or Overhaul configurations (see mod description to understand the differences).
  7. Extract the contents of the chosen folder into the main directory. If you're using Lenny's Mod Loader, any files pertaining to it will be automatically placed in the correct folder.
  8. If you're using Lenny's Mod Loader, run ModManager.UI.exe to see if the optional files are showing as installed. If they are, you're good to go.
  9. Start the game and have fun!
  10. While in game, you can press F9 to check if the mod was loaded correctly (F9 once to disable, then F9 again to re-enable the mod).

 

 

TWEAKING

In general, every parameter in the ini has a description (including information on how to disable the feature). Feel free to play around.

There are already a lot of features enabled and tweaked for out-of-the-box use, yet there are some features left untouched which can be enabled in the ini. That said, if you just want to disable one or more features, set their respective values to 0 (or whatever value the description suggests).

Examples:

  • To turn off the bleeding feature: set BleedWhenDying to 0
  • To turn off the disarming when hogtying NPCs: set HogtyingDisarms to 0
  • To turn off the dying state features: set DyingStateChance to 0

 

If you want to disable a feature which is based on chance, just set the chance value to 0.

Examples:

  • To turn off the knocking the wind out of your opponents: set KnockbackChance to 0
  • To turn off the possibility of NPCs surviving fire: set FireSurvivalChance to 0
  • To turn off the chance of stumbling when shot in the leg: set StumbleChanceOneLeg and StumbleChanceBothLegs to 0

 

There are also many other features that can be activated in the ini - here are some examples:

  • LassoDisarms -> makes catching someone with your lasso disarm them (no hogtying necessary)
  • NPCWeaponModifier (and many other damage modifiers) -> makes NPCs do more or less damage, depending on what you set it to
  • BleedWhenShot -> enables a bleeding feature which triggers when an NPC gets shot (so not the usual "bleed out when under x health" but consistent bleeding which is applied after the first hit of a bullet - the bleeding chance and deducted health points can be set separately)

 

The ini is full of values for those wanting to experiment a little.

One word of warning to tweakers: If the NPCHealth is set too high, headshots might not be lethal anymore, unless they hit the actual brain of the NPC (so a shot in the jaw would do more damage than other body parts, but would not be an instant kill). Actual "brain-shots" are always one-shot-kills, no matter the health.

 

 

 

KNOWN "ISSUES" (they are not real issues)

  • The disarming feature can be exploited to slow down new waves of lawmen. The same is true for the dying state feature. If there are too many lawmen dying or fleeing around the player, new waves won't spawn in until the lawmen die or get enough distance (this feature can be turned of in the ini file, if that is a deal breaker to you).
  • When disarming is enabled, the dropped weapons may appear partly invisible. This is only optical, though, they can be picked up and used as usual.

 

 

The source code of Ped Damage Overhaul can be found here:

https://github.com/HJHughJanus/PedDamageOverhaulRDR2

 

 

If you are looking to enhance your experience by using an Euphoria Mod, please take a look at the work of @AnymYo.

C.E.R.R. is tweaked for cineastic reactions and designed to work with PDO:

 

Edited by HughJanus

What's New in Version 2.0 BETA 7   See changelog

Released

Changelog v2.0 BETA 7

 

  • Added an ini parameter to enable/disable the disarming of downed opponents
  • Added an ini parameter to disable the "longer bleedouts" feature in missions
  • Fixed a bug where NPCs in cover would sack down all of a sudden when using euphoria mods
  • Fixed a bug where health for npcs in vehicles would not be set correctly
  • Fixed a bug where health for "Other Story NPCs" would not be set correctly
  • Fixed a bug where damage multipliers would not be applied if they were set above 100%
  • Adjusted some values in case the ini is not found (due to not following the installation instructions, which is very common, it seems^^)
  • Like 34
  • Thanks 7
 Share

You may also like

  • Lenny's Mod Loader RDR
    By LMS
       2507112   749   6
  • RDR 2 Asi Loader
    By LMS
       1579117   160   5
  • Improvements in Blood
    By Cazanu
       76268   8   0
  • Red Dead Offline
    By LMS
       809742   449   12
  • RDR 2 Outfit Changer
    By LMS
       410830   577   16
  • User Feedback

    Recommended Comments



    On 10/24/2021 at 11:27 AM, HughJanus said:

    Hey all,

     

    I am planning on removing the force push option for dying states (which is disabled by default).
    Is anyone using this? Because currently it just makes implementing new features a lot harder, since we have to test everything with this option off and on.

    It is buggy (physics go wild while time is slowed down (e.g. while in weapon wheel)) and doesnt look as good as the wounded animations.

    Would be nice to get some feedback on this (to know if a shitstorm will break loose when removing this option).

     

    BR
    HJ

    To be fair I never fully understand those push forces

    Link to comment
    Share on other sites

    On 10/24/2021 at 11:27 AM, HughJanus said:

    Hey all,

     

    I am planning on removing the force push option for dying states (which is disabled by default).
    Is anyone using this? Because currently it just makes implementing new features a lot harder, since we have to test everything with this option off and on.

    It is buggy (physics go wild while time is slowed down (e.g. while in weapon wheel)) and doesnt look as good as the wounded animations.

    Would be nice to get some feedback on this (to know if a shitstorm will break loose when removing this option).

     

    BR
    HJ

    Go for it 🙂

    Link to comment
    Share on other sites

    I love the new beta features, such as expanded support for the TYL mod, but I gotta say I miss the NPCs running away after artery shots that has been missing for a while now. That vanilla behavior was working with the mod before. Would be great if at some stage you can figure out how to bring it back.

     

     

    Link to comment
    Share on other sites

    On 10/25/2021 at 12:11 AM, masisork1741 said:

    New betas seem to have a bit of a performance hit compared to the new ones.

     

    I'll try it out now!

     

    EDIT: Issue seemed to be lessened, but still exists, even with most revolvers now, when you shoot them in the chest-stomach, they just sort of freeze up and collapse,

     

    I have the same problem, did you ever manage to fix it?

    Link to comment
    Share on other sites

    On 10/24/2021 at 3:27 PM, HughJanus said:

    Hey all,

     

    I am planning on removing the force push option for dying states (which is disabled by default).
    Is anyone using this? Because currently it just makes implementing new features a lot harder, since we have to test everything with this option off and on.

    It is buggy (physics go wild while time is slowed down (e.g. while in weapon wheel)) and doesnt look as good as the wounded animations.

    Would be nice to get some feedback on this (to know if a shitstorm will break loose when removing this option).

     

    BR
    HJ

    As for the push force. I didn't understand it much initially, but I've been playing around with ''UseAnim'' chance in the ini and I kinda like having that at 50 (so a mixture of both) for more variety.

     

    I might be in the minority though. When the push forces aren't going wild (haven't noticed that much in newest version), I think it looks good. That 'fetal position' pose (when the animations trigger I guess?), after you push a ped on the ground, looks a little weird at times but I like the twitching when they're bleeding out.

    Edited by IIrish
    Link to comment
    Share on other sites

    Over time I have added bits and bits of code to the main one (new features) because I wanted to implement something more quickly.

    Now all the features added over all the releases have left the code pretty tangled up - features such as the EuphoriaModInstalled ini parameter, which reach into a lot of different functions, are hard to implement and the error tracking is even harder (same goes for things like the freezing of NPCs some of you described).

    For this reason I have decided to restructure the code before further working on it.

    This means that it will take me a while before I can supply you with a new beta. But I hope that this will make error tracking and the implementation of new features easier in the future.

     

    Thank you all for constantly providing good feedback!

    • Like 2
    Link to comment
    Share on other sites

    9 hours ago, HughJanus said:

    Over time I have added bits and bits of code to the main one (new features) because I wanted to implement something more quickly.

    Now all the features added over all the releases have left the code pretty tangled up - features such as the EuphoriaModInstalled ini parameter, which reach into a lot of different functions, are hard to implement and the error tracking is even harder (same goes for things like the freezing of NPCs some of you described).

    For this reason I have decided to restructure the code before further working on it.

    This means that it will take me a while before I can supply you with a new beta. But I hope that this will make error tracking and the implementation of new features easier in the future.

     

    Thank you all for constantly providing good feedback!

    You're doing great work! Was just wondering if there is a possible work around for the npcs freezing then dropping to the ground? or even an ini parameter that could be tweaked. Thanks again for the best rdr2 there is!

    Link to comment
    Share on other sites

    @Tuberculobster OK, so the script does the following (with DSEuphoriaStumbleChance setting in and NPCs health below DyingMovementThreshold):

    The head bone position of the NPC is checked - if the head bone is between ZValueForHeadBone and ZValueForHeadBone2 above the ground, the NPC counts as standing. If the NPC is not standing, it will transition to the wounded animation and dying state behavior.

    If it is standing and currently ragdolling (= euphoria reaction) the time of DSDelay will be waited, then the following will happen: it will be able to move in euphoria/ragdoll for DSMaxEuphTime. If the NPC is still in ragdoll after this time, it will be pushed according to DyingPushChance, DyingForcePushX, DyingForcePushY and DyingForcePushZ (for the time of DSMaxStumbleTime). If this time has passed, and the NPC is still standing, it is forced to the ground.

     

    If during any of the above behavior, the NPCs head does not leave the radius of HeadVecMaxDelta for HeadVecMaxTime, the NPC will be forced to the ground (these two settings were implemented for preventing the freezing, but they need to be configured together with all the above mentioned values in order to properly function - I have not put the time in to do this, yet).

     

    Edit: So in theory this is what the values should be for

    DSDelay is for flinching (when an NPC is shot) - every hit reaction lasting longer than this will make the script think the NPC is euphoria reacting (grabbing a wound, stumbling, or such).

    DSMaxEuphTime is for euphoria reactions - this is the maximum time (after the flinching time has passed) an euphoria reaction is allowed to last.

    DSMaxStumbleTime is for stumbling induced by the script - after the euphoria reaction has supposedly ended (and the NPC is still standing), it will be pushed to the ground while trying to balance the pushes out (resulting in stumbling like behavior).

     

    ZValueForHeadBone and ZValueForHeadBone2 are the values determining whether an NPC is standing or not.

     

    DyingPushChance, DyingForcePushX, DyingForcePushY and DyingForcePushZ are the values used for inducing the stumbling like behavior.

     

    HeadVecMaxDelta for HeadVecMaxTime are the values used to combat the freezing-issue, which occurs when an NPC is shot, but the shot does not bring the NPC out of balance (thus the stumbling wont set in).

     

    Edited by HughJanus
    Link to comment
    Share on other sites

    When Exclude Story NPCs is disabled, everything works fine, except for the followers (Natural or Spawned), they will walk like they are injured/tired... 

    Could you tell me how to fix this? I really want the new mehaviors to work through story missions (This did not happen in older versions of the mod, I might add)

    Link to comment
    Share on other sites

    @ScarletFox If you include the story NPCs, those NPCs get StoryNPCHealth (so if they limp around, you should increase this value). Or they will also move in a wounded way if they got hit in their legs or hurt themselves.

     

    FYI - those are the NPC models affected:

    CS_johnmarston

    CS_MicahBell

    CS_dutch

    CS_lenny

    CS_hoseamatthews

    CS_leostrauss

    CS_rainsfall

    CS_javierescuella

    CS_billwilliamson

    CS_uncle

    CS_sean

    CS_charlessmith

    CS_EagleFlies

    CS_PAYTAH

    CS_hercule

    CS_leon

    CS_mrsadler

    CS_kieran

    CS_mrpearson

    CS_JAMIE

    CS_Jules

    CS_bronte

    CS_revswanson

    CS_MARSHALL_THURWELL

    CS_LARAMIE

    CS_ArchieDown

    CS_thomasdown

    CS_EdithDown

    U_M_M_BHT_BENEDICTALLBRIGHT

    CS_creolecaptain

    CS_josiahtrelawny

    Link to comment
    Share on other sites

    20 hours ago, HughJanus said:

    @ScarletFox If you include the story NPCs, those NPCs get StoryNPCHealth (so if they limp around, you should increase this value). Or they will also move in a wounded way if they got hit in their legs or hurt themselves.

     

    FYI - those are the NPC models affected:

    CS_johnmarston

    CS_MicahBell

    CS_dutch

    CS_lenny

    CS_hoseamatthews

    CS_leostrauss

    CS_rainsfall

    CS_javierescuella

    CS_billwilliamson

    CS_uncle

    CS_sean

    CS_charlessmith

    CS_EagleFlies

    CS_PAYTAH

    CS_hercule

    CS_leon

    CS_mrsadler

    CS_kieran

    CS_mrpearson

    CS_JAMIE

    CS_Jules

    CS_bronte

    CS_revswanson

    CS_MARSHALL_THURWELL

    CS_LARAMIE

    CS_ArchieDown

    CS_thomasdown

    CS_EdithDown

    U_M_M_BHT_BENEDICTALLBRIGHT

    CS_creolecaptain

    CS_josiahtrelawny

    Ohhhhhhhhhh, I Thought that "StoryNPCs" meant that even enemies enroled in Story Missions would not be affected by the mod... Thank you very much for the explanation.

    (And they weren't limping because they were shot, they were limping like they were tired, even if they wer just walking around camp) 

    Link to comment
    Share on other sites

    I noticed that humans do not bleed in interiors and in water. you can add to your mod the possibility of arterial bleeding forhumans in interiors and in water? animals in interiors and in water bleed..

    Link to comment
    Share on other sites

    On 10/30/2021 at 2:43 PM, HughJanus said:

    @Tuberculobster OK, so the script does the following (with DSEuphoriaStumbleChance setting in and NPCs health below DyingMovementThreshold):

    The head bone position of the NPC is checked - if the head bone is between ZValueForHeadBone and ZValueForHeadBone2 above the ground, the NPC counts as standing. If the NPC is not standing, it will transition to the wounded animation and dying state behavior.

    If it is standing and currently ragdolling (= euphoria reaction) the time of DSDelay will be waited, then the following will happen: it will be able to move in euphoria/ragdoll for DSMaxEuphTime. If the NPC is still in ragdoll after this time, it will be pushed according to DyingPushChance, DyingForcePushX, DyingForcePushY and DyingForcePushZ (for the time of DSMaxStumbleTime). If this time has passed, and the NPC is still standing, it is forced to the ground.

     

    If during any of the above behavior, the NPCs head does not leave the radius of HeadVecMaxDelta for HeadVecMaxTime, the NPC will be forced to the ground (these two settings were implemented for preventing the freezing, but they need to be configured together with all the above mentioned values in order to properly function - I have not put the time in to do this, yet).

     

    Edit: So in theory this is what the values should be for

    DSDelay is for flinching (when an NPC is shot) - every hit reaction lasting longer than this will make the script think the NPC is euphoria reacting (grabbing a wound, stumbling, or such).

    DSMaxEuphTime is for euphoria reactions - this is the maximum time (after the flinching time has passed) an euphoria reaction is allowed to last.

    DSMaxStumbleTime is for stumbling induced by the script - after the euphoria reaction has supposedly ended (and the NPC is still standing), it will be pushed to the ground while trying to balance the pushes out (resulting in stumbling like behavior).

     

    ZValueForHeadBone and ZValueForHeadBone2 are the values determining whether an NPC is standing or not.

     

    DyingPushChance, DyingForcePushX, DyingForcePushY and DyingForcePushZ are the values used for inducing the stumbling like behavior.

     

    HeadVecMaxDelta for HeadVecMaxTime are the values used to combat the freezing-issue, which occurs when an NPC is shot, but the shot does not bring the NPC out of balance (thus the stumbling wont set in).

     

    But even when I put a higher or lower value into HeadVecMaxDelta or HeadVecMaxTime I still can notice the same freezing behavior, but I noticed one thing now, this only happens if the killer shot was in the arm or legs "I guess it lacks the force from a torso shot?" 

    Link to comment
    Share on other sites

    @WS179 This mod does not touch the conditions of arterial bleeding.

    @ChristianW. Yes, the freezing occurs if the last shot did not throw the NPC out of balance. Increasing the pushing force was one thing I tried, but it made other situations look goofy. I also tried decreasing the time for which euphoria reactions are allowed - this solved the freezing, but also removed long euphoria reactions.

    Thats why I came up with HeadVecMaxDelta and HeadVecMaxTime (but never had the time to properly configure those values). In theory, those should be able to fix the issue, since the only time when an NPCs head stands still (when the health is under the dying movement threshold) is when the NPC is currently freezing - all other times the NPC is either stumbling around, moving/falling or already on the ground - so if those values are set in a way where they can determine an NPC standing still, they will be able to put any freezing NPC to the ground.

    Link to comment
    Share on other sites

    1 hour ago, HughJanus said:

    @WS179 This mod does not touch the conditions of arterial bleeding.

    @ChristianW. Yes, the freezing occurs if the last shot did not throw the NPC out of balance. Increasing the pushing force was one thing I tried, but it made other situations look goofy. I also tried decreasing the time for which euphoria reactions are allowed - this solved the freezing, but also removed long euphoria reactions.

    Thats why I came up with HeadVecMaxDelta and HeadVecMaxTime (but never had the time to properly configure those values). In theory, those should be able to fix the issue, since the only time when an NPCs head stands still (when the health is under the dying movement threshold) is when the NPC is currently freezing - all other times the NPC is either stumbling around, moving/falling or already on the ground - so if those values are set in a way where they can determine an NPC standing still, they will be able to put any freezing NPC to the ground.

    I noticed that sometimes they kinda bobbed back and forth their upper torso like a rubber band and in every bobbed they do less and less movement until staying still, so in theory the movent or their head is the Delta? like it has a esphere around their heads and if they get off of that radius they go to the ground? but like the value that you put is 14, if I put to 4, the same thing happens, if I put to 40, the same thing happens, and to the Timevalue that is at 500 if I put 50 I didn't see any change neither if i Put 5000

    Link to comment
    Share on other sites

    @ChristianW. The delta defines the radius of a theoretical sphere around an NPCs head. The time defines the time for the spheres existence (after the time has elapsed, another sphere with the same duration is created and so on). If during a spheres existence the NPCs head does not leave the sphere, the script puts the NPC to the ground as soon as the sphere disappears.

    • Like 1
    Link to comment
    Share on other sites

    2 hours ago, HughJanus said:

    @ChristianW. The delta defines the radius of a theoretical sphere around an NPCs head. The time defines the time for the spheres existence (after the time has elapsed, another sphere with the same duration is created and so on). If during a spheres existence the NPCs head does not leave the sphere, the script puts the NPC to the ground as soon as the sphere disappears.

    Ohhhhh I get it now, later I will do more tests, and Thanks again even with all those clever tricks that you implemented, the thing that I'm more thankful that your mod enable the possibility of lower the damage of the npc shots, this enabled my dad to experience this game without the frustation of dying every time in a bigger gun fight, and I wanna thank you for that, it's been nice to see my old friend enjoying playing rdr 2 

    Link to comment
    Share on other sites

    I am now through with the first iteration of cleaning up.

    Here are the changes I made while untangling everything:

    • Removed all the dying state force pushing stuff (from the ini and from the code).
    • Removed the current "bring an NPC down to the ground" logic.
    • Built a new "bring an NPC down to the ground" logic, the ini values are as follows:
      • DSEuphoriaStumbleChance (the percentage of NPCs which will be stumbling instead of just going down)
      • DSEuphoriaStumbleMin (minimum time in milliseconds and NPC will stumble)
      • DSEuphoriaStumbleMax (maximum time in milliseconds an NPC will stumble)

    If the force of the bullet does not bring an NPC out of balance (e.g. if you shoot someone in the chest using an old cattleman revolver), the stumbling will still not happen often times.

    But instead of freezing, the NPCs should now grab their wound and stand (for the random time between DSEuphoriaStumbleMin and DSEuphoriaStumbleMax), then fall more or less theatrically.

    I quite like how it is now, but if all of you strongly dislike the new going down mechanic, I am open to suggestions.

     

    Please try it out and provide some feedback. If I have the time, I will work it into the code while restructuring it further.

    Also please dont use your old ini files (if you want to keep your custom changes, please edit the new file (notepad++ using the comparison plugin is handy for that)).

    PedDamageOverhaul.ini PedDamageOverhaul.asi

    Link to comment
    Share on other sites

    2 hours ago, HughJanus said:

    I am now through with the first iteration of cleaning up.

    Here are the changes I made while untangling everything:

    • Removed all the dying state force pushing stuff (from the ini and from the code).
    • Removed the current "bring an NPC down to the ground" logic.
    • Built a new "bring an NPC down to the ground" logic, the ini values are as follows:
      • DSEuphoriaStumbleChance (the percentage of NPCs which will be stumbling instead of just going down)
      • DSEuphoriaStumbleMin (minimum time in milliseconds and NPC will stumble)
      • DSEuphoriaStumbleMax (maximum time in milliseconds an NPC will stumble)

    If the force of the bullet does not bring an NPC out of balance (e.g. if you shoot someone in the chest using an old cattleman revolver), the stumbling will still not happen often times.

    But instead of freezing, the NPCs should now grab their wound and stand (for the random time between DSEuphoriaStumbleMin and DSEuphoriaStumbleMax), then fall more or less theatrically.

    I quite like how it is now, but if all of you strongly dislike the new going down mechanic, I am open to suggestions.

     

    Please try it out and provide some feedback. If I have the time, I will work it into the code while restructuring it further.

    Also please dont use your old ini files (if you want to keep your custom changes, please edit the new file (notepad++ using the comparison plugin is handy for that)).

    PedDamageOverhaul.ini 26.36 kB · 2 downloads PedDamageOverhaul.asi 308 kB · 2 downloads

    It seems promising! I didn't see any funky falling down behavior, I triggered two times the npc stumbling but not falling and holding the wound and all crooked up in pain, which was nice, but one thing that I encounter was when entering the DyingThreshold the npc remained with 3 of health and never died, and I noticed this same behavior in the other builds, and I just deactived it to prevent it, but I wonder if is the position of the noc on the ground that prevents him from loose more health? 

    but overall it seem more fluid, I'm using the Cineastic Euphoria and it worked well together I enabled in the ini EuphoriaModInstalled and changed nothing else besides that.

    Link to comment
    Share on other sites

    @ChristianW. at the bottom of the ini you can find multiple task ids. Could you try setting them all to 0 and check if you still get NPCs with 3 health left, please?

    Link to comment
    Share on other sites

    @HughJanus

     

    Using the last asi and ini, quick tests

     

    ModEffectRange = 75 => is it a range / radius, or is it number of NPCs? how to disable?

    BleedWhenShot = 1 => doesn't seem to work anymore

    MuteNoosedNPCs = 1 => not working, still making grunts, but I don't think you changed anything about this

    I had NPCs < DyingMovementThreshold raising up and running away; all the BleedingTask(s) are set to 0

    Also had bleeding stopping at exactly DyingMovementThreshold (this used to be fixed)

     

    I'm not usually playing with WERO, I am trying it out now, is it any way to disable the spasms when dying?

     

    LE: replaced WERO with CERR and it seems better

     

    Thx

     

    Edited by SAC
    Link to comment
    Share on other sites

    New build. Still not finished reworking the code.

     

    @SAC

    BleedWhenShot should work now.

    Bleeding stopping at DyingMovementThreshold should be fixed now.

    NPCs getting up in Dying States almost all the time should be fixed now.

     

    MuteNoosedNPCs - I dont know what else I could do to prevent noise. Maybe force them to play some silent speech? I dont know.

    ModEffectRange - since the function I am using does not really have a proper documentation, I cant say for sure, but I am pretty convinced its the NPCs around the player (or loaded in the current grid) which are effected (the first X NPCs the script finds). You could disable it by setting it to 0, I suppose.

    PedDamageOverhaul.asi PedDamageOverhaul.ini

    Link to comment
    Share on other sites

    On 11/6/2021 at 9:24 PM, HughJanus said:

    New build. Still not finished reworking the code.

     

    @SAC

    BleedWhenShot should work now.

    Bleeding stopping at DyingMovementThreshold should be fixed now.

    NPCs getting up in Dying States almost all the time should be fixed now.

     

     

     

    Can I use the ini file from this version? https://www.rdr2mods.com/downloads/rdr2/scripts/42-ped-damage-overhaul/?do=findComment&comment=4274

    Link to comment
    Share on other sites

    @SAC I have tested a few builds since then, so I cant say for sure. You could compare the two files with notepad++ (highly recommended).

    Link to comment
    Share on other sites


    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
    ×
    ×
    • Create New...