├── .gitignore ├── LICENSE.txt ├── README.md ├── docs ├── FAQ.md ├── assets │ ├── gathertab1.png │ ├── gathertab2.png │ └── gui.png ├── custom_content_guide.md └── features_explaination.md ├── e_macro.command ├── paths ├── cannon_to_field │ ├── bamboo.py │ ├── blue flower.py │ ├── cactus.py │ ├── clover.py │ ├── coconut.py │ ├── dandelion.py │ ├── mountain top.py │ ├── mushroom.py │ ├── pepper.py │ ├── pine tree.py │ ├── pineapple.py │ ├── pumpkin.py │ ├── rose.py │ ├── spider.py │ ├── strawberry.py │ ├── stump.py │ └── sunflower.py ├── collect │ ├── ant_pass_dispenser.py │ ├── blender.py │ ├── blue_booster.py │ ├── blueberry_dispenser.py │ ├── candles.py │ ├── claim │ │ ├── candles.py │ │ ├── feast.py │ │ ├── lid_art.py │ │ ├── samovar.py │ │ ├── stockings.py │ │ └── wreath.py │ ├── coconut_dispenser.py │ ├── extreme_memory_match.py │ ├── feast.py │ ├── glue_dispenser.py │ ├── honeystorm.py │ ├── lid_art.py │ ├── mega_memory_match.py │ ├── memory_match.py │ ├── mountain_booster.py │ ├── red_booster.py │ ├── royal_jelly_dispenser.py │ ├── samovar.py │ ├── snow_machine.py │ ├── sticker_printer.py │ ├── sticker_stack.py │ ├── stockings.py │ ├── strawberry_dispenser.py │ ├── treat_dispenser.py │ ├── wealth_clock.py │ ├── winter_memory_match.py │ └── wreath.py ├── field_to_hive │ ├── bamboo.py │ ├── blue flower.py │ ├── cactus.py │ ├── clover.py │ ├── coconut.py │ ├── dandelion.py │ ├── mountain top.py │ ├── mushroom.py │ ├── pepper.py │ ├── pine tree.py │ ├── pineapple.py │ ├── pumpkin.py │ ├── rose.py │ ├── spider.py │ ├── strawberry.py │ ├── stump.py │ └── sunflower.py ├── mob_runs │ ├── bamboo.py │ ├── blue flower.py │ ├── clover.py │ ├── mushroom.py │ ├── pumpkin.py │ ├── rosell.py │ ├── spider.py │ └── strawberry.py ├── planters │ ├── bamboo.py │ ├── blue flower.py │ ├── cactus.py │ ├── coconut.py │ ├── mushroom.py │ ├── pine tree.py │ ├── pineapple.py │ ├── pumpkin.py │ ├── rose.py │ ├── spider.py │ ├── strawberry.py │ └── sunflower.py ├── quests │ ├── bucko bee.py │ ├── honey bee.py │ ├── polar bear.py │ ├── quest_riley.workflow │ │ └── Contents │ │ │ ├── Info.plist │ │ │ └── document.wflow │ └── riley bee.py └── vic │ ├── find_vic │ ├── cactus.py │ ├── clover.py │ ├── mountain top.py │ ├── pepper.py │ ├── rose.py │ └── spider.py │ └── kill_vic │ ├── cactus.py │ ├── clover.py │ ├── mountain top.py │ ├── pepper.py │ ├── rose.py │ └── spider.py ├── settings ├── generalsettings.txt ├── patterns │ ├── cornerxe_lol.py │ ├── cornerxsnake.py │ ├── e_lol.py │ ├── old e_lol.py │ ├── precise.py │ ├── snake.py │ ├── spiral.py │ ├── squares.py │ ├── stationary.py │ └── supercat.py └── profiles │ └── a │ ├── fields.txt │ └── settings.txt ├── src ├── data │ ├── bss │ │ └── quest_data.txt │ ├── default_settings │ │ ├── fields.txt │ │ ├── generalsettings.txt │ │ └── settings.txt │ └── user │ │ ├── AFB.txt │ │ ├── blender.txt │ │ ├── hotbar_timings.txt │ │ ├── hourly_report_bg.txt │ │ ├── hourly_report_history.txt │ │ ├── hourly_report_main.txt │ │ ├── manualplanters.txt │ │ ├── screen.txt │ │ ├── sticker_stack.txt │ │ └── timings.txt ├── gui.py ├── hourly_report │ ├── Inter │ │ ├── Inter-Italic-VariableFont_opsz,wght.ttf │ │ ├── Inter-VariableFont_opsz,wght.ttf │ │ ├── OFL.txt │ │ ├── README.txt │ │ └── static │ │ │ ├── Inter_18pt-Black.ttf │ │ │ ├── Inter_18pt-BlackItalic.ttf │ │ │ ├── Inter_18pt-Bold.ttf │ │ │ ├── Inter_18pt-BoldItalic.ttf │ │ │ ├── Inter_18pt-ExtraBold.ttf │ │ │ ├── Inter_18pt-ExtraBoldItalic.ttf │ │ │ ├── Inter_18pt-ExtraLight.ttf │ │ │ ├── Inter_18pt-ExtraLightItalic.ttf │ │ │ ├── Inter_18pt-Italic.ttf │ │ │ ├── Inter_18pt-Light.ttf │ │ │ ├── Inter_18pt-LightItalic.ttf │ │ │ ├── Inter_18pt-Medium.ttf │ │ │ ├── Inter_18pt-MediumItalic.ttf │ │ │ ├── Inter_18pt-Regular.ttf │ │ │ ├── Inter_18pt-SemiBold.ttf │ │ │ ├── Inter_18pt-SemiBoldItalic.ttf │ │ │ ├── Inter_18pt-Thin.ttf │ │ │ ├── Inter_18pt-ThinItalic.ttf │ │ │ ├── Inter_24pt-Black.ttf │ │ │ ├── Inter_24pt-BlackItalic.ttf │ │ │ ├── Inter_24pt-Bold.ttf │ │ │ ├── Inter_24pt-BoldItalic.ttf │ │ │ ├── Inter_24pt-ExtraBold.ttf │ │ │ ├── Inter_24pt-ExtraBoldItalic.ttf │ │ │ ├── Inter_24pt-ExtraLight.ttf │ │ │ ├── Inter_24pt-ExtraLightItalic.ttf │ │ │ ├── Inter_24pt-Italic.ttf │ │ │ ├── Inter_24pt-Light.ttf │ │ │ ├── Inter_24pt-LightItalic.ttf │ │ │ ├── Inter_24pt-Medium.ttf │ │ │ ├── Inter_24pt-MediumItalic.ttf │ │ │ ├── Inter_24pt-Regular.ttf │ │ │ ├── Inter_24pt-SemiBold.ttf │ │ │ ├── Inter_24pt-SemiBoldItalic.ttf │ │ │ ├── Inter_24pt-Thin.ttf │ │ │ ├── Inter_24pt-ThinItalic.ttf │ │ │ ├── Inter_28pt-Black.ttf │ │ │ ├── Inter_28pt-BlackItalic.ttf │ │ │ ├── Inter_28pt-Bold.ttf │ │ │ ├── Inter_28pt-BoldItalic.ttf │ │ │ ├── Inter_28pt-ExtraBold.ttf │ │ │ ├── Inter_28pt-ExtraBoldItalic.ttf │ │ │ ├── Inter_28pt-ExtraLight.ttf │ │ │ ├── Inter_28pt-ExtraLightItalic.ttf │ │ │ ├── Inter_28pt-Italic.ttf │ │ │ ├── Inter_28pt-Light.ttf │ │ │ ├── Inter_28pt-LightItalic.ttf │ │ │ ├── Inter_28pt-Medium.ttf │ │ │ ├── Inter_28pt-MediumItalic.ttf │ │ │ ├── Inter_28pt-Regular.ttf │ │ │ ├── Inter_28pt-SemiBold.ttf │ │ │ ├── Inter_28pt-SemiBoldItalic.ttf │ │ │ ├── Inter_28pt-Thin.ttf │ │ │ └── Inter_28pt-ThinItalic.ttf │ ├── assets │ │ ├── average_icon.png │ │ ├── baby_love_buff.png │ │ ├── balloon_aura_buff.png │ │ ├── bear_buff.png │ │ ├── blessing_buff.png │ │ ├── bloat_buff.png │ │ ├── blue_clay_planter.png │ │ ├── bomb_combo_buff.png │ │ ├── boost_buff.png │ │ ├── candy_planter.png │ │ ├── comforting.png │ │ ├── festive_planter.png │ │ ├── focus_buff.png │ │ ├── haste_buff.png │ │ ├── heat-treated_planter.png │ │ ├── history_icon.png │ │ ├── honey_icon.png │ │ ├── hydroponic_planter.png │ │ ├── inspire_buff.png │ │ ├── invigorating.png │ │ ├── kill_icon.png │ │ ├── macro_icon.png │ │ ├── melody_buff.png │ │ ├── motivating.png │ │ ├── paper_planter.png │ │ ├── pesticide_planter.png │ │ ├── petal_planter.png │ │ ├── planter_of_plenty_planter.png │ │ ├── plastic_planter.png │ │ ├── polar_power_buff.png │ │ ├── quest_icon.png │ │ ├── red_clay_planter.png │ │ ├── refreshing.png │ │ ├── satisfying.png │ │ ├── session_honey_icon.png │ │ ├── sticker_planter.png │ │ ├── tabby_love_buff.png │ │ ├── tacky_planter.png │ │ ├── ticket_planter.png │ │ ├── time_icon.png │ │ ├── vicious_bee_icon.png │ │ └── wealth_clock_buff.png │ ├── page1.html │ ├── page2.html │ ├── page3.html │ ├── page4.html │ ├── page5.html │ ├── script.js │ └── style.css ├── images │ ├── blue │ │ ├── coconutcrab_defeat-retina copy.png │ │ ├── coconutcrab_defeat-retina.png │ │ ├── defeated-retina.png │ │ ├── died-retina.png │ │ ├── foundvic-retina.png │ │ ├── mondo-retina.png │ │ ├── notinfield-retina.png │ │ ├── planter-retina.png │ │ ├── tokenlink-retina.png │ │ ├── viccactus-retina.png │ │ ├── vicclover-retina.png │ │ ├── vicdefeat-retina.png │ │ ├── vicmountain top-retina.png │ │ ├── vicpepper-retina.png │ │ ├── vicrose-retina.png │ │ └── vicspider-retina.png │ ├── buffs │ │ ├── baby_love-retina.png │ │ ├── balloon_aura-retina.png │ │ ├── bearmorph1-retina.png │ │ ├── bearmorph2-retina.png │ │ ├── bearmorph3-retina.png │ │ ├── bearmorph4-retina.png │ │ ├── bearmorph5-retina.png │ │ ├── blessing-retina.png │ │ ├── blessing1-retina.png │ │ ├── blessing2-retina.png │ │ ├── blessing3-retina.png │ │ ├── blessing4-retina.png │ │ ├── bloat-retina.png │ │ ├── blue_boost-retina.png │ │ ├── comforting-retina.png │ │ ├── haste+.png │ │ ├── haste1.png │ │ ├── haste10.png │ │ ├── haste2.png │ │ ├── haste3.png │ │ ├── haste4.png │ │ ├── haste5.png │ │ ├── haste6.png │ │ ├── haste7.png │ │ ├── haste8.png │ │ ├── haste9.png │ │ ├── invigorating-retina.png │ │ ├── melody-retina.png │ │ ├── motivating-retina.png │ │ ├── polar_power-retina.png │ │ ├── refreshing-retina.png │ │ ├── satisfying-retina.png │ │ ├── tabby_love-retina.png │ │ ├── test │ │ │ ├── haste1.png │ │ │ ├── haste10.png │ │ │ ├── haste2.png │ │ │ ├── haste3.png │ │ │ ├── haste4.png │ │ │ ├── haste5.png │ │ │ ├── haste6.png │ │ │ ├── haste7.png │ │ │ ├── haste8.png │ │ │ └── haste9.png │ │ └── wealth_clock-retina.png │ ├── inventory │ │ ├── blueclayplanter-retina.png │ │ ├── candyplanter-retina.png │ │ ├── festiveplanter-retina.png │ │ ├── glitter-retina.png │ │ ├── gumdrops-retina.png │ │ ├── heattreatedplanter-retina.png │ │ ├── hydroponicplanter-retina.png │ │ ├── natro │ │ │ ├── blueberry.png │ │ │ ├── blueclayplanter.png │ │ │ ├── candyplanter.png │ │ │ ├── festiveplanter.png │ │ │ ├── glitter.png │ │ │ ├── gumdrops.png │ │ │ ├── heattreatedplanter.png │ │ │ ├── hydroponicplanter.png │ │ │ ├── paperplanter.png │ │ │ ├── pesticideplanter.png │ │ │ ├── petalplanter.png │ │ │ ├── planterofplenty.png │ │ │ ├── plasticplanter.png │ │ │ ├── redclayplanter.png │ │ │ ├── stickerplanter.png │ │ │ ├── strawberry.png │ │ │ ├── tackyplanter.png │ │ │ └── ticketplanter.png │ │ ├── old │ │ │ ├── blueberry-retina.png │ │ │ ├── blueclayplanter-retina.png │ │ │ ├── candyplanter-built-in.png │ │ │ ├── festiveplanter-built-in.png │ │ │ ├── field dice-retina.png │ │ │ ├── glitter-retina.png │ │ │ ├── gumdrops-retina.png │ │ │ ├── heattreatedplanter-retina.png │ │ │ ├── hydroponicplanter-retina.png │ │ │ ├── loaded dice-retina.png │ │ │ ├── paperplanter-retina.png │ │ │ ├── pesticideplanter-retina.png │ │ │ ├── petalplanter-retina.png │ │ │ ├── planterofplentyplanter-retina.png │ │ │ ├── plasticplanter-retina.png │ │ │ ├── redclayplanter-retina.png │ │ │ ├── stickerplanter-retina.png │ │ │ ├── strawberry-retina.png │ │ │ ├── tackyplanter-retina.png │ │ │ ├── ticketplanter-retina.png │ │ │ └── whirligig-retina.png │ │ ├── paperplanter-retina.png │ │ ├── pesticideplanter-retina.png │ │ ├── petalplanter-retina.png │ │ ├── plasticplanter-retina.png │ │ ├── redclayplanter-retina.png │ │ ├── stickerplanter-retina.png │ │ ├── tackyplanter-retina.png │ │ ├── ticketplanter-retina.png │ │ └── whirligig-retina.png │ ├── mac │ │ ├── allow-retina.png │ │ ├── gamemodedark-retina.png │ │ └── gamemodelight-retina.png │ ├── menu │ │ ├── blenderadd-retina.png │ │ ├── blendercancel-retina.png │ │ ├── blenderclose-retina.png │ │ ├── blenderconfirm-retina.png │ │ ├── blenderdone-retina.png │ │ ├── blenderend-retina.png │ │ ├── blendermake-retina.png │ │ ├── cannon-retina.png │ │ ├── claimhive-retina.png │ │ ├── close-retina.png │ │ ├── confirm-retina.png │ │ ├── dialog-retina.png │ │ ├── disconnect-retina.png │ │ ├── ebutton-retina.png │ │ ├── emptyhealth-retina.png │ │ ├── emptyhealth_new-retina.png │ │ ├── inventoryopen-retina.png │ │ ├── makehoney-retina.png │ │ ├── mmempty.png │ │ ├── mmopen-retina.png │ │ ├── no-retina.png │ │ ├── nopollen-retina.png │ │ ├── performancestats-retina.png │ │ ├── replace-retina.png │ │ ├── signup-retina.png │ │ ├── sprinkler-retina.png │ │ ├── stickerbookclose-retina.png │ │ └── yes-retina.png │ ├── misc │ │ ├── hive-retina.png │ │ ├── honey_0-retina.png │ │ ├── honey_1-retina.png │ │ ├── honey_2-retina.png │ │ ├── honey_3-retina.png │ │ ├── honey_4-retina.png │ │ ├── honey_5-retina.png │ │ ├── honey_6-retina.png │ │ ├── honey_7-retina.png │ │ ├── honey_8-retina.png │ │ └── honey_9-retina.png │ ├── mmopen-built-in.png │ └── sticker_stack │ │ ├── hivesticker-retina.png │ │ └── regularsticker-retina.png ├── main.py ├── modules │ ├── controls │ │ ├── keyboard.py │ │ ├── mouse.py │ │ └── sleep.py │ ├── discord_bot │ │ └── discordBot.py │ ├── logging │ │ ├── log.py │ │ └── webhook.py │ ├── macro.py │ ├── misc │ │ ├── appManager.py │ │ ├── appleScript.py │ │ ├── imageManipulation.py │ │ ├── messageBox.py │ │ ├── settingsManager.py │ │ └── update.py │ ├── screen │ │ ├── imageSearch.py │ │ ├── ocr.py │ │ ├── pixelColor.py │ │ ├── screenData.py │ │ └── screenshot.py │ └── submacros │ │ ├── backpack.py │ │ ├── convertAhkPattern.py │ │ ├── fieldDriftCompensation.py │ │ ├── hasteCompensation.py │ │ ├── hourlyReport.py │ │ ├── memoryMatch.py │ │ ├── stream.py │ │ └── walk.py ├── test.py ├── test3.py ├── test4.py └── webapp │ ├── assets │ ├── general │ │ ├── favicon.ico │ │ ├── icon - Copy.png │ │ └── icon.png │ ├── icons │ │ ├── blue_clay_planter.png │ │ ├── blue_extract.png │ │ ├── candy_planter.png │ │ ├── caustic_wax.png │ │ ├── chevron.png │ │ ├── comforting.png │ │ ├── enzymes.png │ │ ├── festive_planter.png │ │ ├── field_dice.png │ │ ├── glitter.png │ │ ├── glue.png │ │ ├── gumdrops.png │ │ ├── hard_wax.png │ │ ├── heat-treated_planter.png │ │ ├── hydroponic_planter.png │ │ ├── invigorating.png │ │ ├── loaded_dice.png │ │ ├── moon_charm.png │ │ ├── motivating.png │ │ ├── oil.png │ │ ├── paper_planter.png │ │ ├── pesticide_planter.png │ │ ├── petal_planter.png │ │ ├── planter_of_plenty_planter.png │ │ ├── plastic_planter.png │ │ ├── purple_potion.png │ │ ├── red_clay_planter.png │ │ ├── red_extract.png │ │ ├── refreshing.png │ │ ├── satisfying.png │ │ ├── smooth_dice.png │ │ ├── soft_wax.png │ │ ├── star_jelly.png │ │ ├── sticker_planter.png │ │ ├── sticker_stack.png │ │ ├── super_smoothie.png │ │ ├── swirled_wax.png │ │ ├── tacky_planter.png │ │ ├── ticket_planter.png │ │ ├── tropical_drink.png │ │ └── turpentine.png │ ├── settings │ │ └── discord.png │ └── sidebar │ │ ├── boost.png │ │ ├── collect.png │ │ ├── config.png │ │ ├── gather.png │ │ ├── home.png │ │ ├── image.png │ │ ├── kill.png │ │ ├── planters.png │ │ └── quests.png │ ├── htmlImports │ ├── persistent │ │ ├── header.html │ │ └── tabs.html │ └── tabs │ │ ├── boost.html │ │ ├── collect.html │ │ ├── config.html │ │ ├── gather.html │ │ ├── home.html │ │ ├── kill.html │ │ ├── planters.html │ │ └── quests.html │ ├── index.html │ ├── scripts │ ├── emojis.js │ ├── script.js │ ├── tabs │ │ ├── boost.js │ │ ├── collect.js │ │ ├── config.js │ │ ├── gather.js │ │ ├── home.js │ │ ├── kill.js │ │ ├── planters.js │ │ ├── quests.js │ │ └── tab.js │ ├── ui-builder.js │ └── utilities.js │ └── styles │ └── style.css └── tools ├── check file.command └── run file.command /.gitignore: -------------------------------------------------------------------------------- 1 | __pycache__/ 2 | *.py[cod] 3 | .DS_STORE 4 | macroLogs.log 5 | bin 6 | include 7 | lib 8 | share 9 | /src/node_modules 10 | src/webapp/test.html 11 | src/webhookScreenshot.png 12 | src/page1.png 13 | src/page2.png 14 | src/hourlyReport.png 15 | src/latest-quest.png 16 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2024, exihs 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | 1. Redistributions of source code must retain the above copyright 7 | notice, this list of conditions and the following disclaimer. 8 | 2. Redistributions in binary form must reproduce the above copyright 9 | notice, this list of conditions and the following disclaimer in the 10 | documentation and/or other materials provided with the distribution. 11 | 3. All advertising materials mentioning features or use of this software 12 | must display the following acknowledgement: 13 | This product includes software developed by the . 14 | 4. Neither the name of the nor the 15 | names of its contributors may be used to endorse or promote products 16 | derived from this software without specific prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER ''AS IS'' AND ANY 19 | EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 22 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 24 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 25 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 26 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE 27 | USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Existance Macro (Scroll down for new discord server) 2 | ![Discord](https://img.shields.io/discord/1065032948119769118?label=Discord&color=7289da&logo=discord&logoColor=white&link=https://discord.gg/WdbWgFewqx) 3 | ![GitHub Repo stars](https://img.shields.io/github/stars/existancepy/bss-macro-py?style=flat&label=Stars&color=fff240&logo=github&logocolor=white&link=https://github.com/existancepy/bss-macro-py/stargazers) 4 | ![Repo Size](https://img.shields.io/github/repo-size/existancepy/bss-macro-py?label=Repo%20Size&logo=github&logoColor=white) 5 | 6 | A Python macro for [Bee Swarm Simulator](https://www.roblox.com/games/1537690962/Bee-Swarm-Simulator) designed for MacOS and Windows. 7 | 8 | Existance Macro is a free and open source software, link: https://github.com/existancepy/bss-macro-py 9 | 10 | ![gui](https://raw.githubusercontent.com/existancepy/bss-macro-py-experimental/3b6d5fa0c9110f4ae1baad9bac3c1f393eeed74f/docs/assets/gui.png) 11 | ## Community 12 | [Join the Discord!](https://discord.gg/3qf8bgqCVu) 13 | 14 | This is where you can receive update news, guides, support/troubleshooting help and download custom content made by other users (patterns, paths, settings, etc) 15 | 16 | ## Features 17 | - Gathering 18 | - Gather up to 3 fields 19 | - Choose from preset patterns or import your own 20 | - Settings align with [natro's](https://github.com/NatroTeam/NatroMacro) 21 | - Collect 22 | - Claim dispensers like wealth clock, glue dispenser and more 23 | - Collect the Mondo Chick's Buff 24 | - Complete memory matches 25 | - Craft and collect items from the blender 26 | - Kill 27 | - Automate bug runs 28 | - Kill bosses like coconut crab and stump snail 29 | - Farm for stingers with stinger hunt 30 | - Planters 31 | - Customise your planter cycles 32 | - Boost your planter's growth by automating glitter usage and gathering in planter field 33 | - Boost 34 | - Customise when and how often hotbar slots are used 35 | - Collect buffs from the sticker stack and field boosts 36 | -------------------------------------------------------------------------------- /docs/FAQ.md: -------------------------------------------------------------------------------- 1 | # FAQ 2 | This page contains frequently asked questions pertaining to the macro 3 | 4 | ### 1. Are there any in-game requirements to using this macro? 5 | Yes. Since the macro primarily uses the red cannon for moving around, you'll need to have the red cannon unlocked with the hang glider equipped 6 | 7 | ### 2. How do I macro while my macbook's lid closed? 8 | You can disable mac's auto sleep feature with this command 9 | *(Note: you'll need to enter your password, which won't be displayed)* 10 | ```console 11 | sudo pmset disablesleep 1 12 | ``` 13 | You can re-enable sleep with this command: 14 | ```console 15 | sudo pmset disablesleep 0 16 | ``` 17 | 18 | ### 3. Does the macro damage my mac? 19 | 20 | Not directly. However, your mac's battery and performance may suffer over time 21 | - Battery: 22 | Since running the macro for long periods of time requires your mac to be plugged in, this can lead to overcharging which decreases the battery's lifespan. This degradation can be slwoed down by enabling optimized battery charging in the mac's system settings. 23 | - Performance: 24 | Like all electronics, your mac will slow down over time due to wear and tear, and this process is accelerated when running the macro for long periods. 25 | 26 | ### 4. How do I add patterns to the macro? 27 | - You can add the pattern file to the settings -> patterns
28 | *The pattern file can either be a python file (.py) or an autohotkey file (.ahk)* 29 | - After adding the file in, restart the macro 30 | 31 | ### 5. Can I use natro patterns with this macro? 32 | Yes, the macro is able to convert natro ahk patterns into python ones. Refer to #4 to see how to import a pattern 33 | 34 | ### 6. Are natro settings the same as this macro's? 35 | Yes, this macro was designed to match natro's gather settings 36 | 37 | -------------------------------------------------------------------------------- /docs/assets/gathertab1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/docs/assets/gathertab1.png -------------------------------------------------------------------------------- /docs/assets/gathertab2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/docs/assets/gathertab2.png -------------------------------------------------------------------------------- /docs/assets/gui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/docs/assets/gui.png -------------------------------------------------------------------------------- /e_macro.command: -------------------------------------------------------------------------------- 1 | 2 | #!/bin/sh 3 | #kill all python processes 4 | pkill -9 Python 5 | pkill -9 Python3 6 | pkill -9 Python3.9 7 | pkill -9 Python3.8 8 | pkill -9 Python3.7 9 | 10 | #get system information 11 | chip=$(arch) 12 | os_ver=$(sw_vers -productVersion) 13 | 14 | python_ver="3.9" 15 | if [ $chip = 'i386' ]; then 16 | if echo -e "$os_ver \n10.15.0" | sort -V | tail -n1 | grep -Fq "10.15.0"; then 17 | python_ver="3.7" 18 | printf "Correct python ver: 3.7" 19 | elif echo -e "$os_ver \n12.0.0" | sort -V | tail -n1 | grep -Fq "12.0.0"; then 20 | python_ver="3.8" 21 | printf "Correct python ver: 3.8" 22 | fi 23 | fi 24 | 25 | cd "$(dirname "$0")" 26 | if [ -d bin ]; then 27 | source ./bin/activate 28 | printf "activating virtual environment" 29 | fi 30 | 31 | runPython() { 32 | if command -v $1 >/dev/null 2>&1; then 33 | echo "Trying to run macro with $1" 34 | $1 main.py 35 | fi 36 | 37 | } 38 | 39 | cd src 40 | runPython python3.7 41 | runPython python3.8 42 | runPython python3.9 43 | -------------------------------------------------------------------------------- /paths/cannon_to_field/bamboo.py: -------------------------------------------------------------------------------- 1 | 2 | self.keyboard.press(",") 3 | self.keyboard.press(",") 4 | self.keyboard.slowPress("e") 5 | sleep(0.55) 6 | self.keyboard.keyDown("w") 7 | self.keyboard.slowPress("space") 8 | self.keyboard.slowPress("space") 9 | sleep(1.8) 10 | self.keyboard.keyUp("w") 11 | self.keyboard.slowPress("space") 12 | time.sleep(1) 13 | 14 | 15 | -------------------------------------------------------------------------------- /paths/cannon_to_field/blue flower.py: -------------------------------------------------------------------------------- 1 | 2 | self.keyboard.press(",") 3 | self.keyboard.press(",") 4 | self.keyboard.slowPress("e") 5 | sleep(0.08) 6 | self.keyboard.keyDown("w") 7 | self.keyboard.slowPress("space") 8 | self.keyboard.slowPress("space") 9 | sleep(3) 10 | self.keyboard.keyUp("w") 11 | self.keyboard.slowPress("space") 12 | sleep(0.8) -------------------------------------------------------------------------------- /paths/cannon_to_field/cactus.py: -------------------------------------------------------------------------------- 1 | self.keyboard.press(".") 2 | self.keyboard.press(".") 3 | self.keyboard.press(".") 4 | self.keyboard.slowPress("e") 5 | sleep(0.08) 6 | self.keyboard.keyDown("w") 7 | sleep(0.5) 8 | self.keyboard.slowPress("space") 9 | self.keyboard.slowPress("space") 10 | sleep(1.4) 11 | self.keyboard.slowPress(",") 12 | sleep(0.35) 13 | self.keyboard.slowPress("space") 14 | self.keyboard.keyUp("w") 15 | self.keyboard.press(",") 16 | self.keyboard.press(",") 17 | sleep(0.8) 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /paths/cannon_to_field/clover.py: -------------------------------------------------------------------------------- 1 | 2 | self.keyboard.press(",") 3 | self.keyboard.press(",") 4 | self.keyboard.slowPress("e") 5 | sleep(0.08) 6 | self.keyboard.keyDown("w") 7 | self.keyboard.slowPress("space") 8 | self.keyboard.slowPress("space") 9 | sleep(3) 10 | self.keyboard.slowPress(".") 11 | self.keyboard.slowPress(".") 12 | sleep(0.8) 13 | self.keyboard.keyUp("w") 14 | self.keyboard.slowPress("space") 15 | sleep(0.6) 16 | 17 | 18 | -------------------------------------------------------------------------------- /paths/cannon_to_field/coconut.py: -------------------------------------------------------------------------------- 1 | 2 | self.keyboard.press(".") 3 | self.keyboard.slowPress("e") 4 | sleep(0.12) 5 | self.keyboard.keyDown("w") 6 | self.keyboard.slowPress("space") 7 | self.keyboard.slowPress("space") 8 | sleep(4.2) 9 | self.keyboard.slowPress(",") 10 | sleep(1.5) 11 | self.keyboard.keyUp("w") 12 | self.keyboard.slowPress("space") 13 | sleep(0.5) 14 | self.keyboard.walk("d",2.5) 15 | for _ in range(3): 16 | self.keyboard.keyDown("w") 17 | self.keyboard.slowPress('space') 18 | sleep(0.2) 19 | self.keyboard.keyUp("w") 20 | 21 | self.keyboard.walk('w',2) 22 | self.keyboard.press("space") 23 | self.keyboard.walk('a',2.5) 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /paths/cannon_to_field/dandelion.py: -------------------------------------------------------------------------------- 1 | 2 | self.keyboard.press(",") 3 | self.keyboard.press(",") 4 | self.keyboard.slowPress("e") 5 | self.keyboard.keyDown("w") 6 | self.keyboard.slowPress("space") 7 | self.keyboard.slowPress("space") 8 | sleep(0.45) 9 | self.keyboard.press(".") 10 | self.keyboard.press(".") 11 | sleep(1) 12 | self.keyboard.keyUp("w") 13 | self.keyboard.slowPress("space") 14 | for _ in range(2): 15 | self.keyboard.press(",") 16 | sleep(0.6) 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /paths/cannon_to_field/mountain top.py: -------------------------------------------------------------------------------- 1 | 2 | self.keyboard.slowPress("e") 3 | sleep(2) 4 | 5 | -------------------------------------------------------------------------------- /paths/cannon_to_field/mushroom.py: -------------------------------------------------------------------------------- 1 | 2 | self.keyboard.slowPress(",") 3 | self.keyboard.slowPress(",") 4 | self.keyboard.slowPress(",") 5 | self.keyboard.slowPress("e") 6 | self.keyboard.keyDown("w") 7 | self.keyboard.slowPress("space") 8 | self.keyboard.slowPress("space") 9 | self.keyboard.keyUp("w") 10 | self.keyboard.slowPress("space") 11 | self.keyboard.slowPress(",") 12 | #self.keyboard.walk("s",0.4) 13 | sleep(1) 14 | 15 | 16 | -------------------------------------------------------------------------------- /paths/cannon_to_field/pepper.py: -------------------------------------------------------------------------------- 1 | 2 | self.keyboard.press(".") 3 | self.keyboard.slowPress("e") 4 | sleep(0.12) 5 | self.keyboard.keyDown("w") 6 | self.keyboard.slowPress("space") 7 | self.keyboard.slowPress("space") 8 | sleep(4.2) 9 | self.keyboard.slowPress(",") 10 | sleep(1.5) 11 | self.keyboard.keyUp("w") 12 | self.keyboard.slowPress("space") 13 | sleep(0.5) 14 | self.keyboard.walk("d",2.5) 15 | self.keyboard.walk("w",0.6) 16 | for _ in range(3): 17 | self.keyboard.keyDown("w") 18 | self.keyboard.slowPress('space') 19 | sleep(0.2) 20 | self.keyboard.keyUp("w") 21 | 22 | self.keyboard.walk('w',2) 23 | self.keyboard.keyDown("w") 24 | self.keyboard.slowPress('space') 25 | sleep(0.2) 26 | self.keyboard.keyUp("w") 27 | self.keyboard.walk('w',4) 28 | self.keyboard.slowPress(".") 29 | self.keyboard.keyDown("w") 30 | self.keyboard.slowPress('space') 31 | sleep(0.2) 32 | self.keyboard.keyUp("w") 33 | self.keyboard.walk('w',7) 34 | self.keyboard.slowPress(",") 35 | self.keyboard.keyDown("d") 36 | self.keyboard.slowPress('space') 37 | sleep(0.2) 38 | self.keyboard.keyUp("d") 39 | self.keyboard.walk("d",1.9) 40 | self.keyboard.walk("s",2.9) 41 | for _ in range(2): 42 | self.keyboard.press(".") 43 | 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /paths/cannon_to_field/pine tree.py: -------------------------------------------------------------------------------- 1 | 2 | self.keyboard.press(".") 3 | self.keyboard.press(".") 4 | self.keyboard.press(".") 5 | self.keyboard.slowPress("e") 6 | sleep(0.08) 7 | self.keyboard.keyDown("w") 8 | sleep(0.5) 9 | self.keyboard.slowPress("space") 10 | self.keyboard.slowPress("space") 11 | sleep(2.7) 12 | self.keyboard.slowPress(",") 13 | sleep(1.6) 14 | self.keyboard.keyUp("w") 15 | self.keyboard.press("space") 16 | self.keyboard.press(".") 17 | self.keyboard.press(".") 18 | sleep(0.6) 19 | 20 | -------------------------------------------------------------------------------- /paths/cannon_to_field/pineapple.py: -------------------------------------------------------------------------------- 1 | 2 | self.keyboard.press(",") 3 | self.keyboard.press(",") 4 | self.keyboard.slowPress("e") 5 | self.keyboard.keyDown("w") 6 | sleep(1.15) 7 | self.keyboard.slowPress("space") 8 | self.keyboard.slowPress("space") 9 | sleep(2.5) 10 | self.keyboard.slowPress(",") 11 | self.keyboard.slowPress(",") 12 | sleep(0.75) 13 | sleep(0.02) 14 | self.keyboard.slowPress("space") 15 | self.keyboard.keyUp("w") 16 | sleep(0.8) 17 | 18 | -------------------------------------------------------------------------------- /paths/cannon_to_field/pumpkin.py: -------------------------------------------------------------------------------- 1 | 2 | self.keyboard.press(".") 3 | self.keyboard.press(".") 4 | self.keyboard.press(".") 5 | self.keyboard.slowPress("e") 6 | sleep(0.08) 7 | self.keyboard.keyDown("w") 8 | sleep(0.5) 9 | self.keyboard.slowPress("space") 10 | self.keyboard.slowPress("space") 11 | sleep(1.9) 12 | self.keyboard.slowPress(",") 13 | self.keyboard.slowPress(".") 14 | sleep(0.08) 15 | self.keyboard.slowPress(".") 16 | self.keyboard.keyUp("w") 17 | self.keyboard.slowPress("space") 18 | sleep(0.5) 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /paths/cannon_to_field/rose.py: -------------------------------------------------------------------------------- 1 | 2 | self.keyboard.press(".") 3 | self.keyboard.press(".") 4 | self.keyboard.slowPress("e") 5 | sleep(0.11) 6 | self.keyboard.keyDown("w") 7 | self.keyboard.slowPress("space") 8 | self.keyboard.slowPress("space") 9 | sleep(2.9) 10 | self.keyboard.slowPress(",") 11 | self.keyboard.slowPress(",") 12 | self.keyboard.keyUp("w") 13 | self.keyboard.slowPress("space") 14 | for _ in range(2): 15 | self.keyboard.press(".") 16 | sleep(0.6) 17 | 18 | 19 | -------------------------------------------------------------------------------- /paths/cannon_to_field/spider.py: -------------------------------------------------------------------------------- 1 | 2 | self.keyboard.slowPress(",") 3 | self.keyboard.slowPress(",") 4 | self.keyboard.slowPress(",") 5 | self.keyboard.slowPress("e") 6 | sleep(0.3) 7 | self.keyboard.keyDown("w") 8 | self.keyboard.slowPress("space") 9 | self.keyboard.slowPress("space") 10 | self.keyboard.slowPress(",") 11 | self.keyboard.keyUp("w") 12 | self.keyboard.slowPress("space") 13 | sleep(1.2) 14 | 15 | 16 | -------------------------------------------------------------------------------- /paths/cannon_to_field/strawberry.py: -------------------------------------------------------------------------------- 1 | 2 | self.keyboard.press(".") 3 | self.keyboard.press(".") 4 | self.keyboard.slowPress("e") 5 | sleep(0.45) 6 | self.keyboard.keyDown("w") 7 | self.keyboard.slowPress("space") 8 | self.keyboard.slowPress("space") 9 | sleep(1.5) 10 | self.keyboard.keyUp("w") 11 | self.keyboard.press("space") 12 | sleep(1) 13 | 14 | 15 | -------------------------------------------------------------------------------- /paths/cannon_to_field/stump.py: -------------------------------------------------------------------------------- 1 | 2 | self.keyboard.press(",") 3 | self.keyboard.press(",") 4 | self.keyboard.slowPress("e") 5 | self.keyboard.keyDown("w") 6 | sleep(1.15) 7 | self.keyboard.slowPress("space") 8 | self.keyboard.slowPress("space") 9 | time.sleep(2.5) 10 | self.keyboard.slowPress(",") 11 | self.keyboard.slowPress(",") 12 | self.keyboard.slowPress(".") 13 | self.keyboard.slowPress(".") 14 | sleep(1.6) 15 | self.keyboard.slowPress("space") 16 | self.keyboard.keyUp("w") 17 | sleep(0.6) 18 | 19 | -------------------------------------------------------------------------------- /paths/cannon_to_field/sunflower.py: -------------------------------------------------------------------------------- 1 | 2 | self.keyboard.slowPress(".") 3 | self.keyboard.slowPress(".") 4 | self.keyboard.slowPress("e") 5 | sleep(0.08) 6 | self.keyboard.keyDown("w") 7 | self.keyboard.slowPress("space") 8 | self.keyboard.slowPress("space") 9 | sleep(1.1) 10 | self.keyboard.slowPress(",") 11 | self.keyboard.slowPress(",") 12 | sleep(0.6) 13 | self.keyboard.keyUp("w") 14 | self.keyboard.slowPress("space") 15 | for _ in range(2): 16 | self.keyboard.press(".") 17 | sleep(0.8) 18 | 19 | -------------------------------------------------------------------------------- /paths/collect/ant_pass_dispenser.py: -------------------------------------------------------------------------------- 1 | self.keyboard.walk("s", 0.1) 2 | self.keyboard.press("space") 3 | self.keyboard.walk("a", 13, False) 4 | self.keyboard.keyDown("w") 5 | time.sleep(2) 6 | self.keyboard.press("space") 7 | time.sleep(3.5) 8 | self.keyboard.keyUp("w") 9 | self.keyboard.walk("a", 0.45, False) 10 | self.keyboard.keyDown("w") 11 | self.keyboard.press("space") 12 | time.sleep(1.5) 13 | self.keyboard.press("space") 14 | time.sleep(3) 15 | self.keyboard.keyUp("w") 16 | self.keyboard.walk("a", 2.5, False) 17 | self.keyboard.keyDown("w") 18 | time.sleep(6) 19 | self.keyboard.keyUp("w") 20 | self.keyboard.walk("a", 1.2) 21 | self.keyboard.walk("s", 6) -------------------------------------------------------------------------------- /paths/collect/blender.py: -------------------------------------------------------------------------------- 1 | self.runPath("cannon_to_field/pine tree") 2 | for _ in range(2): 3 | self.keyboard.press(",") 4 | self.keyboard.walk("w", 4, False) 5 | self.keyboard.walk("a", 6, False) 6 | self.keyboard.walk("w", 1, False) 7 | self.keyboard.walk("a", 4.5, False) 8 | self.keyboard.walk("w", 3, False) 9 | self.keyboard.walk("d", 1, False) -------------------------------------------------------------------------------- /paths/collect/blue_booster.py: -------------------------------------------------------------------------------- 1 | global fields 2 | fields = ["pine tree", "blue flower", "bamboo", "stump"] 3 | self.goToField("blue flower", "south") 4 | self.keyboard.press("space") 5 | self.keyboard.keyDown("a") 6 | sleep(8) 7 | self.keyboard.slowPress("space") 8 | sleep(0.2) 9 | self.keyboard.keyUp("a") 10 | self.keyboard.walk("w",4) 11 | self.keyboard.walk("d",5) 12 | self.keyboard.walk("a",0.25) 13 | self.keyboard.walk("s",7) 14 | -------------------------------------------------------------------------------- /paths/collect/blueberry_dispenser.py: -------------------------------------------------------------------------------- 1 | self.runPath("cannon_to_field/blue flower") 2 | for _ in range(2): 3 | self.keyboard.press(".") 4 | self.keyboard.press("space") 5 | self.keyboard.walk("s",3) 6 | self.keyboard.walk("a",5) 7 | self.keyboard.walk("w",1.5) 8 | self.keyboard.walk('d',0.1) 9 | self.keyboard.press(",") 10 | self.keyboard.walk("w",7) 11 | self.keyboard.press(",") 12 | -------------------------------------------------------------------------------- /paths/collect/candles.py: -------------------------------------------------------------------------------- 1 | self.keyboard.slowPress(".") 2 | self.keyboard.slowPress("e") 3 | sleep(0.12) 4 | self.keyboard.keyDown("w") 5 | self.keyboard.slowPress("space") 6 | self.keyboard.slowPress("space") 7 | sleep(3.7) 8 | self.keyboard.slowPress(".") 9 | sleep(0.2) 10 | self.keyboard.keyUp("w") 11 | self.keyboard.slowPress("space") 12 | time.sleep(0.5) 13 | self.keyboard.walk("w",1.5) 14 | -------------------------------------------------------------------------------- /paths/collect/claim/candles.py: -------------------------------------------------------------------------------- 1 | time.sleep(2) 2 | self.keyboard.walk('d',0.2) 3 | self.keyboard.walk('w',1,False) 4 | self.keyboard.walk('a',0.5) 5 | self.keyboard.walk('d',1) -------------------------------------------------------------------------------- /paths/collect/claim/feast.py: -------------------------------------------------------------------------------- 1 | sideTime = 0.11 2 | frontTime = 0.54 3 | time.sleep(2.5) 4 | self.keyboard.press(",") #feast messes up the camera angle 5 | self.keyboard.walk('a',0.56) 6 | self.keyboard.walk('w',0.22) 7 | for i in range(3): 8 | self.keyboard.walk("s", frontTime) 9 | self.keyboard.walk("d", sideTime) 10 | self.keyboard.walk("w", frontTime) 11 | self.keyboard.walk("d", sideTime) 12 | self.keyboard.walk("s", frontTime) 13 | self.keyboard.walk("d", sideTime) 14 | self.keyboard.walk("w", frontTime) 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /paths/collect/claim/lid_art.py: -------------------------------------------------------------------------------- 1 | sideTime = 0.1 2 | frontTime = 0.8 3 | time.sleep(3) 4 | self.keyboard.slowPress(".") 5 | self.keyboard.slowPress(".") 6 | self.keyboard.walk('a',0.2) 7 | self.keyboard.walk('w',0.4) 8 | for i in range(4): 9 | self.keyboard.walk("s", frontTime) 10 | self.keyboard.walk("d", sideTime) 11 | self.keyboard.walk("w", frontTime) 12 | self.keyboard.walk("d", sideTime) 13 | 14 | -------------------------------------------------------------------------------- /paths/collect/claim/samovar.py: -------------------------------------------------------------------------------- 1 | sideTime = 0.13 2 | frontTime = 0.7 3 | time.sleep(2) 4 | self.keyboard.walk('w',0.8) 5 | self.keyboard.walk('d',0.4) 6 | for i in range(3): 7 | self.keyboard.walk("s", frontTime) 8 | self.keyboard.walk("a", sideTime) 9 | self.keyboard.walk("w", frontTime) 10 | self.keyboard.walk("a", sideTime) 11 | for i in range(3): 12 | self.keyboard.walk("s", frontTime) 13 | self.keyboard.walk("d", sideTime) 14 | self.keyboard.walk("w", frontTime) 15 | self.keyboard.walk("d", sideTime) 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /paths/collect/claim/stockings.py: -------------------------------------------------------------------------------- 1 | self.keyboard.walk("w",1) 2 | self.keyboard.keyDown("s") 3 | sleep(0.2) 4 | self.keyboard.keyUp("s") 5 | self.keyboard.walk("a",1.5) 6 | self.keyboard.walk("d",1.78) 7 | self.keyboard.walk("w",0.1) 8 | self.keyboard.walk("a",1.70) -------------------------------------------------------------------------------- /paths/collect/claim/wreath.py: -------------------------------------------------------------------------------- 1 | for _ in range(4): 2 | self.keyboard.press(".") 3 | time.sleep(2) 4 | self.keyboard.walk("w",0.2) 5 | for _ in range(3): 6 | self.keyboard.walk("s",0.4) 7 | self.keyboard.walk("a",0.3) 8 | self.keyboard.walk("w",0.55) 9 | self.keyboard.walk("d",0.4) -------------------------------------------------------------------------------- /paths/collect/coconut_dispenser.py: -------------------------------------------------------------------------------- 1 | self.keyboard.press(".") 2 | self.keyboard.slowPress("e") 3 | sleep(0.12) 4 | self.keyboard.keyDown("w") 5 | self.keyboard.slowPress("space") 6 | self.keyboard.slowPress("space") 7 | sleep(4.2) 8 | self.keyboard.slowPress(",") 9 | sleep(1.5) 10 | self.keyboard.keyUp("w") 11 | self.keyboard.slowPress("space") 12 | sleep(0.5) 13 | self.keyboard.walk("d",2.5) 14 | for _ in range(3): 15 | self.keyboard.keyDown("w") 16 | self.keyboard.slowPress('space') 17 | sleep(0.2) 18 | self.keyboard.keyUp("w") 19 | 20 | self.keyboard.walk('w',2) 21 | self.keyboard.press("space") 22 | self.keyboard.walk('a',7.5, False) 23 | self.keyboard.walk('w',3, False) 24 | self.keyboard.walk('s',0.1) 25 | self.keyboard.walk('a',1, False) 26 | self.keyboard.multiWalk(["w","d"], 4.5) -------------------------------------------------------------------------------- /paths/collect/extreme_memory_match.py: -------------------------------------------------------------------------------- 1 | self.keyboard.walk("d", 4) 2 | self.keyboard.walk("w", 1) 3 | self.keyboard.keyDown("d") 4 | self.keyboard.slowPress('space') 5 | sleep(0.2) 6 | self.keyboard.keyUp("d") 7 | self.keyboard.keyDown("d") 8 | time.sleep(2) 9 | self.keyboard.slowPress('space') 10 | sleep(0.2) 11 | self.keyboard.keyUp("d") 12 | self.keyboard.keyDown("w") 13 | time.sleep(0.3) 14 | self.keyboard.slowPress('space') 15 | sleep(0.2) 16 | self.keyboard.keyUp("w") 17 | self.keyboard.walk("a",1) 18 | self.keyboard.walk("w",3) 19 | 20 | sleep(0.5) 21 | self.keyboard.walk("d",2.5) 22 | for _ in range(3): 23 | self.keyboard.keyDown("w") 24 | self.keyboard.slowPress('space') 25 | sleep(0.2) 26 | self.keyboard.keyUp("w") 27 | 28 | self.keyboard.walk('w',2) 29 | self.keyboard.keyDown("w") 30 | self.keyboard.slowPress('space') 31 | sleep(0.2) 32 | self.keyboard.keyUp("w") 33 | self.keyboard.walk('w',4) 34 | self.keyboard.press(".") 35 | self.keyboard.keyDown("w") 36 | self.keyboard.slowPress('space') 37 | sleep(0.2) 38 | self.keyboard.keyUp("w") 39 | self.keyboard.walk("w",1) 40 | self.keyboard.press(".") 41 | self.keyboard.walk("w",0.965) 42 | self.keyboard.walk("d",0.2) 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /paths/collect/feast.py: -------------------------------------------------------------------------------- 1 | self.keyboard.press(",") 2 | self.keyboard.press(",") 3 | self.keyboard.press(",") 4 | self.keyboard.press(",") 5 | self.keyboard.slowPress("e") 6 | self.keyboard.keyDown("w") 7 | sleep(0.4) 8 | self.keyboard.slowPress("space") 9 | self.keyboard.slowPress("space") 10 | sleep(0.5) 11 | self.keyboard.slowPress(",") 12 | self.keyboard.slowPress(",") 13 | self.keyboard.slowPress(".") 14 | self.keyboard.slowPress(".") 15 | sleep(0.2) 16 | self.keyboard.keyUp("w") 17 | self.keyboard.slowPress("space") 18 | time.sleep(1) 19 | if self.isBesideE(["talk", "polar"]): 20 | self.keyboard.keyDown("w") 21 | time.sleep(1) 22 | self.keyboard.press("space") 23 | time.sleep(1.5) 24 | self.keyboard.keyUp("w") 25 | 26 | 27 | -------------------------------------------------------------------------------- /paths/collect/glue_dispenser.py: -------------------------------------------------------------------------------- 1 | self.keyboard.slowPress("e") 2 | sleep(0.52) 3 | self.keyboard.keyDown("w") 4 | self.keyboard.slowPress("space") 5 | self.keyboard.slowPress("space") 6 | sleep(5.35) 7 | self.keyboard.keyUp("w") 8 | time.sleep(2.2) 9 | self.keyboard.walk("w", 1.7) 10 | 11 | 12 | targetY = self.mh/1.3 13 | kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5)) 14 | for _ in range(int(3/0.02)): 15 | self.keyboard.walk("w", 0.02) 16 | screen = mssScreenshotNP(0, 100, self.mw/2, self.mh-200) 17 | res = findColorObjectHSL(screen, [(270, 25, 20), (310, 80, 80)], kernel=kernel, best=2, draw=False) 18 | if res: 19 | res = max(res, key=lambda x: x[1]) 20 | if res[1]/2+100 >= targetY: 21 | self.logger.webhook("","Aligned with gummy bee","dark brown", "screen") 22 | break 23 | else: 24 | self.logger.webhook("Notice","Could not detect gummy bee's location","red", "screen") 25 | #self.keyboard.walk("w",2.48) 26 | itemCoords = self.findItemInInventory("gumdrops") 27 | if itemCoords is not None: 28 | self.keyboard.walk("a",1.4) 29 | self.keyboard.walk("w",0.15) 30 | self.keyboard.walk("a",0.3) 31 | time.sleep(0.3) 32 | self.keyboard.walk("w",0.1) 33 | self.useItemInInventory(x=itemCoords[0], y=itemCoords[1]) 34 | self.canDetectNight = False #dont let night be detected inside gummy bear's lair 35 | time.sleep(2) 36 | self.keyboard.walk("w",2.5) 37 | time.sleep(0.5) 38 | self.canDetectNight = True 39 | 40 | -------------------------------------------------------------------------------- /paths/collect/honeystorm.py: -------------------------------------------------------------------------------- 1 | self.runPath("collect/stockings") 2 | self.keyboard.walk("a",1.25, False) 3 | self.keyboard.walk("s",1.5) 4 | self.keyboard.walk("d",0.45) 5 | -------------------------------------------------------------------------------- /paths/collect/lid_art.py: -------------------------------------------------------------------------------- 1 | def jump(self): 2 | self.keyboard.keyDown("w") 3 | self.keyboard.slowPress('space') 4 | sleep(0.25) 5 | self.keyboard.keyUp("w") 6 | 7 | self.runPath("cannon_to_field/mountain top") 8 | for _ in range(4): 9 | self.keyboard.press(",") 10 | self.keyboard.walk("w",3) 11 | self.keyboard.walk("a",5.5) 12 | self.keyboard.walk("d",0.76) 13 | self.keyboard.walk("w",8) 14 | jump(self) 15 | self.keyboard.walk("w",5) 16 | jump(self) 17 | self.keyboard.walk("w",3) 18 | self.keyboard.walk("a",0.05) 19 | self.keyboard.walk("s",0.5) 20 | 21 | -------------------------------------------------------------------------------- /paths/collect/mega_memory_match.py: -------------------------------------------------------------------------------- 1 | self.runPath("cannon_to_field/pine tree") 2 | for _ in range(2): 3 | self.keyboard.press(",") 4 | self.keyboard.walk("w", 4, False) 5 | self.keyboard.walk("a", 6, False) 6 | self.keyboard.walk("d", 0.3, False) 7 | self.keyboard.walk("w", 1.5, False) -------------------------------------------------------------------------------- /paths/collect/memory_match.py: -------------------------------------------------------------------------------- 1 | for _ in range(2): 2 | self.keyboard.press(",") 3 | self.keyboard.press("e") 4 | self.keyboard.keyDown("w") 5 | sleep(0.8) 6 | for _ in range(2): 7 | self.keyboard.press("space") 8 | sleep(3) 9 | for _ in range(2): 10 | self.keyboard.press(",") 11 | sleep(1.9) 12 | self.keyboard.press("space") 13 | self.keyboard.keyUp("w") 14 | sleep(0.2) 15 | self.keyboard.walk("a",0.4) -------------------------------------------------------------------------------- /paths/collect/mountain_booster.py: -------------------------------------------------------------------------------- 1 | global fields 2 | fields = ["sunflower", "dandelion", "spider", "clover", "pineapple", "pumpkin", "cactus"] 3 | self.keyboard.slowPress('e') 4 | sleep(3) 5 | self.keyboard.walk("d",6) 6 | 7 | -------------------------------------------------------------------------------- /paths/collect/red_booster.py: -------------------------------------------------------------------------------- 1 | global fields 2 | fields = ["rose", "strawberry", "mushroom"] 3 | self.goToField("rose", "south") 4 | self.keyboard.press("space") 5 | self.keyboard.walk("s",1) 6 | self.keyboard.walk("a",4) 7 | self.keyboard.walk("s",3) 8 | self.keyboard.walk("w",5) 9 | self.keyboard.walk("d",1.9) 10 | self.keyboard.walk("w",4) 11 | -------------------------------------------------------------------------------- /paths/collect/royal_jelly_dispenser.py: -------------------------------------------------------------------------------- 1 | self.keyboard.slowPress(",") 2 | self.keyboard.slowPress("e") 3 | self.keyboard.keyDown("w") 4 | time.sleep(0.12) 5 | self.keyboard.slowPress("space") 6 | self.keyboard.slowPress("space") 7 | time.sleep(3.5) 8 | self.keyboard.keyUp("w") 9 | self.keyboard.slowPress("space") 10 | time.sleep(0.5) 11 | self.keyboard.walk("w",3.5) 12 | self.keyboard.walk("d",2.5) 13 | self.keyboard.walk("s",1.5) 14 | 15 | -------------------------------------------------------------------------------- /paths/collect/samovar.py: -------------------------------------------------------------------------------- 1 | def jump(self): 2 | self.keyboard.keyDown("w") 3 | self.keyboard.slowPress('space') 4 | sleep(0.23) 5 | self.keyboard.keyUp("w") 6 | 7 | self.runPath("cannon_to_field/stump") 8 | self.keyboard.press(',') 9 | self.keyboard.press(',') 10 | self.keyboard.walk("w",5) 11 | jump(self) 12 | self.keyboard.walk("w",5) 13 | self.keyboard.press(',') 14 | jump(self) 15 | self.keyboard.press('.') 16 | self.keyboard.press('.') 17 | jump(self) 18 | 19 | 20 | -------------------------------------------------------------------------------- /paths/collect/snow_machine.py: -------------------------------------------------------------------------------- 1 | self.keyboard.slowPress(",") 2 | self.keyboard.slowPress(",") 3 | self.keyboard.slowPress("e") 4 | self.keyboard.keyDown("w") 5 | sleep(0.4) 6 | self.keyboard.slowPress("space") 7 | self.keyboard.slowPress("space") 8 | sleep(3.93) 9 | self.keyboard.slowPress(".") 10 | self.keyboard.slowPress(".") 11 | sleep(0.5) 12 | self.keyboard.keyUp("w") 13 | time.sleep(0.8) 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /paths/collect/sticker_printer.py: -------------------------------------------------------------------------------- 1 | for _ in range(4): 2 | self.keyboard.press(".") 3 | self.keyboard.slowPress("e") 4 | sleep(0.95) 5 | self.keyboard.keyDown("w") 6 | self.keyboard.slowPress("space") 7 | self.keyboard.slowPress("space") 8 | sleep(0.55) 9 | for _ in range(2): 10 | self.keyboard.slowPress(".") 11 | sleep(2) 12 | self.keyboard.slowPress("space") 13 | for _ in range(2): 14 | self.keyboard.press(",") 15 | sleep(0.5) 16 | 17 | -------------------------------------------------------------------------------- /paths/collect/sticker_stack.py: -------------------------------------------------------------------------------- 1 | self.keyboard.press(".") 2 | self.keyboard.press(".") 3 | self.keyboard.slowPress("e") 4 | self.keyboard.keyDown("w") 5 | sleep(1.18) 6 | self.keyboard.slowPress("space") 7 | self.keyboard.slowPress("space") 8 | self.keyboard.keyUp("w") 9 | sleep(0.5) 10 | self.keyboard.press("d",0.3) 11 | self.keyboard.press("w",0.7) 12 | self.keyboard.slowPress("space") 13 | self.keyboard.slowPress("space") 14 | sleep(6) 15 | -------------------------------------------------------------------------------- /paths/collect/stockings.py: -------------------------------------------------------------------------------- 1 | self.keyboard.slowPress(",") 2 | self.keyboard.slowPress(",") 3 | self.keyboard.slowPress("e") 4 | time.sleep(0.8) 5 | self.keyboard.keyDown("w") 6 | self.keyboard.slowPress("space") 7 | self.keyboard.slowPress("space") 8 | sleep(2.6) 9 | self.keyboard.slowPress(".") 10 | self.keyboard.slowPress(".") 11 | sleep(3.55) 12 | self.keyboard.keyUp("w") 13 | self.keyboard.slowPress("space") 14 | sleep(0.8) 15 | 16 | 17 | -------------------------------------------------------------------------------- /paths/collect/strawberry_dispenser.py: -------------------------------------------------------------------------------- 1 | 2 | self.keyboard.slowPress(".") 3 | self.keyboard.slowPress("e") 4 | time.sleep(0.12) 5 | self.keyboard.keyDown("w") 6 | self.keyboard.slowPress("space") 7 | self.keyboard.slowPress("space") 8 | time.sleep(3.55) 9 | self.keyboard.slowPress(".") 10 | time.sleep(0.1) 11 | self.keyboard.keyUp("w") 12 | self.keyboard.slowPress("space") 13 | time.sleep(0.5) 14 | self.keyboard.walk("d",1) 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /paths/collect/treat_dispenser.py: -------------------------------------------------------------------------------- 1 | self.keyboard.slowPress(",") 2 | self.keyboard.slowPress(",") 3 | self.keyboard.slowPress("e") 4 | self.keyboard.keyDown("w") 5 | time.sleep(0.35) 6 | self.keyboard.slowPress("space") 7 | self.keyboard.slowPress("space") 8 | time.sleep(2.81) 9 | self.keyboard.slowPress(",") 10 | self.keyboard.slowPress(",") 11 | time.sleep(1.35) 12 | self.keyboard.keyUp("w") 13 | self.keyboard.slowPress("space") 14 | time.sleep(0.7) 15 | 16 | -------------------------------------------------------------------------------- /paths/collect/wealth_clock.py: -------------------------------------------------------------------------------- 1 | self.keyboard.press(",") 2 | self.keyboard.slowPress("e") 3 | time.sleep(0.95) 4 | self.keyboard.keyDown("w") 5 | self.keyboard.slowPress("space") 6 | self.keyboard.slowPress("space") 7 | time.sleep(8) 8 | self.keyboard.keyUp("w") 9 | self.keyboard.slowPress("space") 10 | time.sleep(0.8) 11 | self.keyboard.walk("w",0.2) 12 | self.keyboard.press(",") 13 | self.keyboard.press(",") 14 | self.keyboard.press(",") 15 | self.keyboard.walk("w",2.4, False) 16 | self.keyboard.press(",") 17 | self.keyboard.press(",") 18 | -------------------------------------------------------------------------------- /paths/collect/winter_memory_match.py: -------------------------------------------------------------------------------- 1 | def jump(self, dirKey): 2 | self.keyboard.keyDown(dirKey) 3 | time.sleep(2) 4 | self.keyboard.slowPress('space') 5 | sleep(0.2) 6 | self.keyboard.keyUp(dirKey) 7 | 8 | for _ in range(3): 9 | self.keyboard.press(".") 10 | self.keyboard.slowPress("e") 11 | sleep(0.08) 12 | self.keyboard.keyDown("w") 13 | sleep(0.5) 14 | self.keyboard.slowPress("space") 15 | self.keyboard.slowPress("space") 16 | sleep(2.7) 17 | self.keyboard.slowPress(",") 18 | sleep(3.5) 19 | self.keyboard.keyUp("w") 20 | self.keyboard.walk("d",4) 21 | self.keyboard.walk("w",1.5) 22 | jump(self, "w") 23 | self.keyboard.walk("w",0.5) 24 | jump(self, "w") 25 | self.keyboard.walk("w",1.5) 26 | self.keyboard.walk("s",0.7) 27 | self.keyboard.walk("a",0.3) 28 | -------------------------------------------------------------------------------- /paths/collect/wreath.py: -------------------------------------------------------------------------------- 1 | self.keyboard.walk("d",5) -------------------------------------------------------------------------------- /paths/field_to_hive/bamboo.py: -------------------------------------------------------------------------------- 1 | self.keyboard.walk("w",0.5) 2 | self.keyboard.walk("a",7) 3 | self.keyboard.walk("w",7, False) 4 | self.runPath(f"field_to_hive/blue flower") 5 | 6 | 7 | -------------------------------------------------------------------------------- /paths/field_to_hive/blue flower.py: -------------------------------------------------------------------------------- 1 | self.keyboard.walk("s",4) 2 | self.keyboard.walk("d",7.8, False) 3 | self.keyboard.keyDown("w") 4 | self.keyboard.keyDown("a") 5 | time.sleep(5) 6 | self.keyboard.keyUp("w") 7 | self.keyboard.keyUp("a") 8 | self.keyboard.keyDown("d") 9 | time.sleep(3.5) 10 | self.keyboard.press("space") 11 | time.sleep(8) 12 | self.keyboard.keyUp("d") 13 | self.keyboard.keyDown("w") 14 | time.sleep(5.5) 15 | self.keyboard.keyUp("w") 16 | self.keyboard.slowPress("space") 17 | self.keyboard.slowPress("space") 18 | time.sleep(1) 19 | self.keyboard.press("space") 20 | time.sleep(0.3) 21 | self.keyboard.keyDown("w") 22 | time.sleep(1) 23 | self.keyboard.press("space") 24 | time.sleep(3.5) 25 | self.keyboard.press("space") 26 | time.sleep(4) 27 | self.keyboard.keyUp("w") 28 | self.keyboard.walk("s",0.35) 29 | self.keyboard.walk("d",2, False) 30 | self.keyboard.walk("w",0.8) 31 | self.keyboard.multiWalk(["s","a"], 0.9) 32 | self.keyboard.walk("d",0.25) 33 | 34 | -------------------------------------------------------------------------------- /paths/field_to_hive/cactus.py: -------------------------------------------------------------------------------- 1 | for _ in range(3): 2 | self.keyboard.slowPress(".") 3 | self.keyboard.walk("w",15) 4 | for _ in range(3): 5 | self.keyboard.slowPress(",") 6 | self.runPath(f"field_to_hive/pine tree") 7 | 8 | -------------------------------------------------------------------------------- /paths/field_to_hive/clover.py: -------------------------------------------------------------------------------- 1 | self.keyboard.walk("w",4) 2 | self.keyboard.walk("d",8) 3 | self.keyboard.walk("s",5) 4 | self.keyboard.walk("d",16) 5 | self.keyboard.walk("w",4) 6 | self.keyboard.press(",") 7 | self.keyboard.walk("w",10) 8 | self.keyboard.press(".") 9 | self.keyboard.walk("s",0.6) 10 | self.keyboard.walk("d",4) 11 | self.keyboard.walk("w",1.4) 12 | self.keyboard.walk("s",0.6) 13 | -------------------------------------------------------------------------------- /paths/field_to_hive/coconut.py: -------------------------------------------------------------------------------- 1 | self.keyboard.walk("d",4) 2 | self.keyboard.walk("s",3) 3 | self.keyboard.keyDown("s") 4 | self.keyboard.slowPress('space') 5 | time.sleep(0.2) 6 | self.keyboard.keyUp("s") 7 | self.keyboard.walk("s",5) 8 | self.keyboard.walk("a",5) 9 | self.keyboard.walk("w",4) 10 | self.keyboard.walk("s",0.2) 11 | self.keyboard.walk("d",7) 12 | self.keyboard.walk("w",1) 13 | self.keyboard.walk("s",0.6) 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /paths/field_to_hive/dandelion.py: -------------------------------------------------------------------------------- 1 | self.keyboard.walk("a",1, False) 2 | self.keyboard.keyDown("s") 3 | self.keyboard.keyDown("d") 4 | time.sleep(10) 5 | self.keyboard.keyUp("s") 6 | self.keyboard.keyUp("d") 7 | self.keyboard.walk("d",2.5, False) 8 | self.keyboard.keyDown("w") 9 | time.sleep(7) 10 | self.keyboard.press("space") 11 | time.sleep(2) 12 | self.keyboard.press("space") 13 | time.sleep(2.5) 14 | self.keyboard.press("space") 15 | time.sleep(2.5) 16 | self.keyboard.keyUp("w") 17 | self.keyboard.walk("s",0.35) 18 | self.keyboard.walk("d",2, False) 19 | self.keyboard.walk("w",0.8) 20 | self.keyboard.multiWalk(["s","a"], 0.9) 21 | self.keyboard.walk("d",0.25) -------------------------------------------------------------------------------- /paths/field_to_hive/mountain top.py: -------------------------------------------------------------------------------- 1 | self.keyboard.slowPress(".") 2 | self.keyboard.walk("w",30) 3 | self.keyboard.slowPress(",") 4 | self.keyboard.slowPress(",") 5 | self.keyboard.walk("w",12) 6 | self.keyboard.slowPress(".") 7 | self.keyboard.walk("s",0.6) 8 | self.keyboard.walk("d",4) 9 | self.keyboard.walk("w",1) 10 | self.keyboard.walk("s",0.6) 11 | -------------------------------------------------------------------------------- /paths/field_to_hive/mushroom.py: -------------------------------------------------------------------------------- 1 | self.keyboard.walk("s",3) 2 | time.sleep(0.5) 3 | self.keyboard.walk("d",6) 4 | self.keyboard.walk("w",6) 5 | self.keyboard.walk("a",1.4) 6 | self.keyboard.walk("w",6) 7 | self.keyboard.walk("d",3) 8 | self.keyboard.walk("s",0.6) 9 | 10 | 11 | -------------------------------------------------------------------------------- /paths/field_to_hive/pepper.py: -------------------------------------------------------------------------------- 1 | self.keyboard.walk("d",4) 2 | self.keyboard.walk("s",9) 3 | self.keyboard.walk("a",9) 4 | self.keyboard.walk("s",7) 5 | self.keyboard.walk("a",12, False) 6 | self.keyboard.walk("w",4) 7 | self.keyboard.walk("s",0.4) 8 | self.keyboard.walk("d",6) 9 | self.keyboard.walk("w",1) 10 | self.keyboard.walk("s",0.5) 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /paths/field_to_hive/pine tree.py: -------------------------------------------------------------------------------- 1 | self.keyboard.walk("d",5) 2 | self.keyboard.walk("s",7) 3 | self.keyboard.press('space') 4 | self.keyboard.walk("a",14,False) 5 | self.keyboard.walk("w",8, False) 6 | self.keyboard.walk("d",3) 7 | self.keyboard.walk("s",0.5) 8 | self.keyboard.walk("w",1) 9 | self.keyboard.slowPress("space") 10 | time.sleep(0.1) 11 | self.keyboard.walk("w",0.09, False) 12 | time.sleep(1) 13 | self.keyboard.slowPress("space") 14 | time.sleep(0.1) 15 | self.keyboard.slowPress("space") 16 | time.sleep(6) 17 | self.keyboard.walk("w",3) 18 | self.keyboard.walk("s",0.36) 19 | self.keyboard.walk("d",5) 20 | self.keyboard.walk("w",1) 21 | self.keyboard.walk("s",0.55) 22 | 23 | 24 | -------------------------------------------------------------------------------- /paths/field_to_hive/pineapple.py: -------------------------------------------------------------------------------- 1 | self.keyboard.walk("s",3) 2 | self.keyboard.walk("w",0.15) 3 | self.keyboard.walk("a",6) 4 | self.keyboard.walk("w",10) 5 | self.keyboard.walk("d",4) 6 | self.keyboard.walk("s",0.5) 7 | self.keyboard.walk("a",0.1) 8 | self.keyboard.keyDown("s") 9 | time.sleep(0.1) 10 | self.keyboard.slowPress("space") 11 | time.sleep(0.15*28/ws) 12 | self.keyboard.keyUp("s") 13 | self.keyboard.walk("s",0.05) 14 | time.sleep(2) 15 | self.keyboard.slowPress("e") 16 | self.keyboard.walk("w",4) 17 | self.keyboard.walk("s",0.2) 18 | self.keyboard.walk("d",4) 19 | self.keyboard.walk("w",1) 20 | self.keyboard.walk("s",0.6) 21 | 22 | 23 | -------------------------------------------------------------------------------- /paths/field_to_hive/pumpkin.py: -------------------------------------------------------------------------------- 1 | self.keyboard.walk("d",5) 2 | self.runPath(f"field_to_hive/pine tree") 3 | 4 | 5 | -------------------------------------------------------------------------------- /paths/field_to_hive/rose.py: -------------------------------------------------------------------------------- 1 | self.keyboard.press(".") 2 | self.keyboard.press(".") 3 | self.keyboard.walk("w",6) 4 | self.keyboard.walk("a",5) 5 | self.keyboard.press(",") 6 | self.keyboard.walk("a",7) 7 | self.keyboard.press(".") 8 | self.keyboard.walk("d",6) 9 | self.keyboard.walk("s",3) 10 | self.keyboard.walk("a",8) 11 | self.keyboard.press(",") 12 | self.keyboard.press(",") 13 | self.keyboard.press(",") 14 | self.keyboard.walk("w",16) 15 | self.keyboard.press(".") 16 | self.keyboard.walk("s",0.6) 17 | self.keyboard.walk("d",4) 18 | self.keyboard.walk("w",1.4) 19 | self.keyboard.walk("s",0.5) 20 | -------------------------------------------------------------------------------- /paths/field_to_hive/spider.py: -------------------------------------------------------------------------------- 1 | self.keyboard.walk("s",7) 2 | self.keyboard.walk("d",6) 3 | self.keyboard.walk("w",11) 4 | self.keyboard.walk("s",0.15) 5 | self.keyboard.walk("d",0.35) 6 | self.keyboard.walk("w",4) 7 | self.keyboard.walk("d",3) 8 | self.keyboard.walk("s",0.6) 9 | 10 | 11 | -------------------------------------------------------------------------------- /paths/field_to_hive/strawberry.py: -------------------------------------------------------------------------------- 1 | self.keyboard.walk("s",4) 2 | self.keyboard.walk("d",5) 3 | self.keyboard.walk("w",4) 4 | self.keyboard.walk("a",8) 5 | self.keyboard.walk("s",6) 6 | self.keyboard.walk("d",3) 7 | self.keyboard.walk("w",11, False) 8 | self.keyboard.walk("s",0.15) 9 | self.keyboard.walk("d",0.35) 10 | self.keyboard.walk("w",4) 11 | self.keyboard.walk("s",0.35) 12 | self.keyboard.walk("d",4) 13 | self.keyboard.walk("s",0.6) 14 | 15 | -------------------------------------------------------------------------------- /paths/field_to_hive/stump.py: -------------------------------------------------------------------------------- 1 | self.keyboard.walk("s",5) 2 | self.keyboard.walk("d",6) 3 | self.keyboard.walk("w",9) 4 | self.keyboard.walk("d",2) 5 | self.keyboard.keyDown("d") 6 | time.sleep(0.1) 7 | self.keyboard.slowPress("space") 8 | time.sleep(0.15*28/ws) 9 | self.keyboard.keyUp("d") 10 | self.keyboard.walk("w",7) 11 | self.keyboard.walk("d",4) 12 | self.keyboard.walk("s",0.5) 13 | self.keyboard.walk("a",0.1) 14 | self.keyboard.keyDown("s") 15 | time.sleep(0.1) 16 | self.keyboard.slowPress("space") 17 | time.sleep(0.15*28/ws) 18 | self.keyboard.keyUp("s") 19 | self.keyboard.walk("s",0.05) 20 | time.sleep(2) 21 | self.keyboard.slowPress("e") 22 | self.keyboard.walk("w",4) 23 | self.keyboard.walk("s",0.2) 24 | self.keyboard.walk("d",4) 25 | self.keyboard.walk("w",1) 26 | self.keyboard.walk("s",0.6) 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /paths/field_to_hive/sunflower.py: -------------------------------------------------------------------------------- 1 | self.keyboard.walk("d",6) 2 | self.keyboard.walk("w",8) 3 | self.keyboard.slowPress(",") 4 | self.keyboard.walk("w",8) 5 | self.keyboard.slowPress(".") 6 | self.keyboard.walk("s",0.6) 7 | self.keyboard.walk("d",4) 8 | self.keyboard.walk("w",1.4) 9 | self.keyboard.walk("s",0.6) 10 | -------------------------------------------------------------------------------- /paths/mob_runs/bamboo.py: -------------------------------------------------------------------------------- 1 | #go to blue flower 2 | blueFlower = self.getRespawnedMobs("blue flower") 3 | if blueFlower: 4 | self.killMob(blueFlower[0], "blue flower", 5 | ''' 6 | self.keyboard.walk("d",7) 7 | self.keyboard.walk("w",5) 8 | attackThread.start() 9 | self.keyboard.walk("s",6.5) 10 | self.keyboard.walk("a",3) 11 | ''' 12 | ) -------------------------------------------------------------------------------- /paths/mob_runs/blue flower.py: -------------------------------------------------------------------------------- 1 | #go to bamboo 2 | bamboo = self.getRespawnedMobs("bamboo") 3 | if bamboo: 4 | self.killMob(bamboo[0], "bamboo", walkPath= 5 | ''' 6 | self.keyboard.walk("w",3) 7 | self.keyboard.walk("d",7) 8 | self.keyboard.keyDown("w") 9 | time.sleep(0.5) 10 | self.keyboard.press("space") 11 | time.sleep(1) 12 | self.keyboard.keyUp("w") 13 | self.keyboard.walk("w", 5.5) 14 | for _ in range(3): 15 | self.keyboard.press(",") 16 | self.keyboard.walk("w",5) 17 | for _ in range(3): 18 | self.keyboard.press(".") 19 | self.keyboard.keyDown("a") 20 | time.sleep(1) 21 | self.keyboard.press("space") 22 | time.sleep(1) 23 | self.keyboard.press("space") 24 | attackThread.start() 25 | time.sleep(2.5) 26 | self.keyboard.keyUp("a") 27 | ''' 28 | ) -------------------------------------------------------------------------------- /paths/mob_runs/clover.py: -------------------------------------------------------------------------------- 1 | #go to blue flower 2 | blueFlower = self.getRespawnedMobs("blue flower") 3 | if blueFlower: 4 | self.killMob(blueFlower[0], "blue flower", 5 | ''' 6 | self.keyboard.walk("w",6) 7 | attackThread.start() 8 | ''' 9 | ) -------------------------------------------------------------------------------- /paths/mob_runs/mushroom.py: -------------------------------------------------------------------------------- 1 | #go to strawberry 2 | strawberry = self.getRespawnedMobs("strawberry") 3 | if strawberry: 4 | self.killMob(strawberry[0], "strawberry", 5 | ''' 6 | self.keyboard.walk("w",4) 7 | self.keyboard.walk("a",7) 8 | self.keyboard.walk("d",1) 9 | self.keyboard.keyDown("w") 10 | time.sleep(0.5) 11 | self.keyboard.press("space") 12 | time.sleep(2) 13 | self.keyboard.keyUp("w") 14 | attackThread.start() 15 | self.keyboard.walk("a",1) 16 | ''' 17 | ) 18 | else: 19 | #go to spider 20 | spider = self.getRespawnedMobs("spider") 21 | if spider: 22 | self.killMob(spider[0], "spider", 23 | ''' 24 | self.keyboard.walk("w",4) 25 | self.keyboard.keyDown("d") 26 | time.sleep(8) 27 | self.keyboard.press("space") 28 | time.sleep(0.4) 29 | self.keyboard.keyUp("d") 30 | attackThread.start() 31 | self.keyboard.walk("w",4) 32 | ''' 33 | ) -------------------------------------------------------------------------------- /paths/mob_runs/pumpkin.py: -------------------------------------------------------------------------------- 1 | #go to strawberry 2 | strawberry = self.getRespawnedMobs("strawberry") 3 | if strawberry: 4 | self.killMob(strawberry[0], "strawberry", 5 | ''' 6 | self.keyboard.walk("d",5) 7 | self.keyboard.walk("s",9) 8 | self.keyboard.walk("a",1) 9 | attackThread.start() 10 | self.keyboard.walk("s",3) 11 | ''' 12 | ) -------------------------------------------------------------------------------- /paths/mob_runs/rosell.py: -------------------------------------------------------------------------------- 1 | #Note: this path has been renamed to avoid being used by the macro 2 | # go to pine tree 3 | pineTreeMobs = self.getRespawnedMobs("pine tree") 4 | if pineTreeMobs: 5 | self.killMob(pineTreeMobs[0], "pine tree", walkPath= 6 | ''' 7 | self.keyboard.walk("d",1.2) 8 | self.keyboard.multiWalk(["w","d"],6) 9 | self.keyboard.walk("a",2.5) 10 | attackThread.start() 11 | self.keyboard.walk("w",8) 12 | self.keyboard.walk("a",0.3) 13 | ''' 14 | ) -------------------------------------------------------------------------------- /paths/mob_runs/spider.py: -------------------------------------------------------------------------------- 1 | #go to strawberry 2 | strawberry = self.getRespawnedMobs("strawberry") 3 | if strawberry: 4 | self.killMob(strawberry[0], "strawberry", 5 | ''' 6 | self.keyboard.walk("w",5) 7 | self.keyboard.keyDown("a") 8 | time.sleep(4) 9 | self.keyboard.press("space") 10 | attackThread.start() 11 | time.sleep(2.5) 12 | self.keyboard.keyUp("a") 13 | self.keyboard.walk("s",2) 14 | ''' 15 | ) 16 | else: 17 | #go to mushroom 18 | mushroom = self.getRespawnedMobs("mushroom") 19 | if mushroom: 20 | self.killMob(mushroom[0], "mushroom", walkPath= 21 | ''' 22 | self.keyboard.walk("w",5) 23 | self.keyboard.walk("a",4) 24 | attackThread.start() 25 | self.keyboard.walk("s",8) 26 | ''' 27 | ) 28 | else: 29 | #go to bamboo 30 | bamboo = self.getRespawnedMobs("bamboo") 31 | if bamboo: 32 | self.killMob(bamboo[0], "bamboo", walkPath= 33 | ''' 34 | self.keyboard.walk("w",5) 35 | self.keyboard.walk("d",4) 36 | self.keyboard.walk("s",1.5) 37 | attackThread.start() 38 | self.keyboard.walk("d",4.5) 39 | ''' 40 | ) -------------------------------------------------------------------------------- /paths/mob_runs/strawberry.py: -------------------------------------------------------------------------------- 1 | #go to mushroom 2 | mushroomMobs = self.getRespawnedMobs("mushroom") 3 | if mushroomMobs: 4 | self.killMob(mushroomMobs[0], "mushroom", walkPath= 5 | ''' 6 | self.keyboard.walk("w",3) 7 | self.keyboard.walk("d",5) 8 | attackThread.start() 9 | self.keyboard.walk("s",5) 10 | self.keyboard.walk("d",1.5) 11 | ''' 12 | ) 13 | else: 14 | #go to spider 15 | spider = self.getRespawnedMobs("spider") 16 | if spider: 17 | self.killMob(spider[0], "spider", walkPath= 18 | ''' 19 | self.keyboard.walk("a",5) 20 | self.keyboard.walk("s",4) 21 | self.keyboard.walk("d",7) 22 | attackThread.start() 23 | self.keyboard.walk("w",2.5) 24 | ''' 25 | ) -------------------------------------------------------------------------------- /paths/planters/bamboo.py: -------------------------------------------------------------------------------- 1 | global finalKey 2 | self.keyboard.walk("w",3, False) 3 | self.keyboard.walk("d",4, False) 4 | finalKey = ("a",0.25) -------------------------------------------------------------------------------- /paths/planters/blue flower.py: -------------------------------------------------------------------------------- 1 | global finalKey 2 | self.keyboard.walk("w",2, False) 3 | self.keyboard.walk("d",4, False) 4 | finalKey = ("a",1) -------------------------------------------------------------------------------- /paths/planters/cactus.py: -------------------------------------------------------------------------------- 1 | global finalKey 2 | self.keyboard.walk("w",0.4) 3 | self.keyboard.walk("d",2, False) 4 | self.keyboard.walk("s",2, False) 5 | finalKey = ("a",0.23) -------------------------------------------------------------------------------- /paths/planters/coconut.py: -------------------------------------------------------------------------------- 1 | self.keyboard.walk("a",5, False) 2 | self.keyboard.walk("w",2, False) -------------------------------------------------------------------------------- /paths/planters/mushroom.py: -------------------------------------------------------------------------------- 1 | global finalKey 2 | self.keyboard.walk("w",3, False) 3 | self.keyboard.walk("d",4, False) 4 | finalKey = ("a",0.25) -------------------------------------------------------------------------------- /paths/planters/pine tree.py: -------------------------------------------------------------------------------- 1 | global finalKey 2 | self.keyboard.walk("a",3, False) 3 | self.keyboard.walk("w",4, False) 4 | finalKey = ("s",0.25) -------------------------------------------------------------------------------- /paths/planters/pineapple.py: -------------------------------------------------------------------------------- 1 | global finalKey 2 | self.keyboard.walk("w",4, False) 3 | self.keyboard.walk("a",4, False) -------------------------------------------------------------------------------- /paths/planters/pumpkin.py: -------------------------------------------------------------------------------- 1 | global finalKey 2 | self.keyboard.walk("w",3, False) 3 | self.keyboard.walk("d",4, False) 4 | finalKey = ("a",0.25) -------------------------------------------------------------------------------- /paths/planters/rose.py: -------------------------------------------------------------------------------- 1 | global finalKey 2 | self.keyboard.multiWalk(["w", "d"], 5, False) 3 | self.keyboard.walk("d", 1.5, False) 4 | finalKey = ("s", 0.3) -------------------------------------------------------------------------------- /paths/planters/spider.py: -------------------------------------------------------------------------------- 1 | self.keyboard.walk("w",3, False) 2 | self.keyboard.walk("a",4, False) -------------------------------------------------------------------------------- /paths/planters/strawberry.py: -------------------------------------------------------------------------------- 1 | self.keyboard.walk("a",3, False) 2 | self.keyboard.walk("w",4, False) -------------------------------------------------------------------------------- /paths/planters/sunflower.py: -------------------------------------------------------------------------------- 1 | global finalKey 2 | self.keyboard.walk("a",3, False) 3 | self.keyboard.walk("s",4.5, False) 4 | self.keyboard.walk("d",0.2) 5 | finalKey = ("w",0.5) -------------------------------------------------------------------------------- /paths/quests/bucko bee.py: -------------------------------------------------------------------------------- 1 | self.goToField("blue flower", "south") 2 | self.keyboard.press("space") 3 | self.keyboard.keyDown("a") 4 | sleep(8) 5 | self.keyboard.slowPress("space") 6 | sleep(0.2) 7 | self.keyboard.keyUp("a") 8 | self.keyboard.walk("w",4) 9 | self.keyboard.walk("d",5) 10 | self.keyboard.walk("a",0.25) 11 | self.keyboard.walk("s",1.3) 12 | self.keyboard.walk("a",1) 13 | self.keyboard.keyDown("a") 14 | sleep(0.1) 15 | self.keyboard.slowPress("space") 16 | sleep(0.3) 17 | self.keyboard.keyUp("a") 18 | -------------------------------------------------------------------------------- /paths/quests/honey bee.py: -------------------------------------------------------------------------------- 1 | for _ in range(3): 2 | self.keyboard.press(".") 3 | self.keyboard.slowPress("e") 4 | sleep(0.08) 5 | self.keyboard.keyDown("w") 6 | sleep(0.5) 7 | self.keyboard.slowPress("space") 8 | self.keyboard.slowPress("space") 9 | sleep(2.7) 10 | self.keyboard.slowPress(",") 11 | sleep(3.5) 12 | self.keyboard.keyUp("w") 13 | self.keyboard.walk("d",4, False) 14 | self.keyboard.walk("w",2) 15 | self.keyboard.press(".") 16 | for i in range (8): 17 | self.keyboard.walk("s",0.3) 18 | if self.isBesideE(["honey"]): 19 | break 20 | time.sleep(0.15) -------------------------------------------------------------------------------- /paths/quests/polar bear.py: -------------------------------------------------------------------------------- 1 | self.keyboard.slowPress(".") 2 | self.keyboard.slowPress(".") 3 | self.keyboard.slowPress("e") 4 | sleep(0.08) 5 | self.keyboard.keyDown("w") 6 | sleep(0.73) 7 | self.keyboard.slowPress("space") 8 | self.keyboard.slowPress("space") 9 | sleep(0.7) 10 | self.keyboard.slowPress("space") 11 | sleep(1) 12 | self.keyboard.walk("w",3) 13 | self.keyboard.walk("a",1) 14 | self.keyboard.walk("d",0.3) 15 | self.keyboard.walk("s",0.3) 16 | 17 | 18 | -------------------------------------------------------------------------------- /paths/quests/quest_riley.workflow/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleName 6 | quest_riley 7 | 8 | 9 | -------------------------------------------------------------------------------- /paths/quests/riley bee.py: -------------------------------------------------------------------------------- 1 | self.keyboard.slowPress(".") 2 | self.keyboard.slowPress("e") 3 | time.sleep(0.12) 4 | self.keyboard.keyDown("w") 5 | self.keyboard.slowPress("space") 6 | self.keyboard.slowPress("space") 7 | time.sleep(2.2) 8 | self.keyboard.slowPress(".") 9 | time.sleep(0.5) 10 | self.keyboard.keyUp("w") 11 | time.sleep(0.6) 12 | self.keyboard.slowPress("space") 13 | time.sleep(0.5) 14 | self.keyboard.walk("w",1.8) 15 | self.keyboard.keyDown("w") 16 | sleep(0.1) 17 | self.keyboard.slowPress("space") 18 | sleep(0.3) 19 | self.keyboard.keyUp("w") 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /paths/vic/find_vic/cactus.py: -------------------------------------------------------------------------------- 1 | 2 | side = 3 3 | back = 1.4 4 | self.keyboard.walk("d",1.33) 5 | self.keyboard.walk("w",0.4) 6 | time.sleep(1) 7 | self.keyboard.walk("d",side/2) 8 | self.keyboard.walk("w",back/2) 9 | self.keyboard.walk("a",side) 10 | self.keyboard.walk("s",back) 11 | self.keyboard.walk("d",side) 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /paths/vic/find_vic/clover.py: -------------------------------------------------------------------------------- 1 | 2 | side = 2 3 | back = 1 4 | 5 | self.keyboard.walk("d",0.4) 6 | self.keyboard.walk("w",0.5) 7 | self.keyboard.walk("d",side/2) 8 | self.keyboard.walk("w",back) 9 | self.keyboard.walk("a",side) 10 | self.keyboard.walk("s",back) 11 | self.keyboard.walk("d",side) 12 | self.keyboard.walk("s",back) 13 | self.keyboard.walk("a",side) 14 | self.keyboard.walk("s",back) 15 | self.keyboard.walk("d",side) 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /paths/vic/find_vic/mountain top.py: -------------------------------------------------------------------------------- 1 | 2 | side = 2.5 3 | back = 1 4 | time.sleep(1) 5 | for _ in range(2): 6 | self.keyboard.press(",") 7 | self.keyboard.walk("d",0.75) 8 | self.keyboard.walk("d",side/2) 9 | self.keyboard.walk("w",back) 10 | self.keyboard.walk("a",side) 11 | self.keyboard.walk("s",back) 12 | self.keyboard.walk("d",side) 13 | self.keyboard.walk("s",back) 14 | self.keyboard.walk("a",side) 15 | 16 | 17 | -------------------------------------------------------------------------------- /paths/vic/find_vic/pepper.py: -------------------------------------------------------------------------------- 1 | 2 | side = 3 3 | back = 0.6 4 | self.keyboard.walk("s",1.4) 5 | self.keyboard.walk("d",1) 6 | for _ in range(2): 7 | self.keyboard.press(".") 8 | self.keyboard.walk("a",side) 9 | self.keyboard.walk("s",back) 10 | self.keyboard.walk("d",side) 11 | self.keyboard.walk("s",back) 12 | self.keyboard.walk("a",side) 13 | self.keyboard.walk("s",back) 14 | self.keyboard.walk("d",side) 15 | 16 | 17 | -------------------------------------------------------------------------------- /paths/vic/find_vic/rose.py: -------------------------------------------------------------------------------- 1 | 2 | side = 2.1 3 | back = 1.2 4 | 5 | for _ in range(2): 6 | self.keyboard.press(".") 7 | self.keyboard.walk("a",1) 8 | self.keyboard.walk("w",0.4) 9 | time.sleep(1) 10 | self.keyboard.walk("d",side) 11 | self.keyboard.walk("w",back) 12 | self.keyboard.walk("a",side) 13 | self.keyboard.walk("s",back) 14 | self.keyboard.walk("d",side) 15 | self.keyboard.walk("s",back) 16 | self.keyboard.walk("a",side) 17 | self.keyboard.walk("s",back) 18 | self.keyboard.walk("d",side) 19 | self.keyboard.walk("w",back*0.8) 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /paths/vic/find_vic/spider.py: -------------------------------------------------------------------------------- 1 | 2 | side = 2.8 3 | back = 0.9 4 | 5 | for _ in range(4): 6 | self.keyboard.press(",") 7 | self.keyboard.walk("w",3) 8 | self.keyboard.walk("a",3) 9 | self.keyboard.walk("d",0.6) 10 | self.keyboard.walk("s",0.7) 11 | self.keyboard.walk("d",side) 12 | self.keyboard.walk("s",back) 13 | self.keyboard.walk("a",side) 14 | self.keyboard.walk("s",back) 15 | self.keyboard.walk("d",side) 16 | self.keyboard.walk("s",back) 17 | self.keyboard.walk("a",side) 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /paths/vic/kill_vic/cactus.py: -------------------------------------------------------------------------------- 1 | 2 | side = 2.5 3 | back = 1.2 4 | 5 | self.keyboard.walk("w",back) 6 | self.keyboard.walk("a",side) 7 | time.sleep(0.7) 8 | self.keyboard.walk("s",back) 9 | self.keyboard.walk("d",side) 10 | time.sleep(0.7) 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /paths/vic/kill_vic/clover.py: -------------------------------------------------------------------------------- 1 | 2 | side = 2 3 | back = 1 4 | 5 | self.keyboard.walk("w",back*3) 6 | self.keyboard.walk("a",side) 7 | self.keyboard.walk("s",back) 8 | self.keyboard.walk("d",side) 9 | self.keyboard.walk("s",back) 10 | self.keyboard.walk("a",side) 11 | self.keyboard.walk("s",back) 12 | self.keyboard.walk("d",side) 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /paths/vic/kill_vic/mountain top.py: -------------------------------------------------------------------------------- 1 | 2 | 3 | side = 2 4 | back = 0.8 5 | self.keyboard.walk("d",side) 6 | self.keyboard.walk("w",back) 7 | time.sleep(0.7) 8 | self.keyboard.walk("a",side) 9 | self.keyboard.walk("s",back) 10 | time.sleep(0.7) 11 | 12 | 13 | -------------------------------------------------------------------------------- /paths/vic/kill_vic/pepper.py: -------------------------------------------------------------------------------- 1 | 2 | side = 2.8 3 | back = 1 4 | self.keyboard.walk("a",side) 5 | self.keyboard.walk("w",back) 6 | time.sleep(0.7) 7 | self.keyboard.walk("d",side) 8 | self.keyboard.walk("s",back) 9 | time.sleep(0.7) 10 | 11 | 12 | -------------------------------------------------------------------------------- /paths/vic/kill_vic/rose.py: -------------------------------------------------------------------------------- 1 | 2 | side = 2 3 | back = 1.2 4 | 5 | self.keyboard.walk("a",side) 6 | self.keyboard.walk("w",back) 7 | time.sleep(0.7) 8 | self.keyboard.walk("d",side) 9 | self.keyboard.walk("s",back) 10 | time.sleep(0.7) 11 | 12 | 13 | -------------------------------------------------------------------------------- /paths/vic/kill_vic/spider.py: -------------------------------------------------------------------------------- 1 | 2 | side = 2.8 3 | back = 0.9 4 | 5 | self.keyboard.walk("w",back*4) 6 | self.keyboard.walk("d",side) 7 | self.keyboard.walk("s",back) 8 | time.sleep(0.7) 9 | self.keyboard.walk("a",side) 10 | self.keyboard.walk("s",back) 11 | time.sleep(0.7) 12 | self.keyboard.walk("d",side) 13 | self.keyboard.walk("s",back) 14 | time.sleep(0.7) 15 | self.keyboard.walk("a",side) 16 | time.sleep(0.7) 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /settings/generalsettings.txt: -------------------------------------------------------------------------------- 1 | hive_number=1 2 | sprinkler_slot=1 3 | movespeed=29 4 | sprinkler_type=saturator 5 | convert_wait=5 6 | private_server_link= 7 | rejoin_wait=30 8 | rejoin_method=deeplink 9 | webhook_link= 10 | enable_webhook=False 11 | gifted_vicious=False 12 | stick_bug_amulet=0 13 | icicles_beequip=0 14 | rejoin_every=0 15 | discord_bot=False 16 | discord_bot_token= 17 | existance_broke=False 18 | stream_resolution=0.75 19 | stream_fps=30 20 | enable_stream=True 21 | low_performance=True 22 | ngrok_auth= 23 | stream_quality=1920x1080 -------------------------------------------------------------------------------- /settings/patterns/cornerxe_lol.py: -------------------------------------------------------------------------------- 1 | if sizeword.lower() == "xs": 2 | size = 0.5 3 | elif sizeword.lower() == "s": 4 | size = 1 5 | elif sizeword.lower() == "l": 6 | size = 2 7 | elif sizeword.lower() == "xl": 8 | size = 2.5 9 | else: 10 | size = 1.5 11 | 12 | 13 | for _ in range(2): 14 | self.keyboard.walk(afcfbkey,0.5*size) 15 | self.keyboard.walk(tclrkey,abs(0.17*width*2)) 16 | for _ in range(width): 17 | self.keyboard.walk(tcfbkey,0.5*size) 18 | self.keyboard.walk(afclrkey,0.17) 19 | self.keyboard.walk(afcfbkey,0.5*size) 20 | self.keyboard.walk(afclrkey,0.17) 21 | self.keyboard.walk(tcfbkey,0.5*size) 22 | self.keyboard.walk(tclrkey,abs(0.17*width*2)) 23 | for _ in range(width): 24 | self.keyboard.walk(afcfbkey,0.5*size) 25 | self.keyboard.walk(afclrkey,0.17) 26 | self.keyboard.walk(tcfbkey,0.5*size) 27 | self.keyboard.walk(afclrkey,0.17) 28 | 29 | self.keyboard.walk(tcfbkey,1.2*size) 30 | self.keyboard.walk(afclrkey,0.7*width) 31 | self.keyboard.walk(tclrkey,0.4*width) 32 | self.keyboard.walk(afcfbkey,0.6*size) 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /settings/patterns/cornerxsnake.py: -------------------------------------------------------------------------------- 1 | if sizeword.lower() == "xs": 2 | size = 0.5 3 | elif sizeword.lower() == "s": 4 | size = 1 5 | elif sizeword.lower() == "l": 6 | size = 2 7 | elif sizeword.lower() == "xl": 8 | size = 2.5 9 | else: 10 | size = 1.5 11 | 12 | wm = 0.5*size 13 | sm = 0.25*size 14 | df = (((wm*2)**2)+((sm*4)**2))**0.5 15 | self.keyboard.walk(tclrkey,wm) 16 | self.keyboard.walk(tcfbkey,sm) 17 | self.keyboard.walk(afclrkey,wm*2) 18 | self.keyboard.walk(tcfbkey,sm) 19 | self.keyboard.walk(tclrkey,wm*2) 20 | self.keyboard.keyDown(afclrkey) 21 | self.keyboard.keyDown(afcfbkey) 22 | sleep(df) 23 | self.keyboard.keyUp(afcfbkey) 24 | self.keyboard.keyUp(afclrkey) 25 | self.keyboard.walk(tclrkey,wm*2) 26 | self.keyboard.walk(tcfbkey,sm) 27 | self.keyboard.walk(afclrkey,wm*2) 28 | self.keyboard.walk(tcfbkey,sm*8) 29 | self.keyboard.walk(afclrkey,0.6*width) 30 | self.keyboard.walk(tclrkey,0.4*width) 31 | self.keyboard.walk(afcfbkey,sm*4) 32 | self.keyboard.walk(tclrkey,wm*2) 33 | self.keyboard.walk(afcfbkey,sm) 34 | self.keyboard.walk(afclrkey,wm*2) 35 | self.keyboard.walk(afcfbkey,sm) 36 | self.keyboard.walk(tclrkey,wm*2) 37 | self.keyboard.walk(afcfbkey,sm) 38 | self.keyboard.walk(afclrkey,wm*2) 39 | self.keyboard.walk(afcfbkey,sm) 40 | self.keyboard.walk(tclrkey,wm*2) 41 | self.keyboard.keyDown(tcfbkey) 42 | self.keyboard.keyDown(afclrkey) 43 | sleep(df/2) 44 | self.keyboard.keyUp(afclrkey) 45 | self.keyboard.keyUp(tcfbkey) 46 | 47 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /settings/patterns/e_lol.py: -------------------------------------------------------------------------------- 1 | if sizeword.lower() == "xs": 2 | size = 0.5 3 | elif sizeword.lower() == "s": 4 | size = 1 5 | elif sizeword.lower() == "l": 6 | size = 2 7 | elif sizeword.lower() == "xl": 8 | size = 2.5 9 | else: 10 | size = 1.5 11 | 12 | 13 | self.keyboard.walk(afcfbkey,0.5*size) 14 | self.keyboard.walk(tclrkey,abs(0.17*width*2)) 15 | for _ in range(width): 16 | self.keyboard.walk(tcfbkey,0.5*size) 17 | self.keyboard.walk(afclrkey,0.17) 18 | self.keyboard.walk(afcfbkey,0.5*size) 19 | self.keyboard.walk(afclrkey,0.17) 20 | self.keyboard.walk(tcfbkey,0.5*size) 21 | self.keyboard.walk(tclrkey,abs(0.17*width*2)) 22 | for _ in range(width): 23 | self.keyboard.walk(afcfbkey,0.5*size) 24 | self.keyboard.walk(afclrkey,0.17) 25 | self.keyboard.walk(tcfbkey,0.5*size) 26 | self.keyboard.walk(afclrkey,0.17) 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /settings/patterns/old e_lol.py: -------------------------------------------------------------------------------- 1 | 2 | self.keyboard.walk(tcfbkey,0.5*size) 3 | for _ in range(width): 4 | self.keyboard.walk(tclrkey,0.125*(width/4)) 5 | self.keyboard.walk(tclrkey,0.125*(width/4)) 6 | for _ in range(width): 7 | self.keyboard.walk(afcfbkey,0.5*size) 8 | self.keyboard.walk(afclrkey,0.125*(width/4)) 9 | self.keyboard.walk(tcfbkey,0.5*size) 10 | self.keyboard.walk(afclrkey,0.125*(width/4)) 11 | self.keyboard.walk(afcfbkey,0.5*size) 12 | for _ in range(width): 13 | self.keyboard.walk(tclrkey,0.125*(width/4)) 14 | self.keyboard.walk(tclrkey,0.125*(width/4)) 15 | for _ in range(width): 16 | self.keyboard.walk(tcfbkey,0.5*size) 17 | self.keyboard.walk(afclrkey,0.125*(width/4)) 18 | self.keyboard.walk(afcfbkey,0.5*size) 19 | self.keyboard.walk(afclrkey,0.125*(width/4)) 20 | -------------------------------------------------------------------------------- /settings/patterns/snake.py: -------------------------------------------------------------------------------- 1 | 2 | 3 | for i in range(2): 4 | self.keyboard.walk(tcfbkey, 0.72*size) 5 | self.keyboard.walk(tclrkey, 0.1*width) 6 | self.keyboard.walk(afcfbkey, 0.72*size) 7 | self.keyboard.walk(tclrkey, 0.1*width) 8 | for i in range(2): 9 | self.keyboard.walk(tcfbkey, 0.72*size) 10 | self.keyboard.walk(afclrkey, 0.1*width) 11 | self.keyboard.walk(afcfbkey, 0.72*size) 12 | self.keyboard.walk(afclrkey, 0.1*width) 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /settings/patterns/spiral.py: -------------------------------------------------------------------------------- 1 | 2 | self.keyboard.walk(tclrkey,(0.25*size)) 3 | self.keyboard.walk(tcfbkey,(0.25*size)) 4 | for i in range(width): 5 | if i != 0: 6 | self.keyboard.walk(tclrkey,(0.2*i)/2) 7 | self.keyboard.walk(tcfbkey,(0.2*i)/2) 8 | self.keyboard.walk(afclrkey,0.5*size+0.2*i) 9 | self.keyboard.walk(afcfbkey,0.5*size+0.2*i) 10 | self.keyboard.walk(tclrkey,0.5*size+0.2*i) 11 | self.keyboard.walk(tcfbkey,0.5*size+0.2*i) 12 | 13 | for i in range(width,0,-1): 14 | if i != width: 15 | self.keyboard.walk(afcfbkey,(0.2*i)/2) 16 | self.keyboard.walk(afclrkey,(0.25*i)/2) 17 | self.keyboard.walk(afclrkey,0.5*size+0.2*i) 18 | self.keyboard.walk(afcfbkey,0.5*size+0.2*i) 19 | self.keyboard.walk(tclrkey,0.5*size+0.2*i) 20 | self.keyboard.walk(tcfbkey,0.5*size+0.2*i) 21 | 22 | 23 | self.keyboard.walk(afcfbkey,0.25*size) 24 | self.keyboard.walk(afclrkey,0.25*size) 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /settings/patterns/squares.py: -------------------------------------------------------------------------------- 1 | for i in range(width): 2 | self.keyboard.walk(tcfbkey,0.4*(size+i/1.5)) 3 | self.keyboard.walk(afclrkey,0.4*(size+i/1.5)) 4 | self.keyboard.walk(afcfbkey,0.4*(size+i/1.5)) 5 | self.keyboard.walk(tclrkey,0.4*(size+i/1.5)) 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /settings/patterns/stationary.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/settings/patterns/stationary.py -------------------------------------------------------------------------------- /settings/patterns/supercat.py: -------------------------------------------------------------------------------- 1 | for i in range(width): 2 | self.keyboard.keyDown(tclrkey, False) 3 | self.keyboard.tileWait(1.25 * size) 4 | self.keyboard.keyUp(tclrkey, False) 5 | self.keyboard.keyDown(tcfbkey, False) 6 | self.keyboard.tileWait(7 * size, 10) 7 | self.keyboard.keyUp(tcfbkey, False) 8 | self.keyboard.keyDown(tclrkey, False) 9 | self.keyboard.tileWait(1.25 * size) 10 | self.keyboard.keyUp(tclrkey, False) 11 | self.keyboard.keyDown(afcfbkey, False) 12 | self.keyboard.tileWait(6.66 * size, 10) 13 | self.keyboard.keyUp(afcfbkey, False) 14 | self.keyboard.keyDown(tclrkey, False) 15 | self.keyboard.tileWait(1.25 * size) 16 | self.keyboard.keyUp(tclrkey, False) 17 | self.keyboard.keyDown(tcfbkey, False) 18 | self.keyboard.tileWait(7 * size, 10) 19 | self.keyboard.keyUp(tcfbkey, False) 20 | self.keyboard.keyDown(tclrkey, False) 21 | self.keyboard.tileWait(2 * size) 22 | self.keyboard.keyUp(tclrkey, False) 23 | self.keyboard.keyDown(afcfbkey, False) 24 | self.keyboard.tileWait(6.5 * size, 10) 25 | self.keyboard.keyUp(afcfbkey, False) 26 | for i in range(width): 27 | self.keyboard.keyDown(afclrkey, False) 28 | self.keyboard.tileWait(1.25 * size) 29 | self.keyboard.keyUp(afclrkey, False) 30 | self.keyboard.keyDown(tcfbkey, False) 31 | self.keyboard.tileWait(7 * size, 10) 32 | self.keyboard.keyUp(tcfbkey, False) 33 | self.keyboard.keyDown(afclrkey, False) 34 | self.keyboard.tileWait(1 * size) 35 | self.keyboard.keyUp(afclrkey, False) 36 | self.keyboard.keyDown(afcfbkey, False) 37 | self.keyboard.tileWait(6.66 * size, 10) 38 | self.keyboard.keyUp(afcfbkey, False) 39 | self.keyboard.keyDown(afclrkey, False) 40 | self.keyboard.tileWait(1.25 * size) 41 | self.keyboard.keyUp(afclrkey, False) 42 | self.keyboard.keyDown(tcfbkey, False) 43 | self.keyboard.tileWait(7 * size, 10) 44 | self.keyboard.keyUp(tcfbkey, False) 45 | self.keyboard.keyDown(afclrkey, False) 46 | self.keyboard.tileWait(1.25 * size) 47 | self.keyboard.keyUp(afclrkey, False) 48 | self.keyboard.keyDown(afcfbkey, False) 49 | self.keyboard.tileWait(6.5 * size, 10) 50 | self.keyboard.keyUp(afcfbkey, False) -------------------------------------------------------------------------------- /src/data/default_settings/generalsettings.txt: -------------------------------------------------------------------------------- 1 | hive_number=1 2 | sprinkler_slot=1 3 | movespeed=29 4 | sprinkler_type=saturator 5 | convert_wait=5 6 | private_server_link= 7 | rejoin_wait=30 8 | rejoin_method=deeplink 9 | webhook_link= 10 | send_screenshot=True 11 | enable_webhook=False 12 | gifted_vicious=False 13 | stick_bug_amulet=0 14 | icicles_beequip=0 15 | rejoin_every=0 16 | discord_bot=False 17 | discord_bot_token= 18 | existance_broke=False 19 | stream_resolution=0.75 20 | stream_fps=30 21 | enable_stream=False 22 | low_performance=False 23 | -------------------------------------------------------------------------------- /src/data/user/AFB.txt: -------------------------------------------------------------------------------- 1 | AFB_dice_cd=0 2 | AFB_glitter_cd=0 3 | AFB_rebuff=0 4 | AFB_limit=0 -------------------------------------------------------------------------------- /src/data/user/blender.txt: -------------------------------------------------------------------------------- 1 | {'item': 0, 'collectTime': 1747233517.0929558} -------------------------------------------------------------------------------- /src/data/user/hotbar_timings.txt: -------------------------------------------------------------------------------- 1 | {1: 1727442985.111627, 2: 0, 3: 0, 4: 1727585828.55522, 5: 0, 6: 0, 7: 0} -------------------------------------------------------------------------------- /src/data/user/hourly_report_bg.txt: -------------------------------------------------------------------------------- 1 | start_honey=11941252878230 2 | start_time=1745154714.2356129 3 | honey_per_min=[11941252878230, 11941252878230, 11941319481370, 11941654536991] 4 | backpack_per_min=[0, 0, 0, 5] -------------------------------------------------------------------------------- /src/data/user/hourly_report_history.txt: -------------------------------------------------------------------------------- 1 | [{'endHour': 19, 'date': '2025-05-17', 'honey': 14437862276}, {'endHour': 11, 'date': '2025-05-17', 'honey': 3319850188}, {'endHour': 23, 'date': '2025-05-14', 'honey': 10514485931}, {'endHour': 9, 'date': '2025-05-08', 'honey': 6956547071}, {'endHour': 10, 'date': '2025-05-07', 'honey': 22346544850}] -------------------------------------------------------------------------------- /src/data/user/hourly_report_main.txt: -------------------------------------------------------------------------------- 1 | bugs=1 2 | quests_completed=0 3 | vicious_bees=0 4 | gathering_time=138.49234557151794 5 | converting_time=0 6 | bug_run_time=0 7 | misc_time=0 -------------------------------------------------------------------------------- /src/data/user/manualplanters.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/data/user/manualplanters.txt -------------------------------------------------------------------------------- /src/data/user/screen.txt: -------------------------------------------------------------------------------- 1 | display_type=retina 2 | screen_width=2880 3 | screen_height=1800 4 | y_multiplier=1 5 | x_multiplier=1 6 | y_length_multiplier=1 7 | x_length_multiplier=1 -------------------------------------------------------------------------------- /src/data/user/sticker_stack.txt: -------------------------------------------------------------------------------- 1 | 1300 -------------------------------------------------------------------------------- /src/data/user/timings.txt: -------------------------------------------------------------------------------- 1 | wealth_clock=1747476765.490277 2 | blueberry_dispenser=1747232908.368302 3 | strawberry_dispenser=1724297819.950319 4 | royal_jelly_dispenser=1747232934.50457 5 | treat_dispenser=0 6 | ant_pass_dispenser=1746522445.478816 7 | stockings=1725699763.284993 8 | feast=1728129656.002342 9 | samovar=1727924561.441497 10 | snow_machine=0 11 | lid_art=1724308580.594607 12 | candles=1724309061.93166 13 | wreath=1724206030.7849054 14 | glue_dispenser=1735782450.3168828 15 | mondo=1727157788.773771 16 | sticker_printer=1727921856.0110028 17 | stump_snail=0 18 | ladybug_strawberry=1746664965.6902862 19 | ladybug_mushroom=1746581788.575089 20 | ladybug_clover=1747479200.553337 21 | mantis_pineapple=1747479324.2828522 22 | mantis_pine tree=1748348231.090434 23 | scorpion_rose=1746929399.084451 24 | werewolf=1748346000.254286 25 | spider_spider=1746663087.540513 26 | rhinobeetle_blue flower=1747480767.143799 27 | rhinobeetle_bamboo=1747481110.09407 28 | rhinobeetle_pineapple=1747479324.282856 29 | rhinobeetle_clover=1747479200.553341 30 | rejoin_every=1748347532.346572 31 | coconut_crab=0 32 | memory_match=1735341001.932586 33 | mega_memory_match=1747233169.958405 34 | extreme_memory_match=1735341154.4998689 35 | winter_memory_match=0 36 | blue_booster=1746511538.59988 37 | red_booster=1727159556.208989 38 | mountain_booster=1727140628.9209778 39 | last_booster=1746511538.597316 40 | sticker_stack=1734834666.499645 41 | convert_balloon=1748348581.6290402 42 | honeystorm=1747233177.5332391 -------------------------------------------------------------------------------- /src/gui.py: -------------------------------------------------------------------------------- 1 | import eel 2 | import webbrowser 3 | import modules.misc.settingsManager as settingsManager 4 | import os 5 | from modules.misc.update import update as updateFunc 6 | import sys 7 | 8 | eel.init('webapp') 9 | run = None 10 | @eel.expose 11 | def openLink(link): 12 | webbrowser.open(link, autoraise = True) 13 | 14 | @eel.expose 15 | def start(): 16 | if run.value == 2: return #already running 17 | run.value = 1 18 | 19 | @eel.expose 20 | def stop(): 21 | if run.value == 3: return #already stopped 22 | run.value = 0 23 | 24 | @eel.expose 25 | def getPatterns(): 26 | return [x.replace(".py","") for x in os.listdir("../settings/patterns") if ".py" in x] 27 | 28 | @eel.expose 29 | def clearManualPlanters(): 30 | settingsManager.clearFile("./data/user/manualplanters.txt") 31 | 32 | @eel.expose 33 | def clearBlender(): 34 | blenderData = { 35 | "item": 1, 36 | "collectTime": 0 37 | } 38 | with open("data/user/blender.txt", "w") as f: 39 | f.write(str(blenderData)) 40 | f.close() 41 | 42 | @eel.expose 43 | def clearAFB(): 44 | AFBData = { 45 | "AFB_dice_cd": 0, 46 | "AFB_glitter_cd": 0, 47 | "AFB_limit": 0 48 | } 49 | 50 | # convert to format like in timings.txt 51 | data_str = "\n".join([f"{key}={value}" for key, value in AFBData.items()]) 52 | 53 | with open("data/user/AFB.txt", "w") as f: 54 | f.write(data_str) 55 | 56 | @eel.expose 57 | def update(): 58 | updateFunc() 59 | eel.closeWindow() 60 | sys.exit() 61 | 62 | def log(time = "", msg = "", color = ""): 63 | eel.log(time, msg, color) 64 | 65 | eel.expose(settingsManager.loadFields) 66 | eel.expose(settingsManager.saveField) 67 | eel.expose(settingsManager.loadSettings) 68 | eel.expose(settingsManager.loadAllSettings) 69 | eel.expose(settingsManager.saveProfileSetting) 70 | eel.expose(settingsManager.saveGeneralSetting) 71 | 72 | def updateGUI(): 73 | settings = settingsManager.loadAllSettings() 74 | eel.loadInputs(settings) 75 | 76 | def toggleStartStop(): 77 | eel.toggleStartStop() 78 | 79 | def launch(): 80 | eel.start('index.html',app_mode = True,block = False, cmdline_args=["--incognito", "--new-window"]) 81 | 82 | -------------------------------------------------------------------------------- /src/hourly_report/Inter/Inter-Italic-VariableFont_opsz,wght.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/Inter-Italic-VariableFont_opsz,wght.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/Inter-VariableFont_opsz,wght.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/Inter-VariableFont_opsz,wght.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_18pt-Black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_18pt-Black.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_18pt-BlackItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_18pt-BlackItalic.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_18pt-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_18pt-Bold.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_18pt-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_18pt-BoldItalic.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_18pt-ExtraBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_18pt-ExtraBold.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_18pt-ExtraBoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_18pt-ExtraBoldItalic.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_18pt-ExtraLight.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_18pt-ExtraLight.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_18pt-ExtraLightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_18pt-ExtraLightItalic.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_18pt-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_18pt-Italic.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_18pt-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_18pt-Light.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_18pt-LightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_18pt-LightItalic.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_18pt-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_18pt-Medium.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_18pt-MediumItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_18pt-MediumItalic.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_18pt-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_18pt-Regular.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_18pt-SemiBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_18pt-SemiBold.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_18pt-SemiBoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_18pt-SemiBoldItalic.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_18pt-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_18pt-Thin.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_18pt-ThinItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_18pt-ThinItalic.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_24pt-Black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_24pt-Black.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_24pt-BlackItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_24pt-BlackItalic.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_24pt-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_24pt-Bold.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_24pt-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_24pt-BoldItalic.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_24pt-ExtraBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_24pt-ExtraBold.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_24pt-ExtraBoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_24pt-ExtraBoldItalic.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_24pt-ExtraLight.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_24pt-ExtraLight.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_24pt-ExtraLightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_24pt-ExtraLightItalic.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_24pt-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_24pt-Italic.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_24pt-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_24pt-Light.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_24pt-LightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_24pt-LightItalic.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_24pt-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_24pt-Medium.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_24pt-MediumItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_24pt-MediumItalic.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_24pt-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_24pt-Regular.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_24pt-SemiBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_24pt-SemiBold.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_24pt-SemiBoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_24pt-SemiBoldItalic.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_24pt-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_24pt-Thin.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_24pt-ThinItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_24pt-ThinItalic.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_28pt-Black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_28pt-Black.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_28pt-BlackItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_28pt-BlackItalic.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_28pt-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_28pt-Bold.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_28pt-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_28pt-BoldItalic.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_28pt-ExtraBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_28pt-ExtraBold.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_28pt-ExtraBoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_28pt-ExtraBoldItalic.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_28pt-ExtraLight.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_28pt-ExtraLight.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_28pt-ExtraLightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_28pt-ExtraLightItalic.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_28pt-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_28pt-Italic.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_28pt-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_28pt-Light.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_28pt-LightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_28pt-LightItalic.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_28pt-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_28pt-Medium.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_28pt-MediumItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_28pt-MediumItalic.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_28pt-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_28pt-Regular.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_28pt-SemiBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_28pt-SemiBold.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_28pt-SemiBoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_28pt-SemiBoldItalic.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_28pt-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_28pt-Thin.ttf -------------------------------------------------------------------------------- /src/hourly_report/Inter/static/Inter_28pt-ThinItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/Inter/static/Inter_28pt-ThinItalic.ttf -------------------------------------------------------------------------------- /src/hourly_report/assets/average_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/average_icon.png -------------------------------------------------------------------------------- /src/hourly_report/assets/baby_love_buff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/baby_love_buff.png -------------------------------------------------------------------------------- /src/hourly_report/assets/balloon_aura_buff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/balloon_aura_buff.png -------------------------------------------------------------------------------- /src/hourly_report/assets/bear_buff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/bear_buff.png -------------------------------------------------------------------------------- /src/hourly_report/assets/blessing_buff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/blessing_buff.png -------------------------------------------------------------------------------- /src/hourly_report/assets/bloat_buff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/bloat_buff.png -------------------------------------------------------------------------------- /src/hourly_report/assets/blue_clay_planter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/blue_clay_planter.png -------------------------------------------------------------------------------- /src/hourly_report/assets/bomb_combo_buff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/bomb_combo_buff.png -------------------------------------------------------------------------------- /src/hourly_report/assets/boost_buff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/boost_buff.png -------------------------------------------------------------------------------- /src/hourly_report/assets/candy_planter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/candy_planter.png -------------------------------------------------------------------------------- /src/hourly_report/assets/comforting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/comforting.png -------------------------------------------------------------------------------- /src/hourly_report/assets/festive_planter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/festive_planter.png -------------------------------------------------------------------------------- /src/hourly_report/assets/focus_buff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/focus_buff.png -------------------------------------------------------------------------------- /src/hourly_report/assets/haste_buff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/haste_buff.png -------------------------------------------------------------------------------- /src/hourly_report/assets/heat-treated_planter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/heat-treated_planter.png -------------------------------------------------------------------------------- /src/hourly_report/assets/history_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/history_icon.png -------------------------------------------------------------------------------- /src/hourly_report/assets/honey_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/honey_icon.png -------------------------------------------------------------------------------- /src/hourly_report/assets/hydroponic_planter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/hydroponic_planter.png -------------------------------------------------------------------------------- /src/hourly_report/assets/inspire_buff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/inspire_buff.png -------------------------------------------------------------------------------- /src/hourly_report/assets/invigorating.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/invigorating.png -------------------------------------------------------------------------------- /src/hourly_report/assets/kill_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/kill_icon.png -------------------------------------------------------------------------------- /src/hourly_report/assets/macro_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/macro_icon.png -------------------------------------------------------------------------------- /src/hourly_report/assets/melody_buff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/melody_buff.png -------------------------------------------------------------------------------- /src/hourly_report/assets/motivating.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/motivating.png -------------------------------------------------------------------------------- /src/hourly_report/assets/paper_planter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/paper_planter.png -------------------------------------------------------------------------------- /src/hourly_report/assets/pesticide_planter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/pesticide_planter.png -------------------------------------------------------------------------------- /src/hourly_report/assets/petal_planter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/petal_planter.png -------------------------------------------------------------------------------- /src/hourly_report/assets/planter_of_plenty_planter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/planter_of_plenty_planter.png -------------------------------------------------------------------------------- /src/hourly_report/assets/plastic_planter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/plastic_planter.png -------------------------------------------------------------------------------- /src/hourly_report/assets/polar_power_buff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/polar_power_buff.png -------------------------------------------------------------------------------- /src/hourly_report/assets/quest_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/quest_icon.png -------------------------------------------------------------------------------- /src/hourly_report/assets/red_clay_planter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/red_clay_planter.png -------------------------------------------------------------------------------- /src/hourly_report/assets/refreshing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/refreshing.png -------------------------------------------------------------------------------- /src/hourly_report/assets/satisfying.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/satisfying.png -------------------------------------------------------------------------------- /src/hourly_report/assets/session_honey_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/session_honey_icon.png -------------------------------------------------------------------------------- /src/hourly_report/assets/sticker_planter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/sticker_planter.png -------------------------------------------------------------------------------- /src/hourly_report/assets/tabby_love_buff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/tabby_love_buff.png -------------------------------------------------------------------------------- /src/hourly_report/assets/tacky_planter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/tacky_planter.png -------------------------------------------------------------------------------- /src/hourly_report/assets/ticket_planter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/ticket_planter.png -------------------------------------------------------------------------------- /src/hourly_report/assets/time_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/time_icon.png -------------------------------------------------------------------------------- /src/hourly_report/assets/vicious_bee_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/vicious_bee_icon.png -------------------------------------------------------------------------------- /src/hourly_report/assets/wealth_clock_buff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/hourly_report/assets/wealth_clock_buff.png -------------------------------------------------------------------------------- /src/hourly_report/page5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Hourly Report 7 | 8 | 9 | 10 |
11 |
12 |
13 |
14 | 15 |

-inspire-avg

16 |
17 |
18 | 19 |
20 |
21 |
22 | 30 |
31 | 32 | 34 | 35 | 36 | 37 | 62 | 63 | -------------------------------------------------------------------------------- /src/hourly_report/script.js: -------------------------------------------------------------------------------- 1 | function leadingZero(inp){ 2 | if (inp < 10) return `0${inp}` 3 | return inp 4 | } 5 | 6 | function millify(n){ 7 | if (!n) return 0 8 | var millnames = ['','K','M','B','T','Qd'] 9 | var digitCount = Math.floor(Math.log10(Math.abs(n))/3) 10 | var millidx = Math.max(0,Math.min(millnames.length -1, digitCount)) 11 | 12 | return `${(n / 10**(3 * millidx)).toFixed(1)}${millnames[millidx]}` 13 | } 14 | 15 | Chart.defaults.font.size = 20 16 | Chart.defaults.animation = false 17 | Chart.defaults.color = "#818285" 18 | let hourNum = new Date().getHours() 19 | if (hourNum){ 20 | hourNum -= 1 21 | }else{ 22 | hourNum = 23 23 | } 24 | const hour = leadingZero(hourNum) 25 | const hourArray = Array.from(Array(61).keys()) 26 | const buffUptimeXAxis = Array.from(Array(601).keys()) 27 | 28 | function makeStackableBuffChart(element, datasets){ 29 | 30 | for (let dataset of datasets){ 31 | for(let i = dataset.data.length; i < 600; i++){ 32 | dataset.data.unshift(0) 33 | } 34 | } 35 | 36 | new Chart(element, { 37 | type: 'line', 38 | data: { 39 | labels: buffUptimeXAxis, 40 | datasets: datasets 41 | }, 42 | options: { 43 | responsive: true, 44 | maintainAspectRatio: false, 45 | scales: { 46 | y: { 47 | grid: { 48 | color: "#1F1F20" 49 | }, 50 | ticks: { 51 | maxTicksLimit: 3, 52 | autoSkip: false, 53 | }, 54 | min: 0, 55 | max: 10, 56 | }, 57 | x: { 58 | ticks: { 59 | callback: function(value, index, values) { 60 | value = value/10 61 | if (value == 60) return `${leadingZero(hourNum+1)}:00` 62 | if (!(value%10)) return `${hour}:${leadingZero(value)}` 63 | }, 64 | stepSize: 10 65 | } 66 | } 67 | }, 68 | elements: { 69 | point: { 70 | pointStyle: false, 71 | } 72 | }, 73 | plugins:{ 74 | legend: { 75 | display: false 76 | } 77 | }, 78 | } 79 | }) 80 | } -------------------------------------------------------------------------------- /src/hourly_report/style.css: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap'); 2 | @import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap'); 3 | 4 | .inter-bold { 5 | font-family: 'Montserrat', sans-serif; 6 | font-optical-sizing: auto; 7 | font-weight: 700; 8 | font-style: normal; 9 | } 10 | 11 | .inter-semibold { 12 | font-family: 'Montserrat', sans-serif; 13 | font-optical-sizing: auto; 14 | font-weight: 600; 15 | font-style: normal; 16 | } 17 | 18 | .inter-medium { 19 | font-family: 'Montserrat', sans-serif; 20 | font-optical-sizing: auto; 21 | font-weight: 400; 22 | font-style: normal; 23 | } 24 | 25 | .inter-regular { 26 | font-family: 'Montserrat', sans-serif; 27 | font-optical-sizing: auto; 28 | font-weight: 300; 29 | font-style: normal; 30 | } 31 | 32 | /*Responsive font sizes*/ 33 | @media (min-width: 2000px) { 34 | html { 35 | font-size: 16px; 36 | } 37 | } 38 | 39 | @media (max-width: 2000px) { 40 | html { 41 | font-size: 16px; 42 | } 43 | } 44 | 45 | @media (max-width: 1200px) { 46 | html { 47 | font-size: 11px; 48 | } 49 | } 50 | 51 | @media (max-width: 900px) { 52 | html { 53 | font-size: 9.5px; 54 | } 55 | } 56 | 57 | @media (max-width: 700px) { 58 | html { 59 | font-size: 8px; 60 | } 61 | } 62 | 63 | @media (max-width: 560px) { 64 | html { 65 | font-size: 7px; 66 | } 67 | } 68 | 69 | h1, h2, h3, body, p{ 70 | all: unset; 71 | } 72 | 73 | #task-times-legend{ 74 | display: flex; 75 | flex-direction: column; 76 | gap: 0.4rem; 77 | font-size: 1.1rem; 78 | margin-bottom: 1rem; 79 | } 80 | 81 | aside .title{ 82 | font-size: 1.5rem; 83 | margin-top: 2.5rem; 84 | display: inline-block; 85 | margin-bottom: 0.5rem; 86 | } 87 | 88 | .aside-stat{ 89 | display: flex; 90 | align-items: center; 91 | margin-top: 1.2rem; 92 | } 93 | 94 | .buff-uptime-container{ 95 | margin-top: 2rem; 96 | } 97 | 98 | .buff-uptime-container img{ 99 | width: 3rem; 100 | height: 3rem; 101 | } 102 | 103 | .buff-uptime-container .label{ 104 | display: flex; 105 | gap: 1rem; 106 | font-size: 1.1rem; 107 | align-items: center; 108 | margin-bottom: 0.5rem; 109 | } 110 | 111 | .canvas2{ 112 | height: 25vh; 113 | max-height: 25vh; 114 | } -------------------------------------------------------------------------------- /src/images/blue/coconutcrab_defeat-retina copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/blue/coconutcrab_defeat-retina copy.png -------------------------------------------------------------------------------- /src/images/blue/coconutcrab_defeat-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/blue/coconutcrab_defeat-retina.png -------------------------------------------------------------------------------- /src/images/blue/defeated-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/blue/defeated-retina.png -------------------------------------------------------------------------------- /src/images/blue/died-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/blue/died-retina.png -------------------------------------------------------------------------------- /src/images/blue/foundvic-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/blue/foundvic-retina.png -------------------------------------------------------------------------------- /src/images/blue/mondo-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/blue/mondo-retina.png -------------------------------------------------------------------------------- /src/images/blue/notinfield-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/blue/notinfield-retina.png -------------------------------------------------------------------------------- /src/images/blue/planter-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/blue/planter-retina.png -------------------------------------------------------------------------------- /src/images/blue/tokenlink-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/blue/tokenlink-retina.png -------------------------------------------------------------------------------- /src/images/blue/viccactus-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/blue/viccactus-retina.png -------------------------------------------------------------------------------- /src/images/blue/vicclover-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/blue/vicclover-retina.png -------------------------------------------------------------------------------- /src/images/blue/vicdefeat-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/blue/vicdefeat-retina.png -------------------------------------------------------------------------------- /src/images/blue/vicmountain top-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/blue/vicmountain top-retina.png -------------------------------------------------------------------------------- /src/images/blue/vicpepper-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/blue/vicpepper-retina.png -------------------------------------------------------------------------------- /src/images/blue/vicrose-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/blue/vicrose-retina.png -------------------------------------------------------------------------------- /src/images/blue/vicspider-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/blue/vicspider-retina.png -------------------------------------------------------------------------------- /src/images/buffs/baby_love-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/baby_love-retina.png -------------------------------------------------------------------------------- /src/images/buffs/balloon_aura-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/balloon_aura-retina.png -------------------------------------------------------------------------------- /src/images/buffs/bearmorph1-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/bearmorph1-retina.png -------------------------------------------------------------------------------- /src/images/buffs/bearmorph2-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/bearmorph2-retina.png -------------------------------------------------------------------------------- /src/images/buffs/bearmorph3-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/bearmorph3-retina.png -------------------------------------------------------------------------------- /src/images/buffs/bearmorph4-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/bearmorph4-retina.png -------------------------------------------------------------------------------- /src/images/buffs/bearmorph5-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/bearmorph5-retina.png -------------------------------------------------------------------------------- /src/images/buffs/blessing-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/blessing-retina.png -------------------------------------------------------------------------------- /src/images/buffs/blessing1-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/blessing1-retina.png -------------------------------------------------------------------------------- /src/images/buffs/blessing2-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/blessing2-retina.png -------------------------------------------------------------------------------- /src/images/buffs/blessing3-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/blessing3-retina.png -------------------------------------------------------------------------------- /src/images/buffs/blessing4-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/blessing4-retina.png -------------------------------------------------------------------------------- /src/images/buffs/bloat-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/bloat-retina.png -------------------------------------------------------------------------------- /src/images/buffs/blue_boost-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/blue_boost-retina.png -------------------------------------------------------------------------------- /src/images/buffs/comforting-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/comforting-retina.png -------------------------------------------------------------------------------- /src/images/buffs/haste+.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/haste+.png -------------------------------------------------------------------------------- /src/images/buffs/haste1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/haste1.png -------------------------------------------------------------------------------- /src/images/buffs/haste10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/haste10.png -------------------------------------------------------------------------------- /src/images/buffs/haste2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/haste2.png -------------------------------------------------------------------------------- /src/images/buffs/haste3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/haste3.png -------------------------------------------------------------------------------- /src/images/buffs/haste4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/haste4.png -------------------------------------------------------------------------------- /src/images/buffs/haste5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/haste5.png -------------------------------------------------------------------------------- /src/images/buffs/haste6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/haste6.png -------------------------------------------------------------------------------- /src/images/buffs/haste7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/haste7.png -------------------------------------------------------------------------------- /src/images/buffs/haste8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/haste8.png -------------------------------------------------------------------------------- /src/images/buffs/haste9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/haste9.png -------------------------------------------------------------------------------- /src/images/buffs/invigorating-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/invigorating-retina.png -------------------------------------------------------------------------------- /src/images/buffs/melody-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/melody-retina.png -------------------------------------------------------------------------------- /src/images/buffs/motivating-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/motivating-retina.png -------------------------------------------------------------------------------- /src/images/buffs/polar_power-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/polar_power-retina.png -------------------------------------------------------------------------------- /src/images/buffs/refreshing-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/refreshing-retina.png -------------------------------------------------------------------------------- /src/images/buffs/satisfying-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/satisfying-retina.png -------------------------------------------------------------------------------- /src/images/buffs/tabby_love-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/tabby_love-retina.png -------------------------------------------------------------------------------- /src/images/buffs/test/haste1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/test/haste1.png -------------------------------------------------------------------------------- /src/images/buffs/test/haste10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/test/haste10.png -------------------------------------------------------------------------------- /src/images/buffs/test/haste2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/test/haste2.png -------------------------------------------------------------------------------- /src/images/buffs/test/haste3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/test/haste3.png -------------------------------------------------------------------------------- /src/images/buffs/test/haste4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/test/haste4.png -------------------------------------------------------------------------------- /src/images/buffs/test/haste5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/test/haste5.png -------------------------------------------------------------------------------- /src/images/buffs/test/haste6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/test/haste6.png -------------------------------------------------------------------------------- /src/images/buffs/test/haste7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/test/haste7.png -------------------------------------------------------------------------------- /src/images/buffs/test/haste8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/test/haste8.png -------------------------------------------------------------------------------- /src/images/buffs/test/haste9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/test/haste9.png -------------------------------------------------------------------------------- /src/images/buffs/wealth_clock-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/buffs/wealth_clock-retina.png -------------------------------------------------------------------------------- /src/images/inventory/blueclayplanter-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/blueclayplanter-retina.png -------------------------------------------------------------------------------- /src/images/inventory/candyplanter-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/candyplanter-retina.png -------------------------------------------------------------------------------- /src/images/inventory/festiveplanter-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/festiveplanter-retina.png -------------------------------------------------------------------------------- /src/images/inventory/glitter-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/glitter-retina.png -------------------------------------------------------------------------------- /src/images/inventory/gumdrops-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/gumdrops-retina.png -------------------------------------------------------------------------------- /src/images/inventory/heattreatedplanter-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/heattreatedplanter-retina.png -------------------------------------------------------------------------------- /src/images/inventory/hydroponicplanter-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/hydroponicplanter-retina.png -------------------------------------------------------------------------------- /src/images/inventory/natro/blueberry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/natro/blueberry.png -------------------------------------------------------------------------------- /src/images/inventory/natro/blueclayplanter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/natro/blueclayplanter.png -------------------------------------------------------------------------------- /src/images/inventory/natro/candyplanter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/natro/candyplanter.png -------------------------------------------------------------------------------- /src/images/inventory/natro/festiveplanter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/natro/festiveplanter.png -------------------------------------------------------------------------------- /src/images/inventory/natro/glitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/natro/glitter.png -------------------------------------------------------------------------------- /src/images/inventory/natro/gumdrops.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/natro/gumdrops.png -------------------------------------------------------------------------------- /src/images/inventory/natro/heattreatedplanter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/natro/heattreatedplanter.png -------------------------------------------------------------------------------- /src/images/inventory/natro/hydroponicplanter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/natro/hydroponicplanter.png -------------------------------------------------------------------------------- /src/images/inventory/natro/paperplanter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/natro/paperplanter.png -------------------------------------------------------------------------------- /src/images/inventory/natro/pesticideplanter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/natro/pesticideplanter.png -------------------------------------------------------------------------------- /src/images/inventory/natro/petalplanter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/natro/petalplanter.png -------------------------------------------------------------------------------- /src/images/inventory/natro/planterofplenty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/natro/planterofplenty.png -------------------------------------------------------------------------------- /src/images/inventory/natro/plasticplanter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/natro/plasticplanter.png -------------------------------------------------------------------------------- /src/images/inventory/natro/redclayplanter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/natro/redclayplanter.png -------------------------------------------------------------------------------- /src/images/inventory/natro/stickerplanter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/natro/stickerplanter.png -------------------------------------------------------------------------------- /src/images/inventory/natro/strawberry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/natro/strawberry.png -------------------------------------------------------------------------------- /src/images/inventory/natro/tackyplanter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/natro/tackyplanter.png -------------------------------------------------------------------------------- /src/images/inventory/natro/ticketplanter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/natro/ticketplanter.png -------------------------------------------------------------------------------- /src/images/inventory/old/blueberry-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/old/blueberry-retina.png -------------------------------------------------------------------------------- /src/images/inventory/old/blueclayplanter-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/old/blueclayplanter-retina.png -------------------------------------------------------------------------------- /src/images/inventory/old/candyplanter-built-in.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/old/candyplanter-built-in.png -------------------------------------------------------------------------------- /src/images/inventory/old/festiveplanter-built-in.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/old/festiveplanter-built-in.png -------------------------------------------------------------------------------- /src/images/inventory/old/field dice-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/old/field dice-retina.png -------------------------------------------------------------------------------- /src/images/inventory/old/glitter-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/old/glitter-retina.png -------------------------------------------------------------------------------- /src/images/inventory/old/gumdrops-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/old/gumdrops-retina.png -------------------------------------------------------------------------------- /src/images/inventory/old/heattreatedplanter-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/old/heattreatedplanter-retina.png -------------------------------------------------------------------------------- /src/images/inventory/old/hydroponicplanter-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/old/hydroponicplanter-retina.png -------------------------------------------------------------------------------- /src/images/inventory/old/loaded dice-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/old/loaded dice-retina.png -------------------------------------------------------------------------------- /src/images/inventory/old/paperplanter-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/old/paperplanter-retina.png -------------------------------------------------------------------------------- /src/images/inventory/old/pesticideplanter-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/old/pesticideplanter-retina.png -------------------------------------------------------------------------------- /src/images/inventory/old/petalplanter-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/old/petalplanter-retina.png -------------------------------------------------------------------------------- /src/images/inventory/old/planterofplentyplanter-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/old/planterofplentyplanter-retina.png -------------------------------------------------------------------------------- /src/images/inventory/old/plasticplanter-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/old/plasticplanter-retina.png -------------------------------------------------------------------------------- /src/images/inventory/old/redclayplanter-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/old/redclayplanter-retina.png -------------------------------------------------------------------------------- /src/images/inventory/old/stickerplanter-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/old/stickerplanter-retina.png -------------------------------------------------------------------------------- /src/images/inventory/old/strawberry-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/old/strawberry-retina.png -------------------------------------------------------------------------------- /src/images/inventory/old/tackyplanter-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/old/tackyplanter-retina.png -------------------------------------------------------------------------------- /src/images/inventory/old/ticketplanter-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/old/ticketplanter-retina.png -------------------------------------------------------------------------------- /src/images/inventory/old/whirligig-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/old/whirligig-retina.png -------------------------------------------------------------------------------- /src/images/inventory/paperplanter-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/paperplanter-retina.png -------------------------------------------------------------------------------- /src/images/inventory/pesticideplanter-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/pesticideplanter-retina.png -------------------------------------------------------------------------------- /src/images/inventory/petalplanter-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/petalplanter-retina.png -------------------------------------------------------------------------------- /src/images/inventory/plasticplanter-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/plasticplanter-retina.png -------------------------------------------------------------------------------- /src/images/inventory/redclayplanter-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/redclayplanter-retina.png -------------------------------------------------------------------------------- /src/images/inventory/stickerplanter-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/stickerplanter-retina.png -------------------------------------------------------------------------------- /src/images/inventory/tackyplanter-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/tackyplanter-retina.png -------------------------------------------------------------------------------- /src/images/inventory/ticketplanter-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/ticketplanter-retina.png -------------------------------------------------------------------------------- /src/images/inventory/whirligig-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/inventory/whirligig-retina.png -------------------------------------------------------------------------------- /src/images/mac/allow-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/mac/allow-retina.png -------------------------------------------------------------------------------- /src/images/mac/gamemodedark-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/mac/gamemodedark-retina.png -------------------------------------------------------------------------------- /src/images/mac/gamemodelight-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/mac/gamemodelight-retina.png -------------------------------------------------------------------------------- /src/images/menu/blenderadd-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/menu/blenderadd-retina.png -------------------------------------------------------------------------------- /src/images/menu/blendercancel-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/menu/blendercancel-retina.png -------------------------------------------------------------------------------- /src/images/menu/blenderclose-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/menu/blenderclose-retina.png -------------------------------------------------------------------------------- /src/images/menu/blenderconfirm-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/menu/blenderconfirm-retina.png -------------------------------------------------------------------------------- /src/images/menu/blenderdone-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/menu/blenderdone-retina.png -------------------------------------------------------------------------------- /src/images/menu/blenderend-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/menu/blenderend-retina.png -------------------------------------------------------------------------------- /src/images/menu/blendermake-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/menu/blendermake-retina.png -------------------------------------------------------------------------------- /src/images/menu/cannon-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/menu/cannon-retina.png -------------------------------------------------------------------------------- /src/images/menu/claimhive-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/menu/claimhive-retina.png -------------------------------------------------------------------------------- /src/images/menu/close-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/menu/close-retina.png -------------------------------------------------------------------------------- /src/images/menu/confirm-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/menu/confirm-retina.png -------------------------------------------------------------------------------- /src/images/menu/dialog-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/menu/dialog-retina.png -------------------------------------------------------------------------------- /src/images/menu/disconnect-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/menu/disconnect-retina.png -------------------------------------------------------------------------------- /src/images/menu/ebutton-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/menu/ebutton-retina.png -------------------------------------------------------------------------------- /src/images/menu/emptyhealth-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/menu/emptyhealth-retina.png -------------------------------------------------------------------------------- /src/images/menu/emptyhealth_new-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/menu/emptyhealth_new-retina.png -------------------------------------------------------------------------------- /src/images/menu/inventoryopen-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/menu/inventoryopen-retina.png -------------------------------------------------------------------------------- /src/images/menu/makehoney-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/menu/makehoney-retina.png -------------------------------------------------------------------------------- /src/images/menu/mmempty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/menu/mmempty.png -------------------------------------------------------------------------------- /src/images/menu/mmopen-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/menu/mmopen-retina.png -------------------------------------------------------------------------------- /src/images/menu/no-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/menu/no-retina.png -------------------------------------------------------------------------------- /src/images/menu/nopollen-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/menu/nopollen-retina.png -------------------------------------------------------------------------------- /src/images/menu/performancestats-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/menu/performancestats-retina.png -------------------------------------------------------------------------------- /src/images/menu/replace-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/menu/replace-retina.png -------------------------------------------------------------------------------- /src/images/menu/signup-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/menu/signup-retina.png -------------------------------------------------------------------------------- /src/images/menu/sprinkler-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/menu/sprinkler-retina.png -------------------------------------------------------------------------------- /src/images/menu/stickerbookclose-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/menu/stickerbookclose-retina.png -------------------------------------------------------------------------------- /src/images/menu/yes-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/menu/yes-retina.png -------------------------------------------------------------------------------- /src/images/misc/hive-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/misc/hive-retina.png -------------------------------------------------------------------------------- /src/images/misc/honey_0-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/misc/honey_0-retina.png -------------------------------------------------------------------------------- /src/images/misc/honey_1-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/misc/honey_1-retina.png -------------------------------------------------------------------------------- /src/images/misc/honey_2-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/misc/honey_2-retina.png -------------------------------------------------------------------------------- /src/images/misc/honey_3-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/misc/honey_3-retina.png -------------------------------------------------------------------------------- /src/images/misc/honey_4-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/misc/honey_4-retina.png -------------------------------------------------------------------------------- /src/images/misc/honey_5-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/misc/honey_5-retina.png -------------------------------------------------------------------------------- /src/images/misc/honey_6-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/misc/honey_6-retina.png -------------------------------------------------------------------------------- /src/images/misc/honey_7-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/misc/honey_7-retina.png -------------------------------------------------------------------------------- /src/images/misc/honey_8-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/misc/honey_8-retina.png -------------------------------------------------------------------------------- /src/images/misc/honey_9-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/misc/honey_9-retina.png -------------------------------------------------------------------------------- /src/images/mmopen-built-in.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/mmopen-built-in.png -------------------------------------------------------------------------------- /src/images/sticker_stack/hivesticker-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/sticker_stack/hivesticker-retina.png -------------------------------------------------------------------------------- /src/images/sticker_stack/regularsticker-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/images/sticker_stack/regularsticker-retina.png -------------------------------------------------------------------------------- /src/modules/controls/mouse.py: -------------------------------------------------------------------------------- 1 | import sys 2 | if sys.platform == "win32": 3 | import pydirectinput as pag 4 | pag.PAUSE = 0.1 5 | else: 6 | import pyautogui as pag 7 | import time 8 | from pynput.mouse import Button, Controller 9 | 10 | pynputMouse = Controller() 11 | #move the mouse instantly 12 | def teleport(x,y): 13 | pag.moveTo(int(x),int(y)) 14 | 15 | def moveTo(x,y, delay = 0.1): 16 | pag.moveTo(int(x),int(y), delay) 17 | pynputMouse.position = (int(x), int(y)) 18 | 19 | def mouseDown(): 20 | pynputMouse.press(Button.left) 21 | pag.mouseDown() 22 | 23 | def mouseUp(): 24 | pynputMouse.release(Button.left) 25 | pag.mouseUp() 26 | 27 | def moveBy(x = 0,y = 0): 28 | pag.move(x, y) 29 | 30 | def click(): 31 | mouseDown() 32 | time.sleep(0.04) 33 | mouseUp() 34 | 35 | def fastClick(): 36 | pynputMouse.press(Button.left) 37 | pynputMouse.release(Button.left) 38 | 39 | def scroll(clicks, pause = False): 40 | pag.scroll(clicks, _pause = pause) 41 | 42 | def getPos(): 43 | return pag.position() -------------------------------------------------------------------------------- /src/modules/controls/sleep.py: -------------------------------------------------------------------------------- 1 | #custom sleep function 2 | import time 3 | def sleep(duration, get_now=time.perf_counter): 4 | now = get_now() 5 | end = now + duration 6 | while now < end: 7 | now = get_now() 8 | 9 | def high_precision_sleep(duration): 10 | start_time = time.perf_counter() 11 | while True: 12 | elapsed_time = time.perf_counter() - start_time 13 | remaining_time = duration - elapsed_time 14 | if remaining_time <= 0: 15 | break 16 | if remaining_time > 0.02: # Sleep for 5ms if remaining time is greater 17 | time.sleep(max(remaining_time/2, 0.0001)) # Sleep for the remaining time or minimum sleep interval 18 | else: 19 | pass -------------------------------------------------------------------------------- /src/modules/logging/webhook.py: -------------------------------------------------------------------------------- 1 | from discord_webhook import DiscordEmbed, DiscordWebhook 2 | from requests.exceptions import SSLError, ConnectionError 3 | def webhook(url, title, desc, time, color, imagePath = None): 4 | webhook = DiscordWebhook(url = url,rate_limit_retry=True) 5 | if title: 6 | embed = DiscordEmbed(title="[{}] {}".format(time,title), description=desc, color=color) 7 | else: 8 | embed = DiscordEmbed(title="", description="[{}] {}".format(time,desc), color=color) 9 | #if to add image 10 | if imagePath: 11 | with open(imagePath, "rb") as f: 12 | webhook.add_file(file=f.read(), filename= "screenshot.png") 13 | f.close() 14 | embed.set_image(url='attachment://screenshot.png') 15 | # add embed object to webhook 16 | webhook.add_embed(embed) 17 | try: 18 | webhook.execute() 19 | except Exception as e: 20 | print(f"Webhook Error: {e}") -------------------------------------------------------------------------------- /src/modules/misc/appManager.py: -------------------------------------------------------------------------------- 1 | import sys 2 | import re 3 | import os 4 | import subprocess 5 | from modules.misc.appleScript import runAppleScript 6 | class WindowMgr: 7 | """Encapsulates some calls to the winapi for window management""" 8 | 9 | def __init__ (self): 10 | """Constructor""" 11 | self._handle = None 12 | 13 | def find_window(self, class_name, window_name=None): 14 | """find a window by its class_name""" 15 | self._handle = win32gui.FindWindow(class_name, window_name) 16 | 17 | def _window_enum_callback(self, hwnd, wildcard): 18 | """Pass to win32gui.EnumWindows() to check all the opened windows""" 19 | if re.match(wildcard, str(win32gui.GetWindowText(hwnd))) is not None: 20 | self._handle = hwnd 21 | 22 | def find_window_wildcard(self, wildcard): 23 | """find a window whose title matches the wildcard regex""" 24 | self._handle = None 25 | win32gui.EnumWindows(self._window_enum_callback, wildcard) 26 | 27 | def set_foreground(self): 28 | """put the window in the foreground""" 29 | #send the alt key. For some reason this is required to make it run consistently 30 | shell = win32com.client.Dispatch("WScript.Shell") 31 | shell.SendKeys('%') 32 | win32gui.SetForegroundWindow(self._handle) #switch to window 33 | win32gui.ShowWindow(self._handle, win32con.SW_MINIMIZE) 34 | win32gui.ShowWindow(self._handle, win32con.SW_MAXIMIZE) 35 | 36 | 37 | 38 | def openAppMac(app="roblox"): 39 | tmp = os.popen("ps -Af").read() 40 | if not app in tmp[:]: return False 41 | runAppleScript('activate application "{}"'.format(app)) 42 | os.system(f"open -a {app}") 43 | return True 44 | 45 | def openAppWindows(name): 46 | w = WindowMgr() 47 | w.find_window(None, "Roblox") 48 | try: 49 | w.set_foreground() 50 | return True 51 | except: 52 | return False 53 | 54 | 55 | def openDeeplink(link): 56 | if sys.platform == "darwin": 57 | subprocess.call(["open", link]) 58 | else: 59 | os.system(f'start "" "{link}"') 60 | 61 | def closeApp(app): 62 | if sys.platform == "darwin": 63 | subprocess.call(["pkill", app]) 64 | cmd = """ 65 | osascript -e 'quit application "Roblox"' 66 | """ 67 | os.system(cmd) 68 | else: 69 | if app.lower() == "roblox": 70 | app = "RobloxPlayerBeta" 71 | #taskkill /IM RobloxPlayerBeta.exe 72 | #app += ".exe" 73 | os.system(f"START /wait taskkill /f /im {app}.exe") 74 | 75 | if sys.platform == "darwin": 76 | openApp = openAppMac 77 | else: 78 | import win32gui, win32con, win32com.client 79 | openApp = openAppWindows 80 | -------------------------------------------------------------------------------- /src/modules/misc/appleScript.py: -------------------------------------------------------------------------------- 1 | import os 2 | def runAppleScript(code): 3 | cmd = ''' osascript -e '{}' '''.format(code) 4 | os.system(cmd) -------------------------------------------------------------------------------- /src/modules/misc/imageManipulation.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import cv2 3 | import os 4 | from PIL import Image 5 | import imagehash 6 | #accept a pillow image and return a cv2 one 7 | def pillowToCv2(img): 8 | return cv2.cvtColor(np.array(img), cv2.COLOR_BGR2RGB) 9 | 10 | def pillowToHash(img): 11 | return imagehash.average_hash(img) 12 | 13 | #resize the image based on the user's screen coordinates 14 | def adjustImage(folder, imageName, display_type): 15 | #get a list of all images and find the name of the one that matches 16 | images = os.listdir(folder) 17 | for x in images: 18 | #images are named in the format itemname-width 19 | #width is the width of the monitor used to take the image 20 | if not "-" in x: continue 21 | name, res = x.split(".")[0].split("-",1) 22 | if name == imageName: 23 | img = Image.open(f"{folder}/{x}") 24 | break 25 | else: 26 | raise FileNotFoundError(f"Could not find the image named {imageName} in {folder}") 27 | #get original size of image 28 | width, height = img.size 29 | #calculate the scaling value 30 | #retina has 2x more, built-in is 1x 31 | if display_type == res: 32 | scaling = 1 33 | elif display_type == "built-in": #screen is built-in but image is retina 34 | scaling = 2 35 | else: #screen is retina but image is built-in 36 | scaling = 0.5 37 | #resize image 38 | img = img.resize((int(width/scaling), int(height/scaling))) 39 | #convert to cv2 40 | return pillowToCv2(img) -------------------------------------------------------------------------------- /src/modules/misc/messageBox.py: -------------------------------------------------------------------------------- 1 | import os 2 | import sys 3 | if sys.platform == "win32": 4 | from ctypes import * 5 | def msgBox(title, text): 6 | 7 | if sys.platform == "darwin": 8 | os.system(f'''osascript -e 'Tell application "System Events" to display dialog "{text}" with title "{title}"' ''') 9 | else: 10 | windll.user32.MessageBoxW(0, text, title, 0) -------------------------------------------------------------------------------- /src/modules/misc/update.py: -------------------------------------------------------------------------------- 1 | import stat 2 | import os 3 | import requests 4 | import zipfile 5 | import shutil 6 | from io import BytesIO 7 | from modules.misc.messageBox import msgBox 8 | 9 | #merge 2 folders together 10 | #if the item already exists, do not replace it 11 | def merge(scr_path, dir_path): 12 | files = next(os.walk(scr_path))[2] 13 | folders = next(os.walk(scr_path))[1] 14 | for file in files: # Copy the files 15 | scr_file = scr_path + "/" + file 16 | dir_file = dir_path + "/" + file 17 | if not os.path.exists(dir_file): 18 | shutil.copy(scr_file, dir_file) 19 | for folder in folders: # Merge again with the subdirectories 20 | scr_folder = scr_path + "/" + folder 21 | dir_folder = dir_path + "/" + folder 22 | if not os.path.exists(dir_folder): # Create the subdirectories if dont already exist 23 | os.mkdir(dir_folder) 24 | merge(scr_folder, dir_folder) 25 | 26 | def update(t = "e"): 27 | protectedFolders = ["settings"] #folders that should not be replaced 28 | protectedFiles = [".git"] #files that should not be replaces 29 | destination = os.getcwd().replace("/src","") #the target folder to replace the files. Should be the parent directory of the /src folder 30 | 31 | link = "https://github.com/existancepy/bss-macro-py/archive/master.zip" 32 | source = f"{destination}/bss-macro-py-main" 33 | e_macroPath = f"{destination}/e_macro.command" 34 | 35 | if t == "e": 36 | link = "https://github.com/existancepy/bss-macro-py-experimental/archive/master.zip" 37 | source = f"{destination}/bss-macro-py-experimental-main" 38 | 39 | print(os.listdir(destination)) 40 | #delete all files 41 | for f in os.listdir(destination): 42 | if f in protectedFolders or f in protectedFiles: continue 43 | if "." in f: 44 | os.remove(f"{destination}/{f}") 45 | else: 46 | shutil.rmtree(f"{destination}/{f}") 47 | 48 | #download new files 49 | req = requests.get(link) 50 | zipf= zipfile.ZipFile(BytesIO(req.content)) 51 | zipf.extractall(destination) 52 | files = os.listdir(source) 53 | 54 | #move the files from the download folder to the source folder 55 | for file in files: 56 | if file in protectedFiles: continue 57 | file_name = os.path.join(source, file) 58 | if file in protectedFolders: #merge the contents of the folders 59 | merge(file_name, f"{destination}/{file}") 60 | else: 61 | shutil.move(file_name, destination) 62 | print("Files Moved") 63 | 64 | #delete the download folder 65 | shutil.rmtree(source) 66 | 67 | #set execute permission for e_macro.command 68 | st = os.stat(e_macroPath) 69 | os.chmod(e_macroPath, st.st_mode | stat.S_IEXEC) 70 | 71 | msgBox("Update success", "Update complete. You can now relaunch the macro") 72 | -------------------------------------------------------------------------------- /src/modules/screen/pixelColor.py: -------------------------------------------------------------------------------- 1 | import mss 2 | import numpy as np 3 | def getPixelColor(X1,Y1): 4 | region = {'top': Y1, 'left': X1, 'width': 1, 'height': 1} 5 | 6 | with mss.mss() as sct: 7 | img = sct.grab(region) 8 | im = np.array(img) 9 | col = tuple(im[0,0])[:-1][::-1] 10 | return col -------------------------------------------------------------------------------- /src/modules/screen/screenData.py: -------------------------------------------------------------------------------- 1 | #update the screen user data 2 | import pyautogui as pag 3 | import numpy as np 4 | import subprocess 5 | import sys 6 | import os 7 | from ..misc import settingsManager 8 | screenPath = os.path.abspath(os.path.join(os.path.dirname(__file__), '../../data/user/screen.txt')) 9 | def setScreenData(): 10 | #get screen info 11 | multiplierData = { 12 | #ysm, xsm, ylm, xlm 13 | "2880x1800": [1,1,1,1], 14 | "2940x1912": [1.1,0.98,1,1.2], 15 | "1920x1080": [1.2,0.92,1.3,1.5], 16 | "1440x900": [1,1,1,1], 17 | "1366x768": [0.8,1,1,1.2], 18 | "4096x2304": [1.45,0.91,1.32,1.5], 19 | "3024x1964": [1,0.98, 1.2, 1.2], 20 | "3360x2100": [1.2,0.95,1.2,1.3], 21 | "4480x2520": [1.4,0.89,1.4,1.9], 22 | "3600x2338": [1.45,0.93,1.2,1.6], 23 | "3584x2240": [1.3, 0.93, 1.2, 1.5], 24 | "1280x800": [0.9,1.03,1,1], 25 | "3840x2160": [1.13,0.92,1.3,1.5], 26 | "3456x2234": [1.2, 0.93, 1.3, 1.6], 27 | "2560x1600": [0.9, 1.02, 1, 1.1], 28 | "2560x1440": [1.45,0.87,1.8,2.2], 29 | "5120x2880": [1.4,0.87,1.7,2], 30 | "3420x2224":[0.81, 0.95, 1.12, 1.24], 31 | "3840x2486": [1.3, 0.92, 1.45, 1.45], 32 | "3420x2214":[0.9, 0.95, 1.1, 1.15], 33 | "3440x1440": [1.6, 0.84, 1.6, 2.3] 34 | } 35 | 36 | wwd, whd = pag.size() 37 | screenData = { 38 | "display_type": "built-in", 39 | "screen_width": wwd, 40 | "screen_height": whd, 41 | "y_multiplier": 1, 42 | "x_multiplier": 1, 43 | "y_length_multiplier":1, 44 | "x_length_multiplier":1 45 | } 46 | 47 | #for macs: check if its reina, set the screen width and height, set multipliers 48 | if sys.platform == "darwin": 49 | #get a screenshot. The size of the screenshot is the true screen size 50 | sh, sw, _ = np.array(pag.screenshot()).shape 51 | if whd*2 == sh: #check if retina (screenshot size is twice pyautogui's size) 52 | screenData["screen_width"] = sw 53 | screenData["screen_height"] = sh 54 | screenData["display_type"] = "retina" 55 | print("display type: retina") 56 | 57 | else: 58 | print("display type: built-in") 59 | print("Screen coordinates: {}x{}".format(sw,sh)) 60 | ndisplay = "{}x{}".format(sw,sh) 61 | #get multipliers 62 | if ndisplay in multiplierData: 63 | screenData["y_multiplier"] = multiplierData[ndisplay][0] 64 | screenData["x_multiplier"] = multiplierData[ndisplay][1] 65 | screenData["y_length_multiplier"] = multiplierData[ndisplay][2] 66 | screenData["x_length_multiplier"] = multiplierData[ndisplay][3] 67 | #save the data 68 | settingsManager.saveDict(screenPath, screenData) 69 | 70 | def getScreenData(): 71 | return settingsManager.readSettingsFile(screenPath) 72 | -------------------------------------------------------------------------------- /src/modules/screen/screenshot.py: -------------------------------------------------------------------------------- 1 | import mss 2 | from PIL import Image 3 | import mss.tools 4 | import time 5 | import pyautogui as pag 6 | import numpy as np 7 | mw, mh = pag.size() 8 | #returns an NP array, useful for cv2 9 | def mssScreenshotNP(x,y,w,h, save = False): 10 | with mss.mss() as sct: 11 | # The screen part to capture 12 | monitor = {"left": int(x), "top": int(y), "width": int(w), "height": int(h)} 13 | # Grab the data and convert to opencv img 14 | sct_img = sct.grab(monitor) 15 | if save: mss.tools.to_png(sct_img.rgb, sct_img.size, output=f"screen-{time.time()}.png") 16 | return np.array(sct_img) 17 | 18 | 19 | def mssScreenshot(x=0,y=0,w=mw,h=mh, save = False): 20 | with mss.mss() as sct: 21 | # The screen part to capture 22 | monitor = {"left": int(x), "top": int(y), "width": int(w), "height": int(h)} 23 | # Grab the data and convert to pillow img 24 | sct_img = sct.grab(monitor) 25 | img = Image.frombytes("RGB", sct_img.size, sct_img.bgra, "raw", "BGRX") 26 | if save: mss.tools.to_png(sct_img.rgb, sct_img.size, output=f"screen-{time.time()}.png") 27 | return img 28 | 29 | def screenshotScreen(path, region = None): 30 | with mss.mss() as sct: 31 | if region is None: 32 | sct.shot(output=path) 33 | else: 34 | monitor = {"left": int(region[0]), "top": int(region[1]), "width": int(region[2]), "height": int(region[3])} 35 | sct_img = sct.grab(monitor) 36 | # Save to the picture file 37 | mss.tools.to_png(sct_img.rgb, sct_img.size, output=path) 38 | -------------------------------------------------------------------------------- /src/test4.py: -------------------------------------------------------------------------------- 1 | from datetime import timedelta 2 | 3 | def cdTextToSecs(rawText, brackets, defaultTime=0): 4 | if brackets: 5 | closePos = rawText.rfind(")") 6 | #get cooldown if close bracket is present or not 7 | if closePos >= 0: 8 | cooldownRaw = rawText[rawText.rfind("(")+1:closePos] 9 | elif "(" in rawText: 10 | cooldownRaw = rawText.split("(")[1] 11 | else: 12 | cooldownRaw = rawText 13 | else: 14 | cooldownRaw = rawText 15 | #clean it up, extract only valid characters 16 | cooldownRaw = ''.join([x for x in cooldownRaw if x.isdigit() or x == ":" or x == "s"]) 17 | cooldownSeconds = None #cooldown in seconds 18 | 19 | def extractNumFromText(text): 20 | return ''.join(filter(str.isdigit, text)) 21 | 22 | #convert time to seconds 23 | validTime = True 24 | if ":" in cooldownRaw: 25 | times = cooldownRaw.split(":") 26 | cooldownSeconds = 0 27 | #convert 28 | for i,e in enumerate(times[::-1]): 29 | num = extractNumFromText(e) 30 | if not num: 31 | validTime = False 32 | break 33 | cooldownSeconds += int(num) * 60**i 34 | 35 | elif cooldownRaw.count("s") == 1: #only seconds 36 | num = extractNumFromText(e) 37 | if not num: 38 | validTime = False 39 | cooldownSeconds = num 40 | else: 41 | validTime = False 42 | 43 | if not validTime or (defaultTime and cooldownSeconds > defaultTime): 44 | cooldownSeconds = defaultTime 45 | 46 | return cooldownSeconds 47 | 48 | 49 | ans = cdTextToSecs("Use the wealth clock (57:01)", True, 0) 50 | print(ans) 51 | print(timedelta(seconds=ans)) -------------------------------------------------------------------------------- /src/webapp/assets/general/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/general/favicon.ico -------------------------------------------------------------------------------- /src/webapp/assets/general/icon - Copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/general/icon - Copy.png -------------------------------------------------------------------------------- /src/webapp/assets/general/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/general/icon.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/blue_clay_planter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/blue_clay_planter.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/blue_extract.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/blue_extract.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/candy_planter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/candy_planter.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/caustic_wax.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/caustic_wax.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/chevron.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/chevron.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/comforting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/comforting.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/enzymes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/enzymes.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/festive_planter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/festive_planter.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/field_dice.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/field_dice.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/glitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/glitter.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/glue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/glue.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/gumdrops.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/gumdrops.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/hard_wax.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/hard_wax.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/heat-treated_planter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/heat-treated_planter.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/hydroponic_planter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/hydroponic_planter.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/invigorating.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/invigorating.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/loaded_dice.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/loaded_dice.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/moon_charm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/moon_charm.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/motivating.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/motivating.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/oil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/oil.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/paper_planter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/paper_planter.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/pesticide_planter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/pesticide_planter.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/petal_planter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/petal_planter.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/planter_of_plenty_planter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/planter_of_plenty_planter.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/plastic_planter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/plastic_planter.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/purple_potion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/purple_potion.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/red_clay_planter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/red_clay_planter.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/red_extract.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/red_extract.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/refreshing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/refreshing.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/satisfying.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/satisfying.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/smooth_dice.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/smooth_dice.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/soft_wax.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/soft_wax.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/star_jelly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/star_jelly.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/sticker_planter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/sticker_planter.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/sticker_stack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/sticker_stack.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/super_smoothie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/super_smoothie.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/swirled_wax.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/swirled_wax.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/tacky_planter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/tacky_planter.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/ticket_planter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/ticket_planter.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/tropical_drink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/tropical_drink.png -------------------------------------------------------------------------------- /src/webapp/assets/icons/turpentine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/icons/turpentine.png -------------------------------------------------------------------------------- /src/webapp/assets/settings/discord.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/settings/discord.png -------------------------------------------------------------------------------- /src/webapp/assets/sidebar/boost.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/sidebar/boost.png -------------------------------------------------------------------------------- /src/webapp/assets/sidebar/collect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/sidebar/collect.png -------------------------------------------------------------------------------- /src/webapp/assets/sidebar/config.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/sidebar/config.png -------------------------------------------------------------------------------- /src/webapp/assets/sidebar/gather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/sidebar/gather.png -------------------------------------------------------------------------------- /src/webapp/assets/sidebar/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/sidebar/home.png -------------------------------------------------------------------------------- /src/webapp/assets/sidebar/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/sidebar/image.png -------------------------------------------------------------------------------- /src/webapp/assets/sidebar/kill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/sidebar/kill.png -------------------------------------------------------------------------------- /src/webapp/assets/sidebar/planters.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/sidebar/planters.png -------------------------------------------------------------------------------- /src/webapp/assets/sidebar/quests.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/existancepy/bss-macro-py/c9b1cca72af6f379ac562b9a1e04e200bae6df2a/src/webapp/assets/sidebar/quests.png -------------------------------------------------------------------------------- /src/webapp/htmlImports/persistent/header.html: -------------------------------------------------------------------------------- 1 |
2 | 3 |

