feat: greyscale death screen + one death path (#30) #126
No reviewers
Labels
No labels
alpha:wave-0
alpha:wave-1
alpha:wave-2
alpha:wave-3
area:assets
area:combat
area:ecology
area:infra
area:render
area:scripting
area:ui
area:world
enhancement
epic
migration
post-alpha
roadmap
tech-debt
type:bug
type:chore
type:design
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
marco/IsoMmo!126
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/ghost-overlay"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Closes #30. Two related "death" changes:
RenderTarget, then blitted back desaturated (Rec.601 luminance + a slight contrast/darken); the HUD is drawn after, in colour, so it stays readable. It clears the instant the player resurrects. Client-only, no protocol/server change — and no shader/content-pipeline: a CPU post-process that runs only while dead.CombatSystem.KillPlayer, which makes the ghost and queues the death in a single_pendingDeathslist the tick drains and broadcasts. Removes the melee-onlyCombatResolution.Deaths+DamageResult.PlayerDeathplumbing, and fixes a latent bug: a spell that killed a player set the ghost but never broadcastPlayerDied./killnow also slays players (→ ghost), so melee/spell/GM deaths are identical.Screenshots / recording
Captured by piloting the client via the debug harness:
login debug→/killself → screenshot.Ghost — the world in high-contrast greyscale (journal: "Target slain."):
How it was tested
WorldTests.SlayPlayer_KillsThroughTheOneDeathPath_AndTheTickAnnouncesIt,CommandTests.Kill_WithPlayerTarget_SlaysThePlayer_AsAGhost; the existing melee-death test still passes (same path).dotnet testgreen (340).Checklist
just lintpasses (CSharpier + analyzers, zero warnings)just testis greenc32c026e5e57ebfaf41dfeat: full-screen ghost overlay + one death path (#30)to feat: greyscale death screen + one death path (#30)