From 9b413bc5936994b66f3a1c693fbbfad0995c0b93 Mon Sep 17 00:00:00 2001 From: nsensfel Date: Wed, 28 Feb 2018 18:48:01 +0100 Subject: Fixes wrong characters being seen as enabled. --- src/reply/add_char.erl | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) (limited to 'src/reply/add_char.erl') 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)]. -- cgit v1.2.3-70-g09d2