Skip to content

feat(status-effects): publish script-owned timed statuses - #204

Open
zoeyrose wants to merge 4 commits into
mainfrom
feat/jail-player-status
Open

feat(status-effects): publish script-owned timed statuses#204
zoeyrose wants to merge 4 commits into
mainfrom
feat/jail-player-status

Conversation

@zoeyrose

@zoeyrose zoeyrose commented Aug 13, 2026

Copy link
Copy Markdown
Member

Summary

  • opt pipeweed effects into the player status model with source name, face, effective modifiers, and duration
  • opt timed and indefinite jail sentences into the status model
  • leave unrelated script-created and generic forces hidden

Validation

  • python3 tools/validate.py (164 tests plus complete content/schema/catalog/contract/resource validation)
  • python3 -m compileall -q maps/python
  • git diff --check
  • iterative architecture, correctness, and acceptance reviews report zero known actionable findings

Dependency

Depends on atrinik/classic#259, which introduces the explicit PublishStatus Python API.

Companion to atrinik/classic#116.

@zoeyrose zoeyrose moved this to Review in Atrinik work Aug 13, 2026
@zoeyrose
zoeyrose marked this pull request as ready for review August 13, 2026 14:41
@zoeyrose

Copy link
Copy Markdown
Member Author

Delivery exit audit is complete at aac6784d7d6b8d7f42d5c89771603b98b5df57f3 against Classic 0d13c0b8f2d612e99db4ec15b130c0382afc7ef6: the full content validator, Python compilation, latest-head GitHub checks, and fresh architecture/correctness/acceptance reviews all pass with zero actionable findings. This remains ordered after atrinik/classic#259 and is ready for human review; not merged.

zoeyrose added a commit to atrinik/classic that referenced this pull request Aug 13, 2026
## Summary

- publish authoritative paralysis and Word of Recall countdown statuses
- publish source-derived non-spell potion and special-food status
presentation
- add an explicit, persisted Python opt-in for script-owned statuses
without exposing generic forces
- preserve stable grouping and snapshot behavior across refresh,
removal, reconnect, and capacity boundaries

## Validation

- exact final-head server build and CTest suite: 48/48 passed with the
final companion content head
- integrated Classic profile graph exercised 131 tests; 129 passed, the
unrelated latest-main smooth-large client benchmark timed out locally,
and a transient asset-path migration failure passed on immediate
isolated rerun
- latest-head GitHub Classic validation, Linux server, Windows native,
integrated graph, CodeQL, and patch coverage checks passed
- `python3 protocol/tools/generate.py --check`
- `python3 tools/verify_import_history.py`
- scoped `clang-format --dry-run --Werror` and `git diff --check`
- iterative architecture, correctness, and acceptance reviews report
zero known actionable findings

## Companion change

atrinik/content#204 uses the new explicit Python
API for pipeweed and jail statuses and depends on this PR.

Closes #116
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Review

Development

Successfully merging this pull request may close these issues.

1 participant