6db07056ed
GameTooltip setters accepted links, slots and indices that 1.12.1 refuses, and showed what it would not. Each one now checks and answers as its handler does. - SetHyperlink takes only `item:` or `enchant:` (case-folded, `0x5320b1`), checks for an already-held link before the id, and raises `Unknown link type` on anything else. - SetAction clears first. An Attack slot shows one white ATTACK line (`0x5323ad`). - The trade skill, craft and trainer setters raise their lines on a bad index; a craft header clears and hides. - Merchant and trade subtract 1.0 before truncating (`0x534159`). - Any region can own the tooltip. A Font owner raises, written as a `Deviation:` (the client's `0x5313c9` is undefined there). - Every setter checks `this` before its index. Each fix has a test that fails without it. Fixes #2544 Fixes #2545 Fixes #2546 Fixes #2547 Fixes #2548 Fixes #2549 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>