SimulationCraft
SimulationCraft is a tool to explore combat mechanics in the popular MMO RPG World of Warcraft (tm).
priestspace::actions::priest_action_t< Base > Struct Template Reference

Priest action base class. More...

#include <sc_priest.hpp>

Inheritance diagram for priestspace::actions::priest_action_t< Base >:

Public Member Functions

 priest_action_t (util::string_view name, priest_t &p, const spell_data_t *s=spell_data_t::nil())
 
void init_affected_by ()
 Initialize all affected_by members and print out debug info.
 
priest_td_tget_td (player_t *t)
 
const priest_td_tfind_td (const player_t *t) const
 
void trigger_power_of_the_dark_side ()
 
double cost () const override
 
double composite_target_multiplier (player_t *target) const override
 
double action_da_multiplier () const override
 
double action_ta_multiplier () const override
 
void gain_energize_resource (resource_e resource_type, double amount, gain_t *gain) override
 

Public Attributes

struct {
   bool   voidform_da
 
   bool   voidform_ta
 
   bool   shadowform_da
 
   bool   shadowform_ta
 
   bool   twist_of_fate_da
 
   bool   twist_of_fate_ta
 
   bool   shadow_covenant_da
 
   bool   shadow_covenant_ta
 
   bool   schism
 
affected_by
 
double vf_da_multiplier
 
double vf_ta_multiplier
 

Protected Types

using base_t = priest_action_t
 

Protected Member Functions

priest_tpriest ()
 
const priest_tpriest () const
 

Detailed Description

template<typename Base>
struct priestspace::actions::priest_action_t< Base >

Priest action base class.

This is a template for common code between priest_spell_t, priest_heal_t and priest_absorb_t. The template is instantiated with either spell_t, heal_t or absorb_t as the 'Base' class. Make sure you keep the inheritance hierarchy and use base_t in the derived class, don't skip it and call spell_t/heal_t or absorb_t directly.