mirror of
https://github.com/Mezeporta/Erupe.git
synced 2026-03-21 23:22:34 +01:00
feat(achievement): add rank-up notifications (#165)
RE'd putDisplayed_achievement from ZZ client DLL via Ghidra: the packet sends opcode + 1 zero byte with no achievement ID, acting as a blanket "I saw everything" signal. Server changes: - Track per-character last-displayed levels in new displayed_levels column (migration 0008) - GetAchievement compares current vs displayed levels per entry - DisplayedAchievement snapshots current levels to clear notifications - Repo, service, mock, and 3 new service tests Protbot changes: - New --action achievement: fetches achievements, shows rank-up markers, sends DISPLAYED_ACHIEVEMENT, re-fetches to verify notifications clear - Packet builders for GET/ADD/DISPLAYED_ACHIEVEMENT
This commit is contained in:
@@ -290,6 +290,8 @@ type AchievementRepo interface {
|
||||
EnsureExists(charID uint32) error
|
||||
GetAllScores(charID uint32) ([33]int32, error)
|
||||
IncrementScore(charID uint32, achievementID uint8) error
|
||||
GetDisplayedLevels(charID uint32) ([]byte, error)
|
||||
SaveDisplayedLevels(charID uint32, levels []byte) error
|
||||
}
|
||||
|
||||
// ShopRepo defines the contract for shop data access.
|
||||
|
||||
Reference in New Issue
Block a user