summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2018-12-21 17:23:56 +0100
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2018-12-21 17:23:56 +0100
commita81ff643a823dde57ebd0ed5da8a91fb75d32267 (patch)
treedc7dd9e17bb380d05d446b10e7630db340c5998e /src/battle/query/btl_load.erl
parentc69fe90821bba84c70b020a2504fe4ed63072158 (diff)
Removes any use of arrays.
Diffstat (limited to 'src/battle/query/btl_load.erl')
-rw-r--r--src/battle/query/btl_load.erl38
1 files changed, 23 insertions, 15 deletions
diff --git a/src/battle/query/btl_load.erl b/src/battle/query/btl_load.erl
index 64e9354..7c7d4ab 100644
--- a/src/battle/query/btl_load.erl
+++ b/src/battle/query/btl_load.erl
@@ -85,13 +85,13 @@ generate_reply (QueryState, Input) ->
Battle = QueryState#query_state.battle,
Players = btl_battle:get_players(Battle),
- PlayerIX =
- shr_array_util:first
+ {value, {PlayerIX, _Player}} =
+ shr_lists_util:search
(
- fun (Player) ->
+ fun ({_PlayerIX, Player}) ->
(btl_player:get_id(Player) == PlayerID)
end,
- Players
+ orddict:to_list(Players)
),
true = (PlayerIX >= 0),
@@ -105,15 +105,21 @@ generate_reply (QueryState, Input) ->
SetMap = btl_set_map:generate(btl_battle:get_map(Battle)),
AddCharList =
- array:sparse_to_list
+ lists:map
+ (
+ fun ({IX, Character}) ->
+ btl_add_char:generate(IX, Character, PlayerIX)
+ end,
+ orddict:to_list(btl_battle:get_characters(Battle))
+ ),
+
+ AddPortraitList =
+ lists:map
(
- array:map
- (
- fun (IX, Character) ->
- btl_add_char:generate(IX, Character, PlayerIX)
- end,
- btl_battle:get_characters(Battle)
- )
+ fun (PortraitID) ->
+ btl_add_portrait:generate(shr_portrait:from_id(PortraitID))
+ end,
+ ordsets:to_list(btl_battle:get_used_portrait_ids(Battle))
),
AddWeaponList =
@@ -122,7 +128,7 @@ generate_reply (QueryState, Input) ->
fun (WeaponID) ->
btl_add_weapon:generate(shr_weapon:from_id(WeaponID))
end,
- btl_battle:get_used_weapon_ids(Battle)
+ ordsets:to_list(btl_battle:get_used_weapon_ids(Battle))
),
AddArmorList =
@@ -131,7 +137,7 @@ generate_reply (QueryState, Input) ->
fun (ArmorID) ->
btl_add_armor:generate(shr_armor:from_id(ArmorID))
end,
- btl_battle:get_used_armor_ids(Battle)
+ ordsets:to_list(btl_battle:get_used_armor_ids(Battle))
),
AddTileList =
@@ -140,16 +146,18 @@ generate_reply (QueryState, Input) ->
fun (TileClassID) ->
btl_add_tile:generate(shr_tile:from_class_id(TileClassID))
end,
- btl_battle:get_used_tile_ids(Battle)
+ ordsets:to_list(btl_battle:get_used_tile_ids(Battle))
),
OutputList =
(
AddTileList
++ [SetTimeline, SetMap | AddWeaponList]
+ ++ AddPortraitList
++ AddArmorList
++ AddCharList
),
+
Output = jiffy:encode(OutputList),
Output.