You are going to need an array to store the kills.
Event
A unit dies
Condition
Unit-type of Dying Unit is Lava Crab
Actions
Modify Property: numberKills[Owner of (Killing Unit)] = +1
If (numberKills[Owner of (Killing Unit) == 3)
Your actions go here.
I suggest you create your map with the sole idea that you will only play it with your closest and dearest friends. With the current system, only (10?) maps will make it. As you said, rich will get richer.
Dito, any of the objects in Core.SC2Mod are pretty much effectless (they are the framework of all the implemented objects). Take a look at CAbilEffectInstant and CAbilEffectTarget.
I, however, personally recommend you to try to implement your spells using the data-editor first before attempting...
You may not already know that terrain deformation is done via actors. By creating a terrain deformation actor with triggers you are effectively morphing the terrain with triggers.
Weird, I'm unable to replicate.
I duplicated the Marine actor, double-clicked it, changed the name to Battle Marine, the ID to BattleMarine, and it still uses Marine as the model.
Did you perhaps change the unitName token?
Now, now, why would you nicely ask for me to write a long and tedious function if you already know it's going to overflow? You are an evil person! :(
A valid point for my case would be converting "42" to 42, though.
On the brighter side, Blizzard seems to still be implementing new functions...
You can always use a 128-case switch statement and substrings to convert string to int.
Isn't there any way to retrieve single elements from Text? Parsing it to a string would be trivial then.