From the BlightHook code it seemed like just the function pointer was getting replaced and not the virtual function table itself, but previous testing I did seemed to indicate otherwise. However, the blight damage is now working after making that call to microbe the unit in AIProc().
Also, I now have the Light Tower logic essentially done and I think the map is ready for some play testing.
Here's what the map terrain looks like:
It's a modified version of Allied Siege.
And here's an example on how Light Towers can "battle":
While a tower is active, it will maintain a microbe-free area around it with a radius of 8 tiles. Blue lost the leftmost tower because green had 3 towers within range of it. By stacking Light Towers, you can effectively disable an enemy light tower up to 56 y-coordinate tiles away (roughly half the map). You only need at least one more tower in your grouping than the enemy has within that range to disable theirs. Light Towers can be grouped horizontally too (ex. Blue's 2 towers on the right) but they must be adjacent (within 2 x-coordinate tiles). Towers grouped vertically do not need to be within 2 y-coordinate tiles of each other; they only need to be within the 56 vertical tile range of the target tower. If both players have only 1 tower each (or the same number of towers) within range of each other, neither tower gets infected/disabled.
Given the range of 56 tiles, if you wanted to disable towers around an enemy's base (which will generally be near the top or bottom map edges) you would need to place your towers closer to the center mountain range since the map is 128 tiles in height. Although, this means that your towers along the mountainside can also be targeted by towers from an enemy base!
You can also eradicate or "push back" the blight from tiles where it has already spread by placing a tower near the blight edge, but you must have daylight for the microbes to dissipate.
I suppose the game could end in a stalemate if all players only built towers around their immediate bases, but that'd be no fun right?
I'm also wondering whether all players could completely stop the blight... Peace on New Terra?
The 4P teamplay is Top vs. Bottom (and you can also play it with two players). If you want to give it a try, I've attached the DLL and .map file to the 1st post on this thread. I've also committed the latest version of the code to the SVN if you want to check that out. The blight is triggered at mark 100 and spawns near the center of the map.
EDIT: Added a feature where if your tower(s) are currently overpowered/disabled by enemy towers, they will be in the "Disabled" status in the command pane. Much easier to anticipate where the blight might encroach and where you need additional tower stacking. The DLL above is updated.