pub struct ItemDefinition {Show 35 fields
pub id: u64,
pub name: String,
pub description: String,
pub flavor_text: String,
pub category: ItemCategory,
pub rarity: Rarity,
pub icon_path: String,
pub model_path: String,
pub weight: f32,
pub volume: f32,
pub width: u8,
pub height: u8,
pub stack_size: u32,
pub durability_max: f32,
pub damage_ranges: Vec<DamageRange>,
pub attack_speed: f32,
pub range: f32,
pub armor_values: ArmorValues,
pub crit_chance: f32,
pub crit_multiplier: f32,
pub life_on_hit: f32,
pub mana_on_hit: f32,
pub item_level: u32,
pub required_level: u32,
pub base_price: u64,
pub sell_price_ratio: f32,
pub vendor_category: Option<String>,
pub bind_on_pickup: bool,
pub implicit_modifiers: Vec<StatModifier>,
pub explicit_modifiers: Vec<StatModifier>,
pub requirements: ItemRequirements,
pub set_id: Option<u64>,
pub unique_effect: Option<String>,
pub loot_filter_tier: u8,
pub drop_sound: String,
}Fields§
§id: u64§name: String§description: String§flavor_text: String§category: ItemCategory§rarity: Rarity§icon_path: String§model_path: String§weight: f32§volume: f32§width: u8§height: u8§stack_size: u32§durability_max: f32§damage_ranges: Vec<DamageRange>§attack_speed: f32§range: f32§armor_values: ArmorValues§crit_chance: f32§crit_multiplier: f32§life_on_hit: f32§mana_on_hit: f32§item_level: u32§required_level: u32§base_price: u64§sell_price_ratio: f32§vendor_category: Option<String>§bind_on_pickup: bool§implicit_modifiers: Vec<StatModifier>§explicit_modifiers: Vec<StatModifier>§requirements: ItemRequirements§set_id: Option<u64>§unique_effect: Option<String>§loot_filter_tier: u8§drop_sound: StringImplementations§
Source§impl ItemDefinition
impl ItemDefinition
pub fn new(id: u64, name: impl Into<String>, category: ItemCategory) -> Self
pub fn total_damage_per_second(&self) -> f32
pub fn effective_sell_price(&self) -> u64
pub fn rarity_config(&self) -> RarityConfig
pub fn total_stat_budget(&self) -> f32
pub fn validate(&self) -> Vec<String>
Trait Implementations§
Source§impl Clone for ItemDefinition
impl Clone for ItemDefinition
Auto Trait Implementations§
impl Freeze for ItemDefinition
impl RefUnwindSafe for ItemDefinition
impl Send for ItemDefinition
impl Sync for ItemDefinition
impl Unpin for ItemDefinition
impl UnsafeUnpin for ItemDefinition
impl UnwindSafe for ItemDefinition
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.