antisplice-0.17.0.2: 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 

ands :: (None a, IsAction a) => [a] -> aSource

andl :: (None a, IsAction a) => [a] -> aSource

ors :: (None a, IsAction a) => [a] -> aSource

orl :: (None a, IsAction a) => [a] -> aSource

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 :: ChCounter m => Integer -> m ActionSource

Use for actions that require a cooldown time.

implyGlobalCooldownA :: ActionSource

Use for actions that suffer from global cooldown.