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

Public Member Functions

 action_priority_list_t (util::string_view name, player_t *p, util::string_view list_comment={})
 
action_priority_tadd_action (util::string_view action_priority_str, util::string_view comment={})
 add to action list without restriction More...
 
action_priority_tadd_action (const player_t *p, const spell_data_t *s, util::string_view action_name, util::string_view action_options={}, util::string_view comment={})
 add to action list & check spelldata More...
 
action_priority_tadd_action (const player_t *p, util::string_view name, util::string_view action_options={}, util::string_view comment={})
 add to action list & check class spell with given name More...
 
action_priority_tadd_talent (const player_t *p, util::string_view name, util::string_view action_options={}, util::string_view comment={})
 add talent action to action list & check talent availability More...
 
action_priority_tadd_run_action_list (action_priority_list_t *run_action_list, util::string_view action_options={}, util::string_view comment={})
 
action_priority_tadd_run_action_list (const player_t *p, const spell_data_t *s, action_priority_list_t *run_action_list, util::string_view action_options={}, util::string_view comment={})
 
action_priority_tadd_call_action_list (action_priority_list_t *run_action_list, util::string_view action_options={}, util::string_view comment={})
 
action_priority_tadd_call_action_list (const player_t *p, const spell_data_t *s, action_priority_list_t *run_action_list, util::string_view action_options={}, util::string_view comment={})
 

Public Attributes

unsigned internal_id
 
uint64_t internal_id_mask
 
std::string name_str
 
std::string action_list_comment_str
 
std::string action_list_str
 
std::vector< action_priority_taction_list
 
player_tplayer
 
bool used
 
std::vector< action_t * > foreground_action_list
 
std::vector< action_t * > off_gcd_actions
 
std::vector< action_t * > cast_while_casting_actions
 
int random
 

Member Function Documentation

◆ add_action() [1/3]

action_priority_t * action_priority_list_t::add_action ( util::string_view  action_priority_str,
util::string_view  comment = {} 
)

add to action list without restriction

Anything goes to action priority list.

◆ add_action() [2/3]

action_priority_t * action_priority_list_t::add_action ( const player_t p,
const spell_data_t s,
util::string_view  action_name,
util::string_view  action_options = {},
util::string_view  comment = {} 
)

add to action list & check spelldata

Check the validity of spell data before anything goes to action priority list

◆ add_action() [3/3]

action_priority_t * action_priority_list_t::add_action ( const player_t p,
util::string_view  name,
util::string_view  action_options = {},
util::string_view  comment = {} 
)

add to action list & check class spell with given name

Check the availability of a class spell of "name" and the validity of it's spell data before anything goes to action priority list

◆ add_talent()

action_priority_t * action_priority_list_t::add_talent ( const player_t p,
util::string_view  name,
util::string_view  action_options = {},
util::string_view  comment = {} 
)

add talent action to action list & check talent availability

Check the availability of a talent spell of "name" and the validity of it's spell data before anything goes to action priority list. Note that this will ignore the actual talent check so we can make action list entries for talents, even though the profile does not have a talent.

In addition, the method automatically checks for the presence of an if expression that includes the "talent guard", i.e., "talent.X.enabled" in it. If omitted, it will be automatically added to the if expression (or if expression will be created if it is missing).