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); }