SimulationCraft
SimulationCraft is a tool to explore combat mechanics in the popular MMO RPG World of Warcraft (tm).
|
Classes | |
struct | active_actions_t |
struct | buffs_t |
struct | conduit_t |
struct | cooldowns_t |
struct | covenant_t |
struct | gains_t |
struct | legendary_t |
struct | mastery_spells_t |
struct | options_t |
struct | passives_t |
struct | pets_t |
struct | procs_t |
struct | rppms_t |
struct | sample_data_t |
struct | specs_t |
struct | stagger_tick_entry_t |
struct | talents_t |
Public Types | |
using | base_t = player_t |
Public Types inherited from player_t | |
enum | timeofday_e { NIGHT_TIME, DAY_TIME } |
enum | zandalari_loa_e { AKUNDA, BWONSAMDI, GONK, KIMBUL, KRAGWA, PAKU } |
enum | vulpera_tricks_e { CORROSIVE, FLAMES, SHADOWS, HEALING, HOLY } |
using | resource_callback_function_t = std::function< void()> |
using | combat_begin_fn_t = std::function< void(player_t *)> |
Start-of-combat effects. | |
Public Member Functions | |
monk_t (sim_t *sim, util::string_view name, race_e r) | |
std::string | default_potion () const override |
std::string | default_flask () const override |
std::string | default_food () const override |
std::string | default_rune () const override |
std::string | default_temporary_enchant () const override |
action_t * | create_action (util::string_view name, util::string_view options) override |
double | composite_base_armor_multiplier () const override |
double | composite_melee_crit_chance () const override |
double | composite_spell_crit_chance () const override |
double | resource_regen_per_second (resource_e) const override |
double | composite_attribute_multiplier (attribute_e attr) const override |
double | composite_melee_expertise (const weapon_t *weapon) const override |
double | composite_melee_attack_power () const override |
double | composite_melee_attack_power_by_type (attack_power_type type) const override |
double | composite_spell_power (school_e school) const override |
double | composite_spell_power_multiplier () const override |
double | composite_spell_haste () const override |
This is the subset of the old_spell_haste that applies to RPPM. | |
double | composite_melee_haste () const override |
double | composite_attack_power_multiplier () const override |
double | composite_dodge () const override |
double | composite_mastery () const override |
double | composite_mastery_rating () const override |
double | composite_crit_avoidance () const override |
double | temporary_movement_modifier () const override |
Return the highest-only temporary movement modifier. More... | |
double | composite_player_dd_multiplier (school_e, const action_t *action) const override |
double | composite_player_td_multiplier (school_e, const action_t *action) const override |
double | composite_player_target_multiplier (player_t *target, school_e school) const override |
double | composite_player_pet_damage_multiplier (const action_state_t *, bool guardian) const override |
double | composite_player_target_pet_damage_multiplier (player_t *target, bool guardian) const override |
void | create_pets () override |
void | init_spells () override |
void | init_base_stats () override |
Initialize base variables from database or other sources. More... | |
void | init_scaling () override |
void | create_buffs () override |
Create player buffs. More... | |
void | init_gains () override |
void | init_procs () override |
void | init_assessors () override |
void | init_rng () override |
void | init_special_effects () override |
void | init_special_effect (special_effect_t &effect) override |
Modify generic special effect initialization. More... | |
void | reset () override |
Reset player. More... | |
double | matching_gear_multiplier (attribute_e attr) const override |
void | create_options () override |
void | copy_from (player_t *) override |
resource_e | primary_resource () const override |
role_e | primary_role () const override |
stat_e | convert_hybrid_stat (stat_e s) const override |
void | pre_analyze_hook () override |
void | combat_begin () override |
void | target_mitigation (school_e, result_amount_type, action_state_t *) override |
void | assess_damage (school_e, result_amount_type, action_state_t *s) override |
void | assess_damage_imminent_pre_absorb (school_e, result_amount_type, action_state_t *s) override |
void | assess_heal (school_e, result_amount_type, action_state_t *s) override |
void | invalidate_cache (cache_e) override |
void | init_action_list () override |
void | activate () override |
A method to "activate" an actor in the simulator. More... | |
void | collect_resource_timeline_information () override |
std::unique_ptr< expr_t > | create_expression (util::string_view name_str) override |
const monk_td_t * | find_target_data (const player_t *target) const override |
monk_td_t * | get_target_data (player_t *target) const override |
void | apply_affecting_auras (action_t &) override |
Called in every action constructor for all actions constructred for a player. | |
void | merge (player_t &other) override |
Merge player data with player from other thread. More... | |
void | stagger_damage_changed (bool last_tick=false) |
double | current_stagger_tick_dmg () |
double | current_stagger_tick_dmg_percent () |
double | current_stagger_amount_remains_percent () |
double | current_stagger_amount_remains () |
double | current_stagger_amount_remains_to_total_percent () |
timespan_t | current_stagger_dot_remains () |
double | stagger_base_value () |
double | stagger_pct (int target_level) |
BFA stagger formula. More... | |
double | stagger_total () |
void | trigger_celestial_fortune (action_state_t *) |
void | trigger_bonedust_brew (const action_state_t *) |
void | trigger_keefers_skyreach (action_state_t *) |
void | trigger_mark_of_the_crane (action_state_t *) |
void | trigger_empowered_tiger_lightning (action_state_t *, bool trigger_invoke_xuen, bool trigger_call_to_arms) |
void | trigger_bonedust_brew (action_state_t *) |
player_t * | next_mark_of_the_crane_target (action_state_t *) |
int | mark_of_the_crane_counter () |
double | clear_stagger () |
double | partial_clear_stagger_pct (double) |
double | partial_clear_stagger_amount (double) |
bool | has_stagger () |
double | calculate_last_stagger_tick_damage (int n) const |
Accumulated stagger tick damage of the last n ticks. | |
std::vector< player_t * > | create_storm_earth_and_fire_target_list () const |
void | summon_storm_earth_and_fire (timespan_t duration) |
void | retarget_storm_earth_and_fire (pet_t *pet, std::vector< player_t *> &targets) const |
void | retarget_storm_earth_and_fire_pets () const |
void | bonedust_brew_assessor (action_state_t *) |
void | trigger_storm_earth_and_fire (const action_t *a, sef_ability_e sef_ability) |
void | storm_earth_and_fire_fixate (player_t *target) |
bool | storm_earth_and_fire_fixate_ready (player_t *target) |
void | storm_earth_and_fire_trigger_primordial_power () |
player_t * | storm_earth_and_fire_fixate_target (sef_pet_e sef_pet) |
void | trigger_storm_earth_and_fire_bok_proc (sef_pet_e sef_pet) |
Public Member Functions inherited from player_t | |
void | sequence_add (const action_t *a, const player_t *target, timespan_t ts) |
void | sequence_add_wait (timespan_t amount, timespan_t ts) |
player_t (sim_t *sim, player_e type, util::string_view name, race_e race_e) | |
const char * | name () const override |
void | init_character_properties () |
Initialize race, specialization, talents, professions. | |
double | get_stat_value (stat_e) |
void | stat_gain (stat_e stat, double amount, gain_t *g=nullptr, action_t *a=nullptr, bool temporary=false) |
void | stat_loss (stat_e stat, double amount, gain_t *g=nullptr, action_t *a=nullptr, bool temporary=false) |
void | create_talents_numbers () |
void | create_talents_armory () |
void | create_talents_wowhead () |
void | clear_action_priority_lists () const |
void | copy_action_priority_list (util::string_view old_list, util::string_view new_list) |
Replaces "old_list" action_priority_list data with "new_list" action_priority_list data. | |
void | change_position (position_e) |
Change the player position ( fron/back, etc. More... | |
void | register_resource_callback (resource_e resource, double value, resource_callback_function_t callback, bool use_pct, bool fire_once=true) |
Add a new resource callback, firing when a specified threshold for a resource is crossed. More... | |
bool | add_action (util::string_view action, util::string_view options={}, util::string_view alist="default") |
Add action to action list. More... | |
bool | add_action (const spell_data_t *s, util::string_view options={}, util::string_view alist="default") |
Add action to action list. More... | |
void | add_option (std::unique_ptr< option_t > o) |
void | parse_talents_numbers (util::string_view talent_string) |
bool | parse_talents_armory (util::string_view talent_string) |
Old-style armory format for xx.battle.net / xx.battlenet.com. | |
bool | parse_talents_armory2 (util::string_view talent_url) |
New armory format used in worldofwarcraft.com / www.wowchina.com. | |
void | parse_temporary_enchants () |
bool | is_moving () const |
double | composite_block_dr (double extra_block) const |
Helper function to calculate block value after diminishing returns. | |
bool | is_pet () const |
bool | is_enemy () const |
bool | is_boss () const |
bool | is_add () const |
bool | is_sleeping () const |
bool | is_my_pet (const player_t *t) const |
bool | is_active () const |
Is the actor active currently. | |
bool | in_gcd () const |
bool | recent_cast () const |
bool | dual_wield () const |
bool | has_shield_equipped () const |
specialization_e | specialization () const |
const char * | primary_tree_name () const |
timespan_t | total_reaction_time () |
double | avg_item_level () const |
Get average item level the player is wearing. | |
double | get_attribute (attribute_e a) const |
double | strength () const |
double | agility () const |
double | stamina () const |
double | intellect () const |
double | spirit () const |
double | mastery_coefficient () const |
double | get_player_distance (const player_t &) const |
double | get_ground_aoe_distance (const action_state_t &) const |
double | get_position_distance (double m=0, double v=0) const |
double | compute_incoming_damage (timespan_t interval) const |
double | compute_incoming_magic_damage (timespan_t interval) const |
double | calculate_time_to_bloodlust () const |
slot_e | parent_item_slot (const item_t &item) const |
slot_e | child_item_slot (const item_t &item) const |
timespan_t | cooldown_tolerance () const |
Actor-specific cooldown tolerance for queueable actions. | |
position_e | position () const |
pet_t * | cast_pet () |
const pet_t * | cast_pet () const |
azerite_power_t | find_azerite_spell (util::string_view name, bool tokenized=false) const |
azerite_power_t | find_azerite_spell (unsigned power_id) const |
azerite_essence_t | find_azerite_essence (util::string_view name, bool tokenized=false) const |
azerite_essence_t | find_azerite_essence (unsigned power_id) const |
item_runeforge_t | find_runeforge_legendary (util::string_view name, bool tokenized=false) const |
conduit_data_t | find_conduit_spell (util::string_view name) const |
const spell_data_t * | find_soulbind_spell (util::string_view name) const |
const spell_data_t * | find_covenant_spell (util::string_view name) const |
const spell_data_t * | find_racial_spell (util::string_view name, race_e r=RACE_NONE) const |
const spell_data_t * | find_class_spell (util::string_view name, specialization_e s=SPEC_NONE) const |
const spell_data_t * | find_rank_spell (util::string_view name, util::string_view rank, specialization_e s=SPEC_NONE) const |
const spell_data_t * | find_pet_spell (util::string_view name) const |
const spell_data_t * | find_talent_spell (util::string_view name, specialization_e s=SPEC_NONE, bool name_tokenized=false, bool check_validity=true) const |
Retrieves the Spell Data Associated with a given talent. More... | |
const spell_data_t * | find_specialization_spell (util::string_view name, specialization_e s=SPEC_NONE) const |
const spell_data_t * | find_specialization_spell (util::string_view name, util::string_view desc, specialization_e s=SPEC_NONE) const |
const spell_data_t * | find_specialization_spell (unsigned spell_id, specialization_e s=SPEC_NONE) const |
const spell_data_t * | find_mastery_spell (specialization_e s) const |
const spell_data_t * | find_spell (util::string_view name, specialization_e s=SPEC_NONE) const |
Tries to find spell data by name. More... | |
const spell_data_t * | find_spell (unsigned int id, specialization_e s) const |
const spell_data_t * | find_spell (unsigned int id) const |
pet_t * | find_pet (util::string_view name) const |
item_t * | find_item_by_name (util::string_view name) |
item_t * | find_item_by_id (unsigned id) |
item_t * | find_item_by_use_effect_name (util::string_view name) |
action_t * | find_action (util::string_view) const |
cooldown_t * | find_cooldown (util::string_view name) const |
target_specific_cooldown_t * | find_target_specific_cooldown (util::string_view name) const |
dot_t * | find_dot (util::string_view name, player_t *source) const |
stats_t * | find_stats (util::string_view name) const |
gain_t * | find_gain (util::string_view name) const |
proc_t * | find_proc (util::string_view name) const |
benefit_t * | find_benefit (util::string_view name) const |
uptime_t * | find_uptime (util::string_view name) const |
sample_data_helper_t * | find_sample_data (util::string_view name) const |
action_priority_list_t * | find_action_priority_list (util::string_view name) const |
int | find_action_id (util::string_view name) const |
cooldown_t * | get_cooldown (util::string_view name, action_t *action=nullptr) |
target_specific_cooldown_t * | get_target_specific_cooldown (util::string_view name, timespan_t duration=timespan_t::zero()) |
target_specific_cooldown_t * | get_target_specific_cooldown (cooldown_t &base_cooldown) |
real_ppm_t * | get_rppm (util::string_view) |
real_ppm_t * | get_rppm (util::string_view, const spell_data_t *data, const item_t *item=nullptr) |
real_ppm_t * | get_rppm (util::string_view, double freq, double mod=1.0, unsigned s=RPPM_NONE) |
shuffled_rng_t * | get_shuffled_rng (util::string_view name, int success_entries=0, int total_entries=0) |
dot_t * | get_dot (util::string_view name, player_t *source) |
gain_t * | get_gain (util::string_view name) |
proc_t * | get_proc (util::string_view name) |
stats_t * | get_stats (util::string_view name, action_t *action=nullptr) |
benefit_t * | get_benefit (util::string_view name) |
uptime_t * | get_uptime (util::string_view name) |
sample_data_helper_t * | get_sample_data (util::string_view name) |
action_priority_list_t * | get_action_priority_list (util::string_view name, util::string_view comment={}) |
int | get_action_id (util::string_view name) |
cooldown_waste_data_t * | get_cooldown_waste_data (const cooldown_t *cd) |
virtual void | init () |
virtual void | override_talent (util::string_view override_str) |
virtual void | init_meta_gem () |
virtual void | init_resources (bool force=false) |
virtual std::vector< std::string > | get_item_actions () |
virtual std::vector< std::string > | get_profession_actions () |
virtual std::vector< std::string > | get_racial_actions () |
virtual void | init_target () |
virtual void | init_race () |
virtual void | init_talents () |
virtual void | replace_spells () |
virtual void | init_position () |
virtual void | init_professions () |
virtual void | init_items () |
virtual void | init_azerite () |
Initializes the Azerite-related support structures for an actor if there are any. More... | |
virtual void | init_weapon (weapon_t &) |
Initialize azerite-related support structures for the actor. | |
virtual void | init_initial_stats () |
Initialize initial stats from base + gear. More... | |
virtual void | init_defense () |
Initialize defensive properties (role, position, data collection, etc.) | |
virtual void | create_special_effects () |
virtual void | init_uptimes () |
virtual void | init_benefits () |
virtual void | init_stats () |
virtual void | init_distance_targeting () |
virtual void | init_absorb_priority () |
Define absorb priority. More... | |
virtual void | init_background_actions () |
virtual void | create_actions () |
virtual void | init_actions () |
virtual void | init_finished () |
virtual void | add_precombat_buff_state (buff_t *buff, int stacks, double value, timespan_t duration) |
virtual void | add_precombat_cooldown_state (cooldown_t *cd, timespan_t duration) |
virtual void | action_init_finished (action_t &) |
virtual bool | verify_use_items () const |
Verify that the user input (APL) contains an use-item line for all on-use items. | |
virtual void | combat_end () |
virtual void | datacollection_begin () |
Begin data collection for statistics. | |
virtual void | datacollection_end () |
End data collection for statistics. | |
virtual void | actor_changed () |
Single actor batch mode calls this every time the active (player) actor changes for all targets. | |
virtual void | deactivate () |
virtual int | level () const |
Scaled player level. More... | |
double | apply_combat_rating_dr (rating_e rating, double value) const |
virtual double | composite_melee_speed () const |
virtual double | composite_melee_hit () const |
virtual double | composite_melee_crit_chance_multiplier () const |
virtual double | composite_spell_speed () const |
This is the old spell_haste and incorporates everything that buffs cast speed. | |
virtual double | composite_spell_crit_chance_multiplier () const |
virtual double | composite_spell_hit () const |
virtual double | composite_mastery_value () const |
virtual double | composite_damage_versatility () const |
virtual double | composite_heal_versatility () const |
virtual double | composite_mitigation_versatility () const |
virtual double | composite_leech () const |
virtual double | composite_run_speed () const |
virtual double | composite_avoidance () const |
virtual double | composite_corruption () const |
virtual double | composite_corruption_resistance () const |
virtual double | composite_total_corruption () const |
virtual double | composite_armor () const |
virtual double | composite_bonus_armor () const |
virtual double | composite_armor_multiplier () const |
virtual double | composite_miss () const |
virtual double | composite_parry () const |
virtual double | composite_block () const |
Composite block chance. More... | |
virtual double | composite_block_reduction (action_state_t *s) const |
virtual double | composite_crit_block () const |
virtual double | composite_player_multiplier (school_e) const |
virtual double | composite_persistent_multiplier (school_e) const |
Persistent multipliers that are snapshot at the beginning of the spell application/execution. | |
virtual double | composite_player_heal_multiplier (const action_state_t *s) const |
virtual double | composite_player_dh_multiplier (school_e) const |
virtual double | composite_player_th_multiplier (school_e) const |
virtual double | composite_player_absorb_multiplier (const action_state_t *s) const |
virtual double | composite_player_target_crit_chance (player_t *target) const |
virtual double | composite_player_critical_damage_multiplier (const action_state_t *s) const |
virtual double | composite_player_critical_healing_multiplier () const |
virtual double | composite_player_target_armor (player_t *target) const |
virtual double | composite_mitigation_multiplier (school_e) const |
virtual double | passive_movement_modifier () const |
Return the sum of all passive movement modifier. More... | |
virtual double | composite_movement_speed () const |
Return the combined (passive+temporary) movement speed. More... | |
virtual double | composite_attribute (attribute_e attr) const |
virtual double | composite_rating_multiplier (rating_e) const |
virtual double | composite_rating (rating_e rating) const |
virtual double | composite_spell_hit_rating () const |
virtual double | composite_spell_crit_rating () const |
virtual double | composite_spell_haste_rating () const |
virtual double | composite_melee_hit_rating () const |
virtual double | composite_melee_crit_rating () const |
virtual double | composite_melee_haste_rating () const |
virtual double | composite_ranged_hit_rating () const |
virtual double | composite_ranged_crit_rating () const |
virtual double | composite_ranged_haste_rating () const |
virtual double | composite_expertise_rating () const |
virtual double | composite_dodge_rating () const |
virtual double | composite_parry_rating () const |
virtual double | composite_block_rating () const |
virtual double | composite_damage_versatility_rating () const |
virtual double | composite_heal_versatility_rating () const |
virtual double | composite_mitigation_versatility_rating () const |
virtual double | composite_leech_rating () const |
virtual double | composite_speed_rating () const |
virtual double | composite_avoidance_rating () const |
virtual double | composite_corruption_rating () const |
virtual double | composite_corruption_resistance_rating () const |
virtual timespan_t | composite_active_time () const |
Total activity time for this actor during the iteration. | |
virtual void | interrupt () |
Player is being interrupted. | |
virtual void | halt () |
virtual void | moving () |
virtual void | finish_moving () |
virtual void | stun () |
virtual void | clear_debuffs () |
virtual void | trigger_ready () |
virtual void | schedule_ready (timespan_t delta_time=timespan_t::zero(), bool waiting=false) |
Player is ready to perform another action. | |
virtual void | schedule_off_gcd_ready (timespan_t delta_time=timespan_t::min()) |
virtual void | schedule_cwc_ready (timespan_t delta_time=timespan_t::min()) |
virtual void | arise () |
Player arises from the dead. | |
virtual void | demise () |
Player dies. | |
virtual timespan_t | available () const |
virtual action_t * | select_action (const action_priority_list_t &, execute_type type=execute_type::FOREGROUND, const action_t *context=nullptr) |
virtual action_t * | execute_action () |
virtual void | regen (timespan_t periodicity=timespan_t::from_seconds(0.25)) |
virtual double | resource_gain (resource_e resource_type, double amount, gain_t *source=nullptr, action_t *action=nullptr) |
virtual double | resource_loss (resource_e resource_type, double amount, gain_t *source=nullptr, action_t *action=nullptr) |
virtual void | recalculate_resource_max (resource_e resource_type, gain_t *source=nullptr) |
virtual bool | resource_available (resource_e resource_type, double cost) const |
virtual bool | record_healing () const |
Figure out if healing should be recorded. | |
virtual stat_e | normalize_by () const |
Scale factor normalization stat. More... | |
virtual double | health_percentage () const |
virtual double | max_health () const |
virtual double | current_health () const |
virtual timespan_t | time_to_percent (double percent) const |
virtual void | cost_reduction_gain (school_e school, double amount, gain_t *g=nullptr, action_t *a=nullptr) |
virtual void | cost_reduction_loss (school_e school, double amount, action_t *a=nullptr) |
virtual void | assess_damage_imminent (school_e, result_amount_type, action_state_t *) |
virtual void | do_damage (action_state_t *) |
virtual bool | taunt (player_t *) |
virtual void | summon_pet (util::string_view name, timespan_t duration=timespan_t::zero()) |
virtual void | dismiss_pet (util::string_view name) |
virtual std::unique_ptr< expr_t > | create_action_expression (action_t &, util::string_view expression_str) |
Player specific action expressions. More... | |
virtual std::unique_ptr< expr_t > | create_resource_expression (util::string_view expression_str) |
void | recreate_talent_str (talent_format format=talent_format::NUMBERS) |
virtual std::string | create_profile (save_e=SAVE_ALL) |
virtual pet_t * | create_pet (util::string_view name, util::string_view type={}) |
virtual void | armory_extensions (const std::string &, const std::string &, const std::string &, cache::behavior_e=cache::players()) |
virtual void | do_dynamic_regen (bool forced=false) |
Perform dynamic resource regeneration. More... | |
virtual const player_t * | get_owner_or_self () const |
Returns owner if available, otherwise the player itself. | |
player_t * | get_owner_or_self () |
virtual bool | has_t18_class_trinket () const |
virtual double | composite_player_vulnerability (school_e) const |
virtual void | activate_action_list (action_priority_list_t *a, execute_type type=execute_type::FOREGROUND) |
Adds all on use item actions for all items with their on use effect not excluded in the exclude_effects string. | |
virtual void | analyze (sim_t &) |
Analyze statistical data of a player. | |
scaling_metric_data_t | scaling_for_metric (enum scale_metric_e metric) const |
Return the scaling metric over which this player gets scaled. More... | |
virtual action_t * | create_proc_action (util::string_view, const special_effect_t &) |
virtual bool | requires_data_collection () const |
rng::rng_t & | rng () |
rng::rng_t & | rng () const |
virtual timespan_t | time_to_move () const |
virtual void | trigger_movement (double distance, movement_direction_type) |
virtual void | update_movement (timespan_t duration) |
virtual void | teleport (double yards, timespan_t duration=timespan_t::zero()) |
Instant teleport. More... | |
virtual movement_direction_type | movement_direction () const |
virtual void | cancel_auto_attacks () |
Cancel the main hand (and off hand, if applicable) swing timer. | |
virtual void | reset_auto_attacks (timespan_t delay=timespan_t::zero(), proc_t *proc=nullptr) |
Reset the main hand (and off hand, if applicable) swing timer Optionally delay by a set amount. | |
virtual void | delay_auto_attacks (timespan_t delay, proc_t *proc=nullptr) |
Delay the main hand (and off hand, if applicable) swing timer. | |
virtual void | acquire_target (retarget_source, player_t *=nullptr) |
Poor man's targeting support. More... | |
virtual attack_power_type | default_ap_type () const |
Default attack power type to use for value computation. More... | |
virtual void | output_json_report (js::JsonOutput &) const |
void | add_active_dot (unsigned action_id) |
void | remove_active_dot (unsigned action_id) |
unsigned | get_active_dots (unsigned action_id) const |
virtual void | adjust_dynamic_cooldowns () |
virtual void | adjust_global_cooldown (gcd_haste_type type) |
virtual void | adjust_auto_attack (gcd_haste_type type) |
virtual void | vision_of_perfection_proc () |
8.2 Vision of Perfection proc handler More... | |
virtual player_t * | actor_by_name_str (util::string_view) const |
void | min_threshold_trigger () |
Add a wake-up call at the next resource threshold level, compared to the current resource status of the actor. | |
void | register_combat_begin (buff_t *b) |
Register a buff that triggers at the beginning of combat. | |
void | register_precombat_begin (buff_t *b) |
Register a buff that triggers at the beginning of precombat. | |
void | register_combat_begin (action_t *a) |
Register an action that triggers at the beginning of combat. | |
void | register_combat_begin (const combat_begin_fn_t &fn) |
Register a custom function that triggers at the beginning of combat. | |
void | register_precombat_begin (const combat_begin_fn_t &fn) |
Register a custom function that triggers at the beginning of precombat. | |
void | register_combat_begin (double amount, resource_e resource, gain_t *g=nullptr) |
Register a resource gain that triggers at the beginning of combat. | |
void | register_on_demise_callback (player_t *source, std::function< void(player_t *)> fn) |
void | register_on_arise_callback (player_t *source, std::function< void(void)> fn) |
void | register_on_kill_callback (std::function< void(player_t *)> fn) |
void | update_off_gcd_ready () |
void | update_cast_while_casting_ready () |
spawner::base_actor_spawner_t * | find_spawner (util::string_view id) const |
int | nth_iteration () const |
bool | is_ptr () const |
Public Member Functions inherited from actor_t | |
actor_t (sim_t *s, util::string_view name) | |
Public Attributes | |
action_t * | windwalking_aura |
struct monk::monk_t::sample_data_t | sample_datas |
struct monk::monk_t::active_actions_t | active_actions |
std::vector< action_t * > | combo_strike_actions |
double | spiritual_focus_count |
std::vector< cooldown_t * > | serenity_cooldowns |
std::vector< stagger_tick_entry_t > | stagger_tick_damage |
double | gift_of_the_ox_proc_chance |
struct monk::monk_t::buffs_t | buff |
struct monk::monk_t::gains_t | gain |
struct monk::monk_t::procs_t | proc |
struct monk::monk_t::talents_t | talent |
struct monk::monk_t::specs_t | spec |
struct monk::monk_t::mastery_spells_t | mastery |
struct monk::monk_t::cooldowns_t | cooldown |
struct monk::monk_t::passives_t | passives |
struct monk::monk_t::rppms_t | rppm |
struct monk::monk_t::covenant_t | covenant |
struct monk::monk_t::conduit_t | conduit |
struct monk::monk_t::legendary_t | legendary |
struct monk::monk_t::pets_t | pets |
struct monk::monk_t::options_t | user_options |
const double | light_stagger_threshold |
const double | moderate_stagger_threshold |
const double | heavy_stagger_threshold |
Public Attributes inherited from player_t | |
player_e | type |
player_t * | parent |
int | index |
int | creation_iteration |
size_t | actor_index |
int | actor_spawn_index |
race_e | race |
role_e | role |
int | true_level |
int | party |
int | ready_type |
specialization_e | _spec |
bool | bugs |
int | disable_hotfixes |
bool | scale_player |
double | death_pct |
double | height |
double | combat_reach |
profile_source | profile_source_ |
player_t * | default_target |
player_t * | target |
bool | initialized |
bool | potion_used |
std::string | talents_str |
std::string | id_str |
std::string | target_str |
std::string | region_str |
std::string | server_str |
std::string | origin_str |
std::string | race_str |
std::string | professions_str |
std::string | position_str |
enum player_t::timeofday_e | timeofday |
enum player_t::zandalari_loa_e | zandalari_loa |
enum player_t::vulpera_tricks_e | vulpera_tricks |
timespan_t | gcd_ready |
timespan_t | base_gcd |
timespan_t | min_gcd |
gcd_haste_type | gcd_type |
double | gcd_current_haste_value |
timespan_t | started_waiting |
std::vector< pet_t * > | pet_list |
std::vector< pet_t * > | active_pets |
std::vector< absorb_buff_t * > | absorb_buff_list |
std::map< unsigned, instant_absorb_t > | instant_absorb_list |
int | invert_scaling |
timespan_t | reaction_offset |
timespan_t | reaction_max |
timespan_t | reaction_mean |
timespan_t | reaction_stddev |
timespan_t | reaction_nu |
timespan_t | world_lag |
timespan_t | world_lag_stddev |
timespan_t | brain_lag |
timespan_t | brain_lag_stddev |
bool | world_lag_override |
bool | world_lag_stddev_override |
timespan_t | cooldown_tolerance_ |
std::unique_ptr< dbc_t > | dbc |
const dbc_override_t * | dbc_override |
std::vector< std::unique_ptr< option_t > > | options |
std::vector< stat_e > | stat_timelines |
std::unique_ptr< player_talent_points_t > | talent_points |
std::string | talent_overrides_str |
std::array< int, PROFESSION_MAX > | profession |
std::unique_ptr< azerite::azerite_state_t > | azerite |
Azerite state object. | |
std::unique_ptr< azerite::azerite_essence_state_t > | azerite_essence |
Azerite essence state object. | |
std::unique_ptr< covenant::covenant_state_t > | covenant |
Covenant state object. | |
struct player_t::base_initial_current_t | base |
struct player_t::base_initial_current_t | initial |
struct player_t::base_initial_current_t | current |
rating_t | passive_rating_multiplier |
Passive combat rating multipliers. | |
gear_stats_t | passive |
timespan_t | last_cast |
struct player_t::diminishing_returns_constants_t | def_dr |
weapon_t | main_hand_weapon |
weapon_t | off_hand_weapon |
attack_t * | main_hand_attack |
attack_t * | off_hand_attack |
double | current_attack_speed |
player_resources_t | resources |
action_t * | executing |
action_t * | queueing |
action_t * | channeling |
action_t * | strict_sequence |
event_t * | readying |
event_t * | off_gcd |
event_t * | cast_while_casting_poll_event |
std::vector< const cooldown_t * > | off_gcd_cd |
std::vector< const cooldown_t * > | off_gcd_icd |
std::vector< const cooldown_t * > | cast_while_casting_cd |
std::vector< const cooldown_t * > | cast_while_casting_icd |
timespan_t | off_gcd_ready |
timespan_t | cast_while_casting_ready |
bool | in_combat |
bool | action_queued |
bool | first_cast |
action_t * | last_foreground_action |
std::vector< action_t * > | prev_gcd_actions |
std::vector< action_t * > | off_gcdactions |
timespan_t | cast_delay_reaction |
timespan_t | cast_delay_occurred |
effect_callbacks_t | callbacks |
auto_dispose< std::vector< special_effect_t * > > | special_effects |
std::vector< std::pair< player_t *, std::function< void(player_t *)> > > | callbacks_on_demise |
std::vector< std::pair< player_t *, std::function< void(void)> > > | callbacks_on_arise |
std::vector< std::function< void(player_t *)> > | callbacks_on_kill |
auto_dispose< std::vector< action_t * > > | action_list |
std::set< action_t * > | dynamic_target_action_list |
Actions that have an action-specific dynamic targeting. | |
std::string | action_list_str |
std::string | choose_action_list |
std::string | action_list_skip |
std::string | modify_action |
std::string | use_apl |
bool | use_default_action_list |
auto_dispose< std::vector< dot_t * > > | dot_list |
auto_dispose< std::vector< action_priority_list_t * > > | action_priority_list |
std::vector< action_t * > | precombat_action_list |
action_priority_list_t * | active_action_list |
action_priority_list_t * | default_action_list |
action_priority_list_t * | active_off_gcd_list |
action_priority_list_t * | active_cast_while_casting_list |
action_priority_list_t * | restore_action_list |
std::unordered_map< std::string, std::string > | alist_map |
std::string | action_list_information |
bool | no_action_list_provided |
std::unordered_map< std::string, std::string > | apl_variable_map |
std::unordered_map< std::string, std::string > | precombat_state_map |
bool | quiet |
std::unique_ptr< player_report_extension_t > | report_extension |
timespan_t | arise_time |
timespan_t | iteration_fight_length |
timespan_t | iteration_waiting_time |
timespan_t | iteration_pooling_time |
int | iteration_executed_foreground_actions |
std::array< double, RESOURCE_MAX > | iteration_resource_lost |
std::array< double, RESOURCE_MAX > | iteration_resource_gained |
std::array< double, RESOURCE_MAX > | iteration_resource_overflowed |
double | rps_gain |
double | rps_loss |
std::string | tmi_debug_file_str |
double | tmi_window |
auto_dispose< std::vector< buff_t * > > | buff_list |
auto_dispose< std::vector< proc_t * > > | proc_list |
auto_dispose< std::vector< gain_t * > > | gain_list |
auto_dispose< std::vector< stats_t * > > | stats_list |
auto_dispose< std::vector< benefit_t * > > | benefit_list |
auto_dispose< std::vector< uptime_t * > > | uptime_list |
auto_dispose< std::vector< cooldown_t * > > | cooldown_list |
auto_dispose< std::vector< target_specific_cooldown_t * > > | target_specific_cooldown_list |
auto_dispose< std::vector< real_ppm_t * > > | rppm_list |
auto_dispose< std::vector< shuffled_rng_t * > > | shuffled_rng_list |
std::vector< cooldown_t * > | dynamic_cooldown_list |
std::array< std::vector< plot_data_t >, STAT_MAX > | dps_plot_data |
std::vector< std::vector< plot_data_t > > | reforge_plot_data |
auto_dispose< std::vector< sample_data_helper_t * > > | sample_data_list |
std::vector< std::unique_ptr< cooldown_waste_data_t > > | cooldown_waste_data_list |
player_collected_data_t | collected_data |
double | iteration_dmg |
double | priority_iteration_dmg |
double | iteration_dmg_taken |
double | dpr |
std::vector< incoming_damage_entry_t > | incoming_damage |
double | iteration_heal |
double | iteration_heal_taken |
double | iteration_absorb |
double | iteration_absorb_taken |
double | hpr |
std::vector< unsigned > | absorb_priority |
player_processed_report_information_t | report_information |
std::string | items_str |
std::string | meta_gem_str |
std::string | potion_str |
std::string | flask_str |
std::string | food_str |
std::string | rune_str |
std::string | temporary_enchant_str |
std::vector< item_t > | items |
gear_stats_t | gear |
gear_stats_t | enchant |
gear_stats_t | total_gear |
std::unique_ptr< set_bonus_t > | sets |
meta_gem_e | meta_gem |
bool | matching_gear |
bool | karazhan_trinkets_paired |
std::unique_ptr< cooldown_t > | item_cooldown |
timespan_t | default_item_group_cooldown |
cooldown_t * | legendary_tank_cloak_cd |
double | warlords_unseeing_eye |
stats_t * | warlords_unseeing_eye_stats |
double | auto_attack_modifier |
double | auto_attack_multiplier |
std::unique_ptr< player_scaling_t > | scaling |
double | base_movement_speed |
double | passive_modifier |
double | x_position |
double | y_position |
double | default_x_position |
double | default_y_position |
struct player_t::consumables_t | consumables |
struct player_t::buffs_t | buffs |
struct player_t::debuffs_t | debuffs |
struct player_t::external_buffs_t | external_buffs |
struct player_t::gains_t | gains |
struct player_t::spells_t | spells |
struct player_t::procs_t | procs |
struct player_t::uptimes_t | uptimes |
struct player_t::racials_t | racials |
struct player_t::antumbra_t | antumbra |
struct player_t::passives_t | passive_values |
bool | active_during_iteration |
const spelleffect_data_t * | _mastery |
player_stat_cache_t | cache |
auto_dispose< std::vector< action_variable_t * > > | variables |
std::vector< std::string > | action_map |
regen_type | resource_regeneration |
timespan_t | last_regen |
Last iteration time regeneration occurred. Set at player_t::arise() | |
std::vector< bool > | regen_caches |
A list of CACHE_x enumerations (stats) that affect the resource regeneration of the actor. | |
bool | dynamic_regen_pets |
Flag to indicate if any pets require dynamic regneration. Initialized in player_t::init(). | |
uint64_t | visited_apls_ |
Visited action lists, needed for call_action_list support. Reset by player_t::execute_action(). | |
unsigned | action_list_id_ |
Internal counter for action priority lists, used to set action_priority_list_t::internal_id for lists. | |
execute_type | current_execute_type |
Current execution type. | |
struct player_t::shadowlands_opt_t | shadowlands_opts |
event_t * | resource_threshold_trigger |
std::vector< double > | resource_thresholds |
assessor::state_assessor_pipeline_t | assessor_out_damage |
std::vector< combat_begin_fn_t > | combat_begin_functions |
std::vector< combat_begin_fn_t > | precombat_begin_functions |
std::vector< spawner::base_actor_spawner_t * > | spawners |
Public Attributes inherited from actor_t | |
sim_t * | sim |
spawner::base_actor_spawner_t * | spawner |
std::string | name_str |
int | event_counter |
Additional Inherited Members | |
Static Public Member Functions inherited from player_t | |
static player_t * | create (sim_t *sim, const player_description_t &) |
static bool | _is_enemy (player_e t) |
static bool | _is_sleeping (const player_t *t) |
Static Public Attributes inherited from player_t | |
static const int | default_level = 60 |
|
overridevirtual |
A method to "activate" an actor in the simulator.
Single actor batch mode activates one primary actor at a time, while normal simulation mode activates all actors at the beginning of the sim.
NOTE: Currently, the only thing that occurs during activation of an actor is the registering of various state change callbacks (via the action_t::activate method) to the global actor lists. Actor pets are also activated by default.
Reimplemented from player_t.
|
overridevirtual |
Create player buffs.
Note, these are player and enemy buffs/debuffs. Pet buffs and debuffs are in pet_t::create_buffs
Reimplemented from player_t.
|
overridevirtual |
Initialize base variables from database or other sources.
After player_t::init_base is executed, you can modify the base member until init_initial is called
Reimplemented from player_t.
|
overridevirtual |
Modify generic special effect initialization.
Intended to allow modifications to some aspects of the special effect (or buffs, actions or callbacks it instantiates), including outright replacement.
This method is called after generic special effect initialization occurs, but before any proc objects (e.g., dbc_proc_callback_t-derived objects) are initialized.
Reimplemented from player_t.
|
overridevirtual |
Merge player data with player from other thread.
After simulating the same setup in multiple sim/threads, this function will merge the same player (and its collected data) from two simulations together, aggregating the collected data.
Reimplemented from player_t.
|
overridevirtual |
Reset player.
Called after each iteration to reset the player to its initial state.
Reimplemented from player_t.
double monk::monk_t::stagger_pct | ( | int | target_level | ) |
|
overridevirtual |
Return the highest-only temporary movement modifier.
There are 2 categories of movement speed buffs: Passive and Temporary, both which stack additively. Passive buffs include movement speed enchant, unholy presence, cat form and generally anything that has the ability to be kept active all fight. These permanent buffs do stack with each other. Temporary includes all other speed bonuses, however, only the highest temporary bonus will be added on top.
Reimplemented from player_t.