Checks to make sure Attacker is not null.
Ignores self-attacking.
Ignores friendly-fire that does <= 0 damage (repairs).
Merge pull request #4037 from Phrohdoh/EngineerFalseAttackWarning

Fixes #3963