You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat(archetypes): complete tiny lighting for transient missiles and sparkles #104
Architecture amendment — one authored content source (2026-08-13)
Initiative atrinik/atrinik#357 supersedes every future live-branch instruction below. atrinik/content@main is the sole mutable authored source for replacement and Classic targets. Future authored changes land only on main; supported Classic artifacts are deterministically derived from the same immutable main revision. Do not create, restore, author, backport, validate, or publish through a live 1.x branch.
Exact historical 1.x commits, tags, releases, assets, preserved local snapshots, provenance, parity records, and comparisons remain valid immutable evidence. This amendment changes no other feature, balance, lore, compatibility, licensing, validation, or ownership acceptance criterion.
Important
Evidence policy update (2026-08-11):#66 is complete through #124; any wording
below treating it as a future prerequisite is superseded. #126/#127 retire the
committed renderer-review capture surface. The removed files were generated
review artifacts, not authored gameplay art. Any requirement below to commit
rendered screenshots, contact sheets, manifests, proof maps, or capture tooling
is superseded. Keep authored semantic review in maps/light-source-review.json (rationales, current digests, complete coverage,
and zero unreviewed emitters). Optional smooth/discrete diagnostics belong only
under ignored build/ or deployment output; summarize conclusions in the PR,
but never commit or gate merge on those files.
Follow-up to #65 and its implementation in #67, with the compatible main integration tracked by #66.
Outcome
Complete the radius-1 lighting treatment for three live transient effects whose art and runtime consumers are clear:
Archetype
Color direction
magic_missile
deep blue 4060ff
cause_wounds
emissive yellow ffe060
level_up
cyan-blue 60d0ff
This is separate from #94's five meffect_* glows. These objects have projectile, impact, or player-level lifecycle contracts that need their own runtime checks.
Evidence
All three have zero static map placements and currently lack a radius and color, but each has an exact live Classic consumer:
arch/magic/magic_missile/magic_missile.arc is created by spell_magic_missile. It is a turnable directional type-2 projectile with deep-blue lightning art, no_save 1, speed 1, and a 12-tick lifetime field.
arch/magic/wounds/cause_light_wounds.arc is created by spell_cause_light_wounds. It is a type-2 animated projectile/effect with a bright yellow core and red-orange tips, no_save 1, speed 1, and the same 12-tick lifetime field.
arch/misc/level_up/level_up.arc is the required cached ARCH_LEVEL_UP effect inserted on the player's tile after level gain. It is an animated type-79 sparkle with is_used_up 1, food 9, and speed 1, but no explicit no_save field.
Existing fire, frost, negative-energy, and lightning bolts establish radius 1 as the appropriate transient-source precedent. 4060ff, ffe060, and 60d0ff are already reviewed #65 palette entries. If rendered evidence makes the wounds effect's yellow read too holy, established ff6030 is the bounded alternative.
Scope
Add radius 1 and the reviewed art-matched colors above to the three archetypes.
Land only after #65/#67 are integrated on 1.x and #66 supplies the matching field/audit contract on main. Runtime validation belongs on Classic 1.x; validate compatible authored definitions independently on main and document any replacement-stack limitation. Deliver separate linked pull requests while preserving release-line-specific metadata.
Architecture amendment — one authored content source (2026-08-13)
Initiative atrinik/atrinik#357 supersedes every future live-branch instruction below.
atrinik/content@mainis the sole mutable authored source for replacement and Classic targets. Future authored changes land only onmain; supported Classic artifacts are deterministically derived from the same immutablemainrevision. Do not create, restore, author, backport, validate, or publish through a live1.xbranch.Exact historical
1.xcommits, tags, releases, assets, preserved local snapshots, provenance, parity records, and comparisons remain valid immutable evidence. This amendment changes no other feature, balance, lore, compatibility, licensing, validation, or ownership acceptance criterion.Important
Evidence policy update (2026-08-11): #66 is complete through #124; any wording
below treating it as a future prerequisite is superseded. #126/#127 retire the
committed renderer-review capture surface. The removed files were generated
review artifacts, not authored gameplay art. Any requirement below to commit
rendered screenshots, contact sheets, manifests, proof maps, or capture tooling
is superseded. Keep authored semantic review in
maps/light-source-review.json(rationales, current digests, complete coverage,and zero unreviewed emitters). Optional smooth/discrete diagnostics belong only
under ignored
build/or deployment output; summarize conclusions in the PR,but never commit or gate merge on those files.
Follow-up to #65 and its implementation in #67, with the compatible
mainintegration tracked by #66.Outcome
Complete the radius-1 lighting treatment for three live transient effects whose art and runtime consumers are clear:
magic_missile4060ffcause_woundsffe060level_up60d0ffThis is separate from #94's five
meffect_*glows. These objects have projectile, impact, or player-level lifecycle contracts that need their own runtime checks.Evidence
All three have zero static map placements and currently lack a radius and color, but each has an exact live Classic consumer:
arch/magic/magic_missile/magic_missile.arcis created byspell_magic_missile. It is a turnable directional type-2 projectile with deep-blue lightning art,no_save 1, speed 1, and a 12-tick lifetime field.arch/magic/wounds/cause_light_wounds.arcis created byspell_cause_light_wounds. It is a type-2 animated projectile/effect with a bright yellow core and red-orange tips,no_save 1, speed 1, and the same 12-tick lifetime field.arch/misc/level_up/level_up.arcis the required cachedARCH_LEVEL_UPeffect inserted on the player's tile after level gain. It is an animated type-79 sparkle withis_used_up 1,food 9, and speed 1, but no explicitno_savefield.Existing fire, frost, negative-energy, and lightning bolts establish radius 1 as the appropriate transient-source precedent.
4060ff,ffe060, and60d0ffare already reviewed #65 palette entries. If rendered evidence makes the wounds effect's yellow read too holy, establishedff6030is the bounded alternative.Scope
level_upinsertion/removal on level gain plus login, logout, save/reload, death, and map transitions because it lacks explicitno_save.bullet, unusedfire_trail, unused fog variants, and any unreviewed spell animation from this issue.Acceptance criteria
level_upcannot survive save/reload, login, logout, death, or map transition beyond its intended lifecycle.python3 tools/world_content_audit.py lights --check,python3 tools/validate.py, andgit diff --checkpass.Release lines
Land only after #65/#67 are integrated on
1.xand #66 supplies the matching field/audit contract onmain. Runtime validation belongs on Classic1.x; validate compatible authored definitions independently onmainand document any replacement-stack limitation. Deliver separate linked pull requests while preserving release-line-specific metadata.