summaryrefslogtreecommitdiff |
diff options
author | nsensfel <SpamShield0@noot-noot.org> | 2019-04-25 17:26:34 +0200 |
---|---|---|
committer | nsensfel <SpamShield0@noot-noot.org> | 2019-04-25 17:26:34 +0200 |
commit | fa540d6d07e430789809435741e6cd1d98111c50 (patch) | |
tree | 890c376b5684593f972ec81cf8c4fbf9455b8342 /src/battle/struct | |
parent | 4fb024b4ee52ccbb9f25b17eaa606ce0b5e0296a (diff) |
...
Diffstat (limited to 'src/battle/struct')
-rw-r--r-- | src/battle/struct/btl_character.erl | 37 | ||||
-rw-r--r-- | src/battle/struct/btl_character_turn_update.erl | 10 |
2 files changed, 33 insertions, 14 deletions
diff --git a/src/battle/struct/btl_character.erl b/src/battle/struct/btl_character.erl index 69904c6..ce0b3aa 100644 --- a/src/battle/struct/btl_character.erl +++ b/src/battle/struct/btl_character.erl @@ -69,6 +69,15 @@ set_is_defeated/2, set_base_character/2, + ataxia_set_rank/2, + ataxia_set_location/2, + ataxia_set_current_health/2, + ataxia_set_is_active/2, + ataxia_set_is_defeated/2, + ataxia_set_base_character/2, + + ataxia_set_base_character/3, + get_rank_field/0, get_current_health_field/0, get_is_active_field/0, @@ -119,7 +128,6 @@ get_is_alive (#btl_char{ current_health = H, is_defeated = D }) -> get_is_alive (#btl_char_ref{ current_health = H, is_defeated = D }) -> ((not D) and (H > 0)). - -spec get_is_active (either()) -> boolean(). get_is_active ( @@ -150,13 +158,23 @@ set_rank (Rank, Char) when is_record(Char, btl_char) -> set_rank (Rank, Char) when is_record(Char, btl_char_ref) -> Char#btl_char_ref{ rank = Rank }. +% TODO: This can change current_health. +% FIXME: Can't do this without giving the new tile omnimods. -spec set_location - ({non_neg_integer(), non_neg_integer()}, type()) -> type(); - ({non_neg_integer(), non_neg_integer()}, unresolved()) -> unresolved(). -set_location (Location, Char) when is_record(Char, btl_char) -> - Char#btl_char{ location = Location }; -set_location (Location, Char) when is_record(Char, btl_char_ref) -> - Char#btl_char_ref{ location = Location }. + ( + {non_neg_integer(), non_neg_integer()}, + shr_omnimods:type(), + type() + ) + -> type(); +set_location (Location, LocOmnimods, Char) -> + BaseCharacter = + CurrentMaxHealth = + shr_statistics:get_health + ( + shr_character:get_statistics + ) + Char#btl_char{ location = Location }. -spec set_current_health (integer(), type()) -> type(); @@ -182,13 +200,14 @@ set_is_defeated (Defeated, Char) when is_record(Char, btl_char) -> set_is_defeated (Defeated, Char) when is_record(Char, btl_char_ref) -> Char#btl_char_ref{ is_defeated = Defeated }. +% TODO: This can change current_health. -spec set_base_character (shr_character:type(), type()) -> type(); (shr_character:unresolved(), unresolved()) -> unresolved(). set_base_character (Base, Char) when is_record(Char, btl_char) -> - Char#btl_char{ base = Base}; + Char#btl_char{ base = Base }; set_base_character (Base, Char) when is_record(Char, btl_char_ref) -> - Char#btl_char_ref{ base = Base}. + Char#btl_char_ref{ base = Base }. %%%% Utils -spec new diff --git a/src/battle/struct/btl_character_turn_update.erl b/src/battle/struct/btl_character_turn_update.erl index 6649eb2..601f314 100644 --- a/src/battle/struct/btl_character_turn_update.erl +++ b/src/battle/struct/btl_character_turn_update.erl @@ -18,7 +18,7 @@ character_ix :: non_neg_integer(), - reversed_timeline :: list(any()) + timeline :: list(any()) } ). @@ -92,7 +92,7 @@ new (Battle, CharacterIX) -> character_ix = CharacterIX, - reversed_timeline = [] + timeline = [] }. -spec get_battle (type()) -> {type(), btl_battle:type()}. @@ -203,12 +203,12 @@ ataxia_set_character (Character, CharacterUpdate, Data) -> add_to_timeline (Item, Data) -> Data#type { - reversed_timeline = - [btl_turn_result:encode(Item)|Data#type.reversed_timeline] + timeline = + [btl_turn_result:encode(Item)|Data#type.timeline] }. -spec get_timeline (type()) -> list(any()). -get_timeline (Data) -> lists:reverse(Data#type.reversed_timeline). +get_timeline (Data) -> Data#type.timeline. -spec get_battle_update (type()) -> ataxic:basic(). get_battle_update (Data) -> |