Skip to content

Commit cf97e70

Browse files
committed
* **v7.9.2**
* Spring 2021 Update ** Globals: TH Level 14, BK, AQ, GW, RC new levels ** Added TH14 images ** Fixed auto Townhall locate - removed opencv Townhall detection ** Update TH14 building arrays ** Increased StoneCC image tolerance due to interferrence with Jungle Scenery ** Update League Day End image ** Fixed Lab array error ** Added Jungle Scenery ** Fixed upgrade walls
1 parent 4665a17 commit cf97e70

60 files changed

Lines changed: 116 additions & 58 deletions

Some content is hidden

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

CHANGELOG

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
* **v7.9.2**
2+
* Spring 2021 Update
3+
** Globals: TH Level 14, BK, AQ, GW, RC new levels
4+
** Added TH14 images
5+
** Fixed auto Townhall locate - removed opencv Townhall detection
6+
** Update TH14 building arrays
7+
** Increased StoneCC image tolerance due to interferrence with Jungle Scenery
8+
** Update League Day End image
9+
** Fixed Lab array error
10+
** Added Jungle Scenery
11+
** Fixed upgrade walls
12+
113
* **v7.9.1**
214
* TH8 village fix
315
* updated italian language by quisazadrah

COCBot/GUI/MBR GUI Design Child Attack - Activebase-Search.au3

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Global $g_hChkABMeetTrophy = 0, $g_hTxtABMinTrophy = 0, $g_hTxtABMaxTrophy = 0
3434
Global $g_hChkABMeetTH = 0, $g_hCmbABTH = 0, $g_hChkABMeetTHO = 0
3535

3636
Global $g_hGrpABFilter = 0, $g_hPicABMinGold = 0, $g_hPicABMinElixir = 0, $g_hPicABMinGPEGold = 0, $g_hPicABMinDarkElixir = 0, $g_hPicABMinTrophies = 0
37-
Global $g_ahPicABMaxTH[14]
37+
Global $g_ahPicABMaxTH[15]
3838

3939
Func CreateAttackSearchActiveBaseSearch()
4040
Local $sTxtLightningSpells = GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortLightningSpells", -1)

COCBot/GUI/MBR GUI Design Child Attack - Bully.au3

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Global $g_hGUI_BULLY = 0
1919
Global $g_hTxtATBullyMode = 0, $g_hCmbBullyMaxTH = 0, $g_hRadBullyUseDBAttack = 0, $g_hRadBullyUseLBAttack = 0
2020
Global $g_hGrpBullyAtkCombo = 0, $g_hLblBullyMode = 0, $g_hLblATBullyMode = 0
2121

22-
Global $g_ahPicBullyMaxTH[14]
22+
Global $g_ahPicBullyMaxTH[15]
2323

2424
Func CreateAttackSearchBully()
2525

COCBot/GUI/MBR GUI Design Child Attack - Deadbase-Search.au3

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Global $g_hChkDBMeetTrophy = 0, $g_hTxtDBMinTrophy = 0, $g_hTxtDBMaxTrophy = 0
3434
Global $g_hChkDBMeetTH = 0, $g_hCmbDBTH = 0, $g_hChkDBMeetTHO = 0, $g_hChkDBMeetDeadEagle = 0, $g_hTxtDeadEagleSearch = 0
3535

3636
Global $g_hGrpDBFilter = 0, $g_hPicDBMinGold = 0, $g_hPicDBMinElixir = 0, $g_hPicDBMinGPEGold = 0, $g_hPicDBMinDarkElixir = 0, $g_hPicDBMinTrophies = 0
37-
Global $g_ahPicDBMaxTH[14]
37+
Global $g_ahPicDBMaxTH[15]
3838

3939
Func CreateAttackSearchDeadBaseSearch()
4040
Local $sTxtLightningSpells = GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortLightningSpells", -1)

COCBot/GUI/MBR GUI Design Child Bot - Stats.au3

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Global $g_hGUI_STATS = 0, $g_hGUI_STATS_TAB = 0, $g_hGUI_STATS_TAB_ITEM1 = 0, $g
1818
Global $btnResetStats = 0
1919

