Some nice ideas
The damage system is wicked
When you fire a shot, though, record where the base of the sprite was when it was fired from (Y position). Then, when the hit detection algorithm is run, compare that Y position to the base (max Y position) of the sprite that is being hit detected. If it's within, for example, 20 pixels, you could class that as a hit.
I'd use something like:
onClipEvent(enterFrame) {
if (this.hitTest(_root.bullet)) {
if (math.ceil(_root.bullet.onFiredHeroFootPosition-(this._y+th
is.height)) < 20) {
// then it's a hit
}
}
}
That's off the top of my head, so it obviously wouldn't work as is! Hope this helps