Packages

Pure-Elixir tabletop RPG game support and rules modeled on the System Reference Document (SRD) 5.2 with opt-in support for some 5.1 rules.

Current section

Files

Jump to
srd_5e lib srd content condition.ex
Raw

lib/srd/content/condition.ex

defmodule Srd.Content.Condition do
@moduledoc """
An SRD condition.
"""
@enforce_keys [:slug, :name, :effects]
defstruct [:slug, :name, :effects]
@typedoc """
An SRD condition:
* `:slug` - stable identifier used for lookup
* `:name` - display name
* `:effects` - the condition's effects, one statement per entry
"""
@type t :: %__MODULE__{
slug: String.t(),
name: String.t(),
effects: [String.t()]
}
@doc false
@spec new(map()) :: t()
def new(data) do
%__MODULE__{slug: data.slug, name: data.name, effects: data.effects}
end
end