예제 #1
0
        protected override bool PrivateUpdate(ScenarioFrame frame)
        {
            if (ManagerSim.HasTrait(Target, TraitNames.Evil))
            {
                Target.CreatedSim.BuffManager.AddElement(BuffNames.FiendishlyDelighted, Origin);
            }
            else
            {
                float multiple = 0;

                if (Relationships.IsBloodRelated(Sim.Genealogy, Target.Genealogy, false))
                {
                    multiple++;
                }
                else if (Relationships.IsCloselyRelated(Sim, Target, false))
                {
                    multiple += 0.5f;
                }

                int ltr = ManagerSim.GetLTR(Sim, Target);
                if (ltr > 75)
                {
                    multiple += 1.5f;
                }
                else if (ltr > 50)
                {
                    multiple++;
                }
                else if (ltr > 25)
                {
                    multiple += 0.5f;
                }

                mTimeoutLength = multiple * 24 * 60;

                base.PrivateUpdate(frame);

                BuffMourning.BuffInstanceMourning mourning = Target.CreatedSim.BuffManager.GetElement(BuffNames.Mourning) as BuffMourning.BuffInstanceMourning;
                if (mourning != null)
                {
                    mourning.MissedSim = Sim;
                }
            }

            return(true);
        }