[][src]Struct critfail::Attack

pub struct Attack { /* fields omitted */ }

An attack roll consisting of a check and a damage roll.

use critfail::{RollExpression, Attack};

let atk = Attack::new("r+3?2d8+4").unwrap();

let outcome = atk.roll();

print!("{}", outcome);   // Prints something like "10 ? 13"
print!("{:?}", outcome); // Prints something like "(7)+3 ? [4+5]+4"

Implementations

impl Attack[src]

pub fn roll_with_advantage(&self, adv: AdvState) -> AttackOutcome[src]

Roll this check using adv to override the advantage state.

use critfail::{RollExpression, Attack, AdvState};
let attack = Attack::new("r+3?3d6+4").unwrap();

attack.roll(); // Roll without advantage
attack.roll_with_advantage(AdvState::Advantage); // Roll with advantage
attack.roll_with_advantage(AdvState::Neutral); // Roll without advantage
attack.roll_with_advantage(AdvState::Disadvantage); // Roll with disadvantage

Trait Implementations

impl Clone for Attack[src]

impl Debug for Attack[src]

impl From<Attack> for Roll[src]

impl FromStr for Attack[src]

type Err = ParseError

The associated error which can be returned from parsing.

impl PartialEq<Attack> for Attack[src]

impl RollExpression for Attack[src]

type Outcome = AttackOutcome

The roll result type should implement both Display and Debug. Display should print out a consise result for the roll, and Debug should print out the details (eg the value for each rolled die). Read more

impl StructuralPartialEq for Attack[src]

Auto Trait Implementations

impl RefUnwindSafe for Attack

impl Send for Attack

impl Sync for Attack

impl Unpin for Attack

impl UnwindSafe for Attack

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,