2020
; Gain
21-
Global $g_ahPicTHLevels[14], $g_hLblTHLevels = 0
21+
Global $g_ahPicTHLevels[15], $g_hLblTHLevels = 0
2222
Global $g_ahPicLeague[$eLeagueCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0], $g_hLblLeague = 0
2323
Global $g_ahLblStatsStartedWith[$eLootCount] = [0, 0, 0, 0], $g_ahLblStatsGainPerHour[$eLootCount] = [0, 0, 0, 0]
2424
Global $g_ahLblStatsTotalGain[$eLootCount] = [0, 0, 0, 0], $g_ahLblStatsLastAttack[$eLootCount] = [0, 0, 0, 0]

COCBot/MBR GUI Control Variables.au3

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -180,19 +180,19 @@ Func InitializeControlVariables()
180180

181181
;TH Level
182182
$g_aGroupListTHLevels = $g_ahPicTHLevels[4]&"#"&$g_ahPicTHLevels[5]&"#"&$g_ahPicTHLevels[6]&"#"&$g_ahPicTHLevels[7]&"#"&$g_ahPicTHLevels[8]&"#"& _
183-
$g_ahPicTHLevels[9]&"#"&$g_ahPicTHLevels[10]&"#"&$g_ahPicTHLevels[11]&"#"&$g_ahPicTHLevels[12]&"#"&$g_ahPicTHLevels[13]
183+
$g_ahPicTHLevels[9]&"#"&$g_ahPicTHLevels[10]&"#"&$g_ahPicTHLevels[11]&"#"&$g_ahPicTHLevels[12]&"#"&$g_ahPicTHLevels[13]&"#"&$g_ahPicTHLevels[14]
184184

185185
;PicDBMaxTH
186186
$g_aGroupListPicDBMaxTH = $g_ahPicDBMaxTH[6]&"#"&$g_ahPicDBMaxTH[7]&"#"&$g_ahPicDBMaxTH[8]&"#"& _
187-
$g_ahPicDBMaxTH[9]&"#"&$g_ahPicDBMaxTH[10]&"#"&$g_ahPicDBMaxTH[11]&"#"&$g_ahPicDBMaxTH[12]&"#"&$g_ahPicDBMaxTH[13]
187+
$g_ahPicDBMaxTH[9]&"#"&$g_ahPicDBMaxTH[10]&"#"&$g_ahPicDBMaxTH[11]&"#"&$g_ahPicDBMaxTH[12]&"#"&$g_ahPicDBMaxTH[13]&"#"&$g_ahPicDBMaxTH[14]
188188

189189
;PicABMaxTH
190190
$g_aGroupListPicABMaxTH = $g_ahPicABMaxTH[6]&"#"&$g_ahPicABMaxTH[7]&"#"&$g_ahPicABMaxTH[8]&"#"& _
191-
$g_ahPicABMaxTH[9]&"#"&$g_ahPicABMaxTH[10]&"#"&$g_ahPicABMaxTH[11]&"#"&$g_ahPicABMaxTH[12]&"#"&$g_ahPicABMaxTH[13]
191+
$g_ahPicABMaxTH[9]&"#"&$g_ahPicABMaxTH[10]&"#"&$g_ahPicABMaxTH[11]&"#"&$g_ahPicABMaxTH[12]&"#"&$g_ahPicABMaxTH[13]&"#"&$g_ahPicABMaxTH[14]
192192

193193
;PicBullyMaxTH
194194
$g_aGroupListPicBullyMaxTH = $g_ahPicBullyMaxTH[6]&"#"&$g_ahPicBullyMaxTH[7]&"#"&$g_ahPicBullyMaxTH[8]&"#"& _
195-
$g_ahPicBullyMaxTH[9]&"#"&$g_ahPicBullyMaxTH[10]&"#"&$g_ahPicBullyMaxTH[11]&"#"&$g_ahPicBullyMaxTH[12]&"#"&$g_ahPicBullyMaxTH[13]
195+
$g_ahPicBullyMaxTH[9]&"#"&$g_ahPicBullyMaxTH[10]&"#"&$g_ahPicBullyMaxTH[11]&"#"&$g_ahPicBullyMaxTH[12]&"#"&$g_ahPicBullyMaxTH[13]&"#"&$g_ahPicBullyMaxTH[14]
196196

197197
;League
198198
$g_aGroupLeague = $g_ahPicLeague[$eLeagueUnranked]&"#"&$g_ahPicLeague[$eLeagueBronze]&"#"&$g_ahPicLeague[$eLeagueSilver]&"#"&$g_ahPicLeague[$eLeagueGold] &"#"& _