Existance Macro

4 |
v2.0.0 - Update 11.12
5 |
6 | -------------------------------------------------------------------------------- /src/webapp/htmlImports/persistent/tabs.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/webapp/htmlImports/tabs/home.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |

Macro

5 | 6 |
7 |
8 |

Update

9 | 10 |
11 |
12 |

Tasks

13 |
14 |
15 |
16 |
17 |
18 |
19 |

Credits

20 |
21 | 29 |
30 |
31 | 32 |
33 |
34 |

Logs (Simple)

35 | 36 |
37 |
38 |
39 |
-------------------------------------------------------------------------------- /src/webapp/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | exih Macro 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 |
15 |
16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /src/webapp/scripts/tabs/boost.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | function switchBoostTab(target){ 4 | //hide all tabs 5 | 6 | //remove the arrow indicator 7 | const selector = document.getElementById("boost-select") 8 | if (selector) selector.remove() 9 | //remove active class and hide all tabs 10 | Array.from(document.getElementsByClassName("boost-tab-item")).forEach(x => { 11 | x.classList.remove("active") 12 | document.getElementById(`${x.id}-tab`).style.display = "none" 13 | }) 14 | //add indicator + active class 15 | target.classList.add("active") 16 | target.innerHTML = `
` + target.innerHTML 17 | //show tab 18 | tab = document.getElementById(`${target.id}-tab`) 19 | tab.style.display = "block" 20 | //scroll back to top 21 | tab.scrollTo(0,0); 22 | } 23 | 24 | function loadBoost(){ 25 | switchBoostTab(document.getElementById("boost-hotbar")) 26 | } 27 | 28 | 29 | function clearAFBData(ele){ 30 | if (ele.classList.contains("active")) return 31 | eel.clearAFB() 32 | ele.classList.add("active") 33 | setTimeout(() => { 34 | ele.classList.remove("active") 35 | }, 700) 36 | } 37 | 38 | $("#boost-placeholder") 39 | .load("../htmlImports/tabs/boost.html", loadBoost) //load kill tab 40 | .on("click", ".boost-tab-item", (event) => switchBoostTab(event.currentTarget)) //navigate between tabs -------------------------------------------------------------------------------- /src/webapp/scripts/tabs/collect.js: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================= 3 | Collect Tab 4 | ============================================= 5 | */ 6 | 7 | 8 | function clearBlenderData(ele){ 9 | if (ele.classList.contains("active")) return 10 | eel.clearBlender() 11 | ele.classList.add("active") 12 | setTimeout(() => { 13 | ele.classList.remove("active") 14 | }, 700) 15 | } 16 | 17 | async function loadCollect(){ 18 | const settings = await loadAllSettings() 19 | loadInputs(settings) 20 | } 21 | 22 | $("#collect-placeholder", loadCollect) 23 | .load("../htmlImports/tabs/collect.html") //load config tab 24 | -------------------------------------------------------------------------------- /src/webapp/scripts/tabs/config.js: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================= 3 | Config Tab 4 | ============================================= 5 | */ 6 | 7 | async function switchConfigTab(target){ 8 | //remove the active classes and hide all tabs 9 | Array.from(document.getElementsByClassName("settings-tab-item")).forEach(x => { 10 | x.classList.remove("active") 11 | document.getElementById(x.id.split("-")[1]).style.display = "none" 12 | }) 13 | //add active class 14 | target.classList.add("active") 15 | //get the element of the page to show 16 | const showElement = document.getElementById(target.id.split("-")[1]) 17 | showElement.style.display = "block" 18 | //scroll back to top 19 | showElement.scrollTo(0,0); 20 | } 21 | 22 | 23 | async function loadConfig(){ 24 | const settings = await loadAllSettings() 25 | loadInputs(settings) 26 | switchConfigTab(document.getElementById("setting-bss")) 27 | } 28 | 29 | $("#config-placeholder", loadConfig) 30 | .load("../htmlImports/tabs/config.html") //load config tab 31 | .on("click", ".settings-tab-item", (event) => switchConfigTab(event.currentTarget)) //navigate between fields 32 | -------------------------------------------------------------------------------- /src/webapp/scripts/tabs/kill.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | function switchKillTab(target){ 4 | //hide all tabs 5 | 6 | //remove the arrow indicator 7 | const selector = document.getElementById("kill-select") 8 | if (selector) selector.remove() 9 | //remove active class and hide all tabs 10 | Array.from(document.getElementsByClassName("kill-tab-item")).forEach(x => { 11 | x.classList.remove("active") 12 | document.getElementById(`${x.id}-tab`).style.display = "none" 13 | }) 14 | //add indicator + active class 15 | target.classList.add("active") 16 | target.innerHTML = `
` + target.innerHTML 17 | //show tab 18 | tab = document.getElementById(`${target.id}-tab`) 19 | tab.style.display = "block" 20 | //scroll back to top 21 | tab.scrollTo(0,0); 22 | } 23 | 24 | function loadKill(){ 25 | switchKillTab(document.getElementById("kill-settings")) 26 | } 27 | 28 | $("#kill-placeholder") 29 | .load("../htmlImports/tabs/kill.html", loadKill) //load kill tab 30 | .on("click", ".kill-tab-item", (event) => switchKillTab(event.currentTarget)) //navigate between tabs -------------------------------------------------------------------------------- /src/webapp/scripts/tabs/quests.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | function switchQuestsTab(target){ 4 | //hide all tabs 5 | 6 | //remove the arrow indicator 7 | const selector = document.getElementById("quests-select") 8 | if (selector) selector.remove() 9 | //remove active class and hide all tabs 10 | Array.from(document.getElementsByClassName("quests-tab-item")).forEach(x => { 11 | x.classList.remove("active") 12 | console.log(x.id) 13 | document.getElementById(`${x.id}-tab`).style.display = "none" 14 | }) 15 | //add indicator + active class 16 | target.classList.add("active") 17 | target.innerHTML = `
` + target.innerHTML 18 | //show tab 19 | tab = document.getElementById(`${target.id}-tab`) 20 | tab.style.display = "block" 21 | //scroll back to top 22 | tab.scrollTo(0,0); 23 | } 24 | 25 | function loadQuests(){ 26 | switchQuestsTab(document.getElementById("quests-settings")) 27 | } 28 | 29 | $("#quests-placeholder") 30 | .load("../htmlImports/tabs/quests.html", loadQuests) //load kill tab 31 | .on("click", ".quests-tab-item", (event) => switchQuestsTab(event.currentTarget)) //navigate between tabs -------------------------------------------------------------------------------- /src/webapp/scripts/tabs/tab.js: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================= 3 | Tab bar 4 | ============================================= 5 | */ 6 | 7 | //switch tab 8 | //start by hiding all tabs, then show the one that is relevant 9 | //also remove all tabs' active class and add it back to the target one 10 | function switchTab(event){ 11 | const tabName = event.currentTarget.id.split("-")[0] 12 | //remove and hide 13 | Array.from(document.getElementsByClassName("content")).forEach(x => { 14 | x.style.display = "none" 15 | }) 16 | Array.from(document.getElementsByClassName("sidebar-item")).forEach(x => { 17 | x.classList.remove("active") 18 | }) 19 | //add and show 20 | event.currentTarget.classList.add("active") 21 | document.getElementById(`${tabName}-placeholder`).style.display = "flex" 22 | } 23 | //load and add event handlers 24 | $("#tabs-placeholder") 25 | .load("../htmlImports/persistent/tabs.html") 26 | .on("click",".sidebar-item", switchTab) -------------------------------------------------------------------------------- /src/webapp/scripts/utilities.js: -------------------------------------------------------------------------------- 1 | /* 2 | ============================================= 3 | Misc 4 | ============================================= 5 | */ 6 | //javascript function to capitalize the first letter of a string 7 | function capitalizeFirstLetter(string) { 8 | return string.charAt(0).toUpperCase() + string.slice(1); 9 | } 10 | 11 | //javascript function to convert a string to title case 12 | function toTitleCase(str) { 13 | return str.replace( 14 | /\w\S*/g, 15 | text => text.charAt(0).toUpperCase() + text.substring(1).toLowerCase() 16 | ); 17 | } 18 | 19 | //javascript function to remove html tags 20 | const stripHTMLTags = str => str.replace(/<[^>]*>/g, ''); 21 | 22 | /* 23 | ============================================= 24 | UI 25 | ============================================= 26 | */ 27 | const saveGeneralTriggerFunction = "saveSetting(this, 'general')" 28 | const saveProfileTriggerFunction = "saveSetting(this, 'profile')" -------------------------------------------------------------------------------- /tools/check file.command: -------------------------------------------------------------------------------- 1 | 2 | #!/bin/sh 3 | read -p "Enter file name: " filename 4 | cd "$(dirname "$0")" 5 | cd .. 6 | cd macro 7 | 8 | if test -f "$filename"; then 9 | echo "$filename exists." 10 | else 11 | echo "$filename does not exist" 12 | fi 13 | -------------------------------------------------------------------------------- /tools/run file.command: -------------------------------------------------------------------------------- 1 | 2 | #!/bin/sh 3 | read -p "Enter file name: " filename 4 | cd "$(dirname "$0")" 5 | cd .. 6 | if [ -d bin ]; then 7 | source ./bin/activate 8 | printf "activating virtual environment" 9 | fi 10 | cd src 11 | 12 | runPython() { 13 | if command -v $1 >/dev/null 2>&1; then 14 | echo "Trying to run macro with $1" 15 | $1 $filename 16 | fi 17 | 18 | } 19 | runPython python3.9 20 | --------------------------------------------------------------------------------