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 the player eating
    remove the ship's biscuit
  end after

create Alex
  a person
  playable
  starts in the Pantry

before the game starts
  change the player to Alex
end before

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 the player eating 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 the player eating / after the player eating and on the player drinking / after the player drinking 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.