COCBot/MBR Global Variables.au3

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1459,34 +1459,34 @@ EndFunc ;==>TranslateTroopNames
14591459

14601460
; Upgrading - Wall
14611461
;First cost is for walls level 5. MBR doesn't support walls until level 4.
1462-
Global Const $g_aiWallCost[10] = [20000, 40000, 80000, 150000, 250000, 500000, 1000000, 3000000, 5000000, 6000000]
1462+
Global Const $g_aiWallCost[11] = [20000, 40000, 80000, 150000, 250000, 500000, 1000000, 3000000, 5000000, 6000000, 7000000]
14631463
Global $g_iWallCost = 0
14641464

14651465
; Upgrading - Heroes
14661466
; Barbarian King/Queen Upgrade Costs = Dark Elixir in xxxK
1467-
Global Const $g_iMaxKingLevel = 75
1468-
Global Const $g_iMaxQueenLevel = 75
1469-
Global Const $g_iMaxWardenLevel = 50
1470-
Global Const $g_iMaxChampionLevel = 25
1471-
Global Const $g_afKingUpgCost[$g_iMaxKingLevel] = [10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 53, 56, 59, 62, 65, 68, 72, 76, 80, 88, 96, 104, 112, 120, 128, 136, 144, 152, 160, 170, 173, 176, 179, 182, 185, 188, 191, 194, 197, 200, 203, 206, 209, 212, 215, 218, 221, 224, 227, 230, 233, 236, 239, 240, 250, 260, 270, 280, 290, 292, 294, 296, 298, 300]
1467+
Global Const $g_iMaxKingLevel = 80
1468+
Global Const $g_iMaxQueenLevel = 80
1469+
Global Const $g_iMaxWardenLevel = 55
1470+
Global Const $g_iMaxChampionLevel = 30
1471+
Global Const $g_afKingUpgCost[$g_iMaxKingLevel] = [10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 53, 56, 59, 62, 65, 68, 72, 76, 80, 88, 96, 104, 112, 120, 128, 136, 144, 152, 160, 170, 173, 176, 179, 182, 185, 188, 191, 194, 197, 200, 203, 206, 209, 212, 215, 218, 221, 224, 227, 230, 233, 236, 239, 240, 250, 260, 270, 280, 290, 292, 294, 296, 298, 300, 305, 310, 315, 320, 325]
14721472

1473-
Global Const $g_afQueenUpgCost[$g_iMaxQueenLevel] = [20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 53, 56, 59, 62, 65, 68, 71, 74, 77, 80, 83, 86, 89, 92, 98, 106, 114, 122, 130, 138, 146, 154, 162, 170, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200, 204, 208, 212, 216, 220, 224, 228, 232, 236, 240, 240, 240, 240, 240, 250, 260, 270, 280, 290, 292, 294, 296, 298, 300]
1473+
Global Const $g_afQueenUpgCost[$g_iMaxQueenLevel] = [20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 53, 56, 59, 62, 65, 68, 71, 74, 77, 80, 83, 86, 89, 92, 98, 106, 114, 122, 130, 138, 146, 154, 162, 170, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200, 204, 208, 212, 216, 220, 224, 228, 232, 236, 240, 240, 240, 240, 240, 250, 260, 270, 280, 290, 292, 294, 296, 298, 300, 306, 312, 318, 324, 330]
14741474

1475-
Global Const $g_afChampionUpgCost[$g_iMaxChampionLevel] = [120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 235, 240, 245, 250, 255, 260, 265, 270, 275, 280, 285, 290, 295]
1475+
Global Const $g_afChampionUpgCost[$g_iMaxChampionLevel] = [120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 235, 240, 245, 250, 255, 260, 265, 270, 275, 280, 285, 290, 295, 300, 305, 310, 315, 320]
14761476

14771477
; Grand Warden Upgrade Costs = Elixir in xx.xK
14781478
Global $g_iWardenLevel = -1
1479-
Global Const $g_afWardenUpgCost[$g_iMaxWardenLevel] = [6, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.4, 8.8, 9.1, 9.4, 9.6, 9.8, 10, 10, 10.2, 10.4, 10.6, 10.8, 11, 11.2, 11.4, 11.6, 11.8, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5]
1479+
Global Const $g_afWardenUpgCost[$g_iMaxWardenLevel] = [6, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.4, 8.8, 9.1, 9.4, 9.6, 9.8, 10, 10, 10.2, 10.4, 10.6, 10.8, 11, 11.2, 11.4, 11.6, 11.8, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12.5, 13, 13.5, 14, 14.5, 15, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19]
14801480

