summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/reply/add_char.erl')
-rw-r--r--src/reply/add_char.erl31
1 files changed, 23 insertions, 8 deletions
diff --git a/src/reply/add_char.erl b/src/reply/add_char.erl
index 42c3359..8518372 100644
--- a/src/reply/add_char.erl
+++ b/src/reply/add_char.erl
@@ -7,7 +7,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--export([generate/2]).
+-export([generate/3]).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -29,12 +29,19 @@ attributes_as_json (Attributes) ->
]
}.
--spec encode (non_neg_integer(), character_instance:struct()) -> binary().
-encode (IX, CharacterInstance) ->
+-spec encode
+ (
+ non_neg_integer(),
+ character_instance:struct(),
+ player:id()
+ )
+ -> binary().
+encode (IX, CharacterInstance, PlayerID) ->
Character = character_instance:get_character(CharacterInstance),
{X, Y} = character_instance:get_location(CharacterInstance),
Attributes = character:get_attributes(Character),
{ActiveWeapon, SecondaryWeapon} = character:get_weapon_ids(Character),
+ OwnerID = character:get_owner_id(Character),
jiffy:encode
(
@@ -50,8 +57,15 @@ encode (IX, CharacterInstance) ->
},
{<<"lcx">>, X},
{<<"lcy">>, Y},
- {<<"pla">>, character:get_owner_id(Character)},
- {<<"ena">>, character_instance:get_is_active(CharacterInstance)},
+ {<<"pla">>, OwnerID},
+ {
+ <<"ena">>,
+ (
+ character_instance:get_is_active(CharacterInstance)
+ and
+ (OwnerID == PlayerID)
+ )
+ },
{<<"att">>, attributes_as_json(Attributes)},
{<<"awp">>, ActiveWeapon},
{<<"swp">>, SecondaryWeapon}
@@ -65,8 +79,9 @@ encode (IX, CharacterInstance) ->
-spec generate
(
non_neg_integer(),
- character_instance:struct()
+ character_instance:struct(),
+ player:id()
)
-> list(binary()).
-generate (IX, CharacterInstance) ->
- [<<"add_char">>, encode(IX, CharacterInstance)].
+generate (IX, CharacterInstance, PlayerID) ->
+ [<<"add_char">>, encode(IX, CharacterInstance, PlayerID)].