Well currently I don't think mangos has it and maybe its time to decide if we need one?
I think there should be some pattern by which all functions/classes/etc. are written so we won't just throw things where we see fit(yea it works fine but requires more time to understand whats going on)
In general this new model should follow few rules like :
can't contradict any in-game feature and ways it works and possibly have ability to live with threads..
One of the examples for this is http://github.com/cipherCOM/mangos/tree/eventsystem-0.12 (for 0.12, only in basic stage of headers and debug functions -files Event***.h/cpp) which treats any in-game action
as an event so every part of server code regardless if its bg code or deal damage part go by format of having event(EventInfo) and passing it to listener for this specific type of event..
This way allows easier code understanding and developing new features can be faster(won't have to think how it will look like in some parts).
On the other hand switching is going to be hard because all server code needs to be changed to work with new way - this can be done on main branch as series of commits or having different branch and keeping it in sync, merging when finished.
Ofc either way we gonna loose support for most of the patches that are now on forums, even if smaller ones can be modified relatively easy, the larger ones can be a problem. Another problem
is that even if we only move existing code without fully rewriting it, we still may loose its functionality resulting in having more bugs/crashes/etc.
Would like to hear team opinion on that matter (if this change even needed and maybe there are better fitting model than event-like)..