Repository navigation
fix(lighting): consolidate glower illumination - #114
Merged
Merged
Conversation
zoeyrose
marked this pull request as ready for review
August 11, 2026 11:46
This was referenced Aug 11, 2026
zoeyrose
added a commit
that referenced
this pull request
Aug 11, 2026
## Summary - port #114's reviewed glower ownership result to the current `main` tip - give `glower.101` the warm `ffd080` color without a global radius - transfer 21 exact helper footprints to visible fixtures and preserve the five explicitly non-emitting placements - refresh only the main-native semantic light ledger; no Classic capture or replacement-renderer claim is introduced Closes #103. ## Release-line relationship The independently validated Classic `1.x` delivery merged first in #114 as `969b53c2b953772970d0cc6c76e702a262b1d09d`. This canonical `main` companion ports the nine compatible authored paths against the current main-native ledger. ## Coordinates - base: `main@908fd37` - head: `b4b26b161981127bb9b75a71e71f72024e453e40` - branch: `fix/103-glower-lighting-main` - changed paths: ten (nine authored source/map paths plus `maps/light-source-review.json`) ## Invariants - 26 glower placements: five radius 0, one radius 4, seven radius 5, one radius 7, and twelve radius 9 - all nine authored source/map files are byte-identical to the merged `1.x` result - the eight affected map review records and `glower.101` color-source record match the line-paired semantic result - no `maps/light-source-evidence/**`, manifest, proof scene, capture tooling/test, `views`, or `evidence_focus` field is added - replacement runtime verification remains explicitly unavailable on `main` ## Validation Passed against exact head content: - focused lossless validation for all nine authored paths - `python3 -m tools.content_catalog validate --root .` — 8,105 definitions and 68,594 references - `python3 tools/world_content_audit.py lights --check` — zero unreviewed emitters - `python3 tools/validate.py` — 128 tests passed; 3,561 canonical archetypes complete - `git diff --check` - `git ls-files 'maps/light-source-evidence/*'` — empty - exact remote comparison — one commit and ten remote blobs identical to the locally validated files ## Review - round 1 found repeated ledger rationale text had associated several new rationales with neighboring records; corrected the exact keyed records - round 2 rechecked the complete diff, cross-line bytes, ledger objects, radii distribution, focused validators, aggregate validator, and remote blob identities with no remaining actionable findings
|
🎉 This PR is included in version 1.8.6 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
zoeyrose
added a commit
that referenced
this pull request
Aug 23, 2026
## Summary This PR improves trap handling and progression, expands combat and status-effect feedback, fixes two client crashes, and removes the deprecated Windows self-updater. ## Changes ### Trap handling and progression - Automatically searches for and attempts to disarm traps before opening a previously closed container. - Requires the player to know both Find Traps and Remove Traps. - Processes every detected trap in the selected container. - Keeps searches deterministic, so repeating an attempt with the same rating cannot reroll a failure or provide additional XP. - Uses character level as the zone-scaling baseline while allowing skill investment and attributes to provide meaningful specialization: - Find rating: `character level + Find Traps level / 2 + (Intelligence - 10) / 4` - Disarm rating: `character level + Remove Traps level / 2 + (Dexterity - 10) / 4` - Generates trap levels using difficulty bands: - 60% at 80–100% of area difficulty - 25% at 101–110% - 10% at 111–120% - 5% at 121–140% - Preserves the generating monster's base experience on its traps. - Awards successful discovery and disarming XP using `monster base XP × trap level`, subject to the normal single-award XP cap. - Prevents repeated discovery XP from the same trap. - Starts both trap skills at level 1 so they can progress. - Makes XP from both trap skills contribute toward character-level progression at a rate of 20% towards the character level. - Retains normal trap consequences when detection or disarming fails. ### Combat feedback - Reports the modifiers applied to attack rolls, including their signed values and net adjustment. - Covers modifiers such as: - backstab - sidestab - visibility and blindness - fear, confusion, and unaggressive targets - altitude differences - the `target moved -6` penalty - Sends modifier information only when a player is involved, avoiding unnecessary formatting for NPC-versus-NPC combat. - Resolves projectile owners before selecting recipients. ### Depletion tooltip - Lists every currently depleted statistic and its depletion amount. - Builds the description from the authoritative server-side depletion effect. - Refreshes the active-effect tooltip when additional depletion is applied. ### Client crash fixes - Avoids freeing a null asset-source cache path or HTTP URL. - Avoids freeing a null animation-face array when receiving animation data. ### Deprecated Windows updater removal - Removes the legacy updater executable, elevated wrapper, batch script, popup, headers, and build targets. - Removes updater-only archive utilities and installer entries. - Updates Windows shortcuts to launch `atrinik.exe` directly. - Removes stale updater references from documentation and source-list tooling. - Leaves the normal game-data update protocol and settings migration system intact. ## Testing - Built the Linux client. - Built the Linux server. - Ran the complete server C test suite successfully. - Ran all 420 Python plugin tests successfully. - Added focused regression coverage for: - automatic container trap handling - effective Find Traps and Remove Traps ratings - the 60/25/10/5 trap-level distribution - monster base-XP inheritance - one-time discovery XP - disarming XP - contribution of both skills to character XP - deterministic detection and disarming boundaries - combat positional modifiers - the moved-target penalty - depletion descriptions - Passed the repository-wide clang-format check. - Passed `git diff --check`. - Ran targeted clang-tidy analysis; only an unrelated pre-existing treasure-parser warning was reported. ## Review notes The branch was reviewed against `master` for correctness, duplication, ownership, iteration safety, performance, packaging, and security. Notable considerations: - Automatic trap handling is linear in the direct contents of the opened container and only runs during the closed-to-open transition. - Nested containers are checked when individually opened rather than recursively scanning an entire inventory tree. - Trap searches cannot be profitably spammed because detection is deterministic and discovery XP is awarded once. - The combat-description allocation is skipped when neither participant is a player. - Removing the updater eliminates an obsolete elevated download-and-extraction path. - The Windows package changes were inspected statically, but the final MXE package path should also run in Windows release CI.
zoeyrose
added a commit
that referenced
this pull request
Aug 23, 2026
## Summary - port #114's reviewed glower ownership result to the current `main` tip - give `glower.101` the warm `ffd080` color without a global radius - transfer 21 exact helper footprints to visible fixtures and preserve the five explicitly non-emitting placements - refresh only the main-native semantic light ledger; no Classic capture or replacement-renderer claim is introduced Closes #103. ## Release-line relationship The independently validated Classic `1.x` delivery merged first in #114 as `6aef7c4d8df4f8007dc715b5d8d8111d48dfe8cc`. This canonical `main` companion ports the nine compatible authored paths against the current main-native ledger. ## Coordinates - base: `main@6c7792c` - head: `e1ba65e2e862119749ee53a853d957aae52c3fed` - branch: `fix/103-glower-lighting-main` - changed paths: ten (nine authored source/map paths plus `maps/light-source-review.json`) ## Invariants - 26 glower placements: five radius 0, one radius 4, seven radius 5, one radius 7, and twelve radius 9 - all nine authored source/map files are byte-identical to the merged `1.x` result - the eight affected map review records and `glower.101` color-source record match the line-paired semantic result - no `maps/light-source-evidence/**`, manifest, proof scene, capture tooling/test, `views`, or `evidence_focus` field is added - replacement runtime verification remains explicitly unavailable on `main` ## Validation Passed against exact head content: - focused lossless validation for all nine authored paths - `python3 -m tools.content_catalog validate --root .` — 8,105 definitions and 68,594 references - `python3 tools/world_content_audit.py lights --check` — zero unreviewed emitters - `python3 tools/validate.py` — 128 tests passed; 3,561 canonical archetypes complete - `git diff --check` - `git ls-files 'maps/light-source-evidence/*'` — empty - exact remote comparison — one commit and ten remote blobs identical to the locally validated files ## Review - round 1 found repeated ledger rationale text had associated several new rationales with neighboring records; corrected the exact keyed records - round 2 rechecked the complete diff, cross-line bytes, ledger objects, radii distribution, focused validators, aggregate validator, and remote blob identities with no remaining actionable findings
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.
Summary
glower.101the reviewed warmffd080color without a global radiusPart of #103.
The canonical
maincompanion will carry the sole closing keyword after prerequisite #66 supplies the matching main-line field and audit contract. This maintenance PR intentionally does not close the issue.Coordinates
1.xat9d5aa3c88becabd33247418af76b2866376ce92bfeat/103-glower-lighting-1xat870f293c875a19c503284f7e402279d1ffafa03f/workspaces/atrinik/workspace/worktrees/content-1x/issue-103-glower-1xe91bd19c8 feat(lighting): move glower illumination onto fixtures677b891aa test(lighting): refresh glower runtime evidence870f293c8 docs(lighting): correct evidence runtime coordinatesValidation
Passed at exact head
870f293c875a19c503284f7e402279d1ffafa03f:The optional broader wrapper
./atrinik build all --profile issue-103-glower-1x --testcompleted 82/84 CTest entries. Its two failures are unrelated existing Classic-stack assertions inserver-unit-server.objectand the Python 3.14server-plugin-pythonQuestManager test; the exact-profile build without--testpasses, and the repository-owned validation above is fully green.Runtime verification
issue-103-glower-1x/issue-103-glower-1x-d73658195bc0e91bd19c8aa41a2015f76969dbcbd7cf4d2ea37762625f30ff27707c66304915d49ec4132023342d; resources266ac693e5567e1c253384bff1d490f1e37fedcaissue-103-glower-lighting/scenario-issue-103-glower-lighting/issue-103-glower-lightingGreyton Jail, Old Outpost, both Rockforge maps, Asteria interior and docks, the mountain inn, and Brynknot were reviewed in smooth and discrete lighting. Warm emitting fixtures preserve their intended footprints without wall bleed, washout, or navigation loss; the five zero-radius fixtures remain dark. Continuous source captures pass matched-control pixel gates. The topology services and isolated X display are stopped; the reproducible profile, build, scenario/state, topology record, and ignored
build/issue103-runtime-reviewtree (1,113 smooth-map, 107 smooth-source, and 24 discrete PNGs) remain preserved while this PR is open.Review
677b891aa870f293c8and this body records the final headfix(lighting): consolidate glower illumination, and the final complete review has zero remaining actionable findings