14811481
; Special Bot activities active
14821482
Global $g_bVillageSearchActive = False ;True during Village Search
14831483
Global $g_bCloudsActive = False ;True when waiting for clouds
14841484
Global $g_bAttackActive = False ;True when attacking Village
14851485

14861486
; Search
1487-
Global Const $g_iMaxTHLevel = 13
1488-
Global Const $g_asTHText[8] = ["4-6", "7", "8", "9", "10", "11", "12", "13"]
1489-
Global Const $g_aiSearchCost[$g_iMaxTHLevel] = [10, 50, 75, 110, 170, 250, 380, 580, 750, 900, 1000, 1100, 1200]
1487+
Global Const $g_iMaxTHLevel = 14
1488+
Global Const $g_asTHText[9] = ["4-6", "7", "8", "9", "10", "11", "12", "13", "14"]
1489+
Global Const $g_aiSearchCost[$g_iMaxTHLevel] = [10, 50, 75, 110, 170, 250, 380, 580, 750, 900, 1000, 1100, 1200, 1300]
14901490
Global $g_bSearchMode = False
14911491
Global $g_bIsSearchLimit = False
14921492
Global $g_bIsClientSyncError = False ;If true means while searching Client Out Of Sync error occurred.
@@ -1683,8 +1683,8 @@ Global $g_aWeakDefenseNames = ["None", "Eagle Artillery", "Inferno Tower", "XBow
16831683
; Building variables used by CSV attacks
16841684
Global Enum $eBldgRedLine, $eBldgTownHall, $eBldgGoldM, $eBldgElixirC, $eBldgDrill, $eBldgGoldS, $eBldgElixirS, $eBldgDarkS, $eBldgEagle, $eBldgInferno, $eBldgXBow, $eBldgWizTower, $eBldgMortar, $eBldgAirDefense, $eBldgScatter, $eExternalWall, $eInternalWall
16851685
Global $g_sBldgNames = ["Red Line", "Town Hall", "Gold Mine", "Elixir Collector", "Dark Elixir Drill", "Gold Storage", "Elixir Storage", "Dark Elixir Storage", "Eagle Artillery", "Inferno Tower", "XBow", "Wizard Tower", "Mortar", "Air Defense", "Scatter Shot", "External Wall", "Internal Wall"]
1686-
Global Const $g_iMaxCapTroopTH[14] = [0, 20, 30, 70, 80, 135, 150, 200, 200, 220, 240, 260, 280, 300] ; element 0 is a dummy
1687-
Global Const $g_iMaxCapSpellTH[14] = [0, 0, 0, 0, 0, 2, 4, 6, 7, 9, 11, 11, 11, 11] ; element 0 is a dummy
1686+
Global Const $g_iMaxCapTroopTH[15] = [0, 20, 30, 70, 80, 135, 150, 200, 200, 220, 240, 260, 280, 300, 300] ; element 0 is a dummy
1687+
Global Const $g_iMaxCapSpellTH[15] = [0, 0, 0, 0, 0, 2, 4, 6, 7, 9, 11, 11, 11, 11, 13] ; element 0 is a dummy
16881688
Global $g_oBldgAttackInfo = ObjCreate("Scripting.Dictionary") ; stores building information of base being attacked
16891689
$g_oBldgAttackInfo.CompareMode = 1 ; use case in-sensitve compare for key values
16901690

@@ -1716,29 +1716,29 @@ Global $g_oBldgLevels = ObjCreate("Scripting.Dictionary")
17161716
; to find max level for any defense = $g_oBldgLevels.item(Building enum)[TownHall level -1]
17171717

17181718
Func _FilloBldgLevels()
1719-
Local Const $aBldgCollector[13] = [2, 4, 6, 8, 10, 10, 11, 12, 12, 12, 12, 12, 12]
1719+
Local Const $aBldgCollector[$g_iMaxTHLevel] = [2, 4, 6, 8, 10, 10, 11, 12, 12, 12, 12, 12, 12, 12]
17201720
$g_oBldgLevels.add($eBldgGoldM, $aBldgCollector)
17211721
$g_oBldgLevels.add($eBldgElixirC, $aBldgCollector)
1722-
Local Const $aBldgDrill[13] = [0, 0, 0, 0, 0, 0, 3, 3, 6, 6, 6, 6, 6]
1722+
Local Const $aBldgDrill[$g_iMaxTHLevel] = [0, 0, 0, 0, 0, 0, 3, 3, 6, 6, 6, 6, 6, 6]
17231723
$g_oBldgLevels.add($eBldgDrill, $aBldgDrill)
1724-
Local Const $aBldgStorage[13] = [1, 3, 6, 8, 9, 10, 11, 11, 11, 11, 12, 13, 14]
1724+
Local Const $aBldgStorage[$g_iMaxTHLevel] = [1, 3, 6, 8, 9, 10, 11, 11, 11, 11, 12, 13, 14, 15]
17251725
$g_oBldgLevels.add($eBldgGoldS, $aBldgStorage)
17261726
$g_oBldgLevels.add($eBldgElixirS, $aBldgStorage)
1727-
Local Const $aBldgDarkStorage[13] = [0, 0, 0, 0, 0, 0, 2, 4, 6, 6, 6, 7, 8]
1727+
Local Const $aBldgDarkStorage[$g_iMaxTHLevel] = [0, 0, 0, 0, 0, 0, 2, 4, 6, 6, 6, 7, 8, 9]
17281728
$g_oBldgLevels.add($eBldgDarkS, $aBldgDarkStorage)
1729-
Local Const $aBldgEagle[13] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4]
1729+
Local Const $aBldgEagle[$g_iMaxTHLevel] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5]
17301730
$g_oBldgLevels.add($eBldgEagle, $aBldgEagle)
1731-
Local Const $aBldgInferno[13] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 6, 7]
1731+
Local Const $aBldgInferno[$g_iMaxTHLevel] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 6, 7, 8]
17321732
$g_oBldgLevels.add($eBldgInferno, $aBldgInferno)
1733-
Local Const $aBldgMortar[13] = [0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 11]
1733+
Local Const $aBldgMortar[$g_iMaxTHLevel] = [0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 11, 12]
17341734
$g_oBldgLevels.add($eBldgMortar, $aBldgMortar)
1735-
Local Const $aBldgWizTower[13] = [0, 0, 0, 0, 2, 3, 4, 6, 7, 9, 10, 11, 12]
1735+
Local Const $aBldgWizTower[$g_iMaxTHLevel] = [0, 0, 0, 0, 2, 3, 4, 6, 7, 9, 10, 11, 12, 13]
17361736
$g_oBldgLevels.add($eBldgWizTower, $aBldgWizTower)
1737-
Local Const $aBldgXBow[13] = [0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 5, 6, 7]
1737+
Local Const $aBldgXBow[$g_iMaxTHLevel] = [0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 5, 6, 7, 8]
17381738
$g_oBldgLevels.add($eBldgXBow, $aBldgXBow)
1739-
Local Const $aBldgAirDefense[13] = [0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
1739+
Local Const $aBldgAirDefense[$g_iMaxTHLevel] = [0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
17401740
$g_oBldgLevels.add($eBldgAirDefense, $aBldgAirDefense)
1741-
Local const $aBldgScatterShot[13] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2]
1741+
Local const $aBldgScatterShot[$g_iMaxTHLevel] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3]
17421742
$g_oBldgLevels.add($eBldgScatter, $aBldgScatterShot)
17431743
EndFunc ;==>_FilloBldgLevels
17441744
_FilloBldgLevels()
@@ -1748,37 +1748,37 @@ Global $g_oBldgMaxQty = ObjCreate("Scripting.Dictionary")
17481748
; to find max number of bldgs for any defense = $g_oBldgMaxQty.item(Building enum)[TownHall level -1]
17491749

