| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'src/battlemap')
| -rw-r--r-- | src/battlemap/query/bm_load_state.erl | 58 | ||||
| -rw-r--r-- | src/battlemap/reply/bm_add_char.erl | 3 | 
2 files changed, 42 insertions, 19 deletions
| diff --git a/src/battlemap/query/bm_load_state.erl b/src/battlemap/query/bm_load_state.erl index 4af2385..9234dff 100644 --- a/src/battlemap/query/bm_load_state.erl +++ b/src/battlemap/query/bm_load_state.erl @@ -64,27 +64,49 @@ fetch_data (Input) ->  generate_reply (QueryState, Input) ->     PlayerID = Input#input.player_id,     Battle = QueryState#query_state.battle, +   SetTimeline = +      bm_set_timeline:generate +      ( +         bm_battle:get_encoded_last_turns_effects(Battle) +      ), -   jiffy:encode -   ( -      [ -         bm_set_timeline:generate -         ( -            bm_battle:get_encoded_last_turns_effects(Battle) -         ), -         bm_set_map:generate(bm_battle:get_battlemap(Battle)) -         | -         array:sparse_to_list +   SetMap = bm_set_map:generate(bm_battle:get_battlemap(Battle)), + +   AddCharList = +      array:sparse_to_list +      ( +         array:map           ( -            array:map -            ( -               fun (IX, Character) -> -                  bm_add_char:generate(IX, Character, PlayerID) -               end, -               bm_battle:get_characters(Battle) -            ) +            fun (IX, Character) -> +               bm_add_char:generate(IX, Character, PlayerID) +            end, +            bm_battle:get_characters(Battle)           ) -      ] +      ), + +   AddWeaponList = +      lists:map +      ( +         fun (WeaponID) -> +            bm_add_weapon:generate(sh_weapon:from_id(WeaponID)) +         end, +         bm_battle:get_used_weapon_ids(Battle) +      ), + +   AddArmorList = +      lists:map +      ( +         fun (ArmorID) -> +            bm_add_armor:generate(sh_armor:from_id(ArmorID)) +         end, +         bm_battle:get_used_armor_ids(Battle) +      ), + +   jiffy:encode +   ( +      [SetTimeline, SetMap | AddWeaponList] +      ++ AddArmorList +      ++ AddCharList     ).  -spec handle (binary()) -> binary(). diff --git a/src/battlemap/reply/bm_add_char.erl b/src/battlemap/reply/bm_add_char.erl index d6f5965..227c93a 100644 --- a/src/battlemap/reply/bm_add_char.erl +++ b/src/battlemap/reply/bm_add_char.erl @@ -73,6 +73,7 @@ generate (IX, Character, PlayerID) ->           },           {<<"att">>, attributes_as_json(Attributes)},           {<<"awp">>, ActiveWeapon}, -         {<<"swp">>, SecondaryWeapon} +         {<<"swp">>, SecondaryWeapon}, +         {<<"ar">>, bm_character:get_armor_id(Character)}        ]     }. | 


