pub struct EnemyScaler;Expand description
Scales enemy stats based on floor depth and corruption.
Implementations§
Source§impl EnemyScaler
impl EnemyScaler
Sourcepub fn scale_enemy(base: &BaseStats, floor: u32, corruption: u32) -> ScaledStats
pub fn scale_enemy(base: &BaseStats, floor: u32, corruption: u32) -> ScaledStats
Scale base stats for a given floor and corruption level.
- HP scales: base * (1.0 + floor * 0.08)
- Damage scales: base * (1.0 + floor * 0.05)
- Corruption adds +1% per 10 corruption to all stats
- Every 10 floors: enemies gain a new ability
- Every 25 floors: new enemy types unlock
- Floor 50+: elite variants
Sourcepub fn ability_count(floor: u32) -> u32
pub fn ability_count(floor: u32) -> u32
Determine how many abilities an enemy should have based on floor.
Sourcepub fn new_types_unlocked(floor: u32) -> bool
pub fn new_types_unlocked(floor: u32) -> bool
Determine if new enemy types are unlocked at this floor.
Auto Trait Implementations§
impl Freeze for EnemyScaler
impl RefUnwindSafe for EnemyScaler
impl Send for EnemyScaler
impl Sync for EnemyScaler
impl Unpin for EnemyScaler
impl UnsafeUnpin for EnemyScaler
impl UnwindSafe for EnemyScaler
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> 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.