pub struct AbilityStoneMods {Show 19 fields
pub damage_mult: f64,
pub mana_cost_mult: f64,
pub cooldown_mult: f64,
pub cast_time_mult: f64,
pub effect_duration_mult: f64,
pub coverage_mult: f64,
pub extra_targets: i64,
pub condense: bool,
pub crit_chance_bonus: f64,
pub missing_mana_damage_per_10pct: f64,
pub split: DerivedCopies,
pub chain: DerivedCopies,
pub pierce: DerivedCopies,
pub repeat: DerivedCopies,
pub pulse: DerivedCopies,
pub leech_fraction: f64,
pub guard_next_hit: f64,
pub incoming_damage_reduction: f64,
pub incoming_damage_reduction_ms: u64,
}Expand description
Aggregated numeric modifiers of the stones ACTIVE on one ability — the two
sockets whose side matches the currently active crate::flip::WorldSide.
Fields§
§damage_mult: f64Multiplier on every damage component.
mana_cost_mult: f64Multiplier on the mana cost.
cooldown_mult: f64Multiplier on the cooldown.
cast_time_mult: f64Multiplier on the cast’s delay + animation occupation.
effect_duration_mult: f64Multiplier on applied-effect duration.
coverage_mult: f64Multiplier on the AoE target cap.
extra_targets: i64Extra AoE targets (additive, applied after coverage_mult).
condense: boolCoverage collapses to a single target and copies fold into it.
crit_chance_bonus: f64Added crit chance, as a fraction (0.25 = +25 percent points).
missing_mana_damage_per_10pct: f64Extra damage fraction per 10% of missing mana.
split: DerivedCopiesExtra instant copies on the same target (Split).
chain: DerivedCopiesExtra jumps to further targets (Chain).
pierce: DerivedCopiesExtra pierced targets with cumulative falloff (Pierce).
repeat: DerivedCopiesDelayed derived repeats of the whole cast (Repeat).
pulse: DerivedCopiesExtra delayed pulses of the cast (Pulse). The original cast is pulse #1,
so count here is the number of EXTRA pulses.
leech_fraction: f64Share of the final damage that heals the caster (Leech).
guard_next_hit: f64Damage reduction of the next incoming hit (Fortify), as a fraction.
incoming_damage_reduction: f64Incoming-damage reduction after the cast (Shelter), as a fraction.
incoming_damage_reduction_ms: u64How long the Shelter window lasts, in ms.
Implementations§
Source§impl AbilityStoneMods
impl AbilityStoneMods
pub fn is_identity(&self) -> bool
Sourcepub fn has_instant_copies(&self) -> bool
pub fn has_instant_copies(&self) -> bool
Whether any op produces extra hits that resolve at the attack seam (Split / Chain / Pierce).
Sourcepub fn has_delayed_copies(&self) -> bool
pub fn has_delayed_copies(&self) -> bool
Whether any op produces hits that resolve on a later tick (Repeat / Pulse).
Sourcepub fn apply(&mut self, op: &AbilityStoneOp, value: f64)
pub fn apply(&mut self, op: &AbilityStoneOp, value: f64)
Folds one op in. Percent reductions are clamped so a stack of stones can never invert a cost or a cooldown.
Sourcepub fn damage_mult_with_mana(&self, missing_mana_fraction: f64) -> f64
pub fn damage_mult_with_mana(&self, missing_mana_fraction: f64) -> f64
Damage multiplier including the missing-mana term (“Отдача”), which is resolved at cast time against the caster’s pool.
Sourcepub fn apply_cooldown(&self, cooldown_ticks: u64) -> u64
pub fn apply_cooldown(&self, cooldown_ticks: u64) -> u64
Cooldown in ticks after the cooldown stones, never shorter than one tick for an ability that has a cooldown at all.
Sourcepub fn apply_mana_cost(&self, mana_cost: f64) -> f64
pub fn apply_mana_cost(&self, mana_cost: f64) -> f64
Mana cost after the mana-cost stones.
Sourcepub fn apply_cast_time(&self, ticks: u64) -> u64
pub fn apply_cast_time(&self, ticks: u64) -> u64
Cast delay / animation occupation after the cast-time stones. A cast that occupied the caster at all keeps occupying it for at least one tick.
Trait Implementations§
Source§impl Clone for AbilityStoneMods
impl Clone for AbilityStoneMods
Source§fn clone(&self) -> AbilityStoneMods
fn clone(&self) -> AbilityStoneMods
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more