# Campaign CH — in-client user test script One connected session against local ACE, retail GUI (`ACDREAM_RETAIL_UI=1`). For the color checks, running the retail client side-by-side is ideal but optional — the hex values are byte-verified; what needs eyes is "does it FEEL right". ## 1. On-screen interface text (CH2 — the SpewBox) - Jump, and press jump again while airborne → **"You can't jump while in the air"** appears as transient text flush to the very TOP of the viewport (round 3, 2026-08-10 — moved off the earlier 60px-down placeholder), NOT in the chat window. Chat gets no line at all. - Spam it 5+ times fast: the line refreshes in place (no stacking of identical text); distinct refusals stack newest-on-top, max 4 lines. - Try `@version` → its output goes to CHAT (green), not the SpewBox. - The SpewBox text should now read visibly SMALLER than round 2 (retail dat Font `0x40000025`, 11px, replacing the earlier 15px debug font). - **Report presentation impressions**: position and font are now best-available approximations, not resolved retail values (register AP-178); line lifetime is still a placeholder (AP-177) — say what looks wrong vs your retail memory. ## 2. Chat colors (CH1) Side-by-side vs retail if possible: - Say something → white. Emote (`:waves` works now) → grey. - Tell someone → your "You tell ..." line is DARK yellow (210,210,100); an incoming tell is BRIGHT yellow. - Magic self-cast lines → light blue. Combat: damage you take → salmon, damage you deal → dark red. - `@version` / `@loc` output → green (retail types command output 0x00). - Fellowship chat (if you form one) → bright yellow. ## 3. Side channels (CH3) - `/general hi` → round-trips (ACE echoes it back; blue-grey color). Same for `/trade`, `/lfg`. - Roleplay: with "Hear Roleplay Chat" OFF (the ACE default), sending to Roleplay → **"You are not listening to the Roleplay channel!"** and nothing is sent. Enable it in Settings → Chat → ACE reports entering the channel; sending now works. (`@join roleplay` / `@leave roleplay` also flip it, effective immediately.) - Legacy family single-print: `/f hi` (in a fellowship) shows ONE line, not two. Same for /v /p /m /cv if you have the allegiance structure. - `/a hi` without an allegiance → refusal, not a silent drop. ## 4. Commands (CH4) - `:waves` and `;waves` → emote. `@f, hi` (trailing comma) works. - `@t Two Word Name, hello` → comma splits the name (needs an alt with a multi-word name to fully verify). - `@g hi` → goes to FELLOWSHIP (not the global General room!). Without a fellowship expect a server-side error — the important thing is it does NOT broadcast globally. - `@allegiance boot Bob` → "Please see @help Allegiance for more information..." locally; nothing broadcast, nothing sent. - `@house abandon` → TWO confirmation dialogs. **Decline** (unless you really want to abandon a house). Declining either stage sends nothing. - `@mr` → help text only. `@clist general` → channel list from ACE. - An unknown verb like `@somenonsense` → passes through to ACE (server answers, client does not swallow it). ## 5. Help text (round 3, 2026-08-10) - `/help` (no args) → TWO lines in the chat window: a "Note: You may substitute a forward slash..." line, then "Available help:" followed by 13 real retail topic one-liners (allegiances/channels/chatting/death/ emote/fillcomps/friends/house/squelch/status/text/commands). This replaced an acdream-invented cheat sheet ("Chat: /say...", "Client: /help...") — that text should no longer appear at all. - `/help death` → the SAME "Note:" line first, then a SECOND line starting "For more information, type @help ." immediately followed by the 8-line corpse/death command listing — not just the 8 lines alone. - `/help somenonsenseverb` → **goal-window fix (2026-08-10, #367 closed):** "Unknown command" now flashes on the SpewBox (top of viewport), NOT the chat window — the SAME surface as section 1's "jump in the air" refusal. Chat gets no line at all. ## 6. Goal-window fix — SpewBox refusal typing (2026-08-10, #363/#367) - `/g` (or `/f`/`/a`/`/m`/`/p`/`/v`/`/c` etc.) with NO message → **"You must specify the text you wish to say!"** flashes on the SpewBox. Previously this silently did nothing. - `/r hi there` (or `/reply`) with no prior incoming Tell → **"Someone must @tell you first!"** flashes on the SpewBox. Previously silent. - A bad-args catalog command, e.g. `/ls now` or `/marketplace foo` → **"That is not a valid command."** flashes on the SpewBox. Previously showed a green "Usage: /lifestone" line in CHAT — both the color/surface AND the wording changed. - `/hslist badtype` → **"Please see @help hslist for more information on how to use this command"** flashes on the SpewBox. Previously showed a green "Usage: /hslist " line in CHAT. - `/clist`/`/on`/`/off` with no channel name, and `@allegiance boot Bob` from section 4 above — SAME text as before, but now flash on the SpewBox instead of showing in chat. - A bare `/` or `@x` (no letter verb) and `/help somenonsenseverb` (section 5) both now flash "Unknown command[: x]" on the SpewBox too. - Sanity: `/endurance`, `@version`, `@loc` and other informational command output must STILL show in chat (green/default), not the SpewBox — only genuine refusals moved. ## Known-open, do not report as new - Ctrl+M mute chord (#358) — still broken, separate from this campaign. - SpewBox line lifetime is still a placeholder (AP-177) pending a retail measurement session; position/font are now best-available approximations (AP-178), not confirmed retail pixel values. - Allegiance management subcommands print the help refusal instead of executing (#360); `@day`/`@log`/`@render` deferred (#361); four request commands send but responses aren't rendered yet (#362, already closed).