From 2e2caf6cc7df607686bbd8304ef23f62cf716939 Mon Sep 17 00:00:00 2001 From: Nathanael Sensfelder Date: Sun, 24 May 2020 16:09:10 +0200 Subject: ... --- src/battle/src/Constants/DisplayEffects.elm | 10 ++++++++++ src/battle/src/Struct/Battle.elm | 4 ++-- src/battle/src/Update/CharacterTurn.elm | 11 +++++++++++ src/battle/src/Update/CharacterTurn/AbortTurn.elm | 19 ++++++++++++++++++- src/battle/src/Update/CharacterTurn/EndTurn.elm | 10 +--------- src/battle/src/Update/Puppeteer/SwapWeapons.elm | 21 ++++++++------------- src/battle/src/Update/SelectTile.elm | 9 +++------ 7 files changed, 53 insertions(+), 31 deletions(-) create mode 100644 src/battle/src/Constants/DisplayEffects.elm (limited to 'src/battle') 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 -> -- cgit v1.2.3-70-g09d2