You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are two different issues being caused by this specific bug:
When using two identical ground skills which overlap and grant status effects, casting the second ground skill doesn't renew the status effect. When the first (old) status effect and ground skill ends, the status effect is cleared entirely, even though you're still inside the most-recently casted ground skill.
When using two identical ground skills which overlap and grant status effects, stepping out of the overlap area onto the adjacent regular skill area makes the effect end.
We're currently tracking statuses based solely on their existence (and not their source):
skill.cpp (skill_unit_onplace)
We're currently only tracking (and interrupting) skills based on their skill id's, and not their unit group ids.
skill.cpp (skill_unit_move_sub)
skill.cpp (skill_unit_onleft)
Proposed Solution
Tracking not only the skill_id during skill_unit_move and skill_unit_move_sub, but also the related group_id of the skill unit group attached to a given skill.
Using the tracked group_id to check whether a status effect belongs or not to a given group_id
These unexpected behaviours have a common pattern and are all caused by a lack of tracking skill unit groups and status conditions together.
I'm unsure whether the proposed solution is optimal or not. If it isn't, I'd appreciate to be corrected and pointed in more optimal ways.
I'm willing to make a pull request fixing these issues for these skills (and any other which is further discovered) if this approach is proven to be valid.
Relevant Log Output
No response
Expected Result
See description.
How to Reproduce
See description.
Official Information
N/A
Modifications that may affect results
Tested on most recent hash of rathena as of now, no modifications.
The text was updated successfully, but these errors were encountered:
rAthena Hash
34711b5
Client Date
2018-06-20
Server Mode
Renewal
Result
Problem Description
There are two different issues being caused by this specific bug:
How to Reproduce / Video Proof
https://github.com/rathena/rathena/assets/30248987/293f033e-708a-4977-816c-c467b55a0410
https://github.com/rathena/rathena/assets/30248987/22fcda71-a8c4-4b18-b7af-663e72781c89
https://github.com/rathena/rathena/assets/30248987/15464b09-5277-46fc-91e9-e922226451c1
Investigation
Based on my investigation, this happens because:
skill.cpp (skill_unit_onplace)
skill.cpp (skill_unit_move_sub)
skill.cpp (skill_unit_onleft)
Proposed Solution
skill.cpp (skill_unit_move_sub)
skill.cpp (skill_unit_move)
skill.cpp (skill_unit_onleft)
skill.cpp (skill_unit_onplace)
Conclusion
Relevant Log Output
No response
Expected Result
See description.
How to Reproduce
See description.
Official Information
N/A
Modifications that may affect results
Tested on most recent hash of rathena as of now, no modifications.
The text was updated successfully, but these errors were encountered: