Each round of combat in SK takes about three seconds. The first ~150 milliseconds of that are when the base attacks are evaluated. You have 2.85 seconds to check and evaluate combat action. Because you don't even get an /^Overall, [A-Za-z ']+ (has|is) .+.$/ at the end of each base attack evaluation, you must check every single line of MUD output and hope you can use the prompt to know when each iteration of output actually divides. From there, you have to look at every single line. I mean, just suppose a spot of lag drops the semicolon from the ANSI character control sequence ^[0;0m. Suppose your character is blinded. You won't even know to display combat messages until you're sure combat is actually happening, and in order to do that...
Doing it right is just not feasible on the client end. Trust me.