Skip to content

vidonnus/Toolasha

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1,320 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Toolasha

Version Status License

A modular, maintainable Tampermonkey userscript that enhances Milky Way Idle with quality-of-life features, market tools, combat statistics, and comprehensive game data overlays.

πŸ“š Documentation | ✨ Features | πŸ“ Changelog | 🀝 Contributing


About

Toolasha is a complete rewrite of the popular MWITools userscript, rebuilt from the ground up with modern JavaScript architecture. It provides dozens of enhancements for Milky Way Idle, including:

  • Market Intelligence - Real-time pricing, profit calculations, and inventory management
  • Combat Tools - DPS tracking, dungeon statistics, and gear score calculations
  • Enhancement Optimizer - Success rate tracking and cost simulation
  • Action Planning - Queue time displays, profit calculations, and output predictions
  • Economy Tracking - Net worth calculations and asset valuation

All features are modular and can be individually enabled/disabled through an in-game settings panel.

Features

πŸͺ Market & Economy

  • Market Prices - 24-hour average prices on item tooltips
  • Profit Calculations - Crafting costs and profit margins
  • Net Worth Display - Real-time asset valuation
  • Inventory Sorting - Sort by value, type, or custom criteria

βš”οΈ Combat & Dungeons

  • Combat Score - Gear score calculation
  • Dungeon Tracker - Run times, wave progress, and team stats
  • Ability Calculator - Books needed for target levels

πŸ”¨ Enhancement & Crafting

  • Enhancement Tracker - Success rates and cost tracking
  • Enhancement Simulator - Optimal strategy calculator
  • Production Profit - Material costs and profit breakdown
  • Max Produceable - Shows craftable quantity with current materials

πŸ“‹ Tasks & Actions

  • Action Queue Time - Total completion time display
  • Task Profit Display - Reward value calculations
  • Quick Input Buttons - Preset buttons for 1/10/100/Max

🎨 UI Enhancements

  • Skill XP Percentage - Progress to next level
  • Equipment Level Display - Enhancement level on icons
  • Comprehensive Settings - Organized feature configuration
  • Color Customization - Extensive UI color options

View complete feature list β†’

Installation

Prerequisites

Install from Greasy Fork (Recommended)

  1. Visit Toolasha on Greasy Fork
  2. Click Install this script
  3. Tampermonkey will prompt you to confirm installation
  4. Visit Milky Way Idle - Toolasha loads automatically

Install from GitHub Release

  1. Download the latest release

    • Visit the Releases page
    • Download Toolasha.user.js from the latest release (entrypoint)
  2. Install in Tampermonkey

    • Click the downloaded file, or
    • Open Tampermonkey dashboard β†’ Utilities β†’ Import from file
  3. Visit the game

The entrypoint loads required libraries automatically from GitHub raw URLs.

Install on Steam

Steam's embedded browser has network restrictions that prevent external @require directives from working. Use the Steam-specific build instead:

  1. Download the Steam build

    • Visit the Releases page
    • Download Toolasha.steam.user.js from the latest release
    • This is a single-file bundle (~3MB) with all dependencies included
  2. Install in Tampermonkey

    • Open Tampermonkey on Steam's browser
    • Dashboard β†’ Utilities β†’ Import from file
    • Select the downloaded Toolasha.steam.user.js
  3. Visit the game

Note: The Steam build bundles mathjs, chart.js, and chartjs-plugin-datalabels inline, resulting in a larger file size than the browser version. Functionally identical to the browser version.

Install from Source

# Clone the repository
git clone https://github.com/yourusername/Toolasha.git
cd Toolasha

# Install dependencies
npm install

# Build the dev standalone userscript
npm run build:dev

# Install dist/Toolasha-dev.user.js in Tampermonkey

Usage

Accessing Settings

  1. Open the game at milkywayidle.com/game
  2. Click your character icon (top-right of screen)
  3. Click Settings
  4. Click the Toolasha tab in the settings menu
  5. Enable/disable features as desired
  6. Settings are saved automatically

Feature Configuration

