HighDiceRoller/icepool

Random pool sizes

HighDiceRoller opened this issue · 1 comments

This could be used for pool-type explosions. Possibly die.explode_pool(outcomes) since applying it to a mixed pool probably won't work well.

Not sure if there is a desirable way to do it for decks---dealing extra cards? Multiple deals from the same deck get even nastier here than they already are.

Possible implementations:

  • A wrapper MultisetGenerator class that decays to individual Pools. It would be nice to do this before the first next_state since then the cache can get hit immediately. This may call for an initial_state on generators.
  • Some sort of mixture expression -- would this even be possible? next_state doesn't allow branching here.
  • Allow Pool as an outcome type, then have special evaluator processing for Die of Pools.

This case seems more pool-like than die-like given that ordering is largely arbitrary.

Basic implementation done.