Current section
Files
Jump to
Current section
Files
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