diff -Naur nethack-3.4.0/src/apply.c nethack-eucalyptus-leaf/src/apply.c --- nethack-3.4.0/src/apply.c Thu Mar 21 10:43:00 2002 +++ nethack-eucalyptus-leaf/src/apply.c Sun Jun 30 18:54:26 2002 @@ -7,10 +7,11 @@ #ifdef OVLB -static const char tools[] = { TOOL_CLASS, WEAPON_CLASS, WAND_CLASS, 0 }; -static const char tools_too[] = { ALL_CLASSES, TOOL_CLASS, POTION_CLASS, +static const char tools[] = { TOOL_CLASS, WEAPON_CLASS, WAND_CLASS, FOOD_CLASS, 0 }; +static const char tools_too[] = { ALL_CLASSES, TOOL_CLASS, POTION_CLASS, FOOD_CLASS, WEAPON_CLASS, WAND_CLASS, GEM_CLASS, 0 }; #ifdef TOURIST STATIC_DCL int FDECL(use_camera, (struct obj *)); #endif @@ -325,7 +326,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); } } @@ -2706,6 +2709,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; diff -Naur nethack-3.4.0/src/invent.c nethack-eucalyptus-leaf/src/invent.c --- nethack-3.4.0/src/invent.c Thu Mar 21 10:43:08 2002 +++ nethack-eucalyptus-leaf/src/invent.c Sun Jun 30 18:55:42 2002 @@ -839,7 +839,9 @@ be offered as a choice when already discovered */ (otyp != POT_OIL || !otmp->dknown || !objects[POT_OIL].oc_name_known)) - || (otmp->oclass == GEM_CLASS && !is_graystone(otmp)))) + || (otmp->oclass == FOOD_CLASS && + otmp->otyp != EUCALYPTUS_LEAF) + || (otmp->oclass == GEM_CLASS && !is_graystone(otmp))) || (!strcmp(word, "invoke") && (!otmp->oartifact && !objects[otyp].oc_unique && (otyp != FAKE_AMULET_OF_YENDOR || otmp->known) &&