Skip to content

Releases: Taczer/valorant-picker

v0.1.3

Choose a tag to compare

@Taczer Taczer released this 25 May 18:40
78130dc

What's Changed

🌐 Internationalization (EN / PL)

Full two-language support across the entire CLI — menus, live screen, manual mode, status, recommendations, warnings, problems, advice and normalizer errors. Default language is English; Polish can be selected in Settings and is saved to %APPDATA%\ValoPicker\settings.json.

All visible strings are managed through a central i18n.py module with a t(language, key, **params) helper and a guaranteed fallback chain (lang → en → key), so the app never crashes on a missing translation.

🏗️ Code Quality

  • Extracted all recommendation scoring weights into named constants at the top of recommender.py with a comment clarifying their nature as heuristic ranking weights, not probabilities. Previously every magic number (e.g. the controller bonus, the third-duelist penalty) was scattered inline with no explanation.
  • Pre-compute base role and utility counters once per recommend() call instead of rebuilding them from scratch for every agent candidate (~20 iterations). _team_score_after now receives the pre-built counters and copies them rather than re-iterating the team.
  • Added an explanatory comment next to ssl._create_unverified_context() clarifying that Riot's local client uses a self-signed certificate and that the context is intentionally scoped to local lockfile-derived endpoints only.
  • Fixed settings file read to use utf-8-sig encoding, preventing JSON parse errors caused by a BOM on Windows.
  • Added requirements.txt documenting that the application has no runtime dependencies beyond the standard library.

✅ Tests

Added tests/test_i18n.py with 6 tests:

  • EN and PL dictionaries have an identical set of keys (checked symmetrically in both directions)
  • All translation values are non-empty strings
  • normalize_language() correctly falls back to en for unknown or None input
  • t() correctly formats parametrised messages in both languages

Total test count: 72 tests, all passing.


Full Changelog: https://github.com/Taczer/valorant-picker/commits/main

v0.1.2

Choose a tag to compare

@Taczer Taczer released this 20 May 22:10
69d5c7e

Profil gracza

  • Dodano zapis profilu gracza w ustawieniach aplikacji.
  • Profil jest używany w trybie ręcznym i live.
  • Style profilu wpisuje się cyframi, np. 4,7 albo 4,7,8.
  • Usunięto import i eksport profilu z JSON, żeby ustawianie profilu było prostsze.
  • Usunięto osobne pytanie o beginner mode. Teraz tryb początkujący włącza się numerem 8.
  • Teksty profilu w menu ustawień są zapisane bez polskich znaków, żeby CMD nie psuł wyświetlania na starszych czcionkach.

Ustawienia aplikacji

  • Dodano menu Settings.
  • Dodano zapis refresh_seconds w zakresie 2-10 sekund.
  • Dodano zapis domyślnego trybu startu: Live, Manual albo Status.
  • Dodano zapis ustawień do %APPDATA%\ValoPicker\settings.json.
  • Dodano obsługę --live, żeby jednorazowo wymusić tryb live niezależnie od ustawień.
  • Argument --refresh może jednorazowo nadpisać zapisany interwał odświeżania.

Terminal i EXE

  • Poprawiono obsługę kodowania konsoli dla polskich znaków.
  • Dodano ustawianie tytułu okna i próbę ustawienia czcionki konsoli na Consolas.
  • Potwierdzono, że problem z brakującymi polskimi znakami może wynikać z czcionki CMD.
  • Dodano build samodzielnego pliku dist\ValoPicker.exe.
  • Dodano ValoPicker.spec, build_exe.ps1, requirements-build.txt i instrukcję BUILD_EXE.md.
  • Po zmianach przebudowano dist\ValoPicker.exe.

Live i menu

  • Uproszczono menu live.
  • Usunięto osobną opcję View Recommendation, bo dublowała widok View Pre-Game (Agent Select) Players.
  • Ekran live jest mniej przeładowany i mocniej eksponuje rekomendację w Agent Select.
  • Manual mode nie kończy już od razu pracy po pokazaniu wyniku, więc da się spokojnie odczytać rekomendację.

Rekomendacje

  • Wzmocniono priorytet controllera i smoke'ów jako najważniejszego braku w kompozycji.
  • Wzmocniono priorytet inicjatora, gdy team nie ma info, flasha albo cleara pod execute.
  • Profil gracza ma teraz mniejszy wpływ na wynik niż krytyczne braki kompozycji.
  • Trzeci duelist jest mocniej karany.
  • Selfish duelist przy istniejącym dueliście jest mocniej karany.
  • Drugi sentinel bez smoke'ów albo inicjatora jest mocniej karany.
  • Breeze, Icebox i Abyss mocniej premiują wall controllera.
  • Bind, Split, Lotus i Sunset mocniej premiują clear, flash, stun i suppress.
  • Powody rekomendacji są porządkowane tak, żeby najpierw pokazywać powód kompozycyjny lub mapowy, a dopiero potem profil gracza.

v0.1.1

Choose a tag to compare

@Taczer Taczer released this 19 May 21:07
09f8fb8

fix little bug with manual

v0.1.0

Choose a tag to compare

@Taczer Taczer released this 19 May 18:48
09f8fb8

Valo Picker v0.1.0