# Flipper Zero Game Boy Pokemon Trading
`
- Configure Gen 1 traded pokemon  
  - Pokemon Nickname  
    - [x] Change the default traded Pokemon's naming to be no nickname  
    - [x] Add a view to allow for a custom Pokemon nickname (11 chars, 10 chars max used, fill and terminate with TERM_)  
    - [ ] Figure out how to implement Nidoran male/female symbol  
      - Previous commits used unicode escape codes which I had issues compiling for some reason, but the actual unicode chars were fine  
      - Could make a special case for just those two  
  - Stats  
    - [x] Add view to allow the traded Pokemon's level to be chosen between 2 and 100  
    - [x] Add view to allow the traded Pokemon's hidden stats to be chosen (IV and EV) from some options  
      - [ ] Are there any better ways to present these options?  
    - [x] Debug traded Pokemon level issue where after a battle the Pokemon's level drops (doesn't affect all traded Pokemon)  
    - [x] Optimise the level selection screen to be a number slider input instead of the current slideshow style selector (Implemented as text input that only accepts numbers)  
  - Moves  
    - [x] Add view to allow the traded Pokemon's moveset to be chosen (all 4 moves) allowing no move as an option  
    - [ ] Find a way to get faster scrolling through the move select submenu  
    - [ ] Implement a way to denote that any moves after the first No Move are also No Move?  
      - Hide all moves beyond the first No Moves?  
      - Promote moves? e.g. if move 1 is set, 2 unset, if user sets move 3 then promote it to move 2  
      - Automatically clear moves beyond the first no move? surprising but that is what the game does  
  - Types  
    - [x] Support setting pokemon type(s)  
    - [ ] Implement a save/revert to default workflow on the select types scene  
  - Trade  
    - [x] Investigate Trade screens not always blinking  
  - UI  
    - [ ] Find a way to line up submenu items so the main menu looks cleaner  
      - They currently _mostly_ line up thanks to some manual spacing, but tabs don't appear to be supported to force that alignment  
      - Alternatively may need to implement our own view to make this pretty  
- Documentation  
  - [x] Add images for the level selection screen, stats selection screen, and move selection screens as per the original README  
- Codebase  
  - [x] Reimplement Logging calls  
  - [ ] Clean up the codebase as it is now, there are a lot of optimizations in speed and code complexity that can be made, especially in added code in pokemon_app and maybe some code reduction/reuse in scenes  
  - [ ] Consider using a single View in main app struct and only allocate a view as needed to reduce memory footprint  

- Future Wants  
  - [ ] Trading to Gen II games with both Gen I and Gen II Pokemon  
  - [ ] Enable IR mystery gift usage in Gen II using Flipper  
  - [ ] Be able to set up multiple Pokemon to be able to trade more than one per trip to trade center  
  - [x] Be able to trade back and forth for e.g. trading a Pokemon that evolves only when traded  
  - [x] Would Separating out link cable states result in a cleaner API?  
  - [ ] Implement some simple logic to be able to "battle" the Flipper?  
  - [ ] There was a suggestion to be able to trade in a Pokemon to harvest OT name and ID on the flipper and set it to that.  
  - [ ] Ability to save Pokemon to SD card. Either created on, or traded to, the Flipper app.  
