summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/battle')
-rw-r--r--src/battle/src/Constants/DisplayEffects.elm10
-rw-r--r--src/battle/src/Struct/Battle.elm4
-rw-r--r--src/battle/src/Update/CharacterTurn.elm11
-rw-r--r--src/battle/src/Update/CharacterTurn/AbortTurn.elm19
-rw-r--r--src/battle/src/Update/CharacterTurn/EndTurn.elm10
-rw-r--r--src/battle/src/Update/Puppeteer/SwapWeapons.elm21
-rw-r--r--src/battle/src/Update/SelectTile.elm9
7 files changed, 53 insertions, 31 deletions
diff --git a/src/battle/src/Constants/DisplayEffects.elm b/src/battle/src/Constants/DisplayEffects.elm
new file mode 100644
index 0000000..8846dbf
--- /dev/null
+++ b/src/battle/src/Constants/DisplayEffects.elm
@@ -0,0 +1,10 @@
+module Constants.DisplayEffects exposing (..)
+
+active_character : String
+active_character = "active"
+
+enabled_character : String
+enabled_character = "enabled"
+
+target_character : String
+target_character = "target"
diff --git a/src/battle/src/Struct/Battle.elm b/src/battle/src/Struct/Battle.elm
index 5c27e27..ba58148 100644
--- a/src/battle/src/Struct/Battle.elm
+++ b/src/battle/src/Struct/Battle.elm
@@ -157,7 +157,7 @@ set_character ix char battle =
update_character : (
Int ->
- ((Maybe Struct.Character.Type) -> (Maybe Struct.Character.Type)) ->
+ (Struct.Character.Type -> Struct.Character.Type) ->
Type ->
Type
)
@@ -221,7 +221,7 @@ set_player ix pl battle =
update_player : (
Int ->
- ((Maybe Struct.Player.Type) -> (Maybe Struct.Player.Type)) ->
+ (Struct.Player.Type -> Struct.Player.Type) ->
Type ->
Type
)
diff --git a/src/battle/src/Update/CharacterTurn.elm b/src/battle/src/Update/CharacterTurn.elm
index f375f73..694bb5d 100644
--- a/src/battle/src/Update/CharacterTurn.elm
+++ b/src/battle/src/Update/CharacterTurn.elm
@@ -3,6 +3,9 @@ module Update.CharacterTurn exposing (apply_to)
-- Elm -------------------------------------------------------------------------
-- Local Module ----------------------------------------------------------------
+import Constants.DisplayEffects
+
+import Struct.Battle
import Struct.CharacterTurn
import Struct.Character
import Struct.Event
@@ -45,6 +48,14 @@ apply_to target_char model =
(Struct.CharacterTurn.new)
)
),
+ battle =
+ (Struct.Battle.update_character
+ (Struct.Character.get_index target_char)
+ (Struct.Character.add_extra_display_effect
+ Constants.DisplayEffects.active_character
+ )
+ model.battle
+ ),
ui =
(Struct.UI.reset_displayed_nav
(Struct.UI.reset_displayed_tab
diff --git a/src/battle/src/Update/CharacterTurn/AbortTurn.elm b/src/battle/src/Update/CharacterTurn/AbortTurn.elm
index 7d45d08..01dfd3e 100644
--- a/src/battle/src/Update/CharacterTurn/AbortTurn.elm
+++ b/src/battle/src/Update/CharacterTurn/AbortTurn.elm
@@ -1,6 +1,10 @@
module Update.CharacterTurn.AbortTurn exposing (apply_to)
-- Local Module ----------------------------------------------------------------
+import Constants.DisplayEffects
+
+import Struct.Battle
+import Struct.Character
import Struct.CharacterTurn
import Struct.Event
import Struct.Model
@@ -16,7 +20,20 @@ apply_to : Struct.Model.Type -> (Struct.Model.Type, (Cmd Struct.Event.Type))
apply_to model =
(
{model |
- char_turn = (Struct.CharacterTurn.new)
+ char_turn = (Struct.CharacterTurn.new),
+ battle =
+ case
+ (Struct.CharacterTurn.maybe_get_active_character model.char_turn)
+ of
+ Nothing -> model.battle
+ (Just char) ->
+ (Struct.Battle.update_character
+ (Struct.Character.get_index char)
+ (Struct.Character.remove_extra_display_effect
+ Constants.DisplayEffects.active_character
+ )
+ model.battle
+ )
},
Cmd.none
)
diff --git a/src/battle/src/Update/CharacterTurn/EndTurn.elm b/src/battle/src/Update/CharacterTurn/EndTurn.elm
index 4a5221b..353a685 100644
--- a/src/battle/src/Update/CharacterTurn/EndTurn.elm
+++ b/src/battle/src/Update/CharacterTurn/EndTurn.elm
@@ -14,14 +14,6 @@ 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
--------------------------------------------------------------------------------
-- EXPORTED --------------------------------------------------------------------
@@ -42,7 +34,7 @@ apply_to model =
battle =
(Struct.Battle.update_character
(Struct.Character.get_index char)
- (maybe_disable_char)
+ (Struct.Character.set_enabled False)
model.battle
),
char_turn = (Struct.CharacterTurn.new)
diff --git a/src/battle/src/Update/Puppeteer/SwapWeapons.elm b/src/battle/src/Update/Puppeteer/SwapWeapons.elm
index b31d939..7fb29a0 100644
--- a/src/battle/src/Update/Puppeteer/SwapWeapons.elm
+++ b/src/battle/src/Update/Puppeteer/SwapWeapons.elm
@@ -15,19 +15,14 @@ import Struct.UI
--------------------------------------------------------------------------------
-- LOCAL -----------------------------------------------------------------------
--------------------------------------------------------------------------------
-make_it_so : (Maybe Struct.Character.Type) -> (Maybe Struct.Character.Type)
-make_it_so maybe_character =
- case maybe_character of
- Nothing -> Nothing
- (Just character) ->
- (Just
- (Struct.Character.set_base_character
- (BattleCharacters.Struct.Character.dirty_switch_weapons
- (Struct.Character.get_base_character character)
- )
- character
- )
- )
+make_it_so : Struct.Character.Type -> Struct.Character.Type
+make_it_so character =
+ (Struct.Character.set_base_character
+ (BattleCharacters.Struct.Character.dirty_switch_weapons
+ (Struct.Character.get_base_character character)
+ )
+ character
+ )
--------------------------------------------------------------------------------
-- EXPORTED --------------------------------------------------------------------
diff --git a/src/battle/src/Update/SelectTile.elm b/src/battle/src/Update/SelectTile.elm
index 2f49f5f..16583a2 100644
--- a/src/battle/src/Update/SelectTile.elm
+++ b/src/battle/src/Update/SelectTile.elm
@@ -18,6 +18,8 @@ import Struct.Model
import Struct.Navigator
import Struct.UI
+import Update.CharacterTurn.AbortTurn
+
--------------------------------------------------------------------------------
-- LOCAL -----------------------------------------------------------------------
--------------------------------------------------------------------------------
@@ -146,12 +148,7 @@ go_to_another_tile model char navigator loc_ref =
)
Nothing -> -- Clicked outside of the range indicator
- (
- {model |
- char_turn = (Struct.CharacterTurn.new)
- },
- Cmd.none
- )
+ (Update.CharacterTurn.AbortTurn.apply_to model)
go_to_tile : (
Struct.Model.Type ->