| summaryrefslogtreecommitdiff | 
diff options
| -rw-r--r-- | src/battlemap/src/Data/Tiles.elm (renamed from src/battlemap/src/Data/Tile.elm) | 2 | ||||
| -rw-r--r-- | src/battlemap/src/Data/Weapons.elm (renamed from src/battlemap/src/Data/Weapon.elm) | 12 | ||||
| -rw-r--r-- | src/battlemap/src/ElmModule/Init.elm | 4 | ||||
| -rw-r--r-- | src/battlemap/src/Shim/Model.elm | 28 | ||||
| -rw-r--r-- | src/battlemap/src/Struct/Model.elm | 18 | ||||
| -rw-r--r-- | src/battlemap/src/Struct/Weapon.elm | 3 | ||||
| -rw-r--r-- | src/battlemap/src/Update/HandleServerReply/AddChar.elm | 29 | ||||
| -rw-r--r-- | src/battlemap/src/Update/HandleServerReply/SetMap.elm | 6 | 
8 files changed, 50 insertions, 52 deletions
| diff --git a/src/battlemap/src/Data/Tile.elm b/src/battlemap/src/Data/Tiles.elm index 43606aa..eb2dd61 100644 --- a/src/battlemap/src/Data/Tile.elm +++ b/src/battlemap/src/Data/Tiles.elm @@ -1,4 +1,4 @@ -module Data.Tile exposing (..) +module Data.Tiles exposing (..)  import Constants.Movement diff --git a/src/battlemap/src/Data/Weapon.elm b/src/battlemap/src/Data/Weapons.elm index 7d81bf8..35d3fc7 100644 --- a/src/battlemap/src/Data/Weapon.elm +++ b/src/battlemap/src/Data/Weapons.elm @@ -1,4 +1,4 @@ -module Data.Weapon exposing (generate_dict, shim_none) +module Data.Weapons exposing (generate_dict, none)  -- Elm -------------------------------------------------------------------------  import Dict @@ -8,7 +8,7 @@ import Struct.Weapon  --------------------------------------------------------------------------------  -- LOCAL -----------------------------------------------------------------------  -------------------------------------------------------------------------------- -dataset : (List (Int, Struct.Weapon.Type)) +dataset : (List (Struct.Weapon.Ref, Struct.Weapon.Type))  dataset =     [        -- TODO: have those in separate text files, and put them here only at @@ -293,12 +293,12 @@ dataset =  --------------------------------------------------------------------------------  -- EXPORTED --------------------------------------------------------------------  -------------------------------------------------------------------------------- -generate_dict : (Dict.Dict Int Struct.Weapon.Type) +generate_dict : (Dict.Dict Struct.Weapon.Ref Struct.Weapon.Type)  generate_dict = (Dict.fromList dataset) --- Let's not handle the dict just yet. -shim_none : (Struct.Weapon.Type) -shim_none = +-- If it's not found. +none : (Struct.Weapon.Type) +none =     (Struct.Weapon.new        0        "None" diff --git a/src/battlemap/src/ElmModule/Init.elm b/src/battlemap/src/ElmModule/Init.elm index f7885e4..136a828 100644 --- a/src/battlemap/src/ElmModule/Init.elm +++ b/src/battlemap/src/ElmModule/Init.elm @@ -3,8 +3,6 @@ module ElmModule.Init exposing (init)  -- Battlemap -------------------------------------------------------------------  import Send.LoadBattlemap -import Shim.Model -  import Struct.Event  import Struct.Model @@ -18,7 +16,7 @@ import Struct.Model  init : (Struct.Model.Type, (Cmd Struct.Event.Type))  init =     let -      model = (Shim.Model.generate) +      model = (Struct.Model.new)     in        (           model, diff --git a/src/battlemap/src/Shim/Model.elm b/src/battlemap/src/Shim/Model.elm deleted file mode 100644 index 30bdc95..0000000 --- a/src/battlemap/src/Shim/Model.elm +++ /dev/null @@ -1,28 +0,0 @@ -module Shim.Model exposing (generate) - --- Elm ------------------------------------------------------------------------- -import Dict - --- Struct.Battlemap ------------------------------------------------------------------- -import Struct.Battlemap -import Struct.CharacterTurn -import Struct.UI - --------------------------------------------------------------------------------- --- LOCAL ----------------------------------------------------------------------- --------------------------------------------------------------------------------- - --------------------------------------------------------------------------------- --- EXPORTED -------------------------------------------------------------------- --------------------------------------------------------------------------------- ---generate : Struct.Model.Type -generate = -   { -      battlemap = (Struct.Battlemap.empty), -      characters = (Dict.empty), -      error = Nothing, -      controlled_team = 0, -      player_id = "0", -      ui = (Struct.UI.default), -      char_turn = (Struct.CharacterTurn.new) -   } diff --git a/src/battlemap/src/Struct/Model.elm b/src/battlemap/src/Struct/Model.elm index 9d4e128..fc13655 100644 --- a/src/battlemap/src/Struct/Model.elm +++ b/src/battlemap/src/Struct/Model.elm @@ -1,6 +1,7 @@  module Struct.Model exposing     (        Type, +      new,        add_character,        invalidate,        reset, @@ -11,11 +12,14 @@ module Struct.Model exposing  import Dict  -- Battlemap ------------------------------------------------------------------- +import Data.Weapons +  import Struct.Battlemap  import Struct.Character  import Struct.CharacterTurn  import Struct.Error  import Struct.UI +import Struct.Weapon  --------------------------------------------------------------------------------  -- TYPES ----------------------------------------------------------------------- @@ -24,6 +28,7 @@ type alias Type =     {        battlemap: Struct.Battlemap.Type,        characters: (Dict.Dict Struct.Character.Ref Struct.Character.Type), +      weapons: (Dict.Dict Struct.Weapon.Ref Struct.Weapon.Type),        error: (Maybe Struct.Error.Type),        controlled_team: Int,        player_id: String, @@ -38,6 +43,19 @@ type alias Type =  --------------------------------------------------------------------------------  -- EXPORTED --------------------------------------------------------------------  -------------------------------------------------------------------------------- +new : Type +new = +   { +      battlemap = (Struct.Battlemap.empty), +      characters = (Dict.empty), +      weapons = (Data.Weapons.generate_dict), +      error = Nothing, +      controlled_team = 0, +      player_id = "0", +      ui = (Struct.UI.default), +      char_turn = (Struct.CharacterTurn.new) +   } +  add_character : Type -> Struct.Character.Type -> Type  add_character model char =     {model | diff --git a/src/battlemap/src/Struct/Weapon.elm b/src/battlemap/src/Struct/Weapon.elm index 02afb22..5741a2a 100644 --- a/src/battlemap/src/Struct/Weapon.elm +++ b/src/battlemap/src/Struct/Weapon.elm @@ -1,6 +1,7 @@  module Struct.Weapon exposing     (        Type, +      Ref,        RangeType(..),        RangeModifier(..),        DamageType(..), @@ -38,6 +39,8 @@ type alias Type =        dmg_max : Int     } +type alias Ref = Int +  type RangeType = Ranged | Melee  type RangeModifier = Long | Short  -- Having multiple types at the same time, like Warframe does, would be nice. diff --git a/src/battlemap/src/Update/HandleServerReply/AddChar.elm b/src/battlemap/src/Update/HandleServerReply/AddChar.elm index 4d6b3d8..071be3a 100644 --- a/src/battlemap/src/Update/HandleServerReply/AddChar.elm +++ b/src/battlemap/src/Update/HandleServerReply/AddChar.elm @@ -1,11 +1,13 @@  module Update.HandleServerReply.AddChar exposing (apply_to)  -- Elm ------------------------------------------------------------------------- +import Dict +  import Json.Decode  import Json.Decode.Pipeline  -- Battlemap ------------------------------------------------------------------- -import Data.Weapon +import Data.Weapons  import Struct.Attributes  import Struct.Character @@ -39,8 +41,7 @@ type alias CharData =        enabled : Bool,        att : CharAtt,        wp_0 : Int, -      wp_1 : Int, -      act_wp : Int +      wp_1 : Int     }  -------------------------------------------------------------------------------- @@ -74,7 +75,6 @@ char_decoder =        |> (Json.Decode.Pipeline.required "att" attributes_decoder)        |> (Json.Decode.Pipeline.required "wp_0" Json.Decode.int)        |> (Json.Decode.Pipeline.required "wp_1" Json.Decode.int) -      |> (Json.Decode.Pipeline.required "act_wp" Json.Decode.int)     )  -------------------------------------------------------------------------------- @@ -109,13 +109,20 @@ apply_to model serialized_char =                    char_data.att.str                 )                 ( -                  let -                     wp_0 = (Data.Weapon.shim_none) -                     wp_1 = (Data.Weapon.shim_none) -                  in -                     case char_data.act_wp of -                        0 -> (Struct.WeaponSet.new wp_0 wp_1) -                        _ -> (Struct.WeaponSet.new wp_1 wp_0) +                  case +                     ( +                        (Dict.get char_data.wp_0 model.weapons), +                        (Dict.get char_data.wp_1 model.weapons) +                     ) +                  of +                     ((Just wp_0), (Just wp_1)) -> +                        (Struct.WeaponSet.new wp_0 wp_1) + +                     _ -> +                        (Struct.WeaponSet.new +                           (Data.Weapons.none) +                           (Data.Weapons.none) +                        )                 )              )           ) diff --git a/src/battlemap/src/Update/HandleServerReply/SetMap.elm b/src/battlemap/src/Update/HandleServerReply/SetMap.elm index f902493..e7c993d 100644 --- a/src/battlemap/src/Update/HandleServerReply/SetMap.elm +++ b/src/battlemap/src/Update/HandleServerReply/SetMap.elm @@ -5,7 +5,7 @@ import Dict  import Json.Decode  -- Battlemap ------------------------------------------------------------------- -import Data.Tile +import Data.Tiles  import Struct.Battlemap  import Struct.Model @@ -29,8 +29,8 @@ deserialize_tile map_width index id =     (Struct.Tile.new        (index % map_width)        (index // map_width) -      (Data.Tile.get_icon id) -      (Data.Tile.get_cost id) +      (Data.Tiles.get_icon id) +      (Data.Tiles.get_cost id)     )  -------------------------------------------------------------------------------- | 


