- if (MyConnect(victim)) {
- /*
- * We *can* have crossed a NICK with this numeric... --Run
- *
- * Note the following situation:
- * KILL SAA --> X
- * <-- S NICK ... SAA | <-- SAA QUIT <-- S NICK ... SAA <-- SQUIT S
- * Where the KILL reaches point X before the QUIT does.
- * This would then *still* cause an orphan because the KILL doesn't reach S
- * (because of the SQUIT), the QUIT is ignored (because of the KILL)
- * and the second NICK ... SAA causes an orphan on the server at the
- * right (which then isn't removed when the SQUIT arrives).
- * Therefore we still need to detect numeric nick collisions too.
- *
- * Bounce the kill back to the originator, if the client can't be found
- * by the next hop (short lag) the bounce won't propagate further.
- */
- if (IsServer(cptr))
- sendcmdto_one(&me, CMD_KILL, cptr, "%C :%s!%s (Ghost 5 Numeric Collided)",
- victim, inpath, path);
-
- /*
- * Tell the victim she/he has been zapped, but *only* if
- * the victim is on current server--no sense in sending the
- * notification chasing the above kill, it won't get far
- * anyway (as this user don't exist there any more either)
- */
- sendcmdto_one(IsServer(sptr) ? &me : sptr, CMD_KILL, victim, "%C :%s", victim,
- comment);
- }
-
- return exit_client_msg(cptr, victim, sptr, "Killed (%s)", comment);
+ /*
+ * Tell the victim she/he has been zapped, but *only* if
+ * the victim is on current server--no sense in sending the
+ * notification chasing the above kill, it won't get far
+ * anyway (as this user don't exist there any more either)
+ * In accordance with the new hiding rules, the victim
+ * always sees the kill as coming from me.
+ */
+ if (MyConnect(victim))
+ sendcmdto_one(feature_bool(FEAT_HIS_KILLWHO) ? &his : sptr, CMD_KILL,
+ victim, "%C :%s %s", victim, feature_bool(FEAT_HIS_KILLWHO)
+ ? feature_str(FEAT_HIS_SERVERNAME) : cli_name(sptr), msg);
+ return exit_client_msg(cptr, victim, feature_bool(FEAT_HIS_KILLWHO)
+ ? &me : sptr, "Killed (%s %s)",
+ feature_bool(FEAT_HIS_KILLWHO) ?
+ feature_str(FEAT_HIS_SERVERNAME) : cli_name(sptr),
+ msg);