# Lich Hood r24 login and particle corrective pass

## Premature login errors

The r23 player bundle accidentally inherited two development harness injections:

- `CnLoginMode.Update()` called `SendLogin("KateDev", "harness")` before the login UI.
- `CnCharSelectionMode.SetCharacter3D()` automatically called `Play()` for the selected character.

The r24 production bundle restores `CnLoginMode.Update()` to the normal `DelayWebLogin()` lifecycle and removes the automatic character-entry sequence. Normal login and registration remain unchanged. The localhost harness patcher is retained separately for development builds.

Verification decompiled the finished bundle again and confirmed that the production login update contains only `DelayWebLogin()`, with no `KateDev`, `harness`, or `bHarnessAutoEnterSent` references. A clean-cache launch reached the login screen without sending a login request; the server log contained no premature login failure.

## Particle revision

Effect 5200 remains visually green and animated but is substantially lighter:

- emission rate reduced from 2.5 to 0.9;
- expected simultaneous particles reduced to approximately 1.44;
- particle size reduced to 0.012-0.022;
- continuous legacy engine emission disabled;
- lifetime reduced to 1.6 seconds;
- spawn radius, velocity, force, and vertical drift reduced;
- particles remain in local space.

The client attachment hook now locates the legacy emitter's separately created particle root, parents it directly to `Bip01 Head`, and resets it to local origin. On unequip it destroys both that particle root and the effect controller marker. This prevents abandoned world-space particles, delayed cleanup, and distant stationary particle spheres.

## Reproducible tooling

- `tools/lich-hat/Strip-RebornDevelopmentHarness.ps1`
- `tools/lich-hat/Patch-LichHoodFireflies.ps1`
- `tools/lich-hat/inject_lich_hood_effect.py`

