--- src.v4/mon.c	Sun Feb 23 09:43:28 2003
+++ src/mon.c	Sat Mar  1 14:36:49 2003
@@ -1634,16 +1634,22 @@
 int how;
 {
 	boolean be_sad = FALSE;		/* true if unseen pet is killed */
+	boolean kenny = (!strcmp(m_monnam(mdef), "Kenny"));
 
 	if ((mdef->wormno ? worm_known(mdef) : cansee(mdef->mx, mdef->my))
-		&& fltxt)
+		&& fltxt) {
 	    pline("%s is %s%s%s!", Monnam(mdef),
 			nonliving(mdef->data) ? "destroyed" : "killed",
 		    *fltxt ? " by the " : "",
 		    fltxt
 		 );
-	else
+	    if (kenny && mdef->mtame != 0) {
+		verbalize("Oh my god, they killed Kenny!");
+		verbalize("You bastards!");
+	    }
+	} else {
 	    be_sad = (mdef->mtame != 0);
+	}
 
 	/* no corpses if digested or disintegrated */
 	if(how == AD_DGST || how == -AD_RBRE)
@@ -1651,8 +1657,15 @@
 	else
 	    mondied(mdef);
 
-	if (be_sad && mdef->mhp <= 0)
-	    You("have a sad feeling for a moment, then it passes.");
+	if (be_sad && mdef->mhp <= 0) {
+	    if (kenny || (Hallucination && !rn2(2))) {
+		verbalize("Oh my god, they killed Kenny!");
+		verbalize("You bastards!");
+	    } else {
+		You("have a %s feeling for a moment, then it passes.",
+		    (Hallucination ? "plaid" : "sad"));
+	    }
+	}
 }
 
 void
