Woo! Making fairly good progress, actually.
So far, so good. What I have down are a lot of functions that cause people to respond when you give them gems. Silly, but hey who cares! The basic idea is, gems are useful for tax evasion purposes, so if you offer them to people they will respond by offering you something in return; in short, they are a mechanism for bribing people.
Implementing these is quite time consuming, but thanks to lua and a not-too-terrible (though at times far from ideal) design in vex, it seems to be working out.
It is really, really immature at this point, but I can see how after time it will get better and better.