protected override bool GetMercenaryInfo(ref Digimon digimon, Tamer tamer)
{
//we don't need starters info
if (digimon.Type.IsStarter) {
return false;
}
if (LogManager != null) {
LogManager.InfoFormat("Obtaining detailed data of digimon \"{0}\" for tamer \"{1}\"", digimon.Name, tamer.Name);
}
string html = DownloadContent(string.Format(STR_URL_MERC_SIZE_RANK, tamer.Name, tamer.Guild.Server.Identifier, digimon.Type.Code));
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(html);
HtmlNode partnerNode;
try {
partnerNode = doc.DocumentNode.SelectNodes("//table[@class='forum_list']")[1].SelectSingleNode(".//tbody//tr[not(@onmouseover)]");
} catch {
return false;
}
if (partnerNode != null) {
digimon.SizeRank = Convert.ToInt32(ClearStr(partnerNode.SelectSingleNode(".//td[1]").InnerText));
digimon.Name = ClearStr(partnerNode.SelectSingleNode(".//td[2]//label").InnerText);
Regex r = new Regex(STR_DIGIMON_SIZE, RegexOptions.IgnoreCase | RegexOptions.Singleline);
Match m = r.Match(partnerNode.SelectSingleNode(".//td[3]").InnerHtml);
if (m.Success) {
digimon.SizeCm = Convert.ToInt32(m.Groups[1].ToString());
digimon.SizePc = Convert.ToInt32(m.Groups[3].ToString());
return true;
}
}
return false;
}