[−][src]Struct critfail::DamageOutcomeBuilder
This is used to create a 'fudged' DamageOutcome
without actually
randomly generating anything.
use critfail::DamageOutcomeBuilder; // To create a result that could come from rolling '2d8+4-1' let outcome = DamageOutcomeBuilder::new() .dice(8, vec![2,6]) .modifier(4) .modifier(-1) .build(); assert_eq!(outcome.score(), 11); assert_eq!( format!("{:?}", outcome), "[2+6]+4-1" );
Implementations
impl DamageOutcomeBuilder
[src]
pub fn new() -> Self
[src]
Create a new DamageOutcomeBuilder
.
pub fn modifier(self, modifier: Score) -> Self
[src]
Add a constant modifier to the roll. This method can be chained multiple times for multiple modifiers.
use critfail::DamageOutcomeBuilder; // To create a result that could come from rolling '2d8+6-4' let outcome = DamageOutcomeBuilder::new() .dice(8, vec![1,6]) .modifier(6) .modifier(-4) .build(); assert_eq!(outcome.score(), 9); assert_eq!( format!("{:?}", outcome), "[1+6]+6-4" );
pub fn dice(self, sides: Sides, scores: Vec<Score>) -> Self
[src]
Add a dice modifier to the roll. This method can be chained
multiple times for multiple modifiers. sides
specifies the die
that was rolled.
use critfail::DamageOutcomeBuilder; // To create a result that could come from rolling '2d6+3d10-1d4' let outcome = DamageOutcomeBuilder::new() .dice(6, vec![5, 1]) .dice(10, vec![4, 9, 2]) .dice(-4, vec![3]) .build(); assert_eq!(outcome.score(), 18); assert_eq!( format!("{:?}", outcome), "[5+1]+[4+9+2]-[3]" );
pub fn build(self) -> DamageOutcome
[src]
Create a DamageOutcome
from this builder.
Trait Implementations
impl Default for DamageOutcomeBuilder
[src]
fn default() -> DamageOutcomeBuilder
[src]
Auto Trait Implementations
impl RefUnwindSafe for DamageOutcomeBuilder
impl Send for DamageOutcomeBuilder
impl Sync for DamageOutcomeBuilder
impl Unpin for DamageOutcomeBuilder
impl UnwindSafe for DamageOutcomeBuilder
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, 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>,