Most features work automatically once enabled. Some features have additional configuration:

  • Pricing Mode - Choose Conservative/Hybrid/Optimistic for profit calculations
  • Enhancement Simulator - Configure skill levels and buffs
  • Color Customization - Customize UI element colors (9 color options)

Troubleshooting

If features aren't working:

  1. Refresh the page - Some features require a page reload
  2. Check browser console - Look for error messages (F12 β†’ Console)
  3. Verify Tampermonkey is enabled - Check the extension icon
  4. Report issues - Open an issue with details

For detailed troubleshooting, see TROUBLESHOOTING.md.

For Developers

Toolasha is built with modern JavaScript (ES6+) using a modular, feature-based architecture. Contributions are welcome!

Quick Start

npm install           # Install dependencies
npm run build:dev     # Build dev standalone userscript
npm run build         # Build production libraries + entrypoint
npm run build:steam   # Build Steam single-file bundle
npm run build:all     # Build both production and Steam versions
npm run dev           # Watch mode (auto-rebuild)
npm test              # Run test suite (143 tests)

Documentation

Key Technologies

  • Build: Rollup with ES6 modules
  • Testing: Vitest with 143 tests
  • Storage: IndexedDB with debounced writes
  • Code Quality: ESLint + Prettier with pre-commit hooks
  • CI/CD: GitHub Actions with automated releases

Project Structure

Toolasha/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ main.js                    # Entry point
β”‚   β”œβ”€β”€ core/                      # Core systems
β”‚   β”‚   β”œβ”€β”€ storage.js            # IndexedDB wrapper
β”‚   β”‚   β”œβ”€β”€ config.js             # Settings management
β”‚   β”‚   β”œβ”€β”€ feature-registry.js   # Feature initialization
β”‚   β”‚   β”œβ”€β”€ websocket.js          # WebSocket hooking
β”‚   β”‚   β”œβ”€β”€ data-manager.js       # Game data access
β”‚   β”‚   └── dom-observer.js       # Centralized DOM observer
β”‚   β”œβ”€β”€ api/                       # External API integrations
β”‚   β”œβ”€β”€ features/                  # Feature modules
β”‚   β”‚   β”œβ”€β”€ actions/              # Action panel enhancements
β”‚   β”‚   β”œβ”€β”€ combat/               # Combat statistics & DPS
β”‚   β”‚   β”œβ”€β”€ enhancement/          # Enhancement optimizer
β”‚   β”‚   β”œβ”€β”€ market/               # Market system
β”‚   β”‚   β”œβ”€β”€ networth/             # Networth calculations
β”‚   β”‚   └── settings/             # Settings UI
β”‚   β”œβ”€β”€ ui/                        # UI components
β”‚   └── utils/                     # Utility functions
β”œβ”€β”€ tests/                         # Test files (143 tests)
β”œβ”€β”€ dist/                          # Built userscript (gitignored)
└── docs/                          # Documentation

For detailed architecture documentation, see ARCHITECTURE.md.

Testing

Toolasha has comprehensive test coverage using Vitest:

  • 143 tests across 3 test suites
  • 100% coverage of utility modules
  • Automated testing in CI/CD pipeline
  • Pre-commit hooks ensure tests pass
npm test              # Run all tests
npm run test:watch    # Watch mode
npm test -- --coverage # Coverage report

Test Coverage:

  • formatters.js - 65 tests, 100% coverage
  • efficiency.js - 49 tests, 100% coverage
  • enhancement-multipliers.js - 29 tests, 100% coverage

Design Principles

  • Modularity - Small, focused modules with clear responsibilities
  • Testability - Pure functions where possible, comprehensive test coverage
  • Performance - IndexedDB with debounced writes, centralized MutationObserver
  • Async-First - Proper async/await patterns throughout
  • Maintainability - Clean code, clear documentation, consistent patterns

License & Credits

License: CC-BY-NC-SA-4.0

Original Author: bot7420 (MWITools)
Rewrite & Maintenance: Celasha and Claude

Version: 1.16.0 (Pre-release)


Note: This is a pre-release version (0.x.x). Version 1.0.0 will be released after comprehensive production testing. See MWI-TOOLS-CHANGELOG.md for version history.

About

Tools for Milky Way Idle

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 99.7%
  • CSS 0.3%