Advanced Targetting System
This will be a Tower Defense script-set. However, I assume it can be changed/expanded upon to further increase capability, and be used in other mods aswell. I'm currently experimenting with Galaxy Editor, I've worked on many maps with SC1 and WC3, but that was a long time ago. When I'll get "fluent" with galaxy editor, I think this will be much easier for me than it seems.
The main purpose that I'm creating this script-set is, forcing towers to attack a specified unit instead of acting on their own, attacking anything within their range till they destroy it or their target leaves tower range. Some TD games require manual targetting if you don't want to lose lives, or get max possible damage a tower can inflict. Ideally, first targetting commands/scripts to be written will be:
Those two will work in opposite ways, forcing a tower to always attack the last or the first target within their range. And those should be useful for towers that fire in a straight line, in a way, having "piercing attack". Examples from game are, Helion and Firebat's fire attacks, Banshee's upgraded attack...
Again, those two will work in opposite ways, forcing a tower to either attack the one with highest HP, or lowest HP. Those should be useful for towers that has a rapid attack speed, or towers that has a huge range, or towers that deal massive damage to a single target. For example, rapid attacking towers can be set to "Target Strong" to equally distribute the damage within their range, weakening them for your other towers without focusing on only one, letting others pass with more/full HP. Or, a very-high damage & slow attack tower, will be picking the ones with high HP, increasing the chance that it'll be killed by other towers.
After completing these, further planned ones are:
"Target Group" - Calculating the proximity of each unit, if there is a cluster, towers will attack that cluster ignoring any other units till they get out of tower range. This looks (currently) harder to implement, but it'll be really good for towers that has splash attack/effect, like AoE damage and AoE slow towers.
"Target Unbuffed" - This command forces towers to look for units that doesn't have their debuff on them. This will be really good for towers with buff abilities (well, debuff for them), for example, DoT towers will try to apply their debuff on all units within their range, or slow towers will try to slow down everyone equally. But this won't always be good for slow towers, although, certainly good for towers that has DoTs.
"Priority Target: (Type)" - (Type) stands for unit characteristics, like biological, psionic, flying, armored, etc... for TDs that are using these, and towers has additional bonuses against those types. This target command is an additional. It'll prioritize whom to attack, if the chosen type is not present, it'll use the main target command it has been given. For example, the wave consists of 3 psionic and 7 biological targets, and you have a tower that does additional damage to psionic units. You select "Target Strongest" and "Priority Target: Psionic". It'll ignore "Target Strongest" whenever it is able to attack a psionic unit. When there are none present, it'll continue to use "Target Strongest" command. However, this may already in the game at the moment, however I'm not sure. This additional command could be totally unnecessary in other words.
However, there are some problems that can arise, like:
-After executing a command, they can continue to attack random targets. For example, the first target is killed, who will they attack next? The 2nd on the line, or the next one enters their range?
- - - - - - -
If you would like to help, suggest something, or anything, I'm open to all. And please forgive me if someone is currently working on a similar project like mine.
im not positive but i think i remember some one having already done this in one of the tower defences it is one of the top few TD's in starcraft 2 map listings as of now. i dont this they had any more than just first last strongest and weakest but you might wanna check it out and save yourself some work. Good luck