diff --git a/.github/workflows/autohotkey-app.yml b/.github/workflows/autohotkey-app.yml index 86b3a45..b301c88 100644 --- a/.github/workflows/autohotkey-app.yml +++ b/.github/workflows/autohotkey-app.yml @@ -1,6 +1,6 @@ # https://github.com/marketplace/actions/ahk2exe -name: Test an AutoHotKey application. +name: Test an AutoHotKey application on: push: @@ -12,8 +12,8 @@ on: workflow_dispatch: jobs: - test: - + build: + name: Test runs-on: windows-latest steps: diff --git a/Lib/AssignMapVariables.ahk b/Lib/AssignMapVariables.ahk index 5906333..9254bb5 100644 --- a/Lib/AssignMapVariables.ahk +++ b/Lib/AssignMapVariables.ahk @@ -28,6 +28,7 @@ AssignMapVariables() { EngineerX := , EngineerY := } Else If (Map = "Tree Stump") { ; NOT AVALIABLE } Else If (Map = "Town Center") { ; NOT AVALIABLE + } Else If (Map = "Middle Of The Road") { ; NOT AVALIABLE } Else If (Map = "One Two Tree") { ; NOT AVALIABLE } Else If (Map = "Scrapyard") { ; NOT AVALIABLE } Else If (Map = "The Cabin") { ; NOT AVALIABLE @@ -56,6 +57,7 @@ AssignMapVariables() { FarmX := 261, FarmY := 597 SpikeX := 284, SpikeY := 703 VillageX := 396, VillageY := 578 + } Else If (Map = "Polyphemus") { ; NOT AVALIABLE } Else If (Map = "Covered Garden") { ; NOT AVALIABLE } Else If (Map = "Quarry") { ; NOT AVALIABLE } Else If (Map = "Quiet Street") { @@ -94,6 +96,7 @@ AssignMapVariables() { } Else If (Map = "Off The Coast") { ; NOT AVALIABLE } Else If (Map = "Cornfield") { ; NOT AVALIABLE } Else If (Map = "Underground") { ; NOT AVALIABLE + } Else If (Map = "Dark Dungeons") { ; NOT AVALIABLE } Else If (Map = "Sanctuary") { ; NOT AVALIABLE } Else If (Map = "Ravine") { ; NOT AVALIABLE } Else If (Map = "Flooded Valley") { ; NOT AVALIABLE @@ -110,4 +113,4 @@ AssignMapVariables() { } Else If (Map = "#Ouch") { ; NOT AVALIABLE } Return - } \ No newline at end of file +} \ No newline at end of file diff --git a/Lib/Create.ahk b/Lib/Create.ahk index c7952af..a9b53ad 100644 --- a/Lib/Create.ahk +++ b/Lib/Create.ahk @@ -47,33 +47,37 @@ Create(tower) { Send, {k} ; Monkey Village } Else If (tower = "Hero") { Send, {u} ; Heroes + } Else If (tower = "Handler") { + Send, {i} ; Beast Handler } BlockInput Off TowerClick(tower) ; Places tower If DebugMode SendInput, {F12} ; Screenshot - If (tower = "Hero") { ; Added delay for other heros' higher purchase costs - If (Hero = "Captain Churchill") { ; $2000 + If (tower = "Hero") { ; Added delay for other heroes' higher purchase costs + If (Hero = "Captain Churchill") { ; $2000 Sleep, 146000 - } Else If (Hero = "Benjamin") { ; $1200 + } Else If (Hero = "Benjamin") { ; $1200 Sleep, 66000 - } Else If (Hero = "Adora") { ; $1000 + } Else If (Hero = "Adora" or Hero = "Psi" ) { ; $1000 Sleep, 46000 - } Else If (Hero = "Gwendolin") { ; $900 + } Else If (Hero = "Admiral Brickell") { ; $900 Sleep, 36000 - } Else If (Hero = "Etienne") { ; $850 + } Else If (Hero = "Etienne") { ; $850 Sleep, 31000 - } Else If (Hero = "Psi" or Hero = "Pat Fusty") { ; $800 + } Else If (Hero = "Pat Fusty") { ; $800 Sleep, 26000 - } Else If (Hero = "Striker Jones" or Hero = "Admiral Brickell") { ; $750 + } Else If (Hero = "Striker Jones") { ; $750 Sleep, 21000 - } Else If (Hero = "Geraldo") { ; $700 + } Else If (Hero = "Gwendolin") { ; $725 + Sleep, 18500 + } Else If (Hero = "Geraldo") { ; $700 Sleep, 16000 - } Else If (Hero = "Obyn Greenfoot") { ; $650 + } Else If (Hero = "Obyn Greenfoot") { ; $650 Sleep, 11000 - } Else If (Hero = "Ezili" or Hero = "Sauda") { ; $600 + } Else If (Hero = "Ezili" or Hero = "Sauda") { ; $600 Sleep, 6000 - } Else If (Hero = "Quincy") { ; $540 + } Else If (Hero = "Quincy") { ; $540 Sleep, 1000 } } diff --git a/Lib/Info.ahk b/Lib/Info.ahk index 05f7975..f234fd9 100644 --- a/Lib/Info.ahk +++ b/Lib/Info.ahk @@ -6,7 +6,7 @@ Info() { } Else If (type = "Instructions") { message = 1. Launch Bloons TD 6 to the main menu.`n2. Choose your gameplay configuration.`n3. Adjust default preferences if necessary.`n4. Start the bot ('F2' key works too).`n5. Exit anytime with 'F4'. } Else If (type = "License") { - message = License, MIT License`n`nCopyright (c) 2020-2023 wazam`n`nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:`n`nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.`n`nTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + message = License, MIT License`n`nCopyright (c) 2020 wazam`n`nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:`n`nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.`n`nTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. } Else If (type = "Hints") { message = `fDark Castle on Easy for holiday collection event rewards/crates and monkey money (the quickest expert-map). Deflation is good too here, but it takes longer to complete and event rewards from completing Deflation Mode were specifically nerfed.`n`n`fLogs on Impoppable for profile level XP and simpliest success at round 100 insta monkey (the easiest map).`n`n`fPlaying past game victory/completion until defeat when losing all your lives helps with pop-counts for BADs, DDTs, and Fortified Bloons (rounds 100-120 have x10 rounds 1-100). } Else If (type = "Scripting") { diff --git a/main.ahk b/main.ahk index 7a8ffa3..fb91233 100644 --- a/main.ahk +++ b/main.ahk @@ -14,10 +14,10 @@ SetWinDelay, 65 CoordMode, Mouse, Client CoordMode, Pixel, Client -UpdateDate = 2023-02-04 -BloonsVersion = 34.3.6116 +UpdateDate = 2023-05-05 +BloonsVersion = 36.3.6489 -global OrderedMaps = ["Monkey Meadow","Tree Stump","Town Center","One Two Tree","Scrapyard","The Cabin","Resort","Skates","Lotus Island","Candy Falls","Winter Park","Carved","Park Path","Alpine Run","Frozen Over","In The Loop","Cubism","Four Circles","Hedge","End Of The Road","Logs","","","","Covered Garden","Quarry","Quiet Street","Bloonarius Prime","Balance","Encrypted","Bazaar","Adora's Temple","Spring Spring","KartsNDarts","Moon Landing","Haunted","Downstream","Firing Range","Cracked","Streambed","Chutes","Rake","Spice Islands","","","","","","Midnight Mansion","Sunken Columns","X Factor","Mesa","Geared","Spillway","Cargo","Pat's Pond","Peninsula","High Finance","Another Brick","Off The Coast","Cornfield","Underground","","","","","Sanctuary","Ravine","Flooded Valley","Infernal","Bloddy Puddles","Workshop","Quad","Dark Castle","Muddy Puddles","#Ouch","",""] +global OrderedMaps = ["Monkey Meadow","Tree Stump","Town Center","Middle Of The Road","One Two Tree","Scrapyard","The Cabin","Resort","Skates","Lotus Island","Candy Falls","Winter Park","Carved","Park Path","Alpine Run","Frozen Over","In The Loop","Cubism","Four Circles","Hedge","End Of The Road","Logs","","","Polyphemus","Covered Garden","Quarry","Quiet Street","Bloonarius Prime","Balance","Encrypted","Bazaar","Adora's Temple","Spring Spring","KartsNDarts","Moon Landing","Haunted","Downstream","Firing Range","Cracked","Streambed","Chutes","Rake","Spice Islands","","","","","Midnight Mansion","Sunken Columns","X Factor","Mesa","Geared","Spillway","Cargo","Pat's Pond","Peninsula","High Finance","Another Brick","Off The Coast","Cornfield","Underground","","","","","Dark Dungeons","Sanctuary","Ravine","Flooded Valley","Infernal","Bloddy Puddles","Workshop","Quad","Dark Castle","Muddy Puddles","#Ouch",""] global OrderedHeros = ["Quincy","Gwendolin","Striker Jones","Obyn Greenfoot","Geraldo","Captain Churchill","Benjamin","Ezili","Pat Fusty","Adora","Admiral Brickell","Etienne","Sauda","Psi",""] global Map,Difficulty,Hero,StartOn,EndOn,DebugMode,CashMode,CustomScript,LoopAmount,Storefront,Resolution,ClientWidth,ClientHeight,nextX,nextY