SimulationCraft
SimulationCraft is a tool to explore combat mechanics in the popular MMO RPG World of Warcraft (tm).
monk::actions::spells::faeline_stomp_damage_t Struct Reference
Inheritance diagram for monk::actions::spells::faeline_stomp_damage_t:
monk::actions::monk_spell_t monk::actions::monk_action_t< spell_t > spell_t spell_base_t action_t noncopyable

Public Member Functions

 faeline_stomp_damage_t (monk_t &p)
 
double composite_aoe_multiplier (const action_state_t *state) const override
 Generic aoe multiplier for the action. More...
 
- Public Member Functions inherited from monk::actions::monk_spell_t
 monk_spell_t (util::string_view n, monk_t *player, const spell_data_t *s=spell_data_t::nil())
 
double composite_target_crit_chance (player_t *target) const override
 
double composite_persistent_multiplier (const action_state_t *action_state) const override
 Persistent modifiers that are snapshot at the start of the spell cast.
 
double action_multiplier () const override
 
- Public Member Functions inherited from monk::actions::monk_action_t< spell_t >
 monk_action_t (util::string_view n, monk_t *player, const spell_data_t *s=spell_data_t::nil())
 
std::string full_name () const
 
monk_tp ()
 
const monk_tp () const
 
monk_td_tget_td (player_t *t) const
 
const monk_td_tfind_td (player_t *t) const
 
std::unique_ptr< expr_tcreate_expression (util::string_view name_str) override
 
bool ready () override
 
void init () override
 
void init_finished () override
 
void reset_swing ()
 
resource_e current_resource () const override
 
bool cap_energy ()
 
bool tp_fill ()
 
bool is_combo_strike ()
 
bool is_combo_break ()
 
void combo_strikes_trigger ()
 
void brew_cooldown_reduction (double time_reduction)
 
bonedust_brew_zone_results_e bonedust_brew_zone ()
 
void trigger_shuffle (double time_extension)
 
double cost () const override
 
virtual double cost_reduction () const
 
double recharge_multiplier (const cooldown_t &cd) const override
 
void consume_resource () override
 
void execute () override
 
void impact (action_state_t *s) override
 
void tick (dot_t *dot) override
 
void last_tick (dot_t *dot) override
 
double composite_persistent_multiplier (const action_state_t *action_state) const override
 
void trigger_storm_earth_and_fire (const action_t *a)
 
void trigger_mystic_touch (action_state_t *s)
 
- Public Member Functions inherited from spell_t
 spell_t (util::string_view token, player_t *p)
 
 spell_t (util::string_view token, player_t *p, const spell_data_t *s)
 
result_amount_type amount_type (const action_state_t *, bool=false) const override
 
result_amount_type report_amount_type (const action_state_t *) const override
 
double miss_chance (double hit, player_t *t) const override
 
double composite_hit () const override
 
double composite_versatility (const action_state_t *state) const override
 
double composite_target_multiplier (player_t *target) const override
 
- Public Member Functions inherited from spell_base_t
 spell_base_t (action_e at, util::string_view token, player_t *p)
 
 spell_base_t (action_e at, util::string_view token, player_t *p, const spell_data_t *s)
 
timespan_t execute_time () const override
 
result_e calculate_result (action_state_t *) const override
 
void schedule_execute (action_state_t *execute_state=nullptr) override
 
double composite_crit_chance () const override
 
double composite_haste () const override
 
double composite_crit_chance_multiplier () const override
 
proc_types proc_type () const override
 Action proc type, needed for dynamic aoe stuff and such.
 
- Public Member Functions inherited from action_t
 action_t (action_e type, util::string_view token, player_t *p)
 
 action_t (action_e type, util::string_view token, player_t *p, const spell_data_t *s)
 
void add_child (action_t *child)
 
void add_option (std::unique_ptr< option_t > new_option)
 
void check_spec (specialization_e)
 
void check_spell (const spell_data_t *)
 
const spell_data_tdata () const
 Spell Data associated with the action. More...
 
const spell_data_tdata_reporting () const
 
dot_tfind_dot (player_t *target) const
 
bool is_aoe () const
 
const char * name () const
 
