pub trait ProcOps {
Show 14 methods
// Required methods
fn roll_rppm(&mut self, idx: LocalRppmIdx) -> bool;
fn roll_threshold(
&mut self,
idx: LocalThresholdIdx,
increment_scale: f64,
) -> bool;
fn roll_system_rppm(&mut self, binding: SystemRppmBinding) -> bool;
fn proc_category_ready(&self, binding: ProcCategoryBinding) -> bool;
fn start_proc_category_cooldown(&mut self, binding: ProcCategoryBinding);
fn roll_accumulating_proc(
&mut self,
binding: ProcCounterBinding,
chance_per_attempt: f64,
) -> bool;
fn roll_attempt_proc(
&mut self,
binding: ProcCounterBinding,
chance_for_attempt: impl FnOnce(u32) -> f64,
) -> bool;
fn add_proc_counter(
&mut self,
binding: ProcCounterBinding,
amount: u32,
) -> u32;
fn reset_proc_counter(&mut self, binding: ProcCounterBinding);
fn proc_counter(&self, binding: ProcCounterBinding) -> u32;
fn mark_proc_flags_once(
&mut self,
binding: ProcCounterBinding,
flags: u32,
) -> bool;
fn consume_proc_counter(
&mut self,
binding: ProcCounterBinding,
amount: u32,
) -> u32;
fn advance_proc_counter_by(
&mut self,
binding: ProcCounterBinding,
amount: u32,
threshold: u32,
) -> bool;
fn advance_proc_counter(
&mut self,
binding: ProcCounterBinding,
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_system_rppm(&mut self, binding: SystemRppmBinding) -> bool
fn proc_category_ready(&self, binding: ProcCategoryBinding) -> bool
fn start_proc_category_cooldown(&mut self, binding: ProcCategoryBinding)
fn roll_accumulating_proc( &mut self, binding: ProcCounterBinding, chance_per_attempt: f64, ) -> bool
fn roll_attempt_proc( &mut self, binding: ProcCounterBinding, chance_for_attempt: impl FnOnce(u32) -> f64, ) -> bool
fn add_proc_counter(&mut self, binding: ProcCounterBinding, amount: u32) -> u32
fn reset_proc_counter(&mut self, binding: ProcCounterBinding)
fn proc_counter(&self, binding: ProcCounterBinding) -> u32
fn mark_proc_flags_once( &mut self, binding: ProcCounterBinding, flags: u32, ) -> bool
fn consume_proc_counter( &mut self, binding: ProcCounterBinding, amount: u32, ) -> u32
fn advance_proc_counter_by( &mut self, binding: ProcCounterBinding, amount: u32, threshold: u32, ) -> bool
fn advance_proc_counter( &mut self, binding: ProcCounterBinding, 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.