Skip to content

Commit 8f2889e

Browse files
authored
Merge pull request #122 from Erol444/fix-16-06-2022
Fix 16 06 2022
2 parents 073a9ee + eb46b8b commit 8f2889e

File tree

8 files changed

+51
-283
lines changed

8 files changed

+51
-283
lines changed

TbsCore/Core/PostLoadHelper.cs

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -228,13 +228,6 @@ public static List<Action> GetPostLoadTasks(Account acc)
228228
{
229229
acc.Tasks.Add( new TTWarsBuyAdventure() { ExecuteAt = DateTime.Now.AddSeconds(5) }, true);
230230
}
231-
if (acc.Hero.Status == Hero.StatusEnum.Dead && acc.Hero.Settings.AutoReviveHero) //if hero is dead, revive him
232-
{
233-
acc.Tasks.Add( new ReviveHero() {
234-
ExecuteAt = DateTime.Now.AddSeconds(5),
235-
Vill = AccountHelper.GetHeroReviveVillage(acc)
236-
}, true);
237-
}
238231
if (HeroParser.LeveledUp(html) && acc.Hero.Settings.AutoSetPoints)
239232
{
240233
acc.Tasks.Add( new HeroSetPoints() { ExecuteAt = DateTime.Now }, true);

TbsCore/Helpers/NavigationHelper.cs

Lines changed: 34 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -285,42 +285,46 @@ public static async Task<bool> ToTreasury(Account acc, Village vill, TreasuryTab
285285

286286
public static async Task<bool> ToHero(Account acc, HeroTab tab)
287287
{
288-
var heroAvatarNode = acc.Wb.Html.GetElementbyId("heroImageButton");
288+
var wait = new WebDriverWait(acc.Wb.Driver, TimeSpan.FromMinutes(1));
289289

290-
if (heroAvatarNode == null)
290+
if (!(acc.Wb.CurrentUrl.Contains("hero/inventory") || acc.Wb.CurrentUrl.Contains("hero/attributes") || acc.Wb.CurrentUrl.Contains("hero/appearance")))
291291
{
292-
acc.Logger.Warning($"Cannot find Hero avatar");
293-
return false;
294-
}
292+
var heroAvatarNode = acc.Wb.Html.GetElementbyId("heroImageButton");
295293

296-
var elements = acc.Wb.Driver.FindElements(By.XPath(heroAvatarNode.XPath));
297-
if (elements.Count == 0)
298-
{
299-
acc.Logger.Warning($"Cannot find Hero avatar");
300-
return false;
301-
}
302-
elements[0].Click();
294+
if (heroAvatarNode == null)
295+
{
296+
acc.Logger.Warning($"Cannot find Hero avatar");
297+
return false;
298+
}
303299

304-
var wait = new WebDriverWait(acc.Wb.Driver, TimeSpan.FromMinutes(1));
305-
wait.Until(driver =>
300+
var elements = acc.Wb.Driver.FindElements(By.XPath(heroAvatarNode.XPath));
301+
if (elements.Count == 0)
302+
{
303+
acc.Logger.Warning($"Cannot find Hero avatar");
304+
return false;
305+
}
306+
elements[0].Click();
307+
308+
wait.Until(driver =>
309+
{
310+
acc.Wb.UpdateHtml();
311+
var heroDiv = acc.Wb.Html.GetElementbyId("heroV2");
312+
if (heroDiv == null) return false;
313+
var aNode = heroDiv.Descendants("a").FirstOrDefault(x => x.GetAttributeValue("data-tab", 0) == 1);
314+
if (aNode == null) return false;
315+
return aNode.HasClass("active");
316+
});
317+
}
306318
{
307319
acc.Wb.UpdateHtml();
308-
var heroDiv = acc.Wb.Html.GetElementbyId("heroV2");
309-
if (heroDiv == null) return false;
310-
var aNode = heroDiv.Descendants("a").FirstOrDefault(x => x.GetAttributeValue("data-tab", 0) == 1);
311-
if (aNode == null) return false;
312-
return aNode.HasClass("active");
313-
});
314-
315-
if (tab == HeroTab.Inventory) return true;
316-
317-
var navigatorDiv = acc.Wb.Html.GetElementbyId("heroV2");
318-
var tabNode = navigatorDiv.Descendants("a").FirstOrDefault(x => x.GetAttributeValue("data-tab", 0) == (int)tab);
319-
if (tabNode == null) return false;
320-
var tabElements = acc.Wb.Driver.FindElements(By.XPath(tabNode.XPath));
321-
if (tabElements.Count == 0) return false;
322-
tabElements[0].Click();
323-
320+
var navigatorDiv = acc.Wb.Html.GetElementbyId("heroV2");
321+
var tabNode = navigatorDiv.Descendants("a").FirstOrDefault(x => x.GetAttributeValue("data-tab", 0) == (int)tab);
322+
if (tabNode == null) return false;
323+
if (tabNode.HasClass("active")) return true;
324+
var tabElements = acc.Wb.Driver.FindElements(By.XPath(tabNode.XPath));
325+
if (tabElements.Count == 0) return false;
326+
tabElements[0].Click();
327+
}
324328
wait.Until(driver =>
325329
{
326330
acc.Wb.UpdateHtml();

TbsCore/Parsers/HeroParser.cs

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -184,11 +184,18 @@ public static int GetHeroHealth(HtmlDocument htmlDoc)
184184
var path = htmlDoc.GetElementbyId("healthMask").Descendants("path").FirstOrDefault();
185185
if (path == null) return 0;
186186
var commands = path.GetAttributeValue("d", "").Split(' ');
187-
var xx = double.Parse(commands[commands.Length - 2], System.Globalization.CultureInfo.InvariantCulture);
188-
var yy = double.Parse(commands[commands.Length - 1], System.Globalization.CultureInfo.InvariantCulture);
187+
try
188+
{
189+
var xx = double.Parse(commands[commands.Length - 2], System.Globalization.CultureInfo.InvariantCulture);
190+
var yy = double.Parse(commands[commands.Length - 1], System.Globalization.CultureInfo.InvariantCulture);
189191

190-
var rad = Math.Atan2(yy - 55, xx - 55);
191-
return (int)Math.Round(-56.173 * rad + 96.077);
192+
var rad = Math.Atan2(yy - 55, xx - 55);
193+
return (int)Math.Round(-56.173 * rad + 96.077);
194+
}
195+
catch
196+
{
197+
return 100;
198+
}
192199
}
193200

194201
/// <summary>

TbsCore/Tasks/Others/ReviveHero.cs

Lines changed: 0 additions & 53 deletions
This file was deleted.

TbsCore/Tasks/Others/SellOnAuctions.cs

Lines changed: 0 additions & 119 deletions
This file was deleted.

TbsCore/Tasks/Update/HeroUpdateInfo.cs

Lines changed: 1 addition & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -19,39 +19,11 @@ public override async Task<TaskRes> Execute(Account acc)
1919
}
2020

2121
{
22-
var result = await NavigationHelper.ToHero(acc, NavigationHelper.HeroTab.Attributes);
22+
var result = await NavigationHelper.ToHero(acc, NavigationHelper.HeroTab.Inventory);
2323
if (StopFlag) return TaskRes.Executed;
2424
if (!result) return TaskRes.Executed;
2525
}
2626

27-
if (acc.Hero.Settings.AutoAuction)
28-
{
29-
var items = acc.Hero.Items;
30-
foreach (var item in items)
31-
{
32-
var (heroItemEnum, amount) = (item.Item, item.Count);
33-
var category = HeroHelper.GetHeroItemCategory(heroItemEnum);
34-
switch (category)
35-
{
36-
case HeroItemCategory.Resource:
37-
continue;
38-
39-
case HeroItemCategory.Stackable:
40-
if (amount < 5) continue;
41-
break;
42-
43-
case HeroItemCategory.Horse:
44-
continue;
45-
}
46-
47-
acc.Tasks.Add(new SellOnAuctions()
48-
{
49-
ExecuteAt = DateTime.Now
50-
}, true);
51-
break;
52-
}
53-
}
54-
5527
if (acc.Hero.Settings.AutoRefreshInfo)
5628
{
5729
NextExecute = DateTime.Now.AddMinutes(

TbsWinformNet6/Views/HeroUc.Designer.cs

Lines changed: 5 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)