public static bool Run(AlienUtils.ReturnAlienBaby returnBaby) { Common.DebugNotify("ReturnAlienBabyEx" + Common.NewLine + " - Actor:" + returnBaby.Actor.FullName + Common.NewLine + " - Target: " + returnBaby.Target.FullName); bool flag = TwoButtonDialog.Show( Common.Localize("ReturnAlienBabyEx:Dialogue"), Common.Localize("ReturnAlienBabyEx:DialogueAccept"), Common.Localize("ReturnAlienBabyEx:DialogueReject")); if (flag) { AgingManager.Singleton.CancelAgingAlarmsForSim(returnBaby.Target.SimDescription.AgingState); returnBaby.Target.DisableInteractions(); returnBaby.Target.InteractionQueue.CancelAllInteractions(); returnBaby.mEffect = VisualEffect.Create("ep8BabyTeleportFx"); returnBaby.mEffect.SetPosAndOrient(returnBaby.Target.Position, returnBaby.Target.ForwardVector, returnBaby.Target.UpVector); returnBaby.mEffect.Start(); returnBaby.Target.FadeOut(true); List <IGenealogy> list = new List <IGenealogy>(returnBaby.Target.Genealogy.IParents); list.AddRange(returnBaby.Target.Genealogy.ISiblings); foreach (IGenealogy current in list) { returnBaby.Target.Genealogy.RemoveDirectRelation(current); } returnBaby.Actor.Household.Remove(returnBaby.Target.SimDescription); returnBaby.Target.SimDescription.Dispose(); Simulator.Sleep(30u); } return(true); }
public static bool Run(AlienUtils.ReturnAlienBaby ths) { bool flag = TwoButtonDialog.Show( Localization.LocalizeString("Duglarogg/Abductor/Interactions/ReturnAlienBabyEx:Dialogue"), Localization.LocalizeString("Duglarogg/Abductor/Interactions/ReturnAlienBabyEx:DialogueAccept"), Localization.LocalizeString("Duglarogg/Abductor/Interactions/ReturnAlineBabyEx:DialogueReject")); if (flag) { SimDescription description = ths.Target.SimDescription; ths.Target.DisableInteractions(); ths.Target.InteractionQueue.CancelAllInteractions(); ths.mEffect = VisualEffect.Create("ep8BabyTeleportFx"); ths.mEffect.SetPosAndOrient(ths.Target.Position, ths.Target.ForwardVector, ths.Target.UpVector); ths.mEffect.Start(); ths.Target.FadeOut(true); List <IGenealogy> list = new List <IGenealogy>(description.Genealogy.IParents); list.AddRange(description.Genealogy.ISiblings); foreach (IGenealogy current in list) { description.Genealogy.RemoveDirectRelation(current); } ths.Actor.Household.Remove(description); description.Dispose(); Simulator.Sleep(30u); } return(true); }