| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'src/struct/character.erl')
| -rw-r--r-- | src/struct/character.erl | 57 | 
1 files changed, 48 insertions, 9 deletions
| diff --git a/src/struct/character.erl b/src/struct/character.erl index 90e449c..3ee9a31 100644 --- a/src/struct/character.erl +++ b/src/struct/character.erl @@ -3,22 +3,27 @@  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-opaque id() :: integer(). +  -record  (     character,     { -      id, -      owner_id, -      name, -      icon, -      portrait, -      attributes, -      statistics, -      glyphs, -      weapon_ids +      id :: id(), +      owner_id :: player:id(), +      name :: binary(), +      icon :: binary(), +      portrait :: binary(), +      attributes :: attributes:struct(), +      statistics :: statistics:struct(), +      glyphs :: list(glyph:id()), +      weapon_ids :: {weapon:id(), weapon:id()}     }  ). +-opaque struct() :: #character{}. + +-export_type([struct/0, id/0]).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -56,29 +61,63 @@  %% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%% Accessors +-spec get_id (struct()) -> id().  get_id (Char) -> Char#character.id. + +-spec get_owner_id (struct()) -> player:id().  get_owner_id (Char) -> Char#character.owner_id. + +-spec get_name (struct()) -> binary().  get_name (Char) -> Char#character.name. + +-spec get_icon (struct()) -> binary().  get_icon (Char) -> Char#character.icon. + +-spec get_portrait (struct()) -> binary().  get_portrait (Char) -> Char#character.portrait. + +-spec get_attributes (struct()) -> attributes:struct().  get_attributes (Char) -> Char#character.attributes. + +-spec get_weapon_ids (struct()) -> {weapon:id(), weapon:id()}.  get_weapon_ids (Char) -> Char#character.weapon_ids. + +-spec get_glyphs (struct()) -> list(glyph:id()).  get_glyphs (Char) -> Char#character.glyphs. +-spec get_statistics (struct()) -> statistics:struct().  get_statistics (Char) -> Char#character.statistics. +-spec set_weapon_ids +   ( +      {weapon:id(), weapon:id()}, +      struct() +   ) +   -> struct().  set_weapon_ids (WeaponIDs, Char) ->     Char#character     {        weapon_ids = WeaponIDs     }. +-spec set_statistics +   ( +      statistics:struct(), +      struct() +   ) +   -> struct().  set_statistics (Stats, Char) ->     Char#character     {        statistics = Stats     }. +-spec random +   ( +      id(), +      player:id() +   ) +   -> struct().  random (ID, OwnerID) ->     WeaponIDs = {weapon:random_id(), weapon:random_id()},     Attributes = attributes:random(), | 


