Library usage

An instance of the rotationplot class has the function add_rotation() that accepts strings in the shot notation format defined below. The object will then calculate the duration and damage of this rotation based on current damage stats and current haste. Currently, it does not handle any proc effects, but Improved Aspect of the Hawk procs can be added manually. They do currently not expire.

For an object that has an initialized rotation, calc_dps() can be called and returns the dps for this rotation. Also, calc_dur() is available and return the duration of this rotation given current haste values. Upon changing haste, recalc() can be called to recalculate for different haste and damage stats, but keeping the rotation as is.

For generating rotation plots, init_fig() must be called beforehand. Alternatively, recalc() can be used after initializing the figure. After either supplying a rotation or calling recalc(), complete_fig() can be called to add labels and thus finalize the plot.

Shot notation

Usage examples

import rotationtools
r = rotationtools.rotationplot()
r.init_fig()
r.add_rotation('as')
r.complete_fig()

This will create the 1:1 rotation example shown below.

one-one

Simple 1:1 rotation.

import rotationtools
r = rotationtools.rotationplot()
r.init_fig()
r.add_rotation('asmasasAasas')
r.complete_fig()

French rotation

French rotation (5:5:1:1)

To run locally

pip3 install matplotlib