17501750
Func _FilloBldgMaxQty()
1751-
Local Const $aBldgCollector[13] = [1, 2, 3, 4, 5, 6, 6, 6, 6, 7, 7, 7, 7]
1751+
Local Const $aBldgCollector[$g_iMaxTHLevel] = [1, 2, 3, 4, 5, 6, 6, 6, 6, 7, 7, 7, 7, 7]
17521752
$g_oBldgMaxQty.add($eBldgGoldM, $aBldgCollector)
17531753
$g_oBldgMaxQty.add($eBldgElixirC, $aBldgCollector)
1754-
Local Const $aBldgDrill[13] = [0, 0, 0, 0, 0, 0, 1, 2, 2, 3, 3, 3, 3]
1754+
Local Const $aBldgDrill[$g_iMaxTHLevel] = [0, 0, 0, 0, 0, 0, 1, 2, 2, 3, 3, 3, 3, 3]
17551755
$g_oBldgMaxQty.add($eBldgDrill, $aBldgDrill)
1756-
Local Const $aBldgStorage[13] = [1, 1, 2, 2, 2, 2, 2, 3, 4, 4, 4, 4, 4]
1756+
Local Const $aBldgStorage[$g_iMaxTHLevel] = [1, 1, 2, 2, 2, 2, 2, 3, 4, 4, 4, 4, 4, 4]
17571757
$g_oBldgMaxQty.add($eBldgGoldS, $aBldgStorage)
17581758
$g_oBldgMaxQty.add($eBldgElixirS, $aBldgStorage)
1759-
Local Const $aBldgDarkStorage[13] = [0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1]
1759+
Local Const $aBldgDarkStorage[$g_iMaxTHLevel] = [0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1]
17601760
$g_oBldgMaxQty.add($eBldgDarkS, $aBldgDarkStorage)
1761-
Local Const $aBldgEagle[13] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1]
1761+
Local Const $aBldgEagle[$g_iMaxTHLevel] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1]
17621762
$g_oBldgMaxQty.add($eBldgEagle, $aBldgEagle)
1763-
Local Const $aBldgInferno[13] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 3, 3]
1763+
Local Const $aBldgInferno[$g_iMaxTHLevel] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 3, 3, 3]
17641764
$g_oBldgMaxQty.add($eBldgInferno, $aBldgInferno)
1765-
Local Const $aBldgMortar[13] = [0, 0, 1, 1, 1, 2, 3, 4, 4, 4, 4, 4, 4]
1765+
Local Const $aBldgMortar[$g_iMaxTHLevel] = [0, 0, 1, 1, 1, 2, 3, 4, 4, 4, 4, 4, 4, 4]
17661766
$g_oBldgMaxQty.add($eBldgMortar, $aBldgMortar)
1767-
Local Const $aBldgWizTower[13] = [0, 0, 0, 0, 1, 2, 2, 3, 4, 4, 5, 5, 5]
1767+
Local Const $aBldgWizTower[$g_iMaxTHLevel] = [0, 0, 0, 0, 1, 2, 2, 3, 4, 4, 5, 5, 5, 5]
17681768
$g_oBldgMaxQty.add($eBldgWizTower, $aBldgWizTower)
1769-
Local Const $aBldgXBow[13] = [0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 4, 4]
1769+
Local Const $aBldgXBow[$g_iMaxTHLevel] = [0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 4, 4, 4]
17701770
$g_oBldgMaxQty.add($eBldgXBow, $aBldgXBow)
1771-
Local Const $aBldgAirDefense[13] = [0, 0, 0, 1, 1, 2, 3, 3, 4, 4, 4, 4, 4]
1771+
Local Const $aBldgAirDefense[$g_iMaxTHLevel] = [0, 0, 0, 1, 1, 2, 3, 3, 4, 4, 4, 4, 4, 4]
17721772
$g_oBldgMaxQty.add($eBldgAirDefense, $aBldgAirDefense)
1773-
Local const $aBldgScatterShot[13] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2]
1773+
Local const $aBldgScatterShot[$g_iMaxTHLevel] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2]
17741774
$g_oBldgMaxQty.add($eBldgScatter, $aBldgScatterShot)
17751775
EndFunc ;==>_FilloBldgMaxQty
17761776
_FilloBldgMaxQty()
17771777

