An artist's depiction of an Extended Unit Death
Your trigger is definitely going to experience wait blocks with the current setup. You should replace the waits with a death counter system of some sort. You also need a way to uniquely identify the different units using something like
http://www.staredit.net/topic/11454/ (which can be applied only to the infected units). I would say that you'd need a good number of locations for this, depending on how many units can become infected at one time.
Anyway, your basic setup would be like this:
- unit enters infection_location
- Infection_1_DC is exactly 0
- bring 0 unit to lid_1
-> center location lid_1 on unit at infection_location
-> Set Infection_1_DC to 216
-> preserve
- Infection_1_DC is at least 1
- bring 1 unit to lid_1
-> center lid_1 on unit at lid_1
-> subtract 1 from Infection_1_DC
-> preserve
- Infection_1_DC is exactly 204
- bring 1 unit to lid_1
-> (Health drop by 10%)
-> preserve
- Infection_1_DC is exactly 192
- bring 1 unit to lid_1
-> (Health drop by 10%)
-> preserve
- Infection_1_DC is exactly 180
- bring 1 unit to lid_1
-> (Health drop by 10%)
-> preserve
.
.
.
- Infection_1_DC is exactly 120
- bring 1 unit to lid_1
-> (Health drop by 10%)
-> preserve
- Infection_1_DC is exactly 108
- bring 1 unit to lid_1
-> (Health increase by 10%)
-> preserve
- Infection_1_DC is exactly 96
- bring 1 unit to lid_1
-> (Health increase by 10%)
-> preserve
.
.
.
- Infection_1_DC is exactly 0
- bring 1 unit to lid_1
-> (Health increase by 10%)
-> Move lid_1 to unused_corner_of_map
-> preserve
(I chose to start with 216 deaths because 12 DCs is approximately 1 second, and you're going from 100 to 10 to 100 in increments of 10, which takes 18 steps total.)
That would be the effect for one unit being infected, but this is completely disregarding the original issue, which is that you have no way to detect the current HP of the unit through conditions without resorting to EUDs (and EUDs would be too messy for this problem, anyway). That's why I suggested a vHP system, so you have some way to keep track of the unit's HP. Once you use a system like that, you'll need additional conditions to the above trigger to make sure you don't subtract by 10% when the unit doesn't have more than 10% HP and doesn't add more than what the unit started with.
To use the above method on units simultaneously, you'd need multiple lid locations and infection counters (one for each simultaneously infected unit).