# Lich Hood r23 corrective pass

This pass corrects the three regressions observed in the r22 gameplay screenshots.

## Crown clearance

The visible spike was the avatar's hairless crown mesh, not hair. The accepted r21 hood proportions were retained. The whole hood attachment was lifted by 0.012 model units and the upper central shell received a smooth, local-only clearance expansion (maximum 0.034135 units). Horn position, face opening, shoulder drape, X/Y placement, and global scale were not changed.

The repeatable Blender operation is in `tools/lich-hat/add_crown_clearance_blender.py`.

## Icon

The icon is rendered from the original correctly oriented source model at 512x512, then downsampled to 64x64 before DXT5 import. Low emission and gentler lighting preserve the green hood and red fasteners through Unity 2 texture compression. The final DXT5 texture was decoded back to PNG and visually checked.

The renderer and importer are:

- `tools/lich-hat/render_lich_hood_icon_blender.py`
- `tools/lich-hat/inject_lich_hood_icon.py`

## Public one-time command

`/gethood` and `/hood` are registered at access tier 100, which includes ordinary player accounts. The handler validates item 4/270, requires a free inventory slot, grants through the Reborn wire layout, saves the player, and records `gethood-v1` in `RedeemedCodes` so each character can claim once.

Command names are normalized to lowercase. Server startup now fails if either alias is absent and logs a successful registration line before opening its listeners.

## Green fireflies

Effect 5200 is a lightweight, data-driven Unity legacy particle effect stored in `FFRShared/effects.txt`. The managed attachment hook uses the existing `WeaponReflectEffect.AutoApplyClothes` update call and existing `CustomEffects`/`EffectController` systems. It creates one marker under `Bip01 Head` only while hat 4/270 is equipped and removes it on unequip.

The effect is fail-safe: it first checks `CustomEffects.Has(5200)`, the enclosing avatar update already catches exceptions, and missing effect data produces no particles rather than blocking equipment or client startup.

## Verification

- Clean DisUnity extract/reload passed for the wearable, icon, FFRShared, and main bundles.
- The wearable contains `wear/head_lichhat.nif` and `texture/head_lichhat.dds` while preserving its template.
- The icon is 64x64 DXT5 with the native filter, anisotropic, wrap, and no-mipmap settings.
- Client and server XDT item data remain synchronized; item 4/270 resolves as `Lich Hood`.
- OpenFusion r23 loaded 5,319 items, 14,328 NPCs, 840 crates, and opened login/shard listeners.
- The patched player client reached the normal login screen without a black-screen or bundle-load regression.

