summaryrefslogtreecommitdiff |
diff options
author | nsensfel <SpamShield0@noot-noot.org> | 2019-02-15 15:53:58 +0100 |
---|---|---|
committer | nsensfel <SpamShield0@noot-noot.org> | 2019-02-15 15:53:58 +0100 |
commit | 9b91ff37a1e39f48631b5bee338c31318d1e2336 (patch) | |
tree | ccaa397a8268bcc8c2679ecbfa5fe75bf11b242a /src/battle | |
parent | 103d1672665b64c85808836778fde21b7622abd1 (diff) |
/{btl,map}_{map,location,direction}/shr_\2/
Diffstat (limited to 'src/battle')
-rw-r--r-- | src/battle/mechanic/turn_action/btl_turn_actions_attack.erl | 2 | ||||
-rw-r--r-- | src/battle/mechanic/turn_action/btl_turn_actions_move.erl | 32 | ||||
-rw-r--r-- | src/battle/query/btl_load.erl | 2 | ||||
-rw-r--r-- | src/battle/reply/btl_add_char.erl | 2 | ||||
-rw-r--r-- | src/battle/reply/btl_set_map.erl | 35 | ||||
-rw-r--r-- | src/battle/struct/btl_battle.erl | 10 | ||||
-rw-r--r-- | src/battle/struct/btl_battle_action.erl | 8 | ||||
-rw-r--r-- | src/battle/struct/btl_character.erl | 2 | ||||
-rw-r--r-- | src/battle/struct/btl_character_current_data.erl | 6 | ||||
-rw-r--r-- | src/battle/struct/btl_direction.erl | 38 | ||||
-rw-r--r-- | src/battle/struct/btl_location.erl | 90 | ||||
-rw-r--r-- | src/battle/struct/btl_map.erl | 126 | ||||
-rw-r--r-- | src/battle/struct/btl_turn_result.erl | 12 |
13 files changed, 38 insertions, 327 deletions
diff --git a/src/battle/mechanic/turn_action/btl_turn_actions_attack.erl b/src/battle/mechanic/turn_action/btl_turn_actions_attack.erl index 462e868..b59efb7 100644 --- a/src/battle/mechanic/turn_action/btl_turn_actions_attack.erl +++ b/src/battle/mechanic/turn_action/btl_turn_actions_attack.erl @@ -123,7 +123,7 @@ handle_attack_sequence -> list(btl_attack:step()). get_attack_sequence (Character, TargetCharacter) -> Range = - btl_location:dist + shr_location:dist ( btl_character:get_location(Character), btl_character:get_location(TargetCharacter) diff --git a/src/battle/mechanic/turn_action/btl_turn_actions_move.erl b/src/battle/mechanic/turn_action/btl_turn_actions_move.erl index bf023d5..814239b 100644 --- a/src/battle/mechanic/turn_action/btl_turn_actions_move.erl +++ b/src/battle/mechanic/turn_action/btl_turn_actions_move.erl @@ -18,18 +18,18 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -spec cross ( - btl_map:type(), - list(btl_location:type()), - list(btl_direction:enum()), + shr_map:type(), + list(shr_location:type()), + list(shr_direction:enum()), non_neg_integer(), - btl_location:type() + shr_location:type() ) - -> {btl_location:type(), non_neg_integer()}. + -> {shr_location:type(), non_neg_integer()}. cross (_Map, _ForbiddenLocations, [], Cost, Location) -> {Location, Cost}; cross (Map, ForbiddenLocations, [Step|NextSteps], Cost, Location) -> - NextLocation = btl_location:apply_direction(Step, Location), - NextTileInstance = btl_map:get_tile_instance(NextLocation, Map), + NextLocation = shr_location:apply_direction(Step, Location), + NextTileInstance = shr_map:get_tile_instance(NextLocation, Map), NextTileClassID = shr_tile:extract_main_class_id(NextTileInstance), NextTile = shr_tile:from_class_id(NextTileClassID), NextCost = (Cost + shr_tile:get_cost(NextTile)), @@ -49,21 +49,21 @@ cross (Map, ForbiddenLocations, [Step|NextSteps], Cost, Location) -> -spec cross ( - btl_map:type(), - list(btl_location:type()), - list(btl_direction:enum()), - btl_location:type() + shr_map:type(), + list(shr_location:type()), + list(shr_direction:enum()), + shr_location:type() ) - -> {btl_location:type(), non_neg_integer()}. + -> {shr_location:type(), non_neg_integer()}. cross (Map, ForbiddenLocations, Path, Location) -> cross(Map, ForbiddenLocations, Path, 0, Location). -spec get_path_cost_and_destination ( btl_character_turn_data:type(), - list(btl_direction:type()) + list(shr_direction:type()) ) - -> {non_neg_integer(), btl_location:type()}. + -> {non_neg_integer(), shr_location:type()}. get_path_cost_and_destination (Data, Path) -> Character = btl_character_turn_data:get_character(Data), CharacterIX = btl_character_turn_data:get_character_ix(Data), @@ -116,8 +116,8 @@ assert_character_can_move (Data, Cost) -> ( btl_character_current_data:type(), btl_character_turn_update:type(), - list(btl_direction:type()), - btl_location:type() + list(shr_direction:type()), + shr_location:type() ) -> btl_character_turn_update:type(). commit_move (PreviousCurrentData, Update, Path, NewLocation) -> diff --git a/src/battle/query/btl_load.erl b/src/battle/query/btl_load.erl index f41e46c..eec8edb 100644 --- a/src/battle/query/btl_load.erl +++ b/src/battle/query/btl_load.erl @@ -100,7 +100,7 @@ generate_reply (QueryState, Input) -> btl_battle:get_encoded_last_turns_effects(Battle) ), - SetMap = btl_set_map:generate(btl_battle:get_map(Battle)), + SetMap = shr_set_map:generate(btl_battle:get_map(Battle)), AddCharList = lists:map diff --git a/src/battle/reply/btl_add_char.erl b/src/battle/reply/btl_add_char.erl index 6cd2157..9518677 100644 --- a/src/battle/reply/btl_add_char.erl +++ b/src/battle/reply/btl_add_char.erl @@ -46,7 +46,7 @@ generate (IX, Character, PlayerIX) -> <<"hea">>, btl_character:get_current_health(Character) }, - {<<"lc">>, btl_location:encode(Location)}, + {<<"lc">>, shr_location:encode(Location)}, {<<"pla">>, CharacterPlayerIX}, { <<"ena">>, diff --git a/src/battle/reply/btl_set_map.erl b/src/battle/reply/btl_set_map.erl deleted file mode 100644 index 3be6985..0000000 --- a/src/battle/reply/btl_set_map.erl +++ /dev/null @@ -1,35 +0,0 @@ --module(btl_set_map). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --export([generate/1]). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec generate (btl_map:type()) -> {list(any())}. -generate (Map) -> - { - [ - {<<"msg">>, <<"set_map">>}, - {<<"w">>, btl_map:get_width(Map)}, - {<<"h">>, btl_map:get_height(Map)}, - { - <<"t">>, - lists:map - ( - fun shr_tile:instance_to_binary_list/1, - tuple_to_list(btl_map:get_tile_instances(Map)) - ) - } - ] - }. diff --git a/src/battle/struct/btl_battle.erl b/src/battle/struct/btl_battle.erl index 7acdc13..7237072 100644 --- a/src/battle/struct/btl_battle.erl +++ b/src/battle/struct/btl_battle.erl @@ -13,7 +13,7 @@ used_weapon_ids :: ordsets:ordset(shr_weapon:id()), used_portrait_ids :: ordsets:ordset(shr_portrait:id()), used_tile_ids :: ordsets:ordset(shr_tile:class_id()), - map :: btl_map:type(), + map :: shr_map:type(), characters :: orddict:orddict(non_neg_integer(), btl_character:type()), players :: orddict:orddict(non_neg_integer(), btl_player:type()), current_player_turn :: btl_player_turn:type() @@ -102,7 +102,7 @@ get_used_armor_ids (Battle) -> Battle#battle.used_armor_ids. -spec get_used_tile_ids (type()) -> ordsets:ordset(shr_tile:class_id()). get_used_tile_ids (Battle) -> Battle#battle.used_tile_ids. --spec get_map (type()) -> btl_map:type(). +-spec get_map (type()) -> shr_map:type(). get_map (Battle) -> Battle#battle.map. -spec get_characters @@ -142,7 +142,7 @@ get_encoded_last_turns_effects (Battle) -> StartingPoint = ((CurrentPlayerIX + 1) rem PlayersCount), get_all_timelines([], StartingPoint, CurrentPlayerIX, PlayersCount, Players). --spec set_map (btl_map:type(), type()) -> type(). +-spec set_map (shr_map:type(), type()) -> type(). set_map (Map, Battle) -> Battle#battle { @@ -230,7 +230,7 @@ set_current_player_turn (PlayerTurn, Battle) -> current_player_turn = PlayerTurn }. --spec new (btl_map:type()) -> type(). +-spec new (shr_map:type()) -> type(). new (Map) -> EmptySet = ordsets:new(), EmptyDict = orddict:new(), @@ -240,7 +240,7 @@ new (Map) -> used_portrait_ids = EmptySet, used_weapon_ids = EmptySet, used_armor_ids = EmptySet, - used_tile_ids = btl_map:get_used_tile_ids(Map), + used_tile_ids = shr_map:get_used_tile_ids(Map), map = Map, characters = EmptyDict, players = EmptyDict, diff --git a/src/battle/struct/btl_battle_action.erl b/src/battle/struct/btl_battle_action.erl index 5d42536..2c7564b 100644 --- a/src/battle/struct/btl_battle_action.erl +++ b/src/battle/struct/btl_battle_action.erl @@ -7,7 +7,7 @@ ( move, { - path :: list(btl_direction:enum()) + path :: list(shr_direction:enum()) } ). @@ -60,10 +60,10 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec maybe_decode_move (list(btl_direction:type())) -> list(type()). +-spec maybe_decode_move (list(shr_direction:type())) -> list(type()). maybe_decode_move ([]) -> []; maybe_decode_move (PathInBinary) -> - Path = lists:map(fun btl_direction:decode/1, PathInBinary), + Path = lists:map(fun shr_direction:decode/1, PathInBinary), [#move { path = Path }]. @@ -83,7 +83,7 @@ can_follow (move, switch_weapon) -> true; can_follow (move, attack) -> true; can_follow (_, _) -> false. --spec get_path (type()) -> list(btl_direction:type()). +-spec get_path (type()) -> list(shr_direction:type()). get_path (Action) when is_record(Action, move) -> Action#move.path; get_path (_) -> diff --git a/src/battle/struct/btl_character.erl b/src/battle/struct/btl_character.erl index 53e80aa..08a1080 100644 --- a/src/battle/struct/btl_character.erl +++ b/src/battle/struct/btl_character.erl @@ -187,7 +187,7 @@ set_weapon_ids (WeaponIDs, Char) -> shr_portrait:id(), {shr_weapon:id(), shr_weapon:id()}, shr_armor:id(), - btl_location:type(), + shr_location:type(), shr_omnimods:type() ) -> type(). diff --git a/src/battle/struct/btl_character_current_data.erl b/src/battle/struct/btl_character_current_data.erl index 60bfdbc..0be920b 100644 --- a/src/battle/struct/btl_character_current_data.erl +++ b/src/battle/struct/btl_character_current_data.erl @@ -43,11 +43,11 @@ -spec location_to_omnimods ( {non_neg_integer(), non_neg_integer()}, - btl_map:type() + shr_map:type() ) -> shr_omnimods:type(). location_to_omnimods (Location, Map) -> - TileInstance = btl_map:get_tile_instance(Location, Map), + TileInstance = shr_map:get_tile_instance(Location, Map), TileClassID = shr_tile:extract_main_class_id(TileInstance), Tile = shr_tile:from_class_id(TileClassID), @@ -73,7 +73,7 @@ get_attributes (Char) -> Char#character_current_data.attributes. get_statistics (Char) -> Char#character_current_data.statistics. %%%% Utils --spec new (btl_character:type(), btl_map:type()) -> type(). +-spec new (btl_character:type(), shr_map:type()) -> type(). new (Character, Map) -> PermanentOmnimods = btl_character:get_permanent_omnimods(Character), diff --git a/src/battle/struct/btl_direction.erl b/src/battle/struct/btl_direction.erl deleted file mode 100644 index 9fb5a01..0000000 --- a/src/battle/struct/btl_direction.erl +++ /dev/null @@ -1,38 +0,0 @@ --module(btl_direction). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --type enum() :: ('up' | 'down' | 'left' | 'right'). --type type() :: enum(). - --export_type([enum/0, type/0]). -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --export -( - [ - decode/1, - encode/1 - ] -). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec decode (binary()) -> enum(). -decode (<<"U">>) -> up; -decode (<<"D">>) -> down; -decode (<<"L">>) -> left; -decode (<<"R">>) -> right. - --spec encode (enum()) -> binary(). -encode (up) -> <<"U">>; -encode (down) -> <<"D">>; -encode (left) -> <<"L">>; -encode (right) -> <<"R">>. diff --git a/src/battle/struct/btl_location.erl b/src/battle/struct/btl_location.erl deleted file mode 100644 index 9670cb0..0000000 --- a/src/battle/struct/btl_location.erl +++ /dev/null @@ -1,90 +0,0 @@ --module(btl_location). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --type type() :: ({non_neg_integer(), non_neg_integer()} | 'nowhere'). - --export_type([type/0]). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --export -( - [ - decode/1, - encode/1, - get_nowhere/0 - ] -). - --export -( - [ - apply_direction/2, - dist/2 - ] -). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec validate ({integer(), integer()}) -> type(). -validate ({X, Y}) -> - if - (X < 0) -> nowhere; - (Y < 0) -> nowhere; - true -> {X, Y} - end. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec get_nowhere () -> type(). -get_nowhere () -> nowhere. - --spec apply_direction (btl_direction:enum(), type()) -> type(). -apply_direction (left, {X, Y}) -> - validate({(X - 1), Y}); -apply_direction (right, {X, Y}) -> - validate({(X + 1), Y}); -apply_direction (up, {X, Y}) -> - validate({X, (Y - 1)}); -apply_direction (down, {X, Y}) -> - validate({X, (Y + 1)}); -apply_direction (_, nowhere) -> - error("Trying to move from 'nowhere'."), - nowhere. - --spec dist(type(), type()) -> non_neg_integer(). -dist ({OX, OY}, {DX, DY}) -> - (abs(DY - OY) + abs(DX - OX)); -dist (_, _) -> - error("Trying to measure distance to 'nowhere'"), - 999. - --spec encode (type()) -> {list(any())}. -encode ({X, Y}) -> - { - [ - {<<"x">>, X}, - {<<"y">>, Y} - ] - }; -encode (nowhere) -> - { - [ - {<<"x">>, -1}, - {<<"y">>, -1} - ] - }. - --spec decode (map()) -> type(). -decode (Map) -> - X = maps:get(<<"x">>, Map), - Y = maps:get(<<"y">>, Map), - - true = (is_integer(X) and is_integer(Y)), - - validate({X, Y}). diff --git a/src/battle/struct/btl_map.erl b/src/battle/struct/btl_map.erl deleted file mode 100644 index 17a272b..0000000 --- a/src/battle/struct/btl_map.erl +++ /dev/null @@ -1,126 +0,0 @@ --module(btl_map). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --record -( - map, - { - width :: integer(), - height :: integer(), - tile_ids :: shr_tile:instances_tuple() - } -). - --opaque type() :: #map{}. - --export_type([type/0]). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%% Accessors --export -( - [ - get_width/1, - get_height/1, - get_tile_instances/1, - get_tile_instance/2, - get_used_tile_ids/1 - ] -). - --export -( - [ - from_list/3, - from_instances_tuple/3 - ] -). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec location_to_index - ( - non_neg_integer(), - btl_location:type() - ) - -> ('error' | non_neg_integer()). -location_to_index (ArrayWidth, {X, Y}) -> - if - (X < 0) -> error; - (Y < 0) -> error; - (X >= ArrayWidth) -> error; - true -> ((Y * ArrayWidth) + X) - end. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%% Accessors --spec get_width (type()) -> integer(). -get_width (Map) -> Map#map.width. - --spec get_height (type()) -> integer(). -get_height (Map) -> Map#map.height. - --spec get_tile_instances (type()) -> shr_tile:instances_tuple(). -get_tile_instances (Map) -> Map#map.tile_ids. - --spec get_tile_instance (btl_location:type(), type()) -> shr_tile:instance(). -get_tile_instance (Location, Map) -> - TileIX = location_to_index(Map#map.width, Location), - element((TileIX + 1), Map#map.tile_ids). - --spec from_list - ( - non_neg_integer(), - non_neg_integer(), - list(list(binary())) - ) - -> type(). -from_list (Width, Height, List) -> - TileInstances = lists:map(fun shr_tile:instance_from_binary_list/1, List), - - #map - { - width = Width, - height = Height, - tile_ids = list_to_tuple(TileInstances) - }. - --spec from_instances_tuple - ( - non_neg_integer(), - non_neg_integer(), - shr_tile:instances_tuple() - ) - -> type(). -from_instances_tuple (Width, Height, TileInstances) -> - #map - { - width = Width, - height = Height, - tile_ids = TileInstances - }. - --spec get_used_tile_ids (type()) -> ordsets:ordset(shr_tile:class_id()). -get_used_tile_ids (Map) -> - UsedTileIDs = - lists:foldl - ( - fun (TileInstance, CurrentTileIDs) -> - ordsets:add_element - ( - shr_tile:extract_main_class_id(TileInstance), - CurrentTileIDs - ) - end, - ordsets:new(), - tuple_to_list(Map#map.tile_ids) - ), - - UsedTileIDs. diff --git a/src/battle/struct/btl_turn_result.erl b/src/battle/struct/btl_turn_result.erl index 7ae9ffe..af1fded 100644 --- a/src/battle/struct/btl_turn_result.erl +++ b/src/battle/struct/btl_turn_result.erl @@ -17,8 +17,8 @@ moved, { character_ix :: non_neg_integer(), - path :: list(btl_direction:enum()), - new_location :: btl_location:type() + path :: list(shr_direction:enum()), + new_location :: shr_location:type() } ). @@ -117,8 +117,8 @@ new_character_switched_weapons (CharacterIX) -> -spec new_character_moved ( non_neg_integer(), - list(btl_direction:enum()), - btl_location:type() + list(shr_direction:enum()), + shr_location:type() ) -> type(). new_character_moved (CharacterIX, Path, NewLocation) -> @@ -170,8 +170,8 @@ encode (TurnResult) when is_record(TurnResult, moved) -> Path = TurnResult#moved.path, NewLocation = TurnResult#moved.new_location, - EncodedPath = lists:map(fun btl_direction:encode/1, Path), - EncodedNewLocation = btl_location:encode(NewLocation), + EncodedPath = lists:map(fun shr_direction:encode/1, Path), + EncodedNewLocation = shr_location:encode(NewLocation), { [ |