Actually, what I'm looking for is not that big, and it is in fact a 180º turn from what I used to do back in 2008: rather than building huge python blocks, I'm looking for ways to do as much as possible within Ren'py code and rely as little as possible on python (ideally doing only class and utility function definitions, aside from single-line, $-prefixed computations).
The problem is that some of my classes' instances are meant to be callable, and calling them would do some non-trivial stuff, sometimes including multiple interactions.
To handle multiple interactions, the only sane choice is to do things from Ren'py code. I am aware of that. So ok, no problem, implementing the whole thing in Ren'py code would be as easy as implementing it in python.
Well, there is one problem: for the object to be "called" properly, I have to define things on its __call__ method.
I know this is theoretically plausible: in all likelihood, Ren'py implements the "call a ren'py label" as a function, so at the very least it should be possible to hack my class so it's __call__ actually "points" to that function.
But I know that messing with Ren'py's internal stuff is, in the best case, completely inadvisable. Yet, before I start looking for workarounds (I have already have some ideas in mind), I'd rather try to find an actual solution.
Thus, here is the question: is there a sane way to plug a label as the __call__ method for a class?