const char * name_reporting () const
 
size_t num_travel_events () const
 
bool has_travel_events () const
 
timespan_t shortest_travel_event () const
 Determine the remaining duration of the next travel event.
 
bool has_travel_events_for (const player_t *target) const
 Determine if a travel event for given target currently exists.
 
virtual bool has_amount_result () const
 Determine if the action can have a resulting damage/heal amount > 0.
 
void parse_spell_data (const spell_data_t &)
 Parse spell data values and write them into corresponding action_t members.
 
void parse_effect_direct_mods (const spelleffect_data_t &spelleffect_data, bool item_scaling)
 
void parse_effect_periodic_mods (const spelleffect_data_t &spelleffect_data, bool item_scaling)
 
void parse_effect_period (const spelleffect_data_t &)
 
void parse_effect_data (const spelleffect_data_t &)
 
void parse_target_str ()
 
void remove_travel_event (travel_event_t *e)
 
void reschedule_queue_event ()
 
rng::rng_trng ()
 
rng::rng_trng () const
 
player_tselect_target_if_target ()
 
void apply_affecting_aura (const spell_data_t *)
 
void apply_affecting_effect (const spelleffect_data_t &effect)
 
void apply_affecting_conduit (const conduit_data_t &conduit, int effect_num=1)
 
void apply_affecting_conduit_effect (const conduit_data_t &conduit, size_t effect_num)
 
action_state_tget_state (const action_state_t *=nullptr)
 
void execute_on_target (player_t *, double=-1.0)
 
virtual bool verify_actor_level () const
 
virtual bool verify_actor_spec () const
 
virtual bool verify_actor_weapon () const
 
virtual double base_cost () const
 
virtual double cost_per_tick (resource_e) const
 
virtual timespan_t cooldown_duration () const
 
virtual timespan_t gcd () const
 
virtual double false_positive_pct () const
 False Positive skill chance, executes command regardless of expression. More...
 
virtual double false_negative_pct () const
 
virtual timespan_t tick_time (const action_state_t *state) const
 
virtual timespan_t travel_time () const
 
virtual timespan_t distance_targeting_travel_time (action_state_t *s) const
 
virtual block_result_e calculate_block_result (action_state_t *s) const
 
virtual double calculate_direct_amount (action_state_t *state) const
 
virtual double calculate_tick_amount (action_state_t *state, double multiplier) const
 
virtual double calculate_weapon_damage (double attack_power) const
 
virtual double calculate_crit_damage_bonus (action_state_t *s) const
 
virtual double recharge_rate_multiplier (const cooldown_t &) const
 
virtual timespan_t cooldown_base_duration (const cooldown_t &cd) const
 Cooldown base duration for action based cooldowns. More...
 
virtual int n_targets () const
 
virtual double last_tick_factor (const dot_t *d, timespan_t time_to_tick, timespan_t duration) const
 
virtual school_e get_school () const
 Use when damage schools change during runtime.
 
virtual double dodge_chance (double, player_t *) const
 
virtual double parry_chance (double, player_t *) const
 
virtual double glance_chance (int) const
 
virtual double block_chance (action_state_t *) const
 
virtual double crit_block_chance (action_state_t *) const
 
virtual double total_crit_bonus (const action_state_t *) const
 
virtual int num_targets () const
 
virtual size_t available_targets (std::vector< player_t * > &) const
 
virtual std::vector< player_t *> & target_list () const
 
virtual player_tfind_target_by_number (int number) const
 
virtual bool execute_targeting (action_t *action) const
 
virtual std::vector< player_t * > & targets_in_range_list (std::vector< player_t * > &tl) const
 
virtual std::vector< player_t * > & check_distance_targeting (std::vector< player_t * > &tl) const
 
virtual double ppm_proc_chance (double PPM) const
 
virtual bool usable_moving () const
 
virtual timespan_t composite_dot_duration (const action_state_t *) const
 
virtual double attack_direct_power_coefficient (const action_state_t *) const
 
virtual double amount_delta_modifier (const action_state_t *) const
 
virtual double attack_tick_power_coefficient (const action_state_t *) const
 
virtual double spell_direct_power_coefficient (const action_state_t *) const
 
