Try replacing ...
if (src->type == BL_PC) {
sprintf(str, "You've healed %s for %dhp!", tsd->status.name, hp);
clif_displaymessage(sd->fd, str);
}
if (target->type == BL_PC && target->id != src->id) {
sprintf(str, "You've been healed for %dhp by %s!", hp, sd->status.name);
clif_displaymessage(tsd->fd, str);
}
With:
if (src->type == BL_PC) {
if (target->type == BL_PC) {
sprintf(str, "You've healed %s for %dhp!", tsd->status.name, hp);
clif_displaymessage(sd->fd, str);
}
else {
sprintf(str, "Target healed for %dhp!", hp);
clif_displaymessage(sd->fd, str);
}
}
if (target->type == BL_PC && target->id != src->id) {
sprintf(str, "You've been healed for %dhp by %s!", hp, sd->status.name);
clif_displaymessage(tsd->fd, str);
}