summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2019-04-26 15:05:44 +0200
committernsensfel <SpamShield0@noot-noot.org>2019-04-26 15:05:44 +0200
commitec6eec260d6383ae948505c3d42b3055ae3dd94c (patch)
tree1d9ab2b09ab0a534fc6c09b62b940d9f1c7e139f /src/battle/struct/btl_character_turn_update.erl
parent7d428bac2f9d62c5a0e704eb32be869c10fec72e (diff)
Makes Dialyzer validate shared & battle.
Diffstat (limited to 'src/battle/struct/btl_character_turn_update.erl')
-rw-r--r--src/battle/struct/btl_character_turn_update.erl29
1 files changed, 19 insertions, 10 deletions
diff --git a/src/battle/struct/btl_character_turn_update.erl b/src/battle/struct/btl_character_turn_update.erl
index 601f314..9f2c30a 100644
--- a/src/battle/struct/btl_character_turn_update.erl
+++ b/src/battle/struct/btl_character_turn_update.erl
@@ -56,10 +56,10 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-spec resolve_character_at
(
- btl_battle:type(),
- non_neg_integer()
- ) -> btl_charater:type().
-resolve_character_at (Battle, CharacterIX) ->
+ non_neg_integer(),
+ btl_battle:type()
+ ) -> btl_character:type().
+resolve_character_at (CharacterIX, Battle) ->
CharacterRef = btl_battle:get_character(CharacterIX, Battle),
Location = btl_character:get_location(CharacterRef),
Map = btl_battle:get_map(Battle),
@@ -78,7 +78,6 @@ resolve_character_at (Battle, CharacterIX) ->
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-spec new (btl_battle:type(), non_neg_integer()) -> type().
new (Battle, CharacterIX) ->
-
#type
{
character_is_outdated = false,
@@ -87,7 +86,7 @@ new (Battle, CharacterIX) ->
battle = Battle,
reversed_battle_updates = [],
- character = resolve_character_at(Battle, CharacterIX),
+ character = resolve_character_at(CharacterIX, Battle),
reversed_character_updates = [],
character_ix = CharacterIX,
@@ -104,7 +103,7 @@ get_battle (Data) ->
btl_battle:ataxia_set_character
(
Data#type.character_ix,
- Data#type.character,
+ btl_character:to_unresolved(Data#type.character),
ataxic:sequence
(
lists:reverse(Data#type.reversed_character_updates)
@@ -153,9 +152,12 @@ get_character_ix (Data) -> Data#type.character_ix.
-spec set_battle (btl_battle:type(), boolean(), type()) -> type().
set_battle (Battle, CouldAffectCharacter, Data) ->
+ false = (Data#type.battle_is_outdated and CouldAffectCharacter),
+
Data#type
{
- character_is_outdated = CouldAffectCharacter,
+ character_is_outdated =
+ (Data#type.character_is_outdated or CouldAffectCharacter),
battle = Battle
}.
@@ -168,15 +170,20 @@ set_battle (Battle, CouldAffectCharacter, Data) ->
)
-> type().
ataxia_set_battle (Battle, CouldAffectCharacter, BattleUpdate, Data) ->
+ false = (Data#type.battle_is_outdated and CouldAffectCharacter),
+
Data#type
{
- character_is_outdated = CouldAffectCharacter,
+ character_is_outdated =
+ (Data#type.character_is_outdated or CouldAffectCharacter),
battle = Battle,
reversed_battle_updates = [BattleUpdate|Data#type.reversed_battle_updates]
}.
-spec set_character (btl_character:type(), type()) -> type().
set_character (Character, Data) ->
+ false = Data#type.character_is_outdated,
+
Data#type
{
battle_is_outdated = true,
@@ -186,11 +193,13 @@ set_character (Character, Data) ->
-spec ataxia_set_character
(
btl_character:type(),
- ataxia:basic(),
+ ataxic:basic(),
type()
)
-> type().
ataxia_set_character (Character, CharacterUpdate, Data) ->
+ false = Data#type.character_is_outdated,
+
Data#type
{
battle_is_outdated = true,