diff -Nurd NetHack-360_pristine/src/eat.c NetHack-360_hacked/src/eat.c --- NetHack-360_pristine/src/eat.c 2015-12-07 03:26:01.000000000 -0500 +++ NetHack-360_hacked/src/eat.c 2016-12-29 11:29:57.362610269 -0500 @@ -1731,6 +1731,18 @@ case HUGE_CHUNK_OF_MEAT: case MEAT_RING: goto give_feedback; + case EGG: + /* eggs are severely harmful to gnomes, so it's going to hurt a lot - + and even if you survive, your stomach rejects it */ + if(otmp->corpsenm == NON_PM && is_gnome(youmonst.data)) { + pline("This vile egg tastes like deadly poison!"); + /* same damage as breaking an egg on a gnome */ + losehp(d(4,10), "eating an egg", KILLED_BY); + make_vomiting(3L, FALSE); + break; + } + else + goto give_feedback; case CLOVE_OF_GARLIC: if (is_undead(youmonst.data)) { make_vomiting((long) rn1(context.victual.reqtime, 5), FALSE); @@ -2229,6 +2241,14 @@ foodsmell, it_or_they, eat_it_anyway); if (yn_function(buf, ynchars, 'n') == 'n') return 1; + else + return 2; + } + if (otmp->otyp == EGG && otmp->corpsenm == NON_PM && is_gnome(youmonst.data)) { + Sprintf(buf, "%s like %s could be very harmful to gnomes! %s", + foodsmell, it_or_they, eat_it_anyway); + if (yn_function(buf, ynchars, 'n') == 'n') + return 1; else return 2; } diff -Nurd NetHack-360_pristine/src/uhitm.c NetHack-360_hacked/src/uhitm.c --- NetHack-360_pristine/src/uhitm.c 2015-11-18 15:54:47.000000000 -0500 +++ NetHack-360_hacked/src/uhitm.c 2016-12-13 20:14:28.441535206 -0500 @@ -845,6 +845,18 @@ obj->owt = weight(obj); if (thrown) place_object(obj, mon->mx, mon->my); + } else if (obj->corpsenm == NON_PM && is_gnome(mon->data)) { + /* chicken eggs are deadly poison to gnomes */ + pline("%s %s in terror!", Monnam(mon), + is_silent(mon->data) ? "writhes" : "shrieks"); + if (!is_silent(mon->data)) { + wake_nearto(mon->mx, mon->my, mon->data->mlevel * 10); + } + mon->mhp -= d(4,10); + if(mon->mhp >= 0) { + monflee(mon, d(4,8)+50, FALSE, TRUE); + } + useup_eggs(obj); } else { pline("Splat!"); useup_eggs(obj);