diff --git a/BrokenBot.au3 b/BrokenBot.au3 index 685ba39..214b960 100644 --- a/BrokenBot.au3 +++ b/BrokenBot.au3 @@ -3,12 +3,12 @@ #pragma compile(Icon, "BrokenBot.org\images\icons\brokenbot.ico") #pragma compile(FileDescription, BrokenBot.org - Clash of Clans Bot) #pragma compile(ProductName, BrokenBot.org - Clash of Clans Bot) -#pragma compile(ProductVersion, 2.6.0) -#pragma compile(FileVersion, 2.6.0) +#pragma compile(ProductVersion, 2.7.0) +#pragma compile(FileVersion, 2.7.0) #include -$sBotVersion = "2.6.0" +$sBotVersion = "2.7.0" $sBotTitle = "BrokenBot.org - Break FREE - v" & $sBotVersion If FileExists (@ScriptDir & "\.developer") Then @@ -85,6 +85,9 @@ If Not IsArray($ret) Then EndIf EndIf +;Only enable button start after all Initiation done. +GUICtrlSetData($btnStart,GetLangText("btnStart") ) +GUICtrlSetState($btnStart, $GUI_ENABLE) While 1 If $StartImmediately Then $StartImmediately = False diff --git a/BrokenBot.exe b/BrokenBot.exe index 20ac5ed..120bb3b 100644 Binary files a/BrokenBot.exe and b/BrokenBot.exe differ diff --git a/BrokenBot.org/BrokenBot32.dll b/BrokenBot.org/BrokenBot32.dll index b17979a..0c615eb 100644 Binary files a/BrokenBot.org/BrokenBot32.dll and b/BrokenBot.org/BrokenBot32.dll differ diff --git a/BrokenBot.org/functions/ImageSearch/checkDarkElix.au3 b/BrokenBot.org/functions/ImageSearch/checkDarkElix.au3 new file mode 100644 index 0000000..d949151 --- /dev/null +++ b/BrokenBot.org/functions/ImageSearch/checkDarkElix.au3 @@ -0,0 +1,36 @@ +Func checkDarkElix() + _CaptureRegion() + $sendHBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap) + $res = DllCall(@ScriptDir & "\BrokenBot.org\BrokenBot32.dll", "str", "BrokenBotMatchBuilding", "ptr", $sendHBitmap, "int", 13, "int", 3, "int", 1, "int", 1) + _WinAPI_DeleteObject($sendHBitmap) + If IsArray($res) Then + If $res[0] = -1 Then + ; failed to find DE + SetLog(GetLangText("msgNoDEStorage"), $COLOR_RED) + If $DebugMode = 1 Then _GDIPlus_ImageSaveToFile($hBitmap, $dirDebug & "NegDE-" & @HOUR & @MIN & @SEC & ".png") + $DEx = 0 + $DEy = 0 + Return False ; return 0 + Else + $res = StringSplit($res[0], "|", 2) + $DEx = $res[1] + $DEy = $res[2] + If $DebugMode = 1 Then + $hClone = _GDIPlus_BitmapCloneArea($hBitmap, $DEx - 30, $DEy - 30, 60, 60, _GDIPlus_ImageGetPixelFormat($hBitmap)) + $j = 1 + Do + If Not FileExists($dirDebug & "PosDE-x" & $DEx & "y" & $DEy & " (" & $j & ").jpg") Then ExitLoop + $j = $j + 1 + Until $j = 1000 + _GDIPlus_ImageSaveToFile($hClone, $dirDebug & "PosDE-x" & $DEx & "y" & $DEy & " (" & $j & ").jpg") + _GDIPlus_ImageDispose($hClone) + EndIf + Return True + EndIf + Else + SetLog(GetLangText("msgDLLFailure"), $COLOR_RED) + $DEx = 0 + $DEy = 0 + Return False ; return 0 + EndIf +EndFunc ;==>checkDarkElix diff --git a/BrokenBot.org/functions/Other/checkupdate.au3 b/BrokenBot.org/functions/Other/checkupdate.au3 index 208127f..86b8426 100644 --- a/BrokenBot.org/functions/Other/checkupdate.au3 +++ b/BrokenBot.org/functions/Other/checkupdate.au3 @@ -63,7 +63,7 @@ Func checkupdate() If IsChecked($chkUpdate) Then Local $sFilePath = @TempDir & "\update.dat" - Local $hMasterVersion = InetGet("https://github.com/codebroken/BrokenBot/blob/master/BrokenBot.au3", $sFilePath, 3) + Local $hMasterVersion = InetGet("http://www.brokenbot.org/page.php?p=vcheck", $sFilePath, 3) If $hMasterVersion = 0 Then SetLog(GetLangText("msgFailedVersion")) diff --git a/BrokenBot.org/functions/Strategies/SharedFunction.au3 b/BrokenBot.org/functions/Strategies/SharedFunction.au3 index 666375a..d8f670b 100644 --- a/BrokenBot.org/functions/Strategies/SharedFunction.au3 +++ b/BrokenBot.org/functions/Strategies/SharedFunction.au3 @@ -53,4 +53,72 @@ Func ChkDisconnection($disconnected = False) EndIf EndIf Return $disconnected +EndFunc + + +Func ChkKingAvailability() + + $KingAvailable = False + $KingUG = False + ClickP($TopLeftClient) ;Click Away + If $KingPos[0] = "" Then + Return False + Else + if _sleep(500) Then Return + Click($KingPos[0], $KingPos[1]) ;Click King Altar + EndIf + + If _Sleep(500) Then Return + _CaptureRegion() + + Local $KingInfoPos = _WaitForPixel(260, 581, 350, 583, Hex(0x4084B8, 6), 5, 2) ;Finds Info button, wait max 2 seconds + If IsArray($KingInfoPos) = False Then + SetLog(GetLangText("msgKAUnavailable"), $COLOR_RED) + Else ;check if king is available for battle + $KingInfoPos = _PixelSearch(510, 589, 585, 591, Hex(0xD13D08, 6), 5) ;Finds Healing button + If IsArray($KingInfoPos) = False Then + $KingInfoPos = _PixelSearch(510, 589, 585, 591, Hex(0xD0EC75, 6), 5) ;Finds Finish now button, when under upgrading + If IsArray($KingInfoPos) Then + $KingUG = True + Else + $KingAvailable = True + EndIf + EndIf + EndIf + Setlog (GetLangText("msgKingAvail") & $KingAvailable) + Return $KingAvailable +EndFunc + +Func ChkQueenAvailability() + + $QueenAvailable = False + $QueenUG = False + + ClickP($TopLeftClient) ;Click Away + If $QueenPos[0] = "" Then + Return False + Else + if _sleep(500) Then Return + Click($QueenPos[0], $QueenPos[1]) ;Click Queen Altar + EndIf + + If _Sleep(500) Then Return + _CaptureRegion() + + Local $QueenInfoPos = _WaitForPixel(260, 581, 350, 583, Hex(0x4084B8, 6), 5, 2) ;Finds Info button, wait max 2 seconds + If IsArray($QueenInfoPos) = False Then + SetLog(GetLangText("msgQAUnavailable"), $COLOR_RED) + Else ;check if king is available for battle + $QueenInfoPos = _PixelSearch(510, 589, 585, 591, Hex(0xD13D08, 6), 5) ;Finds Healing button + If IsArray($QueenInfoPos) = False Then + $QueenInfoPos = _PixelSearch(510, 589, 585, 591, Hex(0xD0EC75, 6), 5) ;Finds Finish now button, when under upgrading + If IsArray($QueenInfoPos) Then + $QueenUG = True + Else + $QueenAvailable = True + EndIf + EndIf + EndIf + Setlog (GetLangText("msgQueenAvail") & $QueenAvailable) + Return $QueenAvailable EndFunc \ No newline at end of file diff --git a/BrokenBot.org/functions/functions.au3 b/BrokenBot.org/functions/functions.au3 index f21b731..78eebcd 100644 --- a/BrokenBot.org/functions/functions.au3 +++ b/BrokenBot.org/functions/functions.au3 @@ -7,6 +7,8 @@ #include "GUI\frmBugReport.au3" #include "GUI\WindowFixing.au3" +#include "ImageSearch\checkDarkElix.au3" + #include "Other\checkupdate.au3" #include "Other\GeneralFunctions.au3" #include "Other\StatusCheck.au3" diff --git a/BrokenBot.org/languages/English.ini b/BrokenBot.org/languages/English.ini index 49fed54..355c249 100644 --- a/BrokenBot.org/languages/English.ini +++ b/BrokenBot.org/languages/English.ini @@ -37,6 +37,7 @@ spellNameRage = "Rage" spellNameJump = "Jump" spellNameFreeze = "Freeze" btnStart = "Start Bot" +btnStartInit = "Initiating..." btnStop = "Stop Bot" btnHide = "Hide BS" btnAtkNow = "Attack Now" @@ -83,6 +84,9 @@ chkDonateBarbariansTip = "Check keywords before donating Troop 1" chkRequest = "Request for :" txtRequestDefault = "any" txtRequestTip = "Request for input." +chkBlacklist = "Blacklist" +chkBlacklistTip = "Check to prevent donating if the request contains a word in the box to the right" +chkBlacklistTip2 = "Will not work if you are using donate to all." gtfo = "GTFO" gtfoTip = "Kick after donating" pageUpgradeBuilding = "Upgrade" @@ -147,9 +151,9 @@ lblSpellCap = "Spell factory capacity:" lblCapacity = "Camp Capacity :" chkTrap = "Auto Rearm Traps" chkTrapTip = "Auto rearm for Traps, Crossbows & Inferno Towers" -lblSearchsp = "Seach Base Speed:" +lblSearchsp = "Search Base Speed:" lblSearchspTip = "Set search base speed to higher number if having frequent server sync issue" -lblSearchspd = "Tips: 0 = Fast, 10 = 15 seconds wait" +lblSearchspd = "Tips: 0 = Fast, 10 = Slow" lblReturnh = "Return Home Delay:" lblReturnhTip = "Set delay timing for return home during raid" lblReturndelay = "seconds after no income detected" @@ -247,6 +251,8 @@ tiExit = "Exit" pageSearch = "Search Settings" DeadConditions = "Dead Base Conditions" lblDeadConditions = "Search for full collectors bases and ALL selected conditions" +chkKingAvail = "Wait for King" +chkQueenAvail = "Wait for Queen" chkDeadSnipe = "Snipe" chkDeadSnipeTip = "If checked, will attack exterior townhall of dead base regardless of other settings" AnyConditions = "Live Base Conditions" @@ -463,6 +469,10 @@ msgDarkTroopComplete = "Dark Troop Training Complete..." msgSFUnavailable = "Your Spell Factory is not available" msgMakingSpell = "Making spell: " msgUnableCreate = "Unable to click create spells" +msgKAUnavailable = "King Altar is not available" +msgQAUnavailable = "Queen Altar is not available" +msgKingAvail = "King available:" +msgQueenAvail = "Queen available:" msgSearchCond = "Search Condition:" msgWillSaveAll = "Will save all of the towns when searching" msgOutDeadFound = "~~~~~~~Outside Townhall in Dead Base Found!~~~~~~~" @@ -500,6 +510,7 @@ msgSpellFull = "Spell Factory is full" msgCollecting = "Collecting Resources" msgDonatingTroops = "Donating Troops" msgChatText = "Chat Text: " +msgBlacklisted = "Blacklisted!" msgUnableToRead = "Unable to read troop" msgDonateRules = "donate rules." msgUnableToDetermine = "Unable to determine how to donate " @@ -532,6 +543,9 @@ msgLocSpellFact = "-Spell Factory" msgLocLab = "-Locate Laboratory" msgBeginAttack = "======Beginning Attack======" msgWaitingFull = "~~~Waiting for full army~~~" +msgHeroNotReady = "~~~Heroes are not Ready~~~" +msgWarningKingUG = "!!!WARNING!!! King upgrading is in progress!" +msgWarningQueenUG = "!!!WARNING!!! Queen upgrading is in progress!" msgTimeIdle = "Time Idle: " msgTimeIdleHours = " hours " msgTimeIdleMin = " minutes " @@ -598,11 +612,13 @@ msgTrophyInitial = "T" msgGemInitial = "GEM" msgTHInitial = "TH" msgDeadInitial = "Dead" +msgDeadBase = "Deadbase" msgDownloading = "Downloading update..." msgUnzipping = "Successful! Unzipping..." msgInstallandRestart = "Successful! Installing and restarting..." msgAppearsStuck = "We appear to be stuck. Resetting troop counts." msgSevereStuck = "Continually stuck. Just acting as if we have a full army camp." +msgDLLError = "DLL error: Something bad happened!" boxAlreadyRunning = "Bot is already running." boxCompile1 = "Don't Run/Compile Script (x64)! try to Run/Compile Script (x86) to getting this bot work." boxCompile2 = "If this message still appear, try to re-install your AutoIt with newer version." diff --git a/COCBot/Functions.au3 b/COCBot/Functions.au3 index 73a6d0f..981cdb5 100644 --- a/COCBot/Functions.au3 +++ b/COCBot/Functions.au3 @@ -11,7 +11,6 @@ #include "functions\Image Search\checkButtonUpgrade.au3" #include "functions\Image Search\checkDeadBase.au3" #include "functions\Image Search\checkTownhall.au3" -#include "functions\Image Search\checkDarkElix.au3" #include "functions\Image Search\checkWall.au3" #include "functions\Main Screen\checkMainScreen.au3" diff --git a/COCBot/GUI Control.au3 b/COCBot/GUI Control.au3 index 79d8eb1..0ed22a7 100644 --- a/COCBot/GUI Control.au3 +++ b/COCBot/GUI Control.au3 @@ -85,12 +85,12 @@ Func GUIControl($hWind, $iMsg, $wParam, $lParam) chkUpgrade2() Case $chkUpgrade3 chkUpgrade3() - Case $chkUpgrade4 - chkUpgrade4() - Case $chkUpgrade5 - chkUpgrade5() - Case $chkUpgrade6 - chkUpgrade6() +;~ Case $chkUpgrade4 +;~ chkUpgrade4() +;~ Case $chkUpgrade5 +;~ chkUpgrade5() +;~ Case $chkUpgrade6 +;~ chkUpgrade6() Case $UseJPG UseJPG() Case $UseAttackJPG @@ -98,7 +98,7 @@ Func GUIControl($hWind, $iMsg, $wParam, $lParam) Case $lblpushbulletenabled lblpushbulletenabled() Case $btnGitHub - ShellExecute("http://http://forum.brokenbot.org/forum-8.html") + ShellExecute("http://www.brokenbot.org/page.php?p=support") Case $btnCloseBR GUISetState(@SW_ENABLE, $frmBot) GUISetState(@SW_HIDE, $frmBugReport) @@ -663,7 +663,7 @@ Func btnBugRep() EndFunc ;==>btnBugRep Func openWebsite() - ShellExecute("http://www.brokenbot.org") + ShellExecute("http://www.brokenbot.org/page.php?p=main") EndFunc ;==>openWebsite Func _btnRefresh() diff --git a/COCBot/GUI Design.au3 b/COCBot/GUI Design.au3 index 955adc6..ba2f658 100644 --- a/COCBot/GUI Design.au3 +++ b/COCBot/GUI Design.au3 @@ -9,9 +9,10 @@ TraySetIcon(@ScriptDir & "BrokenBot.org\images\icons\brokenbot.ico") $imgLogo = GUICtrlCreatePic("BrokenBot.org\images\misc\brokenbot_logo.jpg", 8, 405, 401, 112) GUICtrlSetCursor($imgLogo, 0) ; End BrokenBot.org -$btnStart = GUICtrlCreateButton(GetLangText("btnStart"), 20, 365, 75, 25) +$btnStart = GUICtrlCreateButton(GetLangText("btnStartInit"), 20, 365, 75, 25) GUICtrlSetOnEvent(-1, "btnStart") GUICtrlSetBkColor($btnStart, 0xFF7E00) +GUICtrlSetState($btnStart, $GUI_DISABLE) $btnStop = GUICtrlCreateButton(GetLangText("btnStop"), 20, 365, 75, 25) GUICtrlSetOnEvent(-1, "btnStop") GUICtrlSetState(-1, $GUI_HIDE) @@ -91,48 +92,52 @@ GUICtrlCreateGroup("", -99, -99, 1, 1) $pageDonateSettings = GUICtrlCreateTabItem(GetLangText("pageDonateSettings")) $cmbDonateList = GetLangText("troopNamePlBarbarian") & "|" & GetLangText("troopNamePlArcher") & "|" & GetLangText("troopNamePlGiant") & "|" & GetLangText("troopNamePlGoblin") & "|" & GetLangText("troopNamePlWallBreaker") & "|" & GetLangText("troopNamePlBalloon") & "|" & GetLangText("troopNamePlWizard") & "|" & GetLangText("troopNamePlHealer") & "|" & GetLangText("troopNamePlDragon") & "|" & GetLangText("troopNamePlPEKKA") & "|" & GetLangText("troopDarkPlMinion") & "|" & GetLangText("troopDarkPlHog") & "|" & GetLangText("troopDarkPlValkyrie") & "|" & GetLangText("troopDarkPlGolem") & "|" & GetLangText("troopDarkPlWitch") & "|" & GetLangText("troopDarkPlLavaHound") $Donation = GUICtrlCreateGroup("", 15, 36, 385, 325) -$Barbarians = GUICtrlCreateGroup(GetLangText("Barbarians"), 20, 70, 120, 235) +$Barbarians = GUICtrlCreateGroup(GetLangText("Barbarians"), 20, 70, 120, 185) $chkDonateAllBarbarians = GUICtrlCreateCheckbox(GetLangText("chkDonateAll"), 30, 95, 97, 17) GUICtrlSetTip(-1, GetLangText("chkDonateAllTip")) $cmbDonateBarbarians = GUICtrlCreateCombo("", 25, 120, 85, 20, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) GUICtrlSetData(-1, $cmbDonateList, GetLangText("troopNamePlBarbarian")) $NoOfBarbarians = GUICtrlCreateInput("5", 115, 120, 20, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) GUICtrlSetLimit(-1, 1) -$txtDonateBarbarians = GUICtrlCreateEdit("", 25, 145, 110, 154, BitOR($ES_WANTRETURN, $WS_VSCROLL, $WS_HSCROLL)) +$txtDonateBarbarians = GUICtrlCreateEdit("", 25, 145, 110, 104, BitOR($ES_WANTRETURN, $WS_VSCROLL, $WS_HSCROLL)) GUICtrlSetData(-1, StringFormat(GetLangText("txtDonate"))) GUICtrlSetTip(-1, GetLangText("txtDonateBarbariansTip")) GUICtrlCreateGroup("", -99, -99, 1, 1) -$Archers = GUICtrlCreateGroup(GetLangText("Archers"), 148, 70, 120, 235) +$Archers = GUICtrlCreateGroup(GetLangText("Archers"), 148, 70, 120, 185) $chkDonateAllArchers = GUICtrlCreateCheckbox(GetLangText("chkDonateAll"), 155, 95, 97, 17) GUICtrlSetTip(-1, GetLangText("chkDonateAllTip")) $cmbDonateArchers = GUICtrlCreateCombo("", 153, 120, 85, 20, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) GUICtrlSetData(-1, $cmbDonateList, GetLangText("troopNamePlArcher")) $NoOfArchers = GUICtrlCreateInput("5", 243, 120, 20, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) GUICtrlSetLimit(-1, 1) -$txtDonateArchers = GUICtrlCreateEdit("", 153, 145, 110, 154, BitOR($ES_WANTRETURN, $WS_VSCROLL, $WS_HSCROLL)) +$txtDonateArchers = GUICtrlCreateEdit("", 153, 145, 110, 104, BitOR($ES_WANTRETURN, $WS_VSCROLL, $WS_HSCROLL)) GUICtrlSetData(-1, StringFormat(GetLangText("txtDonate"))) GUICtrlSetTip(-1, GetLangText("txtDonateArchersTip")) GUICtrlCreateGroup("", -99, -99, 1, 1) -$Giants = GUICtrlCreateGroup(GetLangText("Giants"), 275, 70, 120, 235) +$Giants = GUICtrlCreateGroup(GetLangText("Giants"), 275, 70, 120, 185) $chkDonateAllGiants = GUICtrlCreateCheckbox(GetLangText("chkDonateAll"), 285, 95, 97, 17) GUICtrlSetTip(-1, GetLangText("chkDonateAllTip")) $cmbDonateGiants = GUICtrlCreateCombo("", 280, 120, 85, 20, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) GUICtrlSetData(-1, $cmbDonateList, GetLangText("troopNamePlGiant")) $NoOfGiants = GUICtrlCreateInput("5", 370, 120, 20, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) GUICtrlSetLimit(-1, 1) -$txtDonateGiants = GUICtrlCreateEdit("", 280, 145, 110, 154, BitOR($ES_WANTRETURN, $WS_VSCROLL, $WS_HSCROLL)) +$txtDonateGiants = GUICtrlCreateEdit("", 280, 145, 110, 104, BitOR($ES_WANTRETURN, $WS_VSCROLL, $WS_HSCROLL)) GUICtrlSetData(-1, StringFormat(GetLangText("txtDonate"))) GUICtrlSetTip(-1, GetLangText("txtDonateGiantsTip")) GUICtrlCreateGroup("", -99, -99, 1, 1) -$chkDonateGiants = GUICtrlCreateCheckbox(GetLangText("chkDonateGiants"), 275, 305, 97, 17) +$chkDonateGiants = GUICtrlCreateCheckbox(GetLangText("chkDonateGiants"), 275, 255, 97, 17) GUICtrlSetTip(-1, GetLangText("chkDonateGiantsTip")) GUICtrlSetState(-1, $GUI_CHECKED) -$chkDonateArchers = GUICtrlCreateCheckbox(GetLangText("chkDonateArchers"), 149, 305, 97, 17) +$chkDonateArchers = GUICtrlCreateCheckbox(GetLangText("chkDonateArchers"), 149, 255, 97, 17) GUICtrlSetTip(-1, GetLangText("chkDonateArchersTip")) GUICtrlSetState(-1, $GUI_CHECKED) -$chkDonateBarbarians = GUICtrlCreateCheckbox(GetLangText("chkDonateBarbarians"), 20, 305, 112, 17) +$chkDonateBarbarians = GUICtrlCreateCheckbox(GetLangText("chkDonateBarbarians"), 20, 255, 112, 17) GUICtrlSetTip(-1, GetLangText("chkDonateBarbariansTip")) GUICtrlSetState(-1, $GUI_CHECKED) +$chkBlacklist = GUICtrlCreateCheckbox(GetLangText("chkBlacklist"), 20, 285, 70, 17) +GUICtrlSetTip(-1, GetLangText("chkBlacklistTip") & @CRLF & GetLangText("chkBlacklistTip2")) +GUICtrlSetState(-1, $GUI_UNCHECKED) +$txtBlacklist = GUICtrlCreateEdit("", 93, 285, 300, 65, BitOR($ES_WANTRETURN, $WS_VSCROLL, $WS_HSCROLL)) $chkRequest = GUICtrlCreateCheckbox(GetLangText("chkRequest"), 30, 45, 82, 17) GUICtrlSetState(-1, $GUI_CHECKED) GUICtrlSetOnEvent(-1, "chkRequest") @@ -173,32 +178,32 @@ GUICtrlSetOnEvent(-1, "btnLocateUp3") GUICtrlSetState(-1, $GUI_DISABLE) GUICtrlCreateGroup("", -99, -99, 1, 1) -$Upgrade2 = GUICtrlCreateGroup(GetLangText("Upgrade2"), 20, 165, 375, 125) -$chkUpgrade4 = GUICtrlCreateCheckbox(GetLangText("chkUpgrade4"), 30, 192, 80, 17) -$lblUP4PosX = GUICtrlCreateLabel(GetLangText("lblUPPosX"), 112, 194, 40, 17) -$txtUpgradeX4 = GUICtrlCreateInput("", 152, 189, 31, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER, $ES_READONLY)) -$lblUP4PosY = GUICtrlCreateLabel(GetLangText("lblUPPosY"), 195, 194, 40, 17) -$txtUpgradeY4 = GUICtrlCreateInput("", 235, 189, 31, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER, $ES_READONLY)) -$btnLocateUp4 = GUICtrlCreateButton(GetLangText("btnLocateUp4"), 285, 189, 100, 21) -GUICtrlSetOnEvent(-1, "btnLocateUp4") -GUICtrlSetState(-1, $GUI_DISABLE) -$chkUpgrade5 = GUICtrlCreateCheckbox(GetLangText("chkUpgrade5"), 30, 222, 80, 17) -$lblUP5PosX = GUICtrlCreateLabel(GetLangText("lblUPPosX"), 112, 224, 40, 17) -$txtUpgradeX5 = GUICtrlCreateInput("", 152, 219, 31, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER, $ES_READONLY)) -$lblUP5PosY = GUICtrlCreateLabel(GetLangText("lblUPPosY"), 195, 224, 40, 17) -$txtUpgradeY5 = GUICtrlCreateInput("", 235, 219, 31, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER, $ES_READONLY)) -$btnLocateUp5 = GUICtrlCreateButton(GetLangText("btnLocateUp5"), 285, 219, 100, 21) -GUICtrlSetOnEvent(-1, "btnLocateUp5") -GUICtrlSetState(-1, $GUI_DISABLE) -$chkUpgrade6 = GUICtrlCreateCheckbox(GetLangText("chkUpgrade6"), 30, 252, 80, 17) -$lblUP6PosX = GUICtrlCreateLabel(GetLangText("lblUPPosX"), 112, 254, 40, 17) -$txtUpgradeX6 = GUICtrlCreateInput("", 152, 249, 31, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER, $ES_READONLY)) -$lblUP6PosY = GUICtrlCreateLabel(GetLangText("lblUPPosY"), 195, 254, 40, 17) -$txtUpgradeY6 = GUICtrlCreateInput("", 235, 249, 31, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER, $ES_READONLY)) -$btnLocateUp6 = GUICtrlCreateButton(GetLangText("btnLocateUp6"), 285, 249, 100, 21) -GUICtrlSetOnEvent(-1, "btnLocateUp6") -GUICtrlSetState(-1, $GUI_DISABLE) -GUICtrlCreateGroup("", -99, -99, 1, 1) +;~ $Upgrade2 = GUICtrlCreateGroup(GetLangText("Upgrade2"), 20, 165, 375, 125) +;~ $chkUpgrade4 = GUICtrlCreateCheckbox(GetLangText("chkUpgrade4"), 30, 192, 80, 17) +;~ $lblUP4PosX = GUICtrlCreateLabel(GetLangText("lblUPPosX"), 112, 194, 40, 17) +;~ $txtUpgradeX4 = GUICtrlCreateInput("", 152, 189, 31, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER, $ES_READONLY)) +;~ $lblUP4PosY = GUICtrlCreateLabel(GetLangText("lblUPPosY"), 195, 194, 40, 17) +;~ $txtUpgradeY4 = GUICtrlCreateInput("", 235, 189, 31, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER, $ES_READONLY)) +;~ $btnLocateUp4 = GUICtrlCreateButton(GetLangText("btnLocateUp4"), 285, 189, 100, 21) +;~ GUICtrlSetOnEvent(-1, "btnLocateUp4") +;~ GUICtrlSetState(-1, $GUI_DISABLE) +;~ $chkUpgrade5 = GUICtrlCreateCheckbox(GetLangText("chkUpgrade5"), 30, 222, 80, 17) +;~ $lblUP5PosX = GUICtrlCreateLabel(GetLangText("lblUPPosX"), 112, 224, 40, 17) +;~ $txtUpgradeX5 = GUICtrlCreateInput("", 152, 219, 31, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER, $ES_READONLY)) +;~ $lblUP5PosY = GUICtrlCreateLabel(GetLangText("lblUPPosY"), 195, 224, 40, 17) +;~ $txtUpgradeY5 = GUICtrlCreateInput("", 235, 219, 31, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER, $ES_READONLY)) +;~ $btnLocateUp5 = GUICtrlCreateButton(GetLangText("btnLocateUp5"), 285, 219, 100, 21) +;~ GUICtrlSetOnEvent(-1, "btnLocateUp5") +;~ GUICtrlSetState(-1, $GUI_DISABLE) +;~ $chkUpgrade6 = GUICtrlCreateCheckbox(GetLangText("chkUpgrade6"), 30, 252, 80, 17) +;~ $lblUP6PosX = GUICtrlCreateLabel(GetLangText("lblUPPosX"), 112, 254, 40, 17) +;~ $txtUpgradeX6 = GUICtrlCreateInput("", 152, 249, 31, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER, $ES_READONLY)) +;~ $lblUP6PosY = GUICtrlCreateLabel(GetLangText("lblUPPosY"), 195, 254, 40, 17) +;~ $txtUpgradeY6 = GUICtrlCreateInput("", 235, 249, 31, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER, $ES_READONLY)) +;~ $btnLocateUp6 = GUICtrlCreateButton(GetLangText("btnLocateUp6"), 285, 249, 100, 21) +;~ GUICtrlSetOnEvent(-1, "btnLocateUp6") +;~ GUICtrlSetState(-1, $GUI_DISABLE) +;~ GUICtrlCreateGroup("", -99, -99, 1, 1) $grpLaboratory = GUICtrlCreateGroup(GetLangText("grpLaboratory"), 20, 295, 375, 55) $chkLab = GUICtrlCreateCheckbox(GetLangText("chkLab"), 30, 320, 100, 17) diff --git a/COCBot/Global Variables.au3 b/COCBot/Global Variables.au3 index cc595e2..775b177 100644 --- a/COCBot/Global Variables.au3 +++ b/COCBot/Global Variables.au3 @@ -188,8 +188,8 @@ Global $barrackPos[4][2] ;Positions of each barracks Global $barrackTroop[10] ;Barrack troop set Global $ArmyPos[2] Global $SpellPos[2] -Global $KingPos[2] -Global $QueenPos[2] +Global $KingPos[2] = ["",""] +Global $QueenPos[2] = ["",""] Global $BuildPos1[2] Global $BuildPos2[2] Global $BuildPos3[2] @@ -261,7 +261,6 @@ Global $device = @ScriptDir & "\images\device.bmp" Global $GoldCount = 0, $ElixirCount = 0, $DarkCount = 0, $GemCount = 0, $FreeBuilder = 0 Global $GoldGained = 0, $ElixirGained = 0, $DarkGained = 0, $TrophyGained = 0 -;Global $GoldGainedOld = 0, $ElixirGainedOld = 0, $DarkGainedOld = 0, $TrophyGainedOld = 0 Global $GoldCountOld = 0, $ElixirCountOld = 0, $DarkCountOld = 0, $TrophyOld = 0 Global $WallUpgrade = 0 Global $resArmy = 0 @@ -275,6 +274,7 @@ Global $MidAttack = False Global $Checkrearm = True Global $FirstDarkTrain = True + ;PushBullet Global $PushBulletEnabled = 0 Global $PushBullettoken = "" @@ -299,6 +299,12 @@ Global $buildernotified = False ;GoldCostPerSearch Global $SearchCost = 0 +;King & Queen Status +Global $KingAvailable = False +Global $QueenAvailable = False +Global $KingUG = False +Global $QueenUG = False + ;Remote Control Global $sTimerRC Global $PauseBot = False @@ -340,4 +346,17 @@ Global $SpellRageX = 650 Global $SpellRageY = 372 Global $LabPos[2] -Global $FontSize \ No newline at end of file +Global $FontSize + +;Used in Strategies +Global $MinDeadGold +Global $MinDeadElixir +Global $MinDeadDark +Global $MinDeadTrophy +Global $MaxDeadTH +Global $MinGold +Global $MinElixir +Global $MinDark +Global $MinTrophy +Global $MaxTH +Global $iNukeLimit diff --git a/COCBot/functions/Config/readConfig.au3 b/COCBot/functions/Config/readConfig.au3 index 6afd944..b77ff19 100644 --- a/COCBot/functions/Config/readConfig.au3 +++ b/COCBot/functions/Config/readConfig.au3 @@ -32,6 +32,12 @@ Func readConfig() ;Reads config and sets it to the variables $ichkDonateGiants = IniRead($config, "donate", "chkDonateGiants", "0") $ichkDonateAllGiants = IniRead($config, "donate", "chkDonateAllGiants", "0") $itxtDonateGiants = StringReplace(IniRead($config, "donate", "txtDonateGiants", "giants|giant|any"), "|", @CRLF) + If IniRead($config, "donate", "chkBlacklist", "0") = 1 Then + GUICtrlSetState($chkBlacklist, $GUI_CHECKED) + Else + GUICtrlSetState($chkBlacklist, $GUI_UNCHECKED) + EndIf + GUICtrlSetData($txtBlacklist, StringReplace(IniRead($config, "donate", "txtBlacklist", ""), "|", @CRLF)) ;--------------------------------------------------------------------------------------- ; Upgrade settings --------------------------------------------------------------------- diff --git a/COCBot/functions/Config/saveConfig.au3 b/COCBot/functions/Config/saveConfig.au3 index 6af1ebe..f1e4d24 100644 --- a/COCBot/functions/Config/saveConfig.au3 +++ b/COCBot/functions/Config/saveConfig.au3 @@ -73,6 +73,12 @@ Func saveConfig() ;Saves the controls settings to the config IniWrite($config, "donate", "txtDonateBarbarians", StringReplace(GUICtrlRead($txtDonateBarbarians), @CRLF, "|")) IniWrite($config, "donate", "txtDonateArchers", StringReplace(GUICtrlRead($txtDonateArchers), @CRLF, "|")) IniWrite($config, "donate", "txtDonateGiants", StringReplace(GUICtrlRead($txtDonateGiants), @CRLF, "|")) + If IsChecked($chkBlacklist) Then + IniWrite($config, "donate", "chkBlacklist", 1) + Else + IniWrite($config, "donate", "chkBlacklist", 0) + EndIf + IniWrite($config, "donate", "txtBlacklist", StringReplace(GUICtrlRead($txtBlacklist), @CRLF, "|")) ; Relics below...in save but not read If IsChecked($gtfo) Then @@ -123,32 +129,32 @@ Func saveConfig() ;Saves the controls settings to the config Else IniWrite($config, "upgrade", "auto-upgrade3", 0) EndIf - If IsChecked($chkUpgrade4) Then - IniWrite($config, "upgrade", "auto-upgrade4", 1) - Else - IniWrite($config, "upgrade", "auto-upgrade4", 0) - EndIf - If IsChecked($chkUpgrade5) Then - IniWrite($config, "upgrade", "auto-upgrade5", 1) - Else - IniWrite($config, "upgrade", "auto-upgrade5", 0) - EndIf - If IsChecked($chkUpgrade6) Then - IniWrite($config, "upgrade", "auto-upgrade6", 1) - Else - IniWrite($config, "upgrade", "auto-upgrade6", 0) - EndIf +;~ If IsChecked($chkUpgrade4) Then +;~ IniWrite($config, "upgrade", "auto-upgrade4", 1) +;~ Else +;~ IniWrite($config, "upgrade", "auto-upgrade4", 0) +;~ EndIf +;~ If IsChecked($chkUpgrade5) Then +;~ IniWrite($config, "upgrade", "auto-upgrade5", 1) +;~ Else +;~ IniWrite($config, "upgrade", "auto-upgrade5", 0) +;~ EndIf +;~ If IsChecked($chkUpgrade6) Then +;~ IniWrite($config, "upgrade", "auto-upgrade6", 1) +;~ Else +;~ IniWrite($config, "upgrade", "auto-upgrade6", 0) +;~ EndIf IniWrite($config, "upgrade", "PosX1", GUICtrlRead($txtUpgradeX1)) IniWrite($config, "upgrade", "PosY2", GUICtrlRead($txtUpgradeY2)) IniWrite($config, "upgrade", "PosX2", GUICtrlRead($txtUpgradeX2)) IniWrite($config, "upgrade", "PosY3", GUICtrlRead($txtUpgradeY3)) IniWrite($config, "upgrade", "PosX3", GUICtrlRead($txtUpgradeX3)) - IniWrite($config, "upgrade", "PosY4", GUICtrlRead($txtUpgradeY4)) - IniWrite($config, "upgrade", "PosX4", GUICtrlRead($txtUpgradeX4)) - IniWrite($config, "upgrade", "PosY5", GUICtrlRead($txtUpgradeY5)) - IniWrite($config, "upgrade", "PosX5", GUICtrlRead($txtUpgradeX5)) - IniWrite($config, "upgrade", "PosY6", GUICtrlRead($txtUpgradeY6)) - IniWrite($config, "upgrade", "PosX6", GUICtrlRead($txtUpgradeX6)) +;~ IniWrite($config, "upgrade", "PosY4", GUICtrlRead($txtUpgradeY4)) +;~ IniWrite($config, "upgrade", "PosX4", GUICtrlRead($txtUpgradeX4)) +;~ IniWrite($config, "upgrade", "PosY5", GUICtrlRead($txtUpgradeY5)) +;~ IniWrite($config, "upgrade", "PosX5", GUICtrlRead($txtUpgradeX5)) +;~ IniWrite($config, "upgrade", "PosY6", GUICtrlRead($txtUpgradeY6)) +;~ IniWrite($config, "upgrade", "PosX6", GUICtrlRead($txtUpgradeX6)) If IsChecked($chkLab) Then IniWrite($config, "upgrade", "auto-uptroops", 1) diff --git a/COCBot/functions/Search/PrepareSearch.au3 b/COCBot/functions/Search/PrepareSearch.au3 index 5c2a3f2..782f2cd 100644 --- a/COCBot/functions/Search/PrepareSearch.au3 +++ b/COCBot/functions/Search/PrepareSearch.au3 @@ -1,6 +1,7 @@ ;Goes into a match, breaks shield if it has to ; Returns True if successful, otherwise False after 10 failed attempts Func PrepareSearch() ;Click attack button and find match button, will break shield + Click(60, 614);Click Attack Button SetLog(GetLangText("msgSearchingMatch")) If _WaitForColor(287, 494, Hex(0xEEAC28, 6), 50) Then diff --git a/COCBot/functions/Strategies/Standard/Attack.au3 b/COCBot/functions/Strategies/Standard/Attack.au3 index 1ffd7f8..6161b57 100644 --- a/COCBot/functions/Strategies/Standard/Attack.au3 +++ b/COCBot/functions/Strategies/Standard/Attack.au3 @@ -4,12 +4,11 @@ Func Standard_SetSleep($type) Switch $type Case 0 - $delay = ($icmbUnitDelay + 1) * 5 ;Random Gaussian is always positive, compensate for that - $delay = _Random_Gaussian($delay, $delay/3.1) + $delay = ($icmbUnitDelay + 1) * 20 ;Random Gaussian is always positive, compensate for that Case 1 - $delay = ($icmbWaveDelay + 1) * 50 - $delay = _Random_Gaussian($delay, $delay/3.1) + $delay = ($icmbWaveDelay + 1) * 200 EndSwitch + $delay = _Random_Gaussian($delay, $delay/3.1) If $delay < 1 Then $delay = 1 Return $delay EndFunc ;==>Standard_SetSleep diff --git a/COCBot/functions/Strategies/Standard/Config.au3 b/COCBot/functions/Strategies/Standard/Config.au3 index 2689698..46215d1 100644 --- a/COCBot/functions/Strategies/Standard/Config.au3 +++ b/COCBot/functions/Strategies/Standard/Config.au3 @@ -23,6 +23,18 @@ Func Standard_LoadConfig() _GUICtrlComboBox_SetCurSel($cmbDead, IniRead($configFile, "search", "DeadAndOr", "0")) + If IniRead($configFile, "search", "conditionDeadKingAvail", "0") = 1 Then + GUICtrlSetState($chkDeadKingAvail, $GUI_CHECKED) + Else + GUICtrlSetState($chkDeadKingAvail, $GUI_UNCHECKED) + EndIf + + If IniRead($configFile, "search", "conditionDeadQueenAvail", "0") = 1 Then + GUICtrlSetState($chkDeadQueenAvail, $GUI_CHECKED) + Else + GUICtrlSetState($chkDeadQueenAvail, $GUI_UNCHECKED) + EndIf + If IniRead($configFile, "search", "conditionDeadGoldElixir", "0") = 1 Then GUICtrlSetState($chkDeadGE, $GUI_CHECKED) Else @@ -53,6 +65,18 @@ Func Standard_LoadConfig() GUICtrlSetState($chkDeadMeetTHO, $GUI_UNCHECKED) EndIf + If IniRead($configFile, "search", "conditionKingAvail", "0") = 1 Then + GUICtrlSetState($chkKingAvail, $GUI_CHECKED) + Else + GUICtrlSetState($chkKingAvail, $GUI_UNCHECKED) + EndIf + + If IniRead($configFile, "search", "conditionQueenAvail", "0") = 1 Then + GUICtrlSetState($chkQueenAvail, $GUI_CHECKED) + Else + GUICtrlSetState($chkQueenAvail, $GUI_UNCHECKED) + EndIf + If IniRead($configFile, "search", "conditionGoldElixir", "0") = 1 Then GUICtrlSetState($chkMeetGE, $GUI_CHECKED) Else @@ -217,13 +241,7 @@ Func Standard_LoadConfig() Else GUICtrlSetState($chkNukeOnlyWithFullArmy, $GUI_UNCHECKED) EndIf - If IniRead($configFile, "spells", "DESearchAcc", 1) = 1 Then - GUICtrlSetState($rdoMaybeSkip, $GUI_CHECKED) - GUICtrlSetState($rdoFalsePositive, $GUI_UNCHECKED) - Else - GUICtrlSetState($rdoMaybeSkip, $GUI_UNCHECKED) - GUICtrlSetState($rdoFalsePositive, $GUI_CHECKED) - EndIf + EndFunc ;==>Standard_LoadConfig Func Standard_SaveConfig($configFile) @@ -252,6 +270,18 @@ Func Standard_SaveConfig($configFile) IniWrite($configFile, "search", "AnyTHLvl", _GUICtrlComboBox_GetCurSel($cmbTH)) IniWrite($configFile, "search", "DeadTHLvl", _GUICtrlComboBox_GetCurSel($cmbDeadTH)) + If IsChecked($chkDeadKingAvail) Then + IniWrite($configFile, "search", "conditionDeadKingAvail", 1) + Else + IniWrite($configFile, "search", "conditionDeadKingAvail", 0) + EndIf + + If IsChecked($chkDeadQueenAvail) Then + IniWrite($configFile, "search", "conditionDeadQueenAvail", 1) + Else + IniWrite($configFile, "search", "conditionDeadQueenAvail", 0) + EndIf + If IsChecked($chkDeadGE) Then IniWrite($configFile, "search", "conditionDeadGoldElixir", 1) Else @@ -288,6 +318,18 @@ Func Standard_SaveConfig($configFile) IniWrite($configFile, "search", "conditionDeadSnipe", 0) EndIf + If IsChecked($chkKingAvail) Then + IniWrite($configFile, "search", "conditionKingAvail", 1) + Else + IniWrite($configFile, "search", "conditionKingAvail", 0) + EndIf + + If IsChecked($chkQueenAvail) Then + IniWrite($configFile, "search", "conditionQueenAvail", 1) + Else + IniWrite($configFile, "search", "conditionQueenAvail", 0) + EndIf + If IsChecked($chkMeetGE) Then IniWrite($configFile, "search", "conditionGoldElixir", 1) Else @@ -472,9 +514,5 @@ Func Standard_SaveConfig($configFile) Else IniWrite($configFile, "spells", "chkNukeOnlyWithFullArmy", 0) EndIf - If IsChecked($rdoMaybeSkip) Then - IniWrite($configFile, "spells", "DESearchAcc", 1) - Else - IniWrite($configFile, "spells", "DESearchAcc", 0) - EndIf + EndFunc ;==>Standard_SaveConfig diff --git a/COCBot/functions/Strategies/Standard/GUIControl.au3 b/COCBot/functions/Strategies/Standard/GUIControl.au3 index 6435e74..66e93b3 100644 --- a/COCBot/functions/Strategies/Standard/GUIControl.au3 +++ b/COCBot/functions/Strategies/Standard/GUIControl.au3 @@ -27,6 +27,8 @@ EndFunc ;==>Standard_btnSearchMode Func Standard_chkDeadActivate() If IsChecked($chkDeadActivate) Then + GUICtrlSetState($chkDeadKingAvail, $GUI_ENABLE) + GUICtrlSetState($chkDeadQueenAvail, $GUI_ENABLE) GUICtrlSetState($chkDeadGE, $GUI_ENABLE) GUICtrlSetState($txtDeadMinGold, $GUI_ENABLE) GUICtrlSetState($cmbDead, $GUI_ENABLE) @@ -41,6 +43,8 @@ Func Standard_chkDeadActivate() GUICtrlSetState($chkDeadSnipe, $GUI_ENABLE) GUICtrlSetState($btnSearchMode, $GUI_ENABLE) Else + GUICtrlSetState($chkDeadKingAvail, $GUI_DISABLE) + GUICtrlSetState($chkDeadQueenAvail, $GUI_DISABLE) GUICtrlSetState($chkDeadGE, $GUI_DISABLE) GUICtrlSetState($txtDeadMinGold, $GUI_DISABLE) GUICtrlSetState($cmbDead, $GUI_DISABLE) @@ -61,6 +65,8 @@ EndFunc ;==>Standard_chkDeadActivate Func Standard_chkAnyActivate() If IsChecked($chkAnyActivate) Then + GUICtrlSetState($chkKingAvail, $GUI_ENABLE) + GUICtrlSetState($chkQueenAvail, $GUI_ENABLE) GUICtrlSetState($chkMeetGE, $GUI_ENABLE) GUICtrlSetState($txtMinGold, $GUI_ENABLE) GUICtrlSetState($cmbAny, $GUI_ENABLE) @@ -75,6 +81,8 @@ Func Standard_chkAnyActivate() GUICtrlSetState($chkSnipe, $GUI_ENABLE) GUICtrlSetState($btnSearchMode, $GUI_ENABLE) Else + GUICtrlSetState($chkKingAvail, $GUI_DISABLE) + GUICtrlSetState($chkQueenAvail, $GUI_DISABLE) GUICtrlSetState($chkMeetGE, $GUI_DISABLE) GUICtrlSetState($txtMinGold, $GUI_DISABLE) GUICtrlSetState($cmbAny, $GUI_DISABLE) diff --git a/COCBot/functions/Strategies/Standard/GUIDesign.au3 b/COCBot/functions/Strategies/Standard/GUIDesign.au3 index c6148f8..76b84bd 100644 --- a/COCBot/functions/Strategies/Standard/GUIDesign.au3 +++ b/COCBot/functions/Strategies/Standard/GUIDesign.au3 @@ -12,7 +12,10 @@ Func Standard_LoadGUI() $DeadConditions = GUICtrlCreateGroup(GetLangText("DeadConditions"), 18, 40, 397, 135) Global $chkDeadActivate = GUICtrlCreateCheckbox(GetLangText("chkActivate"), 30, 60, 90, 17) GUICtrlSetOnEvent($chkDeadActivate, "Standard_chkDeadActivate") - $lblDeadConditions = GUICtrlCreateLabel(GetLangText("lblDeadConditions"), 120, 60, 380, 20) + GUICtrlSetTip(-1, GetLangText("lblDeadConditions")) + ;$lblDeadConditions = GUICtrlCreateLabel(GetLangText("lblDeadConditions"), 120, 60, 380, 20) + Global $chkDeadKingAvail = GUICtrlCreateCheckbox(GetLangText("chkKingAvail"), 130, 60, 120, 17) + Global $chkDeadQueenAvail = GUICtrlCreateCheckbox(GetLangText("chkQueenAvail"), 260, 60, 120, 17) Global $chkDeadGE = GUICtrlCreateCheckbox(GetLangText("chkMeetGE"), 30, 83, 100, 17) $lblDeadMinGold = GUICtrlCreateLabel(GetLangText("lblMinGold"), 140, 85, 28, 17) Global $txtDeadMinGold = GUICtrlCreateInput("50000", 170, 80, 50, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) @@ -49,7 +52,10 @@ Func Standard_LoadGUI() $AnyConditions = GUICtrlCreateGroup(GetLangText("AnyConditions"), 18, 180, 397, 130) Global $chkAnyActivate = GUICtrlCreateCheckbox(GetLangText("chkActivate"), 30, 200, 90, 17) GUICtrlSetOnEvent($chkAnyActivate, "Standard_chkAnyActivate") - $lblAnyConditions = GUICtrlCreateLabel(GetLangText("lblAnyConditions"), 120, 200, 380, 20) + GUICtrlSetTip(-1,GetLangText("lblAnyConditions")) + ;$lblAnyConditions = GUICtrlCreateLabel(GetLangText("lblAnyConditions"), 120, 200, 380, 20) + Global $chkKingAvail = GUICtrlCreateCheckbox(GetLangText("chkKingAvail"), 130, 200, 120, 17) + Global $chkQueenAvail = GUICtrlCreateCheckbox(GetLangText("chkQueenAvail"), 260, 200, 120, 17) Global $chkMeetGE = GUICtrlCreateCheckbox(GetLangText("chkMeetGE"), 30, 223, 100, 17) GUICtrlSetState(-1, $GUI_CHECKED) $lblMinGold = GUICtrlCreateLabel(GetLangText("lblMinGold"), 140, 225, 28, 17) @@ -311,12 +317,6 @@ Func Standard_LoadGUI() $lblSpellNumber = GUICtrlCreateLabel(GetLangText("lblSpellNumber"), 30, 254, 170, 17) Global $txtSpellNumber = GUICtrlCreateInput("3", 200, 250, 51, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) - $lblDEAccuracy = GUICtrlCreateGroup(GetLangText("lblDEAccuracy"), 20, 288, 375, 67) - Global $rdoMaybeSkip = GUICtrlCreateRadio(GetLangText("rdoMaybeSkip"), 30, 308, 120, 17) - GUICtrlSetTip(-1, GetLangText("rdoMaybeSkipTip")) - GUICtrlSetState(-1, $GUI_CHECKED) - Global $rdoFalsePositive = GUICtrlCreateRadio(GetLangText("rdoFalsePositive"), 30, 328, 120, 17) - GUICtrlSetTip(-1, GetLangText("rdoFalsePositiveTip")) GUICtrlCreateGroup("", -99, -99, 1, 1) GUICtrlCreateTabItem("") Standard_LoadConfig() diff --git a/COCBot/functions/Strategies/Standard/Plugin.au3 b/COCBot/functions/Strategies/Standard/Plugin.au3 index 2207841..524fec6 100644 --- a/COCBot/functions/Strategies/Standard/Plugin.au3 +++ b/COCBot/functions/Strategies/Standard/Plugin.au3 @@ -13,3 +13,5 @@ Global $prevTroopComp = -1 Global $BarbariansComp, $ArchersComp, $GiantsComp, $GoblinsComp, $WBComp Global $fullarmy, $fullSpellFactory Global $stuckCount = 0 + + diff --git a/COCBot/functions/Strategies/Standard/PrepNextBattle.au3 b/COCBot/functions/Strategies/Standard/PrepNextBattle.au3 index 3c0542e..55a2d72 100644 --- a/COCBot/functions/Strategies/Standard/PrepNextBattle.au3 +++ b/COCBot/functions/Strategies/Standard/PrepNextBattle.au3 @@ -1,5 +1,7 @@ Func Standard_PrepNextBattle() - $stuckCount = 0 + ;Resetting this flag only after search successful + ;As this flag will be used in miniReady_Check as well + ;$stuckCount = 0 Standard_Train(True) EndFunc ;==>Standard_PrepNextBattle diff --git a/COCBot/functions/Strategies/Standard/ReadyCheck.au3 b/COCBot/functions/Strategies/Standard/ReadyCheck.au3 index 28b8ba7..9a85cbb 100644 --- a/COCBot/functions/Strategies/Standard/ReadyCheck.au3 +++ b/COCBot/functions/Strategies/Standard/ReadyCheck.au3 @@ -1,3 +1,7 @@ + +;ReadyCheck is in charge of build full army and spell. +;When Army is full, ReadyCheck will Return True +;Hero status check will be done later in the loop, right before start search Func Standard_ReadyCheck($TimeSinceNewTroop) If $TimeSinceNewTroop > Standard_GetTrainTime() + 60 Then @@ -25,18 +29,33 @@ Func Standard_ReadyCheck($TimeSinceNewTroop) If StatusCheck() Then Return False EndIf +;~ ; Verify hero availability +;~ ChkKingAvailability() +;~ ChkQueenAvailability() + +;~ If $stuckCount >= 3 And IsChecked($chkDeadActivate) And _ +;~ (Not IsChecked($chkDeadKingAvail) Or $KingAvailable) And _ +;~ (Not IsChecked($chkDeadQueenAvail) Or $QueenAvailable) Then If $stuckCount >= 3 And IsChecked($chkDeadActivate) Then $fullArmy = True Return True EndIf +;~ If $stuckCount >= 3 And IsChecked($chkAnyActivate) And _ +;~ (Not IsChecked($chkKingAvail) Or $KingAvailable) And _ +;~ (Not IsChecked($chkQueenAvail) Or $QueenAvailable) Then If $stuckCount >= 3 And IsChecked($chkAnyActivate) Then $fullArmy = True Return True EndIf - If $fullarmy And IsChecked($chkDeadActivate) Then Return True - If $fullarmy And IsChecked($chkAnyActivate) Then Return True +;~ If $fullarmy And IsChecked($chkDeadActivate) And _ +;~ (Not IsChecked($chkDeadKingAvail) Or $KingAvailable) And _ +;~ (Not IsChecked($chkDeadQueenAvail) Or $QueenAvailable) Then Return True +;~ If $fullarmy And IsChecked($chkAnyActivate) And _ +;~ (Not IsChecked($chkKingAvail) Or $KingAvailable) And _ +;~ (Not IsChecked($chkQueenAvail) Or $QueenAvailable) Then Return True + If $fullarmy Then Return True If IsChecked($chkMakeSpells) Then If $fullSpellFactory And IsChecked($chkNukeOnly) And Not IsChecked($chkNukeOnlyWithFullArmy) Then Return True @@ -45,6 +64,61 @@ Func Standard_ReadyCheck($TimeSinceNewTroop) Return False EndFunc ;==>Standard_ReadyCheck +;Quick check before start searching +;Check Hero status +;If last search failed, also check spell status and army status +;If army is not full for some reason, return false, else return true +Func Standard_miniReadyCheck() + + ; Verify hero availability + ChkKingAvailability() + ChkQueenAvailability() + If $SearchFailed Then ;Last search failed, do additional checks + $fullarmy = Standard_CheckArmyCamp() + If not $fullarmy and $stuckCount < 3 Then + Return False ;Troop missing in not stuck situation, exit loop and restart training + Else + $fullarmy = True ;Set the flag again, search condition can be properly populated + EndIf + If StatusCheck() Then Return False + + If IsChecked($chkMakeSpells) Then + $fullSpellFactory = CheckFullSpellFactory() + If StatusCheck() Then Return False + EndIf + Else ;SearchFailed=False + ;reset SearchCount only when last search wasn't failed + $SearchCount = 0 + $SearchFailed = False + EndIf + + If not AdjustSearchCond() Then + ;No search condition is valid + SetLog(GetLangText("msgHeroNotReady"), $COLOR_PURPLE) + + If $KingUG And _ + Not (IsChecked($chkDeadActivate) and Not IsChecked($chkDeadKingAvail)) And _ + Not (IsChecked($chkAnyActivate) and Not IsChecked($chkKingAvail)) Then + ;King is upgrading, and all enabled search method need king + SetLog(GetLangText("msgWarningKingUG"), $COLOR_RED) + EndIf + If $QueenUG And _ + Not (IsChecked($chkDeadActivate) and Not IsChecked($chkDeadQueenAvail)) And _ + Not (IsChecked($chkAnyActivate) and Not IsChecked($chkQueenAvail)) Then + ;Queen is upgrading, and all enabled search method need king + SetLog(GetLangText("msgWarningQueenUG"), $COLOR_RED) + EndIf + ;Since Hero is required and not ready, we'd better wait outside, at lease we can donate. + ;Wait a bit before return, avoid bot being too busy ;) + _Sleep(20000) + Return False + EndIf + + Return True + +EndFunc ;==>Standard_miniReadyCheck + + Func Standard_GetTrainTime() $MaxTrainTime = 0 Switch _GUICtrlComboBox_GetCurSel($cmbTroopComp) @@ -180,18 +254,19 @@ Func Standard_CheckArmyCamp() If Not LocateCamp() Then Return SaveConfig() Else - If _Sleep(1000) Then Return + If _Sleep(500) Then Return Click($ArmyPos[0], $ArmyPos[1]) ;Click Army Camp EndIf _CaptureRegion() - If _Sleep(1000) Then Return + If _Sleep(500) Then Return Local $BArmyPos = _WaitForPixel(309, 581, 433, 583, Hex(0x4084B8, 6), 5) ;Finds Info button If IsArray($BArmyPos) = False Then SetLog(GetLangText("msgCampNA"), $COLOR_RED) Else Click($BArmyPos[0], $BArmyPos[1]) ;Click Info button - If _Sleep(2000) Then Return + ;If _Sleep(2000) Then Return + _WaitForPixel(690, 150, 710, 170, Hex(0xD80407, 6), 5, 1) ;Finds Red Cross button in new popup window _CaptureRegion() Switch _GUICtrlComboBox_GetCurSel($cmbRaidcap) Case 0 ; 10% @@ -387,10 +462,10 @@ Func Standard_Train($reset = False) ClickP($TopLeftClient) ;Click Away - If _Sleep(1000) Then ExitLoop + If _Sleep(500) Then ExitLoop Click($barrackPos[$i][0], $barrackPos[$i][1]) ;Click Barrack - If _Sleep(1000) Then ExitLoop + If _Sleep(500) Then ExitLoop Local $TrainPos = _PixelSearch(155, 603, 694, 605, Hex(0x9C7C37, 6), 5) ;Finds Train Troops button If IsArray($TrainPos) = False Then @@ -400,7 +475,8 @@ Func Standard_Train($reset = False) Else Click($TrainPos[0], $TrainPos[1]) ;Click Train Troops button ;SetLog(GetLangText("msgBarrack") & $i + 1 & " ...", $COLOR_GREEN) - If _Sleep(1000) Then ExitLoop + ;If _Sleep(1000) Then ExitLoop + _WaitForPixel(720, 150, 740, 170, Hex(0xD80404, 6), 5, 1) ;Finds Red Cross button in new Training popup window If _GUICtrlComboBox_GetCurSel($cmbTroopComp) = 8 Then Switch $i @@ -935,11 +1011,11 @@ Func Standard_MakeSpells() If $DebugMode = 2 Then _GDIPlus_ImageSaveToFile($hBitmap, $dirDebug & "SpellNA-" & @HOUR & @MIN & @SEC & ".png") EndIf - If _Sleep(1000) Then Return + ;If _Sleep(1000) Then Return Local $BSpellPos = _PixelSearch(500, 603, 570, 605, Hex(0x07346F, 6), 5) ;Finds create spells button If IsArray($BSpellPos) Then Click($BSpellPos[0], $BSpellPos[1]) - If _Sleep(1000) Then Return + _WaitForPixel(720, 150, 740, 170, Hex(0xD80404, 6), 5, 1) ;Finds Red Cross button in new Training popup window SetLog(GetLangText("msgMakingSpell") & GUICtrlRead($cmbSpellCreate) & " x " & $itxtspellcap, $COLOR_BLUE) Click(220 + _GUICtrlComboBox_GetCurSel($cmbSpellCreate) * 106, 320, $itxtspellcap) If _Sleep(500) Then Return @@ -949,7 +1025,7 @@ Func Standard_MakeSpells() SetLog(GetLangText("msgUnableCreate"), $COLOR_RED) EndIf - ClickP($TopLeftClient) ;Click Away + ;ClickP($TopLeftClient) ;Click Away If _Sleep(500) Then Return ClickP($TopLeftClient) ;Click Away EndFunc ;==>Standard_MakeSpells diff --git a/COCBot/functions/Strategies/Standard/Search.au3 b/COCBot/functions/Strategies/Standard/Search.au3 index d37a8c6..fc6018d 100644 --- a/COCBot/functions/Strategies/Standard/Search.au3 +++ b/COCBot/functions/Strategies/Standard/Search.au3 @@ -5,33 +5,17 @@ Func Standard_Search() Local $conditionlogstr Local $AttackMethod Local $DG, $DE, $DD, $DT, $G, $E, $D, $T - local $calculateCondition = True + local $calculateCondition _WinAPI_EmptyWorkingSet(WinGetProcess($Title)) ; Reduce BlueStacks Memory Usage $hTimerClickNext = TimerInit() ;Next button already pressed before call here - $MinDeadGold = GUICtrlRead($txtDeadMinGold) - $MinDeadElixir = GUICtrlRead($txtDeadMinElixir) - $MinDeadDark = GUICtrlRead($txtDeadMinDarkElixir) - $MinDeadTrophy = GUICtrlRead($txtDeadMinTrophy) - $MaxDeadTH = _GUICtrlComboBox_GetCurSel($cmbDeadTH) - $MinGold = GUICtrlRead($txtMinGold) - $MinElixir = GUICtrlRead($txtMinElixir) - $MinDark = GUICtrlRead($txtMinDarkElixir) - $MinTrophy = GUICtrlRead($txtMinTrophy) - $MaxTH = _GUICtrlComboBox_GetCurSel($cmbTH) - $iNukeLimit = GUICtrlRead($txtDENukeLimit) - While 1 - $calculateCondition = True + $calculateCondition = False GUICtrlSetData($lblresultsearchcost, GUICtrlRead($lblresultsearchcost) + $SearchCost) If $TakeAllTownSnapShot = 1 Then SetLog(GetLangText("msgWillSaveAll"), $COLOR_GREEN) - If $SearchFailed = False Then ;reset SearchCount only when last search wasn't failed - $SearchCount = 0 - EndIf - $SearchFailed = False _BlockInputEx(3, "", "", $HWnD) @@ -50,111 +34,12 @@ Func Standard_Search() _GDIPlus_ImageSaveToFile($hBitmap, @ScriptDir & "\AllTowns\" & $Date & " at " & $Time & ".png") EndIf - ;If _Sleep($icmbSearchsp * 1500) Then Return -1 - If $calculateCondition = True or ($SearchCount <> 0 And Mod($SearchCount, GUICtrlRead($txtRedNumOfSerach)) = 0) Then + If $calculateCondition = True And ($SearchCount <> 0 And Mod($SearchCount, GUICtrlRead($txtRedNumOfSerach)) = 0) Then _BumpMouse() - $calculateCondition = False - Local $CondMultipler - $CondMultipler = Int($SearchCount/GUICtrlRead($txtRedNumOfSerach)) - - $MinDeadGold = GUICtrlRead($txtDeadMinGold) * (1 - $CondMultipler*GUICtrlRead($txtRedGoldPercent)/100) - $MinDeadGold = ($MinDeadGold>0) ? $MinDeadGold : 0 - $MinDeadElixir = GUICtrlRead($txtDeadMinElixir) * (1 - $CondMultipler*GUICtrlRead($txtRedElixirPercent)/100) - $MinDeadElixir = ($MinDeadElixir>0) ? $MinDeadElixir : 0 - $MinDeadDark = GUICtrlRead($txtDeadMinDarkElixir) * (1 - $CondMultipler*GUICtrlRead($txtRedDEPercent)/100) - $MinDeadDark = ($MinDeadDark>0) ? $MinDeadDark : 0 - $MinDeadTrophy = Int(GUICtrlRead($txtDeadMinTrophy) * (1 - $CondMultipler*GUICtrlRead($txtRedTrophyPercent)/100)) - $MinDeadTrophy = ($MinDeadTrophy>0) ? $MinDeadTrophy : 0 - $MinGold = GUICtrlRead($txtMinGold) * (1 - $CondMultipler*GUICtrlRead($txtRedGoldPercent)/100) - $MinGold = ($MinGold>0) ? $MinGold : 0 - $MinElixir = GUICtrlRead($txtMinElixir) * (1 - $CondMultipler*GUICtrlRead($txtRedElixirPercent)/100) - $MinElixir = ($MinElixir>0) ? $MinElixir : 0 - $MinDark = GUICtrlRead($txtMinDarkElixir) * (1 - $CondMultipler*GUICtrlRead($txtRedDEPercent)/100) - $MinDark = ($MinDark>0) ? $MinDark : 0 - $MinTrophy = Int(GUICtrlRead($txtMinTrophy) * (1 - $CondMultipler*GUICtrlRead($txtRedTrophyPercent)/100)) - $MinTrophy = ($MinTrophy>0) ? $MinTrophy : 0 - $iNukeLimit = GUICtrlRead($txtDENukeLimit) * (1 - $CondMultipler*GUICtrlRead($txtRedNukePercent)/100) - $iNukeLimit = ($iNukeLimit>0) ? $iNukeLimit : 0 - - SetLog(GetLangText("msgSearchCond"), $COLOR_RED) - If IsChecked($chkDeadActivate) And $fullArmy Then - $conditionlogstr = "Dead Base (" - If IsChecked($chkDeadGE) Then - If _GUICtrlComboBox_GetCurSel($cmbDead) = 0 Then - $conditionlogstr = $conditionlogstr & " Gold: " & $MinDeadGold & " And " & "Elixir: " & $MinDeadElixir - Else - $conditionlogstr = $conditionlogstr & " Gold: " & $MinDeadGold & " Or " & "Elixir: " & $MinDeadElixir - EndIf - EndIf - If IsChecked($chkDeadMeetDE) Then - If $conditionlogstr <> "Dead Base (" Then - $conditionlogstr = $conditionlogstr & ";" - EndIf - $conditionlogstr = $conditionlogstr & " Dark: " & $MinDeadDark - EndIf - If IsChecked($chkDeadMeetTrophy) Then - If $conditionlogstr <> "Dead Base (" Then - $conditionlogstr = $conditionlogstr & ";" - EndIf - $conditionlogstr = $conditionlogstr & " Trophy: " & $MinDeadTrophy - EndIf - If IsChecked($chkDeadMeetTH) Then - If $conditionlogstr <> "Dead Base (" Then - $conditionlogstr = $conditionlogstr & ";" - EndIf - $conditionlogstr = $conditionlogstr & " Max Townhall: " & $THText[$MaxDeadTH] - EndIf - If IsChecked($chkDeadMeetTHO) Then - If $conditionlogstr <> "Dead Base (" Then - $conditionlogstr = $conditionlogstr & ";" - EndIf - $conditionlogstr = $conditionlogstr & " Townhall Outside" - EndIf - $conditionlogstr = $conditionlogstr & " )" - SetLog($conditionlogstr, $COLOR_GREEN) - EndIf - If IsChecked($chkAnyActivate) And $fullArmy Then - $conditionlogstr = "Live Base (" - If IsChecked($chkMeetGE) Then - If _GUICtrlComboBox_GetCurSel($cmbDead) = 0 Then - $conditionlogstr = $conditionlogstr & " Gold: " & $MinGold & " And " & "Elixir: " & $MinElixir - Else - $conditionlogstr = $conditionlogstr & " Gold: " & $MinGold & " Or " & "Elixir: " & $MinElixir - EndIf - EndIf - If IsChecked($chkMeetDE) Then - If $conditionlogstr <> "Live Base (" Then - $conditionlogstr = $conditionlogstr & ";" - EndIf - $conditionlogstr = $conditionlogstr & " Dark: " & $MinDark - EndIf - If IsChecked($chkMeetTrophy) Then - If $conditionlogstr <> "Live Base (" Then - $conditionlogstr = $conditionlogstr & ";" - EndIf - $conditionlogstr = $conditionlogstr & " Trophy: " & $MinTrophy - EndIf - If IsChecked($chkMeetTH) Then - If $conditionlogstr <> "Live Base (" Then - $conditionlogstr = $conditionlogstr & ";" - EndIf - $conditionlogstr = $conditionlogstr & " Max Townhall: " & $THText[$MaxTH] - EndIf - If IsChecked($chkMeetTHO) Then - If $conditionlogstr <> "Live Base (" Then - $conditionlogstr = $conditionlogstr & ";" - EndIf - $conditionlogstr = $conditionlogstr & " Townhall Outside" - EndIf - $conditionlogstr = $conditionlogstr & " )" - SetLog($conditionlogstr, $COLOR_GREEN) - EndIf - If IsChecked($chkNukeOnly) And $fullSpellFactory And $iNukeLimit > 0 Then - $conditionlogstr = "Zap Base ( Dark: " & $iNukeLimit & " )" - SetLog($conditionlogstr, $COLOR_GREEN) - EndIf + AdjustSearchCond() EndIf + $calculateCondition = True $GoodBase = False Local $conditionlogstr @@ -198,7 +83,9 @@ Func Standard_Search() ; Variables to check whether to attack dead bases Local $conditionDeadPass = True - If IsChecked($chkDeadActivate) And $fullArmy Then + If IsChecked($chkDeadActivate) And $fullArmy And _ + (Not IsChecked($chkDeadKingAvail) or $KingAvailable) And _ + (Not IsChecked($chkDeadQueenAvail) or $QueenAvailable) Then If IsChecked($chkDeadGE) Then $deadEnabled = True If _GUICtrlComboBox_GetCurSel($cmbDead) = 0 Then ; And @@ -234,8 +121,9 @@ Func Standard_Search() If Not $GoodBase Then ; Variables to check whether to attack non-dead bases Local $conditionAnyPass = True - - If IsChecked($chkAnyActivate) And $fullArmy Then + If IsChecked($chkAnyActivate) And $fullArmy And _ + (Not IsChecked($chkKingAvail) or $KingAvailable) And _ + (Not IsChecked($chkQueenAvail) or $QueenAvailable) Then If IsChecked($chkMeetGE) Then $anyEnabled = True If _GUICtrlComboBox_GetCurSel($cmbAny) = 0 Then ; And @@ -292,13 +180,15 @@ Func Standard_Search() EndIf If $GoodBase Then + $SearchFailed = False ExitLoop Else _CaptureRegion() If _ColorCheck(_GetPixelColor(703, 520), Hex(0xD84400, 6), 20) Then Local $fDiffNow = TimerDiff($hTimerClickNext) - $fdiffReadGold ;How long in attack prep mode - if $fDiffNow < $speedBump + $icmbSearchsp * 1500 Then ; Wait accoridng to search speed + speedBump - if _Sleep($speedBump + $icmbSearchsp * 1500 - $fDiffNow) Then ExitLoop (2) + $RandomDelay = _Random_Gaussian($icmbSearchsp * 1500, ($icmbSearchsp * 1500)/6) + if $fDiffNow < $speedBump + $RandomDelay Then ; Wait accoridng to search speed + speedBump + if _Sleep($speedBump + $RandomDelay - $fDiffNow) Then ExitLoop (2) EndIf Click(750, 500) ;Click Next $hTimerClickNext = TimerInit() @@ -328,14 +218,153 @@ Func Standard_Search() SoundPlay(@WindowsDir & "\media\Festival\Windows Exclamation.wav", 1) EndIf EndIf - $MatchFoundText = "[" & GetLangText("msgGoldinitial") & "]: " & _NumberFormat($BaseData[2]) & "; [" & GetLangText("msgElixirinitial") & "]: " & _NumberFormat($BaseData[3]) & "; [" & GetLangText("msgDarkElixinitial") & "]: " & _NumberFormat($BaseData[4]) & "; [" & GetLangText("msgTrophyInitial") & "]: " & $BaseData[5] & "; [TH Lvl]: " & $BaseData[1] & ", Loc: " & $THLoc + $MatchFoundText = "[" & GetLangText("msgGoldinitial") & "]: " & _NumberFormat($BaseData[2]) & "; [" & GetLangText("msgElixirinitial") & "]: " & _NumberFormat($BaseData[3]) & _ + "; [" & GetLangText("msgDarkElixinitial") & "]: " & _NumberFormat($BaseData[4]) & "; [" & GetLangText("msgTrophyInitial") & "]: " & $BaseData[5] & _ + "; [TH Lvl]: " & $BaseData[1] & ", Loc: " & $THLoc & "; [" & GetLangText("msgDeadBase ") & "]:" & $BaseData[0] If $PushBulletEnabled = 1 And $PushBulletmatchfound = 1 Then _Push(GetLangText("pushMatch"), $MatchFoundText ) SetLog(GetLangText("msgPushMatch"), $COLOR_GREEN) EndIf SetLog(GetLangText("msgSearchComplete"), $COLOR_BLUE) + ;Match found, reset stuckCount flag before run readycheck again. + $stuckCount = 0 _BlockInputEx(0, "", "", $HWnD) Return $AttackMethod WEnd EndFunc ;==>Standard_Search +;Adjust and Print out search condition if there is any +;Return True if there is valid condition +;Return False if no valid search condition +Func AdjustSearchCond() + Local $conditionlogsarray[3] ;max three types of base to search + Local $condCounts = 0 + Local $conditionlogstr + Local $CondMultipler + + $CondMultipler = Int($SearchCount/GUICtrlRead($txtRedNumOfSerach)) + + $MaxDeadTH = _GUICtrlComboBox_GetCurSel($cmbDeadTH) + $MaxTH = _GUICtrlComboBox_GetCurSel($cmbTH) + + $MinDeadGold = GUICtrlRead($txtDeadMinGold) * (1 - $CondMultipler*GUICtrlRead($txtRedGoldPercent)/100) + $MinDeadGold = ($MinDeadGold>0) ? $MinDeadGold : 0 + $MinDeadElixir = GUICtrlRead($txtDeadMinElixir) * (1 - $CondMultipler*GUICtrlRead($txtRedElixirPercent)/100) + $MinDeadElixir = ($MinDeadElixir>0) ? $MinDeadElixir : 0 + $MinDeadDark = GUICtrlRead($txtDeadMinDarkElixir) * (1 - $CondMultipler*GUICtrlRead($txtRedDEPercent)/100) + $MinDeadDark = ($MinDeadDark>0) ? $MinDeadDark : 0 + $MinDeadTrophy = Int(GUICtrlRead($txtDeadMinTrophy) * (1 - $CondMultipler*GUICtrlRead($txtRedTrophyPercent)/100)) + $MinDeadTrophy = ($MinDeadTrophy>0) ? $MinDeadTrophy : 0 + $MinGold = GUICtrlRead($txtMinGold) * (1 - $CondMultipler*GUICtrlRead($txtRedGoldPercent)/100) + $MinGold = ($MinGold>0) ? $MinGold : 0 + $MinElixir = GUICtrlRead($txtMinElixir) * (1 - $CondMultipler*GUICtrlRead($txtRedElixirPercent)/100) + $MinElixir = ($MinElixir>0) ? $MinElixir : 0 + $MinDark = GUICtrlRead($txtMinDarkElixir) * (1 - $CondMultipler*GUICtrlRead($txtRedDEPercent)/100) + $MinDark = ($MinDark>0) ? $MinDark : 0 + $MinTrophy = Int(GUICtrlRead($txtMinTrophy) * (1 - $CondMultipler*GUICtrlRead($txtRedTrophyPercent)/100)) + $MinTrophy = ($MinTrophy>0) ? $MinTrophy : 0 + $iNukeLimit = GUICtrlRead($txtDENukeLimit) * (1 - $CondMultipler*GUICtrlRead($txtRedNukePercent)/100) + $iNukeLimit = ($iNukeLimit>0) ? $iNukeLimit : 0 + + ;New condition test for king & queen availablity + If IsChecked($chkDeadActivate) And $fullArmy And _ + (Not IsChecked($chkDeadKingAvail) or $KingAvailable) And _ + (Not IsChecked($chkDeadQueenAvail) or $QueenAvailable) Then + $conditionlogstr = "Dead Base (" + If IsChecked($chkDeadGE) Then + If _GUICtrlComboBox_GetCurSel($cmbDead) = 0 Then + $conditionlogstr = $conditionlogstr & " Gold: " & $MinDeadGold & " And " & "Elixir: " & $MinDeadElixir + Else + $conditionlogstr = $conditionlogstr & " Gold: " & $MinDeadGold & " Or " & "Elixir: " & $MinDeadElixir + EndIf + EndIf + If IsChecked($chkDeadMeetDE) Then + If $conditionlogstr <> "Dead Base (" Then + $conditionlogstr = $conditionlogstr & ";" + EndIf + $conditionlogstr = $conditionlogstr & " Dark: " & $MinDeadDark + EndIf + If IsChecked($chkDeadMeetTrophy) Then + If $conditionlogstr <> "Dead Base (" Then + $conditionlogstr = $conditionlogstr & ";" + EndIf + $conditionlogstr = $conditionlogstr & " Trophy: " & $MinDeadTrophy + EndIf + If IsChecked($chkDeadMeetTH) Then + If $conditionlogstr <> "Dead Base (" Then + $conditionlogstr = $conditionlogstr & ";" + EndIf + $conditionlogstr = $conditionlogstr & " Max Townhall: " & $THText[$MaxDeadTH] + EndIf + If IsChecked($chkDeadMeetTHO) Then + If $conditionlogstr <> "Dead Base (" Then + $conditionlogstr = $conditionlogstr & ";" + EndIf + $conditionlogstr = $conditionlogstr & " Townhall Outside" + EndIf + $conditionlogstr = $conditionlogstr & " )" + $conditionlogsarray[$condCounts] = $conditionlogstr + $condCounts += 1 + ;SetLog($conditionlogstr, $COLOR_GREEN) + EndIf + ;New condition test for king & queen availablity + If IsChecked($chkAnyActivate) And $fullArmy And _ + (Not IsChecked($chkKingAvail) or $KingAvailable) And _ + (Not IsChecked($chkQueenAvail) or $QueenAvailable) Then + $conditionlogstr = "Live Base (" + If IsChecked($chkMeetGE) Then + If _GUICtrlComboBox_GetCurSel($cmbDead) = 0 Then + $conditionlogstr = $conditionlogstr & " Gold: " & $MinGold & " And " & "Elixir: " & $MinElixir + Else + $conditionlogstr = $conditionlogstr & " Gold: " & $MinGold & " Or " & "Elixir: " & $MinElixir + EndIf + EndIf + If IsChecked($chkMeetDE) Then + If $conditionlogstr <> "Live Base (" Then + $conditionlogstr = $conditionlogstr & ";" + EndIf + $conditionlogstr = $conditionlogstr & " Dark: " & $MinDark + EndIf + If IsChecked($chkMeetTrophy) Then + If $conditionlogstr <> "Live Base (" Then + $conditionlogstr = $conditionlogstr & ";" + EndIf + $conditionlogstr = $conditionlogstr & " Trophy: " & $MinTrophy + EndIf + If IsChecked($chkMeetTH) Then + If $conditionlogstr <> "Live Base (" Then + $conditionlogstr = $conditionlogstr & ";" + EndIf + $conditionlogstr = $conditionlogstr & " Max Townhall: " & $THText[$MaxTH] + EndIf + If IsChecked($chkMeetTHO) Then + If $conditionlogstr <> "Live Base (" Then + $conditionlogstr = $conditionlogstr & ";" + EndIf + $conditionlogstr = $conditionlogstr & " Townhall Outside" + EndIf + $conditionlogstr = $conditionlogstr & " )" + $conditionlogsarray[$condCounts] = $conditionlogstr + $condCounts += 1 + ;SetLog($conditionlogstr, $COLOR_GREEN) + EndIf + If IsChecked($chkNukeOnly) And $fullSpellFactory And $iNukeLimit > 0 Then + $conditionlogstr = "Zap Base ( Dark: " & $iNukeLimit & " )" + $conditionlogsarray[$condCounts] = $conditionlogstr + $condCounts += 1 + ;SetLog($conditionlogstr, $COLOR_GREEN) + EndIf + + ;All condtions here, if there is any + If $condCounts > 0 Then + ;we have valid search condition + SetLog(GetLangText("msgSearchCond"), $COLOR_RED) + For $i = 0 to $condCounts-1 + SetLog($conditionlogsarray[$i], $COLOR_GREEN) + Next + Return True + Else + Return False + EndIf + +EndFunc diff --git a/COCBot/functions/Village/CheckFullSpellFactory.au3 b/COCBot/functions/Village/CheckFullSpellFactory.au3 index 66ec387..017564d 100644 --- a/COCBot/functions/Village/CheckFullSpellFactory.au3 +++ b/COCBot/functions/Village/CheckFullSpellFactory.au3 @@ -20,7 +20,8 @@ Func CheckFullSpellFactory() If $DebugMode = 2 Then _GDIPlus_ImageSaveToFile($hBitmap, $dirDebug & "SpellNA-" & @HOUR & @MIN & @SEC & ".png") Else Click($BSpellPos[0], $BSpellPos[1]) ;Click Info button - If _Sleep(2000) Then Return + ;If _Sleep(2000) Then Return + _WaitForPixel(690, 150, 710, 170, Hex(0xD80407, 6), 5, 1) ;Finds Red Cross button in new popup window _CaptureRegion() Local $Spellbar = _PixelSearch(707, 210, 709, 213, Hex(0x37A800, 6), 5) diff --git a/COCBot/functions/Village/DonateCC.au3 b/COCBot/functions/Village/DonateCC.au3 index 53a3d36..81f5424 100644 --- a/COCBot/functions/Village/DonateCC.au3 +++ b/COCBot/functions/Village/DonateCC.au3 @@ -36,64 +36,78 @@ Func DonateCC() SetLog(GetLangText("msgChatText") & $String, $COLOR_GREEN) - If IsChecked($chkDonateBarbarians) Then - Local $Barbs = StringSplit(StringStripWS($itxtDonateBarbarians, 3), @CRLF) - If IsArray($Barbs) Then - For $i = 1 to $Barbs[0] - If CheckDonate($Barbs[$i], $String) Then - $Troop = GUICtrlRead($cmbDonateBarbarians) - GetTroopCoord() - DonateTroops($Troop, $ColDist, $RowDist, $AmountBarbarians) - ExitLoop - EndIf + $Blacklisted = False + If IsChecked($chkBlacklist) Then + $blacklist = StringSplit(guictrlread($txtBlacklist), @CRLF) + If IsArray($blacklist) Then + For $loop = 1 to $blacklist[0] + If StringStripWS($blacklist[$loop], 3) <> "" and StringInStr($string, StringStripWS($blacklist[$loop], 3)) Then $Blacklisted = True Next - If $Donate Then - If _Sleep(500) Then ExitLoop - $y = $DonatePixel[1] + 10 - EndIf - Else - SetLog(GetLangText("msgUnableToRead") & "1" & GetLangText("msgDonateRules")) - Return EndIf EndIf - If IsChecked($chkDonateArchers) Then - Local $Archers = StringSplit(StringStripWS($itxtDonateArchers, 3), @CRLF) - If IsArray($Archers) Then - For $i = 1 To $Archers[0] - If CheckDonate($Archers[$i], $String) Then - $Troop = GUICtrlRead($cmbDonateArchers) - GetTroopCoord() - DonateTroops($Troop, $ColDist, $RowDist, $AmountArchers) - ExitLoop + + If $Blacklisted Then + SetLog(GetLangText("msgBlacklisted"), $COLOR_GREEN) + Else + If IsChecked($chkDonateBarbarians) Then + Local $Barbs = StringSplit(StringStripWS($itxtDonateBarbarians, 3), @CRLF) + If IsArray($Barbs) Then + For $i = 1 to $Barbs[0] + If CheckDonate($Barbs[$i], $String) Then + $Troop = GUICtrlRead($cmbDonateBarbarians) + GetTroopCoord() + DonateTroops($Troop, $ColDist, $RowDist, $AmountBarbarians) + ExitLoop + EndIf + Next + If $Donate Then + If _Sleep(500) Then ExitLoop + $y = $DonatePixel[1] + 10 EndIf - Next - If $Donate Then - If _Sleep(500) Then ExitLoop - $y = $DonatePixel[1] + 10 + Else + SetLog(GetLangText("msgUnableToRead") & "1" & GetLangText("msgDonateRules")) + Return EndIf - Else - SetLog(GetLangText("msgUnableToRead") & "2" & GetLangText("msgDonateRules")) - Return EndIf - EndIf - If IsChecked($chkDonateGiants) Then - Local $Giants = StringSplit(StringStripWS($itxtDonateGiants, 3), @CRLF) - If IsArray($Giants) Then - For $i = 1 to $Giants[0] - If CheckDonate($Giants[$i], $String) Then - $Troop = GUICtrlRead($cmbDonateGiants) - GetTroopCoord() - DonateTroops($Troop, $ColDist, $RowDist, $AmountGiants) - ExitLoop + If IsChecked($chkDonateArchers) Then + Local $Archers = StringSplit(StringStripWS($itxtDonateArchers, 3), @CRLF) + If IsArray($Archers) Then + For $i = 1 To $Archers[0] + If CheckDonate($Archers[$i], $String) Then + $Troop = GUICtrlRead($cmbDonateArchers) + GetTroopCoord() + DonateTroops($Troop, $ColDist, $RowDist, $AmountArchers) + ExitLoop + EndIf + Next + If $Donate Then + If _Sleep(500) Then ExitLoop + $y = $DonatePixel[1] + 10 EndIf - Next - If $Donate Then - If _Sleep(500) Then ExitLoop - $y = $DonatePixel[1] + 10 + Else + SetLog(GetLangText("msgUnableToRead") & "2" & GetLangText("msgDonateRules")) + Return + EndIf + EndIf + If IsChecked($chkDonateGiants) Then + Local $Giants = StringSplit(StringStripWS($itxtDonateGiants, 3), @CRLF) + If IsArray($Giants) Then + For $i = 1 to $Giants[0] + If CheckDonate($Giants[$i], $String) Then + $Troop = GUICtrlRead($cmbDonateGiants) + GetTroopCoord() + DonateTroops($Troop, $ColDist, $RowDist, $AmountGiants) + ExitLoop + EndIf + Next + If $Donate Then + If _Sleep(500) Then ExitLoop + $y = $DonatePixel[1] + 10 + EndIf + Else + SetLog(GetLangText("msgUnableToRead") & "3" & GetLangText("msgDonateRules")) + Return EndIf - Else - SetLog(GetLangText("msgUnableToRead") & "3" & GetLangText("msgDonateRules")) - Return EndIf EndIf Else diff --git a/COCBot/functions/Village/MainLoop.au3 b/COCBot/functions/Village/MainLoop.au3 index 2a7b7a3..f7e994e 100644 --- a/COCBot/functions/Village/MainLoop.au3 +++ b/COCBot/functions/Village/MainLoop.au3 @@ -59,6 +59,9 @@ Func runBot() ;Bot that runs everything in order While True If StatusCheck() Then Return + + If Not Call($strPlugInInUse & "_miniReadyCheck") Then ExitLoop + If PrepareSearch() Then $AttackType = Call($strPlugInInUse & "_Search") If BotStopped(False) Then Return diff --git a/README.md b/README.md index b2504b3..18a8a71 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # BrokenBot.org - Clash of Clans Bot -Latest version: 2.6.0 +Latest version: 2.7.0 ## Community -Forums available for discussion at: http://brokenbot.org/ +Forums available for discussion at: http://www.brokenbot.org/page.php?p=main ### Reference For your convenience, and referring to pushbullet's document: diff --git a/changelog.md b/changelog.md index 1a7e2ca..a3bcbba 100644 --- a/changelog.md +++ b/changelog.md @@ -1,8 +1,18 @@ ## Change Log: +### v2.7.0 +* Improved image recognition system. Does a much better job of finding the dark elixir storage. +* Search delay is randomized now. You still use the same UI selection for the general speed of searching but the actual speed is randomized near the value you select. +* Donation blacklist now added. If you check the box to turn on blacklist then it will not donate to people if the words you list are anywhere in the request text. +* You may now specify having a King or Queen available as a search condition. For example: if you specify that you require the King and Queen both for live bases then it will only search for dead bases until your King or Queen are available. +* Hid some options for upgrading that didn't function properly. Will be reinstated once fixed. +* Main loop sped up. Less time just sitting there waiting while it's doing something. +* Various speed and stability improvements. + ### v2.6.0 * Much faster troop deployment. Might not want to do 1/1 anymore * Temporary fix for those whose camp numbers can't be read. Unfortunately this may reintroduce a problem where training gets stuck for those people. If you have this issue please temporarily use barracks training mode until this can be fully fixed. + ### v2.5.9 * Emergency fix for occasional crash diff --git a/images/DElix/DE1.png b/images/DElix/DE1.png deleted file mode 100644 index 370ebc5..0000000 Binary files a/images/DElix/DE1.png and /dev/null differ diff --git a/images/DElix/DE10.png b/images/DElix/DE10.png deleted file mode 100644 index 2521573..0000000 Binary files a/images/DElix/DE10.png and /dev/null differ diff --git a/images/DElix/DE100.png b/images/DElix/DE100.png deleted file mode 100644 index 9466240..0000000 Binary files a/images/DElix/DE100.png and /dev/null differ diff --git a/images/DElix/DE101.png b/images/DElix/DE101.png deleted file mode 100644 index c47f8c2..0000000 Binary files a/images/DElix/DE101.png and /dev/null differ diff --git a/images/DElix/DE102.png b/images/DElix/DE102.png deleted file mode 100644 index a843e41..0000000 Binary files a/images/DElix/DE102.png and /dev/null differ diff --git a/images/DElix/DE103.png b/images/DElix/DE103.png deleted file mode 100644 index f3fff13..0000000 Binary files a/images/DElix/DE103.png and /dev/null differ diff --git a/images/DElix/DE104.png b/images/DElix/DE104.png deleted file mode 100644 index eaafd24..0000000 Binary files a/images/DElix/DE104.png and /dev/null differ diff --git a/images/DElix/DE105.png b/images/DElix/DE105.png deleted file mode 100644 index 49a4125..0000000 Binary files a/images/DElix/DE105.png and /dev/null differ diff --git a/images/DElix/DE106.png b/images/DElix/DE106.png deleted file mode 100644 index a6b414f..0000000 Binary files a/images/DElix/DE106.png and /dev/null differ diff --git a/images/DElix/DE107.png b/images/DElix/DE107.png deleted file mode 100644 index 3b550a7..0000000 Binary files a/images/DElix/DE107.png and /dev/null differ diff --git a/images/DElix/DE108.png b/images/DElix/DE108.png deleted file mode 100644 index 5f54456..0000000 Binary files a/images/DElix/DE108.png and /dev/null differ diff --git a/images/DElix/DE109.png b/images/DElix/DE109.png deleted file mode 100644 index ad9d0af..0000000 Binary files a/images/DElix/DE109.png and /dev/null differ diff --git a/images/DElix/DE11.png b/images/DElix/DE11.png deleted file mode 100644 index 74951ee..0000000 Binary files a/images/DElix/DE11.png and /dev/null differ diff --git a/images/DElix/DE110.png b/images/DElix/DE110.png deleted file mode 100644 index 7c2a9dd..0000000 Binary files a/images/DElix/DE110.png and /dev/null differ diff --git a/images/DElix/DE111.png b/images/DElix/DE111.png deleted file mode 100644 index a78bac8..0000000 Binary files a/images/DElix/DE111.png and /dev/null differ diff --git a/images/DElix/DE112.png b/images/DElix/DE112.png deleted file mode 100644 index c98a261..0000000 Binary files a/images/DElix/DE112.png and /dev/null differ diff --git a/images/DElix/DE113.png b/images/DElix/DE113.png deleted file mode 100644 index f7e6163..0000000 Binary files a/images/DElix/DE113.png and /dev/null differ diff --git a/images/DElix/DE114.png b/images/DElix/DE114.png deleted file mode 100644 index d728945..0000000 Binary files a/images/DElix/DE114.png and /dev/null differ diff --git a/images/DElix/DE115.png b/images/DElix/DE115.png deleted file mode 100644 index fb40ba5..0000000 Binary files a/images/DElix/DE115.png and /dev/null differ diff --git a/images/DElix/DE116.png b/images/DElix/DE116.png deleted file mode 100644 index b374b59..0000000 Binary files a/images/DElix/DE116.png and /dev/null differ diff --git a/images/DElix/DE117.png b/images/DElix/DE117.png deleted file mode 100644 index 57f7c2f..0000000 Binary files a/images/DElix/DE117.png and /dev/null differ diff --git a/images/DElix/DE118.png b/images/DElix/DE118.png deleted file mode 100644 index c2f23ed..0000000 Binary files a/images/DElix/DE118.png and /dev/null differ diff --git a/images/DElix/DE119.png b/images/DElix/DE119.png deleted file mode 100644 index 105b7ba..0000000 Binary files a/images/DElix/DE119.png and /dev/null differ diff --git a/images/DElix/DE12.png b/images/DElix/DE12.png deleted file mode 100644 index 085d457..0000000 Binary files a/images/DElix/DE12.png and /dev/null differ diff --git a/images/DElix/DE120.png b/images/DElix/DE120.png deleted file mode 100644 index a83eca4..0000000 Binary files a/images/DElix/DE120.png and /dev/null differ diff --git a/images/DElix/DE121.png b/images/DElix/DE121.png deleted file mode 100644 index 4c0f430..0000000 Binary files a/images/DElix/DE121.png and /dev/null differ diff --git a/images/DElix/DE122.png b/images/DElix/DE122.png deleted file mode 100644 index e0eb126..0000000 Binary files a/images/DElix/DE122.png and /dev/null differ diff --git a/images/DElix/DE123.png b/images/DElix/DE123.png deleted file mode 100644 index 7382eb2..0000000 Binary files a/images/DElix/DE123.png and /dev/null differ diff --git a/images/DElix/DE124.png b/images/DElix/DE124.png deleted file mode 100644 index 6de3730..0000000 Binary files a/images/DElix/DE124.png and /dev/null differ diff --git a/images/DElix/DE125.png b/images/DElix/DE125.png deleted file mode 100644 index a8428e5..0000000 Binary files a/images/DElix/DE125.png and /dev/null differ diff --git a/images/DElix/DE126.png b/images/DElix/DE126.png deleted file mode 100644 index cb506ad..0000000 Binary files a/images/DElix/DE126.png and /dev/null differ diff --git a/images/DElix/DE127.png b/images/DElix/DE127.png deleted file mode 100644 index d2e85c1..0000000 Binary files a/images/DElix/DE127.png and /dev/null differ diff --git a/images/DElix/DE128.png b/images/DElix/DE128.png deleted file mode 100644 index 27a7db5..0000000 Binary files a/images/DElix/DE128.png and /dev/null differ diff --git a/images/DElix/DE129.png b/images/DElix/DE129.png deleted file mode 100644 index 3299d2f..0000000 Binary files a/images/DElix/DE129.png and /dev/null differ diff --git a/images/DElix/DE13.png b/images/DElix/DE13.png deleted file mode 100644 index a238d09..0000000 Binary files a/images/DElix/DE13.png and /dev/null differ diff --git a/images/DElix/DE130.png b/images/DElix/DE130.png deleted file mode 100644 index 3f9210c..0000000 Binary files a/images/DElix/DE130.png and /dev/null differ diff --git a/images/DElix/DE131.png b/images/DElix/DE131.png deleted file mode 100644 index c5c7abd..0000000 Binary files a/images/DElix/DE131.png and /dev/null differ diff --git a/images/DElix/DE132.png b/images/DElix/DE132.png deleted file mode 100644 index 7e059a6..0000000 Binary files a/images/DElix/DE132.png and /dev/null differ diff --git a/images/DElix/DE133.png b/images/DElix/DE133.png deleted file mode 100644 index b772ec3..0000000 Binary files a/images/DElix/DE133.png and /dev/null differ diff --git a/images/DElix/DE134.png b/images/DElix/DE134.png deleted file mode 100644 index f49d867..0000000 Binary files a/images/DElix/DE134.png and /dev/null differ diff --git a/images/DElix/DE135.png b/images/DElix/DE135.png deleted file mode 100644 index e5f5e87..0000000 Binary files a/images/DElix/DE135.png and /dev/null differ diff --git a/images/DElix/DE136.png b/images/DElix/DE136.png deleted file mode 100644 index 46fb5fd..0000000 Binary files a/images/DElix/DE136.png and /dev/null differ diff --git a/images/DElix/DE137.png b/images/DElix/DE137.png deleted file mode 100644 index 46dbbd2..0000000 Binary files a/images/DElix/DE137.png and /dev/null differ diff --git a/images/DElix/DE138.png b/images/DElix/DE138.png deleted file mode 100644 index 4148e92..0000000 Binary files a/images/DElix/DE138.png and /dev/null differ diff --git a/images/DElix/DE139.png b/images/DElix/DE139.png deleted file mode 100644 index dadf41a..0000000 Binary files a/images/DElix/DE139.png and /dev/null differ diff --git a/images/DElix/DE14.png b/images/DElix/DE14.png deleted file mode 100644 index 6121e0a..0000000 Binary files a/images/DElix/DE14.png and /dev/null differ diff --git a/images/DElix/DE140.png b/images/DElix/DE140.png deleted file mode 100644 index 1d226b3..0000000 Binary files a/images/DElix/DE140.png and /dev/null differ diff --git a/images/DElix/DE141.png b/images/DElix/DE141.png deleted file mode 100644 index 2b29592..0000000 Binary files a/images/DElix/DE141.png and /dev/null differ diff --git a/images/DElix/DE142.png b/images/DElix/DE142.png deleted file mode 100644 index c6c474d..0000000 Binary files a/images/DElix/DE142.png and /dev/null differ diff --git a/images/DElix/DE143.png b/images/DElix/DE143.png deleted file mode 100644 index 61f4e72..0000000 Binary files a/images/DElix/DE143.png and /dev/null differ diff --git a/images/DElix/DE144.png b/images/DElix/DE144.png deleted file mode 100644 index fdc7755..0000000 Binary files a/images/DElix/DE144.png and /dev/null differ diff --git a/images/DElix/DE145.png b/images/DElix/DE145.png deleted file mode 100644 index fdadd2a..0000000 Binary files a/images/DElix/DE145.png and /dev/null differ diff --git a/images/DElix/DE146.png b/images/DElix/DE146.png deleted file mode 100644 index 93b56a6..0000000 Binary files a/images/DElix/DE146.png and /dev/null differ diff --git a/images/DElix/DE147.png b/images/DElix/DE147.png deleted file mode 100644 index 65aa8c3..0000000 Binary files a/images/DElix/DE147.png and /dev/null differ diff --git a/images/DElix/DE148.png b/images/DElix/DE148.png deleted file mode 100644 index 067bd39..0000000 Binary files a/images/DElix/DE148.png and /dev/null differ diff --git a/images/DElix/DE149.png b/images/DElix/DE149.png deleted file mode 100644 index 8e00356..0000000 Binary files a/images/DElix/DE149.png and /dev/null differ diff --git a/images/DElix/DE15.png b/images/DElix/DE15.png deleted file mode 100644 index 160ef31..0000000 Binary files a/images/DElix/DE15.png and /dev/null differ diff --git a/images/DElix/DE150.png b/images/DElix/DE150.png deleted file mode 100644 index 04e1553..0000000 Binary files a/images/DElix/DE150.png and /dev/null differ diff --git a/images/DElix/DE151.png b/images/DElix/DE151.png deleted file mode 100644 index 89da0a8..0000000 Binary files a/images/DElix/DE151.png and /dev/null differ diff --git a/images/DElix/DE152.png b/images/DElix/DE152.png deleted file mode 100644 index 9b4293e..0000000 Binary files a/images/DElix/DE152.png and /dev/null differ diff --git a/images/DElix/DE153.png b/images/DElix/DE153.png deleted file mode 100644 index c425e93..0000000 Binary files a/images/DElix/DE153.png and /dev/null differ diff --git a/images/DElix/DE154.png b/images/DElix/DE154.png deleted file mode 100644 index dd58340..0000000 Binary files a/images/DElix/DE154.png and /dev/null differ diff --git a/images/DElix/DE155.png b/images/DElix/DE155.png deleted file mode 100644 index e86ec01..0000000 Binary files a/images/DElix/DE155.png and /dev/null differ diff --git a/images/DElix/DE156.png b/images/DElix/DE156.png deleted file mode 100644 index 7c9e4e3..0000000 Binary files a/images/DElix/DE156.png and /dev/null differ diff --git a/images/DElix/DE157.png b/images/DElix/DE157.png deleted file mode 100644 index 87653ab..0000000 Binary files a/images/DElix/DE157.png and /dev/null differ diff --git a/images/DElix/DE158.png b/images/DElix/DE158.png deleted file mode 100644 index ca24a7d..0000000 Binary files a/images/DElix/DE158.png and /dev/null differ diff --git a/images/DElix/DE159.png b/images/DElix/DE159.png deleted file mode 100644 index 0e372c3..0000000 Binary files a/images/DElix/DE159.png and /dev/null differ diff --git a/images/DElix/DE16.png b/images/DElix/DE16.png deleted file mode 100644 index 139ba1f..0000000 Binary files a/images/DElix/DE16.png and /dev/null differ diff --git a/images/DElix/DE160.png b/images/DElix/DE160.png deleted file mode 100644 index 4710a82..0000000 Binary files a/images/DElix/DE160.png and /dev/null differ diff --git a/images/DElix/DE161.png b/images/DElix/DE161.png deleted file mode 100644 index 192b1de..0000000 Binary files a/images/DElix/DE161.png and /dev/null differ diff --git a/images/DElix/DE162.png b/images/DElix/DE162.png deleted file mode 100644 index 39da436..0000000 Binary files a/images/DElix/DE162.png and /dev/null differ diff --git a/images/DElix/DE163.png b/images/DElix/DE163.png deleted file mode 100644 index c308ddf..0000000 Binary files a/images/DElix/DE163.png and /dev/null differ diff --git a/images/DElix/DE164.png b/images/DElix/DE164.png deleted file mode 100644 index 5985fcd..0000000 Binary files a/images/DElix/DE164.png and /dev/null differ diff --git a/images/DElix/DE165.png b/images/DElix/DE165.png deleted file mode 100644 index 4bc4c50..0000000 Binary files a/images/DElix/DE165.png and /dev/null differ diff --git a/images/DElix/DE166.png b/images/DElix/DE166.png deleted file mode 100644 index ed6a21b..0000000 Binary files a/images/DElix/DE166.png and /dev/null differ diff --git a/images/DElix/DE167.png b/images/DElix/DE167.png deleted file mode 100644 index 7b6bd48..0000000 Binary files a/images/DElix/DE167.png and /dev/null differ diff --git a/images/DElix/DE168.png b/images/DElix/DE168.png deleted file mode 100644 index 687902a..0000000 Binary files a/images/DElix/DE168.png and /dev/null differ diff --git a/images/DElix/DE169.png b/images/DElix/DE169.png deleted file mode 100644 index bc3de91..0000000 Binary files a/images/DElix/DE169.png and /dev/null differ diff --git a/images/DElix/DE17.png b/images/DElix/DE17.png deleted file mode 100644 index 22eadc0..0000000 Binary files a/images/DElix/DE17.png and /dev/null differ diff --git a/images/DElix/DE170.png b/images/DElix/DE170.png deleted file mode 100644 index 277b731..0000000 Binary files a/images/DElix/DE170.png and /dev/null differ diff --git a/images/DElix/DE171.png b/images/DElix/DE171.png deleted file mode 100644 index 555fb20..0000000 Binary files a/images/DElix/DE171.png and /dev/null differ diff --git a/images/DElix/DE172.png b/images/DElix/DE172.png deleted file mode 100644 index 058fd59..0000000 Binary files a/images/DElix/DE172.png and /dev/null differ diff --git a/images/DElix/DE173.png b/images/DElix/DE173.png deleted file mode 100644 index 7df038c..0000000 Binary files a/images/DElix/DE173.png and /dev/null differ diff --git a/images/DElix/DE174.png b/images/DElix/DE174.png deleted file mode 100644 index b9b11a2..0000000 Binary files a/images/DElix/DE174.png and /dev/null differ diff --git a/images/DElix/DE175.png b/images/DElix/DE175.png deleted file mode 100644 index 6a2720b..0000000 Binary files a/images/DElix/DE175.png and /dev/null differ diff --git a/images/DElix/DE176.png b/images/DElix/DE176.png deleted file mode 100644 index 2cd1e47..0000000 Binary files a/images/DElix/DE176.png and /dev/null differ diff --git a/images/DElix/DE177.png b/images/DElix/DE177.png deleted file mode 100644 index ca100d8..0000000 Binary files a/images/DElix/DE177.png and /dev/null differ diff --git a/images/DElix/DE178.png b/images/DElix/DE178.png deleted file mode 100644 index a66e21d..0000000 Binary files a/images/DElix/DE178.png and /dev/null differ diff --git a/images/DElix/DE179.png b/images/DElix/DE179.png deleted file mode 100644 index 74eddec..0000000 Binary files a/images/DElix/DE179.png and /dev/null differ diff --git a/images/DElix/DE18.png b/images/DElix/DE18.png deleted file mode 100644 index 9e2b966..0000000 Binary files a/images/DElix/DE18.png and /dev/null differ diff --git a/images/DElix/DE180.png b/images/DElix/DE180.png deleted file mode 100644 index da92cf7..0000000 Binary files a/images/DElix/DE180.png and /dev/null differ diff --git a/images/DElix/DE181.png b/images/DElix/DE181.png deleted file mode 100644 index 4496cae..0000000 Binary files a/images/DElix/DE181.png and /dev/null differ diff --git a/images/DElix/DE182.png b/images/DElix/DE182.png deleted file mode 100644 index 7faa236..0000000 Binary files a/images/DElix/DE182.png and /dev/null differ diff --git a/images/DElix/DE183.png b/images/DElix/DE183.png deleted file mode 100644 index 3cf7de3..0000000 Binary files a/images/DElix/DE183.png and /dev/null differ diff --git a/images/DElix/DE184.png b/images/DElix/DE184.png deleted file mode 100644 index 7de5a1d..0000000 Binary files a/images/DElix/DE184.png and /dev/null differ diff --git a/images/DElix/DE185.png b/images/DElix/DE185.png deleted file mode 100644 index 8227f31..0000000 Binary files a/images/DElix/DE185.png and /dev/null differ diff --git a/images/DElix/DE186.png b/images/DElix/DE186.png deleted file mode 100644 index e27760e..0000000 Binary files a/images/DElix/DE186.png and /dev/null differ diff --git a/images/DElix/DE187.png b/images/DElix/DE187.png deleted file mode 100644 index ddbc7c1..0000000 Binary files a/images/DElix/DE187.png and /dev/null differ diff --git a/images/DElix/DE188.png b/images/DElix/DE188.png deleted file mode 100644 index 43ff601..0000000 Binary files a/images/DElix/DE188.png and /dev/null differ diff --git a/images/DElix/DE189.png b/images/DElix/DE189.png deleted file mode 100644 index a1f5a1b..0000000 Binary files a/images/DElix/DE189.png and /dev/null differ diff --git a/images/DElix/DE19.png b/images/DElix/DE19.png deleted file mode 100644 index 58cd25e..0000000 Binary files a/images/DElix/DE19.png and /dev/null differ diff --git a/images/DElix/DE190.png b/images/DElix/DE190.png deleted file mode 100644 index 2b60d9e..0000000 Binary files a/images/DElix/DE190.png and /dev/null differ diff --git a/images/DElix/DE191.png b/images/DElix/DE191.png deleted file mode 100644 index 7b5c8c6..0000000 Binary files a/images/DElix/DE191.png and /dev/null differ diff --git a/images/DElix/DE192.png b/images/DElix/DE192.png deleted file mode 100644 index 7e37a28..0000000 Binary files a/images/DElix/DE192.png and /dev/null differ diff --git a/images/DElix/DE193.png b/images/DElix/DE193.png deleted file mode 100644 index 0b65e53..0000000 Binary files a/images/DElix/DE193.png and /dev/null differ diff --git a/images/DElix/DE194.png b/images/DElix/DE194.png deleted file mode 100644 index 3119cc3..0000000 Binary files a/images/DElix/DE194.png and /dev/null differ diff --git a/images/DElix/DE195.png b/images/DElix/DE195.png deleted file mode 100644 index 122ae0e..0000000 Binary files a/images/DElix/DE195.png and /dev/null differ diff --git a/images/DElix/DE196.png b/images/DElix/DE196.png deleted file mode 100644 index 59bb422..0000000 Binary files a/images/DElix/DE196.png and /dev/null differ diff --git a/images/DElix/DE197.png b/images/DElix/DE197.png deleted file mode 100644 index 81e4aea..0000000 Binary files a/images/DElix/DE197.png and /dev/null differ diff --git a/images/DElix/DE198.png b/images/DElix/DE198.png deleted file mode 100644 index 06031ef..0000000 Binary files a/images/DElix/DE198.png and /dev/null differ diff --git a/images/DElix/DE199.png b/images/DElix/DE199.png deleted file mode 100644 index 3f8ff0a..0000000 Binary files a/images/DElix/DE199.png and /dev/null differ diff --git a/images/DElix/DE2.png b/images/DElix/DE2.png deleted file mode 100644 index 4c51f5e..0000000 Binary files a/images/DElix/DE2.png and /dev/null differ diff --git a/images/DElix/DE20.png b/images/DElix/DE20.png deleted file mode 100644 index 890ba1e..0000000 Binary files a/images/DElix/DE20.png and /dev/null differ diff --git a/images/DElix/DE200.png b/images/DElix/DE200.png deleted file mode 100644 index cea37e8..0000000 Binary files a/images/DElix/DE200.png and /dev/null differ diff --git a/images/DElix/DE201.png b/images/DElix/DE201.png deleted file mode 100644 index 2d13f43..0000000 Binary files a/images/DElix/DE201.png and /dev/null differ diff --git a/images/DElix/DE202.png b/images/DElix/DE202.png deleted file mode 100644 index d0a7983..0000000 Binary files a/images/DElix/DE202.png and /dev/null differ diff --git a/images/DElix/DE203.png b/images/DElix/DE203.png deleted file mode 100644 index 5afd097..0000000 Binary files a/images/DElix/DE203.png and /dev/null differ diff --git a/images/DElix/DE204.png b/images/DElix/DE204.png deleted file mode 100644 index 206e365..0000000 Binary files a/images/DElix/DE204.png and /dev/null differ diff --git a/images/DElix/DE205.png b/images/DElix/DE205.png deleted file mode 100644 index 692b9d6..0000000 Binary files a/images/DElix/DE205.png and /dev/null differ diff --git a/images/DElix/DE206.png b/images/DElix/DE206.png deleted file mode 100644 index 50a6b14..0000000 Binary files a/images/DElix/DE206.png and /dev/null differ diff --git a/images/DElix/DE207.png b/images/DElix/DE207.png deleted file mode 100644 index c7de6b5..0000000 Binary files a/images/DElix/DE207.png and /dev/null differ diff --git a/images/DElix/DE208.png b/images/DElix/DE208.png deleted file mode 100644 index cecdd3a..0000000 Binary files a/images/DElix/DE208.png and /dev/null differ diff --git a/images/DElix/DE209.png b/images/DElix/DE209.png deleted file mode 100644 index 50ca70c..0000000 Binary files a/images/DElix/DE209.png and /dev/null differ diff --git a/images/DElix/DE21.png b/images/DElix/DE21.png deleted file mode 100644 index 80aa2de..0000000 Binary files a/images/DElix/DE21.png and /dev/null differ diff --git a/images/DElix/DE210.png b/images/DElix/DE210.png deleted file mode 100644 index 5018a60..0000000 Binary files a/images/DElix/DE210.png and /dev/null differ diff --git a/images/DElix/DE211.png b/images/DElix/DE211.png deleted file mode 100644 index 925dc07..0000000 Binary files a/images/DElix/DE211.png and /dev/null differ diff --git a/images/DElix/DE212.png b/images/DElix/DE212.png deleted file mode 100644 index a3b7bd3..0000000 Binary files a/images/DElix/DE212.png and /dev/null differ diff --git a/images/DElix/DE213.png b/images/DElix/DE213.png deleted file mode 100644 index c31625f..0000000 Binary files a/images/DElix/DE213.png and /dev/null differ diff --git a/images/DElix/DE214.png b/images/DElix/DE214.png deleted file mode 100644 index 487040e..0000000 Binary files a/images/DElix/DE214.png and /dev/null differ diff --git a/images/DElix/DE215.png b/images/DElix/DE215.png deleted file mode 100644 index 59902ea..0000000 Binary files a/images/DElix/DE215.png and /dev/null differ diff --git a/images/DElix/DE216.png b/images/DElix/DE216.png deleted file mode 100644 index 2c22582..0000000 Binary files a/images/DElix/DE216.png and /dev/null differ diff --git a/images/DElix/DE217.png b/images/DElix/DE217.png deleted file mode 100644 index f480425..0000000 Binary files a/images/DElix/DE217.png and /dev/null differ diff --git a/images/DElix/DE218.png b/images/DElix/DE218.png deleted file mode 100644 index ac9d087..0000000 Binary files a/images/DElix/DE218.png and /dev/null differ diff --git a/images/DElix/DE219.png b/images/DElix/DE219.png deleted file mode 100644 index df4a913..0000000 Binary files a/images/DElix/DE219.png and /dev/null differ diff --git a/images/DElix/DE22.png b/images/DElix/DE22.png deleted file mode 100644 index 24235e2..0000000 Binary files a/images/DElix/DE22.png and /dev/null differ diff --git a/images/DElix/DE220.png b/images/DElix/DE220.png deleted file mode 100644 index fa18750..0000000 Binary files a/images/DElix/DE220.png and /dev/null differ diff --git a/images/DElix/DE221.png b/images/DElix/DE221.png deleted file mode 100644 index fba6ec0..0000000 Binary files a/images/DElix/DE221.png and /dev/null differ diff --git a/images/DElix/DE222.png b/images/DElix/DE222.png deleted file mode 100644 index 9e92c77..0000000 Binary files a/images/DElix/DE222.png and /dev/null differ diff --git a/images/DElix/DE223.png b/images/DElix/DE223.png deleted file mode 100644 index 8abe0d0..0000000 Binary files a/images/DElix/DE223.png and /dev/null differ diff --git a/images/DElix/DE23.png b/images/DElix/DE23.png deleted file mode 100644 index 1fde30f..0000000 Binary files a/images/DElix/DE23.png and /dev/null differ diff --git a/images/DElix/DE27.png b/images/DElix/DE27.png deleted file mode 100644 index 2c861b0..0000000 Binary files a/images/DElix/DE27.png and /dev/null differ diff --git a/images/DElix/DE28.png b/images/DElix/DE28.png deleted file mode 100644 index 02ee2bb..0000000 Binary files a/images/DElix/DE28.png and /dev/null differ diff --git a/images/DElix/DE29.png b/images/DElix/DE29.png deleted file mode 100644 index e6ceb89..0000000 Binary files a/images/DElix/DE29.png and /dev/null differ diff --git a/images/DElix/DE3.png b/images/DElix/DE3.png deleted file mode 100644 index 3f2dd81..0000000 Binary files a/images/DElix/DE3.png and /dev/null differ diff --git a/images/DElix/DE30.png b/images/DElix/DE30.png deleted file mode 100644 index 70a7dbc..0000000 Binary files a/images/DElix/DE30.png and /dev/null differ diff --git a/images/DElix/DE31.png b/images/DElix/DE31.png deleted file mode 100644 index 14b34a9..0000000 Binary files a/images/DElix/DE31.png and /dev/null differ diff --git a/images/DElix/DE32.png b/images/DElix/DE32.png deleted file mode 100644 index cd2b562..0000000 Binary files a/images/DElix/DE32.png and /dev/null differ diff --git a/images/DElix/DE33.png b/images/DElix/DE33.png deleted file mode 100644 index 2939c8b..0000000 Binary files a/images/DElix/DE33.png and /dev/null differ diff --git a/images/DElix/DE34.png b/images/DElix/DE34.png deleted file mode 100644 index c853d76..0000000 Binary files a/images/DElix/DE34.png and /dev/null differ diff --git a/images/DElix/DE35.png b/images/DElix/DE35.png deleted file mode 100644 index 31df9da..0000000 Binary files a/images/DElix/DE35.png and /dev/null differ diff --git a/images/DElix/DE36.png b/images/DElix/DE36.png deleted file mode 100644 index c3fc0fc..0000000 Binary files a/images/DElix/DE36.png and /dev/null differ diff --git a/images/DElix/DE37.png b/images/DElix/DE37.png deleted file mode 100644 index b1b70cf..0000000 Binary files a/images/DElix/DE37.png and /dev/null differ diff --git a/images/DElix/DE38.png b/images/DElix/DE38.png deleted file mode 100644 index a813804..0000000 Binary files a/images/DElix/DE38.png and /dev/null differ diff --git a/images/DElix/DE39.png b/images/DElix/DE39.png deleted file mode 100644 index 8c1d354..0000000 Binary files a/images/DElix/DE39.png and /dev/null differ diff --git a/images/DElix/DE4.png b/images/DElix/DE4.png deleted file mode 100644 index a96e751..0000000 Binary files a/images/DElix/DE4.png and /dev/null differ diff --git a/images/DElix/DE40.png b/images/DElix/DE40.png deleted file mode 100644 index 74ec6f2..0000000 Binary files a/images/DElix/DE40.png and /dev/null differ diff --git a/images/DElix/DE41.png b/images/DElix/DE41.png deleted file mode 100644 index a7a0e9a..0000000 Binary files a/images/DElix/DE41.png and /dev/null differ diff --git a/images/DElix/DE43.png b/images/DElix/DE43.png deleted file mode 100644 index a27b561..0000000 Binary files a/images/DElix/DE43.png and /dev/null differ diff --git a/images/DElix/DE44.png b/images/DElix/DE44.png deleted file mode 100644 index cd6fc2d..0000000 Binary files a/images/DElix/DE44.png and /dev/null differ diff --git a/images/DElix/DE45.png b/images/DElix/DE45.png deleted file mode 100644 index b543a77..0000000 Binary files a/images/DElix/DE45.png and /dev/null differ diff --git a/images/DElix/DE46.png b/images/DElix/DE46.png deleted file mode 100644 index c0cbf36..0000000 Binary files a/images/DElix/DE46.png and /dev/null differ diff --git a/images/DElix/DE47.png b/images/DElix/DE47.png deleted file mode 100644 index 61cd540..0000000 Binary files a/images/DElix/DE47.png and /dev/null differ diff --git a/images/DElix/DE48.png b/images/DElix/DE48.png deleted file mode 100644 index 1e51908..0000000 Binary files a/images/DElix/DE48.png and /dev/null differ diff --git a/images/DElix/DE49.png b/images/DElix/DE49.png deleted file mode 100644 index 1b8cb92..0000000 Binary files a/images/DElix/DE49.png and /dev/null differ diff --git a/images/DElix/DE5.png b/images/DElix/DE5.png deleted file mode 100644 index 9d3a584..0000000 Binary files a/images/DElix/DE5.png and /dev/null differ diff --git a/images/DElix/DE50.png b/images/DElix/DE50.png deleted file mode 100644 index 0d4e571..0000000 Binary files a/images/DElix/DE50.png and /dev/null differ diff --git a/images/DElix/DE51.png b/images/DElix/DE51.png deleted file mode 100644 index a5abfb6..0000000 Binary files a/images/DElix/DE51.png and /dev/null differ diff --git a/images/DElix/DE52.png b/images/DElix/DE52.png deleted file mode 100644 index 6b4c5ec..0000000 Binary files a/images/DElix/DE52.png and /dev/null differ diff --git a/images/DElix/DE53.png b/images/DElix/DE53.png deleted file mode 100644 index 785907e..0000000 Binary files a/images/DElix/DE53.png and /dev/null differ diff --git a/images/DElix/DE54.png b/images/DElix/DE54.png deleted file mode 100644 index 42de3a5..0000000 Binary files a/images/DElix/DE54.png and /dev/null differ diff --git a/images/DElix/DE55.png b/images/DElix/DE55.png deleted file mode 100644 index 48ab59a..0000000 Binary files a/images/DElix/DE55.png and /dev/null differ diff --git a/images/DElix/DE56.png b/images/DElix/DE56.png deleted file mode 100644 index 29ef015..0000000 Binary files a/images/DElix/DE56.png and /dev/null differ diff --git a/images/DElix/DE57.png b/images/DElix/DE57.png deleted file mode 100644 index 6465163..0000000 Binary files a/images/DElix/DE57.png and /dev/null differ diff --git a/images/DElix/DE58.png b/images/DElix/DE58.png deleted file mode 100644 index 47bc6e3..0000000 Binary files a/images/DElix/DE58.png and /dev/null differ diff --git a/images/DElix/DE59.png b/images/DElix/DE59.png deleted file mode 100644 index 98241c1..0000000 Binary files a/images/DElix/DE59.png and /dev/null differ diff --git a/images/DElix/DE6.png b/images/DElix/DE6.png deleted file mode 100644 index 60705c5..0000000 Binary files a/images/DElix/DE6.png and /dev/null differ diff --git a/images/DElix/DE60.png b/images/DElix/DE60.png deleted file mode 100644 index 843685c..0000000 Binary files a/images/DElix/DE60.png and /dev/null differ diff --git a/images/DElix/DE61.png b/images/DElix/DE61.png deleted file mode 100644 index 9509423..0000000 Binary files a/images/DElix/DE61.png and /dev/null differ diff --git a/images/DElix/DE62.png b/images/DElix/DE62.png deleted file mode 100644 index 4a69ef5..0000000 Binary files a/images/DElix/DE62.png and /dev/null differ diff --git a/images/DElix/DE63.png b/images/DElix/DE63.png deleted file mode 100644 index eca3f3d..0000000 Binary files a/images/DElix/DE63.png and /dev/null differ diff --git a/images/DElix/DE64.png b/images/DElix/DE64.png deleted file mode 100644 index 84bcfe4..0000000 Binary files a/images/DElix/DE64.png and /dev/null differ diff --git a/images/DElix/DE65.png b/images/DElix/DE65.png deleted file mode 100644 index 92cc442..0000000 Binary files a/images/DElix/DE65.png and /dev/null differ diff --git a/images/DElix/DE67.png b/images/DElix/DE67.png deleted file mode 100644 index 3b70caf..0000000 Binary files a/images/DElix/DE67.png and /dev/null differ diff --git a/images/DElix/DE68.png b/images/DElix/DE68.png deleted file mode 100644 index f1ac51c..0000000 Binary files a/images/DElix/DE68.png and /dev/null differ diff --git a/images/DElix/DE69.png b/images/DElix/DE69.png deleted file mode 100644 index 011df00..0000000 Binary files a/images/DElix/DE69.png and /dev/null differ diff --git a/images/DElix/DE7.png b/images/DElix/DE7.png deleted file mode 100644 index 44775ae..0000000 Binary files a/images/DElix/DE7.png and /dev/null differ diff --git a/images/DElix/DE70.png b/images/DElix/DE70.png deleted file mode 100644 index 5a7bb97..0000000 Binary files a/images/DElix/DE70.png and /dev/null differ diff --git a/images/DElix/DE71.png b/images/DElix/DE71.png deleted file mode 100644 index 3d87014..0000000 Binary files a/images/DElix/DE71.png and /dev/null differ diff --git a/images/DElix/DE72.png b/images/DElix/DE72.png deleted file mode 100644 index f8e75bb..0000000 Binary files a/images/DElix/DE72.png and /dev/null differ diff --git a/images/DElix/DE73.png b/images/DElix/DE73.png deleted file mode 100644 index 78388c7..0000000 Binary files a/images/DElix/DE73.png and /dev/null differ diff --git a/images/DElix/DE74.png b/images/DElix/DE74.png deleted file mode 100644 index be0a028..0000000 Binary files a/images/DElix/DE74.png and /dev/null differ diff --git a/images/DElix/DE75.png b/images/DElix/DE75.png deleted file mode 100644 index 79e608c..0000000 Binary files a/images/DElix/DE75.png and /dev/null differ diff --git a/images/DElix/DE76.png b/images/DElix/DE76.png deleted file mode 100644 index 45db971..0000000 Binary files a/images/DElix/DE76.png and /dev/null differ diff --git a/images/DElix/DE77.png b/images/DElix/DE77.png deleted file mode 100644 index 6952c81..0000000 Binary files a/images/DElix/DE77.png and /dev/null differ diff --git a/images/DElix/DE78.png b/images/DElix/DE78.png deleted file mode 100644 index 4fb0652..0000000 Binary files a/images/DElix/DE78.png and /dev/null differ diff --git a/images/DElix/DE79.png b/images/DElix/DE79.png deleted file mode 100644 index 67bd5be..0000000 Binary files a/images/DElix/DE79.png and /dev/null differ diff --git a/images/DElix/DE8.png b/images/DElix/DE8.png deleted file mode 100644 index d52a13d..0000000 Binary files a/images/DElix/DE8.png and /dev/null differ diff --git a/images/DElix/DE80.png b/images/DElix/DE80.png deleted file mode 100644 index 22af43d..0000000 Binary files a/images/DElix/DE80.png and /dev/null differ diff --git a/images/DElix/DE81.png b/images/DElix/DE81.png deleted file mode 100644 index e070e7d..0000000 Binary files a/images/DElix/DE81.png and /dev/null differ diff --git a/images/DElix/DE82.png b/images/DElix/DE82.png deleted file mode 100644 index 37902ad..0000000 Binary files a/images/DElix/DE82.png and /dev/null differ diff --git a/images/DElix/DE83.png b/images/DElix/DE83.png deleted file mode 100644 index 658f0c5..0000000 Binary files a/images/DElix/DE83.png and /dev/null differ diff --git a/images/DElix/DE84.png b/images/DElix/DE84.png deleted file mode 100644 index 5917b74..0000000 Binary files a/images/DElix/DE84.png and /dev/null differ diff --git a/images/DElix/DE85.png b/images/DElix/DE85.png deleted file mode 100644 index 34aad70..0000000 Binary files a/images/DElix/DE85.png and /dev/null differ diff --git a/images/DElix/DE86.png b/images/DElix/DE86.png deleted file mode 100644 index 5473323..0000000 Binary files a/images/DElix/DE86.png and /dev/null differ diff --git a/images/DElix/DE87.png b/images/DElix/DE87.png deleted file mode 100644 index bf1273d..0000000 Binary files a/images/DElix/DE87.png and /dev/null differ diff --git a/images/DElix/DE88.png b/images/DElix/DE88.png deleted file mode 100644 index 1e2540e..0000000 Binary files a/images/DElix/DE88.png and /dev/null differ diff --git a/images/DElix/DE89.png b/images/DElix/DE89.png deleted file mode 100644 index f484981..0000000 Binary files a/images/DElix/DE89.png and /dev/null differ diff --git a/images/DElix/DE9.png b/images/DElix/DE9.png deleted file mode 100644 index 3f45165..0000000 Binary files a/images/DElix/DE9.png and /dev/null differ diff --git a/images/DElix/DE90.png b/images/DElix/DE90.png deleted file mode 100644 index eff7fc9..0000000 Binary files a/images/DElix/DE90.png and /dev/null differ diff --git a/images/DElix/DE91.png b/images/DElix/DE91.png deleted file mode 100644 index 233cdb4..0000000 Binary files a/images/DElix/DE91.png and /dev/null differ diff --git a/images/DElix/DE92.png b/images/DElix/DE92.png deleted file mode 100644 index 0cb78ba..0000000 Binary files a/images/DElix/DE92.png and /dev/null differ diff --git a/images/DElix/DE93.png b/images/DElix/DE93.png deleted file mode 100644 index 3e05b43..0000000 Binary files a/images/DElix/DE93.png and /dev/null differ diff --git a/images/DElix/DE94.png b/images/DElix/DE94.png deleted file mode 100644 index 109c6b0..0000000 Binary files a/images/DElix/DE94.png and /dev/null differ diff --git a/images/DElix/DE95.png b/images/DElix/DE95.png deleted file mode 100644 index 4c610d1..0000000 Binary files a/images/DElix/DE95.png and /dev/null differ diff --git a/images/DElix/DE96.png b/images/DElix/DE96.png deleted file mode 100644 index b131602..0000000 Binary files a/images/DElix/DE96.png and /dev/null differ diff --git a/images/DElix/DE97.png b/images/DElix/DE97.png deleted file mode 100644 index 8594eda..0000000 Binary files a/images/DElix/DE97.png and /dev/null differ diff --git a/images/DElix/DE98.png b/images/DElix/DE98.png deleted file mode 100644 index 753584b..0000000 Binary files a/images/DElix/DE98.png and /dev/null differ diff --git a/images/DElix/DE99.png b/images/DElix/DE99.png deleted file mode 100644 index cfbb2ad..0000000 Binary files a/images/DElix/DE99.png and /dev/null differ