Skip to content

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];
//---

Released under the MIT License.