pub trait DamageOps {
Show 47 methods
// Required methods
fn deal_damage_ap(
&mut self,
action: DamageActionId,
coef: f64,
flags: DamageFlags,
);
fn deal_damage_ap_result(
&mut self,
action: DamageActionId,
coef: f64,
flags: DamageFlags,
) -> DamageOutcome;
fn deal_damage_from_result(
&mut self,
action: DamageActionId,
parent: DamageOutcome,
multiplier: f64,
flags: DamageFlags,
) -> DamageOutcome;
fn deal_profiled_damage_ap(
&mut self,
action: DamageActionId,
profile: DamageActionId,
coef: f64,
flags: DamageFlags,
);
fn haste_multiplier(&self) -> f64;
fn deal_damage_ap_to_target(
&mut self,
target: EnemyIdx,
action: DamageActionId,
coef: f64,
flags: DamageFlags,
);
fn deal_damage_ap_if_positive(
&mut self,
action: DamageActionId,
coefficient: f64,
flags: DamageFlags,
);
fn deal_effect_damage_ap(
&mut self,
effect: DamageEffectId,
multiplier: f64,
flags: DamageFlags,
);
fn deal_effect_damage_ap_with_geometry(
&mut self,
effect: DamageEffectId,
geometry_effect: DamageEffectId,
multiplier: f64,
flags: DamageFlags,
);
fn deal_effect_damage_sp_with_geometry(
&mut self,
effect: DamageEffectId,
geometry_effect: DamageEffectId,
multiplier: f64,
flags: DamageFlags,
);
fn deal_physical_damage_ap_if_positive(
&mut self,
action: DamageActionId,
coefficient: f64,
);
fn deal_pet_damage_ap(&mut self, action: DamageActionId, coefficient: f64);
fn deal_pet_damage_ap_with_inheritance(
&mut self,
action: DamageActionId,
coefficient: f64,
inheritance_multiplier: f64,
);
fn deal_physical_pet_damage_ap(
&mut self,
action: DamageActionId,
coefficient: f64,
);
fn deal_damage_sp(
&mut self,
action: DamageActionId,
coef: f64,
flags: DamageFlags,
);
fn deal_damage_sp_to_target(
&mut self,
target: EnemyIdx,
action: DamageActionId,
coef: f64,
flags: DamageFlags,
);
fn deal_profiled_damage_sp(
&mut self,
action: DamageActionId,
profile: DamageActionId,
coef: f64,
flags: DamageFlags,
);
fn deal_damage_flat(&mut self, action: DamageActionId, amount: f64);
fn deal_resolved_damage(&mut self, action: DamageActionId, amount: f64);
fn deal_triggered_damage(
&mut self,
effect: DamageEffectId,
multiplier: f64,
flags: DamageFlags,
) -> bool;
fn deal_item_damage_sp(&mut self, action: DamageActionId);
fn deal_hook_flat_damage(&mut self, action: DamageActionId) -> bool;
fn effect_base_points(&self, effect: DamageEffectId) -> f64;
fn effect_points(&self, effect: DamageEffectId) -> f64;
fn effect_percent(&self, effect: DamageEffectId) -> f64;
fn effect_ap_coefficient(&self, effect: DamageEffectId) -> f64;
fn effect_sp_coefficient(&self, effect: DamageEffectId) -> f64;
fn effect_period_ms(&self, effect: DamageEffectId) -> u32;
fn action_proc_chance(&self, action: DamageActionId) -> f64;
fn action_gcd_ms(&self, action: DamageActionId) -> u32;
fn action_aura_duration_ms(&self, action: DamageActionId) -> u32;
fn action_aura_tick_ms(&self, action: DamageActionId) -> u32;
fn action_secondary_gain(&self, action: DamageActionId) -> f64;
fn action_hook_scalar(&self, action: DamageActionId) -> Option<f64>;
fn action_passive_direct_damage_mult(&self, action: DamageActionId) -> f64;
fn action_is_melee(&self, action: DamageActionId) -> bool;
fn action_has_direct_damage(&self, action: DamageActionId) -> bool;
fn action_requires_main_hand(&self, action: DamageActionId) -> bool;
fn action_requires_off_hand(&self, action: DamageActionId) -> bool;
fn action_suppresses_caster_procs(&self, action: DamageActionId) -> bool;
fn impact_has_label(&self, impact: ImpactEvent, label: i32) -> bool;
fn impact_is_physical(&self, impact: ImpactEvent) -> bool;
fn impact_is_nature(&self, impact: ImpactEvent) -> bool;
fn impact_generates_primary_resource(&self, impact: ImpactEvent) -> bool;
fn effect_affects_impact(
&self,
effect: DamageEffectId,
impact: ImpactEvent,
) -> bool;
fn target_health_fraction(&self) -> f64;
fn player_swing_period_ms(&self, hand: SwingHand) -> Option<u32>;
}Expand description
Damage calculation and impact operations.