A server software implementation, ineroperable with a certain anime game client. The code in this repository is fully custom made for edyoucational purposes and future preservation, no copyrighted code is allowed in this repository.
Refactored code mainly involve:
1) Moved trial avatar stuff to new subclass 'Trial Avatar' that inherits super class 'Avatar' for easier management
2) Changed implementation for reading custom 'Trial Avatar Data' so that it now can now be called polymorphically
3) Also refactored quite a fair bit of team manager since refactoring Trial Avatar team does involves modifying stuff in team manager:
Moved the response packet to their handler packets, so that the functions in team manager are more reusable
More reusing of function like 'updateTeamEntities'
4) Moved around the addition and removal of trial avatar to different places so that that game does not get stuck, mainly mimicking the behaviour of official server:
i.e. the removal for trial avatar for challenge dungeon or activity dungeon will be done within packet 'EnterSceneReady' while travelling to the next scene , rather than right after exiting dungeon at the previous scene.
It now works with Quest, Element challenge dungeon, and trial activity.
Known Issue:
In TeamManager:
a variable previously name currentTeamIndex and a function called currentTeamId that returns currentTeamIndex, I removed the function and named the variable as currentTeamId and get it by lombok getter instead. However this will cause issue for account that was build prior to changes of the variable, as it has could not map to the new name.
would have to change its name in database manually if this issue occurred
Refactored code mainly involve: 1) Moved trial avatar stuff to new subclass 'Trial Avatar' that inherits super class 'Avatar' for easier management 2) Changed implementation for reading custom 'Trial Avatar Data' so that it now can now be called polymorphically 3) Also refactored quite a fair bit of team manager since refactoring Trial Avatar team does involves modifying stuff in team manager:
Known Issue: In TeamManager: