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 ) |