There isn't really anything to fix.
A special icon is shown if a player is killed via one of the following
damage types:
- DMG_BULLET
- DMG_CRUSH
- DMG_BLAST
- DMG_FALL
- DMG_BURN and DMG_DIRECT
If it does not make sense for a weapon to deal one of these types, then it shows the generic skull. This is as intended. Certain specific types change the message slightly (like DMG_DROWN makes it say he drowned), but still show the skull. Hence, the skull has absolutely nothing to do with suicide, or not knowing the weapon, or whatever, and it's not a bug.
If anything, the default text is a little unclear. I have changed it to "blabla from his wounds you can tell he was hurt, but nothing specific" instead of "but not what killed him".
Otherwise, the only alternative to showing the skull is using one of the damage types above. This is easy if you're dealing damage properly using
Entity.TakeDamageInfo , as you can use
CTakeDamageInfo.SetDamageType .