Fix bodygroup issues

This commit is contained in:
toasterpanic 2026-05-28 16:48:45 -04:00
parent 48a650f948
commit 02210df130
2 changed files with 14 additions and 12 deletions

View file

@ -12,15 +12,20 @@ This addon is based off of Kazarei's Euphoria, which in turn is a fork of Fedhor
## Known issues ## Known issues
- Kicking NPCs does not knock them down. The same goes for many melee attacks. This is not something I know how to easily fix -- I would have to override code in Z-City, which I would rather not do. If you do know how to easily fix this, reach out, I would love to add it. - Bandages, tourniquets, etc. that are on the ragdoll or NPC body will not be there when they get back up. Don't know how to fix this unfortunately.
- Bandages, tourniquets, etc. that are on the ragdoll or NPC body will not be there when they get back up.
- NPCs currently instantly get up, with no animation. I plan on remedying this in the future. - NPCs currently instantly get up, with no animation. I plan on remedying this in the future.
- Enemy NPCs will not target living downed NPCs like how they do players. This will be fixed. - Enemy NPCs will not target living downed NPCs like how they do players. This will be fixed.
## Incompatibilities ## Compatibility
- Any mod that modifies the behavior of death ragdolls (Reagdoll, Artagdoll, Fedhoria) This should be compatible with:
- The majority of NPC AI improvement mods
- Competently-programmed Z-City addons
It is, however, not compatbile with:
- Most mods that modify the behavior of death ragdolls (Reagdoll, Artagdoll, especially Fedhoria.)
- Mods that automatically remove death ragdolls (it will delete all ragdolled NPCs, even if they're still alive! Try the built-in automatic corpse removal instead.) - Mods that automatically remove death ragdolls (it will delete all ragdolled NPCs, even if they're still alive! Try the built-in automatic corpse removal instead.)
## Future plans ## Future plans

View file

@ -298,13 +298,10 @@ function MODULE:PhysicsSimulate(phys, dt)
ent:SetPos(target:GetPos()) ent:SetPos(target:GetPos())
ent:SetModel(target:GetModel()) ent:SetModel(target:GetModel())
if target:GetNumBodyGroups() > 0 then ent:SetSkin(ragdoll:GetSkin())
local i = 1
while (i <= target:GetNumBodyGroups()) do
ent:SetBodygroup(i, target:GetBodygroup(i))
i = i + 1 for i = 0, ragdoll:GetNumBodyGroups() - 1 do
end ent:SetBodygroup(i, ragdoll:GetBodygroup(i))
end end
ent:Spawn() ent:Spawn()