summaryrefslogtreecommitdiff |
diff options
author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2020-05-24 16:09:10 +0200 |
---|---|---|
committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2020-05-24 16:09:10 +0200 |
commit | 2e2caf6cc7df607686bbd8304ef23f62cf716939 (patch) | |
tree | 1f648c2b19d628e2014e99aa15372ad8f1ec96a1 /src | |
parent | 4df61e290ac552711b96be1154df3a0eadabf262 (diff) |
...
Diffstat (limited to 'src')
-rw-r--r-- | src/battle/src/Constants/DisplayEffects.elm | 10 | ||||
-rw-r--r-- | src/battle/src/Struct/Battle.elm | 4 | ||||
-rw-r--r-- | src/battle/src/Update/CharacterTurn.elm | 11 | ||||
-rw-r--r-- | src/battle/src/Update/CharacterTurn/AbortTurn.elm | 19 | ||||
-rw-r--r-- | src/battle/src/Update/CharacterTurn/EndTurn.elm | 10 | ||||
-rw-r--r-- | src/battle/src/Update/Puppeteer/SwapWeapons.elm | 21 | ||||
-rw-r--r-- | src/battle/src/Update/SelectTile.elm | 9 | ||||
-rw-r--r-- | src/css/src/battle/map/character.scss | 3 | ||||
-rw-r--r-- | src/roster-editor/src/Struct/Model.elm | 2 | ||||
-rw-r--r-- | src/shared/battle-map/BattleMap/Struct/Map.elm | 4 | ||||
-rw-r--r-- | src/shared/elm/Shared/Util/Array.elm | 10 |
11 files changed, 64 insertions, 39 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 -> diff --git a/src/css/src/battle/map/character.scss b/src/css/src/battle/map/character.scss index 44fb744..0f07dad 100644 --- a/src/css/src/battle/map/character.scss +++ b/src/css/src/battle/map/character.scss @@ -15,6 +15,7 @@ height: inherit; } +.character-icon-effect-enabled, .character-icon-enabled { animation-name: pulsating; @@ -41,6 +42,7 @@ filter: contrast(35%); } +.character-icon-effect-target, .character-targeted { background-color: rgba(255,0,0,0.7); @@ -49,6 +51,7 @@ animation-iteration-count: infinite; } +.character-icon-effect-active, .character-selected { animation-name: strongly-pulsating; diff --git a/src/roster-editor/src/Struct/Model.elm b/src/roster-editor/src/Struct/Model.elm index 174a6f2..cc0aa86 100644 --- a/src/roster-editor/src/Struct/Model.elm +++ b/src/roster-editor/src/Struct/Model.elm @@ -161,7 +161,7 @@ save_character model = update_character_fun : ( Int -> - ((Maybe Struct.Character.Type) -> (Maybe Struct.Character.Type)) -> + (Struct.Character.Type -> Struct.Character.Type) -> Type -> Type ) diff --git a/src/shared/battle-map/BattleMap/Struct/Map.elm b/src/shared/battle-map/BattleMap/Struct/Map.elm index 3504f95..ed6c587 100644 --- a/src/shared/battle-map/BattleMap/Struct/Map.elm +++ b/src/shared/battle-map/BattleMap/Struct/Map.elm @@ -99,7 +99,7 @@ remove_marker marker_name map = content = (Set.foldl (\loc array -> - (Shared.Util.Array.update_unsafe + (Shared.Util.Array.update (location_to_index (BattleMap.Struct.Location.from_ref loc) map @@ -122,7 +122,7 @@ add_marker marker_name marker map = content = (Set.foldl (\loc array -> - (Shared.Util.Array.update_unsafe + (Shared.Util.Array.update (location_to_index (BattleMap.Struct.Location.from_ref loc) map diff --git a/src/shared/elm/Shared/Util/Array.elm b/src/shared/elm/Shared/Util/Array.elm index 234b4c4..a68aa5e 100644 --- a/src/shared/elm/Shared/Util/Array.elm +++ b/src/shared/elm/Shared/Util/Array.elm @@ -1,7 +1,7 @@ module Shared.Util.Array exposing ( update, - update_unsafe, + update_or_insert, filter_first, indexed_search ) @@ -9,24 +9,24 @@ module Shared.Util.Array exposing import List import Array -update : ( +update_or_insert : ( Int -> ((Maybe t) -> (Maybe t)) -> (Array.Array t) -> (Array.Array t) ) -update index fun array = +update_or_insert index fun array = case (fun (Array.get index array)) of Nothing -> array (Just e) -> (Array.set index e array) -update_unsafe : ( +update : ( Int -> (t -> t) -> (Array.Array t) -> (Array.Array t) ) -update_unsafe index fun array = +update index fun array = case (Array.get index array) of Nothing -> array (Just e) -> (Array.set index (fun e) array) |