It works fine if you change it to On touched Sprite.
Your project has a few other problems though:
Your hammer position is set to touch.x, touch.y, which is always the first touch's position. You'll want that to be Touch.XAt(Touch.TouchCount-1) and Touch.YAt(Touch.TouchCount-1) to set it to the position of the LAST touched position.
Also you are using Trigger once improperly. It should not be in a subevent. This can cause your event to break in certain cases, where the health can keep going below 0 and the sprite can never get destroyed again as the event will never run again.