pub struct DungeonEffectsInternals<'a>(_);
Expand description

Internal functions for battle effect calculations.

Implementations§

source§

impl<'a> DungeonEffectsInternals<'a>

source

pub unsafe fn apply_damage( &mut self, attacker: &mut DungeonEntity, defender: &mut DungeonEntity, damage_data: &mut damage_data, param_4: undefined4, param_5: *mut undefined4, faint_reason: faint_reason ) -> bool

Applies damage to a monster. Displays the damage animation, lowers its health and handles reviving if applicable.

The EU version has some additional checks related to printing fainting messages under specific circumstances.

Returns true if the target fainted (reviving does not count as fainting).

Arguments
  • attacker - The monster that is trying to inflict this status.
  • defender - The monster that is being inflicted with this status.
  • damage_data - Mutable reference to the damage_data struct that contains info about the
  • param_4 - ?
  • param_5 - ?
  • param_6 - ?
Safety

The caller must make sure the undefined params are valid for this function.

source

pub fn try_spawn_enemy_item_drop( &mut self, attacker: &mut DungeonEntity, defender: &mut DungeonEntity )

Determine what item a defeated enemy should drop, if any, then (probably?) spawn that item underneath them.

This function is called at the time when an enemy is defeated from Self::apply_damage.

source

pub fn move_hit_check( &mut self, attacker: &mut DungeonEntity, defender: &mut DungeonEntity, the_move: &Move, use_second_accuracy: bool ) -> bool

Determines if a move used hits or misses the target.

Arguments
  • attacker - The monster that is trying to inflict this status.
  • defender - The monster that is being inflicted with this status.
  • the_move - Reference to move data
  • use_second_accuracy - True if the move’s first accuracy (accuracy1) should be used, false
source

pub unsafe fn execute_move_effect( &mut self, param_1: *mut undefined4, attacker: &mut DungeonEntity, the_move: &Move, param_4: undefined4, param_5: undefined4 )

Handles the effects that happen after a move is used. Includes a loop that is run for each target, multiple ability checks and the giant switch statement that executes the effect of the move used given its ID.

Arguments
  • param_1 - pointer to some struct
  • attacker - attacker pointer
  • the_move - pointer to move data
  • param_4 - ?
  • param_5 - ?
Safety

The caller must make sure the undefined params are valid for this function.

Auto Trait Implementations§

§

impl<'a> RefUnwindSafe for DungeonEffectsInternals<'a>

§

impl<'a> Send for DungeonEffectsInternals<'a>

§

impl<'a> Sync for DungeonEffectsInternals<'a>

§

impl<'a> Unpin for DungeonEffectsInternals<'a>

§

impl<'a> !UnwindSafe for DungeonEffectsInternals<'a>

Blanket Implementations§

§

impl<T> Any for Twhere T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Az for T

source§

fn az<Dst>(self) -> Dstwhere T: Cast<Dst>,

Casts the value.
§

impl<T> Borrow<T> for Twhere T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<Src, Dst> CastFrom<Src> for Dstwhere Src: Cast<Dst>,

source§

fn cast_from(src: Src) -> Dst

Casts the value.
source§

impl<T> CheckedAs for T

source§

fn checked_as<Dst>(self) -> Option<Dst>where T: CheckedCast<Dst>,

Casts the value.
source§

impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere Src: CheckedCast<Dst>,

source§

fn checked_cast_from(src: Src) -> Option<Dst>

Casts the value.
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Into<U> for Twhere U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

source§

impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere Dst: LosslessTryFrom<Src>,

source§

fn lossless_try_into(self) -> Option<Dst>

Performs the conversion.
source§

impl<Src, Dst> LossyInto<Dst> for Srcwhere Dst: LossyFrom<Src>,

source§

fn lossy_into(self) -> Dst

Performs the conversion.
source§

impl<T> OverflowingAs for T

source§

fn overflowing_as<Dst>(self) -> (Dst, bool)where T: OverflowingCast<Dst>,

Casts the value.
source§

impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere Src: OverflowingCast<Dst>,

source§

fn overflowing_cast_from(src: Src) -> (Dst, bool)

Casts the value.
source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> SaturatingAs for T

source§

fn saturating_as<Dst>(self) -> Dstwhere T: SaturatingCast<Dst>,

Casts the value.
source§

impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere Src: SaturatingCast<Dst>,

source§

fn saturating_cast_from(src: Src) -> Dst

Casts the value.
§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> UnwrappedAs for T

source§

fn unwrapped_as<Dst>(self) -> Dstwhere T: UnwrappedCast<Dst>,

Casts the value.
source§

impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere Src: UnwrappedCast<Dst>,

source§

fn unwrapped_cast_from(src: Src) -> Dst

Casts the value.
source§

impl<T> WrappingAs for T

source§

fn wrapping_as<Dst>(self) -> Dstwhere T: WrappingCast<Dst>,

Casts the value.
source§

impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere Src: WrappingCast<Dst>,

source§

fn wrapping_cast_from(src: Src) -> Dst

Casts the value.