| summaryrefslogtreecommitdiff | 
diff options
| author | nsensfel <SpamShield0@noot-noot.org> | 2019-11-25 18:05:46 +0100 | 
|---|---|---|
| committer | nsensfel <SpamShield0@noot-noot.org> | 2019-11-25 18:05:46 +0100 | 
| commit | 4094b24940779d298a3ff97525ac40deac093cab (patch) | |
| tree | 43584afa8b22e571c4de0a0876381a1de7e96e06 /src/roster-editor | |
| parent | a2bac44a4c8abc064de55d0779edcb07aaa86e62 (diff) | |
...
Diffstat (limited to 'src/roster-editor')
| -rw-r--r-- | src/roster-editor/src/Comm/JoinBattle.elm | 12 | ||||
| -rw-r--r-- | src/roster-editor/src/Comm/LoadRoster.elm | 15 | ||||
| -rw-r--r-- | src/roster-editor/src/Comm/Send.elm | 31 | ||||
| -rw-r--r-- | src/roster-editor/src/Comm/UpdateRoster.elm | 15 | ||||
| -rw-r--r-- | src/roster-editor/src/Struct/Model.elm | 5 | ||||
| -rw-r--r-- | src/roster-editor/src/Update/SetArmor.elm | 20 | ||||
| -rw-r--r-- | src/roster-editor/src/Update/SetGlyph.elm | 16 | ||||
| -rw-r--r-- | src/roster-editor/src/Update/SetGlyphBoard.elm | 12 | ||||
| -rw-r--r-- | src/roster-editor/src/Update/SetPortrait.elm | 12 | ||||
| -rw-r--r-- | src/roster-editor/src/Update/SetWeapon.elm | 20 | ||||
| -rw-r--r-- | src/roster-editor/src/View/ArmorSelection.elm | 29 | ||||
| -rw-r--r-- | src/roster-editor/src/View/GlyphBoardSelection.elm | 28 | ||||
| -rw-r--r-- | src/roster-editor/src/View/GlyphSelection.elm | 58 | ||||
| -rw-r--r-- | src/roster-editor/src/View/PortraitSelection.elm | 25 | ||||
| -rw-r--r-- | src/roster-editor/src/View/WeaponSelection.elm | 95 | 
15 files changed, 271 insertions, 122 deletions
| diff --git a/src/roster-editor/src/Comm/JoinBattle.elm b/src/roster-editor/src/Comm/JoinBattle.elm index eb204df..90978a9 100644 --- a/src/roster-editor/src/Comm/JoinBattle.elm +++ b/src/roster-editor/src/Comm/JoinBattle.elm @@ -28,8 +28,16 @@ try_encoding model =     (Just        (Json.Encode.object           [ -            ("stk", (Json.Encode.string model.session_token)), -            ("pid", (Json.Encode.string model.player_id)), +            ("stk", +               (Json.Encode.string +                  (Struct.Flags.get_session_token model.flags) +               ) +            ), +            ("pid", +               (Json.Encode.string +                  (Struct.Flags.get_user_id model.flags) +               ) +            ),              (                 "six",                 (Json.Encode.int diff --git a/src/roster-editor/src/Comm/LoadRoster.elm b/src/roster-editor/src/Comm/LoadRoster.elm index babe0f6..062caf2 100644 --- a/src/roster-editor/src/Comm/LoadRoster.elm +++ b/src/roster-editor/src/Comm/LoadRoster.elm @@ -3,6 +3,9 @@ module Comm.LoadRoster exposing (try)  -- Elm -------------------------------------------------------------------------  import Json.Encode +-- Shared ---------------------------------------------------------------------- +import Struct.Flags +  -- Local Module ----------------------------------------------------------------  import Comm.Send @@ -23,8 +26,16 @@ try_encoding model =     (Just        (Json.Encode.object           [ -            ("stk", (Json.Encode.string model.session_token)), -            ("pid", (Json.Encode.string model.player_id)), +            ("stk", +               (Json.Encode.string +                  (Struct.Flags.get_session_token model.flags) +               ) +            ), +            ("pid", +               (Json.Encode.string +                  (Struct.Flags.get_user_id model.flags) +               ) +            ),              ("rid", (Json.Encode.string model.roster_id))           ]        ) diff --git a/src/roster-editor/src/Comm/Send.elm b/src/roster-editor/src/Comm/Send.elm index 3253f96..f6e9847 100644 --- a/src/roster-editor/src/Comm/Send.elm +++ b/src/roster-editor/src/Comm/Send.elm @@ -7,11 +7,7 @@ import Json.Decode  import Json.Encode  --- Battle Characters ---------------------------------------------------------- -import BattleCharacters.Comm.AddArmor -import BattleCharacters.Comm.AddGlyph -import BattleCharacters.Comm.AddGlyphBoard -import BattleCharacters.Comm.AddPortrait -import BattleCharacters.Comm.AddWeapon +import BattleCharacters.Comm.AddDataSetItem  --- Local Module ---------------------------------------------------------------  import Comm.GoTo @@ -36,24 +32,25 @@ internal_decoder reply_type =        "add_char" -> (Comm.AddChar.decode) -      "add_armor" -> (BattleCharacters.Comm.AddArmor.decode) -      "add_weapon" -> (BattleCharacters.Comm.AddWeapon.decode) -      "add_portrait" -> (BattleCharacters.Comm.AddPortrait.decode) -      "add_glyph" -> (BattleCharacters.Comm.AddGlyph.decode) -      "add_glyph_board" -> (BattleCharacters.Comm.AddGlyphBoard.decode) -        "disconnected" -> (Json.Decode.succeed Struct.ServerReply.Disconnected)        "goto" -> (Comm.GoTo.decode)        "okay" -> (Json.Decode.succeed Struct.ServerReply.Okay)        other -> -         (Json.Decode.fail -            ( -               "Unknown server command \"" -               ++ other -               ++ "\"" -            ) +         if +         (String.startsWith +            (BattleCharacters.Comm.AddDataSetItem.prefix) +            reply_type           ) +         then (BattleCharacters.Comm.AddDataSetItem.get_decoder_for reply_type) +         else +            (Json.Decode.fail +               ( +                  "Unknown server command \"" +                  ++ other +                  ++ "\"" +               ) +            )  decode : (Json.Decode.Decoder Struct.ServerReply.Type)  decode = diff --git a/src/roster-editor/src/Comm/UpdateRoster.elm b/src/roster-editor/src/Comm/UpdateRoster.elm index 9f77fc4..a635359 100644 --- a/src/roster-editor/src/Comm/UpdateRoster.elm +++ b/src/roster-editor/src/Comm/UpdateRoster.elm @@ -7,6 +7,9 @@ import List  import Json.Encode +-- Shared ---------------------------------------------------------------------- +import Struct.Flags +  -- Local Module ----------------------------------------------------------------  import Comm.Send @@ -28,8 +31,16 @@ try_encoding model =     (Just        (Json.Encode.object           [ -            ("stk", (Json.Encode.string model.session_token)), -            ("pid", (Json.Encode.string model.player_id)), +            ("stk", +               (Json.Encode.string +                  (Struct.Flags.get_session_token model.flags) +               ) +            ), +            ("pid", +               (Json.Encode.string +                  (Struct.Flags.get_user_id model.flags) +               ) +            ),              (                 "rst",                 (Json.Encode.list diff --git a/src/roster-editor/src/Struct/Model.elm b/src/roster-editor/src/Struct/Model.elm index e345aaa..c3903d7 100644 --- a/src/roster-editor/src/Struct/Model.elm +++ b/src/roster-editor/src/Struct/Model.elm @@ -24,13 +24,8 @@ import Struct.Flags  import Util.Array  -- Battle Characters ----------------------------------------------------------- -import BattleCharacters.Struct.Armor  import BattleCharacters.Struct.DataSet  import BattleCharacters.Struct.Equipment -import BattleCharacters.Struct.Glyph -import BattleCharacters.Struct.GlyphBoard -import BattleCharacters.Struct.Portrait -import BattleCharacters.Struct.Weapon  -- Local Module ----------------------------------------------------------------  import Struct.Character diff --git a/src/roster-editor/src/Update/SetArmor.elm b/src/roster-editor/src/Update/SetArmor.elm index 3dc899c..310ffaa 100644 --- a/src/roster-editor/src/Update/SetArmor.elm +++ b/src/roster-editor/src/Update/SetArmor.elm @@ -6,6 +6,7 @@ import Dict  -- Battle Characters -----------------------------------------------------------  import BattleCharacters.Struct.Armor  import BattleCharacters.Struct.Character +import BattleCharacters.Struct.DataSet  import BattleCharacters.Struct.Equipment  -- Local Module ---------------------------------------------------------------- @@ -46,12 +47,23 @@ apply_to : (        BattleCharacters.Struct.Armor.Ref ->        (Struct.Model.Type, (Cmd Struct.Event.Type))     ) -apply_to model ref = +apply_to model armor_id =     (        ( -         case (model.edited_char, (Dict.get ref model.armors)) of -            ((Just char), (Just armor)) -> -               {model | edited_char = (Just (equip armor char)) } +         case model.edited_char of +            (Just char) -> +               {model | +                  edited_char = +                     (Just +                        (equip +                           (BattleCharacters.Struct.DataSet.get_armor +                              armor_id +                              model.characters_dataset +                           ) +                           char +                        ) +                     ) +               }              _ -> model        ), diff --git a/src/roster-editor/src/Update/SetGlyph.elm b/src/roster-editor/src/Update/SetGlyph.elm index 067cf7c..9c00fcd 100644 --- a/src/roster-editor/src/Update/SetGlyph.elm +++ b/src/roster-editor/src/Update/SetGlyph.elm @@ -4,9 +4,10 @@ module Update.SetGlyph exposing (apply_to)  import Dict  -- Battle Characters ----------------------------------------------------------- -import BattleCharacters.Struct.Glyph -import BattleCharacters.Struct.Equipment  import BattleCharacters.Struct.Character +import BattleCharacters.Struct.DataSet +import BattleCharacters.Struct.Equipment +import BattleCharacters.Struct.Glyph  -- Local Module ----------------------------------------------------------------  import Struct.Character @@ -26,11 +27,11 @@ apply_to : (        BattleCharacters.Struct.Glyph.Ref ->        (Struct.Model.Type, (Cmd Struct.Event.Type))     ) -apply_to model ref = +apply_to model glyph_id =     (        ( -         case (model.edited_char, (Dict.get ref model.glyphs)) of -            ((Just char), (Just glyph)) -> +         case model.edited_char of +            (Just char) ->                 let                    base_char = (Struct.Character.get_base_character char)                    (glyph_slot, glyph_modifier) = @@ -38,7 +39,10 @@ apply_to model ref =                    updated_equipment =                       (BattleCharacters.Struct.Equipment.set_glyph                          glyph_slot -                        glyph +                        (BattleCharacters.Struct.DataSet.get_glyph +                           glyph_id +                           model.characters_dataset +                        )                          (BattleCharacters.Struct.Character.get_equipment                             base_char                          ) diff --git a/src/roster-editor/src/Update/SetGlyphBoard.elm b/src/roster-editor/src/Update/SetGlyphBoard.elm index 9f0f452..c7f1f5b 100644 --- a/src/roster-editor/src/Update/SetGlyphBoard.elm +++ b/src/roster-editor/src/Update/SetGlyphBoard.elm @@ -5,6 +5,7 @@ import Dict  -- Battle Characters -----------------------------------------------------------  import BattleCharacters.Struct.Character +import BattleCharacters.Struct.DataSet  import BattleCharacters.Struct.Equipment  import BattleCharacters.Struct.GlyphBoard @@ -25,16 +26,19 @@ apply_to : (        BattleCharacters.Struct.GlyphBoard.Ref ->        (Struct.Model.Type, (Cmd Struct.Event.Type))     ) -apply_to model ref = +apply_to model glyph_board_id =     (        ( -         case (model.edited_char, (Dict.get ref model.glyph_boards)) of -            ((Just char), (Just glyph_board)) -> +         case model.edited_char of +            (Just char) ->                 let                    base_char = (Struct.Character.get_base_character char)                    updated_equipment =                       (BattleCharacters.Struct.Equipment.set_glyph_board -                        glyph_board +                        (BattleCharacters.Struct.DataSet.get_glyph_board +                           glyph_board_id +                           model.characters_dataset +                        )                          (BattleCharacters.Struct.Character.get_equipment                             base_char                          ) diff --git a/src/roster-editor/src/Update/SetPortrait.elm b/src/roster-editor/src/Update/SetPortrait.elm index 369d644..a296d77 100644 --- a/src/roster-editor/src/Update/SetPortrait.elm +++ b/src/roster-editor/src/Update/SetPortrait.elm @@ -5,6 +5,7 @@ import Dict  -- Battle Characters -----------------------------------------------------------  import BattleCharacters.Struct.Character +import BattleCharacters.Struct.DataSet  import BattleCharacters.Struct.Equipment  import BattleCharacters.Struct.Portrait @@ -25,11 +26,11 @@ apply_to : (        BattleCharacters.Struct.Portrait.Ref ->        (Struct.Model.Type, (Cmd Struct.Event.Type))     ) -apply_to model ref = +apply_to model portrait_id =     (        ( -         case (model.edited_char, (Dict.get ref model.portraits)) of -            ((Just char), (Just portrait)) -> +         case model.edited_char of +            (Just char) ->                 let base_char = (Struct.Character.get_base_character char) in                 {model |                    edited_char = @@ -37,7 +38,10 @@ apply_to model ref =                          (Struct.Character.set_base_character                             (BattleCharacters.Struct.Character.set_equipment                                (BattleCharacters.Struct.Equipment.set_portrait -                                 portrait +                                 (BattleCharacters.Struct.DataSet.get_portrait +                                    portrait_id +                                    model.characters_dataset +                                 )                                   (BattleCharacters.Struct.Character.get_equipment                                      base_char                                   ) diff --git a/src/roster-editor/src/Update/SetWeapon.elm b/src/roster-editor/src/Update/SetWeapon.elm index 56ded72..20d3797 100644 --- a/src/roster-editor/src/Update/SetWeapon.elm +++ b/src/roster-editor/src/Update/SetWeapon.elm @@ -5,6 +5,7 @@ import Dict  -- Battle Characters -----------------------------------------------------------  import BattleCharacters.Struct.Character +import BattleCharacters.Struct.DataSet  import BattleCharacters.Struct.Equipment  import BattleCharacters.Struct.Weapon @@ -57,12 +58,23 @@ apply_to : (        BattleCharacters.Struct.Weapon.Ref ->        (Struct.Model.Type, (Cmd Struct.Event.Type))     ) -apply_to model ref = +apply_to model weapon_id =     (        ( -         case (model.edited_char, (Dict.get ref model.weapons)) of -            ((Just char), (Just weapon)) -> -               {model | edited_char = (Just (equip weapon char)) } +         case model.edited_char of +            (Just char) -> +               {model | +                  edited_char = +                     (Just +                        (equip +                           (BattleCharacters.Struct.DataSet.get_weapon +                              weapon_id +                              model.characters_dataset +                           ) +                           char +                        ) +                     ) +               }              _ -> model        ), diff --git a/src/roster-editor/src/View/ArmorSelection.elm b/src/roster-editor/src/View/ArmorSelection.elm index 671e56e..ae54d5c 100644 --- a/src/roster-editor/src/View/ArmorSelection.elm +++ b/src/roster-editor/src/View/ArmorSelection.elm @@ -6,12 +6,14 @@ import Dict  import Html  import Html.Attributes  import Html.Events +import Html.Lazy  -- Battle ----------------------------------------------------------------------  import Battle.View.Omnimods  -- Battle Characters -----------------------------------------------------------  import BattleCharacters.Struct.Armor +import BattleCharacters.Struct.DataSet  -- Local Module ----------------------------------------------------------------  import Struct.Event @@ -68,11 +70,11 @@ get_armor_html armor =        ]     ) --------------------------------------------------------------------------------- --- EXPORTED -------------------------------------------------------------------- --------------------------------------------------------------------------------- -get_html : Struct.Model.Type -> (Html.Html Struct.Event.Type) -get_html model = +true_get_html : ( +      BattleCharacters.Struct.DataSet.Type -> +      (Html.Html Struct.Event.Type) +   ) +true_get_html dataset =     (Html.div        [           (Html.Attributes.class "selection-window"), @@ -84,7 +86,22 @@ get_html model =              [                 (Html.Attributes.class "selection-window-listing")              ] -            (List.map (get_armor_html) (Dict.values model.armors)) +            (List.map +               (get_armor_html) +               (Dict.values +                  (BattleCharacters.Struct.DataSet.get_armors dataset) +               ) +            )           )        ]     ) + +-------------------------------------------------------------------------------- +-- EXPORTED -------------------------------------------------------------------- +-------------------------------------------------------------------------------- +get_html : Struct.Model.Type -> (Html.Html Struct.Event.Type) +get_html model = +   (Html.Lazy.lazy +      (true_get_html) +      model.characters_dataset +   ) diff --git a/src/roster-editor/src/View/GlyphBoardSelection.elm b/src/roster-editor/src/View/GlyphBoardSelection.elm index b9edfa8..775a13a 100644 --- a/src/roster-editor/src/View/GlyphBoardSelection.elm +++ b/src/roster-editor/src/View/GlyphBoardSelection.elm @@ -4,10 +4,12 @@ module View.GlyphBoardSelection exposing (get_html)  import Dict  import Html +import Html.Lazy  import Html.Attributes  import Html.Events  -- Battle Characters ----------------------------------------------------------- +import BattleCharacters.Struct.DataSet  import BattleCharacters.Struct.GlyphBoard  -- Local Module ---------------------------------------------------------------- @@ -46,11 +48,11 @@ get_glyph_board_html glyph_board =        ]     ) --------------------------------------------------------------------------------- --- EXPORTED -------------------------------------------------------------------- --------------------------------------------------------------------------------- -get_html : Struct.Model.Type -> (Html.Html Struct.Event.Type) -get_html model = +true_get_html : ( +      BattleCharacters.Struct.DataSet.Type -> +      (Html.Html Struct.Event.Type) +   ) +true_get_html dataset =     (Html.div        [           (Html.Attributes.class "selection-window"), @@ -62,7 +64,21 @@ get_html model =              [                 (Html.Attributes.class "selection-window-listing")              ] -            (List.map (get_glyph_board_html) (Dict.values model.glyph_boards)) +            (List.map +               (get_glyph_board_html) +               (Dict.values +                  (BattleCharacters.Struct.DataSet.get_glyph_boards dataset) +               ) +            )           )        ]     ) +-------------------------------------------------------------------------------- +-- EXPORTED -------------------------------------------------------------------- +-------------------------------------------------------------------------------- +get_html : Struct.Model.Type -> (Html.Html Struct.Event.Type) +get_html model = +   (Html.Lazy.lazy +      (true_get_html) +      model.characters_dataset +   ) diff --git a/src/roster-editor/src/View/GlyphSelection.elm b/src/roster-editor/src/View/GlyphSelection.elm index 9cc825d..8d4ef84 100644 --- a/src/roster-editor/src/View/GlyphSelection.elm +++ b/src/roster-editor/src/View/GlyphSelection.elm @@ -8,15 +8,20 @@ import Set  import Dict  import Html +import Html.Lazy  import Html.Attributes  import Html.Events +-- Shared ---------------------------------------------------------------------- +import Util.Html +  -- Battle ----------------------------------------------------------------------  import Battle.Struct.Omnimods  import Battle.View.Omnimods  -- Battle Characters ----------------------------------------------------------- +import BattleCharacters.Struct.DataSet  import BattleCharacters.Struct.Character  import BattleCharacters.Struct.Equipment  import BattleCharacters.Struct.Glyph @@ -84,23 +89,23 @@ get_glyph_html invalid_family_ids factor glyph =        ]     ) --------------------------------------------------------------------------------- --- EXPORTED -------------------------------------------------------------------- --------------------------------------------------------------------------------- -get_html : Struct.Model.Type -> (Html.Html Struct.Event.Type) -get_html model = -   (Html.div -      [ -         (Html.Attributes.class "selection-window"), -         (Html.Attributes.class "glyph-management") -      ] -      ( -         case model.edited_char of -            Nothing -> [ (Html.text "Choose a character first.") ] -            (Just char) -> +true_get_html : ( +      (Maybe Struct.Character.Type) -> +      Int -> +      BattleCharacters.Struct.DataSet.Type -> +      (Html.Html Struct.Event.Type) +   ) +true_get_html maybe_char glyph_modifier dataset = +   case maybe_char of +      Nothing -> (Util.Html.nothing) +      (Just char) -> +         (Html.div +            [ +               (Html.Attributes.class "selection-window"), +               (Html.Attributes.class "glyph-management") +            ] +            (                 let -                  (slot_index, glyph_modifier) = -                     (Struct.UI.get_glyph_slot model.ui)                    glyph_multiplier =                       ((toFloat glyph_modifier) / 100.0)                    used_glyph_family_indices = @@ -117,9 +122,26 @@ get_html model =                                used_glyph_family_indices                                glyph_multiplier                             ) -                           (Dict.values model.glyphs) +                           (Dict.values +                              (BattleCharacters.Struct.DataSet.get_glyphs +                                 dataset +                              ) +                           )                          )                       )                    ] +            ) +         ) + +-------------------------------------------------------------------------------- +-- EXPORTED -------------------------------------------------------------------- +-------------------------------------------------------------------------------- +get_html : Struct.Model.Type -> (Html.Html Struct.Event.Type) +get_html model = +   let (slot_index, glyph_modifier) = (Struct.UI.get_glyph_slot model.ui) in +      (Html.Lazy.lazy3 +         (true_get_html) +         model.edited_char +         glyph_modifier +         model.characters_dataset        ) -   ) diff --git a/src/roster-editor/src/View/PortraitSelection.elm b/src/roster-editor/src/View/PortraitSelection.elm index 9065c9d..fbed67b 100644 --- a/src/roster-editor/src/View/PortraitSelection.elm +++ b/src/roster-editor/src/View/PortraitSelection.elm @@ -6,11 +6,13 @@ import Dict  import Html  import Html.Attributes  import Html.Events +import Html.Lazy  import List  -- Battle Characters -----------------------------------------------------------  import BattleCharacters.Struct.Portrait +import BattleCharacters.Struct.DataSet  -- Local Module ----------------------------------------------------------------  import Struct.Event @@ -88,11 +90,11 @@ get_portrait_html pt =        ]     ) --------------------------------------------------------------------------------- --- EXPORTED -------------------------------------------------------------------- --------------------------------------------------------------------------------- -get_html : Struct.Model.Type -> (Html.Html Struct.Event.Type) -get_html model = +true_get_html : ( +      BattleCharacters.Struct.DataSet.Type -> +      (Html.Html Struct.Event.Type) +   ) +true_get_html dataset =     (Html.div        [           (Html.Attributes.class "selection-window"), @@ -106,8 +108,19 @@ get_html model =              ]              (List.map                 (get_portrait_html) -               (Dict.values model.portraits) +               (Dict.values +                  (BattleCharacters.Struct.DataSet.get_portraits dataset) +               )              )           )        ]     ) +-------------------------------------------------------------------------------- +-- EXPORTED -------------------------------------------------------------------- +-------------------------------------------------------------------------------- +get_html : Struct.Model.Type -> (Html.Html Struct.Event.Type) +get_html model = +   (Html.Lazy.lazy +      (true_get_html) +      model.characters_dataset +   ) diff --git a/src/roster-editor/src/View/WeaponSelection.elm b/src/roster-editor/src/View/WeaponSelection.elm index a5a8293..830ec72 100644 --- a/src/roster-editor/src/View/WeaponSelection.elm +++ b/src/roster-editor/src/View/WeaponSelection.elm @@ -4,6 +4,7 @@ module View.WeaponSelection exposing (get_html)  import Dict  import Html +import Html.Lazy  import Html.Attributes  import Html.Events @@ -15,6 +16,7 @@ import Battle.View.Omnimods  -- Battle Characters -----------------------------------------------------------  import BattleCharacters.Struct.Character +import BattleCharacters.Struct.DataSet  import BattleCharacters.Struct.Weapon  -- Local Module ---------------------------------------------------------------- @@ -87,6 +89,59 @@ get_weapon_html weapon =        ]     ) +get_weapon_htmls : ( +      Bool -> +      BattleCharacters.Struct.DataSet.Type -> +      (List (Html.Html Struct.Event.Type)) +   ) +get_weapon_htmls is_selecting_secondary dataset = +   if (is_selecting_secondary) +   then +      (List.filterMap +         (\wp -> +            if (BattleCharacters.Struct.Weapon.get_is_primary wp) +            then Nothing +            else (Just (get_weapon_html wp)) +         ) +         (Dict.values +            (BattleCharacters.Struct.DataSet.get_weapons dataset) +         ) +      ) +   else +      (List.map +         (get_weapon_html) +         (Dict.values +            (BattleCharacters.Struct.DataSet.get_weapons dataset) +         ) +      ) + +true_get_html : ( +      Bool -> +      BattleCharacters.Struct.DataSet.Type -> +      (Html.Html Struct.Event.Type) +   ) +true_get_html is_selecting_secondary dataset = +   (Html.div +      [ +         (Html.Attributes.class "selection-window"), +         (Html.Attributes.class "weapon-selection") +      ] +      [ +         (Html.text +            ( +               if (is_selecting_secondary) +               then "Secondary Weapon Selection" +               else "Primary Weapon Selection" +            ) +         ), +         (Html.div +            [ +               (Html.Attributes.class "selection-window-listing") +            ] +            (get_weapon_htmls is_selecting_secondary dataset) +         ) +      ] +   )  --------------------------------------------------------------------------------  -- EXPORTED --------------------------------------------------------------------  -------------------------------------------------------------------------------- @@ -101,40 +156,8 @@ get_html model =                    (Struct.Character.get_base_character char)                 )           in -            (Html.div -               [ -                  (Html.Attributes.class "selection-window"), -                  (Html.Attributes.class "weapon-selection") -               ] -               [ -                  (Html.text -                     ( -                        if (is_selecting_secondary) -                        then "Secondary Weapon Selection" -                        else "Primary Weapon Selection" -                     ) -                  ), -                  (Html.div -                     [ -                        (Html.Attributes.class "selection-window-listing") -                     ] -                     (List.map -                        (get_weapon_html) -                        (List.filter -                           (\e -> -                              (not -                                 ( -                                    is_selecting_secondary -                                    && -                                    (BattleCharacters.Struct.Weapon.get_is_primary -                                       e -                                    ) -                                 ) -                              ) -                           ) -                           (Dict.values model.weapons) -                        ) -                     ) -                  ) -               ] +            (Html.Lazy.lazy2 +               (true_get_html) +               is_selecting_secondary +               model.characters_dataset              ) | 


