All Projects → SwitchbladeBot → runeterra

SwitchbladeBot / runeterra

Licence: MIT License
Legends of Runeterra deck code encoder/decoder in JavaScript

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to runeterra

LeagueAPI
League of Legends API & Data Framework in Swift
Stars: ✭ 50 (+11.11%)
Mutual labels:  league-of-legends, riot-games, leagueoflegends, riot-games-api, league-api, riotgames
game apis
This repository is for integrating with different apis to allow you to pull player or game data
Stars: ✭ 24 (-46.67%)
Mutual labels:  league-of-legends, leagueoflegends, league-api
MindCorpViewer
League Of Legends Model Viewer
Stars: ✭ 19 (-57.78%)
Mutual labels:  league-of-legends, riot-games, leagueoflegends
YARDT
Yet another Runeterra deck tracker
Stars: ✭ 16 (-64.44%)
Mutual labels:  riot-games, legends-of-runeterra, legendsofruneterra
Pyot
AsyncIO based high-level Python Riot Games API framework which encourages rapid development and clean, pragmatic design.
Stars: ✭ 56 (+24.44%)
Mutual labels:  league-of-legends, riot-games-api, legends-of-runeterra
Camille
C# Riot API Library. Thread safe, automatic retries, autogenerated nightly releases.
Stars: ✭ 82 (+82.22%)
Mutual labels:  league-of-legends, riot-games-api, league-api
Mecha
🚀 Debugger and plugin loader for the League of Legends client
Stars: ✭ 48 (+6.67%)
Mutual labels:  league-of-legends, leagueoflegends, league-api
kernel
A plug & play Riot API proxy server
Stars: ✭ 28 (-37.78%)
Mutual labels:  league-of-legends, riot-games-api
league-bot
A League of Legends bot to level up accounts. For best results use the settings required settings in the code/README. This bot is designed for Windows computers.
Stars: ✭ 19 (-57.78%)
Mutual labels:  league-of-legends, leagueoflegends
ChromaLeague
Java open-source Razer Chroma keyboard integration for League of Legends
Stars: ✭ 34 (-24.44%)
Mutual labels:  league-of-legends, leagueoflegends
LeagueReplayParser
C# library which can read some data from a .rofl file, and start a replay in the client. (no longer actively maintained)
Stars: ✭ 20 (-55.56%)
Mutual labels:  league-of-legends, leagueoflegends
OddAutoWalker
League of Legends External Orb Walker
Stars: ✭ 56 (+24.44%)
Mutual labels:  league-of-legends, league-api
Riot-Games-API-Developer-Assets
Riot Games API Developer Assets!
Stars: ✭ 23 (-48.89%)
Mutual labels:  league-of-legends, riot-games
lcu-driver
🐍 Python3 interface for League of Legends Client API
Stars: ✭ 71 (+57.78%)
Mutual labels:  league-of-legends, riot-games
golio
League of Legends API client written in Golang
Stars: ✭ 45 (+0%)
Mutual labels:  league-of-legends, legends-of-runeterra
KBotExt
Application that sends custom requests to League of Legends LCU api
Stars: ✭ 86 (+91.11%)
Mutual labels:  league-of-legends, leagueoflegends
riot
Riot API and analytics goodies
Stars: ✭ 30 (-33.33%)
Mutual labels:  riot-games, riot-games-api
legendary-rune-maker
An automation app for League of Legends
Stars: ✭ 75 (+66.67%)
Mutual labels:  league-of-legends, leagueoflegends
lol-php-api
📦 League of Legends PHP API
Stars: ✭ 29 (-35.56%)
Mutual labels:  league-of-legends, riot-games
LoL-TFT-Champion-Masking
League Of Legends - Teamfight Tactics Champion Masking
Stars: ✭ 23 (-48.89%)
Mutual labels:  league-of-legends

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].