| summaryrefslogtreecommitdiff | 
diff options
| author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2019-02-18 22:07:17 +0100 | 
|---|---|---|
| committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2019-02-18 22:07:17 +0100 | 
| commit | 4009cbf1320de13dc926be8d3399edb47d871769 (patch) | |
| tree | f9e104bc9ab71c80debde404c79febbd9b8387a7 /src | |
| parent | d12d6328f1001552ad8ce0f44bc1271eeb94ddbb (diff) | |
...
Diffstat (limited to 'src')
| -rw-r--r-- | src/battle/query/btl_load.erl | 2 | ||||
| -rw-r--r-- | src/map/query/map_load.erl | 9 | ||||
| -rw-r--r-- | src/shared/reply/shr_set_map.erl | 31 | 
3 files changed, 33 insertions, 9 deletions
| diff --git a/src/battle/query/btl_load.erl b/src/battle/query/btl_load.erl index 7748c68..107419f 100644 --- a/src/battle/query/btl_load.erl +++ b/src/battle/query/btl_load.erl @@ -80,6 +80,7 @@ fetch_data (Input) ->  -spec generate_reply(query_state(), input()) -> binary().  generate_reply (QueryState, Input) ->     PlayerID = Input#input.player_id, +   PUser = ataxia_security:user_from_id(PlayerID),     Battle = QueryState#query_state.battle,     Players = btl_battle:get_players(Battle), @@ -103,6 +104,7 @@ generate_reply (QueryState, Input) ->     SetMap =        shr_set_map:generate        ( +         PUser,           fun (_TriggerName) -> false end,           btl_battle:get_map(Battle)        ), diff --git a/src/map/query/map_load.erl b/src/map/query/map_load.erl index 19facf6..b07ffe8 100644 --- a/src/map/query/map_load.erl +++ b/src/map/query/map_load.erl @@ -76,11 +76,12 @@ fetch_data (Input) ->        map = Map     }. --spec generate_reply(query_state()) -> binary(). -generate_reply (QueryState) -> +-spec generate_reply (input(), query_state()) -> binary(). +generate_reply (Input, QueryState) -> +   PUser = ataxia_security:user_from_id(Input#input.player_id),     Map = QueryState#query_state.map, -   SetMap = shr_set_map:generate(fun (_TriggerName) -> true end, Map), +   SetMap = shr_set_map:generate(PUser, fun (_TriggerName) -> true end, Map),     Output = jiffy:encode([SetMap]),     Output. @@ -93,7 +94,7 @@ handle (Query) ->           shr_security:lock_queries(Input#input.player_id),           QueryState = fetch_data(Input),           shr_security:unlock_queries(Input#input.player_id), -         generate_reply(QueryState); +         generate_reply(Input, QueryState);        error -> jiffy:encode([shr_disconnected:generate()])     end. diff --git a/src/shared/reply/shr_set_map.erl b/src/shared/reply/shr_set_map.erl index 0096b52..2e10c2e 100644 --- a/src/shared/reply/shr_set_map.erl +++ b/src/shared/reply/shr_set_map.erl @@ -7,7 +7,7 @@  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --export([generate/2]). +-export([generate/3]).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -18,11 +18,12 @@  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  -spec generate     ( +      ataxia_security:user(),        fun ((shr_tile_instance:trigger_name()) -> boolean()),        shr_map:type()     )     -> {list(any())}. -generate (TriggerVisibilityFun, Map) -> +generate (User, TriggerVisibilityFun, Map) ->     {        [           {<<"msg">>, <<"set_map">>}, @@ -32,11 +33,31 @@ generate (TriggerVisibilityFun, Map) ->              <<"t">>,              lists:map              ( -               fun (E) -> -                  shr_tile_instance:encode(TriggerVisibilityFun, E) -               end, +               fun (E) -> shr_tile_instance:encode(TriggerVisibilityFun, E) end,                 tuple_to_list(shr_map:get_tile_instances(Map))              ) +         }, +         { +            <<"m">>, +            lists:filtermap +            ( +               fun ({Key, Value}) -> +                  case shr_map_marker:can_access(User, Value) of +                     true -> +                        { +                           true, +                           { +                              [ +                                 { Key, shr_map_marker:encode(Value) } +                              ] +                           } +                        }; + +                     false -> false +                  end +               end, +               shr_map:get_markers(Map) +            )           }        ]     }. | 


