| summaryrefslogtreecommitdiff | 
diff options
| -rw-r--r-- | src/battle/src/Update/HandleServerReply.elm | 36 | ||||
| -rw-r--r-- | src/battle/src/Update/Puppeteer/Focus.elm | 6 | ||||
| -rw-r--r-- | src/battle/src/Update/Puppeteer/Move.elm | 75 | ||||
| -rw-r--r-- | src/battle/src/Update/Puppeteer/RefreshCharacter.elm | 50 | ||||
| -rw-r--r-- | src/battle/src/Update/Puppeteer/SwapWeapons.elm | 52 | 
5 files changed, 194 insertions, 25 deletions
| diff --git a/src/battle/src/Update/HandleServerReply.elm b/src/battle/src/Update/HandleServerReply.elm index f497fe0..1779db0 100644 --- a/src/battle/src/Update/HandleServerReply.elm +++ b/src/battle/src/Update/HandleServerReply.elm @@ -79,12 +79,12 @@ add_characters_dataset_item : (        (Struct.Model.Type, (List (Cmd Struct.Event.Type))) ->        (Struct.Model.Type, (List (Cmd Struct.Event.Type)))     ) -add_weapon item current_state = +add_characters_dataset_item item current_state =     let (model, cmds) = current_state in        (           {model |              characters_dataset = -               (BattleCharacters.Struct.Weapon.DataSetItem.add_to +               (BattleCharacters.Struct.DataSetItem.add_to                    item                    model.characters_dataset                 ) @@ -92,17 +92,20 @@ add_weapon item current_state =           cmds        ) -add_tile : ( +add_map_dataset_item : (        BattleMap.Struct.Tile.Type ->        (Struct.Model.Type, (List (Cmd Struct.Event.Type))) ->        (Struct.Model.Type, (List (Cmd Struct.Event.Type)))     ) -add_tile tl current_state = +add_map_dataset_item item current_state =     let (model, cmds) = current_state in        (           {model |              map_dataset = -               (BattleMap.Struct.DataSet.add_tile tl model.map_dataset) +               (BattleMap.Struct.DataSetItem.add_to +                  item +                  model.map_dataset +               )           },           cmds        ) @@ -231,30 +234,15 @@ apply_command command current_state =     case command of        Struct.ServerReply.Disconnected -> (disconnected current_state) -      (Struct.ServerReply.AddWeapon wp) -> -         (add_weapon wp current_state) - -      (Struct.ServerReply.AddArmor ar) -> -         (add_armor ar current_state) - -      (Struct.ServerReply.AddPortrait pt) -> -         (add_portrait pt current_state) +      (Struct.ServerReply.AddCharactersDataSetItem item) -> +         (add_characters_dataset_item item current_state) -      (Struct.ServerReply.AddSkill sk) -> -         (add_skill sk current_state) - -      (Struct.ServerReply.AddGlyphBoard pt) -> -         (add_glyph_board pt current_state) - -      (Struct.ServerReply.AddGlyph pt) -> -         (add_glyph pt current_state) +      (Struct.ServerReply.AddMapDataSetItem item) -> +         (add_map_dataset_item item current_state)        (Struct.ServerReply.AddPlayer pl) ->           (add_player pl current_state) -      (Struct.ServerReply.AddTile tl) -> -         (add_tile tl current_state) -        (Struct.ServerReply.AddCharacter char) ->           (add_character char current_state) diff --git a/src/battle/src/Update/Puppeteer/Focus.elm b/src/battle/src/Update/Puppeteer/Focus.elm index f956b1f..04c57c2 100644 --- a/src/battle/src/Update/Puppeteer/Focus.elm +++ b/src/battle/src/Update/Puppeteer/Focus.elm @@ -1,8 +1,12 @@  module Update.Puppeteer.Focus exposing (forward, backward)  -- Local Module ---------------------------------------------------------------- -import Struct.Model +import Action.Scroll + +import Struct.Battle +import Struct.Character  import Struct.Event +import Struct.Model  import Struct.UI  -------------------------------------------------------------------------------- diff --git a/src/battle/src/Update/Puppeteer/Move.elm b/src/battle/src/Update/Puppeteer/Move.elm new file mode 100644 index 0000000..8626c56 --- /dev/null +++ b/src/battle/src/Update/Puppeteer/Move.elm @@ -0,0 +1,75 @@ +module Update.Puppeteer.Move exposing (forward, backward) + +-- Battle Map ------------------------------------------------------------------ +import BattleMap.Struct.Direction +import BattleMap.Struct.Location + +-- Local Module ---------------------------------------------------------------- +import Action.Scroll + +import Struct.Battle +import Struct.Character +import Struct.Event +import Struct.Model +import Struct.UI + +-------------------------------------------------------------------------------- +-- LOCAL ----------------------------------------------------------------------- +-------------------------------------------------------------------------------- +apply_direction_to_character : ( +      Int -> +      Battle.Struct.Direction -> +      Struct.Model.Type -> +      (Struct.Model.Type, (List (Cmd Struct.Event.Type))) +   ) +apply_direction_to_character actor_ix direction model = +   let character = (Struct.Battle.get_character actor_ix model.battle) in +      ( +         {model | +            battle = +               (Struct.Battle.set_character +                  actor_ix +                  (Struct.Character.dirty_set_location +                     (BattleMap.Struct.Location.neighbor +                        direction +                        (Struct.Character.get_location character) +                     ) +                     character +                  ) +                  model.battle +               ) +         }, +         [] +      ) + +-------------------------------------------------------------------------------- +-- EXPORTED -------------------------------------------------------------------- +-------------------------------------------------------------------------------- +forward : ( +      Int -> +      BattleMap.Struct.Direction -> +      Struct.Model.Type -> +      (Struct.Model.Type, (List (Cmd Struct.Event.Type))) +   ) +forward actor_ix direction model = +   ( +      (apply_direction_to_character actor_ix direction model), +      [] +   ) + + +backward : ( +      Int -> +      BattleMap.Struct.Direction -> +      Struct.Model.Type -> +      (Struct.Model.Type, (List (Cmd Struct.Event.Type))) +   ) +backward actor_ix direction model = +   ( +      (apply_direction_to_character +         actor_ix +         (BattleMap.Struct.Direction.opposite_of direction) +         model +      ), +      [] +   ) diff --git a/src/battle/src/Update/Puppeteer/RefreshCharacter.elm b/src/battle/src/Update/Puppeteer/RefreshCharacter.elm new file mode 100644 index 0000000..4956c3f --- /dev/null +++ b/src/battle/src/Update/Puppeteer/RefreshCharacter.elm @@ -0,0 +1,50 @@ +module Update.Puppeteer.RefreshCharacter exposing (forward, backward) + +-- Local Module ---------------------------------------------------------------- +import Action.Scroll + +import Struct.Battle +import Struct.Character +import Struct.Event +import Struct.Model +import Struct.UI + +-------------------------------------------------------------------------------- +-- LOCAL ----------------------------------------------------------------------- +-------------------------------------------------------------------------------- + +-------------------------------------------------------------------------------- +-- EXPORTED -------------------------------------------------------------------- +-------------------------------------------------------------------------------- +forward : ( +      Int -> +      Struct.Model.Type -> +      (Struct.Model.Type, (List (Cmd Struct.Event.Type))) +   ) +forward actor_ix model = +   let character = (Struct.Battle.get_character actor_ix model.battle) in +      ( +         {model | +            battle = +               (Struct.Battle.set_character +                  actor_ix +                  (Struct.Character.set_location +                     -- TODO: +                     -- Handle both Struct.Character.dirty_set_location and +                     -- BattleCharacters.Struct.Character.dirty_switch_weapons. +                     (Struct.Character.get_location character) +                     character +                  ) +                  model.battle +               ) +         }, +         [] +      ) + + +backward : ( +      Int -> +      Struct.Model.Type -> +      (Struct.Model.Type, (List (Cmd Struct.Event.Type))) +   ) +backward actor_ix model = (model, []) diff --git a/src/battle/src/Update/Puppeteer/SwapWeapons.elm b/src/battle/src/Update/Puppeteer/SwapWeapons.elm new file mode 100644 index 0000000..27b81b5 --- /dev/null +++ b/src/battle/src/Update/Puppeteer/SwapWeapons.elm @@ -0,0 +1,52 @@ +module Update.Puppeteer.SwapWeapons exposing (forward, backward) + +-- Battle Characters ----------------------------------------------------------- +import BattleCharacters.Struct.Character + +-- Local Module ---------------------------------------------------------------- +import Action.Scroll + +import Struct.Battle +import Struct.Character +import Struct.Event +import Struct.Model +import Struct.UI + +-------------------------------------------------------------------------------- +-- LOCAL ----------------------------------------------------------------------- +-------------------------------------------------------------------------------- + +-------------------------------------------------------------------------------- +-- EXPORTED -------------------------------------------------------------------- +-------------------------------------------------------------------------------- +forward : ( +      Int -> +      Struct.Model.Type -> +      (Struct.Model.Type, (List (Cmd Struct.Event.Type))) +   ) +forward actor_ix model = +   let character = (Struct.Battle.get_character actor_ix model.battle) in +      ( +         {model | +            battle = +               (Struct.Battle.set_character +                  actor_ix +                  (Struct.Character.set_base_character +                     (BattleCharacters.Struct.Character.dirty_switch_weapons +                        (Struct.Character.get_base_character character) +                     ) +                     character +                  ) +                  model.battle +               ) +         }, +         [] +      ) + + +backward : ( +      Int -> +      Struct.Model.Type -> +      (Struct.Model.Type, (List (Cmd Struct.Event.Type))) +   ) +backward actor_ix model = (forward actor_ix model) | 


