├── version.txt ├── src ├── __init__.py ├── logger.py ├── app_update.py ├── configuration.py ├── limited_sets.py ├── constants.py ├── file_extractor.py └── card_logic.py ├── tests ├── __init__.py ├── test_app_update.py ├── test_configuration.py └── test_limited_sets.py ├── Tools └── TierScraper17Lands │ ├── 17LandsTier.css │ ├── manifest.json │ ├── README.md │ └── 17LandsTier.js ├── requirements.txt ├── main.py ├── LICENSE ├── dark_mode.tcl ├── .gitignore ├── release_notes.txt └── README.md /version.txt: -------------------------------------------------------------------------------- 1 | 3.10 2 | -------------------------------------------------------------------------------- /src/__init__.py: -------------------------------------------------------------------------------- 1 | # src/__init__.py -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | # src/__init__.py -------------------------------------------------------------------------------- /Tools/TierScraper17Lands/17LandsTier.css: -------------------------------------------------------------------------------- 1 | nav a div div, 2 | nav div div div { 3 | font-size: 16px !important; 4 | font-weight: 400 !important; 5 | line-height: 1.3 !important; 6 | } -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | pyinstaller==5.5; sys_platform == 'win32' 2 | pywin32==306 ; sys_platform == 'win32' 3 | Pillow==9.5.0 4 | pynput==1.7.6 5 | ttkwidgets==0.13.0 6 | numpy==1.24.4 7 | pydantic==1.10.12 8 | -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | """! @brief Magic the Gathering draft application that utilizes 17Lands data""" 3 | 4 | # Imports 5 | from src.overlay import start_overlay 6 | 7 | def main(): 8 | start_overlay() 9 | 10 | if __name__ == "__main__": 11 | main() 12 | -------------------------------------------------------------------------------- /Tools/TierScraper17Lands/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest_version": 3, 3 | 4 | "name": "17Lands Tier Scraper", 5 | "description": "Retrieve tier lists from 17Lands", 6 | "version": "4.0", 7 | 8 | "permissions": ["activeTab", "declarativeContent", "storage","scripting","tabs"], 9 | "host_permissions": ["*://*/*"], 10 | "content_scripts": [ 11 | { 12 | "matches": ["https://www.17lands.com/tier_list/*"], 13 | "css": ["17LandsTier.css"], 14 | "js": ["17LandsTier.js"] 15 | } 16 | 17 | ] 18 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 bstaple1 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Tools/TierScraper17Lands/README.md: -------------------------------------------------------------------------------- 1 | # Tier List Download Extension 2 | 3 | ![Tier_lists](https://user-images.githubusercontent.com/96687942/227722851-9f978440-b313-4375-9503-357cd7b2f1df.png) 4 | 5 | ## Steps 6 | - **Step 1**: Open Chrome 7 | 8 | - **Step 2:** Go to chrome://extensions/ 9 | 10 | - **Step 3:** Toggle Developer Mode 11 | 12 | - **Step 4:** Click Load Unpacked 13 | - Click Update if you've already unpacked the extension 14 | 15 | - **Step 5:** Select the Tools/TierScraper17Lands folder and click Select Folder 16 | 17 | - **Step 6:** Go to a 17Lands Tier List page (e.g., https://www.17lands.com/tier_list/58d9427911c74212841c04e223556395) 18 | - It might take a few seconds for the button to appear 19 | 20 | - **Step 7:** Enter a label for the tier list 21 | 22 | - **Step 8:** Click on the Download Tier List button near the top of the window 23 | 24 | - **Step 9:** Move the downloaded tier list to the Tier folder 25 | 26 | - **Step 10:** Start the draft in Arena 27 | 28 | - **Step 11:** Select the tier list option from the bottom of any of the column drop-downs in the settings window 29 | - The tier list will appear as `Tier# (