The attached melee health report code calls act.informative.c's diag_char_to_char() instead of duplicating its table in fight.c, plus modifies 'look' and 'diagnose' to say "You..." when its your character.
While convenient to consolidate a "buffet of information" into one function, it seems faster to invoke only the necessary information at the location instead of calling a fuller than necessary function. I've read criticism of "cargo cult" programming. There's probably an altogether smarter way to send melee messages to who wants to see them and is qualified to, instead of iterating the room, and conditionally sending messages or conditionally calling diag_char_to_char. Thanks again. I'm guessing screen efficiency aka style and efficiency sometimes differ. If I knew I could make a program faster with tailored instead of centralized information tables, I'd still be concerned about programming style. Plus consider many pieces of information are readied alongside others without getting utilized. It's more like an "if I knew the future I wouldn't ready this much information" problem.
To me it seems like what in real life would be setting the table before knowing how many people are eating v. setting two tables then deciding which one to use after the guests arrive.