summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/yaws.conf.m44
-rw-r--r--src/battle/btl_handler.erl (renamed from src/battlemap/bm_handler.erl)10
-rw-r--r--src/battle/btl_shim.erl (renamed from src/battlemap/bm_shim.erl)38
-rw-r--r--src/battle/game-logic/btl_movement.erl (renamed from src/battlemap/game-logic/bm_movement.erl)32
-rw-r--r--src/battle/game-logic/btl_next_turn.erl (renamed from src/battlemap/game-logic/bm_next_turn.erl)86
-rw-r--r--src/battle/game-logic/btl_turn_actions.erl (renamed from src/battlemap/game-logic/bm_turn_actions.erl)196
-rw-r--r--src/battle/game-logic/btl_victory.erl (renamed from src/battlemap/game-logic/bm_victory.erl)86
-rw-r--r--src/battle/io/btl_security.erl (renamed from src/battlemap/io/bm_security.erl)2
-rw-r--r--src/battle/query/btl_character_turn.erl282
-rw-r--r--src/battle/query/btl_load_state.erl (renamed from src/battlemap/query/bm_load_state.erl)40
-rw-r--r--src/battle/reply/btl_add_armor.erl (renamed from src/battlemap/reply/bm_add_armor.erl)2
-rw-r--r--src/battle/reply/btl_add_char.erl (renamed from src/battlemap/reply/bm_add_char.erl)32
-rw-r--r--src/battle/reply/btl_add_tile.erl (renamed from src/battlemap/reply/bm_add_tile.erl)14
-rw-r--r--src/battle/reply/btl_add_weapon.erl (renamed from src/battlemap/reply/bm_add_weapon.erl)2
-rw-r--r--src/battle/reply/btl_set_map.erl (renamed from src/battlemap/reply/bm_set_map.erl)10
-rw-r--r--src/battle/reply/btl_set_timeline.erl (renamed from src/battlemap/reply/bm_set_timeline.erl)2
-rw-r--r--src/battle/reply/btl_turn_results.erl (renamed from src/battlemap/reply/bm_turn_results.erl)2
-rw-r--r--src/battle/struct/btl_attack.erl (renamed from src/battlemap/struct/bm_attack.erl)20
-rw-r--r--src/battle/struct/btl_battle.erl (renamed from src/battlemap/struct/bm_battle.erl)52
-rw-r--r--src/battle/struct/btl_battle_action.erl (renamed from src/battlemap/struct/bm_battle_action.erl)8
-rw-r--r--src/battle/struct/btl_battlemap.erl (renamed from src/battlemap/struct/bm_battlemap.erl)12
-rw-r--r--src/battle/struct/btl_character.erl (renamed from src/battlemap/struct/bm_character.erl)2
-rw-r--r--src/battle/struct/btl_character_turn_data.erl (renamed from src/battlemap/struct/bm_character_turn_data.erl)22
-rw-r--r--src/battle/struct/btl_character_turn_request.erl (renamed from src/battlemap/struct/bm_character_turn_request.erl)12
-rw-r--r--src/battle/struct/btl_character_turn_update.erl (renamed from src/battlemap/struct/bm_character_turn_update.erl)14
-rw-r--r--src/battle/struct/btl_direction.erl (renamed from src/battlemap/struct/bm_direction.erl)2
-rw-r--r--src/battle/struct/btl_location.erl (renamed from src/battlemap/struct/bm_location.erl)4
-rw-r--r--src/battle/struct/btl_player.erl (renamed from src/battlemap/struct/bm_player.erl)2
-rw-r--r--src/battle/struct/btl_player_turn.erl (renamed from src/battlemap/struct/bm_player_turn.erl)8
-rw-r--r--src/battle/struct/btl_tile.erl (renamed from src/battlemap/struct/bm_tile.erl)2
-rw-r--r--src/battle/struct/btl_turn_result.erl (renamed from src/battlemap/struct/bm_turn_result.erl)36
-rw-r--r--src/battlemap/query/bm_character_turn.erl282
-rw-r--r--src/query/qry_handler.erl23
33 files changed, 682 insertions, 659 deletions
diff --git a/conf/yaws.conf.m4 b/conf/yaws.conf.m4
index 3f5b36b..abd174e 100644
--- a/conf/yaws.conf.m4
+++ b/conf/yaws.conf.m4
@@ -110,6 +110,6 @@ keepalive_timeout = 30000
listen = 0.0.0.0
docroot = __MAKEFILE_WWW_DIR
auth_log = true
- appmods = bm_character_turn bm_load_state
- start_mod = bm_handler
+ appmods = btl_character_turn btl_load_state
+ start_mod = qry_handler
</server>
diff --git a/src/battlemap/bm_handler.erl b/src/battle/btl_handler.erl
index d355ea1..19b0e20 100644
--- a/src/battlemap/bm_handler.erl
+++ b/src/battle/btl_handler.erl
@@ -1,4 +1,4 @@
--module(bm_handler).
+-module(btl_handler).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -16,8 +16,8 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-start (_YawsParams) ->
- {ok, Pid} = sh_timed_caches_manager:start(),
+-spec start (pid()) -> 'ok'.
+start (TimedCachesManagerPid) ->
case sh_database:fetch(battle_db, <<"0">>) of
{ok, _} -> ok;
not_found ->
@@ -26,8 +26,8 @@ start (_YawsParams) ->
battle_db,
<<"0">>,
any,
- bm_shim:generate_random_battle()
+ btl_shim:generate_random_battle()
)
end,
- sh_timed_caches_manager:new_cache(Pid, battle_db, none),
+ sh_timed_caches_manager:new_cache(TimedCachesManagerPid, battle_db, none),
ok.
diff --git a/src/battlemap/bm_shim.erl b/src/battle/btl_shim.erl
index 67e82bf..07d5854 100644
--- a/src/battlemap/bm_shim.erl
+++ b/src/battle/btl_shim.erl
@@ -1,4 +1,4 @@
--module(bm_shim).
+-module(btl_shim).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -19,11 +19,11 @@
non_neg_integer(),
non_neg_integer(),
non_neg_integer(),
- bm_battlemap:type(),
- list(bm_location:type()),
- list(bm_character:type())
+ btl_battlemap:type(),
+ list(btl_location:type()),
+ list(btl_character:type())
)
- -> list(bm_character:type()).
+ -> list(btl_character:type()).
generate_random_characters
(
0,
@@ -66,17 +66,17 @@ generate_random_characters
Result
) ->
NewCharacter =
- bm_character:random
+ btl_character:random
(
TotalCharacterCount,
MaxPlayerIX,
- bm_battlemap:get_width(Battlemap),
- bm_battlemap:get_height(Battlemap),
+ btl_battlemap:get_width(Battlemap),
+ btl_battlemap:get_height(Battlemap),
ForbiddenLocations
),
Character =
case MaxPlayerIX of
- 0 -> bm_character:set_is_active(true, NewCharacter);
+ 0 -> btl_character:set_is_active(true, NewCharacter);
_ -> NewCharacter
end,
@@ -87,7 +87,7 @@ generate_random_characters
CharactersPerPlayer,
(TotalCharacterCount + 1),
Battlemap,
- [bm_character:get_location(Character)|ForbiddenLocations],
+ [btl_character:get_location(Character)|ForbiddenLocations],
[Character|Result]
).
-spec demo_map () -> list(non_neg_integer()).
@@ -130,21 +130,21 @@ demo_map () ->
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--spec generate_random_battle () -> bm_battle:type().
+-spec generate_random_battle () -> btl_battle:type().
generate_random_battle () ->
%BattlemapWidth = 32, % sh_roll:between(16, 32),
%BattlemapHeight = 32, %sh_roll:between(16, 32),
- %Battlemap = bm_battlemap:random(0, BattlemapWidth, BattlemapHeight),
- Battlemap = bm_battlemap:from_list(0, 32, 32, demo_map()),
+ %Battlemap = btl_battlemap:random(0, BattlemapWidth, BattlemapHeight),
+ Battlemap = btl_battlemap:from_list(0, 32, 32, demo_map()),
Characters = generate_random_characters(1, 8, 8, 0, Battlemap, [], []),
- PlayersAsList = [bm_player:new(0, 8, <<"0">>), bm_player:new(1, 0, <<"1">>)],
+ PlayersAsList = [btl_player:new(0, 8, <<"0">>), btl_player:new(1, 0, <<"1">>)],
{UsedWeaponIDs, UsedArmorIDs} =
lists:foldl
(
fun (Character, {UWIDs, UAIDs}) ->
- {MWpID, SWpID} = bm_character:get_weapon_ids(Character),
- AID = bm_character:get_armor_id(Character),
+ {MWpID, SWpID} = btl_character:get_weapon_ids(Character),
+ AID = btl_character:get_armor_id(Character),
{
sets:add_element(MWpID, sets:add_element(SWpID, UWIDs)),
sets:add_element(AID, UAIDs)
@@ -160,16 +160,16 @@ generate_random_battle () ->
fun (_IX, TileClassID, CurrentTileIDs) ->
sets:add_element
(
- bm_tile:class_id_to_type_id(TileClassID),
+ btl_tile:class_id_to_type_id(TileClassID),
CurrentTileIDs
)
end,
sets:new(),
- bm_battlemap:get_tile_class_ids(Battlemap)
+ btl_battlemap:get_tile_class_ids(Battlemap)
),
Battle =
- bm_battle:new
+ btl_battle:new
(
<<"0">>,
PlayersAsList,
diff --git a/src/battlemap/game-logic/bm_movement.erl b/src/battle/game-logic/btl_movement.erl
index 8bf2c5b..87b1806 100644
--- a/src/battlemap/game-logic/bm_movement.erl
+++ b/src/battle/game-logic/btl_movement.erl
@@ -1,4 +1,4 @@
--module(bm_movement).
+-module(btl_movement).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -19,21 +19,21 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-spec cross
(
- bm_battlemap:type(),
- list(bm_location:type()),
- list(bm_direction:enum()),
+ btl_battlemap:type(),
+ list(btl_location:type()),
+ list(btl_direction:enum()),
non_neg_integer(),
- bm_location:type()
+ btl_location:type()
)
- -> {bm_location:type(), non_neg_integer()}.
+ -> {btl_location:type(), non_neg_integer()}.
cross (_Battlemap, _ForbiddenLocations, [], Cost, Location) ->
{Location, Cost};
cross (Battlemap, ForbiddenLocations, [Step|NextSteps], Cost, Location) ->
- NextLocation = bm_location:apply_direction(Step, Location),
- NextTileClassID = bm_battlemap:get_tile_class_id(NextLocation, Battlemap),
- NextTileID = bm_tile:class_id_to_type_id(NextTileClassID),
- NextTile = bm_tile:from_id(NextTileID),
- NextCost = (Cost + bm_tile:get_cost(NextTile)),
+ NextLocation = btl_location:apply_direction(Step, Location),
+ NextTileClassID = btl_battlemap:get_tile_class_id(NextLocation, Battlemap),
+ NextTileID = btl_tile:class_id_to_type_id(NextTileClassID),
+ NextTile = btl_tile:from_id(NextTileID),
+ NextCost = (Cost + btl_tile:get_cost(NextTile)),
IsForbidden =
lists:foldl
(
@@ -50,11 +50,11 @@ cross (Battlemap, ForbiddenLocations, [Step|NextSteps], Cost, Location) ->
-spec cross
(
- bm_battlemap:type(),
- list(bm_location:type()),
- list(bm_direction:enum()),
- bm_location:type()
+ btl_battlemap:type(),
+ list(btl_location:type()),
+ list(btl_direction:enum()),
+ btl_location:type()
)
- -> {bm_location:type(), non_neg_integer()}.
+ -> {btl_location:type(), non_neg_integer()}.
cross (Battlemap, ForbiddenLocations, Path, Location) ->
cross(Battlemap, ForbiddenLocations, Path, 0, Location).
diff --git a/src/battlemap/game-logic/bm_next_turn.erl b/src/battle/game-logic/btl_next_turn.erl
index 56e7f7e..82eec98 100644
--- a/src/battlemap/game-logic/bm_next_turn.erl
+++ b/src/battle/game-logic/btl_next_turn.erl
@@ -1,4 +1,4 @@
--module(bm_next_turn).
+-module(btl_next_turn).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -16,61 +16,61 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--spec set_player_turn_to_next (bm_battle:type())
- -> {bm_battle:type(), sh_db_query:op()}.
+-spec set_player_turn_to_next (btl_battle:type())
+ -> {btl_battle:type(), sh_db_query:op()}.
set_player_turn_to_next (Battle) ->
- Players = bm_battle:get_players(Battle),
- CurrentPlayerTurn = bm_battle:get_current_player_turn(Battle),
+ Players = btl_battle:get_players(Battle),
+ CurrentPlayerTurn = btl_battle:get_current_player_turn(Battle),
- NextPlayerTurn = bm_player_turn:next(Players, CurrentPlayerTurn),
+ NextPlayerTurn = btl_player_turn:next(Players, CurrentPlayerTurn),
- UpdatedBattle = bm_battle:set_current_player_turn(NextPlayerTurn, Battle),
+ UpdatedBattle = btl_battle:set_current_player_turn(NextPlayerTurn, Battle),
DBQuery =
sh_db_query:set_field
(
- bm_battle:get_current_player_turn_field(),
+ btl_battle:get_current_player_turn_field(),
NextPlayerTurn
),
{UpdatedBattle, DBQuery}.
--spec reset_next_player_timeline (bm_battle:type())
- -> {bm_battle:type(), bm_player:type(), sh_db_query:op()}.
+-spec reset_next_player_timeline (btl_battle:type())
+ -> {btl_battle:type(), btl_player:type(), sh_db_query:op()}.
reset_next_player_timeline (Battle) ->
- NextPlayerTurn = bm_battle:get_current_player_turn(Battle),
- NextPlayerIX = bm_player_turn:get_player_ix(NextPlayerTurn),
- NextPlayer = bm_battle:get_player(NextPlayerIX, Battle),
+ NextPlayerTurn = btl_battle:get_current_player_turn(Battle),
+ NextPlayerIX = btl_player_turn:get_player_ix(NextPlayerTurn),
+ NextPlayer = btl_battle:get_player(NextPlayerIX, Battle),
- UpdatedNextPlayer = bm_player:reset_timeline(NextPlayer),
+ UpdatedNextPlayer = btl_player:reset_timeline(NextPlayer),
UpdatedBattle =
- bm_battle:set_player(NextPlayerIX, UpdatedNextPlayer, Battle),
+ btl_battle:set_player(NextPlayerIX, UpdatedNextPlayer, Battle),
DBQuery =
sh_db_query:update_indexed
(
- bm_battle:get_players_field(),
+ btl_battle:get_players_field(),
NextPlayerIX,
- [ sh_db_query:set_field(bm_player:get_timeline_field(), []) ]
+ [ sh_db_query:set_field(btl_player:get_timeline_field(), []) ]
),
{UpdatedBattle, UpdatedNextPlayer, DBQuery}.
--spec activate_next_players_characters (bm_battle:type(), bm_player:type())
- -> {bm_battle:type(), list(sh_db_query:op())}.
+-spec activate_next_players_characters (btl_battle:type(), btl_player:type())
+ -> {btl_battle:type(), list(sh_db_query:op())}.
activate_next_players_characters (Battle, NextPlayer) ->
- NextPlayerIX = bm_player:get_index(NextPlayer),
- Characters = bm_battle:get_characters(Battle),
+ NextPlayerIX = btl_player:get_index(NextPlayer),
+ Characters = btl_battle:get_characters(Battle),
{UpdatedCharacters, ModifiedIXs} =
sh_array_util:mapiff
(
fun (Character) ->
- (bm_character:get_player_index(Character) == NextPlayerIX)
+ (btl_character:get_player_index(Character) == NextPlayerIX)
end,
fun (Character) ->
- bm_character:set_is_active(true, Character)
+ btl_character:set_is_active(true, Character)
end,
Characters
),
@@ -81,12 +81,12 @@ activate_next_players_characters (Battle, NextPlayer) ->
fun (IX) ->
sh_db_query:update_indexed
(
- bm_battle:get_characters_field(),
+ btl_battle:get_characters_field(),
IX,
[
sh_db_query:set_field
(
- bm_character:get_is_active_field(),
+ btl_character:get_is_active_field(),
true
)
]
@@ -95,64 +95,64 @@ activate_next_players_characters (Battle, NextPlayer) ->
ModifiedIXs
),
- UpdatedBattle = bm_battle:set_characters(UpdatedCharacters, Battle),
+ UpdatedBattle = btl_battle:set_characters(UpdatedCharacters, Battle),
{UpdatedBattle, DBQueries}.
-spec update
(
- bm_character_turn_update:type()
+ btl_character_turn_update:type()
)
- -> bm_character_turn_update:type().
+ -> btl_character_turn_update:type().
update (Update) ->
- Data = bm_character_turn_update:get_data(Update),
- Battle = bm_character_turn_data:get_battle(Data),
+ Data = btl_character_turn_update:get_data(Update),
+ Battle = btl_character_turn_data:get_battle(Data),
{S0Battle, DBQuery0} = set_player_turn_to_next(Battle),
{S1Battle, NextPlayer, DBQuery1} = reset_next_player_timeline(S0Battle),
{S2Battle, DBQueries} =
activate_next_players_characters(S1Battle, NextPlayer),
- S0Data = bm_character_turn_data:set_battle(S2Battle, Data),
+ S0Data = btl_character_turn_data:set_battle(S2Battle, Data),
S0Update =
- bm_character_turn_update:add_to_timeline
+ btl_character_turn_update:add_to_timeline
(
- bm_turn_result:new_player_turn_started
+ btl_turn_result:new_player_turn_started
(
- bm_player:get_index(NextPlayer)
+ btl_player:get_index(NextPlayer)
),
DBQuery0,
Update
),
- S1Update = bm_character_turn_update:set_data(S0Data, S0Update),
+ S1Update = btl_character_turn_update:set_data(S0Data, S0Update),
S2Update =
lists:foldl
(
- fun bm_character_turn_update:add_to_db/2,
+ fun btl_character_turn_update:add_to_db/2,
S1Update,
[DBQuery1|DBQueries]
),
S2Update.
--spec requires_update (bm_character_turn_update:type()) -> boolean().
+-spec requires_update (btl_character_turn_update:type()) -> boolean().
requires_update (Update) ->
- Data = bm_character_turn_update:get_data(Update),
- Battle = bm_character_turn_data:get_battle(Data),
- Characters = bm_battle:get_characters(Battle),
+ Data = btl_character_turn_update:get_data(Update),
+ Battle = btl_character_turn_data:get_battle(Data),
+ Characters = btl_battle:get_characters(Battle),
- sh_array_util:none(fun bm_character:get_is_active/1, Characters).
+ sh_array_util:none(fun btl_character:get_is_active/1, Characters).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-spec update_if_needed
(
- bm_character_turn_update:type()
+ btl_character_turn_update:type()
)
- -> bm_character_turn_update:type().
+ -> btl_character_turn_update:type().
update_if_needed (Update) ->
case requires_update(Update) of
true -> update(Update);
diff --git a/src/battlemap/game-logic/bm_turn_actions.erl b/src/battle/game-logic/btl_turn_actions.erl
index c3e091a..21205ac 100644
--- a/src/battlemap/game-logic/bm_turn_actions.erl
+++ b/src/battle/game-logic/btl_turn_actions.erl
@@ -1,4 +1,4 @@
--module(bm_turn_actions).
+-module(btl_turn_actions).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -20,102 +20,102 @@
%%%% SWITCHING WEAPON %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-spec handle_switch_weapon
(
- bm_character_turn_update:type()
+ btl_character_turn_update:type()
)
- -> bm_character_turn_update:type().
+ -> btl_character_turn_update:type().
handle_switch_weapon (Update) ->
- Data = bm_character_turn_update:get_data(Update),
- Character = bm_character_turn_data:get_character(Data),
- CharacterIX = bm_character_turn_data:get_character_ix(Data),
- CharacterAttributes = bm_character:get_attributes(Character),
- ArmorID = bm_character:get_armor_id(Character),
- {PrimaryWeaponID, SecondaryWeaponID} = bm_character:get_weapon_ids(Character),
+ Data = btl_character_turn_update:get_data(Update),
+ Character = btl_character_turn_data:get_character(Data),
+ CharacterIX = btl_character_turn_data:get_character_ix(Data),
+ CharacterAttributes = btl_character:get_attributes(Character),
+ ArmorID = btl_character:get_armor_id(Character),
+ {PrimaryWeaponID, SecondaryWeaponID} = btl_character:get_weapon_ids(Character),
UpdatedWeaponIDs = {SecondaryWeaponID, PrimaryWeaponID},
UpdatedCharacterStatistics =
sh_statistics:new(CharacterAttributes, UpdatedWeaponIDs, ArmorID),
UpdatedCharacter =
- bm_character:set_statistics
+ btl_character:set_statistics
(
UpdatedCharacterStatistics,
- bm_character:set_weapon_ids(UpdatedWeaponIDs, Character)
+ btl_character:set_weapon_ids(UpdatedWeaponIDs, Character)
),
- TimelineItem = bm_turn_result:new_character_switched_weapons(CharacterIX),
+ TimelineItem = btl_turn_result:new_character_switched_weapons(CharacterIX),
DBQuery =
sh_db_query:update_indexed
(
- bm_battle:get_characters_field(),
+ btl_battle:get_characters_field(),
CharacterIX,
[
sh_db_query:set_field
(
- bm_character:get_weapons_field(),
+ btl_character:get_weapons_field(),
UpdatedWeaponIDs
),
sh_db_query:set_field
(
- bm_character:get_statistics_field(),
+ btl_character:get_statistics_field(),
UpdatedCharacterStatistics
)
]
),
- UpdatedData = bm_character_turn_data:set_character(UpdatedCharacter, Data),
+ UpdatedData = btl_character_turn_data:set_character(UpdatedCharacter, Data),
- S0Update = bm_character_turn_update:set_data(UpdatedData, Update),
+ S0Update = btl_character_turn_update:set_data(UpdatedData, Update),
- bm_character_turn_update:add_to_timeline(TimelineItem, DBQuery, S0Update).
+ btl_character_turn_update:add_to_timeline(TimelineItem, DBQuery, S0Update).
%%%% MOVING %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-spec get_path_cost_and_destination
(
- bm_character_turn_data:type(),
- list(bm_direction:type())
+ btl_character_turn_data:type(),
+ list(btl_direction:type())
)
- -> {non_neg_integer(), bm_location:type()}.
+ -> {non_neg_integer(), btl_location:type()}.
get_path_cost_and_destination (Data, Path) ->
- Character = bm_character_turn_data:get_character(Data),
- CharacterIX = bm_character_turn_data:get_character_ix(Data),
- Battle = bm_character_turn_data:get_battle(Data),
- Battlemap = bm_battle:get_battlemap(Battle),
+ Character = btl_character_turn_data:get_character(Data),
+ CharacterIX = btl_character_turn_data:get_character_ix(Data),
+ Battle = btl_character_turn_data:get_battle(Data),
+ Battlemap = btl_battle:get_battlemap(Battle),
ForbiddenLocations =
array:foldl
(
fun (IX, Char, Prev) ->
- IsAlive = bm_character:get_is_alive(Char),
+ IsAlive = btl_character:get_is_alive(Char),
if
(IX == CharacterIX) -> Prev;
(not IsAlive) -> Prev;
- true -> [bm_character:get_location(Char)|Prev]
+ true -> [btl_character:get_location(Char)|Prev]
end
end,
[],
- bm_battle:get_characters(Battle)
+ btl_battle:get_characters(Battle)
),
{NewLocation, Cost} =
- bm_movement:cross
+ btl_movement:cross
(
Battlemap,
ForbiddenLocations,
Path,
- bm_character:get_location(Character)
+ btl_character:get_location(Character)
),
{Cost, NewLocation}.
-spec assert_character_can_move
(
- bm_character_turn_data:type(),
+ btl_character_turn_data:type(),
non_neg_integer()
)
-> 'ok'.
assert_character_can_move (Data, Cost) ->
- Character = bm_character_turn_data:get_character(Data),
- CharacterStatistics = bm_character:get_statistics(Character),
+ Character = btl_character_turn_data:get_character(Data),
+ CharacterStatistics = btl_character:get_statistics(Character),
CharacterMovementPoints =
sh_statistics:get_movement_points(CharacterStatistics),
@@ -125,56 +125,56 @@ assert_character_can_move (Data, Cost) ->
-spec commit_move
(
- bm_character_turn_update:type(),
- list(bm_direction:type()),
- bm_location:type()
+ btl_character_turn_update:type(),
+ list(btl_direction:type()),
+ btl_location:type()
)
- -> bm_character_turn_update:type().
+ -> btl_character_turn_update:type().
commit_move (Update, Path, NewLocation) ->
- Data = bm_character_turn_update:get_data(Update),
- Character = bm_character_turn_data:get_character(Data),
- CharacterIX = bm_character_turn_data:get_character_ix(Data),
+ Data = btl_character_turn_update:get_data(Update),
+ Character = btl_character_turn_data:get_character(Data),
+ CharacterIX = btl_character_turn_data:get_character_ix(Data),
- UpdatedCharacter = bm_character:set_location(NewLocation, Character),
+ UpdatedCharacter = btl_character:set_location(NewLocation, Character),
- UpdatedData = bm_character_turn_data:set_character(UpdatedCharacter, Data),
+ UpdatedData = btl_character_turn_data:set_character(UpdatedCharacter, Data),
TimelineItem =
- bm_turn_result:new_character_moved(CharacterIX, Path, NewLocation),
+ btl_turn_result:new_character_moved(CharacterIX, Path, NewLocation),
DBQuery =
sh_db_query:update_indexed
(
- bm_battle:get_characters_field(),
+ btl_battle:get_characters_field(),
CharacterIX,
[
sh_db_query:set_field
(
- bm_character:get_location_field(),
+ btl_character:get_location_field(),
NewLocation
)
]
),
S0Update =
- bm_character_turn_update:add_to_timeline
+ btl_character_turn_update:add_to_timeline
(
TimelineItem,
DBQuery,
Update
),
- bm_character_turn_update:set_data(UpdatedData, S0Update).
+ btl_character_turn_update:set_data(UpdatedData, S0Update).
-spec handle_move
(
- bm_battle_action:type(),
- bm_character_turn_update:type()
+ btl_battle_action:type(),
+ btl_character_turn_update:type()
)
- -> bm_character_turn_update:type().
+ -> btl_character_turn_update:type().
handle_move (BattleAction, Update) ->
- Data = bm_character_turn_update:get_data(Update),
- Path = bm_battle_action:get_path(BattleAction),
+ Data = btl_character_turn_update:get_data(Update),
+ Path = btl_battle_action:get_path(BattleAction),
{PathCost, NewLocation} = get_path_cost_and_destination(Data, Path),
assert_character_can_move(Data, PathCost),
@@ -184,11 +184,11 @@ handle_move (BattleAction, Update) ->
%%%% ATTACKING %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-spec handle_attack_sequence
(
- bm_character:type(),
- bm_character:type(),
- list(bm_attack:step())
+ btl_character:type(),
+ btl_character:type(),
+ list(btl_attack:step())
)
- -> {list(bm_attack:type()), non_neg_integer(), non_neg_integer()}.
+ -> {list(btl_attack:type()), non_neg_integer(), non_neg_integer()}.
handle_attack_sequence
(
Character,
@@ -199,7 +199,7 @@ handle_attack_sequence
lists:map
(
fun (AttackStep) ->
- bm_attack:get_description_of
+ btl_attack:get_description_of
(
AttackStep,
Character,
@@ -217,7 +217,7 @@ handle_attack_sequence
{AttackValidEffects, AttackerHealth, DefenderHealth}
) ->
{AttackResult, NewAttackerHealth, NewDefenderHealth} =
- bm_attack:apply_to_healths
+ btl_attack:apply_to_healths
(
AttackEffectCandidate,
AttackerHealth,
@@ -235,50 +235,50 @@ handle_attack_sequence
end,
{
[],
- bm_character:get_current_health(Character),
- bm_character:get_current_health(TargetCharacter)
+ btl_character:get_current_health(Character),
+ btl_character:get_current_health(TargetCharacter)
},
AttackPlannedEffects
).
-spec get_attack_sequence
(
- bm_character:type(),
- bm_character:type()
+ btl_character:type(),
+ btl_character:type()
)
- -> list(bm_attack:step()).
+ -> list(btl_attack:step()).
get_attack_sequence (Character, TargetCharacter) ->
Range =
- bm_location:dist
+ btl_location:dist
(
- bm_character:get_location(Character),
- bm_character:get_location(TargetCharacter)
+ btl_character:get_location(Character),
+ btl_character:get_location(TargetCharacter)
),
- {AttackingWeaponID, _} = bm_character:get_weapon_ids(Character),
- {DefendingWeaponID, _} = bm_character:get_weapon_ids(TargetCharacter),
+ {AttackingWeaponID, _} = btl_character:get_weapon_ids(Character),
+ {DefendingWeaponID, _} = btl_character:get_weapon_ids(TargetCharacter),
AttackingWeapon = sh_weapon:from_id(AttackingWeaponID),
DefendingWeapon = sh_weapon:from_id(DefendingWeaponID),
- bm_attack:get_sequence(Range, AttackingWeapon, DefendingWeapon).
+ btl_attack:get_sequence(Range, AttackingWeapon, DefendingWeapon).
-spec handle_attack
(
- bm_battle_action:type(),
- bm_character_turn_update:type()
+ btl_battle_action:type(),
+ btl_character_turn_update:type()
)
- -> bm_character_turn_update:type().
+ -> btl_character_turn_update:type().
handle_attack (BattleAction, Update) ->
- Data = bm_character_turn_update:get_data(Update),
- Battle = bm_character_turn_data:get_battle(Data),
- Character = bm_character_turn_data:get_character(Data),
- CharacterIX = bm_character_turn_data:get_character_ix(Data),
- TargetIX = bm_battle_action:get_target_ix(BattleAction),
- TargetCharacter = bm_battle:get_character(TargetIX, Battle),
+ Data = btl_character_turn_update:get_data(Update),
+ Battle = btl_character_turn_data:get_battle(Data),
+ Character = btl_character_turn_data:get_character(Data),
+ CharacterIX = btl_character_turn_data:get_character_ix(Data),
+ TargetIX = btl_battle_action:get_target_ix(BattleAction),
+ TargetCharacter = btl_battle:get_character(TargetIX, Battle),
- true = bm_character:get_is_alive(TargetCharacter),
+ true = btl_character:get_is_alive(TargetCharacter),
AttackSequence = get_attack_sequence(Character, TargetCharacter),
@@ -286,13 +286,13 @@ handle_attack (BattleAction, Update) ->
handle_attack_sequence(Character, TargetCharacter, AttackSequence),
UpdatedCharacter =
- bm_character:set_current_health(RemainingAttackerHealth, Character),
+ btl_character:set_current_health(RemainingAttackerHealth, Character),
UpdatedBattle =
- bm_battle:set_character
+ btl_battle:set_character
(
TargetIX,
- bm_character:set_current_health
+ btl_character:set_current_health
(
RemainingDefenderHealth,
TargetCharacter
@@ -300,11 +300,11 @@ handle_attack (BattleAction, Update) ->
Battle
),
- S0Data = bm_character_turn_data:set_battle(UpdatedBattle, Data),
- S1Data = bm_character_turn_data:set_character(UpdatedCharacter, S0Data),
+ S0Data = btl_character_turn_data:set_battle(UpdatedBattle, Data),
+ S1Data = btl_character_turn_data:set_character(UpdatedCharacter, S0Data),
TimelineItem =
- bm_turn_result:new_character_attacked
+ btl_turn_result:new_character_attacked
(
CharacterIX,
TargetIX,
@@ -314,12 +314,12 @@ handle_attack (BattleAction, Update) ->
DBQuery0 =
sh_db_query:update_indexed
(
- bm_battle:get_characters_field(),
+ btl_battle:get_characters_field(),
TargetIX,
[
sh_db_query:set_field
(
- bm_character:get_current_health_field(),
+ btl_character:get_current_health_field(),
RemainingDefenderHealth
)
]
@@ -328,19 +328,19 @@ handle_attack (BattleAction, Update) ->
DBQuery1 =
sh_db_query:update_indexed
(
- bm_battle:get_characters_field(),
+ btl_battle:get_characters_field(),
CharacterIX,
[
sh_db_query:set_field
(
- bm_character:get_current_health_field(),
+ btl_character:get_current_health_field(),
RemainingAttackerHealth
)
]
),
S0Update =
- bm_character_turn_update:add_to_timeline
+ btl_character_turn_update:add_to_timeline
(
TimelineItem,
DBQuery0,
@@ -348,16 +348,16 @@ handle_attack (BattleAction, Update) ->
),
S1Update =
- bm_character_turn_update:add_to_db
+ btl_character_turn_update:add_to_db
(
DBQuery1,
S0Update
),
- S2Update = bm_character_turn_update:set_data(S1Data, S1Update),
+ S2Update = btl_character_turn_update:set_data(S1Data, S1Update),
S3Update =
- bm_victory:handle_character_lost_health
+ btl_victory:handle_character_lost_health
(
CharacterIX,
RemainingAttackerHealth,
@@ -365,7 +365,7 @@ handle_attack (BattleAction, Update) ->
),
S4Update =
- bm_victory:handle_character_lost_health
+ btl_victory:handle_character_lost_health
(
TargetIX,
RemainingDefenderHealth,
@@ -379,12 +379,12 @@ handle_attack (BattleAction, Update) ->
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-spec handle
(
- bm_battle_action:type(),
- bm_character_turn_update:type()
+ btl_battle_action:type(),
+ btl_character_turn_update:type()
)
--> bm_character_turn_update:type().
+-> btl_character_turn_update:type().
handle (BattleAction, Update) ->
- case bm_battle_action:get_category(BattleAction) of
+ case btl_battle_action:get_category(BattleAction) of
move -> handle_move(BattleAction, Update);
switch_weapon -> handle_switch_weapon(Update);
attack -> handle_attack(BattleAction, Update)
diff --git a/src/battlemap/game-logic/bm_victory.erl b/src/battle/game-logic/btl_victory.erl
index 327920a..eef42ad 100644
--- a/src/battlemap/game-logic/bm_victory.erl
+++ b/src/battle/game-logic/btl_victory.erl
@@ -1,4 +1,4 @@
--module(bm_victory).
+-module(btl_victory).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -20,16 +20,16 @@
-spec mark_players_characters_as_defeated
(
non_neg_integer(),
- array:array(bm_character:type())
- ) -> {array:array(bm_character:type()), list(non_neg_integer())}.
+ array:array(btl_character:type())
+ ) -> {array:array(btl_character:type()), list(non_neg_integer())}.
mark_players_characters_as_defeated (PlayerIX, Characters) ->
sh_array_util:mapiff
(
fun (Character) ->
- (bm_character:get_player_index(Character) == PlayerIX)
+ (btl_character:get_player_index(Character) == PlayerIX)
end,
fun (Character) ->
- bm_character:set_is_defeated(true, Character)
+ btl_character:set_is_defeated(true, Character)
end,
Characters
).
@@ -37,20 +37,20 @@ mark_players_characters_as_defeated (PlayerIX, Characters) ->
-spec add_db_query_to_mark_character_as_defeated
(
non_neg_integer(),
- bm_character_turn_update:type()
+ btl_character_turn_update:type()
)
- -> bm_character_turn_update:type().
+ -> btl_character_turn_update:type().
add_db_query_to_mark_character_as_defeated (IX, Update) ->
- bm_character_turn_update:add_to_db
+ btl_character_turn_update:add_to_db
(
sh_db_query:update_indexed
(
- bm_battle:get_characters_field(),
+ btl_battle:get_characters_field(),
IX,
[
sh_db_query:set_field
(
- bm_character:get_is_defeated_field(),
+ btl_character:get_is_defeated_field(),
true
)
]
@@ -61,13 +61,13 @@ add_db_query_to_mark_character_as_defeated (IX, Update) ->
-spec handle_player_defeat
(
non_neg_integer(),
- bm_character_turn_update:type()
+ btl_character_turn_update:type()
)
- -> bm_character_turn_update:type().
+ -> btl_character_turn_update:type().
handle_player_defeat (PlayerIX, Update) ->
- Data = bm_character_turn_update:get_data(Update),
- Battle = bm_character_turn_data:get_battle(Data),
- Characters = bm_battle:get_characters(Battle),
+ Data = btl_character_turn_update:get_data(Update),
+ Battle = btl_character_turn_data:get_battle(Data),
+ Characters = btl_battle:get_characters(Battle),
%% FIXME: The controlled character might slip through.
{UpdatedCharacters, ModifiedIXs} =
@@ -83,28 +83,28 @@ handle_player_defeat (PlayerIX, Update) ->
%% TODO: Battle.player[PlayerIX].is_active <- false
- UpdatedBattle = bm_battle:set_characters(UpdatedCharacters, Battle),
- UpdatedData = bm_character_turn_data:set_battle(UpdatedBattle, Data),
- S2Update = bm_character_turn_update:set_data(UpdatedData, S1Update),
+ UpdatedBattle = btl_battle:set_characters(UpdatedCharacters, Battle),
+ UpdatedData = btl_character_turn_data:set_battle(UpdatedBattle, Data),
+ S2Update = btl_character_turn_update:set_data(UpdatedData, S1Update),
DBQuery =
sh_db_query:update_indexed
(
- bm_battle:get_players_field(),
+ btl_battle:get_players_field(),
PlayerIX,
[
sh_db_query:set_field
(
- bm_player:get_is_active_field(),
+ btl_player:get_is_active_field(),
false
)
]
),
S3Update =
- bm_character_turn_update:add_to_timeline
+ btl_character_turn_update:add_to_timeline
(
- bm_turn_result:new_player_lost(PlayerIX),
+ btl_turn_result:new_player_lost(PlayerIX),
DBQuery,
S2Update
),
@@ -115,17 +115,17 @@ handle_player_defeat (PlayerIX, Update) ->
-spec actually_handle_character_lost_health
(
non_neg_integer(),
- bm_character_turn_update:type()
+ btl_character_turn_update:type()
)
- -> bm_character_turn_update:type().
+ -> btl_character_turn_update:type().
actually_handle_character_lost_health (CharIX, Update) ->
- Data = bm_character_turn_update:get_data(Update),
- Battle = bm_character_turn_data:get_battle(Data),
- Character = bm_battle:get_character(CharIX, Battle),
- Characters = bm_battle:get_characters(Battle),
- CharacterPlayerIX = bm_character:get_player_index(Character),
+ Data = btl_character_turn_update:get_data(Update),
+ Battle = btl_character_turn_data:get_battle(Data),
+ Character = btl_battle:get_character(CharIX, Battle),
+ Characters = btl_battle:get_characters(Battle),
+ CharacterPlayerIX = btl_character:get_player_index(Character),
- case bm_character:get_rank(Character) of
+ case btl_character:get_rank(Character) of
optional ->
%% Let's not assume there is a commander
StillHasAliveChar =
@@ -133,9 +133,9 @@ actually_handle_character_lost_health (CharIX, Update) ->
(
fun (IX, Char) ->
(
- (CharacterPlayerIX == bm_character:get_player_index(Char))
+ (CharacterPlayerIX == btl_character:get_player_index(Char))
and (IX /= CharIX)
- and bm_character:get_is_alive(Char)
+ and btl_character:get_is_alive(Char)
)
end,
Characters
@@ -154,10 +154,10 @@ actually_handle_character_lost_health (CharIX, Update) ->
(
fun (IX, Char) ->
(
- (CharacterPlayerIX == bm_character:get_player_index(Char))
+ (CharacterPlayerIX == btl_character:get_player_index(Char))
and (IX /= CharIX)
- and bm_character:get_is_alive(Char)
- and (bm_character:get_rank(Char) == target)
+ and btl_character:get_is_alive(Char)
+ and (btl_character:get_rank(Char) == target)
)
end,
Characters
@@ -176,19 +176,19 @@ actually_handle_character_lost_health (CharIX, Update) ->
(
non_neg_integer(),
integer(),
- bm_character_turn_update:type()
+ btl_character_turn_update:type()
)
- -> bm_character_turn_update:type().
+ -> btl_character_turn_update:type().
handle_character_lost_health (_, Health, Update) when (Health > 0) -> Update;
handle_character_lost_health (CharIX, _Health, Update) ->
- Data = bm_character_turn_update:get_data(Update),
- S1Data = bm_character_turn_data:clean_battle(Data),
- S1Update = bm_character_turn_update:set_data(S1Data, Update),
+ Data = btl_character_turn_update:get_data(Update),
+ S1Data = btl_character_turn_data:clean_battle(Data),
+ S1Update = btl_character_turn_update:set_data(S1Data, Update),
S2Update = actually_handle_character_lost_health(CharIX, S1Update),
- S2Data = bm_character_turn_update:get_data(S2Update),
- S3Data = bm_character_turn_data:refresh_character(S2Data),
- S3Update = bm_character_turn_update:set_data(S3Data, S2Update),
+ S2Data = btl_character_turn_update:get_data(S2Update),
+ S3Data = btl_character_turn_data:refresh_character(S2Data),
+ S3Update = btl_character_turn_update:set_data(S3Data, S2Update),
S3Update.
diff --git a/src/battlemap/io/bm_security.erl b/src/battle/io/btl_security.erl
index 787082a..cf6bb9b 100644
--- a/src/battlemap/io/bm_security.erl
+++ b/src/battle/io/btl_security.erl
@@ -1,4 +1,4 @@
--module(bm_security).
+-module(btl_security).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/src/battle/query/btl_character_turn.erl b/src/battle/query/btl_character_turn.erl
new file mode 100644
index 0000000..c232ab0
--- /dev/null
+++ b/src/battle/query/btl_character_turn.erl
@@ -0,0 +1,282 @@
+-module(btl_character_turn).
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+-include("../../../include/yaws_api.hrl").
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+-export([out/1]).
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%-spec send_to_database (list(database_diff:type()), character_turn_request:type()) -> 'ok'.
+
+
+%%%% REQUEST DECODING %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+-spec decode_request (binary()) -> btl_character_turn_request:type().
+decode_request (BinaryRequest) ->
+ JSONMap = jiffy:decode(BinaryRequest, [return_maps]),
+
+ btl_character_turn_request:decode(JSONMap).
+
+%%%% USER AUTHENTICATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+-spec authenticate_user (btl_character_turn_request:type()) -> 'ok'.
+authenticate_user (Request) ->
+ PlayerID = btl_character_turn_request:get_player_id(Request),
+ SessionToken = btl_character_turn_request:get_session_token(Request),
+
+ btl_security:assert_identity(PlayerID, SessionToken),
+ btl_security:lock_queries(PlayerID),
+
+ ok.
+
+%%%% MAIN LOGIC %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+-spec fetch_data
+ (
+ btl_character_turn_request:type()
+ )
+ -> btl_character_turn_data:type().
+fetch_data (Request) ->
+ PlayerID = btl_character_turn_request:get_player_id(Request),
+ BattleID = btl_character_turn_request:get_battle_id(Request),
+ CharacterIX = btl_character_turn_request:get_character_ix(Request),
+ Battle = sh_timed_cache:fetch(battle_db, PlayerID, BattleID),
+
+ btl_character_turn_data:new(Battle, CharacterIX).
+
+%%%% ASSERTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+-spec assert_user_is_current_player
+ (
+ btl_character_turn_data:type(),
+ btl_character_turn_request:type()
+ ) -> 'ok'.
+assert_user_is_current_player (Data, Request) ->
+ PlayerID = btl_character_turn_request:get_player_id(Request),
+ Battle = btl_character_turn_data:get_battle(Data),
+ CurrentPlayerTurn = btl_battle:get_current_player_turn(Battle),
+ CurrentPlayerIX = btl_player_turn:get_player_ix(CurrentPlayerTurn),
+ CurrentPlayer = btl_battle:get_player(CurrentPlayerIX, Battle),
+
+ true = (PlayerID == btl_player:get_id(CurrentPlayer)),
+
+ ok.
+
+-spec assert_user_owns_played_character
+ (
+ btl_character_turn_data:type(),
+ btl_character_turn_request:type()
+ ) -> 'ok'.
+assert_user_owns_played_character (Data, Request) ->
+ PlayerID = btl_character_turn_request:get_player_id(Request),
+ Battle = btl_character_turn_data:get_battle(Data),
+ Players = btl_battle:get_players(Battle),
+ Character = btl_character_turn_data:get_character(Data),
+ CharacterPlayerIX = btl_character:get_player_index(Character),
+ CharacterPlayer = array:get(CharacterPlayerIX, Players),
+ CharacterPlayerID = btl_player:get_id(CharacterPlayer),
+
+ true = (PlayerID == CharacterPlayerID),
+
+ ok.
+
+-spec assert_character_can_be_played (btl_character_turn_data:type()) -> 'ok'.
+assert_character_can_be_played (Data) ->
+ Character = btl_character_turn_data:get_character(Data),
+
+ true = btl_character:get_is_active(Character),
+
+ ok.
+
+-spec assert_user_permissions
+ (
+ btl_character_turn_data:type(),
+ btl_character_turn_request:type()
+ ) -> 'ok'.
+assert_user_permissions (Data, Request) ->
+ assert_user_is_current_player(Data, Request),
+ assert_user_owns_played_character(Data, Request),
+ assert_character_can_be_played(Data),
+
+ ok.
+
+%%%% QUERY LOGIC HANDLING %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+-spec finalize_character
+ (
+ btl_character_turn_update:type()
+ )
+ -> btl_character_turn_update:type().
+finalize_character (Update) ->
+ Data = btl_character_turn_update:get_data(Update),
+ Character = btl_character_turn_data:get_character(Data),
+
+ DisabledCharacter = btl_character:set_is_active(false, Character),
+ UpdatedData = btl_character_turn_data:set_character(DisabledCharacter, Data),
+ FinalizedData = btl_character_turn_data:clean_battle(UpdatedData),
+
+ DBQuery =
+ sh_db_query:update_indexed
+ (
+ btl_battle:get_characters_field(),
+ btl_character_turn_data:get_character_ix(Data),
+ [ sh_db_query:set_field(btl_character:get_is_active_field(), false) ]
+ ),
+
+ S0Update = btl_character_turn_update:set_data(FinalizedData, Update),
+ S1Update = btl_character_turn_update:add_to_db(DBQuery, S0Update),
+
+ S1Update.
+
+-spec handle_actions
+ (
+ btl_character_turn_data:type(),
+ btl_character_turn_request:type()
+ )
+ -> btl_character_turn_update:type().
+handle_actions (Data, Request) ->
+ Actions = btl_character_turn_request:get_actions(Request),
+
+ EmptyUpdate = btl_character_turn_update:new(Data),
+ PostActionsUpdate =
+ lists:foldl(fun btl_turn_actions:handle/2, EmptyUpdate, Actions),
+
+ finalize_character(PostActionsUpdate).
+
+-spec update_timeline
+ (
+ btl_character_turn_update:type()
+ )
+ -> btl_character_turn_update:type().
+update_timeline (Update) ->
+ NewTimelineElements = btl_character_turn_update:get_timeline(Update),
+ Data = btl_character_turn_update:get_data(Update),
+ Battle = btl_character_turn_data:get_battle(Data),
+ PlayerTurn = btl_battle:get_current_player_turn(Battle),
+ PlayerIX = btl_player_turn:get_player_ix(PlayerTurn),
+ Player = btl_battle:get_player(PlayerIX, Battle),
+
+ UpdatedPlayer = btl_player:add_to_timeline(NewTimelineElements, Player),
+ UpdatedBattle = btl_battle:set_player(PlayerIX, UpdatedPlayer, Battle),
+ UpdatedData = btl_character_turn_data:set_battle(UpdatedBattle, Data),
+
+ DBQuery =
+ sh_db_query:update_indexed
+ (
+ btl_battle:get_players_field(),
+ PlayerIX,
+ [
+ sh_db_query:add_to_field
+ (
+ btl_player:get_timeline_field(),
+ NewTimelineElements,
+ true % We add those to the start of the list
+ )
+ ]
+ ),
+
+ S0Update = btl_character_turn_update:set_data(UpdatedData, Update),
+ S1Update = btl_character_turn_update:add_to_db(DBQuery, S0Update),
+
+ S1Update.
+
+
+-spec update_data
+ (
+ btl_character_turn_data:type(),
+ btl_character_turn_request:type()
+ )
+ -> btl_character_turn_update:type().
+update_data (Data, Request) ->
+ PostActionsUpdate = handle_actions(Data, Request),
+ PostCharacterTurnUpdate = update_timeline(PostActionsUpdate),
+
+ btl_next_turn:update_if_needed(PostCharacterTurnUpdate).
+
+%%%% DATABASE UPDATES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+-spec send_to_database
+ (
+ btl_character_turn_update:type(),
+ btl_character_turn_request:type()
+ )
+ -> 'ok'.
+send_to_database (Update, Request) ->
+ PlayerID = btl_character_turn_request:get_player_id(Request),
+ BattleID = btl_character_turn_request:get_battle_id(Request),
+ Ops = btl_character_turn_update:get_db(Update),
+ Query = sh_db_query:new(battle_db, BattleID, {user, PlayerID}, Ops),
+
+ sh_database:commit(Query),
+
+ ok.
+
+-spec send_to_cache
+ (
+ btl_character_turn_update:type(),
+ btl_character_turn_request:type()
+ )
+ -> 'ok'.
+send_to_cache (Update, Request) ->
+ PlayerID = btl_character_turn_request:get_player_id(Request),
+ BattleID = btl_character_turn_request:get_battle_id(Request),
+ Data = btl_character_turn_update:get_data(Update),
+ Battle = btl_character_turn_data:get_battle(Data),
+
+ sh_timed_cache:update(battle_db, PlayerID, BattleID, Battle),
+
+ ok.
+
+-spec commit_update
+ (
+ btl_character_turn_update:type(),
+ btl_character_turn_request:type()
+ )
+ -> 'ok'.
+commit_update (Update, Request) ->
+ send_to_database(Update, Request),
+ send_to_cache(Update, Request),
+
+ ok.
+
+%%%% USER DISCONNECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+-spec disconnect_user (btl_character_turn_request:type()) -> 'ok'.
+disconnect_user (Request) ->
+ PlayerID = btl_character_turn_request:get_player_id(Request),
+
+ btl_security:unlock_queries(PlayerID),
+
+ ok.
+
+%%%% REPLY GENERATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+-spec generate_reply (btl_character_turn_update:type()) -> binary().
+generate_reply (Update) ->
+ NewTimelineItems = btl_character_turn_update:get_timeline(Update),
+
+ TurnResultReply = btl_turn_results:generate(NewTimelineItems),
+
+ jiffy:encode([TurnResultReply]).
+
+%%%% MAIN LOGIC %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+-spec handle (binary()) -> binary().
+handle (EncodedRequest) ->
+ Request = decode_request(EncodedRequest),
+ authenticate_user(Request),
+ Data = fetch_data(Request),
+ assert_user_permissions(Data, Request),
+ Update = update_data(Data, Request),
+ commit_update(Update, Request),
+ disconnect_user(Request),
+ generate_reply(Update).
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+out(A) ->
+ {
+ content,
+ "application/json; charset=UTF-8",
+ handle(A#arg.clidata)
+ }.
diff --git a/src/battlemap/query/bm_load_state.erl b/src/battle/query/btl_load_state.erl
index 505ec3b..f79e24e 100644
--- a/src/battlemap/query/bm_load_state.erl
+++ b/src/battle/query/btl_load_state.erl
@@ -1,4 +1,4 @@
--module(bm_load_state).
+-module(btl_load_state).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -9,7 +9,7 @@
(
input,
{
- player_id :: bm_player:id(),
+ player_id :: btl_player:id(),
session_token :: binary(),
battle_id :: binary()
}
@@ -19,7 +19,7 @@
(
query_state,
{
- battle :: bm_battle:type()
+ battle :: btl_battle:type()
}
).
@@ -39,7 +39,7 @@ parse_input (Req) ->
JSONReqMap = jiffy:decode(Req, [return_maps]),
PlayerID = maps:get(<<"pid">>, JSONReqMap),
SessionToken = maps:get(<<"stk">>, JSONReqMap),
- BattleID = maps:get(<<"bmi">>, JSONReqMap),
+ BattleID = maps:get(<<"bid">>, JSONReqMap),
#input
{
@@ -64,13 +64,13 @@ fetch_data (Input) ->
generate_reply (QueryState, Input) ->
PlayerID = Input#input.player_id,
Battle = QueryState#query_state.battle,
- Players = bm_battle:get_players(Battle),
+ Players = btl_battle:get_players(Battle),
PlayerIX =
sh_array_util:first
(
fun (Player) ->
- (bm_player:get_id(Player) == PlayerID)
+ (btl_player:get_id(Player) == PlayerID)
end,
Players
),
@@ -78,12 +78,12 @@ generate_reply (QueryState, Input) ->
true = (PlayerIX >= 0),
SetTimeline =
- bm_set_timeline:generate
+ btl_set_timeline:generate
(
- bm_battle:get_encoded_last_turns_effects(Battle)
+ btl_battle:get_encoded_last_turns_effects(Battle)
),
- SetMap = bm_set_map:generate(bm_battle:get_battlemap(Battle)),
+ SetMap = btl_set_map:generate(btl_battle:get_battlemap(Battle)),
AddCharList =
array:sparse_to_list
@@ -91,9 +91,9 @@ generate_reply (QueryState, Input) ->
array:map
(
fun (IX, Character) ->
- bm_add_char:generate(IX, Character, PlayerIX)
+ btl_add_char:generate(IX, Character, PlayerIX)
end,
- bm_battle:get_characters(Battle)
+ btl_battle:get_characters(Battle)
)
),
@@ -101,27 +101,27 @@ generate_reply (QueryState, Input) ->
lists:map
(
fun (WeaponID) ->
- bm_add_weapon:generate(sh_weapon:from_id(WeaponID))
+ btl_add_weapon:generate(sh_weapon:from_id(WeaponID))
end,
- bm_battle:get_used_weapon_ids(Battle)
+ btl_battle:get_used_weapon_ids(Battle)
),
AddArmorList =
lists:map
(
fun (ArmorID) ->
- bm_add_armor:generate(sh_armor:from_id(ArmorID))
+ btl_add_armor:generate(sh_armor:from_id(ArmorID))
end,
- bm_battle:get_used_armor_ids(Battle)
+ btl_battle:get_used_armor_ids(Battle)
),
AddTileList =
lists:map
(
fun (TileID) ->
- bm_add_tile:generate(bm_tile:from_id(TileID))
+ btl_add_tile:generate(btl_tile:from_id(TileID))
end,
- bm_battle:get_used_tile_ids(Battle)
+ btl_battle:get_used_tile_ids(Battle)
),
OutputList =
@@ -138,14 +138,14 @@ generate_reply (QueryState, Input) ->
-spec handle (binary()) -> binary().
handle (Req) ->
Input = parse_input(Req),
- bm_security:assert_identity
+ btl_security:assert_identity
(
Input#input.player_id,
Input#input.session_token
),
- bm_security:lock_queries(Input#input.player_id),
+ btl_security:lock_queries(Input#input.player_id),
QueryState = fetch_data(Input),
- bm_security:unlock_queries(Input#input.player_id),
+ btl_security:unlock_queries(Input#input.player_id),
generate_reply(QueryState, Input).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/src/battlemap/reply/bm_add_armor.erl b/src/battle/reply/btl_add_armor.erl
index 4f098bd..2c6a875 100644
--- a/src/battlemap/reply/bm_add_armor.erl
+++ b/src/battle/reply/btl_add_armor.erl
@@ -1,4 +1,4 @@
--module(bm_add_armor).
+-module(btl_add_armor).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/src/battlemap/reply/bm_add_char.erl b/src/battle/reply/btl_add_char.erl
index 4dab700..75b6fcd 100644
--- a/src/battlemap/reply/bm_add_char.erl
+++ b/src/battle/reply/btl_add_char.erl
@@ -1,4 +1,4 @@
--module(bm_add_char).
+-module(btl_add_char).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -12,7 +12,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--spec rank_to_string (bm_character:rank()) -> binary().
+-spec rank_to_string (btl_character:rank()) -> binary().
rank_to_string (Rank) ->
case Rank of
optional -> <<"o">>;
@@ -43,41 +43,41 @@ attributes_as_json (Attributes) ->
-spec generate
(
non_neg_integer(),
- bm_character:type(),
+ btl_character:type(),
non_neg_integer()
)
-> {list(any())}.
generate (IX, Character, PlayerIX) ->
- Attributes = bm_character:get_attributes(Character),
- {ActiveWeapon, SecondaryWeapon} = bm_character:get_weapon_ids(Character),
- CharacterPlayerIX = bm_character:get_player_index(Character),
- Location = bm_character:get_location(Character),
+ Attributes = btl_character:get_attributes(Character),
+ {ActiveWeapon, SecondaryWeapon} = btl_character:get_weapon_ids(Character),
+ CharacterPlayerIX = btl_character:get_player_index(Character),
+ Location = btl_character:get_location(Character),
{
[
{<<"msg">>, <<"add_char">>},
{<<"ix">>, IX},
- {<<"nam">>, bm_character:get_name(Character)},
- {<<"rnk">>, rank_to_string(bm_character:get_rank(Character))},
- {<<"ico">>, bm_character:get_icon(Character)},
- {<<"prt">>, bm_character:get_portrait(Character)},
+ {<<"nam">>, btl_character:get_name(Character)},
+ {<<"rnk">>, rank_to_string(btl_character:get_rank(Character))},
+ {<<"ico">>, btl_character:get_icon(Character)},
+ {<<"prt">>, btl_character:get_portrait(Character)},
{
<<"hea">>,
- bm_character:get_current_health(Character)
+ btl_character:get_current_health(Character)
},
- {<<"lc">>, bm_location:encode(Location)},
+ {<<"lc">>, btl_location:encode(Location)},
{<<"pla">>, CharacterPlayerIX},
{
<<"ena">>,
(
- bm_character:get_is_active(Character)
+ btl_character:get_is_active(Character)
and (CharacterPlayerIX == PlayerIX)
)
},
- {<<"dea">>, bm_character:get_is_defeated(Character)},
+ {<<"dea">>, btl_character:get_is_defeated(Character)},
{<<"att">>, attributes_as_json(Attributes)},
{<<"awp">>, ActiveWeapon},
{<<"swp">>, SecondaryWeapon},
- {<<"ar">>, bm_character:get_armor_id(Character)}
+ {<<"ar">>, btl_character:get_armor_id(Character)}
]
}.
diff --git a/src/battlemap/reply/bm_add_tile.erl b/src/battle/reply/btl_add_tile.erl
index 1845ffc..04c4ec2 100644
--- a/src/battlemap/reply/bm_add_tile.erl
+++ b/src/battle/reply/btl_add_tile.erl
@@ -1,4 +1,4 @@
--module(bm_add_tile).
+-module(btl_add_tile).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -16,15 +16,15 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--spec generate (bm_tile:type()) -> {list(any())}.
+-spec generate (btl_tile:type()) -> {list(any())}.
generate (Tile) ->
{
[
{<<"msg">>, <<"add_tile">>},
- {<<"id">>, bm_tile:get_id(Tile)},
- {<<"nam">>, bm_tile:get_name(Tile)},
- {<<"ct">>, bm_tile:get_cost(Tile)},
- {<<"rmi">>, bm_tile:get_range_minimum(Tile)},
- {<<"rma">>, bm_tile:get_range_maximum(Tile)}
+ {<<"id">>, btl_tile:get_id(Tile)},
+ {<<"nam">>, btl_tile:get_name(Tile)},
+ {<<"ct">>, btl_tile:get_cost(Tile)},
+ {<<"rmi">>, btl_tile:get_range_minimum(Tile)},
+ {<<"rma">>, btl_tile:get_range_maximum(Tile)}
]
}.
diff --git a/src/battlemap/reply/bm_add_weapon.erl b/src/battle/reply/btl_add_weapon.erl
index 3473265..d4edbef 100644
--- a/src/battlemap/reply/bm_add_weapon.erl
+++ b/src/battle/reply/btl_add_weapon.erl
@@ -1,4 +1,4 @@
--module(bm_add_weapon).
+-module(btl_add_weapon).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/src/battlemap/reply/bm_set_map.erl b/src/battle/reply/btl_set_map.erl
index 9989fa0..37c6331 100644
--- a/src/battlemap/reply/bm_set_map.erl
+++ b/src/battle/reply/btl_set_map.erl
@@ -1,4 +1,4 @@
--module(bm_set_map).
+-module(btl_set_map).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -16,16 +16,16 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--spec generate (bm_battlemap:type()) -> {list(any())}.
+-spec generate (btl_battlemap:type()) -> {list(any())}.
generate (Battlemap) ->
{
[
{<<"msg">>, <<"set_map">>},
- {<<"w">>, bm_battlemap:get_width(Battlemap)},
- {<<"h">>, bm_battlemap:get_height(Battlemap)},
+ {<<"w">>, btl_battlemap:get_width(Battlemap)},
+ {<<"h">>, btl_battlemap:get_height(Battlemap)},
{
<<"t">>,
- array:sparse_to_list(bm_battlemap:get_tile_class_ids(Battlemap))
+ array:sparse_to_list(btl_battlemap:get_tile_class_ids(Battlemap))
}
]
}.
diff --git a/src/battlemap/reply/bm_set_timeline.erl b/src/battle/reply/btl_set_timeline.erl
index cea3790..e6f571f 100644
--- a/src/battlemap/reply/bm_set_timeline.erl
+++ b/src/battle/reply/btl_set_timeline.erl
@@ -1,4 +1,4 @@
--module(bm_set_timeline).
+-module(btl_set_timeline).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/src/battlemap/reply/bm_turn_results.erl b/src/battle/reply/btl_turn_results.erl
index d47a693..361cab1 100644
--- a/src/battlemap/reply/bm_turn_results.erl
+++ b/src/battle/reply/btl_turn_results.erl
@@ -1,4 +1,4 @@
--module(bm_turn_results).
+-module(btl_turn_results).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/src/battlemap/struct/bm_attack.erl b/src/battle/struct/btl_attack.erl
index a1ce027..aa7659f 100644
--- a/src/battlemap/struct/bm_attack.erl
+++ b/src/battle/struct/btl_attack.erl
@@ -1,4 +1,4 @@
--module(bm_attack).
+-module(btl_attack).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -86,14 +86,14 @@ roll_parry (DefenderStatistics) ->
-spec effect_of_attack
(
order(),
- bm_character:type(),
- bm_character:type(),
+ btl_character:type(),
+ btl_character:type(),
boolean()
)
-> type().
effect_of_attack (Order, Attacker, Defender, CanParry) ->
- AttackerStatistics = bm_character:get_statistics(Attacker),
- DefenderStatistics = bm_character:get_statistics(Defender),
+ AttackerStatistics = btl_character:get_statistics(Attacker),
+ DefenderStatistics = btl_character:get_statistics(Defender),
ParryIsSuccessful = (CanParry and roll_parry(DefenderStatistics)),
@@ -108,8 +108,8 @@ effect_of_attack (Order, Attacker, Defender, CanParry) ->
false -> {Attacker, Defender}
end,
- ActualDefArmor = sh_armor:from_id(bm_character:get_armor_id(ActualDefender)),
- {ActualAtkWeaponID, _} = bm_character:get_weapon_ids(ActualAttacker),
+ ActualDefArmor = sh_armor:from_id(btl_character:get_armor_id(ActualDefender)),
+ {ActualAtkWeaponID, _} = btl_character:get_weapon_ids(ActualAttacker),
ActualAtkWeaponDmgType =
sh_weapon:get_damage_type(sh_weapon:from_id(ActualAtkWeaponID)),
@@ -151,14 +151,14 @@ encode_precision (misses) -> <<"m">>.
-spec get_description_of
(
step(),
- bm_character:type(),
- bm_character:type()
+ btl_character:type(),
+ btl_character:type()
)
-> maybe_type().
get_description_of ({first, CanParry}, Attacker, Defender) ->
effect_of_attack(first, Attacker, Defender, CanParry);
get_description_of ({second, CanParry}, Attacker, Defender) ->
- AttackerStatistics = bm_character:get_statistics(Attacker),
+ AttackerStatistics = btl_character:get_statistics(Attacker),
AttackerDoubleAttackChange =
sh_statistics:get_double_hits(AttackerStatistics),
diff --git a/src/battlemap/struct/bm_battle.erl b/src/battle/struct/btl_battle.erl
index 4c93460..8befc4e 100644
--- a/src/battlemap/struct/bm_battle.erl
+++ b/src/battle/struct/btl_battle.erl
@@ -1,4 +1,4 @@
--module(bm_battle).
+-module(btl_battle).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -12,11 +12,11 @@
id :: id(),
used_armor_ids :: list(sh_armor:id()),
used_weapon_ids :: list(sh_weapon:id()),
- used_tile_ids :: list(bm_tile:id()),
- battlemap :: bm_battlemap:type(),
- characters :: array:array(bm_character:type()),
- players :: array:array(bm_player:type()),
- current_player_turn :: bm_player_turn:type()
+ used_tile_ids :: list(btl_tile:id()),
+ battlemap :: btl_battlemap:type(),
+ characters :: array:array(btl_character:type()),
+ players :: array:array(btl_player:type()),
+ current_player_turn :: btl_player_turn:type()
}
).
@@ -68,7 +68,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
get_all_timelines (Result, CurrentIndex, EndPoint, ArraySize, Players) ->
Player = array:get(CurrentIndex, Players),
- Timeline = bm_player:get_timeline(Player),
+ Timeline = btl_player:get_timeline(Player),
NextIndex = ((CurrentIndex + 1) rem ArraySize),
NextResult = (Timeline ++ Result),
case CurrentIndex of
@@ -92,28 +92,28 @@ get_used_weapon_ids (Battle) -> Battle#battle.used_weapon_ids.
-spec get_used_armor_ids (type()) -> list(sh_armor:id()).
get_used_armor_ids (Battle) -> Battle#battle.used_armor_ids.
--spec get_used_tile_ids (type()) -> list(bm_tile:id()).
+-spec get_used_tile_ids (type()) -> list(btl_tile:id()).
get_used_tile_ids (Battle) -> Battle#battle.used_tile_ids.
--spec get_battlemap (type()) -> bm_battlemap:type().
+-spec get_battlemap (type()) -> btl_battlemap:type().
get_battlemap (Battle) -> Battle#battle.battlemap.
--spec get_characters (type()) -> array:array(bm_character:type()).
+-spec get_characters (type()) -> array:array(btl_character:type()).
get_characters (Battle) -> Battle#battle.characters.
--spec get_character (non_neg_integer(), type()) -> bm_character:type().
+-spec get_character (non_neg_integer(), type()) -> btl_character:type().
get_character (IX, Battle) ->
array:get(IX, Battle#battle.characters).
--spec get_players (type()) -> array:array(bm_player:type()).
+-spec get_players (type()) -> array:array(btl_player:type()).
get_players (Battle) ->
Battle#battle.players.
--spec get_player (non_neg_integer(), type()) -> bm_player:type().
+-spec get_player (non_neg_integer(), type()) -> btl_player:type().
get_player (IX, Battle) ->
array:get(IX, Battle#battle.players).
--spec get_current_player_turn (type()) -> bm_player_turn:type().
+-spec get_current_player_turn (type()) -> btl_player_turn:type().
get_current_player_turn (Battle) ->
Battle#battle.current_player_turn.
@@ -121,27 +121,27 @@ get_current_player_turn (Battle) ->
get_encoded_last_turns_effects (Battle) ->
CurrentPlayerTurn = Battle#battle.current_player_turn,
Players = Battle#battle.players,
- CurrentPlayerIX = bm_player_turn:get_player_ix(CurrentPlayerTurn),
+ CurrentPlayerIX = btl_player_turn:get_player_ix(CurrentPlayerTurn),
PlayersCount = array:size(Players),
StartingPoint = ((CurrentPlayerIX + 1) rem PlayersCount),
get_all_timelines([], StartingPoint, CurrentPlayerIX, PlayersCount, Players).
--spec set_battlemap (bm_battlemap:type(), type()) -> type().
+-spec set_battlemap (btl_battlemap:type(), type()) -> type().
set_battlemap (Battlemap, Battle) ->
Battle#battle
{
battlemap = Battlemap
}.
--spec set_characters (array:array(bm_character:type()), type()) -> type().
+-spec set_characters (array:array(btl_character:type()), type()) -> type().
set_characters (Characters, Battle) ->
Battle#battle
{
characters = Characters
}.
--spec set_character (non_neg_integer(), bm_character:type(), type()) -> type().
+-spec set_character (non_neg_integer(), btl_character:type(), type()) -> type().
set_character (IX, Character, Battle) ->
Battle#battle
{
@@ -154,14 +154,14 @@ set_character (IX, Character, Battle) ->
)
}.
--spec set_players (array:array(bm_player:type()), type()) -> type().
+-spec set_players (array:array(btl_player:type()), type()) -> type().
set_players (Players, Battle) ->
Battle#battle
{
players = Players
}.
--spec set_player (non_neg_integer(), bm_player:type(), type()) -> type().
+-spec set_player (non_neg_integer(), btl_player:type(), type()) -> type().
set_player (IX, Player, Battle) ->
Battle#battle
{
@@ -174,7 +174,7 @@ set_player (IX, Player, Battle) ->
)
}.
--spec set_current_player_turn (bm_player_turn:type(), type()) -> type().
+-spec set_current_player_turn (btl_player_turn:type(), type()) -> type().
set_current_player_turn (PlayerTurn, Battle) ->
Battle#battle
{
@@ -184,12 +184,12 @@ set_current_player_turn (PlayerTurn, Battle) ->
-spec new
(
id(),
- list(bm_player:type()),
- bm_battlemap:type(),
- list(bm_character:type()),
+ list(btl_player:type()),
+ btl_battlemap:type(),
+ list(btl_character:type()),
list(sh_weapon:id()),
list(sh_armor:id()),
- list(bm_tile:id())
+ list(btl_tile:id())
)
-> type().
new (ID, PlayersAsList, Battlemap, CharactersAsList, UWIDs, UAIDs, UTIDs) ->
@@ -202,7 +202,7 @@ new (ID, PlayersAsList, Battlemap, CharactersAsList, UWIDs, UAIDs, UTIDs) ->
battlemap = Battlemap,
characters = array:from_list(CharactersAsList),
players = array:from_list(PlayersAsList),
- current_player_turn = bm_player_turn:new(0, 0)
+ current_player_turn = btl_player_turn:new(0, 0)
}.
diff --git a/src/battlemap/struct/bm_battle_action.erl b/src/battle/struct/btl_battle_action.erl
index 1bc0f3b..307043a 100644
--- a/src/battlemap/struct/bm_battle_action.erl
+++ b/src/battle/struct/btl_battle_action.erl
@@ -1,4 +1,4 @@
--module(bm_battle_action).
+-module(btl_battle_action).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -7,7 +7,7 @@
(
move,
{
- path :: list(bm_direction:enum())
+ path :: list(btl_direction:enum())
}
).
@@ -57,7 +57,7 @@
-spec decode_mov_action (map()) -> type().
decode_mov_action (JSONMap) ->
PathInBinary = maps:get(<<"p">>, JSONMap),
- Path = lists:map(fun bm_direction:decode/1, PathInBinary),
+ Path = lists:map(fun btl_direction:decode/1, PathInBinary),
#move { path = Path }.
@@ -92,7 +92,7 @@ can_follow (switch_weapon, attack) -> true;
can_follow (move, attack) -> true;
can_follow (_, _) -> false.
--spec get_path (type()) -> list(bm_direction:type()).
+-spec get_path (type()) -> list(btl_direction:type()).
get_path (Action) when is_record(Action, move) ->
Action#move.path;
get_path (_) ->
diff --git a/src/battlemap/struct/bm_battlemap.erl b/src/battle/struct/btl_battlemap.erl
index 77d3041..886e2a9 100644
--- a/src/battlemap/struct/bm_battlemap.erl
+++ b/src/battle/struct/btl_battlemap.erl
@@ -1,4 +1,4 @@
--module(bm_battlemap).
+-module(btl_battlemap).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -12,7 +12,7 @@
id :: id(),
width :: integer(),
height :: integer(),
- tile_class_ids :: array:array(bm_tile:class_id())
+ tile_class_ids :: array:array(btl_tile:class_id())
}
).
@@ -48,7 +48,7 @@
-spec location_to_array_index
(
non_neg_integer(),
- bm_location:type()
+ btl_location:type()
)
-> ('error' | non_neg_integer()).
location_to_array_index (ArrayWidth, {X, Y}) ->
@@ -72,10 +72,10 @@ get_width (Battlemap) -> Battlemap#battlemap.width.
-spec get_height (type()) -> integer().
get_height (Battlemap) -> Battlemap#battlemap.height.
--spec get_tile_class_ids (type()) -> array:array(bm_tile:class_id()).
+-spec get_tile_class_ids (type()) -> array:array(btl_tile:class_id()).
get_tile_class_ids (Battlemap) -> Battlemap#battlemap.tile_class_ids.
--spec get_tile_class_id (bm_location:type(), type()) -> bm_tile:class_id().
+-spec get_tile_class_id (btl_location:type(), type()) -> btl_tile:class_id().
get_tile_class_id (Location, Battlemap) ->
TileIX = location_to_array_index(Battlemap#battlemap.width, Location),
array:get(TileIX, Battlemap#battlemap.tile_class_ids).
@@ -89,7 +89,7 @@ get_tile_class_id (Location, Battlemap) ->
)
-> type().
from_list (ID, Width, Height, List) ->
- TileClassIDs = lists:map(fun bm_tile:class_id_from_int/1, List),
+ TileClassIDs = lists:map(fun btl_tile:class_id_from_int/1, List),
#battlemap
{
diff --git a/src/battlemap/struct/bm_character.erl b/src/battle/struct/btl_character.erl
index b0e19ed..841f4ea 100644
--- a/src/battlemap/struct/bm_character.erl
+++ b/src/battle/struct/btl_character.erl
@@ -1,4 +1,4 @@
--module(bm_character).
+-module(btl_character).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/src/battlemap/struct/bm_character_turn_data.erl b/src/battle/struct/btl_character_turn_data.erl
index 65b650c..31a4b7d 100644
--- a/src/battlemap/struct/bm_character_turn_data.erl
+++ b/src/battle/struct/btl_character_turn_data.erl
@@ -1,4 +1,4 @@
--module(bm_character_turn_data).
+-module(btl_character_turn_data).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -8,8 +8,8 @@
type,
{
dirty :: boolean(),
- battle :: bm_battle:type(),
- character :: bm_character:type(),
+ battle :: btl_battle:type(),
+ character :: btl_character:type(),
character_ix :: non_neg_integer()
}
).
@@ -51,9 +51,9 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--spec new (bm_battle:type(), non_neg_integer()) -> type().
+-spec new (btl_battle:type(), non_neg_integer()) -> type().
new (Battle, CharacterIX) ->
- Character = bm_battle:get_character(CharacterIX, Battle),
+ Character = btl_battle:get_character(CharacterIX, Battle),
#type
{
@@ -66,20 +66,20 @@ new (Battle, CharacterIX) ->
-spec get_battle_is_dirty (type()) -> boolean().
get_battle_is_dirty (Data) -> Data#type.dirty.
--spec get_battle (type()) -> bm_battle:type().
+-spec get_battle (type()) -> btl_battle:type().
get_battle (Data) -> Data#type.battle.
--spec get_character (type()) -> bm_character:type().
+-spec get_character (type()) -> btl_character:type().
get_character (Data) -> Data#type.character.
-spec get_character_ix (type()) -> non_neg_integer().
get_character_ix (Data) -> Data#type.character_ix.
--spec set_battle (bm_battle:type(), type()) -> type().
+-spec set_battle (btl_battle:type(), type()) -> type().
set_battle (Battle, Data) ->
Data#type{ battle = Battle }.
--spec set_character (bm_character:type(), type()) -> type().
+-spec set_character (btl_character:type(), type()) -> type().
set_character (Character, Data) ->
Data#type
{
@@ -93,7 +93,7 @@ clean_battle (Data) ->
{
dirty = false,
battle =
- bm_battle:set_character
+ btl_battle:set_character
(
Data#type.character_ix,
Data#type.character,
@@ -107,7 +107,7 @@ refresh_character (Data) ->
{
dirty = false,
character =
- bm_battle:get_character
+ btl_battle:get_character
(
Data#type.character_ix,
Data#type.battle
diff --git a/src/battlemap/struct/bm_character_turn_request.erl b/src/battle/struct/btl_character_turn_request.erl
index 51c87a3..a4f310d 100644
--- a/src/battlemap/struct/bm_character_turn_request.erl
+++ b/src/battle/struct/btl_character_turn_request.erl
@@ -1,4 +1,4 @@
--module(bm_character_turn_request).
+-module(btl_character_turn_request).
-define(PLAYER_ID_FIELD, <<"pid">>).
-define(SESSION_TOKEN_FIELD, <<"stk">>).
@@ -13,11 +13,11 @@
(
type,
{
- player_id :: bm_player:id(),
+ player_id :: btl_player:id(),
session_token :: binary(),
battle_id :: binary(),
character_ix :: non_neg_integer(),
- actions :: list(bm_battle_action:type())
+ actions :: list(btl_battle_action:type())
}
).
@@ -57,7 +57,7 @@
decode (Map) ->
CharacterIX = maps:get(?CHAR_IX_FIELD, Map),
EncodedActions = maps:get(?ACTIONS_FIELD, Map),
- Actions = lists:map(fun bm_battle_action:decode/1, EncodedActions),
+ Actions = lists:map(fun btl_battle_action:decode/1, EncodedActions),
#type
{
@@ -68,7 +68,7 @@ decode (Map) ->
actions = Actions
}.
--spec get_player_id (type()) -> bm_player:id().
+-spec get_player_id (type()) -> btl_player:id().
get_player_id (Request) -> Request#type.player_id.
-spec get_session_token (type()) -> binary().
@@ -80,5 +80,5 @@ get_battle_id (Request) -> Request#type.battle_id.
-spec get_character_ix (type()) -> non_neg_integer().
get_character_ix (Request) -> Request#type.character_ix.
--spec get_actions (type()) -> list(bm_battle_action:type()).
+-spec get_actions (type()) -> list(btl_battle_action:type()).
get_actions (Request) -> Request#type.actions.
diff --git a/src/battlemap/struct/bm_character_turn_update.erl b/src/battle/struct/btl_character_turn_update.erl
index 1ca5d94..a6b29d9 100644
--- a/src/battlemap/struct/bm_character_turn_update.erl
+++ b/src/battle/struct/btl_character_turn_update.erl
@@ -1,4 +1,4 @@
--module(bm_character_turn_update).
+-module(btl_character_turn_update).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -7,7 +7,7 @@
(
type,
{
- data :: bm_character_turn_data:type(),
+ data :: btl_character_turn_data:type(),
timeline :: list(any()),
db :: list(sh_db_query:op())
}
@@ -42,7 +42,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--spec new (bm_character_turn_data:type()) -> type().
+-spec new (btl_character_turn_data:type()) -> type().
new (Data) ->
#type
{
@@ -51,7 +51,7 @@ new (Data) ->
db = []
}.
--spec get_data (type()) -> bm_character_turn_data:type().
+-spec get_data (type()) -> btl_character_turn_data:type().
get_data (Update) -> Update#type.data.
-spec get_timeline (type()) -> list(any()).
@@ -60,13 +60,13 @@ get_timeline (Update) -> Update#type.timeline.
-spec get_db (type()) -> list(sh_db_query:op()).
get_db (Update) -> Update#type.db.
--spec set_data (bm_character_turn_data:type(), type()) -> type().
+-spec set_data (btl_character_turn_data:type(), type()) -> type().
set_data (Data, Update) ->
Update#type{ data = Data}.
-spec add_to_timeline
(
- bm_turn_result:type(),
+ btl_turn_result:type(),
sh_db_query:op(),
type()
) -> type().
@@ -76,7 +76,7 @@ add_to_timeline (Item, DBUpdate, Update) ->
DBUpdate,
Update#type
{
- timeline = [bm_turn_result:encode(Item)|Update#type.timeline]
+ timeline = [btl_turn_result:encode(Item)|Update#type.timeline]
}
).
diff --git a/src/battlemap/struct/bm_direction.erl b/src/battle/struct/btl_direction.erl
index 2da3936..9fb5a01 100644
--- a/src/battlemap/struct/bm_direction.erl
+++ b/src/battle/struct/btl_direction.erl
@@ -1,4 +1,4 @@
--module(bm_direction).
+-module(btl_direction).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/src/battlemap/struct/bm_location.erl b/src/battle/struct/btl_location.erl
index 056d10c..9670cb0 100644
--- a/src/battlemap/struct/bm_location.erl
+++ b/src/battle/struct/btl_location.erl
@@ -1,4 +1,4 @@
--module(bm_location).
+-module(btl_location).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -44,7 +44,7 @@ validate ({X, Y}) ->
-spec get_nowhere () -> type().
get_nowhere () -> nowhere.
--spec apply_direction (bm_direction:enum(), type()) -> type().
+-spec apply_direction (btl_direction:enum(), type()) -> type().
apply_direction (left, {X, Y}) ->
validate({(X - 1), Y});
apply_direction (right, {X, Y}) ->
diff --git a/src/battlemap/struct/bm_player.erl b/src/battle/struct/btl_player.erl
index 6e5338d..1cb1d93 100644
--- a/src/battlemap/struct/bm_player.erl
+++ b/src/battle/struct/btl_player.erl
@@ -1,4 +1,4 @@
--module(bm_player).
+-module(btl_player).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/src/battlemap/struct/bm_player_turn.erl b/src/battle/struct/btl_player_turn.erl
index c72112a..e0665f4 100644
--- a/src/battlemap/struct/bm_player_turn.erl
+++ b/src/battle/struct/btl_player_turn.erl
@@ -1,4 +1,4 @@
--module(bm_player_turn).
+-module(btl_player_turn).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -43,7 +43,7 @@
-spec next_valid_player
(
non_neg_integer(),
- array:array(bm_player:type()),
+ array:array(btl_player:type()),
non_neg_integer(),
non_neg_integer()
) -> non_neg_integer().
@@ -52,7 +52,7 @@ next_valid_player (StartingPoint, _Players, _PlayersCount, StartingPoint) ->
next_valid_player (CandidateIX, Players, PlayersCount, StartingPoint) ->
Candidate = array:get(CandidateIX, Players),
- case bm_player:get_is_active(Candidate) of
+ case btl_player:get_is_active(Candidate) of
true -> CandidateIX;
_ ->
next_valid_player
@@ -82,7 +82,7 @@ get_number (PlayerTurn) -> PlayerTurn#player_turn.number.
-spec get_player_ix (type()) -> non_neg_integer().
get_player_ix (PlayerTurn) -> PlayerTurn#player_turn.player_ix.
--spec next (array:array(bm_player:type()), type()) -> type().
+-spec next (array:array(btl_player:type()), type()) -> type().
next (Players, CurrentPlayerTurn) ->
CurrentPlayerIX = CurrentPlayerTurn#player_turn.player_ix,
CurrentTurnNumber = CurrentPlayerTurn#player_turn.number,
diff --git a/src/battlemap/struct/bm_tile.erl b/src/battle/struct/btl_tile.erl
index cf00b7a..16e671b 100644
--- a/src/battlemap/struct/bm_tile.erl
+++ b/src/battle/struct/btl_tile.erl
@@ -1,4 +1,4 @@
--module(bm_tile).
+-module(btl_tile).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/src/battlemap/struct/bm_turn_result.erl b/src/battle/struct/btl_turn_result.erl
index 79fd7f3..97169e3 100644
--- a/src/battlemap/struct/bm_turn_result.erl
+++ b/src/battle/struct/btl_turn_result.erl
@@ -1,4 +1,4 @@
--module(bm_turn_result).
+-module(btl_turn_result).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -8,7 +8,7 @@
(
switched_weapon,
{
- character_ix :: bm_character:id()
+ character_ix :: btl_character:id()
}
).
@@ -16,9 +16,9 @@
(
moved,
{
- character_ix :: bm_character:id(),
- path :: list(bm_direction:enum()),
- new_location :: bm_location:type()
+ character_ix :: btl_character:id(),
+ path :: list(btl_direction:enum()),
+ new_location :: btl_location:type()
}
).
@@ -26,9 +26,9 @@
(
attacked,
{
- attacker_ix :: bm_character:id(),
- defender_ix :: bm_character:id(),
- sequence :: list(bm_attack:type())
+ attacker_ix :: btl_character:id(),
+ defender_ix :: btl_character:id(),
+ sequence :: list(btl_attack:type())
}
).
@@ -108,15 +108,15 @@ new_player_lost (PlayerIX) ->
new_player_turn_started (PlayerIX) ->
#player_turn_started { player_ix = PlayerIX }.
--spec new_character_switched_weapons (bm_character:id()) -> type().
+-spec new_character_switched_weapons (btl_character:id()) -> type().
new_character_switched_weapons (CharacterIX) ->
#switched_weapon { character_ix = CharacterIX }.
-spec new_character_moved
(
- bm_character:id(),
- list(bm_direction:enum()),
- bm_location:type()
+ btl_character:id(),
+ list(btl_direction:enum()),
+ btl_location:type()
)
-> type().
new_character_moved (CharacterIX, Path, NewLocation) ->
@@ -129,9 +129,9 @@ new_character_moved (CharacterIX, Path, NewLocation) ->
-spec new_character_attacked
(
- bm_character:id(),
- bm_character:id(),
- list(bm_attack:type())
+ btl_character:id(),
+ btl_character:id(),
+ list(btl_attack:type())
)
-> type().
new_character_attacked (AttackerIX, DefenderIX, AttackSequence) ->
@@ -157,8 +157,8 @@ encode (TurnResult) when is_record(TurnResult, moved) ->
Path = TurnResult#moved.path,
NewLocation = TurnResult#moved.new_location,
- EncodedPath = lists:map(fun bm_direction:encode/1, Path),
- EncodedNewLocation = bm_location:encode(NewLocation),
+ EncodedPath = lists:map(fun btl_direction:encode/1, Path),
+ EncodedNewLocation = btl_location:encode(NewLocation),
{
[
@@ -173,7 +173,7 @@ encode (TurnResult) when is_record(TurnResult, attacked) ->
DefenderIX = TurnResult#attacked.defender_ix,
Sequence = TurnResult#attacked.sequence,
- EncodedSequence = lists:map(fun bm_attack:encode/1, Sequence),
+ EncodedSequence = lists:map(fun btl_attack:encode/1, Sequence),
{
[
diff --git a/src/battlemap/query/bm_character_turn.erl b/src/battlemap/query/bm_character_turn.erl
deleted file mode 100644
index 7a7476c..0000000
--- a/src/battlemap/query/bm_character_turn.erl
+++ /dev/null
@@ -1,282 +0,0 @@
--module(bm_character_turn).
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--include("../../../include/yaws_api.hrl").
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--export([out/1]).
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%-spec send_to_database (list(database_diff:type()), character_turn_request:type()) -> 'ok'.
-
-
-%%%% REQUEST DECODING %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--spec decode_request (binary()) -> bm_character_turn_request:type().
-decode_request (BinaryRequest) ->
- JSONMap = jiffy:decode(BinaryRequest, [return_maps]),
-
- bm_character_turn_request:decode(JSONMap).
-
-%%%% USER AUTHENTICATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--spec authenticate_user (bm_character_turn_request:type()) -> 'ok'.
-authenticate_user (Request) ->
- PlayerID = bm_character_turn_request:get_player_id(Request),
- SessionToken = bm_character_turn_request:get_session_token(Request),
-
- bm_security:assert_identity(PlayerID, SessionToken),
- bm_security:lock_queries(PlayerID),
-
- ok.
-
-%%%% MAIN LOGIC %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--spec fetch_data
- (
- bm_character_turn_request:type()
- )
- -> bm_character_turn_data:type().
-fetch_data (Request) ->
- PlayerID = bm_character_turn_request:get_player_id(Request),
- BattleID = bm_character_turn_request:get_battle_id(Request),
- CharacterIX = bm_character_turn_request:get_character_ix(Request),
- Battle = sh_timed_cache:fetch(battle_db, PlayerID, BattleID),
-
- bm_character_turn_data:new(Battle, CharacterIX).
-
-%%%% ASSERTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--spec assert_user_is_current_player
- (
- bm_character_turn_data:type(),
- bm_character_turn_request:type()
- ) -> 'ok'.
-assert_user_is_current_player (Data, Request) ->
- PlayerID = bm_character_turn_request:get_player_id(Request),
- Battle = bm_character_turn_data:get_battle(Data),
- CurrentPlayerTurn = bm_battle:get_current_player_turn(Battle),
- CurrentPlayerIX = bm_player_turn:get_player_ix(CurrentPlayerTurn),
- CurrentPlayer = bm_battle:get_player(CurrentPlayerIX, Battle),
-
- true = (PlayerID == bm_player:get_id(CurrentPlayer)),
-
- ok.
-
--spec assert_user_owns_played_character
- (
- bm_character_turn_data:type(),
- bm_character_turn_request:type()
- ) -> 'ok'.
-assert_user_owns_played_character (Data, Request) ->
- PlayerID = bm_character_turn_request:get_player_id(Request),
- Battle = bm_character_turn_data:get_battle(Data),
- Players = bm_battle:get_players(Battle),
- Character = bm_character_turn_data:get_character(Data),
- CharacterPlayerIX = bm_character:get_player_index(Character),
- CharacterPlayer = array:get(CharacterPlayerIX, Players),
- CharacterPlayerID = bm_player:get_id(CharacterPlayer),
-
- true = (PlayerID == CharacterPlayerID),
-
- ok.
-
--spec assert_character_can_be_played (bm_character_turn_data:type()) -> 'ok'.
-assert_character_can_be_played (Data) ->
- Character = bm_character_turn_data:get_character(Data),
-
- true = bm_character:get_is_active(Character),
-
- ok.
-
--spec assert_user_permissions
- (
- bm_character_turn_data:type(),
- bm_character_turn_request:type()
- ) -> 'ok'.
-assert_user_permissions (Data, Request) ->
- assert_user_is_current_player(Data, Request),
- assert_user_owns_played_character(Data, Request),
- assert_character_can_be_played(Data),
-
- ok.
-
-%%%% QUERY LOGIC HANDLING %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--spec finalize_character
- (
- bm_character_turn_update:type()
- )
- -> bm_character_turn_update:type().
-finalize_character (Update) ->
- Data = bm_character_turn_update:get_data(Update),
- Character = bm_character_turn_data:get_character(Data),
-
- DisabledCharacter = bm_character:set_is_active(false, Character),
- UpdatedData = bm_character_turn_data:set_character(DisabledCharacter, Data),
- FinalizedData = bm_character_turn_data:clean_battle(UpdatedData),
-
- DBQuery =
- sh_db_query:update_indexed
- (
- bm_battle:get_characters_field(),
- bm_character_turn_data:get_character_ix(Data),
- [ sh_db_query:set_field(bm_character:get_is_active_field(), false) ]
- ),
-
- S0Update = bm_character_turn_update:set_data(FinalizedData, Update),
- S1Update = bm_character_turn_update:add_to_db(DBQuery, S0Update),
-
- S1Update.
-
--spec handle_actions
- (
- bm_character_turn_data:type(),
- bm_character_turn_request:type()
- )
- -> bm_character_turn_update:type().
-handle_actions (Data, Request) ->
- Actions = bm_character_turn_request:get_actions(Request),
-
- EmptyUpdate = bm_character_turn_update:new(Data),
- PostActionsUpdate =
- lists:foldl(fun bm_turn_actions:handle/2, EmptyUpdate, Actions),
-
- finalize_character(PostActionsUpdate).
-
--spec update_timeline
- (
- bm_character_turn_update:type()
- )
- -> bm_character_turn_update:type().
-update_timeline (Update) ->
- NewTimelineElements = bm_character_turn_update:get_timeline(Update),
- Data = bm_character_turn_update:get_data(Update),
- Battle = bm_character_turn_data:get_battle(Data),
- PlayerTurn = bm_battle:get_current_player_turn(Battle),
- PlayerIX = bm_player_turn:get_player_ix(PlayerTurn),
- Player = bm_battle:get_player(PlayerIX, Battle),
-
- UpdatedPlayer = bm_player:add_to_timeline(NewTimelineElements, Player),
- UpdatedBattle = bm_battle:set_player(PlayerIX, UpdatedPlayer, Battle),
- UpdatedData = bm_character_turn_data:set_battle(UpdatedBattle, Data),
-
- DBQuery =
- sh_db_query:update_indexed
- (
- bm_battle:get_players_field(),
- PlayerIX,
- [
- sh_db_query:add_to_field
- (
- bm_player:get_timeline_field(),
- NewTimelineElements,
- true % We add those to the start of the list
- )
- ]
- ),
-
- S0Update = bm_character_turn_update:set_data(UpdatedData, Update),
- S1Update = bm_character_turn_update:add_to_db(DBQuery, S0Update),
-
- S1Update.
-
-
--spec update_data
- (
- bm_character_turn_data:type(),
- bm_character_turn_request:type()
- )
- -> bm_character_turn_update:type().
-update_data (Data, Request) ->
- PostActionsUpdate = handle_actions(Data, Request),
- PostCharacterTurnUpdate = update_timeline(PostActionsUpdate),
-
- bm_next_turn:update_if_needed(PostCharacterTurnUpdate).
-
-%%%% DATABASE UPDATES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--spec send_to_database
- (
- bm_character_turn_update:type(),
- bm_character_turn_request:type()
- )
- -> 'ok'.
-send_to_database (Update, Request) ->
- PlayerID = bm_character_turn_request:get_player_id(Request),
- BattleID = bm_character_turn_request:get_battle_id(Request),
- Ops = bm_character_turn_update:get_db(Update),
- Query = sh_db_query:new(battle_db, BattleID, {user, PlayerID}, Ops),
-
- sh_database:commit(Query),
-
- ok.
-
--spec send_to_cache
- (
- bm_character_turn_update:type(),
- bm_character_turn_request:type()
- )
- -> 'ok'.
-send_to_cache (Update, Request) ->
- PlayerID = bm_character_turn_request:get_player_id(Request),
- BattleID = bm_character_turn_request:get_battle_id(Request),
- Data = bm_character_turn_update:get_data(Update),
- Battle = bm_character_turn_data:get_battle(Data),
-
- sh_timed_cache:update(battle_db, PlayerID, BattleID, Battle),
-
- ok.
-
--spec commit_update
- (
- bm_character_turn_update:type(),
- bm_character_turn_request:type()
- )
- -> 'ok'.
-commit_update (Update, Request) ->
- send_to_database(Update, Request),
- send_to_cache(Update, Request),
-
- ok.
-
-%%%% USER DISCONNECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--spec disconnect_user (bm_character_turn_request:type()) -> 'ok'.
-disconnect_user (Request) ->
- PlayerID = bm_character_turn_request:get_player_id(Request),
-
- bm_security:unlock_queries(PlayerID),
-
- ok.
-
-%%%% REPLY GENERATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--spec generate_reply (bm_character_turn_update:type()) -> binary().
-generate_reply (Update) ->
- NewTimelineItems = bm_character_turn_update:get_timeline(Update),
-
- TurnResultReply = bm_turn_results:generate(NewTimelineItems),
-
- jiffy:encode([TurnResultReply]).
-
-%%%% MAIN LOGIC %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--spec handle (binary()) -> binary().
-handle (EncodedRequest) ->
- Request = decode_request(EncodedRequest),
- authenticate_user(Request),
- Data = fetch_data(Request),
- assert_user_permissions(Data, Request),
- Update = update_data(Data, Request),
- commit_update(Update, Request),
- disconnect_user(Request),
- generate_reply(Update).
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-out(A) ->
- {
- content,
- "application/json; charset=UTF-8",
- handle(A#arg.clidata)
- }.
diff --git a/src/query/qry_handler.erl b/src/query/qry_handler.erl
new file mode 100644
index 0000000..ecf3263
--- /dev/null
+++ b/src/query/qry_handler.erl
@@ -0,0 +1,23 @@
+-module(qry_handler).
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+-export([start/1]).
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+-spec start (any()) -> 'ok'.
+start (_YawsParams) ->
+ {ok, TimedCachesManagerPid} = sh_timed_caches_manager:start(),
+ ok = btl_handler:start(TimedCachesManagerPid),
+ ok.