-
Notifications
You must be signed in to change notification settings - Fork 41
feat: Add character profile switching feature for multi-character account support #114
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
base: dev
Are you sure you want to change the base?
Conversation
Summary of ChangesHello @wahyutrip, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request introduces a significant feature that allows the bot to automatically switch between different character profiles within a single game account. This is particularly useful for users with PC limitations, as it enables sequential operation of multiple characters on one emulator instance, thereby optimizing resource usage. The changes span across data models, persistence, UI, and core bot logic to seamlessly integrate this new functionality. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request introduces a significant and well-implemented feature for automatic character profile switching. The changes span across the data, persistence, UI, and service layers, and the new CharacterSwitchHelper class encapsulates the core logic cleanly. My review focuses on improving code consistency, readability, and maintainability by addressing minor issues like code duplication in constructors, inconsistent UI validation logic, use of magic numbers, and regex formatting. Overall, this is a solid contribution.
wos-hmi/src/main/java/cl/camodev/wosbot/profile/view/EditProfileController.java
Show resolved
Hide resolved
wos-serv/src/main/java/cl/camodev/wosbot/serv/task/helper/CharacterSwitchHelper.java
Outdated
Show resolved
Hide resolved
wos-serv/src/main/java/cl/camodev/wosbot/serv/task/helper/CharacterSwitchHelper.java
Outdated
Show resolved
Hide resolved
|
Hey @wahyutrip, looks like a major change that we have struggled to implement ourselves! Would you happen to have a screen recording to demo the features this PR adds? |
Helloo @neptune-dev-23 , apologize for my bad editing skills lol. Here's a video preview 1204.1.1.mp4 |
|
Wow! Incredible video. It looks like this is OCR-based, which would break when people use non-latin characters. Also, it was unclear if this requires a separate emulator instance for each profile. How does it handle ensuring that only 1 profile remains active at a time? I currently don't have profiles set up like this (and really don't feel like going through creating some new ones right now), so would you be able to run the bot for a few days with this feature first to make sure that everything works as intended? It would also be wonderful if we could switch to Discord for further discussion. |
|
Hi, I’ve been testing your fork and the new character-switch feature, and I found a couple of issues along with some possible improvements: Conflict when two profiles use the same emulator Emulator closes even when another switch is available Thanks for your great work on this project! Let me know if you need more details—I’m happy to keep testing. |
Thank you @neptune-dev-23 . Yes, this is just a start since many been asking for this. Could be improved later about the character, for now it works for me. |
Hey, @AjYoutuber . |
|
@daviblro @camoloqlo kindly asking for your review and feedback too, please. |
it happen when emulator was in the middle of booting then i clicked start on bot so there was no waiting time to boot
i found the problem here when bot said "continuing to next profile" it was running same profile on wrong character this profile switch is very helpfull before i need to manually switch character by booting emulator but now i only need to toggle profile to switch(on/off). which save a lot of time. thank you as for now i cant run multi profiles becouse i only have 4 characters which is few to run smoothly as per #116 settings |
oh nice catch, i fixed and simplify the checking process here |
d37c81f to
e1ea6e8
Compare
…e, alliance code, server) to ProfileAux, DTOProfiles, and related controllers
…d new templates for profile management
…haracterSwitchHelper
…to improve OCR robustness
e1ea6e8 to
f28e54c
Compare
|
Whats the state of this branch? I can help if it needs work. I would also like to test if needed. @wahyutrip |


Summary
This PR implements automatic character profile switching functionality, enabling the bot to switch between characters within the same game account during profile initialization. This feature allows multiple characters from the same account to run sequentially on a single emulator instance, maximizing resource utilization when PC limitations restrict concurrent emulator instances.
Key Changes:
CharacterSwitchHelperclass for character verification and switching operationsInitializeTaskinitialization flowImplementation Details:
How to Test
Profile Setup:
Character Verification (Correct Character Active):
Character Switching (Wrong Character Active):
Backward Compatibility:
Error Handling:
Multiple Characters:
Related Issues