a chat link is one token now, and tooltips print true costs

- a chat link edits as one atomic token: the caret can't land inside it, its colors survive, one keypress removes it whole
- spell tooltips print the resolved mana cost through the reference's own table walk, and the "% of base mana" line dies
- the spirit healer's confirm comes back after a cancel and wears its warning icon
- the dressing room's pane is a live animating model, and a tried-on bow lands in the hand

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Sam
2026-08-07 16:02:39 +07:00
co-authored by Claude Fable 5
parent d99ad8bc7d
commit cd58f90bec
46 changed files with 4840 additions and 1695 deletions
+6 -1
View File
@@ -65,7 +65,12 @@ pub(super) fn char_input(lua: &Lua, text: &str) -> bool {
highlight_text(lua, h, 0, -1);
} else if text.chars().any(|c| (c as u32) >= 0x20) {
// A printable char (or string); pure control input is consumed but not inserted.
insert(lua, h, text, true);
//
// A typed `|` goes in as `||` — OnChar `0x77c200` pushes the literal at `0x879cac`, which
// is `"||"` (decision 1077). That is why real markup can only enter a box through
// `SetText`, `Insert`, a paste or the C++ link-insert path: you cannot type an escape, and
// the doubled form draws as one `|` and counts as one letter.
insert(lua, h, &text.replace('|', "||"), true);
}
true
}