Altren wrote:
Both agents dies.
I don't understand how this is the correct answer. It seems like, as with every other effect, they should be processed in the usual order causing one to kill the other (presumably the older killing the younger). After one dies, the remaining one is no longer next to an agent of death.
On a meta level, how was this behavior implemented? I'm assuming that there is generally some sort of list of effects to check that is processed and that effects related to entities that have previously been removed are ignored. Is this then special cased differently so that it is processed despite the agent having been removed? Or is there some kind of notification system that things listen on and invoke handlers?