@@ -9,6 +9,7 @@ declare PACK_ORDER=false
9
9
declare RELEASE_ORDER=false
10
10
declare SUPER_ALPHABETICAL_ORDER=false
11
11
declare WAVE_ORDER=false
12
+ declare PRINT_DUPLICATES=false
12
13
declare DECK_JSON
13
14
14
15
init_packs () {
@@ -95,12 +96,30 @@ print_card() {
95
96
local card_name=" $( jq -r ' .real_name' <<< $card_json ) "
96
97
local pack_name=" $( jq -r ' .pack_name' <<< $card_json ) "
97
98
local position=" $( jq -r ' .position' <<< $card_json ) "
99
+ local -a duplicate_files
100
+
101
+ if $PRINT_DUPLICATES ; then
102
+ for duplicate_id in $( jq -r ' if (.duplicated_by | length) > 0 then .duplicated_by[] else empty end' <<< $card_json ) ; do
103
+ duplicate_files+=($( get_card_file $duplicate_id ) )
104
+ done
105
+ fi
98
106
99
107
printf ' %d \u00D7 ' " $amount "
100
108
101
109
print_faction_color " $faction_code "
102
110
103
- printf ' %s\e[0m (\e[90mWave #%s\e[0m %s #%d)\n' " $card_name " " $wave_number " " $pack_name " " $position "
111
+ printf ' %s\e[0m (\e[90mWave #%d\e[0m %s #%d' " $card_name " " $wave_number " " $pack_name " " $position "
112
+
113
+ if $PRINT_DUPLICATES ; then
114
+ for duplicate_file in " ${duplicate_files[@]} " ; do
115
+ local duplicate_pack_code=$( jq -r ' .pack_code' $duplicate_file )
116
+ local duplicate_wave_number=$( get_wave_number " $duplicate_pack_code " )
117
+ local duplicate_pack_name=$( jq -r ' .pack_name' $duplicate_file )
118
+ local duplicate_position=$( jq -r ' .position' $duplicate_file )
119
+ printf ' \e[90m, Wave #%d\e[0m %s #%d' " $duplicate_wave_number " " $duplicate_pack_name " " $duplicate_position "
120
+ done
121
+ fi
122
+ printf ' )\n'
104
123
}
105
124
106
125
get_card_file () {
@@ -228,12 +247,13 @@ print_cards() {
228
247
229
248
print_deck () {
230
249
local deck_name=$( jq -r ' .name' <<< " $DECK_JSON" )
250
+ local hero_name=$( jq -r ' .hero_name' <<< " $DECK_JSON" )
231
251
232
- printf ' %s\n' " $deck_name "
252
+ printf ' %s (%s) \n' " $deck_name " " $hero_name "
233
253
234
254
local -a card_files
235
- for card_id_json in $( jq -r ' .slots | keys | .[]' <<< " $DECK_JSON" ) ; do
236
- card_files+=($( get_card_file $card_id_json ) )
255
+ for card_id in $( jq -r ' .slots | keys | .[]' <<< " $DECK_JSON" ) ; do
256
+ card_files+=($( get_card_file $card_id ) )
237
257
done
238
258
239
259
if $SUPER_ALPHABETICAL_ORDER ; then
@@ -271,7 +291,7 @@ print_deck() {
271
291
272
292
init_packs
273
293
274
- while getopts ' d:l:aprw ' opt; do
294
+ while getopts ' d:l:aprwu ' opt; do
275
295
case $opt in
276
296
d)
277
297
DECK_JSON=" $( curl -s " ${MCDB_API_URL} /deck/${OPTARG} " ) "
@@ -294,6 +314,9 @@ while getopts 'd:l:aprw' opt; do
294
314
w)
295
315
WAVE_ORDER=true
296
316
;;
317
+ u)
318
+ PRINT_DUPLICATES=true
319
+ ;;
297
320
esac
298
321
done
299
322
0 commit comments