--- nethack-3.3.1/src/apply.c Fri Aug 4 05:30:52 2000 +++ nethack-eucalyptus/src/apply.c Wed Oct 31 21:44:56 2001 @@ -7,9 +7,10 @@ #ifdef OVLB -static const char tools[] = { TOOL_CLASS, WEAPON_CLASS, WAND_CLASS, 0 }; +static const char tools[] = { TOOL_CLASS, WEAPON_CLASS, WAND_CLASS, + FOOD_CLASS, 0 }; static const char tools_too[] = { ALL_CLASSES, TOOL_CLASS, POTION_CLASS, - WEAPON_CLASS, WAND_CLASS, 0 }; + FOOD_CLASS, WEAPON_CLASS, WAND_CLASS, 0 }; #ifdef TOURIST STATIC_DCL int FDECL(use_camera, (struct obj *)); @@ -321,7 +322,9 @@ if (mintrap(mtmp) == 2) change_luck(-1); } } - if (pet_cnt > 0) makeknown(MAGIC_WHISTLE); + + if (obj->otyp == MAGIC_WHISTLE && pet_cnt > 0) + makeknown(MAGIC_WHISTLE); } } @@ -2482,6 +2485,15 @@ case TIN_WHISTLE: use_whistle(obj); break; + case EUCALYPTUS_LEAF: + /* MRKR: Every Australian knows that a gum leaf makes an */ + /* excellent whistle, especially if your pet is a */ + /* tame kangaroo named Skippy. */ + if (obj->blessed) + use_magic_whistle(obj); + else + use_whistle(obj); + break; case STETHOSCOPE: res = use_stethoscope(obj); break; --- nethack-3.3.1/src/invent.c Sat Aug 5 09:37:26 2000 +++ nethack-eucalyptus/src/invent.c Tue Oct 30 23:55:54 2001 @@ -751,7 +751,9 @@ /* only applicable potion is oil, and it will only be offered as a choice when already discovered */ (otyp != POT_OIL || !otmp->dknown || - !objects[POT_OIL].oc_name_known)))) + !objects[POT_OIL].oc_name_known)) || + (otmp->oclass == FOOD_CLASS && + otmp->otyp != EUCALYPTUS_LEAF))) || (!strcmp(word, "invoke") && (!otmp->oartifact && !objects[otyp].oc_unique && (otyp != FAKE_AMULET_OF_YENDOR || otmp->known) &&