View Source 🃏 Riot LoR deck code library ⚗️
Yet another Elixir implementation of Riot's Legends of Runterra deck code library.
installation
Installation
If using Hex, the package can be installed
by adding :riot_lor
to your list of dependencies in mix.exs
:
def deps do
[
{:riot_lor, "~> 1.0.0"}
]
end
usage
Usage
documentation
Documentation
Docs can be found at https://hexdocs.pm/riot_lor.
You can also read supplemental docs under the docs/
directory.
examples
Examples
You can run the project locally with iex -S mix
.
You may want to
configure IEx to
- display lists of ints as lists, rather than charlists
- limit inspect enum length to 4, in case your want to limit large outputs of decks
Inspect options
iex \
--eval 'IEx.configure(inspect: [limit: 4, charlists: :as_lists])' \
-S mix
iex(1)> IEx.configure(inspect: [limit: 4, charlists: :as_lists])
:ok
Decoding
iex(2)> deck_code = "CEAAECABAQJRWHBIFU2DOOYIAEBAMCIMCINCILJZAICACBANE4VCYBABAILR2HRL"
"CEAAECABAQJRWHBIFU2DOOYIAEBAMCIMCINCILJZAICACBANE4VCYBABAILR2HRL"
iex(3)> deck = Riot.LoR.DeckCode.decode!(deck_code)
%{
%Riot.LoR.Card{fac: 2, num: 6, set: 1} => 2,
%Riot.LoR.Card{fac: 2, num: 9, ...} => 2,
%Riot.LoR.Card{fac: 2, ...} => 2,
%Riot.LoR.Card{...} => 2,
...
}
iex(4)> Riot.LoR.Deck.code_count(deck)
[{"01IO006", 2}, {"01IO009", 2}, {"01IO012", ...}, {...}, ...]
Encoding
iex(5)> card_counts = [{"01DE001", 1}, {"05BC198", 1}]
[{"01DE001", 1}, {"05BC198", 1}]
iex(6)> deck = Riot.LoR.Deck.from_card_counts!(card_counts)
%{
%Riot.LoR.Card{fac: 0, num: 1, set: 1} => 1,
%Riot.LoR.Card{fac: 10, num: 198, set: 5} => 1
}
iex(7)> Riot.LoR.DeckCode.encode!(deck)
"CQAAAAQBAEAACAIFBLDAC"
contributing
Contributing
See the CONTRIBUTING.md
file.
legal
Legal
Licensed under the MIT License. See the LICENSE file for more details.
Per Riot's Core Policies:
The riot_lor
project isn't endorsed by Riot Games and doesn't reflect the
views or opinions of Riot Games or anyone officially involved in producing or
managing Riot Games properties. Riot Games, and all associated properties are
trademarks or registered trademarks of Riot Games, Inc.