private static void handleTreasureHuntMessage(NetworkMessage message) { Point startMap; showMessageInfos(message); TreasureHuntMessage treasureHuntMessage = (TreasureHuntMessage)message; TreasureHuntStep lastStep = treasureHuntMessage.KnownStepsList.Last(); if (treasureHuntMessage.TotalStepCount == treasureHuntMessage.Flags.Count) { Console.WriteLine("Etape terminée !"); return; } if (treasureHuntMessage.KnownStepsList.Count == 1) { startMap = D2OParsing.GetMapCoordinates(treasureHuntMessage.StartMapId); } else { startMap = currentMap; } //Console.Write(" " + startMap.x + "," + startMap.y + "\n"); try { TreasureHuntStepFollowDirectionToHint stepToFollow = (TreasureHuntStepFollowDirectionToHint)lastStep; npcIdToFind = stepToFollow.NpcId; Console.WriteLine("On cherche : \n" + D2OParsing.GetNpcName(stepToFollow.NpcId) + " vers " + WebService.getDir(stepToFollow.Direction)); } catch (Exception e) { TreasureHuntStepFollowDirectionToPOI stepToFollow = (TreasureHuntStepFollowDirectionToPOI)lastStep; WebService.getData(startMap, stepToFollow.Direction, stepToFollow.PoiLabelId); //Console.WriteLine("On cherche : " + D2OParsing.GetPoiName(stepToFollow.PoiLabelId)); } }