summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/battle-characters/BattleCharacters')
-rw-r--r--src/shared/battle-characters/BattleCharacters/Comm/AddArmor.elm30
-rw-r--r--src/shared/battle-characters/BattleCharacters/Comm/AddGlyph.elm28
-rw-r--r--src/shared/battle-characters/BattleCharacters/Comm/AddGlyphBoard.elm33
-rw-r--r--src/shared/battle-characters/BattleCharacters/Comm/AddPortrait.elm19
-rw-r--r--src/shared/battle-characters/BattleCharacters/Comm/AddWeapon.elm33
-rw-r--r--src/shared/battle-characters/BattleCharacters/Struct/Character.elm13
6 files changed, 151 insertions, 5 deletions
diff --git a/src/shared/battle-characters/BattleCharacters/Comm/AddArmor.elm b/src/shared/battle-characters/BattleCharacters/Comm/AddArmor.elm
new file mode 100644
index 0000000..bdbb137
--- /dev/null
+++ b/src/shared/battle-characters/BattleCharacters/Comm/AddArmor.elm
@@ -0,0 +1,30 @@
+module BattleCharacters.Comm.AddArmor exposing (decode)
+
+-- Elm -------------------------------------------------------------------------
+import Json.Decode
+
+-- Battle Characters -----------------------------------------------------------
+import BattleCharacters.Struct.Armor
+
+-- Local Module ----------------------------------------------------------------
+import Struct.ServerReply
+
+--------------------------------------------------------------------------------
+-- TYPES -----------------------------------------------------------------------
+--------------------------------------------------------------------------------
+
+--------------------------------------------------------------------------------
+-- LOCAL -----------------------------------------------------------------------
+--------------------------------------------------------------------------------
+internal_decoder : BattleCharacters.Struct.Armor.Type -> Struct.ServerReply.Type
+internal_decoder ar = (Struct.ServerReply.AddArmor ar)
+
+--------------------------------------------------------------------------------
+-- EXPORTED --------------------------------------------------------------------
+--------------------------------------------------------------------------------
+decode : (Json.Decode.Decoder Struct.ServerReply.Type)
+decode =
+ (Json.Decode.map
+ (internal_decoder)
+ (BattleCharacters.Struct.Armor.decoder)
+ )
diff --git a/src/shared/battle-characters/BattleCharacters/Comm/AddGlyph.elm b/src/shared/battle-characters/BattleCharacters/Comm/AddGlyph.elm
new file mode 100644
index 0000000..100ed54
--- /dev/null
+++ b/src/shared/battle-characters/BattleCharacters/Comm/AddGlyph.elm
@@ -0,0 +1,28 @@
+module BattleCharacters.Comm.AddGlyph exposing (decode)
+
+-- Elm -------------------------------------------------------------------------
+import Json.Decode
+
+-- Battle Characters -----------------------------------------------------------
+import BattleCharacters.Struct.Glyph
+import BattleCharacters.Struct.GlyphBoard
+
+-- Local Module ----------------------------------------------------------------
+import Struct.ServerReply
+
+--------------------------------------------------------------------------------
+-- TYPES -----------------------------------------------------------------------
+--------------------------------------------------------------------------------
+
+--------------------------------------------------------------------------------
+-- LOCAL -----------------------------------------------------------------------
+--------------------------------------------------------------------------------
+internal_decoder : BattleCharacters.Struct.Glyph.Type -> Struct.ServerReply.Type
+internal_decoder gl = (Struct.ServerReply.AddGlyph gl)
+
+--------------------------------------------------------------------------------
+-- EXPORTED --------------------------------------------------------------------
+--------------------------------------------------------------------------------
+decode : (Json.Decode.Decoder Struct.ServerReply.Type)
+decode =
+ (Json.Decode.map (internal_decoder) (BattleCharacters.Struct.Glyph.decoder))
diff --git a/src/shared/battle-characters/BattleCharacters/Comm/AddGlyphBoard.elm b/src/shared/battle-characters/BattleCharacters/Comm/AddGlyphBoard.elm
new file mode 100644
index 0000000..825e940
--- /dev/null
+++ b/src/shared/battle-characters/BattleCharacters/Comm/AddGlyphBoard.elm
@@ -0,0 +1,33 @@
+module BattleCharacters.Comm.AddGlyphBoard exposing (decode)
+
+-- Elm -------------------------------------------------------------------------
+import Json.Decode
+
+-- Battle Characters -----------------------------------------------------------
+import BattleCharacters.Struct.GlyphBoard
+
+-- Local Module-----------------------------------------------------------------
+import Struct.ServerReply
+
+--------------------------------------------------------------------------------
+-- TYPES -----------------------------------------------------------------------
+--------------------------------------------------------------------------------
+
+--------------------------------------------------------------------------------
+-- LOCAL -----------------------------------------------------------------------
+--------------------------------------------------------------------------------
+internal_decoder : (
+ BattleCharacters.Struct.GlyphBoard.Type ->
+ Struct.ServerReply.Type
+ )
+internal_decoder glb = (Struct.ServerReply.AddGlyphBoard glb)
+
+--------------------------------------------------------------------------------
+-- EXPORTED --------------------------------------------------------------------
+--------------------------------------------------------------------------------
+decode : (Json.Decode.Decoder Struct.ServerReply.Type)
+decode =
+ (Json.Decode.map
+ (internal_decoder)
+ (BattleCharacters.Struct.GlyphBoard.decoder)
+ )
diff --git a/src/shared/battle-characters/BattleCharacters/Comm/AddPortrait.elm b/src/shared/battle-characters/BattleCharacters/Comm/AddPortrait.elm
index a9c848b..321684c 100644
--- a/src/shared/battle-characters/BattleCharacters/Comm/AddPortrait.elm
+++ b/src/shared/battle-characters/BattleCharacters/Comm/AddPortrait.elm
@@ -1,10 +1,12 @@
-module Comm.AddPortrait exposing (decode)
+module BattleCharacters.Comm.AddPortrait exposing (decode)
-- Elm -------------------------------------------------------------------------
import Json.Decode
--- BattleCharacters ------------------------------------------------------------
-import Struct.Portrait
+-- Battle Characters -----------------------------------------------------------
+import BattleCharacters.Struct.Portrait
+
+-- Local Module ----------------------------------------------------------------
import Struct.ServerReply
--------------------------------------------------------------------------------
@@ -14,11 +16,18 @@ import Struct.ServerReply
--------------------------------------------------------------------------------
-- LOCAL -----------------------------------------------------------------------
--------------------------------------------------------------------------------
-internal_decoder : Struct.Portrait.Type -> Struct.ServerReply.Type
+internal_decoder : (
+ BattleCharacters.Struct.Portrait.Type ->
+ Struct.ServerReply.Type
+ )
internal_decoder pt = (Struct.ServerReply.AddPortrait pt)
--------------------------------------------------------------------------------
-- EXPORTED --------------------------------------------------------------------
--------------------------------------------------------------------------------
decode : (Json.Decode.Decoder Struct.ServerReply.Type)
-decode = (Json.Decode.map (internal_decoder) (Struct.Portrait.decoder))
+decode =
+ (Json.Decode.map
+ (internal_decoder)
+ (BattleCharacters.Struct.Portrait.decoder)
+ )
diff --git a/src/shared/battle-characters/BattleCharacters/Comm/AddWeapon.elm b/src/shared/battle-characters/BattleCharacters/Comm/AddWeapon.elm
new file mode 100644
index 0000000..6a05978
--- /dev/null
+++ b/src/shared/battle-characters/BattleCharacters/Comm/AddWeapon.elm
@@ -0,0 +1,33 @@
+module BattleCharacters.Comm.AddWeapon exposing (decode)
+
+-- Elm -------------------------------------------------------------------------
+import Json.Decode
+
+-- Battle Characters -----------------------------------------------------------
+import BattleCharacters.Struct.Weapon
+
+-- Local Module ----------------------------------------------------------------
+import Struct.ServerReply
+
+--------------------------------------------------------------------------------
+-- TYPES -----------------------------------------------------------------------
+--------------------------------------------------------------------------------
+
+--------------------------------------------------------------------------------
+-- LOCAL -----------------------------------------------------------------------
+--------------------------------------------------------------------------------
+internal_decoder : (
+ BattleCharacters.Struct.Weapon.Type ->
+ Struct.ServerReply.Type
+ )
+internal_decoder wp = (Struct.ServerReply.AddWeapon wp)
+
+--------------------------------------------------------------------------------
+-- EXPORTED --------------------------------------------------------------------
+--------------------------------------------------------------------------------
+decode : (Json.Decode.Decoder Struct.ServerReply.Type)
+decode =
+ (Json.Decode.map
+ (internal_decoder)
+ (BattleCharacters.Struct.Weapon.decoder)
+ )
diff --git a/src/shared/battle-characters/BattleCharacters/Struct/Character.elm b/src/shared/battle-characters/BattleCharacters/Struct/Character.elm
index adf7ca7..7b34bd4 100644
--- a/src/shared/battle-characters/BattleCharacters/Struct/Character.elm
+++ b/src/shared/battle-characters/BattleCharacters/Struct/Character.elm
@@ -6,13 +6,16 @@ module BattleCharacters.Struct.Character exposing
set_name,
get_equipment,
set_equipment,
+ dirty_set_equipment,
get_omnimods,
set_extra_omnimods,
+ dirty_set_extra_omnimods
get_attributes,
get_statistics,
get_active_weapon,
get_inactive_weapon,
switch_weapons,
+ dirty_switch_weapons,
decoder,
encode,
resolve
@@ -122,12 +125,18 @@ get_equipment c = c.equipment
set_equipment : BattleCharacters.Struct.Equipment.Type -> Type -> Type
set_equipment equipment char = (refresh_omnimods {char | equipment = equipment})
+dirty_set_equipment : BattleCharacters.Struct.Equipment.Type -> Type -> Type
+dirty_set_equipment equipment char = {char | equipment = equipment}
+
get_omnimods : Type -> Battle.Struct.Omnimods.Type
get_omnimods c = c.current_omnimods
set_extra_omnimods : Battle.Struct.Omnimods.Type -> Type -> Type
set_extra_omnimods om c = (refresh_omnimods {char | extra_omnimods = om})
+dirty_set_extra_omnimods : Battle.Struct.Omnimods.Type -> Type -> Type
+dirty_set_extra_omnimods om c = {char | extra_omnimods = om}
+
get_attributes : Type -> Battle.Struct.Attributes.Type
get_attributes char = char.attributes
@@ -140,6 +149,10 @@ switch_weapons char =
{char | is_using_secondary = (not char.is_using_secondary)}
)
+dirty_switch_weapons : Type -> Type
+dirty_switch_weapons char =
+ {char | is_using_secondary = (not char.is_using_secondary)}
+
decoder : (Json.Decode.Decoder Unresolved)
decoder :
(Json.Decode.succeed