Repository navigation
Row 2003 (b144 C): the second pendant slot, client and server - #1013
Merged
Merged
Conversation
- extra_pendant_slots table. - Expiry FILETIME in the character data. - 121 at world entry. - -51 gated by the slot. - A worn pendant stops counting once the slot runs out (0x77ec9f). - SET_CASH_SHOP adds commodity 50200172 (5550000). - Buy mode 9 replies with 0x66. - HC: - wide Equip cell; - the changed-commodity reader; - the 0x1458 question, the 0x145a/0x1459 notices and the 0x144a/0x144b/0x145b/0x145c tooltips (v83's year-first dates); - the buy packet. - Reports b178 and b179.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Row 2003 (b144 option C): the second pendant slot, client and server.
Server
extra_pendant_slots (character_id, open_until).charactersis at Diesel's 32-column limit, so this is a separate table.Player.extra_pendantis loaded and saved with the character.item_moverefuses moves into it unless the slot is open.Player::worn_equips), as v83's BasicStat::SetFrom (0x77ec9f) skips slot 51 past its expiry. HC'srecalc_statsdoes the same.addDayfrom the later of now and the current expiry. It replies with CASHSHOP_OPERATION 0x66 (u16 0, u16 days).HeavenClient
Tests (full suite passed: 306 passed, 0 failed)
cash_shop_pendant_slot, plus updatedcash_shopandchange_channel.item_movegate test and an expired-slot stats test.item_expiryandcash_catalogtests.GUI-checked on the lane stack:
Deviations and picks are noted in v83ref QUESTIONS (2026-10-25, row 2003).