fix: TwkPacket setters + PetskiPacket schema + add QnamliPacket (17.3.0)#451
fix: TwkPacket setters + PetskiPacket schema + add QnamliPacket (17.3.0)#451erwan-joly merged 1 commit intomasterfrom
Conversation
**TwkPacket** — ClientLanguageString / ServerLanguageString setters were throwing with "do not set this set the ClientLanguage instead", which means any deserialisation through these fields raised "Exception has been thrown by the target of an invocation." Replace with setters that parse the incoming string into the RegionType enum (case-insensitive), keeping the invariant the author cared about. **PetskiPacket** — class declared a single sbyte MateTransportId, but the wire carries `petski <mateTransportId> <skill1> <skill2>` (three fields, and the first is regularly > 127 e.g. 790). Widen to int and add FirstSkillVNum / SecondSkillVNum (short). Existing serializer test updated to reflect the real three-field trace. **QnamliPacket** — new class. `qnamli <questId> #<guri> <targetId> <v1> <v2> <v3>` was being flagged as Missing. Matches the observed wire. Regression tests: Petski serializer round-trip already covers the new shape; full suite 114/114 green. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 9 minutes and 7 seconds. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (6)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Picks up: - NosCoreIO/NosCore.Packets#450 (short-subpacket deserialize fix — inv/sayi/msgi/msgi2/mlobjlst/infoi/qslot/fish/qstlist/pinit) - NosCoreIO/NosCore.Packets#451 (TwkPacket setters, PetskiPacket schema, QnamliPacket) - NosCoreIO/NosCore.Packets#452 (direction-pair packets: gidx/npc_req/ rsfi server-side, mall/npinfo client-side) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Targeted schema fixes surfaced by the validator. Non-breaking except for TwkPacket — consumers relying on the old 'throw on set' invariant won't see it anymore; net effect is that deserialization now actually works.
petski <id> <s1> <s2>.Tests: 114/114. Petski serializer test updated to lock in the three-field shape; documentation snapshot updated to include the new QnamliPacket entry.