summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/battlemap/src/Struct/Attributes.elm68
-rw-r--r--src/battlemap/src/Struct/Character.elm8
-rw-r--r--src/battlemap/src/Struct/Statistics.elm79
3 files changed, 151 insertions, 4 deletions
diff --git a/src/battlemap/src/Struct/Attributes.elm b/src/battlemap/src/Struct/Attributes.elm
new file mode 100644
index 0000000..bacd414
--- /dev/null
+++ b/src/battlemap/src/Struct/Attributes.elm
@@ -0,0 +1,68 @@
+module Struct.Attributes exposing
+ (
+ Type,
+ get_constitution,
+ get_dexterity,
+ get_intelligence,
+ get_mind,
+ get_speed,
+ get_strength,
+ new
+ )
+
+--------------------------------------------------------------------------------
+-- TYPES -----------------------------------------------------------------------
+--------------------------------------------------------------------------------
+type alias Type =
+ {
+ constitution : Int,
+ dexterity : Int,
+ intelligence : Int,
+ mind : Int,
+ speed : Int,
+ strength : Int
+ }
+
+--------------------------------------------------------------------------------
+-- LOCAL -----------------------------------------------------------------------
+--------------------------------------------------------------------------------
+
+--------------------------------------------------------------------------------
+-- EXPORTED --------------------------------------------------------------------
+--------------------------------------------------------------------------------
+get_constitution : Type -> Int
+get_constitution t = t.constitution
+
+get_dexterity : Type -> Int
+get_dexterity t = t.dexterity
+
+get_intelligence : Type -> Int
+get_intelligence t = t.intelligence
+
+get_mind : Type -> Int
+get_mind = t.mind
+
+get_speed : Type -> Int
+get_speed = t.speed
+
+get_strength : Type -> Int
+get_strength = t.strength
+
+new : (
+ Int -> -- constitution
+ Int -> -- dexterity
+ Int -> -- intelligence
+ Int -> -- mind
+ Int -> -- speed
+ Int -> -- strength
+ Type
+ )
+new con dex int min spe str =
+ {
+ constitution = con,
+ dexterity = dex,
+ intelligence = int,
+ mind = min,
+ speed = spe,
+ strength = str
+ }
diff --git a/src/battlemap/src/Struct/Character.elm b/src/battlemap/src/Struct/Character.elm
index 1d5b269..3f340d7 100644
--- a/src/battlemap/src/Struct/Character.elm
+++ b/src/battlemap/src/Struct/Character.elm
@@ -18,6 +18,7 @@ module Struct.Character exposing
)
-- Battlemap -------------------------------------------------------------------
+import Struct.Attributes
import Struct.Location
--------------------------------------------------------------------------------
@@ -31,11 +32,10 @@ type alias Type =
portrait : String,
location : Struct.Location.Type,
health : Int,
- max_health : Int,
team : Int,
- movement_points : Int,
- atk_dist : Int,
- enabled : Bool
+ enabled : Bool,
+ attributes : Struct.Attributes.Type,
+ statistics : Struct.Statistics.Type
}
type alias Ref = String
diff --git a/src/battlemap/src/Struct/Statistics.elm b/src/battlemap/src/Struct/Statistics.elm
new file mode 100644
index 0000000..b1690a5
--- /dev/null
+++ b/src/battlemap/src/Struct/Statistics.elm
@@ -0,0 +1,79 @@
+module Struct.Statistics exposing
+ (
+ Type,
+ get_movement_points,
+ get_max_health,
+ get_dodges,
+ get_parries,
+ get_damage_min,
+ get_damage_max,
+ get_accuracy,
+ get_double_hits,
+ get_critical_hits,
+ new
+ )
+
+--------------------------------------------------------------------------------
+-- TYPES -----------------------------------------------------------------------
+--------------------------------------------------------------------------------
+type alias Type =
+ {
+ movement_points : Int,
+ max_health : Int,
+ dodges : Int,
+ parries : Int,
+ damage_min : Int,
+ damage_max : Int,
+ accuracy : Int,
+ double_hits : Int,
+ critical_hits : Int
+ }
+
+--------------------------------------------------------------------------------
+-- LOCAL -----------------------------------------------------------------------
+--------------------------------------------------------------------------------
+
+--------------------------------------------------------------------------------
+-- EXPORTED --------------------------------------------------------------------
+--------------------------------------------------------------------------------
+get_movement_points : Type -> Int
+get_movement_points t = t.movement_points
+
+get_max_health : Type -> Int
+get_max_health t = t.max_health
+
+get_dodges : Type -> Int
+get_dodges t = t.dodges
+
+get_parries : Type -> Int
+get_parries = t.parries
+
+get_damage_min : Type -> Int
+get_damage_min = t.damage_min
+
+get_damage_max : Type -> Int
+get_damage_max = t.damage_max
+
+get_accuracy : Type -> Int
+get_accuracy = t.accuracy
+
+get_double_hits : Type -> Int
+get_double_hits = t.double_hits
+
+get_critical_hits : Type -> Int
+get_critical_hits = t.critical_hits
+
+new : (
+ Struct.Attributes.Type ->
+ Struct.Weapon.Type ->
+ Type
+ )
+new con dex int min spe str =
+ {
+ constitution = con,
+ dexterity = dex,
+ intelligence = int,
+ mind = min,
+ speed = spe,
+ strength = str
+ }