I know you have the solution, but another option is to create trigger1 covering the map, activated by civilians present, once, Type : none,
Condition :
this
OnActivation :
numofcivs = count thislist
Then create trigger2 covering the whole map, activated by civilians present, once, Type : End #1,
Condition :
count thislist == numofcivs - 15
The first trigger counts the number of civilians at the start and creates a variable called "numofcivs" that equals the initial amount of civilans on the map.
The second trigger..triggers when count of its list (the whole map of civilians) is equal to the "numofcivs" variable minus 15, meaning that 15 civilians have been killed. Although they could have died from anything, not only your guys shooting them.