OnCorpsePopulate
Usage
- Return a BaseCorpse value to override default behavior
Example Autogenerated
csharp
private BaseCorpse? OnCorpsePopulate( NPCPlayer instance, NPCPlayerCorpse nPCPlayerCorpse )
{
Puts( "OnCorpsePopulate works!" );
return null;
}csharp
private object OnCorpsePopulate( BaseEntity Owner, LootableCorpse lootableCorpse )
{
Puts( "OnCorpsePopulate works!" );
return null;
}csharp
private void OnCorpsePopulate( )
{
Puts( "OnCorpsePopulate works!" );
}Location
- NPCPlayer::CreateCorpse(BasePlayer.PlayerFlags flagsOnDeath, UnityEngine.Vector3 posOnDeath, UnityEngine.Quaternion rotOnDeath, List<TriggerBase> triggersOnDeath, bool forceServerSide)
- Rust.Ai.Gen2.State_Dead::StartRagdoll()
- Rust.Ai.Gen2.State_Dead::StartRagdoll()
csharp
//---
if (!KeepCorpseClothingIntact || i != 1)
{
itemContainer.Clear();
}
}
object obj = Interface.CallHook("OnCorpsePopulate", this, nPCPlayerCorpse);
if (obj is BaseCorpse)
{
return (BaseCorpse)obj;
}
ApplyLoot(nPCPlayerCorpse);
//---csharp
//---
{
castedUnityObject.playerName = Owner.GetType().Name;
}
castedUnityObject.Spawn();
baseCorpse.TakeChildren(Owner);
if (Interface.CallHook("OnCorpsePopulate", Owner, castedUnityObject) == null && LootSpawnSlots.Length != 0)
{
LootContainer.LootSpawnSlot[] lootSpawnSlots = LootSpawnSlots;
for (int i = 0; i < lootSpawnSlots.Length; i++)
{
LootContainer.LootSpawnSlot lootSpawnSlot = lootSpawnSlots[i];
//---csharp
//---
{
castedUnityObject.playerName = Owner.GetType().Name;
}
castedUnityObject.Spawn();
baseCorpse.TakeChildren(Owner);
if (Interface.CallHook("OnCorpsePopulate", Owner, castedUnityObject) == null && LootSpawnSlots.Length != 0)
{
LootContainer.LootSpawnSlot[] lootSpawnSlots = LootSpawnSlots;
for (int i = 0; i < lootSpawnSlots.Length; i++)
{
LootContainer.LootSpawnSlot lootSpawnSlot = lootSpawnSlots[i];
//---