Jump to content

Realistic ragdoll force mod?


Aurum10000

Recommended Posts

The closest I've seen is realistic death impulse. Which doesn't cover any DLC weapons. Perhaps some one could drastically reduce the kill impulse for almost all the weapons? However if there's a mod that does this with a more modern approach. Feel free to link me.

Link to comment
Share on other sites

I wrote a simple script that blindly sets every single weapon's "Kill Impulse" to 0. The idea is basically the same as Realistic Death Impulse, but I implement it as a quest script so that it covers every single weapon in the game, including the ones that are added by any DLC/mod. I've been testing this mod for a while and so far, I think I like this.

Requires NVSE, JIP NVSE Plugin and JohnnyGuitar NVSE Plugin.

Or, if you're familiar with GECK, you can compile this code as a quest script and attach it to a quest with the Script Processing Delay set to 0.1.

scn skiMainScript
ref rRef
ref rWeaponPlayer
ref rWeapon
begin GameMode
    if GetGameRestarted
SetDebugMode 0
    endif
    if rWeaponPlayer != player.GetEquippedObject 5
        if eval (rWeaponPlayer = player.GetEquippedObject 5)
            if GetWeaponKillImpulse rWeaponPlayer != 0
                SetWeaponKillImpulse rWeaponPlayer 0
debugPrint "SKI:Nerfed %n(%i), player" rWeaponPlayer rWeaponPlayer
            endif
        endif
    endif
    rRef = GetFirstRef 200, 1
    while rRef
        if IsFormValid rRef != 1
            rRef = GetNextRef
            continue
        endif
        if rRef.GetActorProcessingLevel != 0
            rRef = GetNextRef
            continue
        endif
        if rRef.GetLifeState != 0
            rRef = GetNextRef
            continue
        endif
        if eval (rWeapon = rRef.GetEquippedObject 5)
            if GetWeaponKillImpulse rWeapon != 0
                SetWeaponKillImpulse rWeapon 0
debugPrint "SKI:Nerfed %n(%i), %n(%i)" rWeapon rWeapon rRef rRef
            endif
        endif
        rRef = GetNextRef
    loop
end

Edited by ebizoe
Link to comment
Share on other sites

 

I wrote a simple script that blindly sets every single weapon's "Kill Impulse" to 0. The idea is basically the same as Realistic Death Impulse, but I implement it as a quest script so that it covers every single weapon in the game, including the ones that are added by any DLC/mod. I've been testing this mod for a while and so far, I think I like this.

 

Requires NVSE, JIP NVSE Plugin and JohnnyGuitar NVSE Plugin.

 

Or, if you're familiar with GECK, you can compile this code as a quest script and attach it to a quest with the Script Processing Delay set to 0.1.

 

scn skiMainScript
ref rRef
ref rWeaponPlayer
ref rWeapon
begin GameMode
    if GetGameRestarted
SetDebugMode 0
    endif
    if rWeaponPlayer != player.GetEquippedObject 5
        if eval (rWeaponPlayer = player.GetEquippedObject 5)
            if GetWeaponKillImpulse rWeaponPlayer != 0
                SetWeaponKillImpulse rWeaponPlayer 0
debugPrint "SKI:Nerfed %n(%i), player" rWeaponPlayer rWeaponPlayer
            endif
        endif
    endif
    rRef = GetFirstRef 200, 1
    while rRef
        if IsFormValid rRef != 1
            rRef = GetNextRef
            continue
        endif
        if rRef.GetActorProcessingLevel != 0
            rRef = GetNextRef
            continue
        endif
        if rRef.GetLifeState != 0
            rRef = GetNextRef
            continue
        endif
        if eval (rWeapon = rRef.GetEquippedObject 5)
            if GetWeaponKillImpulse rWeapon != 0
                SetWeaponKillImpulse rWeapon 0
debugPrint "SKI:Nerfed %n(%i), %n(%i)" rWeapon rWeapon rRef rRef
            endif
        endif
        rRef = GetNextRef
    loop
end

Excellent work! Hope you upload the final version upon completion.

Link to comment
Share on other sites

Since I didn't particularly like the last script, I rewrote it (BETA 4).

This is a "JIP LN NVSE Script Runner" script that runs only once on game start. It's much more efficient than previous quest-script version.

The script processes all the weapons from all loaded plugins thanks to "GetLoadedTypeArray" script function, so it covers any weapons from any DLC/mod.

array_var aWeapons
array_var aIter
ref rWeapon
if eval (aWeapons = GetLoadedTypeArray 40)
    forEach aIter <- aWeapons
        rWeapon = *aIter
        if GetWeaponKillImpulse rWeapon != 0
            SetWeaponKillImpulse rWeapon 0
        endif
    loop
endif
aWeapons = aIter = ar_Null ;I'm not sure if this line is necessary, but just for safety.

I think I'll stick to this design and test this for a while. I can't promise when I'll publish this as a mod or even publish it at all, though.

Edited by ebizoe
Link to comment
Share on other sites

Since I didn't particularly like the last script, I rewrote it (BETA 4).

This is a "JIP LN NVSE Script Runner" script that runs only once on game start. It's much more efficient than previous quest-script version.

 

The script processes all the weapons from all loaded plugins thanks to "GetLoadedTypeArray" script function, so it covers any weapons from any DLC/mod.

 

array_var aWeapons
array_var aIter
ref rWeapon
if eval (aWeapons = GetLoadedTypeArray 40)
    forEach aIter <- aWeapons
        rWeapon = *aIter
        if GetWeaponKillImpulse rWeapon != 0
            SetWeaponKillImpulse rWeapon 0
        endif
    loop
endif
aWeapons = aIter = ar_Null ;I'm not sure if this line is necessary, but just for safety.

I think I'll stick to this design and test this for a while. I can't promise when I'll publish this as a mod or even publish it at all, though.

Wonderful! I'm sure many will benefit from the touch of realism this provides!

Link to comment
Share on other sites

Here is the final, version 1.0. We are going to publish this!

forEach array_var aIter <- (array_var aWeapons = GetLoadedTypeArray 40)
    if GetWeaponKillImpulse (*aIter) != 0
        SetWeaponKillImpulse (*aIter) 0
    endif
loop

 

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...