Nethoras - actually it's not all that bad, were I to decide to explain it publically. Basically all I did initially was read through module_operations.py with an eye to what functions might be useful to such a thing, experiment with them until I understood how they worked, and then started chaining 'em together.
There are actually some style elements I'm quite proud of, hiding under the hood and not hugely apparent. For instance, the area damage gets inflicted to the target nearest to the center of the blast first, and then works its way outward. Since it's all basically instantaneous the only visible outcome of this is to set the order of the "burnt for X" messages. There are also some hidden reasons why I needed this as well. But this was actually a noticeable additional complexity - it would have been much easier to leave it affecting them in order of agentID, not in order of range, I have to do an additional layer of looping for this refinement.