summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2018-08-29 16:24:10 +0200
committernsensfel <SpamShield0@noot-noot.org>2018-08-29 16:24:10 +0200
commit9ffa08c3aad8e4f40b7f7d1e7845e5153f9c34ab (patch)
tree363619618b680e59ab76efa8e7db92bc57ca784a /src/battle/struct/btl_character_turn_data.erl
parent79b2d1dd4f114bc31105df0e554f9c1f18c87e5d (diff)
Still working on it...
Diffstat (limited to 'src/battle/struct/btl_character_turn_data.erl')
-rw-r--r--src/battle/struct/btl_character_turn_data.erl24
1 files changed, 23 insertions, 1 deletions
diff --git a/src/battle/struct/btl_character_turn_data.erl b/src/battle/struct/btl_character_turn_data.erl
index 64df29f..6742d1c 100644
--- a/src/battle/struct/btl_character_turn_data.erl
+++ b/src/battle/struct/btl_character_turn_data.erl
@@ -10,6 +10,7 @@
dirty :: boolean(),
battle :: btl_battle:type(),
character :: btl_character:type(),
+ character_current_data :: btl_character_current_data:type(),
character_ix :: non_neg_integer()
}
).
@@ -29,10 +30,12 @@
get_battle_is_dirty/1,
get_battle/1,
get_character/1,
+ get_character_current_data/1,
get_character_ix/1,
set_battle/2,
- set_character/2
+ set_character/2,
+ refresh_character_current_data/1
]
).
@@ -54,12 +57,15 @@
-spec new (btl_battle:type(), non_neg_integer()) -> type().
new (Battle, CharacterIX) ->
Character = btl_battle:get_character(CharacterIX, Battle),
+ Map = btl_battle:get_map(Battle),
+ CharacterCurrentData = btl_character_current_data:new(Character, Map),
#type
{
dirty = false,
battle = Battle,
character = Character,
+ character_current_data = CharacterCurrentData,
character_ix = CharacterIX
}.
@@ -72,6 +78,9 @@ get_battle (Data) -> Data#type.battle.
-spec get_character (type()) -> btl_character:type().
get_character (Data) -> Data#type.character.
+-spec get_character_current_data (type()) -> btl_character_current_data:type().
+get_character_current_data (Data) -> Data#type.character_current_data.
+
-spec get_character_ix (type()) -> non_neg_integer().
get_character_ix (Data) -> Data#type.character_ix.
@@ -87,6 +96,19 @@ set_character (Character, Data) ->
character = Character
}.
+-spec refresh_character_current_data (type()) -> type().
+refresh_character_current_data (Data) ->
+ Battle = Data#type.battle,
+ Character = Data#type.character,
+ Map = btl_battle:get_map(Battle),
+ CharacterCurrentData = btl_character_current_data:new(Character, Map),
+
+ Data#type
+ {
+ character_current_data = CharacterCurrentData
+ }.
+
+
-spec clean_battle (type()) -> type().
clean_battle (Data) ->
Data#type