17781778
Global $g_oBldgImages = ObjCreate("Scripting.Dictionary") ; stores strings with location of images used to find buildings during attacks
17791779
; Building image key string value = bldg type enum & "_" & $g_iDetectedImageType (no snow, with snow)
1780-
$g_oBldgImages.add($eBldgTownHall & "_" & "0", "imglocth-bundle")
1781-
$g_oBldgImages.add($eBldgTownHall & "_" & "1", "snow-imglocth-bundle")
1780+
$g_oBldgImages.add($eBldgTownHall & "_" & "0", @ScriptDir & "\imgxml\Buildings\Townhall")
1781+
$g_oBldgImages.add($eBldgTownHall & "_" & "1", @ScriptDir & "\imgxml\Buildings\snow-Townhall")
17821782
$g_oBldgImages.add($eBldgGoldM & "_" & "0", @ScriptDir & "\imgxml\Storages\Mines")
17831783
$g_oBldgImages.add($eBldgGoldM & "_" & "1", @ScriptDir & "\imgxml\Storages\Mines_Snow")
17841784
$g_oBldgImages.add($eBldgElixirC & "_" & "0", @ScriptDir & "\imgxml\Storages\Collectors")

COCBot/functions/Image Search/imglocTHSearch.au3

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ Global $IMGLOCTHFAR
2020
Global $IMGLOCTHRDISTANCE
2121

