I think that perhaps what you want to do can be achieved with groups, rather than trust level. There are just 5 trust levels (0-4), and really TL4 isn’t automatically granted.
You can change user’s trust level with the API, but having a bunch of other variables affect trust level would take a plugin.
It seems fairly unlikely that someone who attends a bunch of your events but doesn’t participate in the forum enough to be promoted there should be promoted anyway. Even if you “trust” them, they still won’t understand the norms of the online community. You could do something with the API to make sure that these “trusted” people got promoted to TL1 or 2, though.