-- Trust: command access, granted independently of level.
--
-- ROM's `ch->trust`, saved in the pfile as `Tru` (save.c) and read back by fread_char. It is what an
-- implementor sets to give somebody administrative access without turning them into a level-75
-- character with the hit points to match -- and to take it away again without touching what they
-- earned.
--
-- WHY IT ARRIVES NOW: the `mode = test` server setting creates every character fully trusted, so a
-- test server's players can run administrative commands without anyone hand-promoting them. That
-- trust has to survive a reload, or every character would silently lose its access the first time
-- they logged out, and the symptom would be "the load command stopped working" with nothing in any
-- log to explain it.
--
-- ZERO IS "NO OVERRIDE", NOT "NO TRUST", and that is ROM's own convention rather than a choice made
-- here: `if (ch->trust) return ch->trust;` falls through to the character's level when it is zero.
-- So the default is safe by construction. Every character written before this migration gets 0 and
-- behaves exactly as they did -- their level decides what they can type, which is what decided it
-- yesterday.
--
-- NO BACKFILL, AND NO SENTINEL NEEDED. Unlike 0004's alignment, where 0 was a legitimate value and
-- had to be told apart from "unset", 0 here IS unset and means the right thing. Nothing to resolve
-- in C# afterwards.
--
-- TRUST GOVERNS COMMAND ACCESS AND NOTHING ELSE (author, 11 August). It does not gate skills,
-- spells, gear level requirements or experience. A character trusted to 75 at level 1 has a level-1
-- spell list and cannot wear a level-60 breastplate; they can simply type `load`.

ALTER TABLE characters ADD COLUMN trust INTEGER NOT NULL DEFAULT 0;
