From b7baafd1c0edb4189bddc10230c16fd0d5705659 Mon Sep 17 00:00:00 2001 From: Erzangel Date: Sun, 7 Jul 2024 19:44:41 +0200 Subject: [PATCH 1/3] feat(img): ooooh i doubt you could ever imagine --- img/skins/heron/001.png | 3 +++ img/skins/heron/004.png | 3 +++ img/skins/heron/006.png | 3 +++ img/skins/heron/013.png | 3 +++ img/skins/heron/015.png | 3 +++ img/skins/heron/025.png | 3 +++ img/skins/heron/027.png | 3 +++ img/skins/heron/028.png | 3 +++ img/skins/heron/030.png | 3 +++ img/skins/heron/033.png | 3 +++ img/skins/heron/034.png | 3 +++ img/skins/heron/035.png | 3 +++ img/skins/heron/036.png | 3 +++ img/skins/heron/042.png | 3 +++ img/skins/heron/043.png | 3 +++ img/skins/heron/051.png | 3 +++ img/skins/heron/054.png | 3 +++ img/skins/heron/056.png | 3 +++ img/skins/heron/057.png | 3 +++ img/skins/heron/058.png | 3 +++ img/skins/heron/059.png | 3 +++ 21 files changed, 63 insertions(+) create mode 100644 img/skins/heron/001.png create mode 100644 img/skins/heron/004.png create mode 100644 img/skins/heron/006.png create mode 100644 img/skins/heron/013.png create mode 100644 img/skins/heron/015.png create mode 100644 img/skins/heron/025.png create mode 100644 img/skins/heron/027.png create mode 100644 img/skins/heron/028.png create mode 100644 img/skins/heron/030.png create mode 100644 img/skins/heron/033.png create mode 100644 img/skins/heron/034.png create mode 100644 img/skins/heron/035.png create mode 100644 img/skins/heron/036.png create mode 100644 img/skins/heron/042.png create mode 100644 img/skins/heron/043.png create mode 100644 img/skins/heron/051.png create mode 100644 img/skins/heron/054.png create mode 100644 img/skins/heron/056.png create mode 100644 img/skins/heron/057.png create mode 100644 img/skins/heron/058.png create mode 100644 img/skins/heron/059.png diff --git a/img/skins/heron/001.png b/img/skins/heron/001.png new file mode 100644 index 0000000..a795452 --- /dev/null +++ b/img/skins/heron/001.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1190340203683650f288d990ed55b39e68776a677a1603cf3c8fa39bef28258 +size 480460 diff --git a/img/skins/heron/004.png b/img/skins/heron/004.png new file mode 100644 index 0000000..5815802 --- /dev/null +++ b/img/skins/heron/004.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47e9eef63fdda685fedb297400baeba0462dc01f3ac53917fa89aa1703424bba +size 220023 diff --git a/img/skins/heron/006.png b/img/skins/heron/006.png new file mode 100644 index 0000000..685eccc --- /dev/null +++ b/img/skins/heron/006.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0232afd14a067c50925903d2e97b2c9b328cad339ecd6b0a1bf9f84f691ec901 +size 349424 diff --git a/img/skins/heron/013.png b/img/skins/heron/013.png new file mode 100644 index 0000000..eeefa23 --- /dev/null +++ b/img/skins/heron/013.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7aa2e9bcd54be1610ba98d31b4a50a3c63cdabab0797c857f2996f6e3351301 +size 370480 diff --git a/img/skins/heron/015.png b/img/skins/heron/015.png new file mode 100644 index 0000000..bd790d5 --- /dev/null +++ b/img/skins/heron/015.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8809800a5861ef7c5a96a87c6177abac5659901e217c2a64a63810e1a7753e2e +size 385536 diff --git a/img/skins/heron/025.png b/img/skins/heron/025.png new file mode 100644 index 0000000..9f97adc --- /dev/null +++ b/img/skins/heron/025.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:643624c3e6970f7436c5b93c86eadc564576e44d7f6210002149baf45649115b +size 192316 diff --git a/img/skins/heron/027.png b/img/skins/heron/027.png new file mode 100644 index 0000000..e7c2bc7 --- /dev/null +++ b/img/skins/heron/027.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:359391eecd42d29532ca2ca6dd140b6091fdf62381c423f6899fa56d52868b43 +size 204999 diff --git a/img/skins/heron/028.png b/img/skins/heron/028.png new file mode 100644 index 0000000..2a9c183 --- /dev/null +++ b/img/skins/heron/028.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9530374959a4cee675128c87a088bf63fd8496b09ea0d4bf4962018016403ff0 +size 238394 diff --git a/img/skins/heron/030.png b/img/skins/heron/030.png new file mode 100644 index 0000000..f069c66 --- /dev/null +++ b/img/skins/heron/030.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7550783c5c81aff1e8d787d9356f72d018e9b8cfe13657c941610cdda0a31f5f +size 232998 diff --git a/img/skins/heron/033.png b/img/skins/heron/033.png new file mode 100644 index 0000000..fdb612b --- /dev/null +++ b/img/skins/heron/033.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ec9636274657ce2cea03151cba6fbb7dbaa6bc6fedba9a4d720eeb2969ef08b +size 227198 diff --git a/img/skins/heron/034.png b/img/skins/heron/034.png new file mode 100644 index 0000000..b46a396 --- /dev/null +++ b/img/skins/heron/034.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:172a87f3da5817ebec6689d3ab2f12830964dd4218705ce1707f45c0e17716bc +size 292647 diff --git a/img/skins/heron/035.png b/img/skins/heron/035.png new file mode 100644 index 0000000..6d41b18 --- /dev/null +++ b/img/skins/heron/035.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3514cb21c9ea2de670653bee8ceb5a0a1a539bf9ab2b5a5890063add67b93fb6 +size 212294 diff --git a/img/skins/heron/036.png b/img/skins/heron/036.png new file mode 100644 index 0000000..54d628c --- /dev/null +++ b/img/skins/heron/036.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81c13f1c6ebec01d21205abf6ae1fabb9d6051b8c5bf1cf327ae41da6d110ced +size 252338 diff --git a/img/skins/heron/042.png b/img/skins/heron/042.png new file mode 100644 index 0000000..399fac4 --- /dev/null +++ b/img/skins/heron/042.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bce5561fc53cba1517e26865a3b292b3945d1151318508093dea03180e9493f1 +size 424326 diff --git a/img/skins/heron/043.png b/img/skins/heron/043.png new file mode 100644 index 0000000..aba3755 --- /dev/null +++ b/img/skins/heron/043.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9030a35cc4cf663d867ab5ad24948028a5d222daa45ee4ad62765a3f47b80df4 +size 215738 diff --git a/img/skins/heron/051.png b/img/skins/heron/051.png new file mode 100644 index 0000000..ba044cd --- /dev/null +++ b/img/skins/heron/051.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a00c6dccd6f9b8a597d3a4208d7ca2fc56b1d24dbc2197afe59561b66a3d72c1 +size 289338 diff --git a/img/skins/heron/054.png b/img/skins/heron/054.png new file mode 100644 index 0000000..c52bdc2 --- /dev/null +++ b/img/skins/heron/054.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5e5f94bff3efbde3bafd560b89840c293db6f0176f3a3cf2faad550380baf45 +size 223567 diff --git a/img/skins/heron/056.png b/img/skins/heron/056.png new file mode 100644 index 0000000..7d70c52 --- /dev/null +++ b/img/skins/heron/056.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f5aca131adaf141483a2871e8646af88a2a5b5626ee20c5b48a76d19e528121 +size 114668 diff --git a/img/skins/heron/057.png b/img/skins/heron/057.png new file mode 100644 index 0000000..c63e61c --- /dev/null +++ b/img/skins/heron/057.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:681ec65aa03d52382be7aaaebd1120502ebfda0fff79421b70de97946fc92ced +size 108939 diff --git a/img/skins/heron/058.png b/img/skins/heron/058.png new file mode 100644 index 0000000..c485b7d --- /dev/null +++ b/img/skins/heron/058.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8da822a79e1413a84150ade0fb39fdbdd5b227b0df724cf7028eaf5b0b5addc6 +size 115825 diff --git a/img/skins/heron/059.png b/img/skins/heron/059.png new file mode 100644 index 0000000..cfb2f71 --- /dev/null +++ b/img/skins/heron/059.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6fd54f9c25826b2b622d9afcf33bcef49e3fe13a901fcf0721d83728f9f58e3f +size 113895 From c065e23708495e5892bfeeadae353abcf9fe9354 Mon Sep 17 00:00:00 2001 From: legonzaur Date: Sun, 7 Jul 2024 19:50:40 +0200 Subject: [PATCH 2/3] Fix : quotes conflict on fstring --- src/generate_cards_mvp.py | 86 ++++++++++++++++++++++++++++----------- 1 file changed, 63 insertions(+), 23 deletions(-) diff --git a/src/generate_cards_mvp.py b/src/generate_cards_mvp.py index 380ed30..d66c35b 100644 --- a/src/generate_cards_mvp.py +++ b/src/generate_cards_mvp.py @@ -18,7 +18,7 @@ with open("src/data/heron_skin.json", encoding="utf-8") as f: all_skin_data: SkinFile = json.load(f) cards: list[Card] = [] -for p in Path('src/data/cards').glob('*.json'): +for p in Path("src/data/cards").glob("*.json"): with open(p, encoding="utf-8") as f: temp: list[Card] = json.load(f)["cards"] cards.extend(temp) @@ -29,7 +29,7 @@ y_height = 417 border_width_x = 12 border_width_y = 17 -x_internal_width = x_width - (border_width_x*2) +x_internal_width = x_width - (border_width_x * 2) border_upper_offset = 5 title_y_offset = 24 @@ -46,15 +46,21 @@ background_colors = { "base": "lightgrey", } -gradient_colors = {"red": "red", "blue": "blue", "yellow": "yellow", "green": "green", "base":"gray"} +gradient_colors = { + "red": "red", + "blue": "blue", + "yellow": "yellow", + "green": "green", + "base": "gray", +} icon_colors = { "yellow": ["#ff9935", "#ffe744"], "blue": ["#ff9935", "#ffe744"], "red": ["#ff9935", "#ffe744"], "green": ["#ff9935", "#ffe744"], - "base": ["#ff9935", "#ffe744"] - } + "base": ["#ff9935", "#ffe744"], +} shadowFilter = dw.Filter(id="drop-shadow") @@ -76,7 +82,9 @@ for card_data in cards: try: card_skin_data = all_skin_data["cards"][str(card_data["id"])] except KeyError: - print("Missing skin data for card id:", card_data["id"], "using default skin data") + print( + "Missing skin data for card id:", card_data["id"], "using default skin data" + ) card_skin_data = SkinData( title=card_data["name"], image_path="../../img/missing.png", @@ -85,7 +93,17 @@ for card_data in cards: # Create a new SVG drawing output_dir = "output/" + all_skin_data["skin_name"] os.makedirs(output_dir, exist_ok=True) - d = Drawing(x_width, y_height, id="card"+str(card_data["id"]), id_prefix=str(card_data.get('id')) + "_", **{'class':'card', 'xmlns:v-bind':"https://vuejs.org/guide/essentials/class-and-style.html",'xmlns:v-on':"https://vuejs.org/guide/essentials/event-handling.html"}) + d = Drawing( + x_width, + y_height, + id="card" + str(card_data["id"]), + id_prefix=str(card_data.get("id")) + "_", + **{ + "class": "card", + "xmlns:v-bind": "https://vuejs.org/guide/essentials/class-and-style.html", + "xmlns:v-on": "https://vuejs.org/guide/essentials/event-handling.html", + }, + ) d.append(shadowFilter) # Define linear colored gradient @@ -106,7 +124,19 @@ for card_data in cards: # Draw card background background = dw.Group(id="background") - background.append(dw.Rectangle(0, 0, x_width, y_height, rx=15, ry=18, fill="black", stroke="white", stroke_width=1)) + background.append( + dw.Rectangle( + 0, + 0, + x_width, + y_height, + rx=15, + ry=18, + fill="black", + stroke="white", + stroke_width=1, + ) + ) background.append( dw.Rectangle( border_width_x, @@ -161,41 +191,51 @@ for card_data in cards: ) d.append(title) - # Draw faction icon d.append( - dw.Group(children=[faction_icon],transform=f"translate({border_width_x + 23 + 1},{border_width_y - border_upper_offset + 20 + 4 + 1})") + dw.Group( + children=[faction_icon], + transform=f"translate({border_width_x + 23 + 1},{border_width_y - border_upper_offset + 20 + 4 + 1})", + ) ) # Draw card cost if card_data.get("cost") is not None: d.append( - dw.Group(children=[create_gold_icon(cast(int,card_data.get("cost")))],transform=f"translate({x_width - cost_right_offset},{19 + border_width_y})") + dw.Group( + children=[create_gold_icon(cast(int, card_data.get("cost")))], + transform=f"translate({x_width - cost_right_offset},{19 + border_width_y})", + ) ) d.append(dw.Rectangle(x=0, y=65, width=x_width, height=200)) - d.append(dw.Image(x=0, y=65, width=x_width, height=200,path=card_skin_data["image_path"])) - + d.append( + dw.Image( + x=0, y=65, width=x_width, height=200, path=card_skin_data["image_path"] + ) + ) # Draw effects effects = card_data.get("effects") if effects is not None: - effects = create_effects( - effects=effects, - height=135, - width=x_internal_width - ) - d.append(dw.Group( + effects = create_effects(effects=effects, height=135, width=x_internal_width) + d.append( + dw.Group( effects, transform=f"translate({border_width_x},{265})", - )) + ) + ) # If champion, draw champion shield with defense if card_data["card_type"] == "champion": shield = draw_champion_shield(card_data, border_width_x) - d.append(dw.Group( + d.append( + dw.Group( shield, transform=f"translate({x_width-30},{y_height})", - )) + ) + ) # Save the SVG file - d.save_svg(f"output/{all_skin_data['skin_name']}/{str(card_data["id"]).zfill(3)}.svg") + d.save_svg( + f"output/{all_skin_data['skin_name']}/{str(card_data['id']).zfill(3)}.svg" + ) From 2d349a1401a07a723e9e6c3aaba1d42e6342fc47 Mon Sep 17 00:00:00 2001 From: Erzangel Date: Tue, 16 Jul 2024 23:22:48 +0200 Subject: [PATCH 3/3] feat: heron skin data for base cards --- img/skins/heron/{007.jpg => 007.png} | 0 img/skins/heron/016.png | 3 + img/skins/heron/024.png | 3 + src/data/heron_skin.json | 285 +++++++++++++++++++++++++++ 4 files changed, 291 insertions(+) rename img/skins/heron/{007.jpg => 007.png} (100%) create mode 100644 img/skins/heron/016.png create mode 100644 img/skins/heron/024.png diff --git a/img/skins/heron/007.jpg b/img/skins/heron/007.png similarity index 100% rename from img/skins/heron/007.jpg rename to img/skins/heron/007.png diff --git a/img/skins/heron/016.png b/img/skins/heron/016.png new file mode 100644 index 0000000..aeab860 --- /dev/null +++ b/img/skins/heron/016.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef05611492f62ec9908adbdef0cd5c11282a619459e995a2d5c42b983bc93480 +size 303517 diff --git a/img/skins/heron/024.png b/img/skins/heron/024.png new file mode 100644 index 0000000..d66440f --- /dev/null +++ b/img/skins/heron/024.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4c628a4f2bb816cecb63f7043bff9a742572c80041608a720f82c15c3d17d4f +size 351604 diff --git a/src/data/heron_skin.json b/src/data/heron_skin.json index 489837f..9e97aca 100644 --- a/src/data/heron_skin.json +++ b/src/data/heron_skin.json @@ -1,15 +1,300 @@ { "skin_name": "heron", "cards":{ + "1": { + "title": "Tohru, Dragon Maid", + "flavor_text_type": "Lesbienne", + "image_path": "../../img/skins/heron/001.png" + }, + "2": { + "title": "Serrer les... rangs?", + "flavor_text_type": "Motivation 😳", + "image_path": "../../img/skins/heron/002.png" + }, + "3": { + "title": "Commandement", + + "image_path": "../../img/skins/heron/003.png" + }, + "4": { + "title": "Saki, Pégase de Guerre", + "flavor_text_type": "Cowboy", + "image_path": "../../img/skins/heron/004.png" + }, + "5": { + "title": "Domination", + + "image_path": "../../img/skins/heron/005.png" + }, + "6": { + "title": "Raiden, le Juste", + + "image_path": "../../img/skins/heron/006.png" + }, + "7": { + "title": "Kikuri, Grande Prêtre", + "flavor_text_type": "Alcoolique", + "image_path": "../../img/skins/heron/007.png" + }, + "8": { + "title": "Le Gardien", + "flavor_text_type": "Gardien", + "image_path": "../../img/skins/heron/008.png" + }, + "9": { + "title": "Dlanor A. Knox", + "flavor_text_type": "Inquisitrice", + "image_path": "../../img/skins/heron/009.png" + }, "10": { "title": "Rallier les Troupes", "flavor_text_type": "Charme", "image_path": "../../img/skins/heron/010.png" }, + "11": { + "title": "Recrutement", + + "image_path": "../../img/skins/heron/011.png" + }, + "12": { + "title": "Tits Priest", + "flavor_text_type": "Meuble", + "image_path": "../../img/skins/heron/012.png" + }, "13": { "title": "Caprisun", "flavor_text_type": "20cl", "image_path": "../../img/skins/heron/013.png" + }, + "14": { + "title": "Parole de Puissance", + + "image_path": "../../img/skins/heron/014.png" + }, + "15": { + "title": "Madeline, Mercenaire", + "flavor_text_type": "Guerrière", + "image_path": "../../img/skins/heron/015.png" + }, + "16": { + "title": "Pot-de-Vin", + + "image_path": "../../img/skins/heron/016.png" + }, + "17": { + "title": "Menace de Mort", + "flavor_text_type": "Takano", + "image_path": "../../img/skins/heron/017.png" + }, + "18": { + "title": "Fourberie", + + "image_path": "../../img/skins/heron/018.png" + }, + "19": { + "title": "Niko Incendiaire", + "flavor_text_type": "gfhd;spfgljh.-", + "image_path": "../../img/skins/heron/019.png" + }, + "20": { + "title": "Tit job", + + "image_path": "../../img/skins/heron/020.png" + }, + "21": { + "title": "Intimidation", + + "image_path": "../../img/skins/heron/021.png" + }, + "22": { + "title": "S.W.M.G.", + "flavor_text_type": "Gang", + "image_path": "../../img/skins/heron/022.png" + }, + "23": { + "title": "Parov, l'Exécuteur", + "flavor_text_type": "Bagarreur", + "image_path": "../../img/skins/heron/023.png" + }, + "24": { + "title": "Bénéfice", + + "image_path": "../../img/skins/heron/024.png" + }, + "25": { + "title": "Jester, Maître Assassin", + + "image_path": "../../img/skins/heron/025.png" + }, + "26": { + "title": "Mako, le Contrebandier", + "flavor_text_type": "Charlatan", + "image_path": "../../img/skins/heron/026.png" + }, + "27": { + "title": "Casser et Piller (chez toi)", + "flavor_text_type": "Crime", + "image_path": "../../img/skins/heron/027.png" + }, + "28": { + "title": "Cirno", + "flavor_text_type": "Baka", + "image_path": "../../img/skins/heron/028.png" + }, + "29": { + "title": "Prêtre du Cul", + "flavor_text_type": "Thicc", + "image_path": "../../img/skins/heron/029.png" + }, + "30": { + "title": "LowTierGod", + "flavor_text_type": "Streamer", + "image_path": "../../img/skins/heron/030.png" + }, + "31": { + "title": "Sombre Récompense", + + "image_path": "../../img/skins/heron/031.png" + }, + "32": { + "title": "Bracken", + "flavor_text_type": "Entité", + "image_path": "../../img/skins/heron/032.png" + }, + "33": { + "title": "Bad Touch", + "flavor_text_type": "Boisson", + "image_path": "../../img/skins/heron/033.png" + }, + "34": { + "title": "Alear, Tisseuse de Liens", + "flavor_text_type": "Dragon Divin", + "image_path": "../../img/skins/heron/034.png" + }, + "35": { + "title": "Trick-or-Treat!", + + "image_path": "../../img/skins/heron/035.png" + }, + "36": { + "title": "Miguel O'Hara", + "flavor_text_type": "DILF", + "image_path": "../../img/skins/heron/036.png" + }, + "37": { + "title": "Drain de Vie", + "flavor_text_type": "Pas de Bol", + "image_path": "../../img/skins/heron/037.png" + }, + "38": { + "title": "V2", + "flavor_text_type": "Connard", + "image_path": "../../img/skins/heron/038.png" + }, + "39": { + "title": "La Riamuification", + "flavor_text_type": "Malédiction", + "image_path": "../../img/skins/heron/039.png" + }, + "40": { + "title": "Yuyuko, la Dévoreuse", + "flavor_text_type": "Fumo", + "image_path": "../../img/skins/heron/040.png" + }, + "41": { + "title": "Battler, Maître du jeu", + "flavor_text_type": "Sorcier Infini", + "image_path": "../../img/skins/heron/041.png" + }, + "42": { + "title": "Featherine, la Spectatrice", + "flavor_text_type": "Sorcière", + "image_path": "../../img/skins/heron/042.png" + }, + "43": { + "title": "Panette, la Berserker", + + "image_path": "../../img/skins/heron/043.png" + }, + "44": { + "title": "Koromaru Niveau 99", + "flavor_text_type": "Persona-user", + "image_path": "../../img/skins/heron/044.png" + }, + "45": { + "title": "Malédiction des Fibres", + "flavor_text_type": "Mind-control", + "image_path": "../../img/skins/heron/045.png" + }, + "46": { + "title": "Don Insecte", + "flavor_text_type": "Potite", + "image_path": "../../img/skins/heron/046.png" + }, + "47": { + "title": "Leshy, Géant de la Forêt", + "flavor_text_type": "Maître du jeu", + "image_path": "../../img/skins/heron/047.png" + }, + "48": { + "title": "Don de la Nature", + + "image_path": "../../img/skins/heron/048.png" + }, + "49": { + "title": "Grognasse", + "flavor_text_type": "Fille", + "image_path": "../../img/skins/heron/049.png" + }, + "50": { + "title": "Impulsion Temporelle", + + "image_path": "../../img/skins/heron/050.png" + }, + "51": { + "title": "Baiken, Samurai Slasher", + + "image_path": "../../img/skins/heron/051.png" + }, + "52": { + "title": "Étincelle de Caine", + + "image_path": "../../img/skins/heron/052.png" + }, + "53": { + "title": "Forme de Loup", + + "image_path": "../../img/skins/heron/053.png" + }, + "54": { + "title": "Leadeuse du Club", + "flavor_text_type": "Vieil Homme", + "image_path": "../../img/skins/heron/054.png" + }, + "55": { + "title": "Live and maybe Kill", + "flavor_text_type": "Alien", + "image_path": "../../img/skins/heron/055.png" + }, + "56": { + "title": "Live", + + "image_path": "../../img/skins/heron/056.png" + }, + "57": { + "title": "Superkill", + + "image_path": "../../img/skins/heron/057.png" + }, + "58": { + "title": "Kill", + + "image_path": "../../img/skins/heron/058.png" + }, + "59": { + "title": "Live Forever", + + "image_path": "../../img/skins/heron/059.png" } }