summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2018-06-28 18:31:12 +0200
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2018-06-28 18:31:12 +0200
commit47ff1d1dc4eb3d7fb7434ec0c27ea2272e1f00fe (patch)
tree3b189ffeae6c9896370014af8afa30907ee37d79 /src/battlemap/struct/bm_character.erl
parent4bfd807241c611b9a41ff87b1b5ee4cb8f5b181e (diff)
Adds ranks, starting work on victory/defeat...
Diffstat (limited to 'src/battlemap/struct/bm_character.erl')
-rw-r--r--src/battlemap/struct/bm_character.erl13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/battlemap/struct/bm_character.erl b/src/battlemap/struct/bm_character.erl
index 1fbd3b1..41c0fb4 100644
--- a/src/battlemap/struct/bm_character.erl
+++ b/src/battlemap/struct/bm_character.erl
@@ -4,6 +4,7 @@
%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-type id() :: non_neg_integer().
+-type rank() :: ('optional' | 'target' | 'commander').
-record
(
@@ -12,6 +13,7 @@
id :: id(),
owner_id :: bm_player:id(),
name :: binary(),
+ rank :: rank(),
icon :: binary(),
portrait :: binary(),
attributes :: sh_attributes:type(),
@@ -26,7 +28,7 @@
-opaque type() :: #character{}.
--export_type([type/0, id/0]).
+-export_type([type/0, rank/0, id/0]).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -37,6 +39,7 @@
get_id/1,
get_owner_id/1,
get_name/1,
+ get_rank/1,
get_icon/1,
get_portrait/1,
get_attributes/1,
@@ -111,6 +114,9 @@ get_owner_id (Char) -> Char#character.owner_id.
-spec get_name (type()) -> binary().
get_name (Char) -> Char#character.name.
+-spec get_rank (type()) -> rank().
+get_rank (Char) -> Char#character.rank.
+
-spec get_icon (type()) -> binary().
get_icon (Char) -> Char#character.icon.
@@ -224,6 +230,11 @@ random (ID, OwnerID, BattlemapWidth, BattlemapHeight, ForbiddenLocations) ->
id = ID,
owner_id = OwnerID,
name = list_to_binary("Char" ++ IDAsListString),
+ rank =
+ if
+ ((ID rem 8) == 0) -> commander;
+ true -> optional
+ end,
icon = IDAsBinaryString,
portrait = IDAsBinaryString,
attributes = Attributes,