The Mechanical Priest Toolkit (MPT) aims to assist in modelling and tinkering with different ways to heal in World of Warcraft. It also doubles as a good way to find unique mechanical interactions and bugs.
Looking for the actual web application? If you aren't looking to contribute to development and just want to use the MPT, go here.
MPT uses a front-end application to allow players to modify what is referred to as a "Profile". A Profile is everything about a player relevant to modelling how it heals and providing enough information to produce a result once it's run through the modelling API.
This Profile is passed through to the API which looks at each aspect of the player and builds up the array of spells, items, talents and other interactions the encompass a typical in-game encounter.
This method is essentially the healing spreadsheets from Legion and BfA on steroids. Allowing much easier and faster manipulation and comparison of different profiles with a goal to provide clearer and more relevant results.
MPT is not a healing simulator. Damage patterns are not simulated, cohealers and raiders are not simulated. Values are calculated using primarily averages obtained from the input Profile.
MPT also does not tell you how to play. It plays exactly how you tell it to so garbage in, garbage out. If you are after guides check out the various guides listed over on Mechanical Priest.
MPT does not work for any game except the current Retail version of World of Warcraft. Sorry classic players!
If you're interested in contributing, start by familiarising yourself with the MPT Production / MPT Development applications.
There are details on running the client and api projects, and once the project is running locally, check out the open issues or drop by discord.
Pull Requests should be made for any code or file modifications no matter how minor to go through the build, test and review phases before being published.
The Azure Function-based serverless API written in C#.
The web app client written in React.
Core contains most of the heavy lifting with the profiles, modelling and configuration management all handled here.
Explorer is a basic console application used for testing and debugging components of Salvation.
It is suggested you make this the default project for easier debugging and development.
Utility contains various helper classes to ease the development process, primarily focused around manipulating external data sources into something the application can easily consume.