virtual double spell_tick_power_coefficient (const action_state_t *) const
 
virtual double base_da_min (const action_state_t *) const
 
virtual double base_da_max (const action_state_t *) const
 
virtual double base_ta (const action_state_t *) const
 
virtual double bonus_da (const action_state_t *) const
 
virtual double bonus_ta (const action_state_t *) const
 
virtual double range_ () const
 
virtual double radius_ () const
 
virtual double action_da_multiplier () const
 
virtual double action_ta_multiplier () const
 
virtual double composite_crit_damage_bonus_multiplier () const
 
virtual attack_power_type get_attack_power_type () const
 
virtual double composite_attack_power () const
 
virtual double composite_spell_power () const
 
virtual double composite_target_armor (player_t *t) const
 
virtual double composite_target_crit_damage_bonus_multiplier (player_t *) const
 
virtual double composite_target_damage_vulnerability (player_t *target) const
 
virtual double composite_leech (const action_state_t *) 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_target_da_multiplier (player_t *target) const
 Direct amount multiplier due to debuffs on the target.
 
virtual double composite_target_ta_multiplier (player_t *target) const
 Tick amount multiplier due to debuffs on the target.
 
virtual double composite_da_multiplier (const action_state_t *) const
 
virtual double composite_ta_multiplier (const action_state_t *) const
 Normal ticking modifiers that are updated every tick.
 
virtual double composite_target_mitigation (player_t *t, school_e s) const
 
virtual double composite_player_critical_multiplier (const action_state_t *s) const
 
virtual bool has_movement_directionality () const
 
virtual double composite_teleport_distance (const action_state_t *) const
 
virtual timespan_t calculate_dot_refresh_duration (const dot_t *, timespan_t triggered_duration) const
 Calculates the new dot length after a refresh Necessary because we have both pandemic behaviour ( last 30% of the dot are preserved ) and old Cata/MoP behavior ( only time to the next tick is preserved )
 
virtual bool dot_refreshable (const dot_t *dot, timespan_t triggered_duration) const
 
virtual double composite_energize_amount (const action_state_t *) const
 
virtual resource_e energize_resource_ () const
 
virtual action_energize energize_type_ () const
 
virtual gain_tenergize_gain (const action_state_t *) const
 
virtual void parse_options (util::string_view options_str)
 
virtual void assess_damage (result_amount_type, action_state_t *state)
 
virtual void record_data (action_state_t *data)
 
virtual void queue_execute (execute_type type)
 
virtual void reschedule_execute (timespan_t time)
 
virtual void start_gcd ()
 
virtual void update_ready (timespan_t cd_duration=timespan_t::min())
 
virtual bool action_ready ()
 Is the action ready, as a combination of ability characteristics and user input? Main ntry-point when selecting something to do for an actor. More...
 
virtual bool select_target ()
 Select a target to execute on.
 
virtual bool target_ready (player_t *target)
 Target readiness state checking.
 
virtual bool usable_during_current_cast () const
 Ability usable during an on-going cast.
 
virtual bool usable_during_current_gcd () const
 Ability usable during the on-going global cooldown.
 
virtual void reset ()
 
virtual void cancel ()
 
virtual void interrupt_action ()
 
virtual void activate ()
 
virtual action_state_tnew_state ()
 
virtual void do_schedule_travel (action_state_t *, timespan_t)
 
virtual void schedule_travel (action_state_t *)
 
virtual void trigger_dot (action_state_t *)
 
virtual void snapshot_internal (action_state_t *, unsigned flags, result_amount_type)
 
virtual void snapshot_state (action_state_t *s, unsigned flags, result_amount_type rt)
 
virtual void snapshot_state (action_state_t *s, result_amount_type rt)
 
virtual void update_state (action_state_t *s, unsigned flags, result_amount_type rt)
 
virtual void update_state (action_state_t *s, result_amount_type rt)
 
event_tstart_action_execute_event (timespan_t time, action_state_t *state=nullptr)
 
virtual bool consume_cost_per_tick (const dot_t &dot)
 If the action is still ticking and all resources could be successfully consumed, return true to indicate continued ticking.
 
virtual void do_teleport (action_state_t *)
 
