Upload from upload_mods.ps1
This commit is contained in:
57
Harmony/Harmony_NetPackageEntityRagdoll.cs
Normal file
57
Harmony/Harmony_NetPackageEntityRagdoll.cs
Normal file
@@ -0,0 +1,57 @@
|
||||
using HarmonyLib;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Harmony.NetPackageEntityRagdollPatches
|
||||
{
|
||||
[HarmonyPatch(typeof(NetPackageEntityRagdoll))]
|
||||
[HarmonyPatch("ProcessPackage")]
|
||||
public class ProcessPackagePatches
|
||||
{
|
||||
public static bool Prefix(NetPackageEntityRagdoll __instance, World _world, GameManager _callbacks,
|
||||
int ___entityId,
|
||||
float ___duration,
|
||||
sbyte ___state,
|
||||
Vector3 ___hipPos,
|
||||
Vector3 ___forceWorldPos,
|
||||
Vector3 ___forceVec,
|
||||
EnumBodyPartHit ___bodyPart
|
||||
)
|
||||
{
|
||||
//Log.Out("NetPackageEntityRagdollPatches-ProcessPackage START");
|
||||
|
||||
if (_world == null)
|
||||
{
|
||||
//Log.Out("NetPackageEntityRagdollPatches-ProcessPackage 1");
|
||||
return false;
|
||||
}
|
||||
global::EntityAlive entityAlive = _world.GetEntity(___entityId) as global::EntityAlive;
|
||||
if (entityAlive == null)
|
||||
{
|
||||
Log.Out("Discarding " + __instance.GetType().Name + " for entity Id=" + ___entityId.ToString());
|
||||
return false;
|
||||
}
|
||||
if (___state < 0)
|
||||
{
|
||||
//Log.Out("NetPackageEntityRagdollPatches-ProcessPackage 2");
|
||||
if (entityAlive.EntityClass.HasRagdoll)
|
||||
{
|
||||
//Log.Out("NetPackageEntityRagdollPatches-ProcessPackage 4");
|
||||
entityAlive.emodel.DoRagdoll(___duration, ___bodyPart, ___forceVec, ___forceWorldPos, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
//Log.Out("NetPackageEntityRagdollPatches-ProcessPackage 5");
|
||||
entityAlive.PhysicsPush(___forceVec, ___forceWorldPos);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
entityAlive.emodel.SetRagdollState((int)___state);
|
||||
|
||||
//Log.Out("NetPackageEntityRagdollPatches-ProcessPackage 6");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user