Skip to content

feat: Favorite Skins & Chromas management with Dual Dice Roll - #231

Open
Spok0jny wants to merge 9 commits into
Alban1911:mainfrom
Spok0jny:feat/favorite-skins-and-carousel-roll
Open

Spok0jny wants to merge 9 commits into
Alban1911:mainfrom
Spok0jny:feat/favorite-skins-and-carousel-roll

Conversation

@Spok0jny

@Spok0jny Spok0jny commented Aug 30, 2026 •

Copy link
Copy Markdown
Contributor

Hey!

This PR adds a Favorite Skins & Chromas system and a Dual Dice Roll in Champ Select so you can roll either all skins or just your favorite ones.

What's included:

  • Quickplay Favorites: Star buttons next to skin titles, on chroma circles, and right-click on cards to add skins/chromas to favorites (saved in favorites.json).
  • Dual Dice in Champ Select: Regular dice for all skins, and a star dice to roll only from your favorites. Added anti-spam cooldown.
  • Injection Fix: Fixed random mode skin resolution so .fantome overlays reliably load into the match.
  • Tooltip cleanup: Fixed tooltips staying stuck on screen when leaving Champ Select.

(Note about the branch name: I originally tried to make the carousel scroll automatically to the rolled skin, but I just couldn't, so I dropped that to keep the code clean and lightweight).

Tested in multiple live games and works smoothly!

Note: At quickplay screen you can also use RMB to mark skin/chroma as favorite so you dont have to aim at the stars.

Thanks for soft - it's amazing.

@Spok0jny
Spok0jny marked this pull request as draft September 8, 2026 21:53
@Spok0jny
Spok0jny marked this pull request as ready for review September 8, 2026 23:01
@Spok0jny

Spok0jny commented Sep 8, 2026

Copy link
Copy Markdown
Contributor Author

Some images (quickplay favorite screen, favortie chroma selection and dice roll favorites only button in champ select)
image
image
image

@Spok0jny
Spok0jny force-pushed the feat/favorite-skins-and-carousel-roll branch from 6a871a7 to 6b14207 Compare September 9, 2026 11:53
@Alban1911

Copy link
Copy Markdown
Owner

Thanks, the favorites and the star dice look good, and the screenshots help. Before I can review it properly, it needs a rebase: main is about 190 commits ahead of your branch, and it conflicts in .gitignore, pengu/core/skin_monitor.py, threads/handlers/injection_trigger.py and ui/handlers/randomization_handler.py.

When you rebase:

  • Keep the random-mode fix now on main (32973072, "cancel random mode when user picks another chroma") in randomization_handler.py.
  • Leave out the UTF-8 commit: I've ported it to main separately, with you kept as its author.
  • Please rebase onto main rather than merging main in, so the history only holds your commits.

ROSE-RandomSkin is mostly rewritten (+366/−494), so I'll go through that part closely once the branch is up to date.

@Spok0jny
Spok0jny force-pushed the feat/favorite-skins-and-carousel-roll branch from 6b14207 to 46367ab Compare October 18, 2026 13:30
@Spok0jny

Copy link
Copy Markdown
Contributor Author

Thanks, the favorites and the star dice look good, and the screenshots help. Before I can review it properly, it needs a rebase: main is about 190 commits ahead of your branch, and it conflicts in .gitignore, pengu/core/skin_monitor.py, threads/handlers/injection_trigger.py and ui/handlers/randomization_handler.py.

When you rebase:

  • Keep the random-mode fix now on main (32973072, "cancel random mode when user picks another chroma") in randomization_handler.py.
  • Leave out the UTF-8 commit: I've ported it to main separately, with you kept as its author.
  • Please rebase onto main rather than merging main in, so the history only holds your commits.

ROSE-RandomSkin is mostly rewritten (+366/−494), so I'll go through that part closely once the branch is up to date.

Done! The branch has been cleanly rebased onto the latest main without any merge commits.

Summary of updates:

  • Kept the random-mode chroma fix (32973072) from main in randomization_handler.py.
  • Excluded the UTF-8 commit you ported separately.
  • Included full unit test coverage for the favorites system and dual dice roll.
  • Fixed an edge case where entering ChampSelect with an owned skin already selected would cause the forced base-skin event to visually deselect/disable the dice button.

Everything is tested and passing cleanly in CI.

Could you grant me a contributor role on the Discord server? (@teprakS). Thanks!

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

Successfully merging this pull request may close these issues.

2 participants