summaryrefslogtreecommitdiff |
diff options
author | nsensfel <SpamShield0@noot-noot.org> | 2019-03-15 18:16:55 +0100 |
---|---|---|
committer | nsensfel <SpamShield0@noot-noot.org> | 2019-03-15 18:16:55 +0100 |
commit | 6678cfe464ed9ee595f4f3dd7398dec1416454c9 (patch) | |
tree | 2700668874e13a81ec7467dcf26a1d246caa23ff /src/shared/battle/Battle/View | |
parent | 24efb898f526e0aa02a0e15b74436da8ba166cac (diff) |
[Broken] Starting a code refactoring...
Diffstat (limited to 'src/shared/battle/Battle/View')
-rw-r--r-- | src/shared/battle/Battle/View/Omnimods.elm | 181 |
1 files changed, 181 insertions, 0 deletions
diff --git a/src/shared/battle/Battle/View/Omnimods.elm b/src/shared/battle/Battle/View/Omnimods.elm new file mode 100644 index 0000000..a946c35 --- /dev/null +++ b/src/shared/battle/Battle/View/Omnimods.elm @@ -0,0 +1,181 @@ +module Battle.View.Omnimods exposing + ( + get_html_with_modifier, + get_html + ) + +-- Elm ------------------------------------------------------------------------- +import List + +import Html +import Html.Attributes +import Html.Events + +-- Battle ---------------------------------------------------------------------- +import Battle.Struct.Omnimods + +-- Local Module ---------------------------------------------------------------- +import Struct.Event + +-------------------------------------------------------------------------------- +-- LOCAL ----------------------------------------------------------------------- +-------------------------------------------------------------------------------- +get_mod_html : (String, Int) -> (Html.Html Struct.Event.Type) +get_mod_html mod = + let + (category, value) = mod + in + (Html.div + [ + (Html.Attributes.class "info-card-mod") + ] + [ + (Html.div + [ + (Html.Attributes.class "omnimod-icon"), + (Html.Attributes.class ("omnimod-icon-" ++ category)), + ( + if (value < 0) + then (Html.Attributes.class "omnimod-icon-negative") + else (Html.Attributes.class "omnimod-icon-positive") + ) + ] + [ + ] + ), + (Html.text (String.fromInt value)) + ] + ) + +get_multiplied_mod_html : Float -> (String, Int) -> (Html.Html Struct.Event.Type) +get_multiplied_mod_html multiplier mod = + let + (category, value) = mod + in + (Html.div + [ + (Html.Attributes.class "character-card-mod") + ] + [ + (Html.div + [ + (Html.Attributes.class "omnimod-icon"), + (Html.Attributes.class ("omnimod-icon-" ++ category)), + ( + if (value < 0) + then (Html.Attributes.class "omnimod-icon-negative") + else (Html.Attributes.class "omnimod-icon-positive") + ) + ] + [ + ] + ), + (Html.text + ( + (String.fromInt value) + ++ " (" + ++(String.fromInt (ceiling ((toFloat value) * multiplier))) + ++ ")" + ) + ) + ] + ) + +-------------------------------------------------------------------------------- +-- EXPORTED -------------------------------------------------------------------- +-------------------------------------------------------------------------------- +get_html_with_modifier : ( + Float -> + Battle.Struct.Omnimods.Type -> + (Html.Html Struct.Event.Type) + ) +get_html_with_modifier attack_multiplier omnimods = + (Html.div + [ + (Html.Attributes.class "omnimod-listing") + ] + [ + (Html.div + [ + (Html.Attributes.class "omnimod-attack-mods") + ] + (List.map + (get_multiplied_mod_html attack_multiplier) + (Battle.Struct.Omnimods.get_attack_mods omnimods) + ) + ), + (Html.div + [ + (Html.Attributes.class "omnimod-defense-mods") + ] + (List.map + (get_mod_html) + (Battle.Struct.Omnimods.get_defense_mods omnimods) + ) + ), + (Html.div + [ + (Html.Attributes.class "omnimod-attribute-mods") + ] + (List.map + (get_mod_html) + (Battle.Struct.Omnimods.get_attributes_mods omnimods) + ) + ), + (Html.div + [ + (Html.Attributes.class "omnimod-statistics-mods") + ] + (List.map + (get_mod_html) + (Battle.Struct.Omnimods.get_statistics_mods omnimods) + ) + ) + ] + ) + +get_html : Battle.Struct.Omnimods.Type -> (Html.Html Struct.Event.Type) +get_html omnimods = + (Html.div + [ + (Html.Attributes.class "omnimod-listing") + ] + [ + (Html.div + [ + (Html.Attributes.class "omnimod-attack-mods") + ] + (List.map + (get_mod_html) + (Battle.Struct.Omnimods.get_attack_mods omnimods) + ) + ), + (Html.div + [ + (Html.Attributes.class "omnimod-defense-mods") + ] + (List.map + (get_mod_html) + (Battle.Struct.Omnimods.get_defense_mods omnimods) + ) + ), + (Html.div + [ + (Html.Attributes.class "omnimod-attribute-mods") + ] + (List.map + (get_mod_html) + (Battle.Struct.Omnimods.get_attributes_mods omnimods) + ) + ), + (Html.div + [ + (Html.Attributes.class "omnimod-statistics-mods") + ] + (List.map + (get_mod_html) + (Battle.Struct.Omnimods.get_statistics_mods omnimods) + ) + ) + ] + ) |