Safe Haskell | None |
---|
Provides brick-by-brick composition for general actions, which may be used for skills and gates.
- class IsAction a where
- data Action = Action {}
- newtype ActionAfter = ActionAfter {}
- newtype ActionBefore = ActionBefore {}
- consumeCurrencyA :: CurrencyId -> Int -> Action
- consumeKindA :: KindId -> Int -> Action
- dealDamageA :: ChattyDungeonM Int -> Action
- implyCooldownA :: MonadCounter m => Integer -> m Action
- implyGlobalCooldownA :: Action
Documentation
A typeclass for all action types carrying an execution condition.
Conjunction _with_ short evaluation.
Disjunction _with_ short evaulation.
Conjunction _without_ short evaluation.
Disjunction _without_ short evaluation.
A general action, which may be used for skills and gates.
newtype ActionAfter Source
An action that is run after a specific event.
newtype ActionBefore Source
An action that is run before a specific event.
consumeCurrencyA :: CurrencyId -> Int -> ActionSource
Use for actions that consume a given currency.
consumeKindA :: KindId -> Int -> ActionSource
Use for actions that consume an object of the given kind.
dealDamageA :: ChattyDungeonM Int -> ActionSource
Deal damage to opponent
implyCooldownA :: MonadCounter m => Integer -> m ActionSource
Use for actions that require a cooldown time.
implyGlobalCooldownA :: ActionSource
Use for actions that suffer from global cooldown.