/// <summary> /// Make the docking happen /// </summary> /// <param name="zone"></param> /// <param name="dockingBase"></param> public void DockToBase(IZone zone, DockingBase dockingBase) { States.Dock = true; var publicContainer = dockingBase.GetPublicContainer(); FullArmorRepair(); publicContainer.AddItem(this, false); publicContainer.Save(); dockingBase.DockIn(Character, NormalUndockDelay, ZoneExitType.Docked); Transaction.Current.OnCommited(() => { RemoveFromZone(); MissionHelper.MissionAdvanceDockInTarget(Character.Id, zone.Id, CurrentPosition); TransportAssignment.DeliverTransportAssignmentAsync(Character); }); }