Skip to content

Commit 4f516f9

Browse files
authored
Release 2.4.0 (#200)
- Fix NPC not working - Change how farmlist is sent - Remove old hero UI version - Optimize how bot execute task, it should pause lesser than before - Optimize how to tab things work - Optimize how things is loaded (it may delay in the first time you click it, but that it, everything later is faster) If you like my work, you can donate to me through [ko-fi.com/vinaghost](https://ko-fi.com/vinaghost)
1 parent 5ca74e0 commit 4f516f9

File tree

325 files changed

+8563
-77997
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

325 files changed

+8563
-77997
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
build:
1010
strategy:
1111
matrix:
12-
server: [TRAVIAN_OFFICIAL, TRAVIAN_OFFICIAL_HEROUI, TTWARS]
12+
server: [TRAVIAN_OFFICIAL, TTWARS]
1313
runs-on: windows-2019
1414
steps:
1515
- name: Setup dotnet

.github/workflows/hotfix.yml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ jobs:
4949
needs: version
5050
strategy:
5151
matrix:
52-
server: [TRAVIAN_OFFICIAL, TRAVIAN_OFFICIAL_HEROUI, TTWARS]
52+
server: [TRAVIAN_OFFICIAL, TTWARS]
5353
steps:
5454
- name: Setup dotnet
5555
uses: actions/setup-dotnet@v2
@@ -83,8 +83,7 @@ jobs:
8383

8484
- name: Archive release
8585
run: |
86-
cd TBS; zip -r "TBS-${{needs.version.outputs.version}}-TravianOfficial-OldHeroUI.zip" TBS-TRAVIAN_OFFICIAL; cp -R "TBS-${{needs.version.outputs.version}}-TravianOfficial-OldHeroUI.zip" ../; cd ..
87-
cd TBS; zip -r "TBS-${{needs.version.outputs.version}}-TravianOfficial-NewHeroUI.zip" TBS-TRAVIAN_OFFICIAL_HEROUI; cp -R "TBS-${{needs.version.outputs.version}}-TravianOfficial-NewHeroUI.zip" ../; cd ..
86+
cd TBS; zip -r "TBS-${{needs.version.outputs.version}}-TravianOfficial.zip" TBS-TRAVIAN_OFFICIAL; cp -R "TBS-${{needs.version.outputs.version}}-TravianOfficial.zip" ../; cd ..
8887
cd TBS; zip -r "TBS-${{needs.version.outputs.version}}-TTWars.zip" TBS-TTWARS; cp -R "TBS-${{needs.version.outputs.version}}-TTWars.zip" ../; cd ..
8988
9089
- name: Create release
@@ -93,7 +92,7 @@ jobs:
9392
name: TBS-${{needs.version.outputs.version}}
9493
tag: ${{needs.version.outputs.version}}
9594
commit: master
96-
artifacts: "TBS-${{needs.version.outputs.version}}-TravianOfficial-OldHeroUI.zip, TBS-${{needs.version.outputs.version}}-TravianOfficial-NewHeroUI.zip, TBS-${{needs.version.outputs.version}}-TTWars.zip"
95+
artifacts: "TBS-${{needs.version.outputs.version}}-TravianOfficial.zip, TBS-${{needs.version.outputs.version}}-TTWars.zip"
9796
token: ${{ secrets.GITHUB_TOKEN }}
9897
body: |
9998
Please join our Discord server for more information: [https://discord.gg/mBa4f2K](https://discord.gg/mBa4f2K)
@@ -125,7 +124,7 @@ jobs:
125124
needs: release
126125
strategy:
127126
matrix:
128-
server: [TRAVIAN_OFFICIAL, TRAVIAN_OFFICIAL_HEROUI, TTWARS]
127+
server: [TRAVIAN_OFFICIAL, TTWARS]
129128
steps:
130129
- name: Delete artifact
131130
uses: geekyeggo/delete-artifact@v1

.github/workflows/release.yml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ jobs:
4848
needs: version
4949
strategy:
5050
matrix:
51-
server: [TRAVIAN_OFFICIAL, TRAVIAN_OFFICIAL_HEROUI, TTWARS]
51+
server: [TRAVIAN_OFFICIAL, TTWARS]
5252
steps:
5353
- name: Setup dotnet
5454
uses: actions/setup-dotnet@v2
@@ -82,8 +82,7 @@ jobs:
8282

8383
- name: Archive release
8484
run: |
85-
cd TBS; zip -r "TBS-${{needs.version.outputs.version}}-TravianOfficial-OldHeroUI.zip" TBS-TRAVIAN_OFFICIAL; cp -R "TBS-${{needs.version.outputs.version}}-TravianOfficial-OldHeroUI.zip" ../; cd ..
86-
cd TBS; zip -r "TBS-${{needs.version.outputs.version}}-TravianOfficial-NewHeroUI.zip" TBS-TRAVIAN_OFFICIAL_HEROUI; cp -R "TBS-${{needs.version.outputs.version}}-TravianOfficial-NewHeroUI.zip" ../; cd ..
85+
cd TBS; zip -r "TBS-${{needs.version.outputs.version}}-TravianOfficial.zip" TBS-TRAVIAN_OFFICIAL; cp -R "TBS-${{needs.version.outputs.version}}-TravianOfficial.zip" ../; cd ..
8786
cd TBS; zip -r "TBS-${{needs.version.outputs.version}}-TTWars.zip" TBS-TTWARS; cp -R "TBS-${{needs.version.outputs.version}}-TTWars.zip" ../; cd ..
8887
8988
- name: Create release
@@ -92,7 +91,7 @@ jobs:
9291
name: TBS-${{needs.version.outputs.version}}
9392
tag: ${{needs.version.outputs.version}}
9493
commit: master
95-
artifacts: "TBS-${{needs.version.outputs.version}}-TravianOfficial-OldHeroUI.zip, TBS-${{needs.version.outputs.version}}-TravianOfficial-NewHeroUI.zip, TBS-${{needs.version.outputs.version}}-TTWars.zip"
94+
artifacts: "TBS-${{needs.version.outputs.version}}-TravianOfficial.zip, TBS-${{needs.version.outputs.version}}-TTWars.zip"
9695
token: ${{ secrets.GITHUB_TOKEN }}
9796
body: |
9897
Please join our Discord server for more information: [https://discord.gg/mBa4f2K](https://discord.gg/mBa4f2K)
@@ -123,7 +122,7 @@ jobs:
123122
needs: release
124123
strategy:
125124
matrix:
126-
server: [TRAVIAN_OFFICIAL, TRAVIAN_OFFICIAL_HEROUI, TTWARS]
125+
server: [TRAVIAN_OFFICIAL, TTWARS]
127126
steps:
128127
- name: Delete artifact
129128
uses: geekyeggo/delete-artifact@v1

MainCore/AppBosstrapper.cs

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
using FluentMigrator.Runner;
2+
using MainCore.Helper.Implementations;
3+
using MainCore.Helper.Interface;
4+
using MainCore.Migrations;
5+
using MainCore.Services.Implementations;
6+
using MainCore.Services.Interface;
7+
using Microsoft.EntityFrameworkCore;
8+
using Microsoft.Extensions.DependencyInjection;
9+
using ModuleCore.Parser;
10+
11+
#if TRAVIAN_OFFICIAL
12+
13+
using TravianOfficialCore.Parsers;
14+
15+
#elif TTWARS
16+
17+
using TTWarsCore.Parsers;
18+
19+
#else
20+
21+
#error You forgot to define Travian version here
22+
23+
#endif
24+
25+
namespace MainCore
26+
{
27+
public static class DependencyInjectionCoreContainer
28+
{
29+
private const string _connectionString = "DataSource=TBS.db;Cache=Shared";
30+
31+
public static IServiceCollection ConfigureServices(this IServiceCollection services)
32+
{
33+
services.AddDbContextFactory<AppDbContext>(options => options.UseSqlite(_connectionString));
34+
services.AddSingleton<IChromeManager, ChromeManager>();
35+
services.AddSingleton<IRestClientManager, RestClientManager>();
36+
services.AddSingleton<IUseragentManager, UseragentManager>();
37+
services.AddSingleton<IEventManager, EventManager>();
38+
services.AddSingleton<ITimerManager, TimerManager>();
39+
services.AddSingleton<ITaskManager, TaskManager>();
40+
services.AddSingleton<IPlanManager, PlanManager>();
41+
services.AddSingleton<ILogManager, LogManager>();
42+
43+
services.AddFluentMigratorCore()
44+
.ConfigureRunner(rb => rb
45+
.AddSQLite()
46+
.WithGlobalConnectionString(_connectionString)
47+
.WithMigrationsIn(typeof(Farming).Assembly));
48+
return services;
49+
}
50+
51+
public static IServiceCollection ConfigureParser(this IServiceCollection services)
52+
{
53+
services.AddSingleton<IBuildingTabParser, BuildingTabParser>();
54+
services.AddSingleton<IFarmListParser, FarmListParser>();
55+
services.AddSingleton<IHeroSectionParser, HeroSectionParser>();
56+
services.AddSingleton<INavigationBarParser, NavigationBarParser>();
57+
services.AddSingleton<IRightBarParser, RightBarParser>();
58+
services.AddSingleton<IStockBarParser, StockBarParser>();
59+
services.AddSingleton<ISubTabParser, SubTabParser>();
60+
services.AddSingleton<ISystemPageParser, SystemPageParser>();
61+
services.AddSingleton<IVillageCurrentlyBuildingParser, VillageCurrentlyBuildingParser>();
62+
services.AddSingleton<IVillageFieldParser, VillageFieldParser>();
63+
services.AddSingleton<IVillageInfrastructureParser, VillageInfrastructureParser>();
64+
services.AddSingleton<IVillagesTableParser, VillagesTableParser>();
65+
return services;
66+
}
67+
68+
public static IServiceCollection ConfigureHelper(this IServiceCollection services)
69+
{
70+
services.AddSingleton<IAccessHelper, AccessHelper>();
71+
services.AddSingleton<IBuildingsHelper, BuildingsHelper>();
72+
services.AddSingleton<ICheckHelper, CheckHelper>();
73+
services.AddSingleton<IClickHelper, ClickHelper>();
74+
services.AddSingleton<IGithubHelper, GithubHelper>();
75+
services.AddSingleton<IHeroHelper, HeroHelper>();
76+
services.AddSingleton<INavigateHelper, NavigateHelper>();
77+
services.AddSingleton<IUpdateHelper, UpdateHelper>();
78+
services.AddSingleton<IUpgradeBuildingHelper, UpgradeBuildingHelper>();
79+
return services;
80+
}
81+
}
82+
}

MainCore/AppDbContext.cs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using MainCore.Enums;
2-
using MainCore.Helper;
32
using MainCore.Models.Database;
43
using Microsoft.EntityFrameworkCore;
54
using System.Collections.Generic;
@@ -239,6 +238,8 @@ public void AddAccount(int accountId)
239238
IsDontLoadImage = false,
240239
IsMinimized = false,
241240
IsAutoAdventure = false,
241+
FarmIntervalMax = 610,
242+
FarmIntervalMin = 590,
242243
});
243244
Heroes.Add(new Hero { AccountId = accountId });
244245

@@ -268,7 +269,9 @@ public void AddVillage(int villageId)
268269
AutoRefreshTimeMax = 35,
269270

270271
IsAutoNPC = false,
272+
IsAutoNPCWarehouse = false,
271273
AutoNPCPercent = 90,
274+
AutoNPCWarehousePercent = 90,
272275
AutoNPCWood = 1,
273276
AutoNPCClay = 1,
274277
AutoNPCIron = 1,
@@ -302,8 +305,6 @@ public void AddFarm(int farmId)
302305
{
303306
Id = farmId,
304307
IsActive = false,
305-
IntervalMin = 590,
306-
IntervalMax = 610,
307308
});
308309
}
309310

