| summaryrefslogtreecommitdiff | 
diff options
| author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2019-03-23 01:33:48 +0100 | 
|---|---|---|
| committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2019-03-23 01:33:48 +0100 | 
| commit | b4f009b5b6acae8a7c2713858119e1e4be17b616 (patch) | |
| tree | 11f8ce5ae01431929436768e6ff462a137c8369f /src/battle | |
| parent | 8a8e05469c15e8dea34c0466bc70a105628afc8e (diff) | |
[Broken] ... still refactoring ...
Diffstat (limited to 'src/battle')
| -rw-r--r-- | src/battle/src/Struct/Character.elm | 15 | ||||
| -rw-r--r-- | src/battle/src/Struct/CharacterTurn.elm | 4 | ||||
| -rw-r--r-- | src/battle/src/Struct/Model.elm | 2 | ||||
| -rw-r--r-- | src/battle/src/Struct/TurnResult.elm | 36 | ||||
| -rw-r--r-- | src/battle/src/Update/RequestDirection.elm | 6 | ||||
| -rw-r--r-- | src/battle/src/Update/SelectTile.elm | 7 | ||||
| -rw-r--r-- | src/battle/src/Update/SwitchWeapon.elm | 7 | ||||
| -rw-r--r-- | src/battle/src/Update/UndoAction.elm | 28 | 
8 files changed, 66 insertions, 39 deletions
| diff --git a/src/battle/src/Struct/Character.elm b/src/battle/src/Struct/Character.elm index 868519d..88356f5 100644 --- a/src/battle/src/Struct/Character.elm +++ b/src/battle/src/Struct/Character.elm @@ -11,6 +11,7 @@ module Struct.Character exposing        set_current_health,        get_location,        set_location, +      dirty_set_location,        is_enabled,        is_defeated,        is_alive, @@ -28,9 +29,11 @@ import Json.Decode.Pipeline  -- Battle ----------------------------------------------------------------------  import Battle.Struct.Omnimods +import Battle.Struct.Statistics  -- Battle Characters -----------------------------------------------------------  import BattleCharacters.Struct.Character +import BattleCharacters.Struct.Equipment  -- Battle Map ------------------------------------------------------------------  import BattleMap.Struct.Location @@ -128,6 +131,7 @@ set_location : (        Battle.Struct.Omnimods.Type ->        Type ->        Type +   )  set_location location omnimods char =     let        previous_max_health = @@ -140,10 +144,16 @@ set_location location omnimods char =           {char |              location = location,              base = -               (BattleCharacters.Struct.Character.set_extra_omnimods omnimods) +               (BattleCharacters.Struct.Character.set_extra_omnimods +                  omnimods +                  char.base +               )           }        ) +dirty_set_location : BattleMap.Struct.Location.Type -> Type -> Type +dirty_set_location location char = { char | location = location } +  get_base_character : Type -> BattleCharacters.Struct.Character.Type  get_base_character char = char.base @@ -180,7 +190,6 @@ decoder =     (Json.Decode.succeed        Unresolved        |> (Json.Decode.Pipeline.required "ix" Json.Decode.int) -      |> (Json.Decode.Pipeline.required "nam" Json.Decode.string)        |>           (Json.Decode.Pipeline.required              "rnk" @@ -215,7 +224,7 @@ resolve location_omnimod_resolver equipment_resolver ref =        ix = ref.ix,        rank = ref.rank,        location = ref.location, -      health = ref.location, +      health = ref.health,        player_ix = ref.player_ix,        enabled = ref.enabled,        defeated = ref.defeated, diff --git a/src/battle/src/Struct/CharacterTurn.elm b/src/battle/src/Struct/CharacterTurn.elm index 369b851..825f29a 100644 --- a/src/battle/src/Struct/CharacterTurn.elm +++ b/src/battle/src/Struct/CharacterTurn.elm @@ -121,7 +121,7 @@ lock_path ct =              navigator = (Just (Struct.Navigator.lock_path old_nav))           } -      (_, _) -> +      _ ->           ct  unlock_path : Type -> Type @@ -134,7 +134,7 @@ unlock_path ct =              navigator = (Just (Struct.Navigator.unlock_path old_nav))           } -      (_, _) -> +      _ ->           ct  show_attack_range_navigator : Int -> Int -> Type -> Type diff --git a/src/battle/src/Struct/Model.elm b/src/battle/src/Struct/Model.elm index 10224db..86055b2 100644 --- a/src/battle/src/Struct/Model.elm +++ b/src/battle/src/Struct/Model.elm @@ -8,6 +8,8 @@ module Struct.Model exposing        add_weapon,        add_armor,        add_portrait, +      add_glyph_board, +      add_glyph,        add_player,        add_tile,        invalidate, diff --git a/src/battle/src/Struct/TurnResult.elm b/src/battle/src/Struct/TurnResult.elm index 7599a7f..7325e93 100644 --- a/src/battle/src/Struct/TurnResult.elm +++ b/src/battle/src/Struct/TurnResult.elm @@ -116,10 +116,12 @@ apply_movement_step tile_omnimods movement characters players =                    )                 Nothing -> -                  (Struct.Character.set_location -                     (tile_omnimods (Struct.Character.get_location char)) -                     char -                  ) +                  let current_location = (Struct.Character.get_location char) in +                     (Struct.Character.set_location +                        current_location +                        (tile_omnimods current_location) +                        char +                     )           )           characters        ), @@ -141,16 +143,23 @@ apply_inverse_movement_step tile_omnimods movement characters players =        (Util.Array.update_unsafe           movement.character_index           (\char -> -            (Struct.Character.refresh_omnimods -               (tile_omnimods) -               (Struct.Character.set_location -                  (List.foldr -                     (BattleMap.Struct.Location.neighbor) -                     (movement.destination) -                     (List.map (BattleMap.Struct.Direction.opposite_of) movement.path) +            ( +               let +                  location = +                     (List.foldr +                        (BattleMap.Struct.Location.neighbor) +                        (movement.destination) +                        (List.map +                           (BattleMap.Struct.Direction.opposite_of) +                           movement.path +                        ) +                     ) +               in +                  (Struct.Character.set_location +                     location +                     (tile_omnimods location) +                     char                    ) -                  char -               )              )           )           characters @@ -176,6 +185,7 @@ apply_switched_weapon weapon_switch characters players =                 (BattleCharacters.Struct.Character.switch_weapons                   (Struct.Character.get_base_character char)                 ) +               char              )           )           characters diff --git a/src/battle/src/Update/RequestDirection.elm b/src/battle/src/Update/RequestDirection.elm index 676b54a..fc7b63b 100644 --- a/src/battle/src/Update/RequestDirection.elm +++ b/src/battle/src/Update/RequestDirection.elm @@ -74,8 +74,10 @@ apply_to : (     )  apply_to model dir =     case -      (Struct.CharacterTurn.try_getting_navigator model.char_turn) -      (Struct.CharacterTurn.try_getting_active_character model.char_turn) +      ( +         (Struct.CharacterTurn.try_getting_navigator model.char_turn), +         (Struct.CharacterTurn.try_getting_active_character model.char_turn) +      )     of        ((Just navigator), (Just char)) ->           ( diff --git a/src/battle/src/Update/SelectTile.elm b/src/battle/src/Update/SelectTile.elm index 11899b5..4eb772a 100644 --- a/src/battle/src/Update/SelectTile.elm +++ b/src/battle/src/Update/SelectTile.elm @@ -92,7 +92,7 @@ go_to_another_tile model char navigator loc_ref =                       char_turn =                          (Struct.CharacterTurn.set_navigator                             new_navigator -                           (Struct.CharacterTurn.set_active_char +                           (Struct.CharacterTurn.set_active_character                                (Struct.Character.set_base_character                                   (BattleCharacters.Struct.Character.set_extra_omnimods                                      (Struct.Model.tile_omnimods_fun @@ -103,9 +103,10 @@ go_to_another_tile model char navigator loc_ref =                                      )                                      (Struct.Character.get_base_character char)                                   ) +                                 char                                ) +                              model.char_turn                             ) -                           model.char_turn                          ),                       ui =                          (Struct.UI.set_displayed_tab @@ -151,7 +152,7 @@ go_to_tile model char navigator loc_ref =        )     )     then (go_to_current_tile model loc_ref) -   else (to_to_another_tile model char navigator loc_ref) +   else (go_to_another_tile model char navigator loc_ref)  --------------------------------------------------------------------------------  -- EXPORTED -------------------------------------------------------------------- diff --git a/src/battle/src/Update/SwitchWeapon.elm b/src/battle/src/Update/SwitchWeapon.elm index 881689d..06d3472 100644 --- a/src/battle/src/Update/SwitchWeapon.elm +++ b/src/battle/src/Update/SwitchWeapon.elm @@ -16,7 +16,12 @@ import Struct.Model  --------------------------------------------------------------------------------  make_it_so : Struct.Model.Type -> Struct.Model.Type  make_it_so model = -   case (Struct.CharacterTurn.try_getting_active_character model.char_turn) of +   case +      ( +         (Struct.CharacterTurn.try_getting_active_character model.char_turn), +         (Struct.CharacterTurn.try_getting_navigator model.char_turn) +      ) +   of        ((Just char), (Just nav)) ->           let              new_base_character = diff --git a/src/battle/src/Update/UndoAction.elm b/src/battle/src/Update/UndoAction.elm index 9d2e710..85fb6c2 100644 --- a/src/battle/src/Update/UndoAction.elm +++ b/src/battle/src/Update/UndoAction.elm @@ -7,6 +7,7 @@ import Array  import Battle.Struct.Statistics  -- Battle Characters ----------------------------------------------------------- +import BattleCharacters.Struct.Character  import BattleCharacters.Struct.Weapon  -- Battle Map ------------------------------------------------------------------ @@ -78,23 +79,22 @@ handle_undo_switched_weapons model =        Nothing -> model.char_turn        (Just char) -> -         let -            new_char = (Struct.Character.toggle_is_using_primary char) -            tile_omnimods = (Struct.Model.tile_omnimods_fun model) -         in -            (Struct.CharacterTurn.lock_path -               tile_omnimods -               (Struct.CharacterTurn.unlock_path -                  tile_omnimods -                  (Struct.CharacterTurn.set_has_switched_weapons -                     False -                     (Struct.CharacterTurn.set_active_character_no_reset -                        new_char -                        model.char_turn +         (Struct.CharacterTurn.lock_path +            (Struct.CharacterTurn.unlock_path +               (Struct.CharacterTurn.set_has_switched_weapons +                  False +                  (Struct.CharacterTurn.set_active_character_no_reset +                     (Struct.Character.set_base_character +                        (BattleCharacters.Struct.Character.switch_weapons +                           (Struct.Character.get_base_character char) +                        ) +                        char                       ) +                     model.char_turn                    )                 )              ) +         )  handle_undo_chose_target : Struct.Model.Type -> Struct.CharacterTurn.Type  handle_undo_chose_target model = @@ -102,9 +102,7 @@ handle_undo_chose_target model =        tile_omnimods = (Struct.Model.tile_omnimods_fun model)     in        (Struct.CharacterTurn.lock_path -         (tile_omnimods)           (Struct.CharacterTurn.unlock_path -            (tile_omnimods)              (Struct.CharacterTurn.set_target Nothing model.char_turn)           )        ) | 


