[−][src]Struct critfail::Damage
A list of dice to roll and modifiers to add, usually used for damage.
use critfail::{RollExpression, Damage}; let damage = Damage::new("2d8+1").unwrap(); let outcome = damage.roll(); print!("{}", outcome); // Prints something like "11" print!("{:?}", outcome); // Prints something like "[2+5]+4"
Implementations
impl Damage
[src]
pub fn crit_roll(&self) -> DamageOutcome
[src]
Roll this Damage
as though it were a critical hit.
This rolls all the positive dice in the Damage
twice.
Modifiers and dice with negative values are only counted once.
use critfail::{RollExpression, Damage}; let damage = Damage::new("2d8+3-1d4").unwrap(); let outcome = damage.crit_roll(); // The d8s are rolled twice, the +3 is counted once, and the d4 is rolled once print!("{:?}", damage) // Prints something like "[5+6+4+7]+3-[2]"
pub fn roll_with_check(&self, check: &CheckOutcome) -> DamageOutcome
[src]
Roll for damage, doubling if the check was a critical success.
pub fn roll_with_score(&self, score: CritScore) -> DamageOutcome
[src]
Roll for damage, doubling if the check was a critical success.
Trait Implementations
impl Clone for Damage
[src]
impl Debug for Damage
[src]
impl From<Damage> for Roll
[src]
impl FromStr for Damage
[src]
type Err = ParseError
The associated error which can be returned from parsing.
fn from_str(s: &str) -> Result<Self, Self::Err>
[src]
impl PartialEq<Damage> for Damage
[src]
impl RollExpression for Damage
[src]
type Outcome = DamageOutcome
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
fn roll(&self) -> Self::Outcome
[src]
fn new(expression: &str) -> Result<Self, ParseError>
[src]
impl StructuralPartialEq for Damage
[src]
Auto Trait Implementations
impl RefUnwindSafe for Damage
impl Send for Damage
impl Sync for Damage
impl Unpin for Damage
impl UnwindSafe for Damage
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
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>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
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>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,