So you want to make it hit only once? You can set a var for when the helper make contact, and change the trigger for the hitdef to something like "triggerall = !var(x)".
[State 1005, Contact]
type = VarSet ;can also be parentvarset / varadd / parentvaradd
trigger1 = MoveContact && NumTarget
var(x) = 1 ;change x for an unused var
persistent = 0
ignorehitpause = 1
You can tweak this so it match your conditions.
And since you're using a helper it can have its own variables and they will reset everytime you spawn a new helper.