virtual dot_tget_dot (player_t *=nullptr)
 
virtual void acquire_target (retarget_source, player_t *, player_t *)
 Acquire a new target, where the context is the actor that sources the retarget event, and the actor-level candidate is given as a parameter (selected by player_t::acquire_target). More...
 
virtual void set_target (player_t *target)
 
virtual void gain_energize_resource (resource_e resource_type, double amount, gain_t *gain)
 

Additional Inherited Members

- Public Types inherited from monk::actions::monk_action_t< spell_t >
using base_t = monk_action_t< spell_t >
 
- Public Types inherited from action_t
enum  target_if_mode_e { TARGET_IF_NONE, TARGET_IF_FIRST, TARGET_IF_MIN, TARGET_IF_MAX }
 
- Static Public Member Functions inherited from action_t
static bool result_is_hit (result_e r)
 
static bool result_is_miss (result_e r)
 
static bool result_is_block (block_result_e r)
 
- Public Attributes inherited from monk::actions::monk_action_t< spell_t >
sef_ability_e sef_ability
 
bool ww_mastery
 
bool may_combo_strike
 
bool trigger_chiji
 
bool trigger_faeline_stomp
 
bool trigger_bountiful_brew
 
bool trigger_sinister_teaching_cdr
 
bool cast_during_sck
 
bool trigger_ww_t28_4p_potential
 
bool trigger_ww_t28_4p_power
 
bool trigger_ww_t28_4p_power_channel
 
bool affect_primordial_power
 
proc_tprimordial_potential_proc
 
proc_tprimordial_power_proc
 
bool may_proc_bron
 
proc_tbron_proc
 
bool serenity
 
