As it turns out, there’s a pre-existing API for setting arbitrary string values on creatures. So you’ll be able to do "effects": [ { "npc_set_var": "var_name", "type": "mission", "context": "FREE_MERCHANT_MISSION_1", "value": "gave_prospectus" } ] to set an NPC local variable, or "effects": [ { "u_set_var": "var_name", "type": "mission", "context": "FREE_MERCHANT_MISSION_1", "value": "gave_prospectus" } ] to set a PC “global” variable.
The type and context are required because Kevin doesn’t want there to be any chance of namespace collisions. The PR should be ready on Sunday or Monday.
(edit) Or, y’know, Friday night because this was very straightforward.