A simulator for League of Legends champion abilities and item combinations, focusing on optimizing damage output. Currently supports Kha'Zix with plans to expand to other champions.
- Item Optimizer: Find the best item combinations for maximum damage output
- Combo Optimizer: Discover optimal ability sequences for your chosen items
- Single Simulation: Test specific item and ability combinations
- Detailed Configuration:
- Champion settings (level, health, champion specific configs)
- Target settings (armor, magic resistance, health)
- Rune settings
- Game state settings (crit handling, game time)
- Item-specific configurations
league-sim-frontend/
: Vue.js frontend application.league-sim-backend/
: Simulation code written in Rust which gets compiled into WebAssembly.game-data-parser/
: Tool for parsing League of Legends game data. The output is then used by the backend simulation code.shared-structs/
: Shared data structures between the data parser and the simulation backend.
- Node.js and npm for the frontend
- Rust and Cargo for the backend
- League of Legends game files for data parsing (optional, only needed if you want to update game data)
- Clone the repository:
git clone https://github.com/chaodhib/league-sim.git
cd league-sim
- Compile the WebAssembly package:
cd league-sim-backend
wasm-pack build
- Set up the frontend:
cd league-sim-frontend
npm install
- Start the frontend development server:
cd league-sim-frontend
npm run dev
Contributions are welcome! Here's how you can help:
- Report Bugs: Open an issue describing the bug and how to reproduce it
- Suggest Features: Open an issue describing your feature idea
- Submit Pull Requests: Fork the repo and create a pull request with your changes
- Add Champion Support: Help expand the simulator to support more champions
- Improve Documentation: Help make our docs better and more comprehensive
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- Frontend: Follow Vue.js style guide
- Backend: Follow Rust style guidelines
- Use meaningful variable names and add comments for complex logic
- Write tests for new features
This project is licensed under the MIT License - see the LICENSE file for details.
A big thanks to:
- The Meraki project (from which we pull most of our game data) and its contributors.
- The Cdragon project (from which we pull game data) and its contributors.
- The League of Legends Wiki (from which Meraki pull its data) and all its contributors.
- The community and project contributors.
Project Link: https://github.com/chaodhib/league-sim
Feel free to reach out if you have questions or want to contribute!