struct {
   bool   serenity
 
affected_by
 
- Public Attributes inherited from spell_base_t
bool procs_courageous_primal_diamond
 
- Public Attributes inherited from action_t
const spell_data_ts_data
 
const spell_data_ts_data_reporting
 
sim_tsim
 
const action_e type
 
std::string name_str
 
std::string name_str_reporting
 
player_t *const player
 
player_ttarget
 
const item_titem
 Item back-pointer for trinket-sourced actions so we can show proper tooltips in reports.
 
weapon_tweapon
 Weapon used for this ability. If set extra weapon damage is calculated.
 
player_tdefault_target
 Default target is needed, otherwise there's a chance that cycle_targets option will MAJORLY mess up the action list for the actor, as there's no guarantee cycle_targets will end up on the "initial target" when an iteration ends.
 
school_e school
 What type of damage this spell does.
 
std::vector< school_e > base_schools
 What base school components this spell has.
 
unsigned id
 Spell id if available, 0 otherwise.
 
int internal_id
 player & action-name unique id. More...
 
resource_e resource_current
 What resource does this ability use.
 
int aoe
 The amount of targets that an ability impacts on. -1 will hit all targets.
 
bool dual
 If set to true, this action will not be counted toward total amount of executes in reporting. Useful for abilities with parent/children attacks.
 
bool callbacks
 enables/disables proc callback system on the action, like trinkets, enchants, rppm.
 
bool allow_class_ability_procs
 Allows triggering of procs marked to only proc from class abilities.
 
bool not_a_proc
 Specifies that a spell is not a proc and can be considered for triggering only proc from class abilities procs even if it is a background ability.
 
bool special
 Whether or not the spell uses the yellow attack hit table.
 
bool channeled
 Tells the sim to not perform any other actions, as the ability is channeled.
 
bool sequence
 mark this as a sequence_t action
 
bool quiet
 Disables/enables reporting of this action. More...
 
bool background
 Enables/Disables direct execution of the ability in an action list. More...
 
bool use_off_gcd
 Check if action is executable between GCD's. More...
 
bool use_while_casting
 True if ability should be used while casting another spell.
 
bool usable_while_casting
 True if ability is usable while casting another spell.
 
bool interrupt_auto_attack
 False if channeled action does not reschedule autoattacks, used on abilities such as bladestorm.
 
bool reset_auto_attack
 True if channeled action fully resets the autoattack timer rather than simply delaying it.
 
bool ignore_false_positive
 Used for actions that will do awful things to the sim when a "false positive" skill roll happens.
 
double action_skill
 Skill is now done per ability, with the default being set to the player option.
 
bool direct_tick
 Used with DoT Drivers, tells simc that the direct hit is actually a tick.
 
bool ignores_armor
 Used with psudo-DoT effects, tells us to ignore armor even if the physical damage is direct.
 
bool repeating
 Used for abilities that repeat themselves without user interaction, only used on autoattacks.
 
bool harmful
 Simplified: Will the ability pull the boss if used. More...
 
bool proc
 Whether or not this ability is a proc. More...
 
bool is_interrupt
 Whether or not the action is an interrupt (specifically triggers PF2_CAST_INTERRUPT callbacks)
 
bool is_precombat
 Whether the action is used from the precombat action list. Will be set up automatically by action_t::init_finished.
 
bool initialized
 Is the action initialized? (action_t::init ran successfully)
 
bool may_hit
 Self explanatory.
 
bool may_miss
 
bool may_dodge
 
bool may_parry
 
bool may_glance
 
bool may_block
 
bool may_crit
 
bool tick_may_crit
 
bool tick_zero
 Whether or not the ability/dot ticks immediately on usage.
 
bool tick_on_application
 Whether or not the ability/dot ticks when it is first applied, but not on refresh applications.
 
bool hasted_ticks
 Whether or not ticks scale with haste. More...
 
bool consume_per_tick_
 Need to consume per tick?
 
bool split_aoe_damage
 Split damage evenly between targets.
 
double reduced_aoe_targets
 Reduce damage to targets when total targets is greater than value Formula used is <damage per="" target>=""> = sqrt( reduced_aoe_targets / <number of="" targets>=""> )
 
int full_amount_targets
 If reduced_aoe_targets > 0, the number of target(s) that will take full unreduced amount.
 
bool normalize_weapon_speed
 Normalize weapon speed for weapon damage calculations. More...
 
bool ground_aoe
 This ability leaves a ticking dot on the ground, and doesn't move when the target moves. Used with original_x and original_y.
 
bool round_base_dmg
 Round spell base damage to integer before using.
 
bool dynamic_tick_action
 Used with tick_action, tells tick_action to update state on every tick.
 
bool interrupt_immediate_occurred
 Did a channel action have an interrupt_immediate used to cancel it on it.
 
bool hit_any_target
 
timespan_t ground_aoe_duration
 Duration of the ground area trigger.
 
attack_power_type ap_type
 Type of attack power used by the ability.
 
dot_behavior_e dot_behavior
 Behavior of dot. More...
 
timespan_t ability_lag
 Ability specific extra player ready delay.
 
timespan_t ability_lag_stddev
 
timespan_t min_gcd
 The minimum gcd triggered no matter the haste.
 
gcd_haste_type gcd_type
 Hasted GCD stat type. One of HASTE_NONE, HASTE_ATTACK, HASTE_SPELL, SPEED_ATTACK, SPEED_SPELL.
 
timespan_t trigger_gcd
 Length of unhasted gcd triggered when used.
 
double range
 This is how far away the target can be from the player, and still be hit or targeted.
 
double radius
 AoE ability area of influence. More...
 
double weapon_power_mod
 Weapon AP multiplier.
 
struct {
   double   direct
 
   double   tick
 
attack_power_mod
 Attack/Spell power scaling of the ability.
 
struct {
   double   direct
 