@@ -337,6 +338,8 @@ public void UpdateDatabase()
337338
IsDontLoadImage = false,
338339
IsMinimized = false,
339340
IsAutoAdventure = false,
341+
FarmIntervalMax = 610,
342+
FarmIntervalMin = 590,
340343
});
341344
}
342345
}
@@ -402,8 +405,6 @@ public void UpdateDatabase()
402405
{
403406
Id = farmId,
404407
IsActive = false,
405-
IntervalMin = 590,
406-
IntervalMax = 610,
407408
});
408409
}
409410
}
@@ -509,6 +510,8 @@ public void AddVersionInfo()
509510
KeyValuePair.Create(202210181120,"UpgradeTroopMigrations"),
510511
KeyValuePair.Create(202210271504,"NPCForWarhouse"),
511512
KeyValuePair.Create(2022102716038,"IgnoreRomanAdvantage"),
513+
KeyValuePair.Create(202212152155,"NPCWarehouse"),
514+
KeyValuePair.Create(202212301138,"FarmSettings"),
512515
};
513516
foreach (var migration in migrations)
514517
{

MainCore/Errors/Cancel.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
using FluentResults;
2+
3+
namespace MainCore.Errors
4+
{
5+
public class Cancel : Error
6+
{
7+
public Cancel()
8+
{
9+
10+
}
11+
}
12+
}

MainCore/Errors/Login.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
using FluentResults;
2+
3+
namespace MainCore.Errors
4+
{
5+
public class Login : Error
6+
{
7+
public Login() : base("Account is logged out.")
8+
{
9+
}
10+
}
11+
}

MainCore/Errors/NetworkProblem.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
using FluentResults;
2+
3+
namespace MainCore.Errors
4+
{
5+
public class NetworkProblem : Error
6+
{
7+
public NetworkProblem(string message) : base($"{message}.")
8+
{
9+
}
10+
}
11+
}

MainCore/Errors/Retry.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
using FluentResults;
2+
3+
namespace MainCore.Errors
4+
{
5+
public class Retry : Error
6+
{
7+
public Retry(string message) : base($"{message}. Bot must retry")
8+
{
9+
}
10+
}
11+
}

MainCore/Errors/Skip.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
using FluentResults;
2+
3+
namespace MainCore.Errors
4+
{
5+
public class Skip : Error
6+
{
7+
}
8+
}

0 commit comments

Comments
 (0)