2222
Func imglocTHSearch($bReTest = False, $myVillage = False, $bForceCapture = True)
23-
Local $xdirectorya = "imglocth-bundle"
24-
Local $xdirectoryb = "imglocth2-bundle"
23+
Local $xdirectorya = @ScriptDir & "\imgxml\Buildings\Townhall"
24+
Local $xdirectoryb = @ScriptDir & "\imgxml\Buildings\Townhall2"
2525
Local $xdirectory
2626
Local $sCocDiamond = "ECD"
2727
Local $redLines = ""

COCBot/functions/Village/BotDetectFirstTime.au3

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ Func BotDetectFirstTime()
1919

2020
SetLog("Detecting your Buildings", $COLOR_INFO)
2121

22+
#cs
2223
If Not isInsideDiamond($g_aiTownHallPos) Then
2324
checkMainScreen()
2425
Collect(False)
@@ -39,6 +40,14 @@ Func BotDetectFirstTime()
3940
EndIf
4041
SetLog("Townhall: (" & $g_aiTownHallPos[0] & "," & $g_aiTownHallPos[1] & ")", $COLOR_DEBUG)
4142
EndIf
43+
#ce
44+
45+
If Not isInsideDiamond($g_aiTownHallPos) Then
46+
checkMainScreen()
47+
Collect(False)
48+
imglocTHSearch(True, True, True) ; search th on myvillage
49+
SetLog("Townhall: (" & $g_aiTownHallPos[0] & "," & $g_aiTownHallPos[1] & ")", $COLOR_DEBUG)
50+
EndIf
4251

4352
If Number($g_iTownHallLevel) < 2 Then
4453
Local $aTownHallLevel = GetTownHallLevel(True) ; Get the Users TH level

COCBot/functions/Village/GetVillageSize.au3

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -234,9 +234,9 @@ Func GetVillageSize($DebugLog = Default, $sStonePrefix = Default, $sTreePrefix =
234234
$aResult[7] = $tree[0]
235235
$aResult[8] = $tree[1]
236236
$aResult[9] = $tree[5]
237-
237+
238238
$g_aVillageSize = $aResult
239-
239+
240240
Return FuncReturn($aResult)
241241

242242
Else
@@ -266,9 +266,9 @@ Func GetVillageSize($DebugLog = Default, $sStonePrefix = Default, $sTreePrefix =
266266
$aResult[7] = $tree[0]
267267
$aResult[8] = $tree[1]
268268
$aResult[9] = $tree[5]
269-
269+
270270
$g_aVillageSize = $aResult
271-
271+
272272
Return FuncReturn($aResult)
273273

274274
EndIf
@@ -324,7 +324,9 @@ Func DetectScenery($stone = "None")
324324
Local $sScenery = ""
325325

326326
If StringInStr($stone, "DS", $STR_CASESENSE) Then
327-
$sScenery = "Default Scenery"
327+
$sScenery = "Classic Scenery"
328+
ElseIf StringInStr($stone, "JS", $STR_CASESENSE) Then
329+
$sScenery = "Jungle Scenery"
328330
ElseIf StringInStr($stone, "CC", $STR_CASESENSE) Then
329331
$sScenery = "Clashy Construction"
330332
ElseIf StringInStr($stone, "PC", $STR_CASESENSE) Then

0 commit comments

Comments
 (0)