Function call yielded unexpected result

I've been experimenting with functions and upgrades, and it looks like this specific combination may not have been anticipated by the developers.

As you can see, the second slot currently has Switch() function upgraded by Spark() and Help().

Function descriptions:

Switch() //   Active slot effect:
         // Alter a target's allegiance, causing it to serve the User.

Switch() + Help()  //   Upgrade slot effect:
                   //  Switch() will spawn a BadCell loyal to the User
                   // at the Target's location.

Switch() + Spark() //   Upgrade slot effect:
                   // Switch() will fan out multiple projectiles.

If we spawn a charged packet using Load() function and then hit it with our combo, we get BadCells spawned at every tick of the clock in all three directions. Is this an intended effect of this Function combination, or is it a bug?

Step 1: Spawn a volatile packet. Step 2: Strike with our combo function. (click for full resolution)

And a Youtube video:


This is almost certainly a bug, I just spent the best part of an hour playing with it.

You do not need load to make this work, just having Switch(), with Spark() and Help() is enough. Hitting anything that actives switch will spawn BadCells like the pics/video you showed.

The way switch seems to work is very similar to a DOT. It applies the switch effect over time. Each tick of the switch DOT activates a BadCell Spawn. I can't get you any pics/video right now, so you'll have to trust me or try it without Load() for yourself.

I'll make sure that Supergiant are aware of it, but this isn't really a huge problem. It's not particularly easy to use very effectively in real combat, because it doesn't seem to work in Time() and you usually don't have enough time to set it up.