summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2019-06-06 17:54:05 +0200
committernsensfel <SpamShield0@noot-noot.org>2019-06-06 17:54:05 +0200
commit5fd8f5d303e8915cc74a52e5b86d1fd8f073cb4d (patch)
treec732d37accd97348ff0f886021bcbb8f48dff0fb /src/shared/struct/shr_character.erl
parentc3afe2633025641dd02e05d6c55dd9cafc42b8a2 (diff)
Fixes some of the issues I've found.
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
+ )
+ }
]
}.