You'll be sending some on/off color codes, but apart from that, no problem: 
Code:
         send_to_char(vict, CCRED(vict, C_CMP));
          act(msg->die_msg.victim_msg, FALSE, ch, weap, vict, TO_VICT | TO_SLEEP); // <- msg == NULL is a no-op
          send_to_char(vict, CCNRM(vict, C_CMP));
          act(msg->die_msg.room_msg, FALSE, ch, weap, vict, TO_NOTVICT); // <- msg == NULL is a no-op
        } else {
          if (msg->hit_msg.attacker_msg) {
            send_to_char(ch, CCYEL(ch, C_CMP));
            act(msg->hit_msg.attacker_msg, FALSE, ch, weap, vict, TO_CHAR);
            send_to_char(ch, CCNRM(ch, C_CMP));
          }
          send_to_char(vict, CCRED(vict, C_CMP));
          act(msg->hit_msg.victim_msg, FALSE, ch, weap, vict, TO_VICT | TO_SLEEP); // <- msg == NULL is a no-op
          send_to_char(vict, CCNRM(vict, C_CMP));
          act(msg->hit_msg.room_msg, FALSE, ch, weap, vict, TO_NOTVICT); // <- msg == NULL is a no-op
        }
      } else if (ch != vict) {	/* Dam == 0 */
        if (msg->miss_msg.attacker_msg) {
          send_to_char(ch, CCYEL(ch, C_CMP));
          act(msg->miss_msg.attacker_msg, FALSE, ch, weap, vict, TO_CHAR);
          send_to_char(ch, CCNRM(ch, C_CMP));
        }
        send_to_char(vict, CCRED(vict, C_CMP));
        act(msg->miss_msg.victim_msg, FALSE, ch, weap, vict, TO_VICT | TO_SLEEP); // <- msg == NULL is a no-op
        send_to_char(vict, CCNRM(vict, C_CMP));
        act(msg->miss_msg.room_msg, FALSE, ch, weap, vict, TO_NOTVICT);  // <- msg == NULL is a no-op
  work.