Import export de deck

Tout ce qui concerne Hearthstone de près ou de loin.

Bonjour.
Est ce que quelqu'un saurait me dire comment est généré le code qui se situe en bas d'une deck-list qui permet l'import dans Hearthstone d'un deck copier sur le web.
Le sens de ma question serait de savoir le générer pour pouvoir préparer un deck hors connexion à partir de ma collection sous excel pour l'importer ensuite dans le jeu.
Merci de vos réponses.
aquaman
  • 2855 message(s)
24 Nov 2017, 09:04
Un obscur algorithme codé facon blizzard...
Personne ne le saura jamais je suppose ;)
Akinaux
  • 1042 message(s)
24 Nov 2017, 13:12
Je pense que tu peux commencer par regarder ce lien sur Reddit.
Il renvoi sur une explication du décryptage de la chaine de caracteres, et sur un script python qui permet le decryptage.

La base de donnees des cartes est disponibles ici
La référence 22115 correspond a l'extension du trone de Glace.

En construisant un script qui extrait les cardID depuis la DB, tu devrais etre en mesure de construire le code en base64, ce que fait surement le script d'import/export du site ^^

Edit: Si tu es sur MacOS, je te conseille d'installer "jq" qui est un Json Query, ca te permettra au besoin de formater et filterer les données de la base des cartes.
Tout d'abord désolé pour le double post. Ensuite merci pour vos réponses j'ai là dequoi m'amuser pour écrire mon code.
Merci
Akinaux
  • 1042 message(s)
25 Nov 2017, 11:04
Citation de AliGatorTout d'abord désolé pour le double post. Ensuite merci pour vos réponses j'ai là dequoi m'amuser pour écrire mon code.
Merci

Juste pour te donner des exemples d'extract avec JQ si tu ne connais pas:

Pour formater le resultat de toutes les cartes dans le format json:
curl https://api.hearthstonejson.com/v1/2211 ... tible.json | jq '.[]'
Pour filtrer sur le dbfId (numérique):
curl https://api.hearthstonejson.com/v1/2211 ... tible.json | jq '.[] | select(.dbfId == 42046)'
Pour filtrer sur le name (string):
cat /tmp/hearthstone.cards | jq '.[] | select(.name == "Lyra, l’éclat du soleil")'
Pour filtrer sur la mechanics:
cat /tmp/hearthstone.cards | jq '.[] | select(.mechanics == ["BATTLECRY"?])'

Retour vers Discussion générale