pub trait ProcOps {
Show 16 methods
// Required methods
fn roll_rppm(&mut self, idx: LocalRppmIdx) -> bool;
fn roll_threshold(
&mut self,
idx: LocalThresholdIdx,
increment_scale: f64,
) -> bool;
fn roll_item_rppm(&mut self, item_id: u32) -> bool;
fn roll_system_rppm(&mut self, driver_spell_id: u32) -> bool;
fn proc_category_ready(&self, driver_spell_id: u32) -> bool;
fn start_proc_category_cooldown(&mut self, driver_spell_id: u32);
fn roll_enchant_rppm(&mut self, enchantment_id: u32) -> bool;
fn roll_accumulating_proc(
&mut self,
driver_spell_id: u32,
chance_per_attempt: f64,
) -> bool;
fn roll_attempt_proc(
&mut self,
driver_spell_id: u32,
chance_for_attempt: impl FnOnce(u32) -> f64,
) -> bool;
fn add_proc_counter(&mut self, driver_spell_id: u32, amount: u32) -> u32;
fn reset_proc_counter(&mut self, driver_spell_id: u32);
fn proc_counter(&self, driver_spell_id: u32) -> u32;
fn mark_proc_flags_once(&mut self, driver_spell_id: u32, flags: u32) -> bool;
fn consume_proc_counter(&mut self, driver_spell_id: u32, amount: u32) -> u32;
fn advance_proc_counter_by(
&mut self,
driver_spell_id: u32,
amount: u32,
threshold: u32,
) -> bool;
fn advance_proc_counter(
&mut self,
driver_spell_id: u32,
threshold: u32,
) -> bool;
}Expand description
Deterministic proc rolls, attempt tracking, and driver counters.
Required Methods§
fn roll_rppm(&mut self, idx: LocalRppmIdx) -> bool
fn roll_threshold( &mut self, idx: LocalThresholdIdx, increment_scale: f64, ) -> bool
fn roll_item_rppm(&mut self, item_id: u32) -> bool
fn roll_system_rppm(&mut self, driver_spell_id: u32) -> bool
fn proc_category_ready(&self, driver_spell_id: u32) -> bool
fn start_proc_category_cooldown(&mut self, driver_spell_id: u32)
fn roll_enchant_rppm(&mut self, enchantment_id: u32) -> bool
fn roll_accumulating_proc( &mut self, driver_spell_id: u32, chance_per_attempt: f64, ) -> bool
fn roll_attempt_proc( &mut self, driver_spell_id: u32, chance_for_attempt: impl FnOnce(u32) -> f64, ) -> bool
fn add_proc_counter(&mut self, driver_spell_id: u32, amount: u32) -> u32
fn reset_proc_counter(&mut self, driver_spell_id: u32)
fn proc_counter(&self, driver_spell_id: u32) -> u32
fn mark_proc_flags_once(&mut self, driver_spell_id: u32, flags: u32) -> bool
fn consume_proc_counter(&mut self, driver_spell_id: u32, amount: u32) -> u32
fn advance_proc_counter_by( &mut self, driver_spell_id: u32, amount: u32, threshold: u32, ) -> bool
fn advance_proc_counter(&mut self, driver_spell_id: u32, threshold: u32) -> bool
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.