summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/battle/Battle/View/Attribute.elm')
-rw-r--r--src/shared/battle/Battle/View/Attribute.elm259
1 files changed, 259 insertions, 0 deletions
diff --git a/src/shared/battle/Battle/View/Attribute.elm b/src/shared/battle/Battle/View/Attribute.elm
new file mode 100644
index 0000000..ae2edf3
--- /dev/null
+++ b/src/shared/battle/Battle/View/Attribute.elm
@@ -0,0 +1,259 @@
+module Battle.View.Attribute exposing
+ (
+ get_html,
+ get_all_html,
+ get_all_but_gauges_html,
+ get_signed_html,
+ get_all_signed_html,
+ get_all_but_gauges_signed_html
+ )
+
+-- Elm -------------------------------------------------------------------------
+import Html
+import Html.Attributes
+import Html.Events
+
+-- Battle ----------------------------------------------------------------------
+import Battle.Struct.Attributes
+
+-- Local Module ----------------------------------------------------------------
+import Struct.Event
+import Struct.HelpRequest
+
+--------------------------------------------------------------------------------
+-- LOCAL -----------------------------------------------------------------------
+--------------------------------------------------------------------------------
+
+--------------------------------------------------------------------------------
+-- EXPORTED --------------------------------------------------------------------
+--------------------------------------------------------------------------------
+get_html : (
+ Battle.Struct.Attributes.Category ->
+ Int ->
+ (Html.Html Struct.Event.Type)
+ )
+get_html attribute value =
+ (Html.div
+ [
+ (Html.Events.onClick
+ (Struct.Event.RequestedHelp
+ (Struct.HelpRequest.Attribute attribute)
+ )
+ )
+ ]
+ [
+ (Html.div
+ [
+ (Html.Attributes.class "omnimod-icon"),
+ (Html.Attributes.class
+ (
+ "omnimod-icon-"
+ ++ (Battle.Struct.Attributes.encode_category attribute)
+ )
+ )
+ ]
+ [
+ ]
+ ),
+ (Html.div
+ [
+ (Html.Attributes.class "omnimod-value")
+ ]
+ [
+ (Html.text
+ (
+ if (Battle.Struct.Attributes.is_percent attribute)
+ then ((String.fromInt value) ++ "%")
+ else (String.fromInt value)
+ )
+ )
+ ]
+ )
+ ]
+ )
+
+get_signed_html : (
+ Battle.Struct.Attributes.Category ->
+ Int ->
+ (Html.Html Struct.Event.Type)
+ )
+get_signed_html attribute value =
+ (Html.div
+ [
+ (
+ if (value < 0)
+ then (Html.Attributes.class "omnimod-negative")
+ else (Html.Attributes.class "omnimod-positive")
+ ),
+ (Html.Events.onClick
+ (Struct.Event.RequestedHelp
+ (Struct.HelpRequest.Attribute attribute)
+ )
+ )
+ ]
+ [
+ (Html.div
+ [
+ (Html.Attributes.class "omnimod-icon"),
+ (Html.Attributes.class
+ (
+ "omnimod-icon-"
+ ++ (Battle.Struct.Attributes.encode_category attribute)
+ )
+ )
+ ]
+ [
+ ]
+ ),
+ (Html.div
+ [
+ (Html.Attributes.class "omnimod-value")
+ ]
+ [
+ (Html.text
+ (
+ (
+ if (value > 0)
+ then ("+" ++ (String.fromInt value))
+ else (String.fromInt value)
+ )
+ ++
+ (
+ if (Battle.Struct.Attributes.is_percent attribute)
+ then "%"
+ else ""
+ )
+ )
+ )
+ ]
+ )
+ ]
+ )
+
+get_all_html : (
+ Battle.Struct.Attributes.Type ->
+ (List (Html.Html Struct.Event.Type))
+ )
+get_all_html atts =
+ [
+ (get_html
+ Battle.Struct.Attributes.Dodges
+ (Battle.Struct.Attributes.get_dodges atts)
+ ),
+ (get_html
+ Battle.Struct.Attributes.Parries
+ (Battle.Struct.Attributes.get_parries atts)
+ ),
+ (get_html
+ Battle.Struct.Attributes.Accuracy
+ (Battle.Struct.Attributes.get_accuracy atts)
+ ),
+ (get_html
+ Battle.Struct.Attributes.DoubleHits
+ (Battle.Struct.Attributes.get_double_hits atts)
+ ),
+ (get_html
+ Battle.Struct.Attributes.CriticalHits
+ (Battle.Struct.Attributes.get_critical_hits atts)
+ ),
+ (get_html
+ Battle.Struct.Attributes.MaxHealth
+ (Battle.Struct.Attributes.get_max_health atts)
+ ),
+ (get_html
+ Battle.Struct.Attributes.MovementPoints
+ (Battle.Struct.Attributes.get_movement_points atts)
+ )
+ ]
+
+get_all_signed_html : (
+ Battle.Struct.Attributes.Type ->
+ (List (Html.Html Struct.Event.Type))
+ )
+get_all_signed_html atts =
+ [
+ (get_signed_html
+ Battle.Struct.Attributes.Dodges
+ (Battle.Struct.Attributes.get_dodges atts)
+ ),
+ (get_signed_html
+ Battle.Struct.Attributes.Parries
+ (Battle.Struct.Attributes.get_parries atts)
+ ),
+ (get_signed_html
+ Battle.Struct.Attributes.Accuracy
+ (Battle.Struct.Attributes.get_accuracy atts)
+ ),
+ (get_signed_html
+ Battle.Struct.Attributes.DoubleHits
+ (Battle.Struct.Attributes.get_double_hits atts)
+ ),
+ (get_signed_html
+ Battle.Struct.Attributes.CriticalHits
+ (Battle.Struct.Attributes.get_critical_hits atts)
+ ),
+ (get_signed_html
+ Battle.Struct.Attributes.MaxHealth
+ (Battle.Struct.Attributes.get_max_health atts)
+ ),
+ (get_signed_html
+ Battle.Struct.Attributes.MovementPoints
+ (Battle.Struct.Attributes.get_movement_points atts)
+ )
+ ]
+
+get_all_but_gauges_html : (
+ Battle.Struct.Attributes.Type ->
+ (List (Html.Html Struct.Event.Type))
+ )
+get_all_but_gauges_html atts =
+ [
+ (get_html
+ Battle.Struct.Attributes.Dodges
+ (Battle.Struct.Attributes.get_dodges atts)
+ ),
+ (get_html
+ Battle.Struct.Attributes.Parries
+ (Battle.Struct.Attributes.get_parries atts)
+ ),
+ (get_html
+ Battle.Struct.Attributes.Accuracy
+ (Battle.Struct.Attributes.get_accuracy atts)
+ ),
+ (get_html
+ Battle.Struct.Attributes.DoubleHits
+ (Battle.Struct.Attributes.get_double_hits atts)
+ ),
+ (get_html
+ Battle.Struct.Attributes.CriticalHits
+ (Battle.Struct.Attributes.get_critical_hits atts)
+ )
+ ]
+
+get_all_but_gauges_signed_html : (
+ Battle.Struct.Attributes.Type ->
+ (List (Html.Html Struct.Event.Type))
+ )
+get_all_but_gauges_signed_html atts =
+ [
+ (get_signed_html
+ Battle.Struct.Attributes.Dodges
+ (Battle.Struct.Attributes.get_dodges atts)
+ ),
+ (get_signed_html
+ Battle.Struct.Attributes.Parries
+ (Battle.Struct.Attributes.get_parries atts)
+ ),
+ (get_signed_html
+ Battle.Struct.Attributes.Accuracy
+ (Battle.Struct.Attributes.get_accuracy atts)
+ ),
+ (get_signed_html
+ Battle.Struct.Attributes.DoubleHits
+ (Battle.Struct.Attributes.get_double_hits atts)
+ ),
+ (get_signed_html
+ Battle.Struct.Attributes.CriticalHits
+ (Battle.Struct.Attributes.get_critical_hits atts)
+ )
+ ]