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

A state class that holds the composite of all azerite-related state an actor has. More...

#include <azerite_data.hpp>

Public Member Functions

 azerite_state_t (player_t *p)
 
void initialize ()
 Initializes the azerite state from the actor's items. More...
 
azerite_power_t get_power (unsigned id)
 Get an azerite_power_t object for a given power identifier.
 
azerite_power_t get_power (util::string_view name, bool tokenized=false)
 Get an azerite_power_t object for a given power name, potentially tokenized.
 
bool is_enabled (unsigned id) const
 Check the enable status of an azerite power.
 
bool is_enabled (util::string_view name, bool tokenized=false) const
 Check the enable status of an azerite power.
 
size_t rank (unsigned id) const
 Rank of the azrerite power (how many items have the selected power)
 
size_t rank (util::string_view name, bool tokenized=false) const
 Rank of the azrerite power (how many items have the selected power)
 
bool parse_override (sim_t *, util::string_view, util::string_view)
 Parse and sanitize azerite_override option.
 
std::string overrides_str () const
 Output overrides as an azerite_override options string.
 
void copy_overrides (const std::unique_ptr< azerite_state_t > &other)
 Clone overrides from another actor.
 
std::unique_ptr< expr_tcreate_expression (util::span< const util::string_view > expr_str) const
 Create azerite-related expressions.
 
std::vector< unsigned > enabled_spells () const
 Enabled azerite spells.
 
report::sc_html_streamgenerate_report (report::sc_html_stream &root) const
 

Detailed Description

A state class that holds the composite of all azerite-related state an actor has.

For now, includes associations between azerite powers and items, and azerite overrides.

Member Function Documentation

◆ initialize()

void azerite::azerite_state_t::initialize ( )

Initializes the azerite state from the actor's items.

Must be run after player_t::init_items() is called (successfully), but before player_t::init_spells() is invoked by the actor initialization process.