not too sure if you still looking into this but you can replace the function that notify the box completion and just keep track the amount of souls going in <box>.n_souls_absorbed and when it hits the amount of souls you want <box> notify( "soul_absorbed", self );
to get the boxes:
<box> = getentarray( "foot_box", "targetname" );