public bool MoveAck(byte seq) { m_OutstandingMoves--; MoveEntry e; if (m_MoveInfo.TryGetValue(seq, out e) && e != null) { if (e.IsStep && !IsGhost) { StealthSteps.OnMove(); } return(!e.FilterAck); } else { return(true); } }
public bool MoveAck(byte seq) { m_OutstandingMoves--; MoveEntry e = (MoveEntry)m_MoveInfo[seq]; if (e != null) { if (e.IsStep && !IsGhost) { StealthSteps.OnMove(); } return(!e.FilterAck); } else { return(true); } }
internal bool MoveAck(byte seq) { CheckCorpseOpen(); m_OutstandingMoves--; MoveEntry e; m_MoveInfo.TryGetValue(seq, out e); if (e != null) { if (e.IsStep && !IsGhost) { StealthSteps.OnMove(); } return(!e.FilterAck); } else { return(true); } }
public override void OnPositionChanging(Point3D oldPos) { if (!IsGhost) { StealthSteps.OnMove(); } AutoOpenDoors(false); List <Mobile> mlist = new List <Mobile>(World.Mobiles.Values); for (int i = 0; i < mlist.Count; i++) { Mobile m = mlist[i]; if (m != this) { if (!Utility.InRange(m.Position, Position, VisRange)) { m.Remove(); } else { Targeting.CheckLastTargetRange(m); } } } mlist = null; List <Item> ilist = new List <Item>(World.Items.Values); ScavengerAgent s = ScavengerAgent.Instance; for (int i = 0; i < ilist.Count; i++) { Item item = ilist[i]; if (item.Deleted || item.Container != null) { continue; } int dist = Utility.Distance(item.GetWorldPosition(), Position); if (item != DragDropManager.Holding && (dist > MultiVisRange || (!item.IsMulti && dist > VisRange))) { item.Remove(); } else if (!IsGhost && Visible && dist <= 2 && s.Enabled && item.Movable) { s.Scavenge(item); } } ilist = null; if (Engine.MainWindow != null && Engine.MainWindow.MapWindow != null) { Engine.MainWindow.SafeAction(f => f.MapWindow.PlayerMoved()); } base.OnPositionChanging(oldPos); }