--- src/cmd1.c.orig 2004-01-01 19:42:07.000000000 -0500 +++ src/cmd1.c 2005-01-11 21:44:50.000000000 -0500 @@ -2475,6 +2475,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. @@ -2864,7 +2883,7 @@ msg_format ("You cruelly stab the helpless, sleeping %s!", - buf); + skip_article(buf)); } else { @@ -2872,7 +2891,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 */