Yeah, we can't blindly call every Hurt or Decay hook. In the shotgun case, we can check the weapon type and only call hooks on the first hit. If the game object is destroyed in a hook, either don't call the rest, or pass a entity with a property indicating it was already destroyed...