SimulationCraft
SimulationCraft is a tool to explore combat mechanics in the popular MMO RPG World of Warcraft (tm).
azerite_power_t Class Reference

A class representing a single azerite power and the actors items associated with the power. More...

#include <azerite_data.hpp>

Public Types

enum  time_type { MS = 0, S }
 Time type conversion for azerite_power_t::time_value.
 
using azerite_value_fn_t = std::function< double(const azerite_power_t &)>
 

Public Member Functions

 azerite_power_t (const player_t *p, const azerite_power_entry_t *data, const std::vector< const item_t *> &items)
 
 azerite_power_t (const player_t *p, const azerite_power_entry_t *data, std::vector< unsigned > ilevels)
 
 operator const spell_data_t * () const
 Implicit conversion to spell_data_t* object for easy use in accessors that accept spell data pointers.
 
bool ok () const
 State of the azerite power.
 
bool enabled () const
 State of the azerite power.
 
const spell_data_tspell () const
 Return the associated spell data for the azerite power.
 
const spell_data_tspell_ref () const
 Return the associated spell data for the azerite power.
 
double value (size_t index=1) const
 Return the scaled base value of the spell. Caches the computed value.
 
double value (const azerite_value_fn_t &fn) const
 Return the scaled value based off of a functor. Caches the computed value.
 
timespan_t time_value (size_t index=1, time_type tt=MS) const
 Return the scaled time value of the spell (base value represents by default milliseconds)
 
double percent (size_t index=1) const
 Return the scaled base value as a percent (value divided by 100)
 
std::vector< double > budget (size_t index) const
 Return the raw budget values represented by the items for this azerite power spell effect.
 
std::vector< double > budget (const spelleffect_data_t *effect) const
 Return the raw budget values represented by the items used for this power, using the given spell effect as context.
 
std::vector< double > budget (const spelleffect_data_t &effect) const
 
std::vector< unsigned > ilevels () const
 List of item levels associated with this azerite power.
 
unsigned n_items () const
 Number of items worn with this azerite power.
 
const azerite_power_entry_tdata () const
 Azerite power client data information.
 

Detailed Description

A class representing a single azerite power and the actors items associated with the power.

An item is associated with a given azerite power if the user has selected the azerite power on the item

Contains accessors to access the associated azerite power's scaled values based on the context, and its backing client spell data object.