Use a instance variable instead of "every X seconds".
Add an instance variable to enemy2 and call it "timer". Then replace your event 12 with these two events:
enemy2 : timer > 0
------- Enemy2 : Subtract dt from timer
enemy2 : timer <= 0
------- enemy2 : Spawn plasmaBullet
------- enemy2 : Set timer to enemy2.fireRate
Thank you for this. I was having a problem using the "every x seconds" as well. It's a shame you can't combine this with (or after) a trigger that selects a single object (like "overlapping an object", or "health <= 0). Was seriously driving me crazy.
Really though, it'd be a lot easier to use the built in timer (every x seconds) if you could have it reference each instance of an object individually, like most of the other conditions. I mean how often are you going to have multiple copies of the same object? Seems like every game has a few of those, and then to make them all not be the exact same you set some randomness. In my case I just wanted them to all jump a little different than each other, so a random timer would solve this perfectly. Too bad the built in one references all instances of the object, even if picking using a instance variable. I guess this just plays into the whole "not needing to program, template, reuse, repeat, instance based sprite system". I guess it's either been overlooked, or just isn't possible?