summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2018-02-24 21:33:47 +0100
committernsensfel <SpamShield0@noot-noot.org>2018-02-24 21:33:47 +0100
commitef693352acedaf00cc1b216d85cd08d32a7ae265 (patch)
treeaedcf952743f0af1ce02431709b2012a107f8a8f /src
parent114dc835cb90a82bde298367df7848499a73dc1c (diff)
...
Diffstat (limited to 'src')
-rw-r--r--src/query/load_state.erl36
-rw-r--r--src/reply/add_char.erl57
-rw-r--r--src/reply/set_map.erl6
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))}
]
}
).