コード例 #1
0
        protected bool OnPerform(Sim actor)
        {
            Urnstone       urnstone            = Urnstone.FindGhostsGrave(actor);
            SimDescription deadSimsDescription = urnstone.DeadSimsDescription;

            deadSimsDescription.IsGhost           = false;
            deadSimsDescription.IsNeverSelectable = false;
            deadSimsDescription.ShowSocialsOnSim  = true;
            Vector3 vector2 = actor.Position;

            vector2.x++;
            if (deadSimsDescription.CreatedSim != null)
            {
                urnstone.GhostToSim(deadSimsDescription.CreatedSim, false, true);
            }
            else
            {
                urnstone.OriginalHousehold.Add(deadSimsDescription);
                deadSimsDescription.Instantiate(vector2);
                deadSimsDescription.AgingEnabled = false;
            }
            if (urnstone.DeadSimsDescription.CreatedSim != null)
            {
                urnstone.Destroy();
            }

            return(true);
        }
コード例 #2
0
ファイル: Resurrect.cs プロジェクト: yakoder/NRaas
        protected bool OnPerform()
        {
            Urnstone urnstone = Urnstone.FindGhostsGrave(Target);

            if (urnstone != null)
            {
                urnstone.GhostToSim(Target, false, true);
                return(true);
            }

            return(false);
        }
コード例 #3
0
ファイル: Urnstones.cs プロジェクト: yakoder/NRaas
        public static bool GhostToSim(SimDescription me)
        {
            Urnstone stone = Urnstones.FindGhostsGrave(me);

            if (stone != null)
            {
                if (me.CreatedSim != null)
                {
                    stone.GhostToSim(me.CreatedSim, false, false);
                    return(true);
                }
            }

            return(false);
        }
コード例 #4
0
 public override bool Run()
 {
     try
     {
         Urnstone grave = Urnstone.FindGhostsGrave(Actor);
         if (grave != null)
         {
             grave.GhostToSim(Actor, false, false);
         }
         return(true);
     }
     catch (Exception e)
     {
         Common.Exception(Actor, Target, e);
         return(false);
     }
 }
コード例 #5
0
        public static void GhostToSim(Sim vamp, Sim vic)
        {
            OthersResurrect.player1 = vamp;
            OthersResurrect.player2 = vic;
            Sim      actor    = player1;
            Sim      target   = player2;
            Urnstone urnstone = Urnstone.FindGhostsGrave(target);

            if (urnstone != null)
            {
                OthersResurrect.PlayResurrectAnimation(target, true, true);
                urnstone.GhostToSim(target, true, true);
                target.OccultManager.AddOccultType(OccultTypes.Vampire, true, false, false);
                target.ChooseRandomOutfitCategoryOtherThanCurrent(OutfitCategories.Everyday);
                OthersResurrect.AppearSimInResurrect(target, true);
            }
        }
コード例 #6
0
        protected override bool Run(SimDescription me, bool singleSelection)
        {
            if (!base.Run(me, singleSelection))
            {
                return(false);
            }

            foreach (SelectionCriteria.Occult.Values type in mTypes)
            {
                if (type.mOccult == OccultTypes.Ghost)
                {
                    Urnstone stone = Urnstones.FindGhostsGrave(me);

                    if ((stone != null) && (me.CreatedSim != null))
                    {
                        stone.GhostToSim(me.CreatedSim, false, false);
                    }
                    else
                    {
                        me.SetDeathStyle(SimDescription.DeathType.None, false);
                        me.IsGhost           = false;
                        me.IsNeverSelectable = false;
                        me.ShowSocialsOnSim  = true;
                        me.AgingEnabled      = true;

                        if (stone != null)
                        {
                            stone.Destroy();
                        }
                    }
                }
                else
                {
                    OccultTypeHelper.Remove(me, type.mOccult, true);
                }
            }

            return(true);
        }