f986fdcddd
Two paths still rejected glyph use on Paragon characters even after the earlier AllowableClass server bypass: 1. Spell::CheckItems (server) treated cast-from-glyph as a normal "equipped item required" cast and called HasItemFitToSpellRequirements, which only handles weapon/armor and falls through default for ITEM_CLASS_GLYPH -> SPELL_FAILED_EQUIPPED_ITEM_CLASS. Skip that check when the cast item itself is the glyph. 2. The 3.3.5 client engine pre-checks ItemTemplate.AllowableClass against the player's class locally and refuses the right-click before sending CMSG_USE_ITEM, regardless of what the server would do. Bake the Paragon class bit (1<<11 = 2048) into AllowableClass for every class-restricted item via a mod-paragon SQL migration so the engine's pre-check passes for class 12. Cache caveat: clients that previously inspected an affected item have the old AllowableClass cached in Cache/<locale>/itemcache.wdb; deleting the Cache folder forces a re-query. The server also caches item_template in memory at boot, so this migration only takes effect for clients after a worldserver restart (or .reload item_template) once the SQL has been applied -- DBUpdater handles the SQL automatically on the next start. Co-authored-by: Cursor <cursoragent@cursor.com>