Sharpee
Chord / Standard Library / NPCs & Conversation / eating and drinking

eating and drinking

eat (eating): verbs eat/consume/devour X, plus munch and nibble [on] X, gated on the edible trait (not_edible). Liquids refuse is_drink ("You should drink that, not eat it") and solids refuse drinking with not_drinkable; there is no cross-routing. Food is implicitly taken first. Multi-serving food counts down (eaten_some, then eaten_all; once exhausted, already_consumed), and the message honors the trait's data: taste (delicious/tasty/bland/awful), a poison effect (message-only: "It tastes strange…", no mechanical harm today), satisfiesHunger (filling / still_hungry). Event: eaten.

drink (drinking): verbs drink/sip/quaff/swallow/ imbibe X, plus drink from X and sip from X. Two things are drinkable. The first is an edible marked liquid: in a .story, the drinkable adjective, which composes the edible trait with the liquid flag set, order-independent with edible (ratchet G1). The second is a container of liquid (containsLiquid, TypeScript territory), open if openable. Container drinking decrements liquidAmount and reports from_container / empty_now. Verb flavor: sipped, quaffed. Event: drunk.

The author writes:

create the Pantry
  a room

  Stone shelves, cool air, the smell of apples.

create the bramley apple
  aka apple
  edible
  in the Pantry

  A knobbly green cooking apple.

create the elderflower cordial
  aka cordial
  drinkable
  in the Pantry

  Pale gold in a stoppered bottle.

create the ship's biscuit
  aka biscuit
  edible
  in the Pantry

  Dense enough to drive nails.

  after eating it
    remove it
  end after

create the player
  starts in the Pantry

The player sees:

> eat the cordial
You should drink the elderflower cordial, not eat it.

> drink the apple
That's not something you can drink.

> eat the apple
(first taking the bramley apple)

Taken.

You eat the bramley apple.

> eat the apple
There's nothing left of the bramley apple to eat.

> eat the biscuit
(first taking the ship's biscuit)

Taken.

You eat the ship's biscuit.

> inventory
You are carrying:

a bramley apple

> drink the cordial
You drink the elderflower cordial.

> sip the cordial
There's nothing left to drink.

The transcript shows the cross-refusals and the implicit take. The honest caveat comes as a pair of a problem and its fix: eating never removes the item (the fully eaten apple stays in inventory at zero servings), and the biscuit's after eating it clause with a remove it body is the one-line remedy.

eat (eating-*)drink (drinking-*)
Refusalsno_item · not_edible · is_drink · already_consumedno_item · not_drinkable · already_consumed · container_closed
Successeaten · eaten_some / eaten_all · taste flavor (delicious/tasty/bland/awful) · filling / still_hungry · poisonousdrunk · sipped / quaffed · from_container / empty_now
Eventseatendrunk

Interceptors: on eating it / after eating it and on drinking it / after drinking it on the item, as above.

An emptied containsLiquid vessel stays nominally drinkable and keeps saying empty_now (caveat, flagged). Neither shipped story exercises eat/drink; the zoo's feeding is its own feedable trait.