JSPM

runeterra2

1.0.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1
  • Score
    100M100P100Q19088F
  • License MIT

Legends of Runeterra deck code encoder/decoder

Package Exports

  • runeterra2
  • runeterra2/src/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (runeterra2) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

runeterra

JavaScript port of the RiotGames/LoRDeckCodes library, made for encoding and decoding Legends of Runeterra card decks. Below is an example code for the Warmother Control deck by prohibit_hb on Mobalytics.

CEBAIAIFAEHSQNQIAEAQGDAUDAQSOKJUAIAQCBI5AEAQCFYA

Install

npm install runeterra

Cards, decks and how to encode them

If you want to understand the process of the encoding and decoding decks, please refer to the original library, as Riot has done a great job explaining it there.

Usage

const { DeckEncoder } = require('runeterra')

const deck = DeckEncoder.decode('CEAAECABAQJRWHBIFU2DOOYIAEBAMCIMCINCILJZAICACBANE4VCYBABAILR2HRL')
/*
[ Card { code: '01PZ019', count: 2 },
  Card { code: '01PZ027', count: 2 },
  Card { code: '01PZ028', count: 2 },
  Card { code: '01PZ040', count: 2 },
  Card { code: '01PZ045', count: 2 },
  Card { code: '01PZ052', count: 2 },
  Card { code: '01PZ055', count: 2 },
  Card { code: '01PZ059', count: 2 },
  Card { code: '01IO006', count: 2 },
  Card { code: '01IO009', count: 2 },
  Card { code: '01IO012', count: 2 },
  Card { code: '01IO018', count: 2 },
  Card { code: '01IO026', count: 2 },
  Card { code: '01IO036', count: 2 },
  Card { code: '01IO045', count: 2 },
  Card { code: '01IO057', count: 2 },
  Card { code: '01PZ013', count: 1 },
  Card { code: '01PZ039', count: 1 },
  Card { code: '01PZ042', count: 1 },
  Card { code: '01PZ044', count: 1 },
  Card { code: '01IO023', count: 1 },
  Card { code: '01IO029', count: 1 },
  Card { code: '01IO030', count: 1 },
  Card { code: '01IO043', count: 1 } ]
*/

// Card
deck[0].code    // "01PZ019"
deck[0].count   // 2
deck[0].set     // 1
deck[0].id      // 19
deck[0].faction // Faction { id: 4, shortCode: "PZ" }

const code = DeckEncoder.encode(deck)
// CEAAECABAQJRWHBIFU2DOOYIAEBAMCIMCINCILJZAICACBANE4VCYBABAILR2HRL