pub struct AbilityInfo {
pub damage: Option<f64>,
pub dot: Option<f64>,
pub hot: Option<f64>,
pub effect_duration: Option<f64>,
pub duration: Option<i64>,
pub crit_chance_bonus: Option<f64>,
pub vampiric: Option<f64>,
pub projectiles: Option<i64>,
pub max_targets: Option<i64>,
}Expand description
The typed result of the per-ability ability_info(level) closures. Each
struct holds every key that appears across the 18 bespoke ability infos, with
None for keys a given ability does not set.
PartialEq + Serialize so it can be diffed/logged if ever surfaced directly.
The downstream description_values fn reads individual fields, computing
floor(ability_info.<field> * 100).
Fields§
§damage: Option<f64>damage — instant damage component. Present on all damage abilities.
dot: Option<f64>dot — damage-over-time component.
hot: Option<f64>hot — heal-over-time component.
effect_duration: Option<f64>effect_duration — buff/debuff duration (seconds), from
balance::effect_duration.
duration: Option<i64>duration — integer tick/second duration literal.
crit_chance_bonus: Option<f64>crit_chance_bonus — added crit chance (fraction).
vampiric: Option<f64>vampiric — life-steal fraction.
projectiles: Option<i64>projectiles — projectile count (integer).
max_targets: Option<i64>max_targets — AoE cap (from the ability template config field). None
= unlimited; the band/cone AoE behaviors take the first N band-eligible
targets in deterministic order.
Implementations§
Source§impl AbilityInfo
impl AbilityInfo
Sourcepub fn apply_stone_mods(&mut self, mods: &AbilityStoneMods)
pub fn apply_stone_mods(&mut self, mods: &AbilityStoneMods)
Rescales the ability’s numbers by the stones active on it. Damage-like keys share one multiplier, applied-effect durations share another, and the AoE cap grows by the socketed target bonus. The multipliers are identity when nothing is socketed, so a stoneless character reads exactly the config numbers.
Trait Implementations§
Source§impl Clone for AbilityInfo
impl Clone for AbilityInfo
Source§fn clone(&self) -> AbilityInfo
fn clone(&self) -> AbilityInfo
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AbilityInfo
impl Debug for AbilityInfo
Source§impl PartialEq for AbilityInfo
impl PartialEq for AbilityInfo
Source§impl Serialize for AbilityInfo
impl Serialize for AbilityInfo
impl StructuralPartialEq for AbilityInfo
Auto Trait Implementations§
impl Freeze for AbilityInfo
impl RefUnwindSafe for AbilityInfo
impl Send for AbilityInfo
impl Sync for AbilityInfo
impl Unpin for AbilityInfo
impl UnwindSafe for AbilityInfo
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].