summaryrefslogtreecommitdiff |
diff options
author | nsensfel <SpamShield0@noot-noot.org> | 2019-04-19 17:58:56 +0200 |
---|---|---|
committer | nsensfel <SpamShield0@noot-noot.org> | 2019-04-19 17:58:56 +0200 |
commit | 2ed5b1f48f7784411bcb0983b3490b7c79032eb7 (patch) | |
tree | 7d037a73f9082cc341cec68f2d6c77bfb5acfbaf /src/battle | |
parent | 743a88c4d2bcddbf7732343179b26f7908ed9f70 (diff) |
[Broken] Starting to add ataxia_set functions...
Diffstat (limited to 'src/battle')
-rw-r--r-- | src/battle/query/btl_load.erl | 21 | ||||
-rw-r--r-- | src/battle/reply/btl_add_armor.erl | 28 | ||||
-rw-r--r-- | src/battle/reply/btl_add_portrait.erl | 29 | ||||
-rw-r--r-- | src/battle/reply/btl_add_weapon.erl | 30 | ||||
-rw-r--r-- | src/battle/struct/btl_battle.erl | 91 | ||||
-rw-r--r-- | src/battle/struct/btl_character.erl | 39 | ||||
-rw-r--r-- | src/battle/struct/btl_character_turn_data.erl | 58 |
7 files changed, 105 insertions, 191 deletions
diff --git a/src/battle/query/btl_load.erl b/src/battle/query/btl_load.erl index 107419f..dae6fbe 100644 --- a/src/battle/query/btl_load.erl +++ b/src/battle/query/btl_load.erl @@ -35,6 +35,7 @@ -spec parse_input (shr_query:type()) -> input(). parse_input (Query) -> JSONReqMap = shr_query:get_params(Query), + PlayerID = maps:get(<<"pid">>, JSONReqMap), SessionToken = maps:get(<<"stk">>, JSONReqMap), BattleID = maps:get(<<"bid">>, JSONReqMap), @@ -154,6 +155,24 @@ generate_reply (QueryState, Input) -> ordsets:to_list(btl_battle:get_used_armor_ids(Battle)) ), + AddGlyphList = + lists:map + ( + fun (GlyphID) -> + btl_add_glyph:generate(shr_glyph:from_id(GlyphID)) + end, + ordsets:to_list(btl_battle:get_used_glyph_ids(Battle)) + ), + + AddGlyphBoardList = + lists:map + ( + fun (GlyphBoardID) -> + btl_add_glyph_board:generate(shr_glyph_board:from_id(GlyphBoardID)) + end, + ordsets:to_list(btl_battle:get_used_glyph_board_ids(Battle)) + ), + AddTileList = lists:map ( @@ -168,6 +187,8 @@ generate_reply (QueryState, Input) -> AddTileList ++ [SetTimeline, SetMap | AddWeaponList] ++ AddPortraitList + ++ AddGlyphList + ++ AddGlyphBoardList ++ AddArmorList ++ AddPlayerList ++ AddCharList diff --git a/src/battle/reply/btl_add_armor.erl b/src/battle/reply/btl_add_armor.erl deleted file mode 100644 index d78edc5..0000000 --- a/src/battle/reply/btl_add_armor.erl +++ /dev/null @@ -1,28 +0,0 @@ --module(btl_add_armor). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --export([generate/1]). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec generate (shr_armor:type()) -> {list(any())}. -generate (Armor) -> - { - [ - {<<"msg">>, <<"add_armor">>}, - {<<"id">>, shr_armor:get_id(Armor)}, - {<<"nam">>, shr_armor:get_name(Armor)}, - {<<"omni">>, shr_omnimods:encode(shr_armor:get_omnimods(Armor))} - ] - }. diff --git a/src/battle/reply/btl_add_portrait.erl b/src/battle/reply/btl_add_portrait.erl deleted file mode 100644 index a634a04..0000000 --- a/src/battle/reply/btl_add_portrait.erl +++ /dev/null @@ -1,29 +0,0 @@ --module(btl_add_portrait). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --export([generate/1]). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec generate (shr_portrait:type()) -> {list(any())}. -generate (Portrait) -> - { - [ - {<<"msg">>, <<"add_portrait">>}, - {<<"id">>, shr_portrait:get_id(Portrait)}, - {<<"nam">>, shr_portrait:get_name(Portrait)}, - {<<"bid">>, shr_portrait:get_body_id(Portrait)}, - {<<"iid">>, shr_portrait:get_icon_id(Portrait)} - ] - }. diff --git a/src/battle/reply/btl_add_weapon.erl b/src/battle/reply/btl_add_weapon.erl deleted file mode 100644 index 964c6ef..0000000 --- a/src/battle/reply/btl_add_weapon.erl +++ /dev/null @@ -1,30 +0,0 @@ --module(btl_add_weapon). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --export([generate/1]). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec generate (shr_weapon:type()) -> {list(any())}. -generate (Weapon) -> - { - [ - {<<"msg">>, <<"add_weapon">>}, - {<<"id">>, shr_weapon:get_id(Weapon)}, - {<<"nam">>, shr_weapon:get_name(Weapon)}, - {<<"rmi">>, shr_weapon:get_minimum_range(Weapon)}, - {<<"rma">>, shr_weapon:get_maximum_range(Weapon)}, - {<<"omni">>, shr_omnimods:encode(shr_weapon:get_omnimods(Weapon))} - ] - }. diff --git a/src/battle/struct/btl_battle.erl b/src/battle/struct/btl_battle.erl index 2a09244..a5b5a06 100644 --- a/src/battle/struct/btl_battle.erl +++ b/src/battle/struct/btl_battle.erl @@ -9,10 +9,8 @@ ( battle, { - used_armor_ids :: ordsets:ordset(shr_armor:id()), - used_weapon_ids :: ordsets:ordset(shr_weapon:id()), - used_portrait_ids :: ordsets:ordset(shr_portrait:id()), - used_tile_ids :: ordsets:ordset(shr_tile:id()), + related_inventory :: shr_inventory:type(), + related_tile_ids :: ordsets:ordset(shr_tile:id()), map :: shr_map:type(), characters :: orddict:orddict(non_neg_integer(), btl_character:type()), players :: orddict:orddict(non_neg_integer(), btl_player:type()), @@ -31,10 +29,8 @@ -export ( [ - get_used_portrait_ids/1, - get_used_weapon_ids/1, - get_used_armor_ids/1, - get_used_tile_ids/1, + get_related_inventory/1, + get_related_tile_ids/1, get_map/1, get_characters/1, get_character/2, @@ -44,20 +40,17 @@ get_encoded_last_turns_effects/1, set_map/2, - set_used_portrait_ids/2, - set_used_weapon_ids/2, - set_used_armor_ids/2, + set_related_inventory/2, set_characters/2, set_character/3, set_players/2, set_player/3, set_current_player_turn/2, - get_used_armor_ids_field/0, - get_used_weapon_ids_field/0, - get_used_portrait_ids_field/0, get_characters_field/0, get_players_field/0, + get_related_inventory_field/0, + get_related_tile_ids_field/0, get_current_player_turn_field/0 ] ). @@ -90,17 +83,11 @@ get_all_timelines (Result, CurrentIndex, EndPoint, ArraySize, Players) -> %% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%% Accessors --spec get_used_portrait_ids (type()) -> ordsets:ordset(shr_portrait:id()). -get_used_portrait_ids (Battle) -> Battle#battle.used_portrait_ids. +-spec get_related_inventory (type()) -> shr_inventory:type(). +get_related_inventory (Battle) -> Battle#battle.related_inventory. --spec get_used_weapon_ids (type()) -> ordsets:ordset(shr_weapon:id()). -get_used_weapon_ids (Battle) -> Battle#battle.used_weapon_ids. - --spec get_used_armor_ids (type()) -> ordsets:ordset(shr_armor:id()). -get_used_armor_ids (Battle) -> Battle#battle.used_armor_ids. - --spec get_used_tile_ids (type()) -> ordsets:ordset(shr_tile:id()). -get_used_tile_ids (Battle) -> Battle#battle.used_tile_ids. +-spec get_related_tile_ids (type()) -> ordsets:ordset(shr_tile:id()). +get_related_tile_ids (Battle) -> Battle#battle.related_tile_ids. -spec get_map (type()) -> shr_map:type(). get_map (Battle) -> Battle#battle.map. @@ -146,7 +133,8 @@ get_encoded_last_turns_effects (Battle) -> set_map (Map, Battle) -> Battle#battle { - map = Map + map = Map, + related_tile_ids = shr_map:get_related_tile_ids(Map) }. -spec set_characters @@ -180,40 +168,11 @@ set_players (Players, Battle) -> players = Players }. --spec set_used_portrait_ids - ( - ordsets:ordset(shr_portrait:id()), - type() - ) - -> type(). -set_used_portrait_ids (UPIDs, Battle) -> - Battle#battle - { - used_portrait_ids = UPIDs - }. - --spec set_used_weapon_ids - ( - ordsets:ordset(shr_weapon:id()), - type() - ) - -> type(). -set_used_weapon_ids (UPIDs, Battle) -> - Battle#battle - { - used_weapon_ids = UPIDs - }. - --spec set_used_armor_ids - ( - ordsets:ordset(shr_armor:id()), - type() - ) - -> type(). -set_used_armor_ids (UPIDs, Battle) -> +-spec set_related_inventory ( shr_inventory:type(), type()) -> type(). +set_related_inventory (Inv, Battle) -> Battle#battle { - used_armor_ids = UPIDs + related_inventory = Inv }. -spec set_player (non_neg_integer(), btl_player:type(), type()) -> type(). @@ -232,15 +191,12 @@ set_current_player_turn (PlayerTurn, Battle) -> -spec new (shr_map:type()) -> type(). new (Map) -> - EmptySet = ordsets:new(), EmptyDict = orddict:new(), #battle { - used_portrait_ids = EmptySet, - used_weapon_ids = EmptySet, - used_armor_ids = EmptySet, - used_tile_ids = shr_map:get_used_tile_ids(Map), + related_inventory = shr_inventory:default(), + related_tile_ids = shr_map:get_related_tile_ids(Map), map = Map, characters = EmptyDict, players = EmptyDict, @@ -250,14 +206,11 @@ new (Map) -> -spec get_characters_field () -> non_neg_integer(). get_characters_field () -> #battle.characters. --spec get_used_portrait_ids_field () -> non_neg_integer(). -get_used_portrait_ids_field () -> #battle.used_portrait_ids. - --spec get_used_weapon_ids_field () -> non_neg_integer(). -get_used_weapon_ids_field () -> #battle.used_weapon_ids. +-spec get_related_inventory_field () -> non_neg_integer(). +get_related_inventory_field () -> #battle.related_inventory. --spec get_used_armor_ids_field () -> non_neg_integer(). -get_used_armor_ids_field () -> #battle.used_armor_ids. +-spec get_related_tile_ids_field () -> non_neg_integer(). +get_related_tile_ids_field () -> #battle.related_tile_ids. -spec get_players_field () -> non_neg_integer(). get_players_field () -> #battle.players. diff --git a/src/battle/struct/btl_character.erl b/src/battle/struct/btl_character.erl index 9194380..1136c8f 100644 --- a/src/battle/struct/btl_character.erl +++ b/src/battle/struct/btl_character.erl @@ -1,5 +1,13 @@ -module(btl_character). +-define(PLAYER_IX_FIELD, <<"pla">>). +-define(RANK_FIELD, <<"rnk">>). +-define(LOCATION_FIELD, <<"lc">>). +-define(CURRENT_HEALTH_FIELD, <<"he">>). +-define(IS_ACTIVE_FIELD, <<"ena">>). +-define(IS_DEFEATED_FIELD, <<"dea">>). +-define(BASE_CHAR_FIELD, <<"bas">>). + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -75,7 +83,9 @@ [ new/4, resolve/2, - to_unresolved/1 + to_unresolved/1, + decode/1, + encode/1 ] ). @@ -247,3 +257,30 @@ get_is_active_field () -> #btl_char_ref.is_active. get_is_defeated_field () -> #btl_char_ref.is_defeated. -spec get_base_character_field() -> non_neg_integer(). get_base_character_field () -> #btl_char_ref.base. + +-spec decode (map()) -> unresolved(). +decode (Map) -> + #btl_char_ref + { + player_ix = maps:get(?PLAYER_IX_FIELD, Map), + rank = maps:get(?RANK_FIELD, Map), + location = shr_location:decode(maps:get(?LOCATION_FIELD, Map)), + current_health = maps:get(?CURRENT_HEALTH_FIELD, Map), + is_active = maps:get(?IS_ACTIVE_FIELD, Map), + is_defeated = maps:get(?IS_DEFEATED_FIELD, Map), + base = shr_character:decode(maps:get(?BASE_CHAR_FIELD, Map)) + }. + +-spec encode (unresolved()) -> unresolved(). +encode (CharRef) -> + { + [ + {?PLAYER_IX_FIELD, CharRef#btl_char_ref.player_ix}, + {?RANK_FIELD, CharRef#btl_char_ref.rank}, + {?LOCATION_FIELD, shr_location:encode(CharRef#btl_char_ref.location)}, + {?CURRENT_HEALTH_FIELD, CharRef#btl_char_ref.current_health}, + {?IS_ACTIVE_FIELD, CharRef#btl_char_ref.is_active}, + {?IS_DEFEATED_FIELD, CharRef#btl_char_ref.is_defeated}, + {?BASE_CHAR_FIELD, shr_character:encode(CharRef#btl_char_ref.base)} + ] + }. diff --git a/src/battle/struct/btl_character_turn_data.erl b/src/battle/struct/btl_character_turn_data.erl index 6742d1c..5f44f8a 100644 --- a/src/battle/struct/btl_character_turn_data.erl +++ b/src/battle/struct/btl_character_turn_data.erl @@ -10,7 +10,6 @@ dirty :: boolean(), battle :: btl_battle:type(), character :: btl_character:type(), - character_current_data :: btl_character_current_data:type(), character_ix :: non_neg_integer() } ). @@ -30,12 +29,10 @@ get_battle_is_dirty/1, get_battle/1, get_character/1, - get_character_current_data/1, get_character_ix/1, set_battle/2, - set_character/2, - refresh_character_current_data/1 + set_character/2 ] ). @@ -43,29 +40,43 @@ ( [ clean_battle/1, - refreshr_character/1 + refresh_character/1 ] ). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-spec resolve_character_at + ( + btl_battle:type(), + non_neg_integer() + ) -> btl_charater:type(). +resolve_character_at (Battle, CharacterIX) -> + CharacterRef = btl_battle:get_character(CharacterIX, Battle), + Location = btl_character:get_location(CharacterRef), + Map = btl_battle:get_map(Battle), + + TileInstance = shr_map:get_tile_instance(Location, Map), + TileClassID = shr_tile_instance:get_tile_id(TileInstance), + Tile = shr_tile:from_id(TileClassID), + TileOmnimods = shr_tile:get_omnimods(Tile), + + Character = btl_character:resolve(TileOmnimods, CharacterRef), + + Character. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -spec new (btl_battle:type(), non_neg_integer()) -> type(). new (Battle, CharacterIX) -> - Character = btl_battle:get_character(CharacterIX, Battle), - Map = btl_battle:get_map(Battle), - CharacterCurrentData = btl_character_current_data:new(Character, Map), #type { dirty = false, battle = Battle, - character = Character, - character_current_data = CharacterCurrentData, + character = resolve_character_at(Battle, CharacterIX), character_ix = CharacterIX }. @@ -78,9 +89,6 @@ get_battle (Data) -> Data#type.battle. -spec get_character (type()) -> btl_character:type(). get_character (Data) -> Data#type.character. --spec get_character_current_data (type()) -> btl_character_current_data:type(). -get_character_current_data (Data) -> Data#type.character_current_data. - -spec get_character_ix (type()) -> non_neg_integer(). get_character_ix (Data) -> Data#type.character_ix. @@ -96,19 +104,6 @@ set_character (Character, Data) -> character = Character }. --spec refresh_character_current_data (type()) -> type(). -refresh_character_current_data (Data) -> - Battle = Data#type.battle, - Character = Data#type.character, - Map = btl_battle:get_map(Battle), - CharacterCurrentData = btl_character_current_data:new(Character, Map), - - Data#type - { - character_current_data = CharacterCurrentData - }. - - -spec clean_battle (type()) -> type(). clean_battle (Data) -> Data#type @@ -123,15 +118,10 @@ clean_battle (Data) -> ) }. --spec refreshr_character (type()) -> type(). -refreshr_character (Data) -> +-spec refresh_character (type()) -> type(). +refresh_character (Data) -> Data#type { dirty = false, - character = - btl_battle:get_character - ( - Data#type.character_ix, - Data#type.battle - ) + character = resolve_character_at(Data#type.battle, Data#type.character_ix) }. |