Houmgaor
5ee9a0e635
feat(guild): implement rookie and return guild assignment
...
New/returning players are now auto-assigned to temporary holding guilds
on MSG_MHF_ENTRY_ROOKIE_GUILD (pkt.Unk=0 → rookie guild, ≥1 → comeback
guild). Guilds are created on demand and capped at 60 members. Players
leave via the OperateGuildGraduateRookie/Return actions. The guild info
response now reports isReturnGuild from the DB instead of hardcoded false.
Migration 0014_return_guilds adds return_type to the guilds table.
2026-03-22 00:27:05 +01:00
Houmgaor
2bd92c9ae7
feat(diva): implement Diva Defense (UD) system
...
Add full Diva Defense / United Defense system: schema, repo layer,
i18n bead names, and RE-verified packet handler implementations.
Schema (0011_diva.sql): diva_beads, diva_beads_assignment,
diva_beads_points, diva_prizes tables; interception_maps/points
columns on guilds and guild_characters.
Seed (DivaDefaults.sql): 26 prize milestones for personal and
guild reward tracks (item_type=26 diva coins).
Repo (DivaRepo): 11 new methods covering bead assignment, point
accumulation, interception point tracking, prize queries, and
cleanup. Mocks wired in test_helpers_test.go.
i18n: Bead struct with EN/JP names for all 18 bead types (IDs
1–25). Session tracks currentBeadIndex (-1 = none assigned).
Packet handlers corrected against mhfo-hd.dll RE findings:
- GetKijuInfo: u8 count, 512-byte desc, color_id+bead_type per entry
- SetKiju: 1-byte ACK; persists bead assignment to DB
- GetUdMyPoint: 8×18-byte entries, no count prefix
- GetUdTotalPointInfo: u8 error + u64[64] + u8[64] + u64 (~585 B)
- GetUdSelectedColorInfo: u8 error + u8[8] = 9 bytes
- GetUdDailyPresentList: correct u16 count format (was wrong hex)
- GetUdNormaPresentList: correct u16 count format (was wrong hex)
- GetUdRankingRewardList: correct u16 count with u32 item_id/qty
- GetRewardSong: 22-byte layout with 0xFFFFFFFF prayer_end sentinel
- AddRewardSongCount: parse implemented (was NOT IMPLEMENTED stub)
2026-03-20 17:52:01 +01:00
wish
4eed6a9738
add playtime chat command
2024-11-09 18:20:49 +11:00
wish
b73f85ef4a
add Quest timer toggle Chat Command
2024-02-20 00:33:38 +11:00
wish
2135c443d8
add ban chat command
2024-01-03 19:30:57 +11:00
wish
ca80a98141
i18n proposal
2024-01-03 04:22:25 +11:00
wish
a602bda47b
reuse existing token, JP string & command description
2024-01-01 02:10:27 +11:00
Matthew
eeeb998040
Merge branch 'ZeruLight:main' into feature/discord-login
2023-11-27 12:44:25 -08:00
wish
f0744b4040
disable KQF command before G10
2023-11-27 21:59:58 +11:00
Matthew
226adddc43
feat: Generate hashes for Discord and allow password resets
2023-11-26 16:47:54 -05:00
wish
e6f1298935
disable incompatible ravi commands
2023-08-30 00:15:52 +10:00
wish
165bdaf760
prevent link command from duplicating PSN connections
2023-08-02 21:03:24 +10:00
wish
aeab3352ae
rename psn command
2023-04-15 11:19:19 +10:00
wish
f5ae129cad
implement psn linking capability
2023-04-15 11:00:49 +10:00
wish
8df5697dd3
make raviente multiplier more accurate
2023-03-09 22:56:21 +11:00
wish
132870f020
add support for JP chat command responses
2023-02-08 00:01:02 +11:00
wish
85bff0cb19
raviente broadcast fixes
2022-11-12 13:09:59 +11:00
wish
5ecaa81b52
raviente string adjustments
2022-11-12 12:56:40 +11:00
wish
624fc70910
add raviente broadcast translations
2022-11-12 10:43:53 +11:00