This is a little complicated, but I think it would assist greatly in making events.
In C++, the ? is a miniature If/Then/Else statement. The syntax goes like this:
( Conditional ? Value if True : Value if False )
Now, this is not functionality that will allow you to do anything you can't currently do in construct. But it will make it possible to use less sub-events, and make things neater all around.
Consider the case where you want an enemy to bounce away from you upon an overlap. You can't simply use Family[Behavior].VectorX = -Family[Behavior].VectorX, because there are other events setting it's VectorX. You can't just set Family[Behavior].VectorX = Family[Behavior].VectorX + 100, because what if you're on the other side of the enemy? You'd have to do
+On Overlap between Player and Family[Behavior].VectorX
++Player.Angle = 0
--Family[Behavior].VectorX = Family[Behavior].VectorX + 100
++Player.Angle = 180
--Family[Behavior].VectorX = Family[Behavior].VectorX - 100
With the ? functionality, you could merely have:
+On Overlap between Player and Family[Behavior].VectorX
-Family[Behavior].VectorX = Family[Behavior].VectorX + ( Player.Angle = 0 ? 100 : -100 )
Drastically simplifying the event sheet. Well, simplifying it assuming that you know the syntax, but it's not difficult to learn, and it's not like the longhand method of doing the same thing has gone away or anything.