예제 #1
0
 public static void HandleMapMovementRequest(GameMapMovementRequestMessage message, WorldClient client)
 {
     if (client.Character.Fighting)
     {
         if (client.Character.Fighter.Fight.Started && client.Character.Fighter.IsFighterTurn)
         {
             List <short> path = PathParser.FightMove(PathParser.ReturnDispatchedCells(message.keyMovements)).Keys.ToList();
             path.Insert(0, client.Character.Fighter.CellId);
             client.Character.Fighter.Move(path);
         }
     }
     else
     {
         if (!client.Character.ChangeMap && client.Character.Map.Id == message.mapId && !client.Character.Collecting)
         {
             client.Character.MoveOnMap(message.keyMovements);
         }
         else
         {
             client.Character.NoMove();
         }
     }
 }