| summaryrefslogtreecommitdiff | 
diff options
| author | nsensfel <SpamShield0@noot-noot.org> | 2018-08-29 16:46:13 +0200 | 
|---|---|---|
| committer | nsensfel <SpamShield0@noot-noot.org> | 2018-08-29 16:46:13 +0200 | 
| commit | e1c7e78b4b4db2f818226faf58efff82fbdfeeaa (patch) | |
| tree | 40bcb27bcb157ac0301681ef365892a78efe904a /src/battle | |
| parent | 9ffa08c3aad8e4f40b7f7d1e7845e5153f9c34ab (diff) | |
Updates TODOs, handles max health changes.
Diffstat (limited to 'src/battle')
| -rw-r--r-- | src/battle/game-logic/btl_turn_actions_move.erl | 26 | ||||
| -rw-r--r-- | src/battle/game-logic/btl_victory.erl | 6 | 
2 files changed, 20 insertions, 12 deletions
| diff --git a/src/battle/game-logic/btl_turn_actions_move.erl b/src/battle/game-logic/btl_turn_actions_move.erl index 5669b75..1485094 100644 --- a/src/battle/game-logic/btl_turn_actions_move.erl +++ b/src/battle/game-logic/btl_turn_actions_move.erl @@ -61,10 +61,9 @@ get_path_cost_and_destination (Data, Path) ->     )     -> 'ok'.  assert_character_can_move (Data, Cost) -> -   Character = btl_character_turn_data:get_character(Data), -   CharacterStatistics = btl_character:get_statistics(Character), -   CharacterMovementPoints = -      shr_statistics:get_movement_points(CharacterStatistics), +   CharacterData = btl_character_turn_data:get_character_current_data(Data), +   CharacterStats= btl_character_current_data:get_statistics(CharacterData), +   CharacterMovementPoints = shr_statistics:get_movement_points(CharacterStats),     true = (Cost =< CharacterMovementPoints), @@ -72,19 +71,24 @@ assert_character_can_move (Data, Cost) ->  -spec commit_move     ( +      btl_character_current_data:type(),        btl_character_turn_update:type(),        list(btl_direction:type()),        btl_location:type()     )     -> btl_character_turn_update:type(). -commit_move (Update, Path, NewLocation) -> +commit_move (PreviousCurrentData, Update, Path, NewLocation) ->     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 = btl_character:set_location(NewLocation, Character), +   S0Data = btl_character_turn_data:set_character(UpdatedCharacter, Data), +   S1Data = btl_character_turn_data:refresh_character_current_data(S0Data), -   UpdatedData = btl_character_turn_data:set_character(UpdatedCharacter, Data), +   S0Update = btl_character_turn_update:set_data(S1Data, Update), +   S1Update = +      btl_turn_actions:handle_max_health_changes(PreviousCurrentData, S0Update),     TimelineItem =        btl_turn_result:new_character_moved(CharacterIX, Path, NewLocation), @@ -103,15 +107,15 @@ commit_move (Update, Path, NewLocation) ->           ]        ), -   S0Update = +   S2Update =        btl_character_turn_update:add_to_timeline        (           TimelineItem,           DBQuery, -         Update +         S1Update        ), -   btl_character_turn_update:set_data(UpdatedData, S0Update). +   S2Update.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -124,9 +128,11 @@ commit_move (Update, Path, NewLocation) ->     -> btl_character_turn_update:type().  handle (BattleAction, Update) ->     Data = btl_character_turn_update:get_data(Update), +   CharacterCurrentData = +      btl_character_turn_data:get_character_current_data(Data),     Path = btl_battle_action:get_path(BattleAction),     {PathCost, NewLocation} = get_path_cost_and_destination(Data, Path),     assert_character_can_move(Data, PathCost), -   commit_move(Update, Path, NewLocation). +   commit_move(CharacterCurrentData, Update, Path, NewLocation). diff --git a/src/battle/game-logic/btl_victory.erl b/src/battle/game-logic/btl_victory.erl index 5611302..116fdc3 100644 --- a/src/battle/game-logic/btl_victory.erl +++ b/src/battle/game-logic/btl_victory.erl @@ -69,7 +69,8 @@ handle_player_defeat (PlayerIX, Update) ->     Battle = btl_character_turn_data:get_battle(Data),     Characters = btl_battle:get_characters(Battle), -   %% FIXME: The controlled character might slip through. +   %% FIXME [FUNCTION: battle][MEDIUM]: The controlled character might slip +   %% through.     {UpdatedCharacters, ModifiedIXs} =        mark_players_characters_as_defeated(PlayerIX, Characters), @@ -81,7 +82,8 @@ handle_player_defeat (PlayerIX, Update) ->           ModifiedIXs        ), -   %% TODO: Battle.player[PlayerIX].is_active <- false +   %% TODO [FUNCTION: battle][MEDIUM]: Battle.player[PlayerIX].is_active <- +   %% false     UpdatedBattle = btl_battle:set_characters(UpdatedCharacters, Battle),     UpdatedData = btl_character_turn_data:set_battle(UpdatedBattle, Data), | 


