Skip to content

Commit ab79f0d

Browse files
committed
Fix upgrade building navigation
1 parent 12a3b42 commit ab79f0d

File tree

2 files changed

+14
-39
lines changed

2 files changed

+14
-39
lines changed

TbsCore/Helpers/NavigationHelper.cs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,8 @@ private static async Task ToBuildingId(Account acc, int index)
5151
{
5252
if (!acc.Wb.CurrentUrl.Contains("dorf2.php") || acc.Wb.CurrentUrl.Contains("id="))
5353
await MainNavigate(acc, MainNavigationButton.Buildings);
54-
await DriverHelper.ClickByClassName(acc, $"aid{index}", qindex: 1);
54+
55+
await DriverHelper.ExecuteScript(acc, $"document.getElementsByClassName(\"aid{index}\")[0].children[0].click();");
5556
}
5657
await DriverHelper.WaitLoaded(acc);
5758
}
@@ -93,6 +94,9 @@ private static string TTWarsTabUrl(BuildingEnum building, int tab)
9394
default: return "";
9495
}
9596
}
97+
98+
private static string[] tabMapping = new string[] { "0", "2", "3", "4", "5" };
99+
private static string TTWarsOverviewMapping(OverviewTab tab) => tabMapping[(int)tab];
96100

97101
/// <summary>
98102
/// Enters a specific building.
@@ -126,6 +130,8 @@ public static async Task<bool> EnterBuilding(Account acc, Building building, int
126130
}
127131
return true;
128132
}
133+
public static async Task<bool> EnterBuilding(Account acc, Village vill, int buildingId, int? tab = null, Coordinates coords = null) =>
134+
await EnterBuilding(acc, vill.Build.Buildings.First(x => x.Id == buildingId), tab, coords);
129135

130136
public static async Task<bool> EnterBuilding(Account acc, Village vill, BuildingEnum buildingEnum, int? tab = null, Coordinates coords = null)
131137
{
@@ -189,8 +195,12 @@ public static async Task<bool> ToHero(Account acc, HeroTab tab)
189195

190196
public static async Task<bool> ToOverview(Account acc, OverviewTab tab, TroopOverview subTab = TroopOverview.OwnTroops)
191197
{
198+
if (acc.AccInfo.ServerVersion == ServerVersionEnum.TTwars)
199+
{
200+
await acc.Wb.Navigate($"{acc.AccInfo.ServerUrl}/dorf3.php?s={TTWarsOverviewMapping(tab)}&su={(int)subTab}");
201+
return true;
202+
}
192203
string query = "overview";
193-
if (acc.AccInfo.ServerVersion == ServerVersionEnum.TTwars) query += "White";
194204
await DriverHelper.ClickByClassName(acc, query);
195205

196206
var currentTab = InfrastructureParser.CurrentlyActiveTab(acc.Wb.Html);

TbsCore/Tasks/LowLevel/UpgradeBuilding.cs

Lines changed: 2 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -51,50 +51,15 @@ public override async Task<TaskRes> Execute(Account acc)
5151
return TaskRes.Executed;
5252
}
5353

54-
var url = $"{acc.AccInfo.ServerUrl}/build.php?id={urlId}";
55-
5654
// Fast building for TTWars
5755
if (acc.AccInfo.ServerUrl.Contains("ttwars") &&
5856
!constructNew &&
59-
await TTWarsTryFastUpgrade(acc, url))
57+
await TTWarsTryFastUpgrade(acc, $"{acc.AccInfo.ServerUrl}/build.php?id={urlId}"))
6058
{
6159
return TaskRes.Executed;
6260
}
6361

64-
// Navigate to the dorf in which the building is, so bot is less suspicious
65-
string dorfUrl = $"/dorf{((Task.BuildingId ?? default) < 19 ? 1 : 2)}.php"; // "dorf1" / "dorf2"
66-
if (!acc.Wb.CurrentUrl.Contains(dorfUrl))
67-
{
68-
await acc.Wb.Navigate(acc.AccInfo.ServerUrl + dorfUrl);
69-
}
70-
else
71-
{
72-
acc.Wb.UpdateHtml();
73-
}
74-
75-
// Append correct tab
76-
if (!constructNew)
77-
{
78-
switch (this.Task.Building)
79-
{
80-
case BuildingEnum.RallyPoint:
81-
url += "&tt=0";
82-
break;
83-
84-
case BuildingEnum.Marketplace:
85-
url += "&t=0";
86-
break;
87-
88-
case BuildingEnum.Residence:
89-
case BuildingEnum.Palace:
90-
case BuildingEnum.CommandCenter:
91-
case BuildingEnum.Treasury:
92-
url += "&s=0";
93-
break;
94-
}
95-
}
96-
97-
await acc.Wb.Navigate(url);
62+
await NavigationHelper.EnterBuilding(acc, Vill, (int)Task.BuildingId);
9863

9964
var constructContract = acc.Wb.Html.GetElementbyId($"contract_building{(int)Task.Building}");
10065
var upgradeContract = acc.Wb.Html.GetElementbyId("build");

0 commit comments

Comments
 (0)