First off you got a mistake when creating your array - a comma too much at the end.
_check=[_herc1ready,_herc2ready,_herc3ready,_herc4ready,]
which should rather look like:
_check=[_herc1ready,_herc2ready,_herc3ready,_herc4ready]
But you don't store the variablename in the array but the status of the booleans.
Your array looks in real like this:
_check=[false,false,false,false]
Now if you set _herc1ready to true, the array will not become updated by that.
Also it doesn't really make sense to use an array in this case - you just use a tiny little bit
more of resources than required.
Better way is to use one numeric variable (a counter).
_counter = 0
And everytime one of your four herc's is done you increase the counter by one: _counter = _counter + 1
Once _counter reaches 4 everything's done.
~S~ C