Skip to main content

MoveTarget

Enum MoveTarget 

Source
pub enum MoveTarget {
Show 16 variants AdjacentAlly, AdjacentAllyOrUser, AdjacentFoe, All, AllAdjacent, AllAdjacentFoes, Allies, AllySide, AllyTeam, Any, Field, FoeSide, Normal, RandomNormal, Scripted, User,
}
Expand description

The acceptable target(s) of a move.

In this enum, the following terms are used:

  • “Adjacent” = A reachable Mon.
  • “Ally” - A Mon on the same side.
  • “Foe” - A Mon on the opposite side.
  • “Side” - The side of a battle, not any particular Mon on that side.
  • “Team” - All unfainted Mons on a team.
  • “User” - The user of a move.

Variants§

§

AdjacentAlly

An adjacent ally.

§

AdjacentAllyOrUser

The user or its ally.

§

AdjacentFoe

An adjacent foe.

§

All

All Mons at once.

§

AllAdjacent

All adjacent mons (including allies).

§

AllAdjacentFoes

All adjacent foes.

Also known as a spread move.

§

Allies

All active Mons on the user’s team.

§

AllySide

The user’s side.

§

AllyTeam

All unfainted Mons on the user’s team.

§

Any

Any other active Mon.

§

Field

The field.

§

FoeSide

The foe’s side.

§

Normal

One adjacent Mon of the user’s choice.

Could also be called “Adjacent.”

§

RandomNormal

Any adjacent foe chosen at random.

§

Scripted

The for that damaged the user.

§

User

The user of the move.

Implementations§

Source§

impl MoveTarget

Source

pub fn choosable(&self) -> bool

Is the move target choosable?

Source

pub fn requires_target(&self) -> bool

Does the move require a single target?

Source

pub fn has_single_target(&self) -> bool

Does the move have a single target?

Source

pub fn affects_mons_directly(&self) -> bool

Does the move affect Mons directly?

Source

pub fn can_target_user(&self) -> bool

Can the move target the user?

Source

pub fn can_target_foes(&self) -> bool

Can the move target foes?

Source

pub fn is_adjacent_only(&self) -> bool

Can the move only target adjacent Mons?

Source

pub fn is_random(&self) -> bool

Is the target randomly selected?

Source

pub fn valid_target(&self, relative_target: isize, adjacency_reach: u8) -> bool

Validates the relative target position.

Source

pub fn is_affected(&self, relative_target: isize, adjacency_reach: u8) -> bool

Checks if the Mon at the relative target is affected by the move.

Trait Implementations§

Source§

impl Clone for MoveTarget

Source§

fn clone(&self) -> MoveTarget

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for MoveTarget

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for MoveTarget

Source§

fn default() -> MoveTarget

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for MoveTarget

Source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Display for MoveTarget

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl FromStr for MoveTarget

Source§

type Err = String

The associated error which can be returned from parsing.
Source§

fn from_str(s: &str) -> Result<Self, Self::Err>

Parses a string s to return a value of this type. Read more
Source§

impl Hash for MoveTarget

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for MoveTarget

Source§

fn eq(&self, other: &MoveTarget) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for MoveTarget

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Copy for MoveTarget

Source§

impl Eq for MoveTarget

Source§

impl StructuralPartialEq for MoveTarget

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

Source§

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<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

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

Source§

type Error = Infallible

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

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

Performs the conversion.
Source§

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

Source§

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

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

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

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,