   double   tick
 
spell_power_mod
 
double amount_delta
 full damage variation in % More...
 
timespan_t base_execute_time
 Amount of time the ability uses to execute before modifiers.
 
timespan_t base_tick_time
 Amount of time the ability uses between ticks.
 
timespan_t dot_duration
 Default full duration of dot.
 
int dot_max_stack
 
std::array< double, RESOURCE_MAX > base_costs
 Cost of using the ability.
 
std::array< double, RESOURCE_MAX > secondary_costs
 
std::array< double, RESOURCE_MAX > base_costs_per_tick
 Cost of using ability per periodic effect tick.
 
double base_dd_min
 Minimum base direct damage.
 
double base_dd_max
 Maximum base direct damage.
 
double base_td
 Base tick damage.
 
double base_dd_multiplier
 base direct damage multiplier
 
double base_td_multiplier
 base tick damage multiplier
 
double base_multiplier
 base damage multiplier (direct and tick damage)
 
double base_hit
 
double base_crit
 
double crit_multiplier
 
double crit_bonus_multiplier
 
double crit_bonus
 
double base_dd_adder
 
double base_ta_adder
 
double weapon_multiplier
 Weapon damage for the ability.
 
double chain_multiplier
 Damage modifier for chained/AoE, exponentially increased by number of target hit.
 
double chain_bonus_damage
 Damage modifier for chained/AoE, linearly increasing with each target hit.
 
double base_aoe_multiplier
 Static reduction of damage for AoE.
 
double base_recharge_multiplier
 Static action cooldown duration multiplier.
 
double base_recharge_rate_multiplier
 A second static action cooldown duration multiplier that also reduces the effectiveness of flat cooldown adjustments.
 
double dynamic_recharge_multiplier
 Dynamically adjustable action cooldown duration multipliers. These are reset to 1.0 in action_t::reset.
 
double dynamic_recharge_rate_multiplier
 
double base_teleport_distance
 Maximum distance that the ability can travel. Used on abilities that instantly move you, or nearly instantly move you to a location.
 
double travel_speed
 Missile travel speed in yards / second.
 
double travel_delay
 Missile travel delay in seconds.
 
double min_travel_time
 Minimum travel time in seconds.
 
double energize_amount
 
movement_direction_type movement_directionality
 Movement Direction. More...
 
dot_tparent_dot
 This is used to cache/track spells that have a parent driver, such as most channeled/ground aoe abilities.
 
std::vector< action_t *> child_action
 
action_ttick_action
 This action will execute every tick.
 
action_texecute_action
 This action will execute every execute.
 
action_timpact_action
 This action will execute every impact - Useful for AoE debuffs.
 
gain_tgain
 
action_energize energize_type
 
resource_e energize_resource
 
cooldown_tcooldown
 Used to manipulate cooldown duration and charges. More...
 
cooldown_tinternal_cooldown
 
stats_tstats
 action statistics, merged by action-name
 
event_texecute_event
 Execute event (e.g., "casting" of the action)
 
event_tqueue_event
 Queue delay event (for queueing cooldowned actions shortly before they execute. More...
 
timespan_t time_to_execute
 Last available, effectively used execute time.
 
timespan_t time_to_travel
 Last available, effectively used travel time.
 
double last_resource_cost
 Last available, effectively used resource cost.
 
int num_targets_hit
 Last available number of targets effectively hit.
 
char marker
 Marker for sample action priority list reporting.
 
timespan_t last_used
 
struct action_t::options_t option
 
bool interrupt_global
 
std::unique_ptr< expr_tif_expr
 
enum action_t::target_if_mode_e target_if_mode
 
std::unique_ptr< expr_ttarget_if_expr
 
std::unique_ptr< expr_tinterrupt_if_expr
 
std::unique_ptr< expr_tearly_chain_if_expr
 
std::unique_ptr< expr_tcancel_if_expr
 
action_tsync_action
 
std::string signature_str
 
target_specific_t< dot_ttarget_specific_dot
 
action_priority_list_taction_list
 
proc_tstarved_proc
 Resource starvation tracking. More...
 
proc_tqueue_failed_proc
 
uint_least64_t total_executions
 
std::unique_ptr< cooldown_tline_cooldown
 Cooldown for specific APL line. More...
 
const action_priority_tsignature
 
action_state_texecute_state
 State of the last execute()
 
action_state_tpre_execute_state
 Optional - if defined before execute(), will be copied into execute_state.
 
unsigned snapshot_flags
 
unsigned update_flags
 
struct action_t::target_cache_t target_cache
 

Member Function Documentation

◆ composite_aoe_multiplier()

double monk::actions::spells::faeline_stomp_damage_t::composite_aoe_multiplier ( const action_state_t ) const
inlineoverridevirtual

Generic aoe multiplier for the action.

Used in action_t::calculate_direct_amount, and applied after other (passive) aoe multipliers are applied.

Reimplemented from action_t.