A type of event that combines the behaviour of DeniableEvent and EventWithResult.
Allows this event to occur.
Allows this event to occur, and sets the result to the given result.
Denies an event from occurring.
Denies this event from occur, and sets the result to the given result.
Checks if this event is allowed to happen.
The result that is returned by this event.