Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

upgrade random specification #24

Open
acxz opened this issue Nov 11, 2024 · 0 comments
Open

upgrade random specification #24

acxz opened this issue Nov 11, 2024 · 0 comments

Comments

@acxz
Copy link
Owner

acxz commented Nov 11, 2024

some thoughts on revamping random/all to get more functionality out of it to make more people happy

random syntax: random, random,nat#bulbasaur,genIII=>genIV,kanto#147=>151,turtwig=>arceus

From a predefined list

random from a list
i.e. given s:bulbasaur ns:charmander squirtle if you run pokeshell random then it should be random from that list.
What syntax to use to incorporate this? Maybe something like pokeshell random,my_list

Regional Pokedex

allow to specify regional pokedex
e.g.
national/nat
kanto
johto
hoenn
sinnoh
hisui
unova
kalos
alola
galar
isle-of-armor
crown-tundra
paldea
kitakami

if no dex name, then assume national
valid pokemon identifiers can be used, including names and dex number i.e. nat#bulbasaur-blastoise or kanto#1-9
think of a better delimiter than '#' for separating dex name and specifier pokemon

Generation

allow to specify by generation
e.g.
genI
genII
genIII
genIV
genV
genVI
genVII
genVIII
genIX

Types

allow to specify by types

normal: ⚪
fighting: ✊
flying: 🪽
poison: ☣️
ground: ⛰️
rock: 🪨
bug: 🐛
ghost: 👻
steel: ⚙️ / ⛓️ / 🔩
fire: 🔥
water: 💧
grass: 🍃
electric: ⚡
psychic: 👁️‍🗨️/🔮
ice: ❄️
dragon: 🐉
dark: ⚫
fairy: 🧚

Colors

allow to specify by colors

red: 🟥
blue: 🟦
yellow: 🟨
green: 🟩
black: ⬛
brown: 🟫
purple: 🟪
gray/grey: 🩶
white: ⬜
pink: 🩷

Shapes/Eggs

also based on shape and egg groups

maybe figure out a way how to programmatically allow filtering based on any particular attribute?
i.e. pokeshell random,gen=I,type=electric,shape=quadruped random,gen=II,type=steel,shape=serpentine
or something like pokeshell random,gen=-I,type=-electric+water
having the - syntax allows specifying which ones not to have, since pokemon can have multiple types, type would need to support + and -. Note that + would also interfere with the gender delimiter... Think about it.
For lists/categories of pokemon see: https://bulbapedia.bulbagarden.net/wiki/List_of_Pok%C3%A9mon
tbh the parser has gotten big enough that it should be its own library

Gender

update gender handling to have proper inclusion of gender-unknown / ⚪︎ (user proper terms i.e. gender-unknown and gender ratio)

Tab Completion

make tab completion more robust with respect to spelling mistakes: https://stackoverflow.com/questions/10024123/tweaking-bash-cd-and-tab-completion-to-recognize-spelling-mistakes
for tab completion take a look at carapace looks like it can provide us with completions for various shells.
how well does this work for multilingual support

Integration

Update readme to fastfetch instead of hyfetch
for animations will need to support a --filename option that prints out the filename of the output.
as this filename can be directly displayed in fastfetch output.
take in a pokepaste file format i.e. pokemon showdown/teambuilder: https://github.com/felixphew/pokepaste

crazy idea?: embed a sqlite db to be more in control of our own pokemon schema, reduce need for curls. Still should curl for the images tho, but no need to curl for gender ratios, forms, language support, colors/types/egg groups/shapes, etc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant