Repository navigation
fix(items): the item bundles are named alike, with their count (#815) - #835
Open
ezequielzacca wants to merge 478 commits into
Open
ezequielzacca wants to merge 478 commits into
ezequielzacca wants to merge 478 commits into
Conversation
sven-n
reviewed
Oct 23, 2026
sven-n
left a comment
Owner
There was a problem hiding this comment.
Reviewed the bundle naming/count migration and quest-name handling. No independently actionable defect identified in the inspected code. Please include a test of bundle levels 0–3 across all ten bundle types, and verify the longer names in quest text and any fixed-size protocol/UI consumers. Build not run.
Reviewed with AGENTS.md and docs/CODING_RULES.md as the quality baseline.
…he wings' do, without the stray "of" Other code still prints "Increase %d%% of Damage" and "Absorb %d%% of Damage"; they now read as the shared texts this step fixes, so the game writes them one way in every language.
…em-tooltip-chain-values
…tem-tooltip-third-chain
… tooltip commands refuse what wraps The static debounced pet information request captured the first Dark Lord pet tooltip's item and storage for good; it reads the ones of the latest call now, and GetPetInfoRequest, which picks the request, is tested with the raven and the horse in turn from other storages. The control socket's tooltip command refuses a level, durability, option, excellent, ancient or harmony value its item's fields can't hold instead of wrapping it, and tooltip-snapshot reports a file it couldn't write completely.
…ltip-context # Conflicts: # src/source/App/Control/ControlCommandsQuery.cpp
…ooltip-values # Conflicts: # src/source/Engine/Object/ZzzInventory.cpp
…ooltip-durability
…m-tooltip-shared-texts # Conflicts: # src/source/Engine/Object/ZzzInventory.cpp
…em-tooltip-translations
…em-tooltip-chain-values
…tem-tooltip-third-chain
…s own item table Run in one process after a test that loaded the item data (the MU Helper pickup filter tests do), the comparison test crashed: it switches the UI language for every language, the item data follows each switch and refills ItemAttribute, which is null outside a ClientDataScope. CTest runs each test case in its own process, so CI did not show it. The test now runs inside a ClientDataScope, as ClientDataScope's comment asks of a test that switches the language.
… the item data, and the gate's lines are formatted
…ltip-context # Conflicts: # src/source/App/Control/ControlCommandsQuery.cpp
…em-tooltip-translations
…em-tooltip-chain-values
…tem-tooltip-third-chain
…ooltip-durability
…m-tooltip-shared-texts
…em-tooltip-translations
…tem-tooltip-third-chain
…em-tooltip-chain-values
…tat words aren't the game's texts
The "i" of "%% increase" leaked into seven translations of "Damage +20% increase effect" ("iefecto", "infeito",
"inувеличение", ...). The level lines' test no longer compares the Fruits' stat words with the game's texts, which
keep the words this step corrects.
…em-tooltip-chain-values
…tem-tooltip-third-chain
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.
This step's own changes: compare with #834. The diff of this PR also holds every earlier step of #815, since a PR from a fork can only target this repository's branches.
Summary
Follow-up to #834 in #815 (data-driven item tooltips). Stacked on #834 (→ #833 → … → #813): only the last commit,
fix(items): the item bundles are named alike, with their count, is this change.The ten jewel and stone bundles were named two ways in English: "Bundle of Jewel of Bless", but "Jewel of Life Bundle". Spanish and Portuguese were worse:
Each language now names every bundle one way, after its single item. German was already consistent.
A bundle's name also says how many it holds: "x10", "x20" or "x30" instead of "+1" to "+3", which read like an item level. The count is a new
ItemStats.jsontable,bundleCount(10, plus 10 per level), shown through the bundles' name lines:The Bundle of Jewel of Life's name and name lines
{ "number": 136, "name": { "en": "Bundle of Jewel of Life", "de": "Bündel Juwelen des Lebens", "es": "Fardo de Joyas de Vida", "pt": "Lote de Joias da vida" }, "nameLines": [ { "text": "{name} x{bundleCount}", "color": "yellow" } ] }{"name": "bundleCount", "caption": {"en": "Items in a Bundle (Jewel and Stone Bundles)"}, "values": 10, "perLevel": 10}The names show in the tooltip, the windows and the server's messages. One more fix came with them: the quest window copied item names into 32-character buffers without a bound. "Bundle of Higher Refining Stone x10" is 35 characters, so the quest window now passes the name to its text directly.
{levelPlusOne}, which #833 added for the bundles, is no longer used by any item. It stays a built-in value.Screenshots
A level-1 Bundle of Jewel of Life (20 jewels), before (#834) and after.
Related issues
Part of #815. Builds on #834, #833, #830, #829, #828, #827, #825, #824, #823, #822, #821, #820, #819, #818, #817, #816 and #813.
Checklist
docs/CODING_RULES.md.docs/build/README.md).