public bool PointMov(int x, int y, int cellId, bool troughtEntities) { bool isNewSystem = MapData.Data.IsUsingNewMovementSystem; MapPoint actualPoint = new MapPoint(x, y); BlueSheep.Data.D2p.CellData fCellData = null; BlueSheep.Data.D2p.CellData sCellData = null; bool mov = false; int floor = 0; if (actualPoint.IsInMap()) { fCellData = MapData.Data.Cells[actualPoint.CellId]; mov = ((fCellData.Mov()) && (!this.IsFighting || !fCellData.NonWalkableDuringFight())); if (!((mov == false)) && isNewSystem && cellId != -1 && cellId != actualPoint.CellId) { sCellData = (MapData).Data.Cells[cellId]; floor = Math.Abs(Math.Abs(fCellData.Floor) - Math.Abs(sCellData.Floor)); if (!(sCellData.MoveZone == fCellData.MoveZone) && floor > 0 && sCellData.MoveZone == fCellData.MoveZone && fCellData.MoveZone == 0 && floor > 11) { mov = false; } if (!troughtEntities) { int count = 0; count += MapData.Monsters.Where((e) => e.m_cellId == actualPoint.CellId).ToList().Count; if (count > 0) { // //ToDo Voir à travers les entity return false; } } } } else { mov = false; } return mov; }