summaryrefslogtreecommitdiff |
diff options
author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2019-10-20 22:02:46 +0200 |
---|---|---|
committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2019-10-20 22:02:46 +0200 |
commit | c2bff6b098480af6a21bde453494f8ff64219ea7 (patch) | |
tree | 9003b093e3ba47134e94294629960b52e9e1bb9f /src/shared | |
parent | 08fab636c981574a703baffad9ebb52ff4308f17 (diff) |
...
Diffstat (limited to 'src/shared')
-rw-r--r-- | src/shared/struct/inventory/shr_skill.erl.m4 | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/src/shared/struct/inventory/shr_skill.erl.m4 b/src/shared/struct/inventory/shr_skill.erl.m4 new file mode 100644 index 0000000..e1f1a29 --- /dev/null +++ b/src/shared/struct/inventory/shr_skill.erl.m4 @@ -0,0 +1,116 @@ +-module(shr_skill). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-type id() :: binary(). + +-record +( + skill, + { + id :: id(), + module :: atom(), + name :: binary(), + cost :: non_neg_integer(), + reserve :: non_neg_integer(), + targets :: (non_neg_integer() | -1), + locations :: (non_neg_integer() | -1), + duration :: (non_neg_integer() | -1), + uses :: (non_neg_integer() | -1), + chance :: (0..100 | -1), + power :: (non_neg_integer() | -1), + range :: (non_neg_integer() | -1) + } +). + +-opaque type() :: #skill{}. + +-export_type([type/0, id/0]). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%% Accessors +-export +( + [ + get_id/1, + get_module/1, + get_name/1, + get_cost/1, + get_reserve/1, + get_targets/1, + get_locations/1, + get_duration/1, + get_uses/1, + get_chance/1, + get_power/1, + get_range/1 + ] +). + +-export +( + [ + default/0, + default_id/0, + from_id/1 + ] +). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%% Accessors +-spec get_id (type()) -> id(). +get_id (Skill) -> Skill#skill.id. + +-spec get_module (type()) -> atom(). +get_module (Skill) -> Skill#skill.module. + +-spec get_name (type()) -> binary(). +get_name (Skill) -> Skill#skill.name. + +-spec get_cost (type()) -> non_neg_integer(). +get_cost (Skill) -> Skill#skill.cost. + +-spec get_reserve (type()) -> non_neg_integer(). +get_reserve (Skill) -> Skill#skill.reserve. + +-spec get_targets (type()) -> (non_neg_integer() | -1). +get_targets (Skill) -> Skill#skill.targets. + +-spec get_locations (type()) -> (non_neg_integer() | -1). +get_locations (Skill) -> Skill#skill.locations. + +-spec get_duration (type()) -> (non_neg_integer() | -1). +get_duration (Skill) -> Skill#skill.duration. + +-spec get_uses (type()) -> (non_neg_integer() | -1). +get_uses (Skill) -> Skill#skill.uses. + +-spec get_power (type()) -> (non_neg_integer() | -1). +get_power (Skill) -> Skill#skill.power. + +-spec get_chance (type()) -> (0..100 | -1). +get_chance (Skill) -> Skill#skill.chance. + +-spec get_range (type()) -> (non_neg_integer() | -1). +get_range (Skill) -> Skill#skill.range. + +-spec from_id (id()) -> type(). +m4_include(__MAKEFILE_DATA_DIR/skill/global.m4.conf)m4_dnl +m4_include(__MAKEFILE_DATA_DIR/skill/basic.m4d)m4_dnl +from_id (_) -> + default(). + +-spec default () -> type(). +default () -> from_id(<<"0">>). + +-spec default_id () -> id(). +default_id () -> <<"0">>. |