protected static Urnstone PrivateCreateGrave(SimDescription corpse) { string style; ProductVersion version = ProductVersion.BaseGame; switch (corpse.Species) { case CASAgeGenderFlags.Dog: case CASAgeGenderFlags.LittleDog: style = "tombstoneDog"; version = ProductVersion.EP5; break; case CASAgeGenderFlags.Horse: if (corpse.IsUnicorn) { style = "tombstoneUnicorn"; } else { style = "tombstoneHorse"; } version = ProductVersion.EP5; break; case CASAgeGenderFlags.Cat: style = "tombstoneCat"; version = ProductVersion.EP5; break; default: ulong lifetimeHappiness = corpse.LifetimeHappiness; if (lifetimeHappiness >= Urnstone.LifetimeHappinessWealthyTombstone) { style = "UrnstoneHumanWealthy"; } else if (lifetimeHappiness < Urnstone.LifetimeHappinessPoorTombstone) { style = "UrnstoneHumanPoor"; } else { style = "UrnstoneHuman"; } break; } Urnstone stone = GlobalFunctions.CreateObject(style, version, Vector3.OutOfWorld, 0, Vector3.UnitZ, null, null) as Urnstone; if (stone == null) { return(null); } corpse.Fixup(); stone.SetDeadSimDescription(corpse); stone.mPlayerMoveable = true; return(stone); }