Correct shatter message in player::melee_special_effects

Currently it said "the black rat's glass bottle shatters!" - because `t` is the critter that got attacked.
The curious style (call `add_msg_player_or_npc` even when it's already known that this is not a player) is required because `game::add_msg_player_or_npc` replaces `<npcname>` with the actual name of the critter. This should be changed to `game::add_msg_if_npc` but this function is currently "disabled" (does nothing).

fixes #5121 (hopefully) as there are only two place in sources where "Your %s shatters" appears:
- melee.cpp: corrected with this PR (and checks for `is_player`)
- `game::smash`, which only applies to player character anyway.