--- src/cmd1.c.orig 2004-01-01 19:42:07.000000000 -0500 +++ src/cmd1.c 2005-01-11 21:44:50.000000000 -0500 @@ -2473,6 +2473,25 @@ /* + * Skip past a leading "a " or "an " in a string --dsb + * + * Mega-Hack: We apply this in py_attack() below to the output of + * monster_race_desc(), since it's easier in the short term than giving + * said function a new argument to omit the leading article. In the long + * term, we'll probably want to add that argument, in which case this + * function should go away. + */ +static cptr skip_article(cptr s) +{ + if (s[0] == 'a' && s[1] == ' ' && s[2]) + return s+2; + if (s[0] == 'a' && s[1] == 'n' && s[2] == ' ' && s[3]) + return s+3; + return s; +} + + +/* * Player attacks a (poor, defenseless) creature -RAK- * * If no "weapon" is available, then "punch" the monster one time. @@ -2862,7 +2881,7 @@ msg_format ("You cruelly stab the helpless, sleeping %s!", - buf); + skip_article(buf)); } else { @@ -2870,7 +2889,7 @@ monster_race_desc(buf, m_ptr->r_idx, m_ptr->ego); - msg_format("You backstab the fleeing %s!", buf); + msg_format("You backstab the fleeing %s!", skip_article(buf)); } /* Complex message */