예제 #1
0
파일: Urnstones.cs 프로젝트: yakoder/NRaas
        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);
        }