From ef693352acedaf00cc1b216d85cd08d32a7ae265 Mon Sep 17 00:00:00 2001 From: nsensfel Date: Sat, 24 Feb 2018 21:33:47 +0100 Subject: ... --- src/query/load_state.erl | 36 ++++-------------------------- src/reply/add_char.erl | 57 +++++++++++++++++++++++++----------------------- src/reply/set_map.erl | 6 ++--- 3 files changed, 37 insertions(+), 62 deletions(-) diff --git a/src/query/load_state.erl b/src/query/load_state.erl index 9c88782..4f0b484 100644 --- a/src/query/load_state.erl +++ b/src/query/load_state.erl @@ -77,40 +77,12 @@ handle (Req) -> Input = parse_input(Req), security:assert_identity(Input#input.player_id, Input#input.session_token), security:lock_queries(Input#input.player_id), - Battlemap = - timed_cache:fetch - ( - battlemap_db, - Input#input.player_id, - Input#input.battlemap_id - ), - BattlemapInstance = - timed_cache:fetch - ( - battlemap_instance_db, - Input#input.player_id, - <<"0">> - ), - Characters = - lists:map - ( - fun ({CharID, CharInst}) -> - { - timed_cache:fetch(character_db, Input#input.player_id, CharID), - CharInst - } - end, - battlemap_instance:list_characters(BattlemapInstance) - ), - %%%% Calc - %%%% Commit - %%%% Reply + QueryState = fetch_data(Input), + security:unlock_queries(Input#input.player_id), generate_reply ( - Battlemap, - BattlemapInstance, - Characters, - Input#input.player_id + QueryState, + Input ). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/src/reply/add_char.erl b/src/reply/add_char.erl index 64fc26c..94ea370 100644 --- a/src/reply/add_char.erl +++ b/src/reply/add_char.erl @@ -12,40 +12,43 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -attributes_as_json (Atts) -> +attributes_as_json (Attributes) -> { [ - {<<"con">>, attributes:get_constitution(Atts)}, - {<<"dex">>, attributes:get_dexterity(Atts)}, - {<<"int">>, attributes:get_intelligence(Atts)}, - {<<"min">>, attributes:get_mind(Atts)}, - {<<"spe">>, attributes:get_speed(Atts)}, - {<<"str">>, attributes:get_strength(Atts)} + {<<"con">>, attributes:get_constitution(Attributes)}, + {<<"dex">>, attributes:get_dexterity(Attributes)}, + {<<"int">>, attributes:get_intelligence(Attributes)}, + {<<"min">>, attributes:get_mind(Attributes)}, + {<<"spe">>, attributes:get_speed(Attributes)}, + {<<"str">>, attributes:get_strength(Attributes)} ] }. -encode (Char, CharInstance, IsEnabled) -> - {X, Y} = character_instance:get_location(CharInstance), - Atts = character:get_attributes(Char), - {Wp0, Wp1} = character:get_weapons(Char), - ActWeapon = character_instance:get_active_weapon(CharInstance, Char), +encode (IX, CharacterInstance) -> + Character = character_instance:get_character(CharacterInstance), + {X, Y} = character_instance:get_location(CharacterInstance), + Attributes = character:get_attributes(Char), + {ActiveWeapon, SecondaryWeapon} = character:get_weapons(Char), + jiffy:encode ( { [ - {<<"id">>, character:get_id(Char)}, - {<<"name">>, character:get_name(Char)}, - {<<"icon">>, character:get_icon(Char)}, - {<<"portrait">>, character:get_portrait(Char)}, - {<<"health">>, character_instance:get_current_health(CharInstance)}, - {<<"loc_x">>, X}, - {<<"loc_y">>, Y}, - {<<"team">>, character_instance:get_owner(CharInstance)}, - {<<"enabled">>, IsEnabled}, - {<<"att">>, attributes_as_json(Atts)}, - {<<"wp_0">>, Wp0}, - {<<"wp_1">>, Wp1}, - {<<"act_wp">>, ActWeapon} + {<<"ix">>, IX}, + {<<"nam">>, character:get_name(Character)}, + {<<"ico">>, character:get_icon(Character)}, + {<<"prt">>, character:get_portrait(Character)}, + { + <<"hea">>, + character_instance:get_current_health(CharacterInstance) + }, + {<<"lcx">>, X}, + {<<"lcy">>, Y}, + {<<"tem">>, character:get_owner_id(Character)}, + {<<"ena">>, character_instance:get_is_active(CharacterInstance)}, + {<<"att">>, attributes_as_json(Attributes)}, + {<<"awp">>, ActiveWeapon}, + {<<"swp">>, SecondaryWeapon} ] } ). @@ -53,5 +56,5 @@ encode (Char, CharInstance, IsEnabled) -> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -generate (Char, CharInstance, IsEnabled) -> - [<<"add_char">>, encode(Char, CharInstance, IsEnabled)]. +generate (IX, CharacterInstance) -> + [<<"add_char">>, encode(IX, CharacterInstance)]. diff --git a/src/reply/set_map.erl b/src/reply/set_map.erl index 7def653..ba1ddbb 100644 --- a/src/reply/set_map.erl +++ b/src/reply/set_map.erl @@ -17,9 +17,9 @@ encode (Battlemap) -> ( { [ - {<<"width">>, battlemap:get_width(Battlemap)}, - {<<"height">>, battlemap:get_height(Battlemap)}, - {<<"content">>, battlemap:list_tiles(Battlemap)} + {<<"w">>, battlemap:get_width(Battlemap)}, + {<<"h">>, battlemap:get_height(Battlemap)}, + {<<"t">>, array:to_list(battlemap:list_tiles(Battlemap))} ] } ). -- cgit v1.2.3-70-g09d2