antisplice-0.12.3.0: An engine for text-based dungeons.

Safe HaskellNone

Game.Antisplice.Action

Description

Provides brick-by-brick composition for general actions, which may be used for skills and gates.

Synopsis

Documentation

class IsAction a whereSource

A typeclass for all action types carrying an execution condition.

Methods

(#&&) :: a -> a -> aSource

Conjunction _with_ short evaluation.

(#||) :: a -> a -> aSource

Disjunction _with_ short evaulation.

(!&&) :: a -> a -> aSource

Conjunction _without_ short evaluation.

(!||) :: a -> a -> aSource

Disjunction _without_ short evaluation.

data Action Source

A general action, which may be used for skills and gates.

Constructors

Action 

newtype ActionAfter Source

An action that is run after a specific event.

Constructors

ActionAfter 

newtype ActionBefore Source

An action that is run before a specific event.

Constructors

ActionBefore 

consumeCurrencyA :: CurrencyId -> Int -> ActionSource

Use for actions that consume a given currency.

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.