summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/struct/shr_character.erl')
-rw-r--r--src/shared/struct/shr_character.erl18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/shared/struct/shr_character.erl b/src/shared/struct/shr_character.erl
index 87a9be8..27cf81d 100644
--- a/src/shared/struct/shr_character.erl
+++ b/src/shared/struct/shr_character.erl
@@ -416,16 +416,24 @@ decode (Map) ->
is_using_secondary = maps:get(?IS_USING_SECONDARY_FIELD, Map)
}.
--spec encode (unresolved()) -> {list({binary(), any()})}.
-encode (CharRef) ->
+-spec encode (either()) -> {list({binary(), any()})}.
+encode (Character) ->
{
[
- {?NAME_FIELD, CharRef#shr_char_ref.name},
+ {?NAME_FIELD, get_name(Character)},
{
?EQUIPMENT_FIELD,
- shr_equipment:encode(CharRef#shr_char_ref.equipment)
+ shr_equipment:encode(get_equipment(Character))
},
- {?IS_USING_SECONDARY_FIELD, CharRef#shr_char_ref.is_using_secondary}
+ {
+ ?IS_USING_SECONDARY_FIELD,
+ (
+ case Character of
+ #shr_char_ref{is_using_secondary = R} -> R;
+ #shr_char{is_using_secondary = R} -> R
+ end
+ )
+ }
]
}.