package simulation.dice object Dice { fun regular(rollString: String, modifiers: List> = ArrayList()): DiceRoller { return DiceImpl(rollString, modifiers) } fun critDice(rollString: String, modifiers: List> = ArrayList()): CritDiceRoller { return CritDiceImpl(rollString, modifiers) } fun rerollDice( rollString: String, rerollThreshold: Int, modifiers: List> = ArrayList() ): RerollDiceRoller { return RerollDiceImpl(rollString, rerollThreshold, modifiers) } }