@@ -65,6 +65,7 @@ defmodule Cardian.Builder do
65
65
|> try_put_field ( "Arrows" , card . arrows , true )
66
66
|> put_monster_atk ( card )
67
67
|> try_put_field ( "Released in" , build_sets ( card , format ) )
68
+ |> put_format_footer ( format )
68
69
end
69
70
70
71
def build_art_message ( % Card { } = card , image_url ) when is_binary ( image_url ) do
@@ -83,6 +84,10 @@ defmodule Cardian.Builder do
83
84
}
84
85
end
85
86
87
+ defp put_format_footer ( embed , :paper ) , do: put_footer ( embed , "Format: Paper" )
88
+ defp put_format_footer ( embed , :md ) , do: put_footer ( embed , "Format: Master Duel" )
89
+ defp put_format_footer ( embed , :dl ) , do: put_footer ( embed , "Format: Duel Links" )
90
+
86
91
defp put_ocg_footer ( embed , % Card { ocg: true } ) do
87
92
embed
88
93
|> put_footer ( "OCG Art" )
@@ -163,6 +168,9 @@ defmodule Cardian.Builder do
163
168
164
169
:md ->
165
170
"**Attribute**: #{ @ attribute_icons [ card . attribute ] } #{ put_card_rarity ( card . rarity_md ) } "
171
+
172
+ :dl ->
173
+ "**Attribute**: #{ @ attribute_icons [ card . attribute ] } #{ put_card_rarity ( card . rarity_dl ) } "
166
174
end
167
175
168
176
put_description (
@@ -186,6 +194,9 @@ defmodule Cardian.Builder do
186
194
187
195
:md ->
188
196
"**Type**: #{ @ spell_trap_icons [ card . type ] } #{ @ card_type_icons [ card . race ] } #{ put_card_rarity ( card . rarity_md ) } "
197
+
198
+ :dl ->
199
+ "**Type**: #{ @ spell_trap_icons [ card . type ] } #{ @ card_type_icons [ card . race ] } #{ put_card_rarity ( card . rarity_dl ) } "
189
200
end
190
201
191
202
put_description (
@@ -207,13 +218,17 @@ defmodule Cardian.Builder do
207
218
defp put_card_rarity ( _ ) , do: ""
208
219
209
220
defp put_card_status ( % Card { } = card , :paper ) do
210
- "**TCG Status**: #{ status_icon ( card . status_tcg ) } **OCG Status**: #{ status_icon ( card . status_ocg ) } "
221
+ "**TCG Status**: #{ status_icon ( card . status_tcg ) } \n **OCG Status**: #{ status_icon ( card . status_ocg ) } "
211
222
end
212
223
213
224
defp put_card_status ( % Card { } = card , :md ) do
214
225
"**Status**: #{ status_icon ( card . status_md ) } "
215
226
end
216
227
228
+ defp put_card_status ( % Card { } = card , :dl ) do
229
+ "**Status**: #{ status_icon ( card . status_dl ) } "
230
+ end
231
+
217
232
defp status_icon ( status ) when is_map_key ( @ status_icons , status ) do
218
233
@ status_icons [ status ]
219
234
end
@@ -264,6 +279,19 @@ defmodule Cardian.Builder do
264
279
|> Enum . join ( ", " )
265
280
end
266
281
282
+ defp build_sets ( % Card { } = card , :dl ) when is_list ( card . sets_dl ) and length ( card . sets_dl ) > 0 do
283
+ card . sets_dl
284
+ |> Enum . flat_map ( & CardRegistry . get_set_by_id ( & 1 ) )
285
+ |> Enum . map (
286
+ & if & 1 . url do
287
+ "[#{ & 1 . name } ](#{ & 1 . url } )"
288
+ else
289
+ & 1 . name
290
+ end
291
+ )
292
+ |> Enum . join ( ", " )
293
+ end
294
+
267
295
defp build_sets ( _ , _ ) , do: "Unreleased"
268
296
269
297
defp try_put_color ( embed , color ) when is_integer ( color ) do
0 commit comments