summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2018-06-19 13:00:25 +0200
committernsensfel <SpamShield0@noot-noot.org>2018-06-19 13:00:25 +0200
commitbb52f791e29320bab0f0ae9763d248bcaf521fd5 (patch)
tree69c45e83a884faca367aeed5bc24001f107c5db5
parent76ade0a3cc72e8fbe49137f951d3e769681a6799 (diff)
Fixes incorrect use of the CharacterTurn's char.
-rw-r--r--src/battlemap/src/Struct/Model.elm14
-rw-r--r--src/battlemap/src/Update/EndTurn.elm19
2 files changed, 25 insertions, 8 deletions
diff --git a/src/battlemap/src/Struct/Model.elm b/src/battlemap/src/Struct/Model.elm
index 7a331f6..85b7f08 100644
--- a/src/battlemap/src/Struct/Model.elm
+++ b/src/battlemap/src/Struct/Model.elm
@@ -4,6 +4,7 @@ module Struct.Model exposing
new,
add_character,
update_character,
+ update_character_fun,
add_weapon,
add_armor,
add_tile,
@@ -28,6 +29,8 @@ import Struct.TurnResult
import Struct.UI
import Struct.Weapon
+import Util.Array
+
--------------------------------------------------------------------------------
-- TYPES -----------------------------------------------------------------------
--------------------------------------------------------------------------------
@@ -142,6 +145,17 @@ update_character ix new_val model =
characters = (Array.set ix new_val model.characters)
}
+update_character_fun : (
+ Int ->
+ ((Maybe Struct.Character.Type) -> (Maybe Struct.Character.Type)) ->
+ Type ->
+ Type
+ )
+update_character_fun ix fun model =
+ {model |
+ characters = (Util.Array.update ix (fun) model.characters)
+ }
+
invalidate : Struct.Error.Type -> Type -> Type
invalidate err model =
{model |
diff --git a/src/battlemap/src/Update/EndTurn.elm b/src/battlemap/src/Update/EndTurn.elm
index 457d788..f2bd706 100644
--- a/src/battlemap/src/Update/EndTurn.elm
+++ b/src/battlemap/src/Update/EndTurn.elm
@@ -15,6 +15,15 @@ import Struct.Navigator
--------------------------------------------------------------------------------
-- LOCAL -----------------------------------------------------------------------
--------------------------------------------------------------------------------
+maybe_disable_char : (
+ (Maybe Struct.Character.Type) ->
+ (Maybe Struct.Character.Type)
+ )
+maybe_disable_char maybe_char =
+ case maybe_char of
+ (Just char) -> (Just (Struct.Character.set_enabled False char))
+ Nothing -> Nothing
+
make_it_so : (
Struct.Model.Type ->
Struct.Character.Type ->
@@ -26,15 +35,9 @@ make_it_so model char nav =
(Just cmd) ->
(
(Struct.Model.reset
- (Struct.Model.update_character
+ (Struct.Model.update_character_fun
(Struct.Character.get_index char)
- (Struct.Character.set_enabled
- False
- (Struct.Character.set_location
- (Struct.Navigator.get_current_location nav)
- char
- )
- )
+ (maybe_disable_char)
model
)
),